com.ibm.wala.cast.java.test
Class IRTests

java.lang.Object
  extended by com.ibm.wala.cast.java.test.IRTests
Direct Known Subclasses:
JavaIRTests, JDTJava15IRTests, JLexTest, SyncDuplicatorTest

public abstract class IRTests
extends java.lang.Object


Nested Class Summary
protected static class IRTests.EdgeAssertions
           
static interface IRTests.IRAssertion
           
protected static class IRTests.SourceMapAssertion
           
 
Field Summary
protected static java.util.List<IRTests.IRAssertion> emptyList
           
protected static java.lang.String javaHomePath
           
protected  java.lang.String projectName
           
static java.util.List<java.lang.String> rtJar
           
 
Constructor Summary
protected IRTests(java.lang.String projectName)
           
 
Method Summary
static MethodReference descriptorToMethodRef(java.lang.String srcMethodDescriptor, IClassHierarchy cha)
           
protected static void dumpIR(CallGraph cg, boolean assertReachable)
           
protected abstract  JavaSourceAnalysisEngine getAnalysisEngine(java.lang.String[] mainClassDescriptors)
           
protected  java.lang.String getTestName()
           
protected  java.lang.String getTestSrcPath()
           
protected  void populateScope(JavaSourceAnalysisEngine engine, java.util.Collection<java.lang.String> sources, java.util.List<java.lang.String> libs)
           
 Pair runTest(java.util.Collection<java.lang.String> sources, java.util.List<java.lang.String> libs, java.lang.String[] mainClassDescriptors, java.util.List<? extends IRTests.IRAssertion> ca, boolean assertReachable)
           
protected  void setTestSrcPath(java.lang.String testSrcPath)
           
protected  java.lang.String[] simplePkgTestEntryPoint(java.lang.String pkgName)
           
protected  java.lang.String[] simpleTestEntryPoint()
           
protected  java.lang.String singleInputForTest()
           
protected  java.lang.String singleJavaInputForTest()
           
protected  java.lang.String singleJavaPkgInputForTest(java.lang.String pkgName)
           
protected  java.util.Collection<java.lang.String> singlePkgTestSrc(java.lang.String pkgName)
           
protected  java.util.Collection<java.lang.String> singleTestSrc()
           
protected  java.util.Collection<java.lang.String> singleTestSrc(java.lang.String folder)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

projectName

protected final java.lang.String projectName

javaHomePath

protected static java.lang.String javaHomePath

rtJar

public static java.util.List<java.lang.String> rtJar

emptyList

protected static java.util.List<IRTests.IRAssertion> emptyList
Constructor Detail

IRTests

protected IRTests(java.lang.String projectName)
Method Detail

singleTestSrc

protected java.util.Collection<java.lang.String> singleTestSrc()

singleTestSrc

protected java.util.Collection<java.lang.String> singleTestSrc(java.lang.String folder)

singlePkgTestSrc

protected java.util.Collection<java.lang.String> singlePkgTestSrc(java.lang.String pkgName)

getTestName

protected java.lang.String getTestName()

simpleTestEntryPoint

protected java.lang.String[] simpleTestEntryPoint()

simplePkgTestEntryPoint

protected java.lang.String[] simplePkgTestEntryPoint(java.lang.String pkgName)

getAnalysisEngine

protected abstract JavaSourceAnalysisEngine getAnalysisEngine(java.lang.String[] mainClassDescriptors)

runTest

public Pair runTest(java.util.Collection<java.lang.String> sources,
                    java.util.List<java.lang.String> libs,
                    java.lang.String[] mainClassDescriptors,
                    java.util.List<? extends IRTests.IRAssertion> ca,
                    boolean assertReachable)

dumpIR

protected static void dumpIR(CallGraph cg,
                             boolean assertReachable)
                      throws java.io.IOException
Throws:
java.io.IOException

descriptorToMethodRef

public static MethodReference descriptorToMethodRef(java.lang.String srcMethodDescriptor,
                                                    IClassHierarchy cha)
Parameters:
srcMethodDescriptor - a full method descriptor of the form ldr#type#methName#methSig example: Source#Simple1#main#([Ljava/lang/String;)V
cha -
Returns:

populateScope

protected void populateScope(JavaSourceAnalysisEngine engine,
                             java.util.Collection<java.lang.String> sources,
                             java.util.List<java.lang.String> libs)
                      throws java.io.IOException
Throws:
java.io.IOException

setTestSrcPath

protected void setTestSrcPath(java.lang.String testSrcPath)

getTestSrcPath

protected java.lang.String getTestSrcPath()

singleJavaInputForTest

protected java.lang.String singleJavaInputForTest()

singleInputForTest

protected java.lang.String singleInputForTest()

singleJavaPkgInputForTest

protected java.lang.String singleJavaPkgInputForTest(java.lang.String pkgName)