public AstCFAPointerKeys() { super(new DefaultPointerKeyFactory()); }
@Override public PointerKey getPointerKeyForArrayContents(InstanceKey I) { return pointerKeys.getPointerKeyForArrayContents(I); }
@Override public PointerKey getPointerKeyForExceptionalReturnValue(CGNode node) { return pointerKeys.getPointerKeyForExceptionalReturnValue(node); }
private Map<PointerKey, Object> computePointerKeys(IClass klass) { Map<PointerKey, Object> result = HashMapFactory.make(); if (klass.isArrayClass()) { ArrayClass a = (ArrayClass) klass; if (a.getElementClass() != null && a.getElementClass().isReferenceType()) { PointerKey p = pointerKeys.getPointerKeyForArrayContents(new ConcreteTypeKey(a)); result.put(p, p); } } else { for (IField f : klass.getAllFields()) { if (!f.getFieldTypeReference().isPrimitiveType()) { if (f.isStatic()) { PointerKey p = pointerKeys.getPointerKeyForStaticField(f); result.put(p, p); } else { PointerKey p = pointerKeys.getPointerKeyForInstanceField(new ConcreteTypeKey(klass), f); result.put(p, p); } } } } return result; }
public FilteredPointerKey getPointerKeyForLocal(CGNode node, int valueNumber) { initPKeysForNode(node); PointerKey p = pointerKeys.getPointerKeyForLocal(node, valueNumber); Object result = pKeys.get(p); if (result == null) { if (c.getConcreteType().getReference().equals(TypeReference.JavaLangString)) { return pointerKeys.getFilteredPointerKeyForLocal(node, valueNumber, new FilteredPointerKey.SingleClassFilter(c .getConcreteType())); } else {
@Override public PointerKey getPointerKeyForInstanceField(InstanceKey I, IField field) { return pointerKeys.getPointerKeyForInstanceField(I, field); }
@Override public PointerKey getPointerKeyForReturnValue(CGNode node) { return pointerKeys.getPointerKeyForReturnValue(node); }
@Override public PointerKey getPointerKeyForStaticField(IField f) { return pointerKeys.getPointerKeyForStaticField(f); }
private Map<PointerKey, Object> computePointerKeys(IClass klass) { Map<PointerKey, Object> result = HashMapFactory.make(); if (klass.isArrayClass()) { ArrayClass a = (ArrayClass) klass; if (a.getElementClass() != null && a.getElementClass().isReferenceType()) { PointerKey p = pointerKeys.getPointerKeyForArrayContents(new ConcreteTypeKey(a)); result.put(p, p); } } else { for (IField f : klass.getAllFields()) { if (!f.getFieldTypeReference().isPrimitiveType()) { if (f.isStatic()) { PointerKey p = pointerKeys.getPointerKeyForStaticField(f); result.put(p, p); } else { PointerKey p = pointerKeys.getPointerKeyForInstanceField(new ConcreteTypeKey(klass), f); result.put(p, p); } } } } return result; }
public FilteredPointerKey getPointerKeyForLocal(CGNode node, int valueNumber) { initPKeysForNode(node); PointerKey p = pointerKeys.getPointerKeyForLocal(node, valueNumber); Object result = pKeys.get(p); if (result == null) { if (c.getConcreteType().getReference().equals(TypeReference.JavaLangString)) { return pointerKeys.getFilteredPointerKeyForLocal(node, valueNumber, new FilteredPointerKey.SingleClassFilter(c .getConcreteType())); } else {
@Override public PointerKey getPointerKeyForInstanceField(InstanceKey I, IField field) { return pointerKeys.getPointerKeyForInstanceField(I, field); }
@Override public PointerKey getPointerKeyForReturnValue(CGNode node) { return pointerKeys.getPointerKeyForReturnValue(node); }
@Override public PointerKey getPointerKeyForStaticField(IField f) { return pointerKeys.getPointerKeyForStaticField(f); }
public AstCFAPointerKeys() { super(new DefaultPointerKeyFactory()); }
TypeReference type = node.getMethod().getDeclaringClass().getClassLoader().getLanguage().getConstantType( s.getStringValue(i)); result.put(pointerKeys.getPointerKeyForLocal(node, i), getInstanceKeyForConstant(type, s.getConstantValue(i))); result.put(pointerKeys.getPointerKeyForLocal(node, i), pointerKeys.getFilteredPointerKeyForLocal(node, i, new FilteredPointerKey.SingleClassFilter(t.getType())));
@Override public PointerKey getPointerKeyForArrayContents(InstanceKey I) { return pointerKeys.getPointerKeyForArrayContents(I); }
@Override public PointerKey getPointerKeyForExceptionalReturnValue(CGNode node) { return pointerKeys.getPointerKeyForExceptionalReturnValue(node); }
public AstJavaCFABuilder(IClassHierarchy cha, AnalysisOptions options, IAnalysisCacheView cache) { super(Language.JAVA.getFakeRootMethod(cha, options, cache), options, cache, new DefaultPointerKeyFactory()); }
TypeReference type = node.getMethod().getDeclaringClass().getClassLoader().getLanguage().getConstantType( s.getStringValue(i)); result.put(pointerKeys.getPointerKeyForLocal(node, i), getInstanceKeyForConstant(type, s.getConstantValue(i))); result.put(pointerKeys.getPointerKeyForLocal(node, i), pointerKeys.getFilteredPointerKeyForLocal(node, i, new FilteredPointerKey.SingleClassFilter(t.getType())));
public AstJavaCFABuilder(IClassHierarchy cha, AnalysisOptions options, IAnalysisCacheView cache) { super(Language.JAVA.getFakeRootMethod(cha, options, cache), options, cache, new DefaultPointerKeyFactory()); }