git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4554 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
This commit is contained in:
msridhar1 2012-04-03 22:43:34 +00:00
parent a28f0df3b7
commit d81d8569eb
1 changed files with 6 additions and 4 deletions

View File

@ -24,6 +24,7 @@ import com.ibm.wala.ipa.callgraph.AnalysisScope;
import com.ibm.wala.ipa.cha.ClassHierarchy; import com.ibm.wala.ipa.cha.ClassHierarchy;
import com.ibm.wala.ipa.cha.ClassHierarchyException; import com.ibm.wala.ipa.cha.ClassHierarchyException;
import com.ibm.wala.types.ClassLoaderReference; import com.ibm.wala.types.ClassLoaderReference;
import com.ibm.wala.types.FieldReference;
import com.ibm.wala.types.TypeReference; import com.ibm.wala.types.TypeReference;
import com.ibm.wala.util.config.AnalysisScopeReader; import com.ibm.wala.util.config.AnalysisScopeReader;
import com.ibm.wala.util.io.FileProvider; import com.ibm.wala.util.io.FileProvider;
@ -35,17 +36,18 @@ public class DupFieldsTest extends WalaTestCase {
AnalysisScope scope = null; AnalysisScope scope = null;
scope = AnalysisScopeReader.readJavaScope(TestConstants.WALA_TESTDATA, FileProvider.getFile("J2SEClassHierarchyExclusions.txt"), DupFieldsTest.class.getClassLoader()); scope = AnalysisScopeReader.readJavaScope(TestConstants.WALA_TESTDATA, FileProvider.getFile("J2SEClassHierarchyExclusions.txt"), DupFieldsTest.class.getClassLoader());
ClassHierarchy cha = ClassHierarchy.make(scope); ClassHierarchy cha = ClassHierarchy.make(scope);
IClass klass = cha.lookupClass(TypeReference.findOrCreate(ClassLoaderReference.Application, "LDupFieldName")); TypeReference ref = TypeReference.findOrCreate(ClassLoaderReference.Application, "LDupFieldName");
IClass klass = cha.lookupClass(ref);
boolean threwException = false; boolean threwException = false;
try { try {
klass.getField(Atom.findOrCreateUnicodeAtom("a")); klass.getField(Atom.findOrCreateUnicodeAtom("a"));
} catch (IllegalStateException e) { } catch (IllegalStateException e) {
threwException = true; threwException = true;
} }
Assert.assertTrue(threwException); Assert.assertTrue(threwException);
IField f = klass.getField(Atom.findOrCreateUnicodeAtom("a"), TypeReference.IntName); IField f = cha.resolveField(FieldReference.findOrCreate(ref, Atom.findOrCreateUnicodeAtom("a"), TypeReference.Int));
Assert.assertEquals(f.getFieldTypeReference(), TypeReference.Int); Assert.assertEquals(f.getFieldTypeReference(), TypeReference.Int);
f = klass.getField(Atom.findOrCreateUnicodeAtom("a"), TypeReference.BooleanName); f = cha.resolveField(FieldReference.findOrCreate(ref, Atom.findOrCreateUnicodeAtom("a"), TypeReference.Boolean));
Assert.assertEquals(f.getFieldTypeReference(), TypeReference.Boolean); Assert.assertEquals(f.getFieldTypeReference(), TypeReference.Boolean);
} }
} }