Commit Graph

226 Commits

Author SHA1 Message Date
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 1f5c0996e5 re-enable ajaxslt test with call / apply handling disabled
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4406 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:48:14 +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 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 082607327d test case for bad recursion check bug
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4389 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:43:58 +00:00
msridhar1 13202e726e Added test case for handling of arguments array.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4388 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:43:37 +00:00
msridhar1 e149af8a13 Some more tests.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4381 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:41:57 +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 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 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 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 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 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 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 be1ead5245 additional modeling of prototype chains for built-in objects
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4320 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:22:27 +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 c815519025 ignore jquery test; no longer works due to proper handling of || construct
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4315 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:20:55 +00:00
msridhar1 1673a200e5 default to dumping files in temp directory
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4312 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:20:13 +00:00
msridhar1 74911f269e fix test case for Function.call(), add test case for Function.apply()
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4309 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:19:36 +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 cb37e60635 make classes abstract, so their tests are not run directly
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4287 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-10-31 18:47:14 +00:00
msridhar1 b5192e79a9 add another test
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4213 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-07-05 02:32:10 +00:00
msridhar1 c316309900 add a test
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4211 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-07-04 21:21:29 +00:00
dolby-oss a8e79f92aa adapt to for...in context changes, and use new test
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4205 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-07-02 15:16:38 +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 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 10849fcf78 add method for constructing an HTML CG with a progress monitor
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4175 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-05-06 15:14:32 +00:00
msridhar1 3a4fee83c4 test case for constructors and lexical accesses
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4172 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-05-05 03:52:26 +00:00
dolby-oss 7adce5daf7 change to dump api to make usable in other places, without a builder
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4160 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-04-28 19:08:06 +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 010332620f javadoc, refactoring
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4139 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-04-22 18:15:10 +00:00
msridhar1 18833137c0 Change Mozilla test cases to not pull in external JS files by default (for performance). In makeHTMLCG(), don't call dumpCG() by default.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4127 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-04-20 20:55:57 +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 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 e7ac8c25fe move test with not-quite-correct JavaScript code to the Rhino test, since Rhino handles it anyway
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4106 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-04-05 16:42:49 +00:00
dolby-oss bb28cd875f updates to processing of Web pages:
1) adopted the code from Rational for HTML handling
    i) extended it to integrate better source mapping into IR
    ii) integrated fixes from the old html processing to collect more info on forms
    iii) added some copyright comments
  2) updated version of jericho
  3) added support for nu.validator for html5
  4) added script to fetch html parser jars, and removed binary jar
  

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4102 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-04-04 21:20:31 +00:00
dolby-oss cc99d4898e another example from web pages for apollo
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4000 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2010-11-23 15:31:53 +00:00
dolby-oss 6afa3ee732 test that seems to exhibit null values of attributes from HTML
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3998 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2010-11-22 17:46:30 +00:00
dolby-oss 23b669a691 more work and tests on Web page model
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3991 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2010-11-05 00:36:44 +00:00
yinnon_haviv 6157acd567 Fix stack overflow on long methods bug.
See test case for more details.
- Convert the problematic recursion (SEARCH of SSA conversion) into an "iterative" code (by introducing a stack data structure.


git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3961 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2010-10-02 20:53:31 +00:00
yinnon_haviv fc0d5ecc47 - Fix the cast rewriter to rewrite labels too.
- Fix the translation of switch statements to keep the labels "alive" (part of the AST).
- Added test case for the bug.

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3960 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2010-10-02 20:27:17 +00:00
yinnon_haviv 38f8a44044 Fix prototype contamination bug (described in added test).
When someone writes: 
MyFunction.prototype.myMethod = ...
we want "myMethod" to be accessible only for objects of type "MyFunction".

- Change how generated ctors look like - now they have a private prototype object into which methods can be added
- Change the PropertyReadExpander to have a different handling when reading the "prototype" field, avoid performing a loop on the prototype chain, so that the points to set of fetched field will be accurate (and allow us to set only the fields of it)


git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3959 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2010-10-02 19:30:03 +00:00
yinnon_haviv 2fea4f6e4f - Fix unit tests both for Mac and Windows environment.
- Replace Html Parser with one that is based on Jericho (require running ./fetch_libraries.sh on cast.js project. 

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3942 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2010-09-27 15:15:03 +00:00
dolby-oss 1f8da24940 add support for base urls
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3923 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2010-09-09 14:09:16 +00:00
msridhar1 b8ecc8d48a nuked ReflectionSpecification
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3832 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2010-05-12 17:19:54 +00:00
msridhar1 8b41d7fc88 update to JUnit 4
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3747 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-07-27 23:21:22 +00:00
dolby-oss a3dc6411ae separate Rhino-specific portions of javascript analysis
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3731 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-07-16 18:09:54 +00:00
sjfink a0efbee8ff Major refactoring to introduce com.ibm.wala.ide. Many related changes and patches from Marcelo Paternostro.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3693 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-06-22 15:06:12 +00:00
dolby-oss be8400fdd1 new tests, including for Web pages
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3628 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-06-03 18:27:08 +00:00
dolby-oss c3769d5717 performance and other fixes driven by models of Web pages for JavaScript
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3562 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-05-04 14:11:31 +00:00
sjfink 9939142eae switch from Assertions._assert to Java assertions
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3555 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-04-30 13:16:52 +00:00
dolby-oss 159e25f52e fixes for Rhino issue---ignoring multiple variables in a single var declaration
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3201 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-02-02 20:46:51 +00:00
dolby-oss 9979d0899c more fixes to lexical scoping for JavaScript
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3196 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-01-30 16:33:22 +00:00
sjfink 656c15b16c remove unused import
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3178 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-01-19 19:37:53 +00:00
dolby-oss 8d3c76715c misc. fixes motivated by JavaScript
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3175 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-01-19 15:12:39 +00:00
dolby-oss 637f06b2c0 further work on lexical scoping
more bug fixes for Anders


git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3136 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2008-12-16 14:54:09 +00:00
dolby-oss 7be15e3137 additional test from Anders
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3112 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2008-12-02 14:09:49 +00:00
sjfink 4773a53b68 thread IProgressMonitor and CancelException through many APIs
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@2577 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2008-02-13 22:34:36 +00:00
dolby-oss ce1e0eca5a move some util functionality to CAst core
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@2135 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-12-10 04:33:40 +00:00
rmfuhrer d6e1b20b5c Now adds the Language object representing JavaScript to the AnalysisScope.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@2117 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-12-06 14:58:36 +00:00
sjfink dab36d8d6f add CancelException to interact with Eclipse progress monitors and thread it through some APIs
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@2003 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-11-13 16:18:48 +00:00
dolby-oss e6cceb103b support for 1-CFA analysis
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1986 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-11-06 04:14:53 +00:00
sjfink e7d9d74292 decouple IR caching from AnalysisOptions with a new AnalysisCache object
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1518 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-07-20 15:20:13 +00:00
sjfink d6f9af13f3 use Hash factories everywhere
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1440 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-07-11 21:08:26 +00:00
sjfink 3afac56df2 massive overhaul of Warnings management
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1386 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-07-06 22:08:41 +00:00
dolby-oss 90d49382b5 move call graph shape testing support for generic CAst test project
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1237 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-06-03 21:56:39 +00:00
dolby-oss ba7b7b53ca adapt to wala changes for cross-language call graphs
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1217 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-06-01 03:33:48 +00:00
sjfink c205bc86f7 delete Entrypoints interface.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1128 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-05-15 17:45:03 +00:00
sjfink 59e4629aa7 squash remaining Eclipse warnings
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@701 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-02-09 15:33:55 +00:00
sjfink 3b979958df format
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@697 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-02-09 10:06:43 +00:00
sjfink 68772a686c miscellaneous minor cleanups. eclipse build stuff. import statements.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@681 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-02-08 19:08:41 +00:00
dolby-oss ed26cb625a fix WebUtil test to use new pathname for ajaxslt
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@640 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-02-02 22:26:38 +00:00
dolby-oss 50fd961772 Initial contribution of core script analysis code
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@624 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-02-02 17:28:04 +00:00