@Override public FieldVisitor visitField(int access, String fieldName, String description, String signature, Object value) { AsmField field = asmClass.getFieldOrCreateIt(fieldName); field.setAccessFlags(access); String[] internalNames = AsmSignature.extractInternalNames(description, signature); AsmClass[] asmClasses = internalNamesToAsmClasses(internalNames, DETAIL_LEVEL.NOTHING); field.addUsesOfClasses(asmClasses); return null; }
void addField(AsmField field) { fields.put(field.getName(), field); }
AsmField getFieldOrCreateIt(String fieldName) { AsmField field = getField(fieldName); if (field != null) { return field; } field = new AsmField(this, fieldName); addField(field); return field; }
private boolean isMethodNotAccessorOrAccessingDifferentField(AsmMethod method) { return !method.isAccessor() || (accessedField != null && !accessedField.equals(method.getAccessedField())); }
private boolean isCallToNonStaticInternalField(AsmEdge edge) { return edge.getTargetAsmClass() == getParent() && edge.getUsage() == SourceCodeEdgeUsage.CALLS_FIELD && !((AsmField) edge.getTo()).isStatic(); }
AsmField getFieldOrCreateIt(String fieldName) { AsmField field = getField(fieldName); if (field != null) { return field; } field = new AsmField(this, fieldName); addField(field); return field; }
private boolean isMethodNotAccessorOrAccessingDifferentField(AsmMethod method) { return !method.isAccessor() || (accessedField != null && !accessedField.equals(method.getAccessedField())); }
private boolean isCallToNonStaticInternalField(AsmEdge edge) { return edge.getTargetAsmClass() == getParent() && edge.getUsage() == SourceCodeEdgeUsage.CALLS_FIELD && !((AsmField) edge.getTo()).isStatic(); }
@Override public FieldVisitor visitField(int access, String fieldName, String description, String signature, Object value) { AsmField field = asmClass.getFieldOrCreateIt(fieldName); field.setAccessFlags(access); String[] internalNames = AsmSignature.extractInternalNames(description, signature); AsmClass[] asmClasses = internalNamesToAsmClasses(internalNames, DETAIL_LEVEL.NOTHING); field.addUsesOfClasses(asmClasses); return null; }
void addField(AsmField field) { fields.put(field.getName(), field); }