Commit Graph

491 Commits

Author SHA1 Message Date
Julian Dolby 189a251a93 fix for for in contexts for NEVER case 2013-02-08 08:54:24 +01:00
Juergen Graf d77cfc60fc incorporate changes from other branch
- Annotation support
- Properly fix path-with-spaces bug.
- fix bug involving paths with spaces
- add a simple driver for building a call graph via a scope file
- Properly return null as default constructor of an array.
- organize imports
- better handling of missing bytecodes
- javadoc
- test fix
- small Javadoc fix
- added date-property.js
- 1) added InstanceKey.getCreation sites and its implementations 2) fixes for issues with keys representing dynamic properties   i) all properties are converted to strings,
- publicize method makeClasspath().  deprecate quoteStringIfNeeded()
- organize imports
- javadoc
- renamed classes to make relationship to mod-ref analysis clearer
- add support for lexical writes
- Code to compute transitive lexical accesses of methods.
- extract some generally useful code from ModRef
- Generate proper InstanceFieldKeys for property accesses with Numbers.
- rewrite to make hardest test appear last
- fix test to properly check reachability
- add an array test that doesn't quite work
- add method to get a PointerKey for a global
- compare FieldValueDispatch objects based on CGNode as well
- Handle duplicate field names between subclass and superclass.
2013-02-06 12:34:25 +01:00
Julian Dolby afccdd2189 Annotation support 2013-02-02 21:27:45 -05:00
Manu Sridharan 1d06b2f764 organize imports 2013-01-22 15:42:04 -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 730151956f organize imports 2013-01-04 12:00:26 -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
Manu Sridharan 5bcdb30014 add method to get a PointerKey for a global 2012-11-30 13:37:34 -05:00
Manu Sridharan 4a87d7b145 compare FieldValueDispatch objects based on CGNode as well 2012-11-30 11:04:48 -05:00
Juergen Graf b82d5dba90 Merge branch 'wala' into master 2012-11-06 04:23:10 +01:00
Manu Sridharan 3ee6f9d229 Merge branch 'master' of github.com:wala/WALA 2012-10-08 13:34:04 -07:00
Manu Sridharan fae5d9f3dd weaken recursion check slightly 2012-10-08 13:33:45 -07:00
Manu Sridharan bcee68c412 bug fix in generated IR 2012-10-08 13:32:59 -07:00
dolby d8985fe60b Merge branch 'master' of https://github.com/wala/WALA.git 2012-10-03 10:53:39 -04:00
dolby f7a7d66b28 move loop unrolling code to wala from Miniatur/MemSAT 2012-10-03 10:53:04 -04:00
Manu Sridharan 695b9948a3 fix getNodes() to correctly return nodes corresponding to constructors 2012-10-02 12:27:31 -07:00
dolby fae5c86114 fixes for users of JDT interfaces, such as Miniatur/MemSAT 2012-10-01 13:11:10 -04:00
Manu Sridharan fadcbe538d Merge branch 'master' of riverdale.watson.ibm.com:jsanalysis 2012-09-28 15:52:00 -07:00
Max Schaefer 69b93ca7a5 More principled way of checking whether a file belongs to the harness. 2012-09-24 14:01:47 -04:00
Manu Sridharan 27d9f65b63 add some Javadoc 2012-09-20 12:08:31 -04:00
Manu Sridharan 210d4c53ea improved Javadoc 2012-09-19 11:45:49 -04:00
Manu Sridharan a3efc8bbc3 Merge branch 'master' of riverdale.watson.ibm.com:jsanalysis 2012-09-18 14:07:37 -04:00
Max Schaefer e130a5b963 Some refactoring of prologue.js and preamble.js to use more consistent
names.
2012-09-18 13:22:17 -04:00
Manu Sridharan e4c9c7ab91 add some javadoc 2012-09-12 11:36:54 -07:00
Manu Sridharan 24eb803211 organize imports; no semantic change 2012-09-04 16:24:37 -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
Max Schaefer 2a13228e50 Fixed for-in loop body extractor after recent changes to CAst representation of for-in loops. 2012-08-30 10:55:19 -04:00
dolby 17ab92b8f2 assert that the first line number is always not -1 2012-08-28 21:49:04 -04:00
Manu Sridharan 5b8da4ad32 oops, really fix the merge conflict 2012-08-28 13:13:10 -07:00
Manu Sridharan 3e04aba5fb Merge branch 'master' of riverdale.watson.ibm.com:jsanalysis
Conflicts:
	com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/util/CallGraph2JSON.java
