Commit Graph

379 Commits

Author SHA1 Message Date
Julian Dolby d528c16b0f refactoring to integrate field-based cg builders with Eclipse-based
JavaScript front end
2013-08-05 14:35:41 -04:00
Julian Dolby beab92e359 Fixed bugs in the front end handling esoteric cases of weird control
flow.

added support for JavaScript projects read from Eclipse that are based
on HTML files as well as JavaScript files
2013-07-30 14:04:08 -04:00
Manu Sridharan c71652de34 add getNumberOfUses(), rename class 2013-07-10 09:44:47 -07:00
Manu Sridharan 059d841c8c removing lexical reads and writes from invoke instructions; WIP 2013-07-10 09:44:46 -07:00
Julian Dolby 080325b5f6 merge 2013-06-25 11:57:37 -04:00
Julian Dolby 3015d1c5f9 added container access to ModuleEntry 2013-06-25 11:53:58 -04:00
Manu Sridharan 162a001ce6 remove more code for older lexical access scheme 2013-06-07 09:58:25 -07:00
Manu Sridharan f268ca91fd remove precise lexical config options; we want this to just be on 2013-06-07 09:48:00 -07:00
Manu Sridharan d2933d49b2 delete a little more code and javadoc 2013-06-06 20:02:42 -07:00
Manu Sridharan 321695617c delete more code 2013-06-06 20:02:42 -07:00
Manu Sridharan 472a98d7cf delete some code 2013-06-06 20:02:42 -07:00
Manu Sridharan d4b252ad51 kill NEW_LEXICAL flag 2013-06-06 20:02:41 -07:00
Manu Sridharan 3b1889121b add missing copyright headers 2013-05-22 15:39:19 -07:00
Manu Sridharan e6bef253ff Merge branch 'master' into maven 2013-05-02 10:58:55 -07:00
Manu Sridharan dcc7cd206d bug fix: allow each language to determine when a CGNode represents the "definer" method for a lexical access 2013-04-29 20:34:40 -07:00
Marcel Bruch 7c2d18cd58 [releng] added preliminary maven tycho build support 2013-04-29 13:13:22 +02:00
Julian Dolby 1cc5e5ce9c fixes for bug with dead code and exception handlers 2013-04-10 21:16:12 -04:00
Manu Sridharan 00eb1d2bd2 Set all projects to build against Java 6; no semantic change. Fixes #20 2013-04-10 16:01:27 -07:00
Manu Sridharan 1079d68aea delete files 2013-04-10 10:33:28 -07:00
Manu Sridharan dae0b33233 Merge branch 'master'
Conflicts:
	com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/loader/JavaSourceLoaderImpl.java
	com.ibm.wala.cast.js.rhino.test/harness-src/com/ibm/wala/cast/js/test/TestSimpleCallGraphShapeRhino.java
	com.ibm.wala.cast.js.rhino.test/harness-src/com/ibm/wala/cast/js/test/TestSimplePageCallGraphShapeRhino.java
	com.ibm.wala.cast.js.rhino.test/harness-src/com/ibm/wala/cast/js/test/TestSimplePageCallGraphShapeRhinoJericho.java
	com.ibm.wala.cast.js.rhino.test/harness-src/com/ibm/wala/cast/js/vis/JsViewerDriver.java
	com.ibm.wala.cast.js.test/harness-src/com/ibm/wala/cast/js/test/TestSimpleCallGraphShape.java
	com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/loader/JavaScriptLoader.java
	com.ibm.wala.cast/source/java/com/ibm/wala/cast/tree/CAstEntity.java
2013-04-09 15:56:47 -07:00
Manu Sridharan 11c6619c7f Variety of changes to JS front end.
- crash fixes
- small enhancements to prologue and preamble
- tighter handling of timeouts during CG construction
2013-04-09 15:47:22 -07:00
Julian Dolby 321e925660 work on CHA 2013-04-03 12:12:43 -04:00
Julian Dolby 87b856928c fixes for handling parse errors in JS and HTML 2013-03-01 10:07:20 -05:00
Julian Dolby afccdd2189 Annotation support 2013-02-02 21:27:45 -05:00
Manu Sridharan 29c73cea83 Merge branch 'lexical-access-info' 2013-01-09 14:27:14 -08:00
Julian Dolby 9aa474fdb1 1) added InstanceKey.getCreation sites and its implementations
2) fixes for issues with keys representing dynamic properties
  i) all properties are converted to strings, in an approximation of JS
