/** * sets the source line annotation of a store to a collection if that collection is synchronized. */ 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. */ 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(); } } } } }