2012-08-28 13:12:01 -07:00
Manu Sridharan 419d1d50cc Merge branch 'github_master' and remove Eclipse dependencies.
Specifically, rewrite ProgressMaster to not depend on Eclipse, and move
to com.ibm.wala.util.  Now, we can use timeout-based code in packages
without introducing an Eclipse dependency.
2012-08-28 12:39:52 -07:00
Juergen Graf b8477d2144 incorporate changes from other branch
- basic compatibility with Java 7 (i.e., don't crash immediately)
- Added utility class for converting call graphs to JSON.
- add edgeExists CLI option to check if some edge exists in the call graph
2012-08-06 12:49:03 +02:00
Max Schaefer f091bb3aca Added utility class for converting call graphs to JSON. 2012-07-31 14:31:34 -04:00
Max Schaefer c9bdd48360 Added utility class for serialising call graphs to JSON. 2012-07-31 14:14:04 -04:00
Juergen Graf 4648f0404a Merge branch 'wala' into master 2012-07-17 13:57:43 +02:00
Manu Sridharan 9847bf21f4 Merge remote-tracking branch 'origin/master' 2012-07-12 10:30:56 -07:00
Manu Sridharan 9a0e105e51 fix so that new lexical scheme can be enabled with Java frontends 2012-07-12 10:27:24 -07:00
Max Schaefer ff3416a89f Be more careful when determining source-level names for SSA variable to
avoid index-out-of-bounds accesses.
2012-07-05 11:20:25 -04:00
Max Schaefer fca3999e9a Fixed rewriting of non-constant switch cases. 2012-07-05 09:37:47 -04:00
Manu Sridharan f6e52c9b93 Merge remote-tracking branch 'riverdale/master' 2012-07-04 10:27:13 -07:00
Max Schaefer 7bdc127ce5 Workaround for invalid end positions in CAst. 2012-07-04 12:19:05 -04:00
dolby d0d1ff1a2b Merge branch 'master' of https://github.com/wala/WALA.git 2012-07-03 19:22:37 -04:00
dolby f7eb9bd174 apply changes for WALA git issue 3 2012-07-03 19:22:08 -04:00
Manu Sridharan 1a5f8954f2 fix NPE 2012-07-03 15:55:14 -07:00
dolby 4b3cba710d changes from upstream 2012-06-29 15:47:54 -04:00
Juergen Graf 10792bec73 Merge branch 'wala' into master 2012-05-16 14:02:20 +02:00
dolby b2034ed90f extensions to HTML file source position tracking 2012-05-08 14:03:43 -04:00
dolby dfe06b8ff3 changes to Web source mapping to exploit rhino 1.7R3 source offsets 2012-05-08 13:17:01 -04:00
Juergen Graf c71fa6674a Merge branch 'wala' into master 2012-04-19 14:39:05 +02:00
Manu Sridharan 2edb070437 changed FileProvider to have instance methods 2012-04-16 14:57:14 -04:00
Juergen Graf 7477b1730b Merge branch 'wala' into master 2012-03-19 13:33:48 +01:00
dolby-oss 44e7a02ac3 improve handling of binary expressions
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4544 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-03-08 17:35:04 +00:00
dolby-oss 8f4ddd6920 remove warnings
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4537 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-03-03 00:25:47 +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 3a5013d8e5 generalize hack for finding 'base' variables. fix bugs in renaming arguments.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4526 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-23 17:44:09 +00:00
msridhar1 ec7be6dc39 Got rid of IntegerContextItem and BooleanContextItem and replaced them
by uses of ContextItem.Value.

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4514 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:27:16 +00:00
msridhar1 1ae581819f add one level of caller-site sensitivity for call() and apply(); experimental
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4513 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:27:03 +00:00
msridhar1 5c2ca88ba2 more comments
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4511 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:26:36 +00:00
msridhar1 5bc7fb3e44 Within for/in bodies, use a marker for/in context instead of a CallerSiteContext
to better handle certain recursion.  Still needs better Javadoc

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4510 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:26:24 +00:00
msridhar1 d1974d8b54 new context selector that just checks for recursion instead of bounding it
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4509 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:26:14 +00:00
msridhar1 a840e068d6 When extracting correlated pairs, check that the extraction region does
not reference the "arguments" variable.

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4506 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:25:39 +00:00
msridhar1 a3d0b45eef Added support for localising variables through which correlated reads
flow. This somewhat compensates for the lack of SSA form for closure
variables under the new lexical scheme.

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4505 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:25:22 +00:00
msridhar1 5106842f30 fix memory leak
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4504 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:25:06 +00:00
msridhar1 efcbdd625c Merge remote-tracking branch 'riverdale/extractor-fix' into lexical-again
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4502 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:24:48 +00:00
msridhar1 e60be259ae avoid crashes in LoadFileTargetSelector
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4500 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:24:08 +00:00
msridhar1 1eb7236267 use a CallStringContext when hitting the recursion bound with constructors
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4499 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:23:57 +00:00
msridhar1 e9d2ad598a move recursion bound selector to HTMLCGBuilder; a temporary solution
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4497 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:23:37 +00:00
msridhar1 965896c210 add general recursion bounding via an additional context selector. Also, completely eliminate dependence on contexts for correct pointer analysis with new lexical scheme.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4496 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:23:21 +00:00
msridhar1 954a1f091b more work on precise lexical configuration
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4495 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:22:55 +00:00
msridhar1 4037ef9b02 add new analysis option JSAnalysisOptions.usePreciseLexical(), which allows for a less precise handling of lexical accesses
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4494 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:22:30 +00:00
msridhar1 a3826f23a8 refactoring: rename some Util classes
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4492 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:21:59 +00:00
msridhar1 92d8dc1e3d Revert "refactor context selectors: extract delegation into ComposedContextSelector"
This reverts commit 7ff1219c5baed388a82d14fcf81d2b1f456c4e95.  That commit broke
a dojo test, and I'm not sure why.

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4491 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:21:18 +00:00
msridhar1 59d602e9b7 added a recursion check
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4490 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:20:36 +00:00
msridhar1 edd300cf00 refactor context selectors: extract delegation into ComposedContextSelector
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4489 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:20:26 +00:00
msridhar1 5c0c7eb7f8 pref off generating separate call methods per site; better handled in a context selector, as this was causing non-termination
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4487 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:19:49 +00:00
msridhar1 bd71761645 Un-finalled flag WARN_ABOUT_IMPRECISE_CALLGRAPH to make it configurable
from TestUtil.

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4486 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:19:40 +00:00
msridhar1 6d2f186f36 re-enable ScopeMappingContexts
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4482 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:19:03 +00:00
msridhar1 a1a62d4793 Fixed a longstanding bug in the handling of arguments: both v1 _and_ v2
should be ignored when setting up the arguments array (the former is the
invoked function, the latter is the receiver).

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4480 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:18:32 +00:00
msridhar1 8988ff3b0f more precise model of Function.prototype.apply(); read correct properties from arguments array
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4479 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:18:16 +00:00
msridhar1 197ec11f35 small optimization: avoid calling TypeName.toString() in some cases
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4478 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:18:07 +00:00
msridhar1 19bd95238a Adding a context item containing the index.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4477 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:17:55 +00:00
msridhar1 16c798c790 bug fix: only generate one synthetic method representing Function.prototype.apply
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4476 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:17:44 +00:00
msridhar1 21e17b0928 some cleanup
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4475 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:17:30 +00:00
msridhar1 fcf0aa824d in the Function.apply() context selector, only add one-level of call strings when an ApplyContext is also being used
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4474 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:17:22 +00:00
msridhar1 fe9dbe1128 Added optional one-level callstring sensitivity for
Function.prototype.apply

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4471 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:16:47 +00:00
msridhar1 dd2a04e1a7 Fixed a bug where the index of the argument to check for use as a
property name was ignored.

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4470 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:16:36 +00:00
msridhar1 49bd12c0ec no need for ScopeMappingContexts with new lexical scheme
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4469 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:16:26 +00:00
msridhar1 300377a428 disabled LexicalScopingResolverContexts with new scheme
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4468 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:16:15 +00:00
msridhar1 78ef6e3a03 further work
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4465 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:15:26 +00:00
msridhar1 c9ee502acc another bug fix
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4464 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:15:02 +00:00
msridhar1 8982d35800 fixed one CG building bug with useLocalsForLexicalVars() disabled
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4463 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:14:51 +00:00
msridhar1 9ad5c55d85 generate lexical access instructions for methods accessing their own exposed vars. still need to fix call graph construction
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4461 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:14:26 +00:00
Max Schaefer aa00b04c00 Some more fixes to the closure extractor; now only a single test fails. 2012-02-09 08:21:10 -05:00
msridhar1 6449da85df Some final fixes to the for-in body extractor; it now seems to work as
before.

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4451 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-08 15:35:32 +00:00
msridhar1 6e1d5783e6 Fixed search for closest enclosing block, which could run into an
infinite loop.

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4446 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-08 15:33:58 +00:00
msridhar1 0c07531918 Make WARN_ABOUT_IMPRECISE_CALLGRAPH non-final so we can flip it at
runtime.

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4445 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-08 15:33:45 +00:00
msridhar1 daf36902bd Avoid plugging in the same AST node twice when creating code for a
method call.

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4444 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-08 15:33:35 +00:00
msridhar1 12b68c9a11 Some more changes to the closure extractor to make it play better with
Rhino 1.7.3.

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4441 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-08 15:32:59 +00:00
msridhar1 96263c8736 Adapted generation of fixup code for return and goto to Rhino 1.7.3.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4440 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-08 15:32:46 +00:00
msridhar1 39297b0c3d More adjustments to Rhino 1.7.3 CAst.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4439 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-08 15:32:32 +00:00
msridhar1 174a30454c Started to update the closure extractor to work with Rhino 1.7.3.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4438 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-08 15:32:15 +00:00
dolby-oss 79946e98d6 purported fixes for Max's latest bugs (with some tests)
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4433 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-07 13:50:08 +00:00
dolby-oss 8e94f4fb96 blunt force trauma to CAst frond end:
1) Structural changes in the AstTranslator to allow retranslation and generation of custom IR.  This is mostly moving state from the translator itself into the context.
2) Some refactoring to share some AST generation code across the Java and JavaScript front ends.
3) Switching to the latest Rhino, release 1.7R3; this is a pervasive change to the JavaScript Rhino translator, since it involves switching to the new AST interface in Rhino.
4) Common code to, as an option, translate Do-style loops by replicating the loop body.  This allows the use of CAstNode.LOOP forms for such loops.
5) Some bug fixes to the mechanisms of the CAstRewriter to handle weird control flow cases.
6) An example of retranslation to specialize JavaScript methods based on how many arguments they receive at call sites.