semantics
3) fix to handling of instance keys representing numbers in binary +;
now it understands that adding constant keys of type Number requires
adding a non-constant Number key to the lval
2013-01-07 20:18:27 -05:00
Manu Sridharan bf6b6bd685 renamed classes to make relationship to mod-ref analysis clearer 2013-01-04 09:35:04 -08:00
Manu Sridharan 5aa3a16587 add support for lexical writes 2013-01-03 16:09:48 -08:00
Manu Sridharan 26e7eb50ba Code to compute transitive lexical accesses of methods.
The TransitiveLexicalAccesses class computes the lexical variables
read by a CGNode and its transitive callees.  Also, a basic test case.
2013-01-03 15:58:07 -08:00
Manu Sridharan 6084f4ff61 Generate proper InstanceFieldKeys for property accesses with Numbers.
Note that this change actually breaks a couple of our unit tests.  But,
it seems they were only passing by accident before anyway, and this change
at least leads to a more consistent handling of dynamic property accesses
with String vs. Number property names.
2012-12-18 10:11:59 -08:00
dolby f7a7d66b28 move loop unrolling code to wala from Miniatur/MemSAT 2012-10-03 10:53:04 -04:00
Manu Sridharan 2560d12826 fix equals() method to check offsets 2012-09-28 15:51:12 -07:00
Manu Sridharan 210d4c53ea improved Javadoc 2012-09-19 11:45:49 -04:00
Manu Sridharan 60db861a5f complete conversion to Unix line endings 2012-09-04 16:05:49 -07:00
Manu Sridharan 56f3d847a5 more conversion to Unix line endings 2012-09-04 15:59:50 -07:00
Manu Sridharan 256cd06460 Convert all Java source files to use Unix line endings; no semantic change 2012-09-04 15:56:05 -07:00
dolby 5f0b0ea956 Two fixes for mapping source positions to IR
1: get the right position for methods from the JDT AST
2: more seriously, there was a nasty bug in how source positions got
mapped in unwound code: mappings were wrong for instructions that
were the result of duplicating code to replicate unwind handling in
exceptional and non-local exits.
2012-08-30 12:10:30 -04:00
dolby 0518b5242b more JS stuff 2012-08-22 12:15:46 -04:00
Julian Dolby 4a850a9510 added the com.ibm.wala.ide.jdt project 2012-08-21 18:52:09 -04:00
dolby 72e8dc9098 reorganize stuff for using JavaScript stuff from Eclipse 2012-08-21 09:48:53 -04:00
Manu Sridharan 9a0e105e51 fix so that new lexical scheme can be enabled with Java frontends 2012-07-12 10:27:24 -07:00
dolby b6ee356641 tests for source mapping 2012-05-11 15:03:10 -04:00
dolby dfe06b8ff3 changes to Web source mapping to exploit rhino 1.7R3 source offsets 2012-05-08 13:17:01 -04:00
Manu Sridharan c116f16823 got code to compile again, and wala.core regression tests pass 2012-04-16 22:30:03 -04:00
msridhar1 1d28b2dc26 fix for bug reported by Juergen Graf: handle multiple fields with the same name in a JVM class
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4552 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-04-03 22:26:12 +00:00
dolby-oss a93dc6fcc5 minor cleanup
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4543 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-03-08 17:34:36 +00:00
dolby-oss 70678e1e4a add type parameters
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4536 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-03-01 13:18:59 +00:00
dolby-oss a9ec87f360 Changes motivated by analysis issues in JavaScript. The main change is that calls of the form f.x() in JavaScript are now analyzed like 'method calls' so that the 'this' pointer in the receiver functions can be filtered based upon the types that actually have the method being invoked. This requires much more dynamic filtering than in a language like Java, since properties like 'x' are simply properties that happen to hold functions, and so can be assigned in a first-class manner. Thus, the filtering needs to handle variance in both the types and the values of their properties; this is implemented as multiple levels of abstract object directed side effect equations in the dataflow system.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4535 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-03-01 02:45:51 +00:00
dolby-oss 9b2b4c6f51 remove unused declaration on public method
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4528 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-23 17:45:20 +00:00
dolby-oss 2f7107ac44 remove import warning
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4527 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-23 17:44:39 +00:00