This commit is contained in:
Julian Dolby 2017-06-24 18:13:22 -04:00
commit 6c217a7ee4
8 changed files with 43 additions and 170 deletions

View File

@ -180,7 +180,6 @@ import com.ibm.wala.util.debug.Assertions;
// * boxing (YUCK). see resolveBoxing()
// * enums (probably in simplename or something. but using resolveConstantExpressionValue() possible)
@SuppressWarnings("unchecked")
public abstract class JDTJava2CAstTranslator<T extends Position> {
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
for (int i = 0; i < cases.size(); i++) {
Statement se = (Statement) cases.get(i);
Statement se = cases.get(i);
if (se instanceof SwitchCase) {
SwitchCase c = (SwitchCase) se;

View File

@ -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.core"/>
<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 kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="output" path="target/classes"/>
<classpathentry kind="output" path="bin"/>
</classpath>

View File

@ -20,11 +20,6 @@
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.m2e.core.maven2Nature</nature>

View File

@ -1,9 +1,13 @@
source.. = src/,\
dat/
bin.includes = META-INF/,\
.,\
lib/json-20160212.jar,\
OSGI-INF/l10n/bundle.properties,\
OSGI-INF/
OSGI-INF/,\
dat/
output.. = bin/
source.. = dat/,\
src/
javacProjectSettings = true
output.. = target/classes/
bin.excludes = dat/core-modules/.eslintrc,\
dat/core-modules/.gitignore,\
dat/core-modules/.gitkeep

View File

@ -5,7 +5,11 @@
<property name="nodejs-release" location="nodejs.zip" />
<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 -->
<get src="https://api.github.com/repos/nodejs/node/zipball/0a604e92e258c5ee2752d763e50721e35053f135"
dest="${nodejs-release}" />
@ -36,4 +40,4 @@
<fileset file="${nodejs-release}" />
</delete>
</target>
</project>
</project>

View File

@ -38,146 +38,33 @@
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.9</version>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>process-resources</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${basedir}/lib</outputDirectory>
<overWriteReleases>false</overWriteReleases>
<overWriteSnapshots>false</overWriteSnapshots>
<overWriteIfNewer>true</overWriteIfNewer>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.mozilla</groupId>
<artifactId>rhino</artifactId>
<version>1.7.6</version>
<type>jar</type>
<overWrite>false</overWrite>
</artifactItem>
<artifactItem>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20160212</version>
</artifactItem>
</artifactItems>
<outputDirectory>${basedir}/lib</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
</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>
<dependencies>
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20160212</version>
</dependency>
</dependencies>
</project>

View File

@ -934,16 +934,6 @@ public class PDG<T extends InstanceKey> implements NumberedGraph<Statement> {
ArrayList<Statement> list = new ArrayList<Statement>();
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++) {
ParamCallee s = new ParamCallee(node, i);
delegate.addNode(s);

View File

@ -15,7 +15,6 @@ import java.util.Iterator;
import com.ibm.wala.dataflow.IFDS.ISupergraph;
import com.ibm.wala.ipa.callgraph.CGNode;
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.util.Predicate;
import com.ibm.wala.util.collections.EmptyIterator;