git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4427 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-27 20:23:57 +00:00
dolby-oss 4c6d062dbb blunt force trauma to CAst frond end:
1) Structural changes in the AstTranslator to allow retranslation and generation of custom IR.  This is mostly moving state from the translator itself into the context.
2) Some refactoring to share some AST generation code across the Java and JavaScript front ends.
3) Switching to the latest Rhino, release 1.7R3; this is a pervasive change to the JavaScript Rhino translator, since it involves switching to the new AST interface in Rhino.
4) Common code to, as an option, translate Do-style loops by replicating the loop body.  This allows the use of CAstNode.LOOP forms for such loops.
5) Some bug fixes to the mechanisms of the CAstRewriter to handle weird control flow cases.
6) An example of retranslation to specialize JavaScript methods based on how many arguments they receive at call sites.


git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4425 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-27 20:15:33 +00:00
msridhar1 c40917c3da remove unused imports
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4421 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 23:31:16 +00:00
msridhar1 8b547b4812 Split up ForInLoopRewriter in preparation for merging changes back into
open-source WALA. The extraction code is now in com.ibm.wala.cast.js,
with some more general stuff moved to com.ibm.wala.cast and
com.ibm.wala.util. The tests are in com.ibm.wala.cast.js.test and
com.ibm.wala.cast.js.rhino.test. ForInLoopRewriter itself only contains
the framework specific tests and the copies of the frameworks
themselves.

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4418 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:52:26 +00:00
msridhar1 4442683421 Better fix for the issue with null instance keys in the
ForInContextSelector: turn them into ConcreteTypeKeys for LUndefined.

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4413 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:50:22 +00:00
msridhar1 b9ff3d0857 Removed bailout on null argument, which breaks jQuery tests.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4412 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:50:08 +00:00
msridhar1 ea76fd31ab Extraction of correlated read/write pairs needs to be done _before_
property read expansion. Extended TranslatorToCAst to support this.
Various other changes to make it possible to plug in the correlated pair
extractor.

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4411 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:49:48 +00:00
msridhar1 30dbcd1e0b ForInContextSelector can now be parameterised on the argument index on
which to specialise.

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4409 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:49:08 +00:00
msridhar1 c18cc405f7 fix disabling of call / apply for ajaxslt test
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4408 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:48:53 +00:00
msridhar1 da746ac8a4 add disabling of load target selector to options
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4407 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:48:28 +00:00
msridhar1 ea7be296c8 create JSAnalysisOptions, and use to add proper option to disable handling of call / apply
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4405 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:48:01 +00:00
msridhar1 bbbc93d8c6 Introduced extra switch to turn off the LoadFileTargetSelector.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4404 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:47:37 +00:00
msridhar1 7d6fe1d943 make field private again
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4403 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:47:23 +00:00
msridhar1 a12194cc92 fix handling of Function.prototype.apply. Disable testAjaxslt, which blows up with the fix enabled
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4402 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:47:09 +00:00
msridhar1 207d40811f add flag to disable handling of Function.prototype.call
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4401 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:46:50 +00:00
msridhar1 9e386ff310 re-implement delegating context, to ensure we have a proper equals() and hashCode()
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4398 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:46:08 +00:00
msridhar1 48fd56f3ee use call string contexts for constructors rather than the enclosing CGNode. also, fix an imprecision with passing ScopeMappingContexts
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4396 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:45:35 +00:00
msridhar1 723cab3e42 don't add a bunch of irrelevant Java-specific context selectors
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4393 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:44:53 +00:00
msridhar1 ce72e0fb93 make __proto__ not enumerable
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4391 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:44:25 +00:00
msridhar1 5f6fc74836 Forgot to add equals/hashCode to ArgumentInstanceContext before.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4387 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:43:22 +00:00
msridhar1 4c4d83ed5b Getting rid of two low-level hacks for now.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4385 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:43:00 +00:00
msridhar1 fbbd401c9a Added optional object sensitivity for functions returning 'this'.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4384 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:42:47 +00:00
msridhar1 ee11f7481a Some temporary hacks to make MooTools analyse.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4383 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:42:31 +00:00
msridhar1 0486cea6bb Warn about call graph imprecision if an unlikely use of
Function.prototype.call is detected.

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4380 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:37:49 +00:00
msridhar1 c48935c0b9 Improved target selector for Function.prototype.call to handle cases
where it is invoked as a constructor. As this is almost certainly due to
call graph imprecision, we optionally emit a warning when this happens.

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4372 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:35:52 +00:00
msridhar1 6e922aac6a Shouldn't use IMethods as keys in maps.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4371 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:35:38 +00:00
msridhar1 fc57c3b878 small optimizations; don't call toString() as much
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4370 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:35:24 +00:00
msridhar1 f874332a9d Bug fix: only use ToString conversion if we are sure the variable is
only ever used as a property name.

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4369 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:35:08 +00:00
msridhar1 74502bafb8 Cleaner handling of for-in context selection: instead of matching on
function name, we now use a for-in context for every function that
uses its first argument as a property name. There is a flag to restore
the old behaviour.

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4368 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:34:54 +00:00
msridhar1 3388b8dc7b Removing custom context selector for Function.prototype.call; it doesn't
seem worth having.

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4367 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:34:40 +00:00
msridhar1 df0525d55c Extending for-in context selector to also provide contexts for functions
that perform for-in iteration on their first parameter.

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4366 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:34:27 +00:00
msridhar1 7026301ed4 Fixed unsoundness in the context selector; unsurprisingly, this makes
the analysis explode on MooTools again...

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4363 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:33:48 +00:00
msridhar1 e62fdc5b1f Added custom context selector for uses of Function.prototype.call, which
adds object sensitivity on such uses.

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4362 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:33:34 +00:00
msridhar1 46dc767549 Minor change.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4361 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:33:19 +00:00
msridhar1 f0bee15f9f Minor change.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4360 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:33:06 +00:00
msridhar1 87ea0760cf Additional check to ensure that the expected number of arguments is
provided.

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4359 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:32:51 +00:00
msridhar1 899824081e always add one level of call-string sensitivity for constructors
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4356 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:32:12 +00:00
msridhar1 22f6ba3e0c extra diagnostics
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4354 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:31:44 +00:00
msridhar1 6e4db282b6 undo change
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4351 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:30:59 +00:00
msridhar1 48b42a18a0 tinkering with jquery
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4345 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:29:42 +00:00
msridhar1 2989bc2e6a add flag to disable handling of Function.apply()
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4344 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:29:27 +00:00
msridhar1 fa1f572d60 add one level of call-string sensitivity for Function.apply()
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4342 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:29:01 +00:00
msridhar1 8c2fd9cb10 kill some old code and rename a class
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4340 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:28:34 +00:00
msridhar1 6a2dc42d49 fix a couple of NPEs
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4338 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:28:02 +00:00
msridhar1 efa0efa796 fix bad method overriding
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4334 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:26:41 +00:00
msridhar1 c250331e78 more work on Function.apply(), but regression tests aren't passing yet
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4333 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:26:23 +00:00
msridhar1 a30ea94aac support Function.apply() with no argsList array
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4332 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:26:01 +00:00
msridhar1 875347167b started some work
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4331 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:25:38 +00:00
msridhar1 f9d6e38eea Removed spurious "arguments" property on function objects.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4329 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:25:06 +00:00
msridhar1 3172ba6b0f Fixed data flow propagation code for the arguments array: arguments[0]
is not the receiver, it is the first real argument.

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4328 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:24:53 +00:00
msridhar1 515c9b8f18 Fixed code for determining whether a callee should be analysed in a
for-in context: checking whether its name _contains_ HACK_METHOD_STR is
not a good idea, since this is true also for inner functions of the
forin_body functions.

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4327 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:24:38 +00:00
msridhar1 eb73fac9e4 documentation of global object handling
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4326 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:24:25 +00:00
msridhar1 8ce7db97ea more global object handling; needs documentation
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4324 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:23:56 +00:00
msridhar1 306bc98bf5 progress on modeling the global object
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4321 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:22:58 +00:00
msridhar1 e468d042fa add option to generate separate synthetic method per call site of Function.call()
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4319 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:22:09 +00:00
msridhar1 1ea96713c3 cache Function.call() synthetic methods and reuse
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4317 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:21:40 +00:00
msridhar1 b042d61a67 initial implementation of handling Function.call(). also, fix previous change that caused some tests to fail
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4316 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:21:26 +00:00
msridhar1 31108fa7e2 Avoid re-analysing the same file twice.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4314 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:20:41 +00:00
msridhar1 bf66d29491 fix bug in setting of __proto__ in function constructor
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4313 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:20:28 +00:00
msridhar1 22e79d7ef7 make JSCFABuilder abstract
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4310 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:19:49 +00:00
msridhar1 45d15c2bd6 Filtering instance keys passed to extracted loop bodies to emulate ToString conversion.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4307 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:19:14 +00:00
msridhar1 939f6b3f34 Organise imports.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4306 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:19:01 +00:00
msridhar1 4d9876d452 Fixed a bug where the property read expander was generating a DAG, and
another one which prevented CFG node targets from being properly copied.

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4302 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:18:06 +00:00
msridhar1 c0a99989a4 Support for applying a preprocessor to the generated CAst tree before
translating it to IR.

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4300 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:17:39 +00:00
msridhar1 4edec7f18e remove unused imports
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4297 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-05 20:10:34 +00:00
msridhar1 05f0d27d45 move code related to validator.nu HTML parser to a separate project
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4296 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-05 19:58:35 +00:00
msridhar1 59e46916ce Generalize certain IR data structures to be less Java-specific. Generalize annotations code to allow for reading annotation parameters. Various other fixes
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4290 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-12-28 17:03:27 +00:00
Juergen Graf 8494f98106 Merge branch 'wala' into master 2011-11-09 13:03:31 +01:00
msridhar1 e672a1ece8 clarify exception messsage
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4286 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-10-28 20:30:54 +00:00
Juergen Graf f5ac0c543f Merge branch 'wala' into master 2011-07-12 19:50:39 +00:00
dolby-oss 1f2ebb7943 fix for read expansion issue
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4215 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-07-06 19:52:51 +00:00
msridhar1 409a8f83b5 a little more debug info
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4206 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-07-02 15:34:21 +00:00
dolby-oss bcd742f06c experiments with context sensitivity and fixes to use base contexts
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4203 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-07-02 15:14:57 +00:00
msridhar1 2b443852fc pull out hacked for-in context selector. add some debugging output
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4200 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-07-01 16:48:18 +00:00
dolby-oss 12b5f281c6 minor cleanup
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4190 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-06-30 15:44:37 +00:00
msridhar1 201b28eea0 bug fixes for handling of prototype and __proto__
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4188 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-06-22 21:23:49 +00:00
Juergen Graf f8d6f5b917 Merge branch 'wala' into master 2011-05-27 12:25:53 +02:00
dolby-oss 3e573a992d upgrades to lexical soping implements to address some performance issues
fixes to HTML model to capture use of local vars as window state in scripts


git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4176 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-05-23 16:27:07 +00:00
msridhar1 ac7294dac2 bug fix: incorrect check for number of constructor parameters
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4171 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-05-05 03:51:54 +00:00
msridhar1 1f97edecc7 formatting, minor refactoring
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4168 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-05-04 21:06:35 +00:00
msridhar1 cbd5613a35 javadoc, formatting, move a DEBUG flag
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4163 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-05-02 22:11:27 +00:00
dolby-oss 4da02a9125 Changes to extend supported context sensitivity to CPA-style:
1) extend ContextSelector interface to allow it to specify parameters of interest
  2) extend filtering mechanism at call sites to allow CPA-style filtering when requested by contexts
  3) various related fixes and extensions:
    a) removed redundant code to handle dispatch for JavaScript, so now it shares the core mechanism
    b) tighten types for operators that take an array of args - now the array is T[] at the cost of a few array allocation methods
    c) a bit more support for empty int sets
    d) void function objects
    e) bug fixes for lexical scoping support, and adaptation to work with core dispatch mechanism
    f) example of CPA-style sensitivity to handle nastiness in a JavaScript for(.. in ...) loop
    

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4150 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-04-27 13:58:56 +00:00
msridhar1 3fffba2c87 javadoc and formatting
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4149 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-04-26 18:44:49 +00:00
msridhar1 a1b36e3488 comments
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4146 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-04-22 23:00:31 +00:00
msridhar1 06b529e146 javadoc, formatting, more generic types
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4144 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-04-22 22:59:13 +00:00
msridhar1 c3e6ea9526 formatting
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4143 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-04-22 22:57:55 +00:00
msridhar1 05a516c1e2 javadoc and formatting
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4130 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-04-20 23:08:47 +00:00
msridhar1 53294397f8 javadoc, formatting
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4128 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-04-20 22:31:27 +00:00
dolby-oss 67d26e74c5 allow IR translator to give warnings and errors via the loader
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4125 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-04-14 01:16:36 +00:00
dolby-oss 9006fce690 some bug fixes to CAst IR generation, especially in handling exceptions
cleanup of how JDT analysis engines work, to make using the JDT front end more modular
bug foxes to JavaScript handling, most notably fixing scoping of functions

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4123 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-04-13 16:27:15 +00:00
dolby-oss cf0f17f4cd adapt to better handling of function scoping in JS
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4121 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-04-13 16:21:08 +00:00
dolby-oss adca756422 preserve exception control flow when expanding reads
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4120 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-04-13 16:20:31 +00:00
dolby-oss ab0bf42f4a fixes to make forms work better for analysis, and to deal with better handling of function scoping in JS
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4119 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-04-13 16:19:55 +00:00
Juergen Graf ee3c56b9e9 instruction index in SSAInstruction for javascript 2011-04-13 12:56:36 +02:00
dolby-oss c82117149d new names for handler functions that include tag name and attribute name
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4112 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-04-08 19:23:10 +00:00
dolby-oss 565f9ca663 hack for CDATA
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4111 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-04-07 16:58:58 +00:00
dolby-oss bc294d76a6 make node types into strings
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4108 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-04-07 15:22:32 +00:00
dolby-oss 032f82f713 typing cleanups
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4105 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-04-05 16:41:43 +00:00