Merge with upstream.
This commit is contained in:
commit
29185f272c
|
@ -2,7 +2,7 @@
|
|||
<feature
|
||||
id="com.ibm.wala-feature"
|
||||
label="%featureName"
|
||||
version="1.4.3.qualifier"
|
||||
version="1.4.4.qualifier"
|
||||
provider-name="%providerName">
|
||||
|
||||
<plugin
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<artifactId>WALA</artifactId>
|
||||
<groupId>com.ibm.wala</groupId>
|
||||
<version>1.4.3-SNAPSHOT</version>
|
||||
<version>1.4.4-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>com.ibm.wala-feature</artifactId>
|
||||
<packaging>eclipse-feature</packaging>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>com.ibm.wala</groupId>
|
||||
<artifactId>WALA</artifactId>
|
||||
<version>1.4.3-SNAPSHOT</version>
|
||||
<version>1.4.4-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>com.ibm.wala-repository</artifactId>
|
||||
<packaging>eclipse-repository</packaging>
|
||||
|
|
|
@ -103,6 +103,6 @@ org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=di
|
|||
org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
|
||||
org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
|
||||
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=error
|
||||
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
|
||||
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=error
|
||||
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
|
||||
org.eclipse.jdt.core.compiler.source=1.7
|
||||
|
|
|
@ -2,7 +2,7 @@ Manifest-Version: 1.0
|
|||
Bundle-ManifestVersion: 2
|
||||
Bundle-Name: %Bundle-Name
|
||||
Bundle-SymbolicName: com.ibm.wala.cast.java.ecj
|
||||
Bundle-Version: 1.4.3.qualifier
|
||||
Bundle-Version: 1.4.4.qualifier
|
||||
Bundle-Vendor: %Bundle-Vendor
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
|
||||
Require-Bundle: com.ibm.wala.cast.java,
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>com.ibm.wala</groupId>
|
||||
<artifactId>com.ibm.wala.cast.java.ecj</artifactId>
|
||||
<version>1.4.3-SNAPSHOT</version>
|
||||
<version>1.4.4-SNAPSHOT</version>
|
||||
<packaging>jar</packaging>
|
||||
<name>WALA CAst Java ECJ</name>
|
||||
<description>WALA Common AST Java ECJ front-end</description>
|
||||
|
@ -45,22 +45,22 @@
|
|||
<dependency>
|
||||
<groupId>com.ibm.wala</groupId>
|
||||
<artifactId>com.ibm.wala.cast</artifactId>
|
||||
<version>1.4.3-SNAPSHOT</version>
|
||||
<version>1.4.4-SNAPSHOT</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.ibm.wala</groupId>
|
||||
<artifactId>com.ibm.wala.cast.java</artifactId>
|
||||
<version>1.4.3-SNAPSHOT</version>
|
||||
<version>1.4.4-SNAPSHOT</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.ibm.wala</groupId>
|
||||
<artifactId>com.ibm.wala.core</artifactId>
|
||||
<version>1.4.3-SNAPSHOT</version>
|
||||
<version>1.4.4-SNAPSHOT</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.ibm.wala</groupId>
|
||||
<artifactId>com.ibm.wala.shrike</artifactId>
|
||||
<version>1.4.3-SNAPSHOT</version>
|
||||
<version>1.4.4-SNAPSHOT</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.eclipse.core</groupId>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<artifactId>WALA</artifactId>
|
||||
<groupId>com.ibm.wala</groupId>
|
||||
<version>1.4.3-SNAPSHOT</version>
|
||||
<version>1.4.4-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>com.ibm.wala.cast.java.ecj</artifactId>
|
||||
<packaging>eclipse-plugin</packaging>
|
||||
|
|
|
@ -10,7 +10,6 @@ import com.ibm.wala.cast.java.client.impl.ZeroOneContainerCFABuilderFactory;
|
|||
import com.ibm.wala.cast.java.ipa.callgraph.JavaSourceAnalysisScope;
|
||||
import com.ibm.wala.cast.java.translator.jdt.ecj.ECJClassLoaderFactory;
|
||||
import com.ibm.wala.classLoader.SourceDirectoryTreeModule;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisCache;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisCacheImpl;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisOptions;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisScope;
|
||||
|
@ -19,6 +18,7 @@ import com.ibm.wala.ipa.callgraph.CallGraphBuilder;
|
|||
import com.ibm.wala.ipa.callgraph.CallGraphBuilderCancelException;
|
||||
import com.ibm.wala.ipa.callgraph.CallGraphStats;
|
||||
import com.ibm.wala.ipa.callgraph.Entrypoint;
|
||||
import com.ibm.wala.ipa.callgraph.IAnalysisCacheView;
|
||||
import com.ibm.wala.ipa.callgraph.impl.Util;
|
||||
import com.ibm.wala.ipa.cha.ClassHierarchyException;
|
||||
import com.ibm.wala.ipa.cha.ClassHierarchyFactory;
|
||||
|
@ -68,7 +68,7 @@ public class SourceDirCallGraph {
|
|||
options.setEntrypoints(entrypoints);
|
||||
// you can dial down reflection handling if you like
|
||||
// options.setReflectionOptions(ReflectionOptions.NONE);
|
||||
AnalysisCache cache = new AnalysisCacheImpl(AstIRFactory.makeDefaultFactory());
|
||||
IAnalysisCacheView cache = new AnalysisCacheImpl(AstIRFactory.makeDefaultFactory());
|
||||
//CallGraphBuilder builder = new ZeroCFABuilderFactory().make(options, cache, cha, scope, false);
|
||||
CallGraphBuilder<?> builder = new ZeroOneContainerCFABuilderFactory().make(options, cache, cha, scope);
|
||||
System.out.println("building call graph...");
|
||||
|
|
|
@ -2,6 +2,6 @@ Manifest-Version: 1.0
|
|||
Bundle-ManifestVersion: 2
|
||||
Bundle-Name: %Bundle-Name
|
||||
Bundle-SymbolicName: com.ibm.wala.cast.java.test.data
|
||||
Bundle-Version: 1.4.3.qualifier
|
||||
Bundle-Version: 1.4.4.qualifier
|
||||
Bundle-Vendor: %Bundle-Vendor
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>com.ibm.wala</groupId>
|
||||
<artifactId>WALA</artifactId>
|
||||
<version>1.4.3-SNAPSHOT</version>
|
||||
<version>1.4.4-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>com.ibm.wala.cast.java.test.data</artifactId>
|
||||
<packaging>eclipse-plugin</packaging>
|
||||
|
|
|
@ -2,7 +2,7 @@ Manifest-Version: 1.0
|
|||
Bundle-ManifestVersion: 2
|
||||
Bundle-Name: %Bundle-Name
|
||||
Bundle-SymbolicName: com.ibm.wala.cast.java.test
|
||||
Bundle-Version: 1.4.3.qualifier
|
||||
Bundle-Version: 1.4.4.qualifier
|
||||
Bundle-Activator: com.ibm.wala.cast.java.test.TestPlugin
|
||||
Bundle-Vendor: %Bundle-Vendor
|
||||
Require-Bundle: com.ibm.wala.core.tests,
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>com.ibm.wala</groupId>
|
||||
<artifactId>WALA</artifactId>
|
||||
<version>1.4.3-SNAPSHOT</version>
|
||||
<version>1.4.4-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>com.ibm.wala.cast.java.test</artifactId>
|
||||
<packaging>eclipse-plugin</packaging>
|
||||
|
|
|
@ -2,7 +2,7 @@ Manifest-Version: 1.0
|
|||
Bundle-ManifestVersion: 2
|
||||
Bundle-Name: %Bundle-Name
|
||||
Bundle-SymbolicName: com.ibm.wala.cast.java
|
||||
Bundle-Version: 1.4.3.qualifier
|
||||
Bundle-Version: 1.4.4.qualifier
|
||||
Bundle-Vendor: %Bundle-Vendor
|
||||
Require-Bundle: com.ibm.wala.cast,
|
||||
com.ibm.wala.core,
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>com.ibm.wala</groupId>
|
||||
<artifactId>com.ibm.wala.cast.java</artifactId>
|
||||
<version>1.4.3-SNAPSHOT</version>
|
||||
<version>1.4.4-SNAPSHOT</version>
|
||||
<packaging>jar</packaging>
|
||||
<name>WALA CAst</name>
|
||||
<description>WALA Common AST core Java front-end functionality</description>
|
||||
|
@ -45,17 +45,17 @@
|
|||
<dependency>
|
||||
<groupId>com.ibm.wala</groupId>
|
||||
<artifactId>com.ibm.wala.cast</artifactId>
|
||||
<version>1.4.3-SNAPSHOT</version>
|
||||
<version>1.4.4-SNAPSHOT</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.ibm.wala</groupId>
|
||||
<artifactId>com.ibm.wala.core</artifactId>
|
||||
<version>1.4.3-SNAPSHOT</version>
|
||||
<version>1.4.4-SNAPSHOT</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.ibm.wala</groupId>
|
||||
<artifactId>com.ibm.wala.shrike</artifactId>
|
||||
<version>1.4.3-SNAPSHOT</version>
|
||||
<version>1.4.4-SNAPSHOT</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<artifactId>WALA</artifactId>
|
||||
<groupId>com.ibm.wala</groupId>
|
||||
<version>1.4.3-SNAPSHOT</version>
|
||||
<version>1.4.4-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>com.ibm.wala.cast.java</artifactId>
|
||||
<packaging>eclipse-plugin</packaging>
|
||||
|
|
|
@ -11,11 +11,12 @@
|
|||
package com.ibm.wala.cast.java.client.impl;
|
||||
|
||||
import com.ibm.wala.cast.java.ipa.callgraph.AstJavaZeroOneContainerCFABuilder;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisCache;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisOptions;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisScope;
|
||||
import com.ibm.wala.ipa.callgraph.CallGraphBuilder;
|
||||
import com.ibm.wala.ipa.callgraph.IAnalysisCacheView;
|
||||
import com.ibm.wala.ipa.callgraph.impl.Util;
|
||||
import com.ibm.wala.ipa.callgraph.propagation.InstanceKey;
|
||||
import com.ibm.wala.ipa.cha.IClassHierarchy;
|
||||
|
||||
/**
|
||||
|
@ -25,7 +26,7 @@ import com.ibm.wala.ipa.cha.IClassHierarchy;
|
|||
*/
|
||||
public class ZeroOneContainerCFABuilderFactory {
|
||||
|
||||
public CallGraphBuilder make(AnalysisOptions options, AnalysisCache cache, IClassHierarchy cha, AnalysisScope scope) {
|
||||
public CallGraphBuilder<InstanceKey> make(AnalysisOptions options, IAnalysisCacheView cache, IClassHierarchy cha, AnalysisScope scope) {
|
||||
Util.addDefaultSelectors(options, cha);
|
||||
Util.addDefaultBypassLogic(options, scope, Util.class.getClassLoader(), cha);
|
||||
return new AstJavaZeroOneContainerCFABuilder(cha, options, cache, null, null);
|
||||
|
|
|
@ -10,9 +10,9 @@
|
|||
*******************************************************************************/
|
||||
package com.ibm.wala.cast.java.ipa.callgraph;
|
||||
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisCache;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisOptions;
|
||||
import com.ibm.wala.ipa.callgraph.ContextSelector;
|
||||
import com.ibm.wala.ipa.callgraph.IAnalysisCacheView;
|
||||
import com.ibm.wala.ipa.callgraph.impl.DefaultContextSelector;
|
||||
import com.ibm.wala.ipa.callgraph.impl.DelegatingContextSelector;
|
||||
import com.ibm.wala.ipa.callgraph.propagation.SSAContextInterpreter;
|
||||
|
@ -35,7 +35,7 @@ public class AstJavaZeroOneContainerCFABuilder extends AstJavaCFABuilder {
|
|||
* @param appContextSelector application-specific logic to choose contexts
|
||||
* @param appContextInterpreter application-specific logic to interpret a method in context
|
||||
*/
|
||||
public AstJavaZeroOneContainerCFABuilder(IClassHierarchy cha, AnalysisOptions options, AnalysisCache cache,
|
||||
public AstJavaZeroOneContainerCFABuilder(IClassHierarchy cha, AnalysisOptions options, IAnalysisCacheView cache,
|
||||
ContextSelector appContextSelector, SSAContextInterpreter appContextInterpreter) {
|
||||
super(cha, options, cache);
|
||||
|
||||
|
|
|
@ -10,7 +10,6 @@
|
|||
*****************************************************************************/
|
||||
package com.ibm.wala.cast.java.ipa.callgraph;
|
||||
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisCache;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisOptions;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisScope;
|
||||
import com.ibm.wala.ipa.callgraph.ContextSelector;
|
||||
|
@ -50,7 +49,7 @@ public class AstJavaZeroXCFABuilder extends AstJavaCFABuilder {
|
|||
* @param xmlFiles set of Strings that are names of XML files holding bypass logic specifications.
|
||||
* @return a 0-1-Opt-CFA Call Graph Builder.
|
||||
*/
|
||||
public static AstJavaCFABuilder make(AnalysisOptions options, AnalysisCache cache, IClassHierarchy cha, ClassLoader cl,
|
||||
public static AstJavaCFABuilder make(AnalysisOptions options, IAnalysisCacheView cache, IClassHierarchy cha, ClassLoader cl,
|
||||
AnalysisScope scope, String[] xmlFiles, byte instancePolicy) {
|
||||
|
||||
com.ibm.wala.ipa.callgraph.impl.Util.addDefaultSelectors(options, cha);
|
||||
|
|
|
@ -2,7 +2,7 @@ Manifest-Version: 1.0
|
|||
Bundle-ManifestVersion: 2
|
||||
Bundle-Name: %Bundle-Name
|
||||
Bundle-SymbolicName: com.ibm.wala.cast.js.html.nu_validator
|
||||
Bundle-Version: 1.4.3.qualifier
|
||||
Bundle-Version: 1.4.4.qualifier
|
||||
Export-Package: com.ibm.wala.cast.js.html.nu_validator,
|
||||
com.ibm.wala.cast.js.test
|
||||
Require-Bundle: com.ibm.wala.cast.js;bundle-version="1.0.0",
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<artifactId>WALA</artifactId>
|
||||
<groupId>com.ibm.wala</groupId>
|
||||
<version>1.4.3-SNAPSHOT</version>
|
||||
<version>1.4.4-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>com.ibm.wala.cast.js.html.nu_validator</artifactId>
|
||||
<packaging>eclipse-plugin</packaging>
|
||||
|
|
|
@ -100,7 +100,7 @@ org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentTypeStrict
|
|||
org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=error
|
||||
org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
|
||||
org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
|
||||
org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=error
|
||||
org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
|
||||
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=error
|
||||
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
|
||||
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
|
||||
|
|
|
@ -2,7 +2,7 @@ Manifest-Version: 1.0
|
|||
Bundle-ManifestVersion: 2
|
||||
Bundle-Name: %Bundle-Name
|
||||
Bundle-SymbolicName: com.ibm.wala.cast.js.nodejs.test
|
||||
Bundle-Version: 1.4.3.qualifier
|
||||
Bundle-Version: 1.4.4.qualifier
|
||||
Export-Package: NodejsRequireJsonTest,
|
||||
NodejsRequireTargetSelectorResolve,
|
||||
NodejsRequireTargetSelectorResolve.requireDynamic,
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>com.ibm.wala</groupId>
|
||||
<artifactId>WALA</artifactId>
|
||||
<version>1.4.3-SNAPSHOT</version>
|
||||
<version>1.4.4-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>com.ibm.wala.cast.js.nodejs.test</artifactId>
|
||||
<packaging>eclipse-plugin</packaging>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="src" path="dat">
|
||||
<classpathentry kind="src" output="target/classes" path="dat">
|
||||
<attributes>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
|
|
|
@ -20,6 +20,11 @@
|
|||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.m2e.core.maven2Builder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.m2e.core.maven2Nature</nature>
|
||||
|
|
|
@ -2,7 +2,7 @@ Manifest-Version: 1.0
|
|||
Bundle-ManifestVersion: 2
|
||||
Bundle-Name: %Bundle-Name
|
||||
Bundle-SymbolicName: com.ibm.wala.cast.js.nodejs
|
||||
Bundle-Version: 1.4.3.qualifier
|
||||
Bundle-Version: 1.4.4.qualifier
|
||||
Export-Package: com.ibm.wala.cast.js.nodejs,
|
||||
org.json
|
||||
Require-Bundle: com.ibm.wala.cast.js;bundle-version="1.3.10",
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>com.ibm.wala</groupId>
|
||||
<artifactId>WALA</artifactId>
|
||||
<version>1.4.3-SNAPSHOT</version>
|
||||
<version>1.4.4-SNAPSHOT</version>
|
||||
</parent>
|
||||
<packaging>eclipse-plugin</packaging>
|
||||
<artifactId>com.ibm.wala.cast.js.nodejs</artifactId>
|
||||
|
|
|
@ -33,10 +33,10 @@ import com.ibm.wala.classLoader.IMethod;
|
|||
import com.ibm.wala.classLoader.Language;
|
||||
import com.ibm.wala.classLoader.Module;
|
||||
import com.ibm.wala.classLoader.SourceFileModule;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisCache;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisCacheImpl;
|
||||
import com.ibm.wala.ipa.callgraph.ContextSelector;
|
||||
import com.ibm.wala.ipa.callgraph.Entrypoint;
|
||||
import com.ibm.wala.ipa.callgraph.IAnalysisCacheView;
|
||||
import com.ibm.wala.ipa.callgraph.MethodTargetSelector;
|
||||
import com.ibm.wala.ipa.callgraph.propagation.PropagationCallGraphBuilder;
|
||||
import com.ibm.wala.ipa.callgraph.propagation.cfa.ZeroXInstanceKeys;
|
||||
|
@ -64,7 +64,7 @@ public class NodejsCallGraphBuilderUtil extends JSCallGraphUtil {
|
|||
Collection<Language> languages = Collections.singleton(language);
|
||||
|
||||
IRFactory<IMethod> irFactory = new AstIRFactory.AstDefaultIRFactory<>();
|
||||
AnalysisCache cache = new AnalysisCacheImpl(irFactory);
|
||||
IAnalysisCacheView cache = new AnalysisCacheImpl(irFactory);
|
||||
|
||||
JavaScriptLoaderFactory loaders = new JavaScriptLoaderFactory(translatorFactory, null);
|
||||
|
||||
|
|
|
@ -14,6 +14,7 @@ import java.io.File;
|
|||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.net.URI;
|
||||
|
||||
import org.apache.commons.io.FilenameUtils;
|
||||
import org.apache.commons.io.IOUtils;
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@ Manifest-Version: 1.0
|
|||
Bundle-ManifestVersion: 2
|
||||
Bundle-Name: %Bundle-Name
|
||||
Bundle-SymbolicName: com.ibm.wala.cast.js.rhino.test
|
||||
Bundle-Version: 1.4.3.qualifier
|
||||
Bundle-Version: 1.4.4.qualifier
|
||||
Bundle-Vendor: %Bundle-Vendor
|
||||
Require-Bundle: com.ibm.wala.cast.js.rhino;bundle-version="1.0.0",
|
||||
com.ibm.wala.cast.js;bundle-version="1.0.0",
|
||||
|
|
|
@ -16,7 +16,11 @@ import com.ibm.wala.cast.js.translator.CAstRhinoTranslatorFactory;
|
|||
import com.ibm.wala.classLoader.IMethod;
|
||||
import com.ibm.wala.classLoader.Language;
|
||||
import com.ibm.wala.classLoader.SourceURLModule;
|
||||
import com.ibm.wala.ipa.callgraph.*;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisCacheImpl;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisOptions;
|
||||
import com.ibm.wala.ipa.callgraph.Entrypoint;
|
||||
import com.ibm.wala.ipa.callgraph.IAnalysisCacheView;
|
||||
import com.ibm.wala.ipa.callgraph.MethodTargetSelector;
|
||||
import com.ibm.wala.ipa.callgraph.impl.ComposedEntrypoints;
|
||||
import com.ibm.wala.ipa.cha.ClassHierarchyException;
|
||||
import com.ibm.wala.ipa.cha.IClassHierarchy;
|
||||
|
@ -74,7 +78,7 @@ public class Driver {
|
|||
|
||||
IRFactory<IMethod> factory = AstIRFactory.makeDefaultFactory();
|
||||
|
||||
AnalysisCache cache = new AnalysisCacheImpl(factory);
|
||||
IAnalysisCacheView cache = new AnalysisCacheImpl(factory);
|
||||
|
||||
addDefaultDispatchLogic(options, cha);
|
||||
|
||||
|
|
|
@ -22,10 +22,10 @@ import com.ibm.wala.cast.js.loader.JavaScriptLoader;
|
|||
import com.ibm.wala.cast.js.types.JavaScriptTypes;
|
||||
import com.ibm.wala.cast.util.TargetLanguageSelector;
|
||||
import com.ibm.wala.classLoader.Language;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisCache;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisOptions;
|
||||
import com.ibm.wala.ipa.callgraph.CGNode;
|
||||
import com.ibm.wala.ipa.callgraph.ContextSelector;
|
||||
import com.ibm.wala.ipa.callgraph.IAnalysisCacheView;
|
||||
import com.ibm.wala.ipa.callgraph.impl.AbstractRootMethod;
|
||||
import com.ibm.wala.ipa.callgraph.impl.DefaultContextSelector;
|
||||
import com.ibm.wala.ipa.callgraph.impl.FakeRootMethod;
|
||||
|
@ -43,7 +43,7 @@ import com.ibm.wala.util.strings.Atom;
|
|||
|
||||
public class JavaJavaScriptHybridCallGraphBuilder extends CrossLanguageSSAPropagationCallGraphBuilder {
|
||||
|
||||
public JavaJavaScriptHybridCallGraphBuilder(IClassHierarchy cha, AnalysisOptions options, AnalysisCache cache) {
|
||||
public JavaJavaScriptHybridCallGraphBuilder(IClassHierarchy cha, AnalysisOptions options, IAnalysisCacheView cache) {
|
||||
super(cha, options, cache, new AstCFAPointerKeys());
|
||||
globalObject = new GlobalObjectKey(cha.lookupClass(JavaScriptTypes.Root));
|
||||
|
||||
|
|
|
@ -3,7 +3,6 @@ package com.ibm.wala.cast.js.rhino.callgraph.fieldbased.test;
|
|||
import java.io.IOException;
|
||||
import java.net.URL;
|
||||
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
|
||||
import com.ibm.wala.cast.ir.translator.TranslatorToCAst.Error;
|
||||
|
@ -15,49 +14,39 @@ public class FieldBasedCGGamesTest extends AbstractFieldBasedTest {
|
|||
|
||||
@Test
|
||||
public void testBunnyHunt() throws IOException, WalaException, Error, CancelException {
|
||||
runTestExceptOnTravis(new URL("http://www.themaninblue.com/experiment/BunnyHunt/"), new Object[][]{}, BuilderType.OPTIMISTIC_WORKLIST);
|
||||
runTestExceptOnTravis(new URL("http://www.themaninblue.com/experiment/BunnyHunt/"), new Object[][]{}, BuilderType.OPTIMISTIC);
|
||||
}
|
||||
|
||||
/*
|
||||
@Test
|
||||
public void testBomberman() throws IOException, WalaException, Error, CancelException {
|
||||
runTestExceptOnTravis(new URL("http://www.e-forum.ro/bomberman/dynagame.html"), new Object[][]{}, BuilderType.OPTIMISTIC_WORKLIST);
|
||||
}
|
||||
*/
|
||||
|
||||
@Test
|
||||
public void testBeslimed() throws IOException, WalaException, Error, CancelException {
|
||||
runTestExceptOnTravis(new URL("http://www.markus-inger.de/test/game.php"), new Object[][]{}, BuilderType.OPTIMISTIC_WORKLIST);
|
||||
runTestExceptOnTravis(new URL("http://www.markus-inger.de/test/game.php"), new Object[][]{}, BuilderType.OPTIMISTIC);
|
||||
}
|
||||
|
||||
// seems to break with http issues
|
||||
//@Test
|
||||
public void testDiggAttack() throws IOException, WalaException, Error, CancelException {
|
||||
runTestExceptOnTravis(new URL("http://www.pixastic.com/labs/digg_attack/"), new Object[][]{}, BuilderType.OPTIMISTIC_WORKLIST);
|
||||
runTestExceptOnTravis(new URL("http://www.pixastic.com/labs/digg_attack/"), new Object[][]{}, BuilderType.OPTIMISTIC);
|
||||
}
|
||||
|
||||
@Ignore
|
||||
@Test
|
||||
public void testRiverRaider() throws IOException, WalaException, Error, CancelException {
|
||||
runTestExceptOnTravis(new URL("http://playstar.mobi/games/riverraider/index.html?playerId=&gameId=8&highscore=102425"), new Object[][]{}, BuilderType.OPTIMISTIC_WORKLIST);
|
||||
}
|
||||
|
||||
@Ignore
|
||||
@Test
|
||||
public void testSolitaire() throws IOException, WalaException, Error, CancelException {
|
||||
runTestExceptOnTravis(new URL("http://www.inmensia.com/files/solitaire1.0.html"), new Object[][]{}, BuilderType.OPTIMISTIC_WORKLIST);
|
||||
runTestExceptOnTravis(new URL("http://www.inmensia.com/files/solitaire1.0.html"), new Object[][]{}, BuilderType.OPTIMISTIC);
|
||||
}
|
||||
|
||||
@Test(expected = CancelException.class)
|
||||
public void testWorldOfSolitaire() throws IOException, WalaException, Error, CancelException {
|
||||
runTestExceptOnTravis(new URL("http://worldofsolitaire.com/"), new Object[][]{}, BuilderType.OPTIMISTIC_WORKLIST);
|
||||
runTestExceptOnTravis(new URL("http://worldofsolitaire.com/"), new Object[][]{}, BuilderType.OPTIMISTIC);
|
||||
if (System.getenv("TRAVIS") != null) {
|
||||
// fake it
|
||||
throw new CancelException(null);
|
||||
}
|
||||
}
|
||||
|
||||
@Ignore
|
||||
@Test
|
||||
public void testMinesweeper() throws IOException, WalaException, Error, CancelException {
|
||||
runTestExceptOnTravis(new URL("http://www.inmensia.com/files/minesweeper1.0.html"), new Object[][]{}, BuilderType.OPTIMISTIC_WORKLIST);
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>com.ibm.wala</groupId>
|
||||
<artifactId>WALA</artifactId>
|
||||
<version>1.4.3-SNAPSHOT</version>
|
||||
<version>1.4.4-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>com.ibm.wala.cast.js.rhino.test</artifactId>
|
||||
<packaging>eclipse-plugin</packaging>
|
||||
|
|
|
@ -2,7 +2,7 @@ Manifest-Version: 1.0
|
|||
Bundle-ManifestVersion: 2
|
||||
Bundle-Name: %Bundle-Name
|
||||
Bundle-SymbolicName: com.ibm.wala.cast.js.rhino
|
||||
Bundle-Version: 1.4.3.qualifier
|
||||
Bundle-Version: 1.4.4.qualifier
|
||||
Bundle-Vendor: %Bundle-Vendor
|
||||
Require-Bundle: com.ibm.wala.cast;bundle-version="1.0.0",
|
||||
com.ibm.wala.cast.js;bundle-version="1.0.0",
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>com.ibm.wala</groupId>
|
||||
<artifactId>com.ibm.wala.cast.js.rhino</artifactId>
|
||||
<version>1.4.3-SNAPSHOT</version>
|
||||
<version>1.4.4-SNAPSHOT</version>
|
||||
<packaging>jar</packaging>
|
||||
<name>WALA CAst JS Rhino</name>
|
||||
<description>WALA JS Rhino adapter</description>
|
||||
|
@ -45,17 +45,17 @@
|
|||
<dependency>
|
||||
<groupId>com.ibm.wala</groupId>
|
||||
<artifactId>com.ibm.wala.core</artifactId>
|
||||
<version>1.4.3-SNAPSHOT</version>
|
||||
<version>1.4.4-SNAPSHOT</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.ibm.wala</groupId>
|
||||
<artifactId>com.ibm.wala.cast</artifactId>
|
||||
<version>1.4.3-SNAPSHOT</version>
|
||||
<version>1.4.4-SNAPSHOT</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.ibm.wala</groupId>
|
||||
<artifactId>com.ibm.wala.cast.js</artifactId>
|
||||
<version>1.4.3-SNAPSHOT</version>
|
||||
<version>1.4.4-SNAPSHOT</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.mozilla</groupId>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<parent>
|
||||
<artifactId>WALA</artifactId>
|
||||
<groupId>com.ibm.wala</groupId>
|
||||
<version>1.4.3-SNAPSHOT</version>
|
||||
<version>1.4.4-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>com.ibm.wala.cast.js.rhino</artifactId>
|
||||
<packaging>eclipse-plugin</packaging>
|
||||
|
|
|
@ -831,86 +831,154 @@ public class RhinoToAstTranslator implements TranslatorToCAst {
|
|||
WalkContext arg) {
|
||||
return visit(node.getExpression(), arg);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public CAstNode visitForInLoop(ForInLoop node, WalkContext arg) {
|
||||
// set up
|
||||
CAstNode object = visit(node.getIteratedObject(), arg);
|
||||
String tempName = "for in loop temp";
|
||||
CAstNode[] loopHeader = new CAstNode[]{
|
||||
Ast.makeNode(CAstNode.DECL_STMT, Ast.makeConstant(new CAstSymbolImpl(tempName, JSAstTranslator.Any)), readName(arg, null, "$$undefined")),
|
||||
Ast.makeNode(CAstNode.ASSIGN, Ast.makeNode(CAstNode.VAR, Ast.makeConstant(tempName)), object)
|
||||
};
|
||||
|
||||
CAstNode initNode;
|
||||
String name;
|
||||
AstNode var = node.getIterator();
|
||||
assert var instanceof Name || var instanceof VariableDeclaration || var instanceof LetNode : var.getClass() + " " + var;
|
||||
if (var instanceof Name) {
|
||||
name = ((Name)var).getString();
|
||||
initNode =
|
||||
Ast.makeNode(CAstNode.ASSIGN,
|
||||
Ast.makeNode(CAstNode.VAR, Ast.makeConstant(name)),
|
||||
Ast.makeNode(CAstNode.EACH_ELEMENT_GET,
|
||||
Ast.makeNode(CAstNode.VAR, Ast.makeConstant(tempName)),
|
||||
readName(arg, null, name)));
|
||||
|
||||
} else {
|
||||
VariableDeclaration decl;
|
||||
if (var instanceof LetNode) {
|
||||
decl = ((LetNode)var).getVariables();
|
||||
} else {
|
||||
decl = (VariableDeclaration)var;
|
||||
}
|
||||
assert decl.getVariables().size() == 1;
|
||||
VariableInitializer init = decl.getVariables().iterator().next();
|
||||
// TODO: fix the correlation-tracking rewriters, and kill the old for..in translation
|
||||
if (useNewForIn) {
|
||||
// set up
|
||||
CAstNode object = visit(node.getIteratedObject(), arg);
|
||||
String tempName = "for in loop temp";
|
||||
CAstNode[] loopHeader = new CAstNode[]{
|
||||
Ast.makeNode(CAstNode.DECL_STMT, Ast.makeConstant(new CAstSymbolImpl(tempName, JSAstTranslator.Any)), readName(arg, null, "$$undefined")),
|
||||
Ast.makeNode(CAstNode.ASSIGN, Ast.makeNode(CAstNode.VAR, Ast.makeConstant(tempName)), object)
|
||||
};
|
||||
|
||||
name = init.getTarget().getString();
|
||||
String name;
|
||||
AstNode var = node.getIterator();
|
||||
assert var instanceof Name || var instanceof VariableDeclaration || var instanceof LetNode : var.getClass() + " " + var;
|
||||
if (var instanceof Name) {
|
||||
name = ((Name)var).getString();
|
||||
} else {
|
||||
VariableDeclaration decl;
|
||||
if (var instanceof LetNode) {
|
||||
decl = ((LetNode)var).getVariables();
|
||||
} else {
|
||||
decl = (VariableDeclaration)var;
|
||||
}
|
||||
assert decl.getVariables().size() == 1;
|
||||
VariableInitializer init = decl.getVariables().iterator().next();
|
||||
|
||||
arg.addNameDecl(
|
||||
Ast.makeNode(CAstNode.DECL_STMT, Ast.makeConstant(new CAstSymbolImpl(name, JSAstTranslator.Any)),
|
||||
readName(arg, null, "$$undefined")));
|
||||
|
||||
initNode =
|
||||
Ast.makeNode(CAstNode.ASSIGN,
|
||||
Ast.makeNode(CAstNode.VAR, Ast.makeConstant(name)),
|
||||
Ast.makeNode(CAstNode.EACH_ELEMENT_GET,
|
||||
Ast.makeNode(CAstNode.VAR, Ast.makeConstant(tempName)),
|
||||
readName(arg, null, name)));
|
||||
name = init.getTarget().getString();
|
||||
|
||||
}
|
||||
|
||||
// body
|
||||
AstNode breakStmt = makeEmptyLabelStmt("breakLabel");
|
||||
CAstNode breakLabel = visit(breakStmt, arg);
|
||||
AstNode contStmt = makeEmptyLabelStmt("contLabel");
|
||||
CAstNode contLabel = visit(contStmt, arg);
|
||||
// TODO: Figure out why this is needed to make the correlation extraction tests pass
|
||||
// TODO: remove this silly label
|
||||
AstNode garbageStmt = makeEmptyLabelStmt("garbageLabel");
|
||||
CAstNode garbageLabel = visit(garbageStmt, arg);
|
||||
WalkContext loopContext = makeLoopContext(node, arg, breakStmt, contStmt);
|
||||
CAstNode body = Ast.makeNode(CAstNode.BLOCK_STMT,
|
||||
initNode,
|
||||
visit(node.getBody(), loopContext),
|
||||
garbageLabel);
|
||||
|
||||
CAstNode loop = Ast.makeNode(CAstNode.LOCAL_SCOPE,
|
||||
Ast.makeNode(CAstNode.BLOCK_STMT,
|
||||
loopHeader[0],
|
||||
loopHeader[1],
|
||||
contLabel,
|
||||
Ast.makeNode(CAstNode.LOOP,
|
||||
Ast.makeNode(CAstNode.BINARY_EXPR,
|
||||
CAstOperator.OP_NE,
|
||||
Ast.makeConstant(null),
|
||||
Ast.makeNode(CAstNode.EACH_ELEMENT_GET,
|
||||
Ast.makeNode(CAstNode.VAR, Ast.makeConstant(tempName)),
|
||||
readName(arg, null, name))),
|
||||
body),
|
||||
breakLabel));
|
||||
arg.cfg().map(node, loop);
|
||||
return loop;
|
||||
arg.addNameDecl(
|
||||
Ast.makeNode(CAstNode.DECL_STMT, Ast.makeConstant(new CAstSymbolImpl(name, JSAstTranslator.Any)),
|
||||
readName(arg, null, "$$undefined")));
|
||||
}
|
||||
|
||||
// body
|
||||
AstNode breakStmt = makeEmptyLabelStmt("breakLabel");
|
||||
CAstNode breakLabel = visit(breakStmt, arg);
|
||||
AstNode contStmt = makeEmptyLabelStmt("contLabel");
|
||||
CAstNode contLabel = visit(contStmt, arg);
|
||||
// TODO: Figure out why this is needed to make the correlation extraction tests pass
|
||||
// TODO: remove this silly label
|
||||
AstNode garbageStmt = makeEmptyLabelStmt("garbageLabel");
|
||||
CAstNode garbageLabel = visit(garbageStmt, arg);
|
||||
WalkContext loopContext = makeLoopContext(node, arg, breakStmt, contStmt);
|
||||
CAstNode body = Ast.makeNode(CAstNode.BLOCK_STMT,
|
||||
//initNode,
|
||||
visit(node.getBody(), loopContext),
|
||||
garbageLabel);
|
||||
|
||||
CAstNode loop = Ast.makeNode(CAstNode.LOCAL_SCOPE,
|
||||
Ast.makeNode(CAstNode.BLOCK_STMT,
|
||||
loopHeader[0],
|
||||
loopHeader[1],
|
||||
contLabel,
|
||||
Ast.makeNode(CAstNode.LOOP,
|
||||
Ast.makeNode(CAstNode.BINARY_EXPR,
|
||||
CAstOperator.OP_NE,
|
||||
Ast.makeConstant(null),
|
||||
Ast.makeNode(CAstNode.BLOCK_EXPR,
|
||||
Ast.makeNode(CAstNode.ASSIGN,
|
||||
Ast.makeNode(CAstNode.VAR, Ast.makeConstant(name)),
|
||||
Ast.makeNode(CAstNode.EACH_ELEMENT_GET,
|
||||
Ast.makeNode(CAstNode.VAR, Ast.makeConstant(tempName)),
|
||||
readName(arg, null, name))),
|
||||
readName(arg, null, name))),
|
||||
body),
|
||||
breakLabel));
|
||||
arg.cfg().map(node, loop);
|
||||
return loop;
|
||||
} else {
|
||||
CAstNode object = visit(node.getIteratedObject(), arg);
|
||||
String tempName = "for in loop temp";
|
||||
CAstNode[] loopHeader = new CAstNode[]{
|
||||
Ast.makeNode(CAstNode.DECL_STMT, Ast.makeConstant(new CAstSymbolImpl(tempName, JSAstTranslator.Any)), readName(arg, null, "$$undefined")),
|
||||
Ast.makeNode(CAstNode.ASSIGN, Ast.makeNode(CAstNode.VAR, Ast.makeConstant(tempName)), object)
|
||||
};
|
||||
|
||||
CAstNode initNode;
|
||||
String name;
|
||||
AstNode var = node.getIterator();
|
||||
assert var instanceof Name || var instanceof VariableDeclaration || var instanceof LetNode : var.getClass() + " " + var;
|
||||
if (var instanceof Name) {
|
||||
name = ((Name)var).getString();
|
||||
initNode =
|
||||
Ast.makeNode(CAstNode.ASSIGN,
|
||||
Ast.makeNode(CAstNode.VAR, Ast.makeConstant(name)),
|
||||
Ast.makeNode(CAstNode.EACH_ELEMENT_GET,
|
||||
Ast.makeNode(CAstNode.VAR, Ast.makeConstant(tempName)),
|
||||
readName(arg, null, name)));
|
||||
|
||||
} else {
|
||||
VariableDeclaration decl;
|
||||
if (var instanceof LetNode) {
|
||||
decl = ((LetNode)var).getVariables();
|
||||
} else {
|
||||
decl = (VariableDeclaration)var;
|
||||
}
|
||||
assert decl.getVariables().size() == 1;
|
||||
VariableInitializer init = decl.getVariables().iterator().next();
|
||||
|
||||
name = init.getTarget().getString();
|
||||
|
||||
arg.addNameDecl(
|
||||
Ast.makeNode(CAstNode.DECL_STMT, Ast.makeConstant(new CAstSymbolImpl(name, JSAstTranslator.Any)),
|
||||
readName(arg, null, "$$undefined")));
|
||||
|
||||
initNode =
|
||||
Ast.makeNode(CAstNode.ASSIGN,
|
||||
Ast.makeNode(CAstNode.VAR, Ast.makeConstant(name)),
|
||||
Ast.makeNode(CAstNode.EACH_ELEMENT_GET,
|
||||
Ast.makeNode(CAstNode.VAR, Ast.makeConstant(tempName)),
|
||||
readName(arg, null, name)));
|
||||
|
||||
}
|
||||
|
||||
// body
|
||||
AstNode breakStmt = makeEmptyLabelStmt("breakLabel");
|
||||
CAstNode breakLabel = visit(breakStmt, arg);
|
||||
AstNode contStmt = makeEmptyLabelStmt("contLabel");
|
||||
CAstNode contLabel = visit(contStmt, arg);
|
||||
// TODO: Figure out why this is needed to make the correlation extraction tests pass
|
||||
// TODO: remove this silly label
|
||||
AstNode garbageStmt = makeEmptyLabelStmt("garbageLabel");
|
||||
CAstNode garbageLabel = visit(garbageStmt, arg);
|
||||
WalkContext loopContext = makeLoopContext(node, arg, breakStmt, contStmt);
|
||||
CAstNode body = Ast.makeNode(CAstNode.BLOCK_STMT,
|
||||
initNode,
|
||||
visit(node.getBody(), loopContext),
|
||||
garbageLabel);
|
||||
|
||||
CAstNode loop = Ast.makeNode(CAstNode.LOCAL_SCOPE,
|
||||
Ast.makeNode(CAstNode.BLOCK_STMT,
|
||||
loopHeader[0],
|
||||
loopHeader[1],
|
||||
contLabel,
|
||||
Ast.makeNode(CAstNode.LOOP,
|
||||
Ast.makeNode(CAstNode.BINARY_EXPR,
|
||||
CAstOperator.OP_NE,
|
||||
Ast.makeConstant(null),
|
||||
Ast.makeNode(CAstNode.EACH_ELEMENT_GET,
|
||||
Ast.makeNode(CAstNode.VAR, Ast.makeConstant(tempName)),
|
||||
readName(arg, null, name))),
|
||||
body),
|
||||
breakLabel));
|
||||
arg.cfg().map(node, loop);
|
||||
return loop;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -2435,13 +2503,20 @@ private CAstNode[] walkChildren(final Node n, WalkContext context) {
|
|||
private int tempVarNum = 0;
|
||||
|
||||
private final DoLoopTranslator doLoopTranslator;
|
||||
|
||||
|
||||
private final boolean useNewForIn;
|
||||
|
||||
public RhinoToAstTranslator(CAst Ast, ModuleEntry m, String scriptName, boolean replicateForDoLoops) {
|
||||
this(Ast, m, scriptName, replicateForDoLoops, false);
|
||||
}
|
||||
|
||||
public RhinoToAstTranslator(CAst Ast, ModuleEntry m, String scriptName, boolean replicateForDoLoops, boolean useNewForIn) {
|
||||
this.Ast = Ast;
|
||||
this.scriptName = scriptName;
|
||||
this.sourceModule = m;
|
||||
this.sourceReader = new InputStreamReader(sourceModule.getInputStream());
|
||||
this.doLoopTranslator = new DoLoopTranslator(replicateForDoLoops, Ast);
|
||||
this.useNewForIn = useNewForIn;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
DELEGATES_PREFERENCE=delegateValidatorList
|
||||
USER_BUILD_PREFERENCE=enabledBuildValidatorList
|
||||
USER_MANUAL_PREFERENCE=enabledManualValidatorList
|
||||
USER_PREFERENCE=overrideGlobalPreferencestruedisableAllValidationfalseversion1.2.700.v201610061600
|
||||
USER_PREFERENCE=overrideGlobalPreferencestruedisableAllValidationfalseversion1.2.700.v201508251749
|
||||
eclipse.preferences.version=1
|
||||
override=true
|
||||
suspend=false
|
||||
vals/org.eclipse.wst.html.core.HTMLValidator/groups=0107include06111contentType136org.eclipse.wst.html.core.htmlsourceT07fileext04htmlF07fileext05xhtmlF07fileext03htmF07fileext04htplF07fileext03wmlF0107exclude11804file131examples-src/pages/garbage.htmlT0304file132examples-src/pages/garbage2.htmlT0304file139target/site/dependency-convergence.htmlT0304file136examples-src/ajaxslt/test/xpath.htmlT0304file139examples-src/ajaxslt/xslt_unittest.htmlT0304file135examples-src/ajaxslt/test/xslt.htmlT0304file129examples-src/pages/page4.htmlT0304file128examples-src/pages/list.htmlT0304file129examples-src/pages/page1.htmlT0304file129examples-src/pages/page2.htmlT0304file133examples-src/pages/prototype.htmlT0304file133examples-src/pages/prototype.htmlT0304file132examples-src/pages/skeleton.htmlT0304file133examples-src/pages/skeleton2.htmlT0304file133examples-src/pages/skeleton3.htmlT0304file136examples-src/pages/windowonload.htmlT0304file131examples-src/pages/windowx.htmlT0304file145examples-src/tests/portal-example-simple.htmlT03
|
||||
vals/org.eclipse.wst.xml.core.xml/groups=0107include05111contentType128org.eclipse.core.runtime.xmlT111contentType134org.eclipse.wst.xml.core.xmlsourceT111contentType134org.eclipse.wst.xml.core.xslsourceT111contentType134org.eclipse.jst.jsp.core.tldsourceT07fileext03xmlF0107exclude08113projectNature134org.eclipse.jst.j2ee.ejb.EJBNature113projectNature130org.eclipse.jst.j2ee.EARNature04file08.projectT0104file110.classpathT0104file110.settings/T0204file122target/p2artifacts.xmlT0304file120target/p2content.xmlT0304file128target/antrun/build-main.xmlT03
|
||||
vals/org.eclipse.wst.xml.core.xml/groups=0107include05111contentType128org.eclipse.core.runtime.xmlT111contentType134org.eclipse.wst.xml.core.xmlsourceT111contentType134org.eclipse.wst.xml.core.xslsourceT111contentType134org.eclipse.jst.jsp.core.tldsourceT07fileext03xmlF0107exclude09113projectNature134org.eclipse.jst.j2ee.ejb.EJBNature113projectNature130org.eclipse.jst.j2ee.EARNature04file08.projectT0104file110.classpathT0104file110.settings/T0204file122target/p2artifacts.xmlT0304file120target/p2content.xmlT0304file128target/antrun/build-main.xmlT0304file167target/javadoc-bundle-options/javadoc-options-javadoc-resources.xmlT03
|
||||
vf.version=3
|
||||
|
|
|
@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2
|
|||
Eclipse-LazyStart: true
|
||||
Bundle-Name: %pluginName
|
||||
Bundle-SymbolicName: com.ibm.wala.cast.js.test.data;singleton:=true
|
||||
Bundle-Version: 1.4.3.qualifier
|
||||
Bundle-Version: 1.4.4.qualifier
|
||||
Bundle-Vendor: %providerName
|
||||
Bundle-ActivationPolicy: lazy
|
||||
Bundle-ClassPath: examples-src/
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
function Document_prototype_write(x) {
|
||||
|
||||
}
|
||||
|
||||
function id(x) {
|
||||
return x;
|
||||
}
|
||||
|
||||
var document = { URL: "whatever" };
|
||||
var url = id(document.URL);
|
||||
Document_prototype_write(url);
|
||||
|
||||
var notUrl = id("not a url");
|
||||
Document_prototype_write(notUrl);
|
|
@ -0,0 +1,14 @@
|
|||
var document = { URL: "whatever",
|
||||
write: function Document_prototype_write(x) { } };
|
||||
var id = function _id(x) { return x; };
|
||||
function Id() { this.id = id; }
|
||||
function SubId() { }; SubId.prototype = new Id();
|
||||
|
||||
if (Math.random.call(null) > 0) {
|
||||
var id1 = new Id();
|
||||
var text = id1.id.call(document, document.URL);
|
||||
} else {
|
||||
var id2 = new SubId();
|
||||
var text = id2.id("not a url");
|
||||
}
|
||||
document.write(text);
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>com.ibm.wala</groupId>
|
||||
<artifactId>WALA</artifactId>
|
||||
<version>1.4.3-SNAPSHOT</version>
|
||||
<version>1.4.4-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>com.ibm.wala.cast.js.test.data</artifactId>
|
||||
<packaging>eclipse-plugin</packaging>
|
||||
|
|
|
@ -2,7 +2,7 @@ Manifest-Version: 1.0
|
|||
Bundle-ManifestVersion: 2
|
||||
Bundle-Name: %Bundle-Name
|
||||
Bundle-SymbolicName: com.ibm.wala.cast.js.test
|
||||
Bundle-Version: 1.4.3.qualifier
|
||||
Bundle-Version: 1.4.4.qualifier
|
||||
Bundle-Vendor: %Bundle-Vendor
|
||||
Require-Bundle: com.ibm.wala.cast.js,
|
||||
com.ibm.wala.cast,
|
||||
|
|
|
@ -34,9 +34,9 @@ import com.ibm.wala.cast.js.util.Util;
|
|||
import com.ibm.wala.classLoader.Module;
|
||||
import com.ibm.wala.classLoader.SourceModule;
|
||||
import com.ibm.wala.classLoader.SourceURLModule;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisCache;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisCacheImpl;
|
||||
import com.ibm.wala.ipa.callgraph.Entrypoint;
|
||||
import com.ibm.wala.ipa.callgraph.IAnalysisCacheView;
|
||||
import com.ibm.wala.ipa.callgraph.propagation.PointerAnalysis;
|
||||
import com.ibm.wala.ipa.cha.ClassHierarchyFactory;
|
||||
import com.ibm.wala.ipa.cha.IClassHierarchy;
|
||||
|
@ -102,7 +102,7 @@ public class FieldBasedCGUtil {
|
|||
Iterable<Entrypoint> roots = JSCallGraphUtil.makeScriptRoots(cha);
|
||||
FieldBasedCallGraphBuilder builder = null;
|
||||
|
||||
AnalysisCache cache = new AnalysisCacheImpl(AstIRFactory.makeDefaultFactory());
|
||||
IAnalysisCacheView cache = new AnalysisCacheImpl(AstIRFactory.makeDefaultFactory());
|
||||
switch(builderType) {
|
||||
case PESSIMISTIC:
|
||||
builder = new PessimisticCallGraphBuilder(cha, JSCallGraphUtil.makeOptions(scope, cha, roots), cache, supportFullPointerAnalysis);
|
||||
|
|
|
@ -39,10 +39,10 @@ import com.ibm.wala.classLoader.IMethod;
|
|||
import com.ibm.wala.classLoader.Module;
|
||||
import com.ibm.wala.classLoader.SourceModule;
|
||||
import com.ibm.wala.classLoader.SourceURLModule;
|
||||
import com.ibm.wala.ipa.callgraph.IAnalysisCacheView;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisScope;
|
||||
import com.ibm.wala.ipa.callgraph.CallGraph;
|
||||
import com.ibm.wala.ipa.callgraph.Entrypoint;
|
||||
import com.ibm.wala.ipa.callgraph.IAnalysisCacheView;
|
||||
import com.ibm.wala.ipa.callgraph.propagation.PropagationCallGraphBuilder;
|
||||
import com.ibm.wala.ipa.callgraph.propagation.SSAPropagationCallGraphBuilder;
|
||||
import com.ibm.wala.ipa.callgraph.propagation.cfa.ZeroXInstanceKeys;
|
||||
|
@ -111,7 +111,6 @@ public class JSCallGraphBuilderUtil extends com.ibm.wala.cast.js.ipa.callgraph.J
|
|||
} catch (FileNotFoundException e) {
|
||||
// I guess we need to do this on Windows sometimes? --MS
|
||||
// if this fails, we won't catch the exception
|
||||
f = provider.getFile(dir + "/" + name, JSCallGraphBuilderUtil.class.getClassLoader());
|
||||
}
|
||||
return f.toURI().toURL();
|
||||
}
|
||||
|
|
|
@ -21,10 +21,10 @@ import com.ibm.wala.cast.js.ipa.callgraph.JSCFABuilder;
|
|||
import com.ibm.wala.cast.js.ipa.callgraph.JSCallGraphUtil;
|
||||
import com.ibm.wala.cast.js.ipa.callgraph.JSZeroOrOneXCFABuilder;
|
||||
import com.ibm.wala.cast.js.loader.JavaScriptLoaderFactory;
|
||||
import com.ibm.wala.ipa.callgraph.IAnalysisCacheView;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisScope;
|
||||
import com.ibm.wala.ipa.callgraph.CallGraph;
|
||||
import com.ibm.wala.ipa.callgraph.Entrypoint;
|
||||
import com.ibm.wala.ipa.callgraph.IAnalysisCacheView;
|
||||
import com.ibm.wala.ipa.callgraph.propagation.cfa.ZeroXInstanceKeys;
|
||||
import com.ibm.wala.ipa.cha.ClassHierarchyException;
|
||||
import com.ibm.wala.ipa.cha.IClassHierarchy;
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>com.ibm.wala</groupId>
|
||||
<artifactId>WALA</artifactId>
|
||||
<version>1.4.3-SNAPSHOT</version>
|
||||
<version>1.4.4-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>com.ibm.wala.cast.js.test</artifactId>
|
||||
<packaging>eclipse-plugin</packaging>
|
||||
|
|
|
@ -60,7 +60,7 @@ org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
|
|||
org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
|
||||
org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
|
||||
org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
|
||||
org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
|
||||
org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
|
||||
org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=error
|
||||
org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
|
||||
org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
|
||||
|
@ -117,7 +117,7 @@ org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=di
|
|||
org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
|
||||
org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
|
||||
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=error
|
||||
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
|
||||
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=error
|
||||
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
|
||||
org.eclipse.jdt.core.compiler.source=1.7
|
||||
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
|
||||
|
|
|
@ -2,7 +2,7 @@ Manifest-Version: 1.0
|
|||
Bundle-ManifestVersion: 2
|
||||
Bundle-Name: %Bundle-Name
|
||||
Bundle-SymbolicName: com.ibm.wala.cast.js;singleton:=true
|
||||
Bundle-Version: 1.4.3.qualifier
|
||||
Bundle-Version: 1.4.4.qualifier
|
||||
Bundle-ClassPath: .,
|
||||
lib/jericho-html-3.2.jar
|
||||
Bundle-Vendor: %Bundle-Vendor
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>com.ibm.wala</groupId>
|
||||
<artifactId>com.ibm.wala.cast.js</artifactId>
|
||||
<version>1.4.3-SNAPSHOT</version>
|
||||
<version>1.4.4-SNAPSHOT</version>
|
||||
<packaging>jar</packaging>
|
||||
<name>WALA CAst JS</name>
|
||||
<description>WALA JS frontend</description>
|
||||
|
@ -45,17 +45,17 @@
|
|||
<dependency>
|
||||
<groupId>com.ibm.wala</groupId>
|
||||
<artifactId>com.ibm.wala.core</artifactId>
|
||||
<version>1.4.3-SNAPSHOT</version>
|
||||
<version>1.4.4-SNAPSHOT</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.ibm.wala</groupId>
|
||||
<artifactId>com.ibm.wala.shrike</artifactId>
|
||||
<version>1.4.3-SNAPSHOT</version>
|
||||
<version>1.4.4-SNAPSHOT</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.ibm.wala</groupId>
|
||||
<artifactId>com.ibm.wala.cast</artifactId>
|
||||
<version>1.4.3-SNAPSHOT</version>
|
||||
<version>1.4.4-SNAPSHOT</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.htmlparser.jericho</groupId>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<parent>
|
||||
<artifactId>WALA</artifactId>
|
||||
<groupId>com.ibm.wala</groupId>
|
||||
<version>1.4.3-SNAPSHOT</version>
|
||||
<version>1.4.4-SNAPSHOT</version>
|
||||
</parent>
|
||||
<groupId>com.ibm.wala</groupId>
|
||||
<artifactId>com.ibm.wala.cast.js</artifactId>
|
||||
|
|
|
@ -24,8 +24,8 @@ import com.ibm.wala.cast.js.ipa.callgraph.JSAnalysisOptions;
|
|||
import com.ibm.wala.cast.js.ssa.JavaScriptInvoke;
|
||||
import com.ibm.wala.cast.js.types.JavaScriptMethods;
|
||||
import com.ibm.wala.cast.types.AstMethodReference;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisCache;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisOptions;
|
||||
import com.ibm.wala.ipa.callgraph.IAnalysisCacheView;
|
||||
import com.ibm.wala.ipa.cha.IClassHierarchy;
|
||||
import com.ibm.wala.util.CancelException;
|
||||
import com.ibm.wala.util.MonitorUtil;
|
||||
|
@ -54,7 +54,7 @@ public class WorklistBasedOptimisticCallgraphBuilder extends FieldBasedCallGraph
|
|||
|
||||
private FlowGraphBuilder builder;
|
||||
|
||||
public WorklistBasedOptimisticCallgraphBuilder(IClassHierarchy cha, AnalysisOptions options, AnalysisCache cache, boolean supportFullPointerAnalysis) {
|
||||
public WorklistBasedOptimisticCallgraphBuilder(IClassHierarchy cha, AnalysisOptions options, IAnalysisCacheView cache, boolean supportFullPointerAnalysis) {
|
||||
super(cha, options, cache, supportFullPointerAnalysis);
|
||||
handleCallApply = options instanceof JSAnalysisOptions && ((JSAnalysisOptions)options).handleCallApply();
|
||||
}
|
||||
|
|
|
@ -433,6 +433,8 @@ public class FlowGraph implements Iterable<Vertex> {
|
|||
final PointerAnalysis<ObjectVertex> pa = this;
|
||||
class FieldBasedHeapGraph extends SlowSparseNumberedGraph<Object> implements HeapGraph<ObjectVertex> {
|
||||
|
||||
private static final long serialVersionUID = -3544629644808422215L;
|
||||
|
||||
private <X> X ensureNode(X n) {
|
||||
if (!containsNode(n)) {
|
||||
addNode(n);
|
||||
|
|
|
@ -13,8 +13,8 @@ package com.ibm.wala.cast.js.client.impl;
|
|||
import com.ibm.wala.cast.ipa.callgraph.StandardFunctionTargetSelector;
|
||||
import com.ibm.wala.cast.js.ipa.callgraph.JSAnalysisOptions;
|
||||
import com.ibm.wala.cast.js.ipa.callgraph.JSZeroOrOneXCFABuilder;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisCache;
|
||||
import com.ibm.wala.ipa.callgraph.CallGraphBuilder;
|
||||
import com.ibm.wala.ipa.callgraph.IAnalysisCacheView;
|
||||
import com.ibm.wala.ipa.callgraph.propagation.InstanceKey;
|
||||
import com.ibm.wala.ipa.callgraph.propagation.cfa.ZeroXInstanceKeys;
|
||||
import com.ibm.wala.ipa.cha.IClassHierarchy;
|
||||
|
@ -26,7 +26,7 @@ import com.ibm.wala.ipa.cha.IClassHierarchy;
|
|||
*/
|
||||
public class OneCFABuilderFactory {
|
||||
|
||||
public CallGraphBuilder<InstanceKey> make(JSAnalysisOptions options, AnalysisCache cache, IClassHierarchy cha) {
|
||||
public CallGraphBuilder<InstanceKey> make(JSAnalysisOptions options, IAnalysisCacheView cache, IClassHierarchy cha) {
|
||||
com.ibm.wala.ipa.callgraph.impl.Util.addDefaultSelectors(options, cha);
|
||||
options.setSelector(new StandardFunctionTargetSelector(cha, options.getMethodTargetSelector()));
|
||||
|
||||
|
|
|
@ -34,7 +34,6 @@ import com.ibm.wala.cfg.ControlFlowGraph;
|
|||
import com.ibm.wala.cfg.IBasicBlock;
|
||||
import com.ibm.wala.classLoader.CallSiteReference;
|
||||
import com.ibm.wala.classLoader.IMethod;
|
||||
import com.ibm.wala.ipa.callgraph.IAnalysisCacheView;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisOptions;
|
||||
import com.ibm.wala.ipa.callgraph.CGNode;
|
||||
import com.ibm.wala.ipa.callgraph.Context;
|
||||
|
@ -42,6 +41,7 @@ import com.ibm.wala.ipa.callgraph.ContextItem;
|
|||
import com.ibm.wala.ipa.callgraph.ContextItem.Value;
|
||||
import com.ibm.wala.ipa.callgraph.ContextKey;
|
||||
import com.ibm.wala.ipa.callgraph.ContextSelector;
|
||||
import com.ibm.wala.ipa.callgraph.IAnalysisCacheView;
|
||||
import com.ibm.wala.ipa.callgraph.propagation.InstanceKey;
|
||||
import com.ibm.wala.ssa.DefUse;
|
||||
import com.ibm.wala.ssa.IR;
|
||||
|
|
|
@ -10,7 +10,6 @@
|
|||
*****************************************************************************/
|
||||
package com.ibm.wala.cast.js.ipa.callgraph;
|
||||
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisCache;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisScope;
|
||||
import com.ibm.wala.ipa.callgraph.ContextSelector;
|
||||
import com.ibm.wala.ipa.callgraph.IAnalysisCacheView;
|
||||
|
@ -108,7 +107,7 @@ public class JSZeroOrOneXCFABuilder extends JSCFABuilder {
|
|||
* specifications.
|
||||
* @return a 0-1-Opt-CFA Call Graph Builder.
|
||||
*/
|
||||
public static JSCFABuilder make(JSAnalysisOptions options, AnalysisCache cache, IClassHierarchy cha, ClassLoader cl,
|
||||
public static JSCFABuilder make(JSAnalysisOptions options, IAnalysisCacheView cache, IClassHierarchy cha, ClassLoader cl,
|
||||
AnalysisScope scope, String[] xmlFiles, byte instancePolicy, boolean doOneCFA) {
|
||||
com.ibm.wala.ipa.callgraph.impl.Util.addDefaultSelectors(options, cha);
|
||||
for (int i = 0; i < xmlFiles.length; i++) {
|
||||
|
|
|
@ -1010,7 +1010,6 @@ public class JavaScriptLoader extends CAstAbstractModuleLoader {
|
|||
bootstrapFileNames.add(prologueFileName);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
protected TranslatorToCAst getTranslatorToCAst(final CAst ast, ModuleEntry module) {
|
||||
TranslatorToCAst translator = translatorFactory.make(ast, module);
|
||||
|
|
|
@ -2,7 +2,7 @@ Manifest-Version: 1.0
|
|||
Bundle-ManifestVersion: 2
|
||||
Bundle-Name: %Bundle-Name
|
||||
Bundle-SymbolicName: com.ibm.wala.cast.test
|
||||
Bundle-Version: 1.4.3.qualifier
|
||||
Bundle-Version: 1.4.4.qualifier
|
||||
Bundle-Vendor: %Bundle-Vendor
|
||||
Require-Bundle:
|
||||
org.junit;bundle-version="4.0.0",
|
||||
|
|
|
@ -31,3 +31,4 @@ main: $(CAST_TEST_BIN)/smoke_main
|
|||
|
||||
$(CAST_TEST_BIN)/smoke_main: $(TEST_JNI_BRIDGE_HEADER) $(DOMO_AST_BIN)/$(LIBPREFIX)cast/launch.o $(C_GENERATED)/smoke_main.o
|
||||
$(CC) $(ALL_FLAGS) $(DOMO_AST_BIN)/$(LIBPREFIX)cast/launch.o $(C_GENERATED)/smoke_main.o $(CC_LD_PATHS) -o $@
|
||||
|
||||
|
|
|
@ -4,3 +4,4 @@ SCRIPT_NAME := $(realpath $(lastword $(MAKEFILE_LIST)))
|
|||
C_DIR := $(dir $(SCRIPTINAME))
|
||||
CAST_TEST_DIR := $(realpath $(C_DIR)../..)/
|
||||
CAST_TEST_BIN := $(CAST_TEST_DIR)target/classes/
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>com.ibm.wala</groupId>
|
||||
<artifactId>WALA</artifactId>
|
||||
<version>1.4.3-SNAPSHOT</version>
|
||||
<version>1.4.4-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>com.ibm.wala.cast.test</artifactId>
|
||||
<packaging>eclipse-plugin</packaging>
|
||||
|
@ -34,10 +34,9 @@
|
|||
<id>test-native</id>
|
||||
<phase>test</phase>
|
||||
<configuration>
|
||||
<workingDirectory>${basedir}</workingDirectory>
|
||||
<executable>${project.build.outputDirectory}/smoke_main</executable>
|
||||
<arguments>
|
||||
<argument>target/classes:../com.ibm.wala.cast/target/classes:../com.ibm.wala.core/target/classes:../com.ibm.wala.util/target/classes</argument>
|
||||
<argument>${project.build.outputDirectory}:${basedir}/../com.ibm.wala.cast/target/classes:${basedir}/../com.ibm.wala.core/target/classes:${basedir}/../com.ibm.wala.util/target/classes</argument>
|
||||
</arguments>
|
||||
</configuration>
|
||||
<goals>
|
||||
|
@ -55,7 +54,7 @@
|
|||
<phase>test</phase>
|
||||
<configuration>
|
||||
<testClassesDirectory>${project.build.outputDirectory}</testClassesDirectory>
|
||||
<argLine>-Djava.library.path=${project.build.outputDirectory}:${basedir}/../com.ibm.wala.cast/target/classes -ea</argLine>
|
||||
<argLine>-Djava.library.path=${project.build.outputDirectory} -ea</argLine>
|
||||
<redirectTestOutputToFile>true</redirectTestOutputToFile>
|
||||
</configuration>
|
||||
<goals>
|
||||
|
|
|
@ -61,7 +61,7 @@ org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
|
|||
org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
|
||||
org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
|
||||
org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
|
||||
org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
|
||||
org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
|
||||
org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=error
|
||||
org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
|
||||
org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
|
||||
|
@ -118,7 +118,7 @@ org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=di
|
|||
org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
|
||||
org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
|
||||
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=error
|
||||
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
|
||||
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=error
|
||||
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
|
||||
org.eclipse.jdt.core.compiler.source=1.7
|
||||
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
|
||||
|
|
|
@ -2,7 +2,7 @@ Manifest-Version: 1.0
|
|||
Bundle-ManifestVersion: 2
|
||||
Bundle-Name: %Bundle-Name
|
||||
Bundle-SymbolicName: com.ibm.wala.cast
|
||||
Bundle-Version: 1.4.3.qualifier
|
||||
Bundle-Version: 1.4.4.qualifier
|
||||
Bundle-Vendor: %Bundle-Vendor
|
||||
Require-Bundle: com.ibm.wala.core,
|
||||
com.ibm.wala.shrike
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>com.ibm.wala</groupId>
|
||||
<artifactId>com.ibm.wala.cast</artifactId>
|
||||
<version>1.4.3-SNAPSHOT</version>
|
||||
<version>1.4.4-SNAPSHOT</version>
|
||||
<packaging>jar</packaging>
|
||||
<name>WALA CAst</name>
|
||||
<description>WALA Common AST core library</description>
|
||||
|
@ -45,12 +45,12 @@
|
|||
<dependency>
|
||||
<groupId>com.ibm.wala</groupId>
|
||||
<artifactId>com.ibm.wala.core</artifactId>
|
||||
<version>1.4.3-SNAPSHOT</version>
|
||||
<version>1.4.4-SNAPSHOT</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.ibm.wala</groupId>
|
||||
<artifactId>com.ibm.wala.shrike</artifactId>
|
||||
<version>1.4.3-SNAPSHOT</version>
|
||||
<version>1.4.4-SNAPSHOT</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>commons-io</groupId>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<artifactId>WALA</artifactId>
|
||||
<groupId>com.ibm.wala</groupId>
|
||||
<version>1.4.3-SNAPSHOT</version>
|
||||
<version>1.4.4-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>com.ibm.wala.cast</artifactId>
|
||||
<packaging>eclipse-plugin</packaging>
|
||||
|
|
|
@ -61,3 +61,4 @@ CC_LD_PATHS = -L$(JAVA_SDK)jre/lib/amd64/server -Wl,-rpath -Wl,$(JAVA_SDK)jre/li
|
|||
|
||||
CC_LDFLAGS += $(CC_LD_PATHS)
|
||||
|
||||
|
||||
|
|
|
@ -15,6 +15,9 @@
|
|||
#define __CTN "com/ibm/wala/cast/tree/CAst"
|
||||
#define __CTS __SIG( __CTN )
|
||||
|
||||
#define __CTI "com/ibm/wala/cast/tree/impl/CAstImpl"
|
||||
#define __CII __SIG( __CTI )
|
||||
|
||||
#define __CEN "com/ibm/wala/cast/tree/CAstEntity"
|
||||
#define __CES __SIG( __CEN )
|
||||
|
||||
|
|
|
@ -34,6 +34,7 @@ public interface TranslatorToCAst {
|
|||
public <C extends RewriteContext<K>, K extends CopyKey<K>> void addRewriter(CAstRewriterFactory<C, K> factory, boolean prepend);
|
||||
|
||||
public class Error extends WalaException {
|
||||
private static final long serialVersionUID = -8440950320425119751L;
|
||||
public final Set<Warning> warning;
|
||||
|
||||
public Error(Set<Warning> message) {
|
||||
|
|
|
@ -39,6 +39,7 @@ public class CAstFunctions {
|
|||
public static Iterator<CAstNode> iterateNodes(final CAstNode tree) {
|
||||
return new DFSDiscoverTimeIterator<CAstNode>() {
|
||||
|
||||
private static final long serialVersionUID = -627203481092871529L;
|
||||
private final Map<Object, Iterator<? extends CAstNode>> pendingChildren = HashMapFactory.make();
|
||||
|
||||
@Override
|
||||
|
|
|
@ -59,6 +59,8 @@ public class CAstPattern {
|
|||
|
||||
public static class Segments extends TreeMap<String,Object> {
|
||||
|
||||
private static final long serialVersionUID = 4119719848336209576L;
|
||||
|
||||
public CAstNode getSingle(String name) {
|
||||
assert containsKey(name) : name;
|
||||
return (CAstNode) get(name);
|
||||
|
|
|
@ -2,7 +2,7 @@ Manifest-Version: 1.0
|
|||
Bundle-ManifestVersion: 2
|
||||
Bundle-Name: %Bundle-Name
|
||||
Bundle-SymbolicName: com.ibm.wala.core.testdata
|
||||
Bundle-Version: 1.4.3.qualifier
|
||||
Bundle-Version: 1.4.4.qualifier
|
||||
Bundle-Vendor: %Bundle-Vendor
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
|
||||
Eclipse-BuddyPolicy: registered
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>com.ibm.wala</groupId>
|
||||
<artifactId>WALA</artifactId>
|
||||
<version>1.4.3-SNAPSHOT</version>
|
||||
<version>1.4.4-SNAPSHOT</version>
|
||||
</parent>
|
||||
<packaging>eclipse-plugin</packaging>
|
||||
<artifactId>com.ibm.wala.core.testdata</artifactId>
|
||||
|
|
|
@ -60,7 +60,7 @@ org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
|
|||
org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
|
||||
org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
|
||||
org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
|
||||
org.eclipse.jdt.core.compiler.problem.missingSerialVersion=ignore
|
||||
org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
|
||||
org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=error
|
||||
org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
|
||||
org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
|
||||
|
|
|
@ -2,11 +2,11 @@ Manifest-Version: 1.0
|
|||
Bundle-ManifestVersion: 2
|
||||
Bundle-Name: %pluginName
|
||||
Bundle-SymbolicName: com.ibm.wala.core.tests;singleton:=true
|
||||
Bundle-Version: 1.4.3.qualifier
|
||||
Bundle-Version: 1.4.4.qualifier
|
||||
Bundle-Vendor: %providerName
|
||||
Require-Bundle: com.ibm.wala.shrike,
|
||||
com.ibm.wala.core,
|
||||
com.ibm.wala.ide.jdt;bundle-version="1.4.3",
|
||||
com.ibm.wala.ide.jdt;bundle-version="1.4.4.qualifier",
|
||||
org.eclipse.core.runtime,
|
||||
com.ibm.wala.core.testdata,
|
||||
org.junit;bundle-version="4.0.0",
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>com.ibm.wala</groupId>
|
||||
<artifactId>WALA</artifactId>
|
||||
<version>1.4.3-SNAPSHOT</version>
|
||||
<version>1.4.4-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>com.ibm.wala.core.tests</artifactId>
|
||||
<packaging>eclipse-plugin</packaging>
|
||||
|
|
|
@ -23,7 +23,6 @@ import com.ibm.wala.classLoader.IMethod;
|
|||
import com.ibm.wala.core.tests.demandpa.AbstractPtrTest;
|
||||
import com.ibm.wala.core.tests.util.TestConstants;
|
||||
import com.ibm.wala.core.tests.util.WalaTestCase;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisCache;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisCacheImpl;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisOptions;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisOptions.ReflectionOptions;
|
||||
|
@ -33,6 +32,7 @@ import com.ibm.wala.ipa.callgraph.CallGraph;
|
|||
import com.ibm.wala.ipa.callgraph.CallGraphBuilder;
|
||||
import com.ibm.wala.ipa.callgraph.CallGraphStats;
|
||||
import com.ibm.wala.ipa.callgraph.Entrypoint;
|
||||
import com.ibm.wala.ipa.callgraph.IAnalysisCacheView;
|
||||
import com.ibm.wala.ipa.callgraph.impl.AllApplicationEntrypoints;
|
||||
import com.ibm.wala.ipa.callgraph.impl.DefaultEntrypoint;
|
||||
import com.ibm.wala.ipa.callgraph.impl.Util;
|
||||
|
@ -275,7 +275,7 @@ public class CallGraphTest extends WalaTestCase {
|
|||
ClassHierarchy cha = ClassHierarchyFactory.make(scope);
|
||||
Iterable<Entrypoint> entrypoints = Util.makeMainEntrypoints(scope, cha, "Ldemandpa/TestArraysCopyOf");
|
||||
AnalysisOptions options = CallGraphTestUtil.makeAnalysisOptions(scope, entrypoints);
|
||||
AnalysisCache cache = new AnalysisCacheImpl();
|
||||
IAnalysisCacheView cache = new AnalysisCacheImpl();
|
||||
CallGraphBuilder<InstanceKey> builder = Util.makeZeroOneContainerCFABuilder(options, cache, cha, scope);
|
||||
CallGraph cg = builder.makeCallGraph(options, null);
|
||||
PointerAnalysis<InstanceKey> pa = builder.getPointerAnalysis();
|
||||
|
@ -307,7 +307,7 @@ public class CallGraphTest extends WalaTestCase {
|
|||
};
|
||||
}
|
||||
|
||||
public static void doCallGraphs(AnalysisOptions options, AnalysisCache cache, IClassHierarchy cha, AnalysisScope scope)
|
||||
public static void doCallGraphs(AnalysisOptions options, IAnalysisCacheView cache, IClassHierarchy cha, AnalysisScope scope)
|
||||
throws IllegalArgumentException, CancelException {
|
||||
doCallGraphs(options, cache, cha, scope, false);
|
||||
}
|
||||
|
@ -318,7 +318,7 @@ public class CallGraphTest extends WalaTestCase {
|
|||
* @throws CancelException
|
||||
* @throws IllegalArgumentException
|
||||
*/
|
||||
public static void doCallGraphs(AnalysisOptions options, AnalysisCache cache, IClassHierarchy cha, AnalysisScope scope,
|
||||
public static void doCallGraphs(AnalysisOptions options, IAnalysisCacheView cache, IClassHierarchy cha, AnalysisScope scope,
|
||||
boolean testPAToString) throws IllegalArgumentException, CancelException {
|
||||
|
||||
// ///////////////
|
||||
|
|
|
@ -12,12 +12,12 @@ package com.ibm.wala.core.tests.callGraph;
|
|||
|
||||
import java.io.IOException;
|
||||
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisCache;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisOptions;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisScope;
|
||||
import com.ibm.wala.ipa.callgraph.CallGraph;
|
||||
import com.ibm.wala.ipa.callgraph.CallGraphBuilder;
|
||||
import com.ibm.wala.ipa.callgraph.Entrypoint;
|
||||
import com.ibm.wala.ipa.callgraph.IAnalysisCacheView;
|
||||
import com.ibm.wala.ipa.callgraph.impl.Util;
|
||||
import com.ibm.wala.ipa.callgraph.propagation.InstanceKey;
|
||||
import com.ibm.wala.ipa.callgraph.propagation.SSAPropagationCallGraphBuilder;
|
||||
|
@ -55,7 +55,7 @@ public class CallGraphTestUtil {
|
|||
return scope;
|
||||
}
|
||||
|
||||
public static CallGraph buildRTA(AnalysisOptions options, AnalysisCache cache, IClassHierarchy cha, AnalysisScope scope)
|
||||
public static CallGraph buildRTA(AnalysisOptions options, IAnalysisCacheView cache, IClassHierarchy cha, AnalysisScope scope)
|
||||
throws IllegalArgumentException, CancelException {
|
||||
StopwatchGC S = null;
|
||||
if (CHECK_FOOTPRINT) {
|
||||
|
@ -73,7 +73,7 @@ public class CallGraphTestUtil {
|
|||
return cg;
|
||||
}
|
||||
|
||||
public static CallGraph buildZeroCFA(AnalysisOptions options, AnalysisCache cache, IClassHierarchy cha, AnalysisScope scope,
|
||||
public static CallGraph buildZeroCFA(AnalysisOptions options, IAnalysisCacheView cache, IClassHierarchy cha, AnalysisScope scope,
|
||||
boolean testPAtoString) throws IllegalArgumentException, CancelException {
|
||||
StopwatchGC S = null;
|
||||
if (CHECK_FOOTPRINT) {
|
||||
|
@ -94,7 +94,7 @@ public class CallGraphTestUtil {
|
|||
return cg;
|
||||
}
|
||||
|
||||
public static CallGraph buildVanillaZeroOneCFA(AnalysisOptions options, AnalysisCache cache, IClassHierarchy cha,
|
||||
public static CallGraph buildVanillaZeroOneCFA(AnalysisOptions options, IAnalysisCacheView cache, IClassHierarchy cha,
|
||||
AnalysisScope scope) throws IllegalArgumentException, CancelException {
|
||||
StopwatchGC S = null;
|
||||
if (CHECK_FOOTPRINT) {
|
||||
|
@ -112,7 +112,7 @@ public class CallGraphTestUtil {
|
|||
return cg;
|
||||
}
|
||||
|
||||
public static CallGraph buildZeroOneCFA(AnalysisOptions options, AnalysisCache cache, IClassHierarchy cha, AnalysisScope scope,
|
||||
public static CallGraph buildZeroOneCFA(AnalysisOptions options, IAnalysisCacheView cache, IClassHierarchy cha, AnalysisScope scope,
|
||||
boolean testPAtoString) throws IllegalArgumentException, CancelException {
|
||||
StopwatchGC S = null;
|
||||
if (CHECK_FOOTPRINT) {
|
||||
|
@ -133,7 +133,7 @@ public class CallGraphTestUtil {
|
|||
return cg;
|
||||
}
|
||||
|
||||
public static CallGraph buildZeroContainerCFA(AnalysisOptions options, AnalysisCache cache, IClassHierarchy cha,
|
||||
public static CallGraph buildZeroContainerCFA(AnalysisOptions options, IAnalysisCacheView cache, IClassHierarchy cha,
|
||||
AnalysisScope scope) throws IllegalArgumentException, CancelException {
|
||||
StopwatchGC S = null;
|
||||
if (CHECK_FOOTPRINT) {
|
||||
|
@ -151,7 +151,7 @@ public class CallGraphTestUtil {
|
|||
return cg;
|
||||
}
|
||||
|
||||
public static CallGraph buildZeroOneContainerCFA(AnalysisOptions options, AnalysisCache cache, IClassHierarchy cha,
|
||||
public static CallGraph buildZeroOneContainerCFA(AnalysisOptions options, IAnalysisCacheView cache, IClassHierarchy cha,
|
||||
AnalysisScope scope) throws IllegalArgumentException, CancelException {
|
||||
StopwatchGC S = null;
|
||||
if (CHECK_FOOTPRINT) {
|
||||
|
|
|
@ -19,12 +19,12 @@ import org.junit.Test;
|
|||
|
||||
import com.ibm.wala.analysis.reflection.java7.MethodHandles;
|
||||
import com.ibm.wala.core.tests.shrike.DynamicCallGraphTestBase;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisCache;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisCacheImpl;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisOptions;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisScope;
|
||||
import com.ibm.wala.ipa.callgraph.CallGraph;
|
||||
import com.ibm.wala.ipa.callgraph.Entrypoint;
|
||||
import com.ibm.wala.ipa.callgraph.IAnalysisCacheView;
|
||||
import com.ibm.wala.ipa.callgraph.impl.Util;
|
||||
import com.ibm.wala.ipa.callgraph.propagation.SSAPropagationCallGraphBuilder;
|
||||
import com.ibm.wala.ipa.callgraph.propagation.cfa.DelegatingSSAContextInterpreter;
|
||||
|
@ -57,7 +57,7 @@ public class Java7CallGraphTest extends DynamicCallGraphTestBase {
|
|||
ClassHierarchy cha = ClassHierarchyFactory.make(scope);
|
||||
Iterable<Entrypoint> entrypoints = com.ibm.wala.ipa.callgraph.impl.Util.makeMainEntrypoints(scope, cha, "Lpack/ocamljavaMain");
|
||||
AnalysisOptions options = CallGraphTestUtil.makeAnalysisOptions(scope, entrypoints);
|
||||
AnalysisCache cache = new AnalysisCacheImpl();
|
||||
IAnalysisCacheView cache = new AnalysisCacheImpl();
|
||||
|
||||
SSAPropagationCallGraphBuilder builder = Util.makeZeroOneContainerCFABuilder(options, cache, cha, scope);
|
||||
|
||||
|
|
|
@ -25,7 +25,6 @@ import com.ibm.wala.classLoader.ClassLoaderFactoryImpl;
|
|||
import com.ibm.wala.core.tests.callGraph.CallGraphTestUtil;
|
||||
import com.ibm.wala.core.tests.util.TestConstants;
|
||||
import com.ibm.wala.core.tests.util.WalaTestCase;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisCache;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisCacheImpl;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisOptions;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisScope;
|
||||
|
@ -33,6 +32,7 @@ import com.ibm.wala.ipa.callgraph.CGNode;
|
|||
import com.ibm.wala.ipa.callgraph.CallGraph;
|
||||
import com.ibm.wala.ipa.callgraph.CallGraphBuilder;
|
||||
import com.ibm.wala.ipa.callgraph.Entrypoint;
|
||||
import com.ibm.wala.ipa.callgraph.IAnalysisCacheView;
|
||||
import com.ibm.wala.ipa.callgraph.impl.Util;
|
||||
import com.ibm.wala.ipa.callgraph.propagation.InstanceKey;
|
||||
import com.ibm.wala.ipa.cha.ClassHierarchy;
|
||||
|
@ -62,7 +62,7 @@ public class NullPointerExceptionInterTest extends WalaTestCase {
|
|||
|
||||
private static CallGraph cg;
|
||||
|
||||
private static AnalysisCache cache;
|
||||
private static IAnalysisCacheView cache;
|
||||
|
||||
@BeforeClass
|
||||
public static void beforeClass() throws Exception {
|
||||
|
|
|
@ -12,6 +12,7 @@ package com.ibm.wala.core.tests.cfg.exc.intra;
|
|||
|
||||
import java.util.Collection;
|
||||
import java.util.Iterator;
|
||||
|
||||
import org.junit.AfterClass;
|
||||
import org.junit.Assert;
|
||||
import org.junit.BeforeClass;
|
||||
|
|
|
@ -37,7 +37,6 @@ public final class TwoLevelVectorTest extends WalaTestCase {
|
|||
|
||||
// --- Test cases
|
||||
|
||||
@SuppressWarnings("static-method")
|
||||
@Test public void testCase1() {
|
||||
final TwoLevelVector<Integer> tlVector = new TwoLevelVector<>();
|
||||
tlVector.iterator();
|
||||
|
|
|
@ -56,7 +56,6 @@ import com.ibm.wala.demandpa.alg.statemachine.StateMachineFactory;
|
|||
import com.ibm.wala.demandpa.flowgraph.IFlowLabel;
|
||||
import com.ibm.wala.demandpa.util.MemoryAccessMap;
|
||||
import com.ibm.wala.demandpa.util.PABasedMemoryAccessMap;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisCache;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisCacheImpl;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisOptions;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisScope;
|
||||
|
@ -64,6 +63,7 @@ import com.ibm.wala.ipa.callgraph.CGNode;
|
|||
import com.ibm.wala.ipa.callgraph.CallGraph;
|
||||
import com.ibm.wala.ipa.callgraph.CallGraphBuilder;
|
||||
import com.ibm.wala.ipa.callgraph.Entrypoint;
|
||||
import com.ibm.wala.ipa.callgraph.IAnalysisCacheView;
|
||||
import com.ibm.wala.ipa.callgraph.impl.Util;
|
||||
import com.ibm.wala.ipa.callgraph.propagation.HeapModel;
|
||||
import com.ibm.wala.ipa.callgraph.propagation.InstanceKey;
|
||||
|
@ -235,7 +235,7 @@ public abstract class AbstractPtrTest {
|
|||
Iterable<Entrypoint> entrypoints = com.ibm.wala.ipa.callgraph.impl.Util.makeMainEntrypoints(scope, cha, mainClass);
|
||||
AnalysisOptions options = CallGraphTestUtil.makeAnalysisOptions(scope, entrypoints);
|
||||
|
||||
final AnalysisCache analysisCache = new AnalysisCacheImpl();
|
||||
final IAnalysisCacheView analysisCache = new AnalysisCacheImpl();
|
||||
CallGraphBuilder<InstanceKey> cgBuilder = Util.makeZeroCFABuilder(options, analysisCache, cha, scope);
|
||||
final CallGraph cg = cgBuilder.makeCallGraph(options, null);
|
||||
// System.err.println(cg.toString());
|
||||
|
|
|
@ -16,7 +16,6 @@ import com.ibm.wala.analysis.exceptionanalysis.ExceptionAnalysis;
|
|||
import com.ibm.wala.analysis.exceptionanalysis.ExceptionAnalysis2EdgeFilter;
|
||||
import com.ibm.wala.cfg.ControlFlowGraph;
|
||||
import com.ibm.wala.core.tests.util.TestConstants;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisCache;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisCacheImpl;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisOptions;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisScope;
|
||||
|
@ -25,6 +24,7 @@ import com.ibm.wala.ipa.callgraph.CallGraph;
|
|||
import com.ibm.wala.ipa.callgraph.CallGraphBuilder;
|
||||
import com.ibm.wala.ipa.callgraph.CallGraphBuilderCancelException;
|
||||
import com.ibm.wala.ipa.callgraph.Entrypoint;
|
||||
import com.ibm.wala.ipa.callgraph.IAnalysisCacheView;
|
||||
import com.ibm.wala.ipa.callgraph.impl.Util;
|
||||
import com.ibm.wala.ipa.callgraph.propagation.InstanceKey;
|
||||
import com.ibm.wala.ipa.callgraph.propagation.PointerAnalysis;
|
||||
|
@ -81,7 +81,7 @@ public class ExceptionAnalysis2EdgeFilterTest {
|
|||
options.getSSAOptions().setPiNodePolicy(new AllIntegerDueToBranchePiPolicy());
|
||||
|
||||
ReferenceCleanser.registerClassHierarchy(cha);
|
||||
AnalysisCache cache = new AnalysisCacheImpl();
|
||||
IAnalysisCacheView cache = new AnalysisCacheImpl();
|
||||
ReferenceCleanser.registerCache(cache);
|
||||
CallGraphBuilder<InstanceKey> builder = Util.makeZeroCFABuilder(options, cache, cha, scope);
|
||||
cg = builder.makeCallGraph(options, null);
|
||||
|
|
|
@ -18,7 +18,6 @@ import com.ibm.wala.analysis.exceptionanalysis.ExceptionAnalysis;
|
|||
import com.ibm.wala.analysis.exceptionanalysis.IntraproceduralExceptionAnalysis;
|
||||
import com.ibm.wala.classLoader.CallSiteReference;
|
||||
import com.ibm.wala.core.tests.util.TestConstants;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisCache;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisCacheImpl;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisOptions;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisScope;
|
||||
|
@ -27,6 +26,7 @@ import com.ibm.wala.ipa.callgraph.CallGraph;
|
|||
import com.ibm.wala.ipa.callgraph.CallGraphBuilder;
|
||||
import com.ibm.wala.ipa.callgraph.CallGraphBuilderCancelException;
|
||||
import com.ibm.wala.ipa.callgraph.Entrypoint;
|
||||
import com.ibm.wala.ipa.callgraph.IAnalysisCacheView;
|
||||
import com.ibm.wala.ipa.callgraph.impl.Util;
|
||||
import com.ibm.wala.ipa.callgraph.propagation.InstanceKey;
|
||||
import com.ibm.wala.ipa.callgraph.propagation.PointerAnalysis;
|
||||
|
@ -75,7 +75,7 @@ public class ExceptionAnalysisTest {
|
|||
options.getSSAOptions().setPiNodePolicy(new AllIntegerDueToBranchePiPolicy());
|
||||
|
||||
ReferenceCleanser.registerClassHierarchy(cha);
|
||||
AnalysisCache cache = new AnalysisCacheImpl();
|
||||
IAnalysisCacheView cache = new AnalysisCacheImpl();
|
||||
ReferenceCleanser.registerCache(cache);
|
||||
CallGraphBuilder<InstanceKey> builder = Util.makeZeroCFABuilder(options, cache, cha, scope);
|
||||
cg = builder.makeCallGraph(options, null);
|
||||
|
|
|
@ -26,6 +26,7 @@ import com.ibm.wala.core.tests.util.TestAssertions;
|
|||
import com.ibm.wala.core.tests.util.WalaTestCase;
|
||||
import com.ibm.wala.ipa.cha.ClassHierarchyException;
|
||||
import com.ibm.wala.ipa.cha.IClassHierarchy;
|
||||
import com.ibm.wala.shrikeBT.IInstruction;
|
||||
import com.ibm.wala.shrikeCT.InvalidClassFileException;
|
||||
import com.ibm.wala.types.ClassLoaderReference;
|
||||
import com.ibm.wala.types.FieldReference;
|
||||
|
@ -96,9 +97,9 @@ public class AnnotationTest extends WalaTestCase {
|
|||
BytecodeClass<?> bcClassUnderTest = (BytecodeClass<?>) classUnderTest;
|
||||
|
||||
Collection<Annotation> runtimeInvisibleAnnotations = bcClassUnderTest.getAnnotations(true);
|
||||
harness.assertEqualCollections(expectedRuntimeInvisibleAnnotations, runtimeInvisibleAnnotations);
|
||||
|
||||
Collection<Annotation> runtimeVisibleAnnotations = bcClassUnderTest.getAnnotations(false);
|
||||
|
||||
harness.assertEqualCollections(expectedRuntimeInvisibleAnnotations, runtimeInvisibleAnnotations);
|
||||
harness.assertEqualCollections(expectedRuntimeVisibleAnnotations, runtimeVisibleAnnotations);
|
||||
}
|
||||
|
||||
|
@ -120,7 +121,7 @@ public class AnnotationTest extends WalaTestCase {
|
|||
IMethod methodUnderTest = cha.resolveMethod(methodRefUnderTest);
|
||||
harness.assertNotNull(methodRefUnderTest.toString() + " not found", methodUnderTest);
|
||||
harness.assertTrue(methodUnderTest + " must be IBytecodeMethod", methodUnderTest instanceof IBytecodeMethod);
|
||||
IBytecodeMethod bcMethodUnderTest = (IBytecodeMethod) methodUnderTest;
|
||||
IBytecodeMethod<IInstruction> bcMethodUnderTest = (IBytecodeMethod<IInstruction>) methodUnderTest;
|
||||
|
||||
Collection<Annotation> runtimeInvisibleAnnotations = bcMethodUnderTest.getAnnotations(true);
|
||||
harness.assertEquals(1, runtimeInvisibleAnnotations.size());
|
||||
|
@ -182,7 +183,7 @@ public class AnnotationTest extends WalaTestCase {
|
|||
IMethod methodUnderTest = cha.resolveMethod(methodRefUnderTest);
|
||||
harness.assertTrue(methodRefUnderTest.toString() + " not found", methodUnderTest != null);
|
||||
harness.assertTrue(methodUnderTest + " must be bytecode method", methodUnderTest instanceof IBytecodeMethod);
|
||||
IBytecodeMethod IBytecodeMethodUnderTest = (IBytecodeMethod) methodUnderTest;
|
||||
IBytecodeMethod<IInstruction> IBytecodeMethodUnderTest = (IBytecodeMethod<IInstruction>) methodUnderTest;
|
||||
|
||||
Collection<Annotation>[] parameterAnnotations = IBytecodeMethodUnderTest.getParameterAnnotations();
|
||||
harness.assertEquals(expected.length, parameterAnnotations.length);
|
||||
|
|
|
@ -19,7 +19,6 @@ import com.ibm.wala.cfg.ControlFlowGraph;
|
|||
import com.ibm.wala.classLoader.IMethod;
|
||||
import com.ibm.wala.classLoader.Language;
|
||||
import com.ibm.wala.core.tests.util.WalaTestCase;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisCache;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisOptions;
|
||||
import com.ibm.wala.ipa.callgraph.IAnalysisCacheView;
|
||||
import com.ibm.wala.ipa.callgraph.impl.Everywhere;
|
||||
|
@ -68,9 +67,9 @@ public class CFGTest extends WalaTestCase {
|
|||
Assertions.UNREACHABLE("could not resolve " + mr);
|
||||
}
|
||||
AnalysisOptions options = new AnalysisOptions();
|
||||
AnalysisCache cache = makeAnalysisCache();
|
||||
options.getSSAOptions().setPiNodePolicy(SSAOptions.getAllBuiltInPiNodes());
|
||||
IR ir = cache.getSSACache().findOrCreateIR(m, Everywhere.EVERYWHERE, options.getSSAOptions());
|
||||
IAnalysisCacheView cache = makeAnalysisCache(options.getSSAOptions());
|
||||
IR ir = cache.getIR(m, Everywhere.EVERYWHERE);
|
||||
|
||||
ControlFlowGraph<SSAInstruction, ISSABasicBlock> cfg = ir.getControlFlowGraph();
|
||||
try {
|
||||
|
@ -112,9 +111,9 @@ public class CFGTest extends WalaTestCase {
|
|||
MethodReference mr = StringStuff.makeMethodReference("hello.Hello.main([Ljava/lang/String;)V");
|
||||
|
||||
IMethod m = cha.resolveMethod(mr);
|
||||
AnalysisCache cache = makeAnalysisCache();
|
||||
IAnalysisCacheView cache = makeAnalysisCache();
|
||||
IR irBefore = cache.getIR(m);
|
||||
cache.getSSACache().wipe();
|
||||
cache.clear();
|
||||
IR irAfter = cache.getIR(m);
|
||||
for (int i = 0; i < irBefore.getInstructions().length; i++) {
|
||||
System.out.println(irBefore.getInstructions()[i]);
|
||||
|
|
|
@ -18,9 +18,9 @@ import org.junit.Test;
|
|||
|
||||
import com.ibm.wala.classLoader.IMethod;
|
||||
import com.ibm.wala.core.tests.util.WalaTestCase;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisCache;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisOptions;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisScope;
|
||||
import com.ibm.wala.ipa.callgraph.IAnalysisCacheView;
|
||||
import com.ibm.wala.ipa.callgraph.impl.Everywhere;
|
||||
import com.ibm.wala.ipa.cha.ClassHierarchyException;
|
||||
import com.ibm.wala.ipa.cha.IClassHierarchy;
|
||||
|
@ -61,12 +61,12 @@ public class DeterministicIRTest extends WalaTestCase {
|
|||
* @param method
|
||||
*/
|
||||
private IR doMethod(MethodReference method) {
|
||||
AnalysisCache cache = makeAnalysisCache();
|
||||
IAnalysisCacheView cache = makeAnalysisCache();
|
||||
Assert.assertNotNull("method not found", method);
|
||||
IMethod imethod = cha.resolveMethod(method);
|
||||
Assert.assertNotNull("imethod not found", imethod);
|
||||
IR ir1 = cache.getIRFactory().makeIR(imethod, Everywhere.EVERYWHERE, options.getSSAOptions());
|
||||
cache.getSSACache().wipe();
|
||||
cache.clear();
|
||||
|
||||
checkNotAllNull(ir1.getInstructions());
|
||||
checkNoneNull(ir1.iterateAllInstructions());
|
||||
|
@ -79,7 +79,7 @@ public class DeterministicIRTest extends WalaTestCase {
|
|||
}
|
||||
|
||||
IR ir2 = cache.getIRFactory().makeIR(imethod, Everywhere.EVERYWHERE, options.getSSAOptions());
|
||||
cache.getSSACache().wipe();
|
||||
cache.clear();
|
||||
|
||||
try {
|
||||
GraphIntegrity.check(ir2.getControlFlowGraph());
|
||||
|
|
|
@ -21,10 +21,10 @@ import com.ibm.wala.classLoader.IClass;
|
|||
import com.ibm.wala.classLoader.IMethod;
|
||||
import com.ibm.wala.core.tests.util.TestConstants;
|
||||
import com.ibm.wala.core.tests.util.WalaTestCase;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisCache;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisCacheImpl;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisOptions;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisScope;
|
||||
import com.ibm.wala.ipa.callgraph.IAnalysisCacheView;
|
||||
import com.ibm.wala.ipa.callgraph.impl.Everywhere;
|
||||
import com.ibm.wala.ipa.cha.ClassHierarchy;
|
||||
import com.ibm.wala.ipa.cha.ClassHierarchyException;
|
||||
|
@ -57,8 +57,6 @@ public class LocalNamesTest extends WalaTestCase {
|
|||
|
||||
private static AnalysisOptions options;
|
||||
|
||||
private static AnalysisCache cache;
|
||||
|
||||
public static void main(String[] args) {
|
||||
justThisTest(LocalNamesTest.class);
|
||||
}
|
||||
|
@ -73,7 +71,6 @@ public class LocalNamesTest extends WalaTestCase {
|
|||
(new FileProvider()).getFile("J2SEClassHierarchyExclusions.txt"), MY_CLASSLOADER);
|
||||
|
||||
options = new AnalysisOptions(scope, null);
|
||||
cache = new AnalysisCacheImpl();
|
||||
ClassLoaderFactory factory = new ClassLoaderFactoryImpl(scope.getExclusions());
|
||||
|
||||
try {
|
||||
|
@ -93,7 +90,6 @@ public class LocalNamesTest extends WalaTestCase {
|
|||
scope = null;
|
||||
cha = null;
|
||||
options = null;
|
||||
cache = null;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -113,7 +109,10 @@ public class LocalNamesTest extends WalaTestCase {
|
|||
|
||||
AnalysisOptions options = new AnalysisOptions();
|
||||
options.getSSAOptions().setPiNodePolicy(SSAOptions.getAllBuiltInPiNodes());
|
||||
IR ir = cache.getSSACache().findOrCreateIR(m, Everywhere.EVERYWHERE, options.getSSAOptions());
|
||||
|
||||
IAnalysisCacheView cache = new AnalysisCacheImpl(options.getSSAOptions());
|
||||
|
||||
IR ir = cache.getIR(m, Everywhere.EVERYWHERE);
|
||||
|
||||
for (int offsetIndex = 0; offsetIndex < ir.getInstructions().length; offsetIndex++) {
|
||||
SSAInstruction instr = ir.getInstructions()[offsetIndex];
|
||||
|
@ -141,6 +140,7 @@ public class LocalNamesTest extends WalaTestCase {
|
|||
Assert.assertNotNull("method not found", mref);
|
||||
IMethod imethod = cha.resolveMethod(mref);
|
||||
Assert.assertNotNull("imethod not found", imethod);
|
||||
IAnalysisCacheView cache = new AnalysisCacheImpl(options.getSSAOptions());
|
||||
IR ir = cache.getIRFactory().makeIR(imethod, Everywhere.EVERYWHERE, options.getSSAOptions());
|
||||
options.getSSAOptions().setPiNodePolicy(save);
|
||||
|
||||
|
@ -170,6 +170,7 @@ public class LocalNamesTest extends WalaTestCase {
|
|||
Assert.assertNotNull("method not found", mref);
|
||||
IMethod imethod = cha.resolveMethod(mref);
|
||||
Assert.assertNotNull("imethod not found", imethod);
|
||||
IAnalysisCacheView cache = new AnalysisCacheImpl(options.getSSAOptions());
|
||||
IR ir = cache.getIRFactory().makeIR(imethod, Everywhere.EVERYWHERE, options.getSSAOptions());
|
||||
options.getSSAOptions().setPiNodePolicy(save);
|
||||
|
||||
|
|
|
@ -19,12 +19,13 @@ import org.junit.runner.JUnitCore;
|
|||
|
||||
import com.ibm.wala.core.tests.callGraph.CallGraphTestUtil;
|
||||
import com.ibm.wala.core.tests.ir.AnnotationTest;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisCache;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisCacheImpl;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisScope;
|
||||
import com.ibm.wala.ipa.callgraph.IAnalysisCacheView;
|
||||
import com.ibm.wala.ipa.cha.ClassHierarchyException;
|
||||
import com.ibm.wala.ipa.cha.ClassHierarchyFactory;
|
||||
import com.ibm.wala.ipa.cha.IClassHierarchy;
|
||||
import com.ibm.wala.ssa.SSAOptions;
|
||||
import com.ibm.wala.util.config.AnalysisScopeReader;
|
||||
import com.ibm.wala.util.heapTrace.HeapTracer;
|
||||
import com.ibm.wala.util.io.FileProvider;
|
||||
|
@ -67,8 +68,12 @@ public abstract class WalaTestCase {
|
|||
}
|
||||
}
|
||||
|
||||
protected AnalysisCache makeAnalysisCache() {
|
||||
return new AnalysisCacheImpl();
|
||||
protected IAnalysisCacheView makeAnalysisCache() {
|
||||
return makeAnalysisCache(SSAOptions.defaultOptions());
|
||||
}
|
||||
|
||||
protected IAnalysisCacheView makeAnalysisCache(SSAOptions ssaOptions) {
|
||||
return new AnalysisCacheImpl(ssaOptions);
|
||||
}
|
||||
|
||||
public static IClassHierarchy makeCHA() throws IOException, ClassHierarchyException {
|
||||
|
|
|
@ -14,10 +14,10 @@ import java.io.IOException;
|
|||
|
||||
import com.ibm.wala.classLoader.IClass;
|
||||
import com.ibm.wala.classLoader.IMethod;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisCache;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisCacheImpl;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisOptions;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisScope;
|
||||
import com.ibm.wala.ipa.callgraph.IAnalysisCacheView;
|
||||
import com.ibm.wala.ipa.callgraph.impl.Everywhere;
|
||||
import com.ibm.wala.ipa.cha.ClassHierarchy;
|
||||
import com.ibm.wala.ipa.cha.ClassHierarchyException;
|
||||
|
@ -68,16 +68,16 @@ public class ConstructAllIRs {
|
|||
|
||||
// register class hierarchy and AnalysisCache with the reference cleanser, so that their soft references are appropriately wiped
|
||||
ReferenceCleanser.registerClassHierarchy(cha);
|
||||
AnalysisCache cache = new AnalysisCacheImpl();
|
||||
ReferenceCleanser.registerCache(cache);
|
||||
AnalysisOptions options = new AnalysisOptions();
|
||||
IAnalysisCacheView cache = new AnalysisCacheImpl(options.getSSAOptions());
|
||||
ReferenceCleanser.registerCache(cache);
|
||||
|
||||
System.out.print("building IRs...");
|
||||
for (IClass klass : cha) {
|
||||
for (IMethod method : klass.getDeclaredMethods()) {
|
||||
wipeSoftCaches();
|
||||
// construct an IR; it will be cached
|
||||
cache.getSSACache().findOrCreateIR(method, Everywhere.EVERYWHERE, options.getSSAOptions());
|
||||
cache.getIR(method, Everywhere.EVERYWHERE);
|
||||
}
|
||||
}
|
||||
System.out.println("done");
|
||||
|
|
|
@ -74,6 +74,8 @@ public class ContextSensitiveReachingDefs {
|
|||
private class ReachingDefsDomain extends MutableMapping<Pair<CGNode, Integer>> implements
|
||||
TabulationDomain<Pair<CGNode, Integer>, BasicBlockInContext<IExplodedBasicBlock>> {
|
||||
|
||||
private static final long serialVersionUID = 4014252274660361965L;
|
||||
|
||||
@Override
|
||||
public boolean hasPriorityOver(PathEdge<BasicBlockInContext<IExplodedBasicBlock>> p1,
|
||||
PathEdge<BasicBlockInContext<IExplodedBasicBlock>> p2) {
|
||||
|
|
|
@ -78,6 +78,8 @@ public class StaticInitializer {
|
|||
private class InitializerDomain extends MutableMapping<IClass> implements
|
||||
TabulationDomain<IClass, BasicBlockInContext<IExplodedBasicBlock>> {
|
||||
|
||||
private static final long serialVersionUID = -1897766113586243833L;
|
||||
|
||||
@Override
|
||||
public boolean hasPriorityOver(PathEdge<BasicBlockInContext<IExplodedBasicBlock>> p1,
|
||||
PathEdge<BasicBlockInContext<IExplodedBasicBlock>> p2) {
|
||||
|
|
|
@ -18,10 +18,10 @@ import com.ibm.wala.cfg.cdg.ControlDependenceGraph;
|
|||
import com.ibm.wala.classLoader.IMethod;
|
||||
import com.ibm.wala.core.tests.callGraph.CallGraphTestUtil;
|
||||
import com.ibm.wala.examples.properties.WalaExamplesProperties;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisCache;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisCacheImpl;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisOptions;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisScope;
|
||||
import com.ibm.wala.ipa.callgraph.IAnalysisCacheView;
|
||||
import com.ibm.wala.ipa.callgraph.impl.Everywhere;
|
||||
import com.ibm.wala.ipa.cha.ClassHierarchy;
|
||||
import com.ibm.wala.ipa.cha.ClassHierarchyFactory;
|
||||
|
@ -101,8 +101,8 @@ public class PDFControlDependenceGraph {
|
|||
}
|
||||
AnalysisOptions options = new AnalysisOptions();
|
||||
options.getSSAOptions().setPiNodePolicy(SSAOptions.getAllBuiltInPiNodes());
|
||||
AnalysisCache cache = new AnalysisCacheImpl();
|
||||
IR ir = cache.getSSACache().findOrCreateIR(m, Everywhere.EVERYWHERE, options.getSSAOptions() );
|
||||
IAnalysisCacheView cache = new AnalysisCacheImpl(options.getSSAOptions());
|
||||
IR ir = cache.getIR(m, Everywhere.EVERYWHERE );
|
||||
|
||||
if (ir == null) {
|
||||
Assertions.UNREACHABLE("Null IR for " + m);
|
||||
|
|
|
@ -17,10 +17,10 @@ import java.util.Properties;
|
|||
import com.ibm.wala.classLoader.IMethod;
|
||||
import com.ibm.wala.core.tests.callGraph.CallGraphTestUtil;
|
||||
import com.ibm.wala.examples.properties.WalaExamplesProperties;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisCache;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisCacheImpl;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisOptions;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisScope;
|
||||
import com.ibm.wala.ipa.callgraph.IAnalysisCacheView;
|
||||
import com.ibm.wala.ipa.callgraph.impl.Everywhere;
|
||||
import com.ibm.wala.ipa.cha.ClassHierarchy;
|
||||
import com.ibm.wala.ipa.cha.ClassHierarchyFactory;
|
||||
|
@ -96,10 +96,10 @@ public class PDFWalaIR {
|
|||
options.getSSAOptions().setPiNodePolicy(SSAOptions.getAllBuiltInPiNodes());
|
||||
|
||||
// Create an object which caches IRs and related information, reconstructing them lazily on demand.
|
||||
AnalysisCache cache = new AnalysisCacheImpl();
|
||||
IAnalysisCacheView cache = new AnalysisCacheImpl(options.getSSAOptions());
|
||||
|
||||
// Build the IR and cache it.
|
||||
IR ir = cache.getSSACache().findOrCreateIR(m, Everywhere.EVERYWHERE, options.getSSAOptions());
|
||||
IR ir = cache.getIR(m, Everywhere.EVERYWHERE);
|
||||
|
||||
if (ir == null) {
|
||||
Assertions.UNREACHABLE("Null IR for " + m);
|
||||
|
|
|
@ -18,15 +18,16 @@ import java.util.Properties;
|
|||
|
||||
import com.ibm.wala.classLoader.IClass;
|
||||
import com.ibm.wala.classLoader.IMethod;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisCache;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisCacheImpl;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisOptions;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisOptions.ReflectionOptions;
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisScope;
|
||||
import com.ibm.wala.ipa.callgraph.CallGraph;
|
||||
import com.ibm.wala.ipa.callgraph.CallGraphBuilder;
|
||||
import com.ibm.wala.ipa.callgraph.CallGraphBuilderCancelException;
|
||||
import com.ibm.wala.ipa.callgraph.CallGraphStats;
|
||||
import com.ibm.wala.ipa.callgraph.Entrypoint;
|
||||
import com.ibm.wala.ipa.callgraph.IAnalysisCacheView;
|
||||
import com.ibm.wala.ipa.callgraph.impl.DefaultEntrypoint;
|
||||
import com.ibm.wala.ipa.callgraph.impl.Util;
|
||||
import com.ibm.wala.ipa.callgraph.propagation.InstanceKey;
|
||||
|
@ -80,8 +81,8 @@ public class ScopeFileCallGraph {
|
|||
Iterable<Entrypoint> entrypoints = entryClass != null ? makePublicEntrypoints(cha, entryClass) : Util.makeMainEntrypoints(scope, cha, mainClass);
|
||||
options.setEntrypoints(entrypoints);
|
||||
// you can dial down reflection handling if you like
|
||||
// options.setReflectionOptions(ReflectionOptions.NONE);
|
||||
AnalysisCache cache = new AnalysisCacheImpl();
|
||||
options.setReflectionOptions(ReflectionOptions.NONE);
|
||||
IAnalysisCacheView cache = new AnalysisCacheImpl();
|
||||
// other builders can be constructed with different Util methods
|
||||
CallGraphBuilder<InstanceKey> builder = Util.makeZeroOneContainerCFABuilder(options, cache, cha, scope);
|
||||
// CallGraphBuilder builder = Util.makeNCFABuilder(2, options, cache, cha, scope);
|
||||
|
|
|
@ -70,7 +70,7 @@ org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
|
|||
org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
|
||||
org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
|
||||
org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
|
||||
org.eclipse.jdt.core.compiler.problem.missingSerialVersion=ignore
|
||||
org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
|
||||
org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
|
||||
org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
|
||||
org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
|
||||
|
@ -119,7 +119,7 @@ org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverridin
|
|||
org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore
|
||||
org.eclipse.jdt.core.compiler.problem.unusedImport=error
|
||||
org.eclipse.jdt.core.compiler.problem.unusedLabel=error
|
||||
org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
|
||||
org.eclipse.jdt.core.compiler.problem.unusedLocal=error
|
||||
org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
|
||||
org.eclipse.jdt.core.compiler.problem.unusedParameter=error
|
||||
org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
|
||||
|
|
|
@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2
|
|||
Eclipse-LazyStart: true
|
||||
Bundle-Name: %pluginName
|
||||
Bundle-SymbolicName: com.ibm.wala.core
|
||||
Bundle-Version: 1.4.3.qualifier
|
||||
Bundle-Version: 1.4.4.qualifier
|
||||
Bundle-Vendor: %providerName
|
||||
Bundle-Localization: plugin
|
||||
Require-Bundle: com.ibm.wala.shrike,
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>com.ibm.wala</groupId>
|
||||
<artifactId>com.ibm.wala.core</artifactId>
|
||||
<version>1.4.3-SNAPSHOT</version>
|
||||
<version>1.4.4-SNAPSHOT</version>
|
||||
<packaging>jar</packaging>
|
||||
<name>WALA Core</name>
|
||||
<description>Core WALA analysis libraries</description>
|
||||
|
@ -45,12 +45,12 @@
|
|||
<dependency>
|
||||
<groupId>com.ibm.wala</groupId>
|
||||
<artifactId>com.ibm.wala.util</artifactId>
|
||||
<version>1.4.3-SNAPSHOT</version>
|
||||
<version>1.4.4-SNAPSHOT</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.ibm.wala</groupId>
|
||||
<artifactId>com.ibm.wala.shrike</artifactId>
|
||||
<version>1.4.3-SNAPSHOT</version>
|
||||
<version>1.4.4-SNAPSHOT</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<artifactId>WALA</artifactId>
|
||||
<groupId>com.ibm.wala</groupId>
|
||||
<version>1.4.3-SNAPSHOT</version>
|
||||
<version>1.4.4-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>com.ibm.wala.core</artifactId>
|
||||
<packaging>eclipse-plugin</packaging>
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue