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
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
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