public static String getSignature(SootClass cl, String name, Type type) { return getSignature(cl,getSubSignature(name,type)); }
public String getSignature() { if (sig == null) { synchronized (this) { if (sig == null) { sig = getSignature(getDeclaringClass(), getSubSignature()); } } } return sig; }
public String getSubSignature() { if (subSig == null) { synchronized (this) { if (subSig == null) { subSig = getSubSignature(getName(), getType()); } } } return subSig; }
/** * Returns the field of this class with the given subsignature. If such a field does not exist, null is returned. */ public SootField getFieldUnsafe(String subsignature) { checkLevel(SIGNATURES); if (fields == null) { return null; } for (SootField field : fields.getElementsUnsorted()) { if (field.getSubSignature().equals(subsignature)) { return field; } } return null; }
/** Does this class declare a field with the given subsignature? */ public boolean declaresField(String subsignature) { checkLevel(SIGNATURES); for( Iterator<SootField> fieldIt = this.getFields().iterator(); fieldIt.hasNext(); ) { final SootField field = fieldIt.next(); if( field.getSubSignature().equals( subsignature ) ) return true; } return false; }
public SootField getField(String subsignature) { checkLevel(SIGNATURES); for( Iterator<SootField> fieldIt = this.getFields().iterator(); fieldIt.hasNext(); ) { final SootField field = fieldIt.next(); if( field.getSubSignature().equals( subsignature ) ) return field; } throw new RuntimeException("No field " + subsignature + " in class " + getName()); }
/** Does this class declare a field with the given subsignature? */ public boolean declaresField(String subsignature) { checkLevel(SIGNATURES); for( Iterator<SootField> fieldIt = this.getFields().iterator(); fieldIt.hasNext(); ) { final SootField field = fieldIt.next(); if( field.getSubSignature().equals( subsignature ) ) return true; } return false; }
public SootField getField(String subsignature) { checkLevel(SIGNATURES); for( Iterator<SootField> fieldIt = this.getFields().iterator(); fieldIt.hasNext(); ) { final SootField field = fieldIt.next(); if( field.getSubSignature().equals( subsignature ) ) return field; } throw new RuntimeException("No field " + subsignature + " in class " + getName()); }
if (sourceFieldRef.getField().getSubSignature() .equals(rightFieldRef.getField().getSubSignature()) || sourceFieldPointsToSet.hasNonEmptyIntersection(rightFieldPointsToSet)) { res.add(left);