Commit Graph

3461 Commits

Author SHA1 Message Date
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 5608a3ce73 Function is a function.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4379 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:37:36 +00:00
msridhar1 16317238ff Print call graph information more compactly.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4378 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:37:27 +00:00
msridhar1 6051baf5fb fix bug exposed by wrap3.js: we were not recusring properly in ScopeMappingInstanceKey.getFunargNodes()
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4377 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:37:13 +00:00
msridhar1 ed37d9ee5d another failing test case for scoping and closures
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4376 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:36:59 +00:00
msridhar1 eb508d52f1 polishing of fix for wrap2.js issue
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4375 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:36:37 +00:00
msridhar1 22fa1d4692 initial version of bug fix for wrap2.js; needs to be commented / polished
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4374 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:36:23 +00:00
msridhar1 ca1792a6b8 add unit test for recursive lexical scopes
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4373 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:36:10 +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 2dc375340a Simplified test cases.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4365 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:34:14 +00:00
msridhar1 98f89876b1 Adding two simple regression tests.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4364 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:34:04 +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 063ddd32cd Renamed temporary variable "base" used when expanding property reads to
"$$ base" to avoid name clashes with user-defined variables.

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4358 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:32:38 +00:00
msridhar1 63c20d5f8d reset default timeout in TestUtil; kill CGNodeResolver.toString()
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4357 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:32:25 +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 9aabf5c042 extra javadoc
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4355 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:31:57 +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 e4bab37a82 bug fix with cached DefUse in AstCGNode
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4353 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:31:30 +00:00
msridhar1 72c2c92294 added coarser lexical-scoping resolver. reduces memory usage, but analysis seems to slower. disabled as regression tests don't pass
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4352 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:31:15 +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 cf37a6728d more work on toString() methods
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4350 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:30:46 +00:00
msridhar1 1aa85b27eb comments and formatting
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4349 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:30:32 +00:00
msridhar1 aa94e28908 some javadoc
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4348 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:30:17 +00:00
msridhar1 a55135831e fix missing semi-colon
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4347 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:30:02 +00:00
msridhar1 fc1a961c4c undo hacks
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4346 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:29:52 +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 d01db4d276 Now eliminating duplicates when copying names during SSA conversion.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4343 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:29:14 +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 9a3b4f3d8a add missing assertion check
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4341 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:28:46 +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 e71b067b6e default call graph dumping to off
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4339 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:28:16 +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 3057d11607 stop dumping call graph in the MediaWiki test to speed things up; add a flag to Util to suppress call graph output in other cases
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4337 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:27:42 +00:00
msridhar1 610c7e252e add a test for Function.apply() with the arguments array
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4336 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:27:21 +00:00
msridhar1 14c4cdb251 bug fix in SSAPropagationCallGraphBuilder: allow empty points-to sets for interesting non-receiver arguments
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4335 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:27:03 +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