private void processCollectionStore ( ) { String fieldClassName = getDottedClassConstantOperand ( ) ; if ( fieldClassName . equals ( className ) && ( stack . getStackDepth ( ) > 0 ) ) { OpcodeStack . Item item = stack . getStackItem ( 0 ) ; if ( item . getUserValue ( ) != null ) { String fieldName = getNameConstantOperand ( ) ; if ( fieldName != null ) { FieldInfo fi = collectionFields . get ( fieldName ) ; if ( fi != null ) { fi . getFieldAnnotation ( ) . setSourceLines ( SourceLineAnnotation . fromVisitedInstruction ( this ) ) ; fi . setSynchronized ( ) ; } } } } }
sets the source line annotation of a store to a collection if that collection is synchronized .