Merge branch 'master' of https://github.com/wala/WALA
This commit is contained in:
commit
6c217a7ee4
|
@ -180,7 +180,6 @@ import com.ibm.wala.util.debug.Assertions;
|
||||||
// * boxing (YUCK). see resolveBoxing()
|
// * boxing (YUCK). see resolveBoxing()
|
||||||
// * enums (probably in simplename or something. but using resolveConstantExpressionValue() possible)
|
// * enums (probably in simplename or something. but using resolveConstantExpressionValue() possible)
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
|
||||||
public abstract class JDTJava2CAstTranslator<T extends Position> {
|
public abstract class JDTJava2CAstTranslator<T extends Position> {
|
||||||
protected boolean dump = false;
|
protected boolean dump = false;
|
||||||
|
|
||||||
|
@ -2371,7 +2370,7 @@ public abstract class JDTJava2CAstTranslator<T extends Position> {
|
||||||
|
|
||||||
// First compute the control flow edges for the various case labels
|
// First compute the control flow edges for the various case labels
|
||||||
for (int i = 0; i < cases.size(); i++) {
|
for (int i = 0; i < cases.size(); i++) {
|
||||||
Statement se = (Statement) cases.get(i);
|
Statement se = cases.get(i);
|
||||||
if (se instanceof SwitchCase) {
|
if (se instanceof SwitchCase) {
|
||||||
SwitchCase c = (SwitchCase) se;
|
SwitchCase c = (SwitchCase) se;
|
||||||
|
|
||||||
|
|
|
@ -22,12 +22,7 @@
|
||||||
<classpathentry combineaccessrules="false" kind="src" path="/com.ibm.wala.cast.js.rhino"/>
|
<classpathentry combineaccessrules="false" kind="src" path="/com.ibm.wala.cast.js.rhino"/>
|
||||||
<classpathentry combineaccessrules="false" kind="src" path="/com.ibm.wala.core"/>
|
<classpathentry combineaccessrules="false" kind="src" path="/com.ibm.wala.core"/>
|
||||||
<classpathentry combineaccessrules="false" kind="src" path="/com.ibm.wala.util"/>
|
<classpathentry combineaccessrules="false" kind="src" path="/com.ibm.wala.util"/>
|
||||||
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
|
|
||||||
<attributes>
|
|
||||||
<attribute name="maven.pomderived" value="true"/>
|
|
||||||
</attributes>
|
|
||||||
</classpathentry>
|
|
||||||
<classpathentry combineaccessrules="false" kind="src" path="/com.ibm.wala.shrike"/>
|
<classpathentry combineaccessrules="false" kind="src" path="/com.ibm.wala.shrike"/>
|
||||||
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
|
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
|
||||||
<classpathentry kind="output" path="target/classes"/>
|
<classpathentry kind="output" path="bin"/>
|
||||||
</classpath>
|
</classpath>
|
||||||
|
|
|
@ -20,11 +20,6 @@
|
||||||
<arguments>
|
<arguments>
|
||||||
</arguments>
|
</arguments>
|
||||||
</buildCommand>
|
</buildCommand>
|
||||||
<buildCommand>
|
|
||||||
<name>org.eclipse.m2e.core.maven2Builder</name>
|
|
||||||
<arguments>
|
|
||||||
</arguments>
|
|
||||||
</buildCommand>
|
|
||||||
</buildSpec>
|
</buildSpec>
|
||||||
<natures>
|
<natures>
|
||||||
<nature>org.eclipse.m2e.core.maven2Nature</nature>
|
<nature>org.eclipse.m2e.core.maven2Nature</nature>
|
||||||
|
|
|
@ -1,9 +1,13 @@
|
||||||
source.. = src/,\
|
|
||||||
dat/
|
|
||||||
bin.includes = META-INF/,\
|
bin.includes = META-INF/,\
|
||||||
.,\
|
.,\
|
||||||
lib/json-20160212.jar,\
|
lib/json-20160212.jar,\
|
||||||
OSGI-INF/l10n/bundle.properties,\
|
OSGI-INF/l10n/bundle.properties,\
|
||||||
OSGI-INF/
|
OSGI-INF/,\
|
||||||
|
dat/
|
||||||
|
output.. = bin/
|
||||||
|
source.. = dat/,\
|
||||||
|
src/
|
||||||
javacProjectSettings = true
|
javacProjectSettings = true
|
||||||
output.. = target/classes/
|
bin.excludes = dat/core-modules/.eslintrc,\
|
||||||
|
dat/core-modules/.gitignore,\
|
||||||
|
dat/core-modules/.gitkeep
|
||||||
|
|
|
@ -5,7 +5,11 @@
|
||||||
<property name="nodejs-release" location="nodejs.zip" />
|
<property name="nodejs-release" location="nodejs.zip" />
|
||||||
<property name="core-modules" location="dat/core-modules" />
|
<property name="core-modules" location="dat/core-modules" />
|
||||||
|
|
||||||
<target name="download-core-libs">
|
<target name="core-libs-present">
|
||||||
|
<available file="${core-modules}/_debugger.js" property="corelibs.present"/>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<target name="download-core-libs" depends="core-libs-present" unless="corelibs.present">
|
||||||
<!-- 0a604e92e258c5ee2752d763e50721e35053f135 is v0.12.4-release -->
|
<!-- 0a604e92e258c5ee2752d763e50721e35053f135 is v0.12.4-release -->
|
||||||
<get src="https://api.github.com/repos/nodejs/node/zipball/0a604e92e258c5ee2752d763e50721e35053f135"
|
<get src="https://api.github.com/repos/nodejs/node/zipball/0a604e92e258c5ee2752d763e50721e35053f135"
|
||||||
dest="${nodejs-release}" />
|
dest="${nodejs-release}" />
|
||||||
|
@ -36,4 +40,4 @@
|
||||||
<fileset file="${nodejs-release}" />
|
<fileset file="${nodejs-release}" />
|
||||||
</delete>
|
</delete>
|
||||||
</target>
|
</target>
|
||||||
</project>
|
</project>
|
||||||
|
|
|
@ -38,146 +38,33 @@
|
||||||
</execution>
|
</execution>
|
||||||
</executions>
|
</executions>
|
||||||
</plugin>
|
</plugin>
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
<artifactId>maven-dependency-plugin</artifactId>
|
||||||
<artifactId>maven-dependency-plugin</artifactId>
|
<executions>
|
||||||
<version>2.9</version>
|
<execution>
|
||||||
<executions>
|
<goals>
|
||||||
<execution>
|
<goal>copy</goal>
|
||||||
<id>copy-dependencies</id>
|
</goals>
|
||||||
<phase>process-resources</phase>
|
<configuration>
|
||||||
<goals>
|
<artifactItems>
|
||||||
<goal>copy-dependencies</goal>
|
<artifactItem>
|
||||||
</goals>
|
<groupId>org.mozilla</groupId>
|
||||||
<configuration>
|
<artifactId>rhino</artifactId>
|
||||||
<outputDirectory>${basedir}/lib</outputDirectory>
|
<version>1.7.6</version>
|
||||||
<overWriteReleases>false</overWriteReleases>
|
<type>jar</type>
|
||||||
<overWriteSnapshots>false</overWriteSnapshots>
|
<overWrite>false</overWrite>
|
||||||
<overWriteIfNewer>true</overWriteIfNewer>
|
</artifactItem>
|
||||||
</configuration>
|
<artifactItem>
|
||||||
</execution>
|
<groupId>org.json</groupId>
|
||||||
</executions>
|
<artifactId>json</artifactId>
|
||||||
</plugin>
|
<version>20160212</version>
|
||||||
|
</artifactItem>
|
||||||
|
</artifactItems>
|
||||||
|
<outputDirectory>${basedir}/lib</outputDirectory>
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
</plugins>
|
</plugins>
|
||||||
<pluginManagement>
|
|
||||||
<plugins>
|
|
||||||
<!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
|
|
||||||
<plugin>
|
|
||||||
<groupId>org.eclipse.m2e</groupId>
|
|
||||||
<artifactId>lifecycle-mapping</artifactId>
|
|
||||||
<version>1.0.0</version>
|
|
||||||
<configuration>
|
|
||||||
<lifecycleMappingMetadata>
|
|
||||||
<pluginExecutions>
|
|
||||||
<pluginExecution>
|
|
||||||
<pluginExecutionFilter>
|
|
||||||
<groupId>
|
|
||||||
org.eclipse.tycho
|
|
||||||
</groupId>
|
|
||||||
<artifactId>
|
|
||||||
tycho-source-plugin
|
|
||||||
</artifactId>
|
|
||||||
<versionRange>
|
|
||||||
[0.23.1,)
|
|
||||||
</versionRange>
|
|
||||||
<goals>
|
|
||||||
<goal>plugin-source</goal>
|
|
||||||
</goals>
|
|
||||||
</pluginExecutionFilter>
|
|
||||||
<action>
|
|
||||||
<ignore></ignore>
|
|
||||||
</action>
|
|
||||||
</pluginExecution>
|
|
||||||
<pluginExecution>
|
|
||||||
<pluginExecutionFilter>
|
|
||||||
<groupId>
|
|
||||||
org.eclipse.tycho
|
|
||||||
</groupId>
|
|
||||||
<artifactId>
|
|
||||||
tycho-compiler-plugin
|
|
||||||
</artifactId>
|
|
||||||
<versionRange>
|
|
||||||
[0.23.1,)
|
|
||||||
</versionRange>
|
|
||||||
<goals>
|
|
||||||
<goal>compile</goal>
|
|
||||||
</goals>
|
|
||||||
</pluginExecutionFilter>
|
|
||||||
<action>
|
|
||||||
<ignore></ignore>
|
|
||||||
</action>
|
|
||||||
</pluginExecution>
|
|
||||||
<pluginExecution>
|
|
||||||
<pluginExecutionFilter>
|
|
||||||
<groupId>
|
|
||||||
org.eclipse.tycho
|
|
||||||
</groupId>
|
|
||||||
<artifactId>
|
|
||||||
tycho-packaging-plugin
|
|
||||||
</artifactId>
|
|
||||||
<versionRange>
|
|
||||||
[0.23.1,)
|
|
||||||
</versionRange>
|
|
||||||
<goals>
|
|
||||||
<goal>build-qualifier</goal>
|
|
||||||
<goal>validate-id</goal>
|
|
||||||
<goal>validate-version</goal>
|
|
||||||
</goals>
|
|
||||||
</pluginExecutionFilter>
|
|
||||||
<action>
|
|
||||||
<ignore></ignore>
|
|
||||||
</action>
|
|
||||||
</pluginExecution>
|
|
||||||
<pluginExecution>
|
|
||||||
<pluginExecutionFilter>
|
|
||||||
<groupId>
|
|
||||||
org.apache.maven.plugins
|
|
||||||
</groupId>
|
|
||||||
<artifactId>
|
|
||||||
maven-antrun-plugin
|
|
||||||
</artifactId>
|
|
||||||
<versionRange>
|
|
||||||
[1.7,)
|
|
||||||
</versionRange>
|
|
||||||
<goals>
|
|
||||||
<goal>run</goal>
|
|
||||||
</goals>
|
|
||||||
</pluginExecutionFilter>
|
|
||||||
<action>
|
|
||||||
<ignore></ignore>
|
|
||||||
</action>
|
|
||||||
</pluginExecution>
|
|
||||||
<pluginExecution>
|
|
||||||
<pluginExecutionFilter>
|
|
||||||
<groupId>
|
|
||||||
org.apache.maven.plugins
|
|
||||||
</groupId>
|
|
||||||
<artifactId>
|
|
||||||
maven-dependency-plugin
|
|
||||||
</artifactId>
|
|
||||||
<versionRange>
|
|
||||||
[2.9,)
|
|
||||||
</versionRange>
|
|
||||||
<goals>
|
|
||||||
<goal>copy-dependencies</goal>
|
|
||||||
</goals>
|
|
||||||
</pluginExecutionFilter>
|
|
||||||
<action>
|
|
||||||
<ignore></ignore>
|
|
||||||
</action>
|
|
||||||
</pluginExecution>
|
|
||||||
</pluginExecutions>
|
|
||||||
</lifecycleMappingMetadata>
|
|
||||||
</configuration>
|
|
||||||
</plugin>
|
|
||||||
</plugins>
|
|
||||||
</pluginManagement>
|
|
||||||
</build>
|
</build>
|
||||||
<dependencies>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.json</groupId>
|
|
||||||
<artifactId>json</artifactId>
|
|
||||||
<version>20160212</version>
|
|
||||||
</dependency>
|
|
||||||
</dependencies>
|
|
||||||
</project>
|
</project>
|
||||||
|
|
|
@ -934,16 +934,6 @@ public class PDG<T extends InstanceKey> implements NumberedGraph<Statement> {
|
||||||
ArrayList<Statement> list = new ArrayList<Statement>();
|
ArrayList<Statement> list = new ArrayList<Statement>();
|
||||||
int paramCount = node.getMethod().getNumberOfParameters();
|
int paramCount = node.getMethod().getNumberOfParameters();
|
||||||
|
|
||||||
for (Iterator<CGNode> callers = cg.getPredNodes(node); callers.hasNext(); ) {
|
|
||||||
CGNode caller = callers.next();
|
|
||||||
IR callerIR = caller.getIR();
|
|
||||||
for (Iterator<CallSiteReference> sites = cg.getPossibleSites(caller, node); sites.hasNext(); ) {
|
|
||||||
for (SSAAbstractInvokeInstruction inst : callerIR.getCalls(sites.next())) {
|
|
||||||
paramCount = Math.max(paramCount, inst.getNumberOfParameters()-1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
for (int i = 1; i <= paramCount; i++) {
|
for (int i = 1; i <= paramCount; i++) {
|
||||||
ParamCallee s = new ParamCallee(node, i);
|
ParamCallee s = new ParamCallee(node, i);
|
||||||
delegate.addNode(s);
|
delegate.addNode(s);
|
||||||
|
|
|
@ -15,7 +15,6 @@ import java.util.Iterator;
|
||||||
import com.ibm.wala.dataflow.IFDS.ISupergraph;
|
import com.ibm.wala.dataflow.IFDS.ISupergraph;
|
||||||
import com.ibm.wala.ipa.callgraph.CGNode;
|
import com.ibm.wala.ipa.callgraph.CGNode;
|
||||||
import com.ibm.wala.ipa.callgraph.propagation.InstanceKey;
|
import com.ibm.wala.ipa.callgraph.propagation.InstanceKey;
|
||||||
import com.ibm.wala.ipa.slicer.Slicer.ControlDependenceOptions;
|
|
||||||
import com.ibm.wala.ssa.SSAAbstractInvokeInstruction;
|
import com.ibm.wala.ssa.SSAAbstractInvokeInstruction;
|
||||||
import com.ibm.wala.util.Predicate;
|
import com.ibm.wala.util.Predicate;
|
||||||
import com.ibm.wala.util.collections.EmptyIterator;
|
import com.ibm.wala.util.collections.EmptyIterator;
|
||||||
|
|
Loading…
Reference in New Issue