Commit Graph

33 Commits

Author SHA1 Message Date
Julian Dolby c179b02238 split constructor logic out of target selector, so that it can be reused
more flexibly in the field-based builders
2014-05-28 13:35:11 -04:00
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 080325b5f6 merge 2013-06-25 11:57:37 -04: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
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 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 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 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
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
dolby-oss 0070a69af0 handle bogus ctor calls, likely due to analysis imprecision
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3969 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2010-10-11 14:24:40 +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
dolby-oss d6dbd72ee6 fix for assertion failure in loading functions with the new way of loading additional files
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3943 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2010-09-28 02:00:39 +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 0eaaf73232 handle cases where imprecision causes Object to flow places where it would not be legal
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3934 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2010-09-14 20:27:30 +00:00
dolby-oss 2e724aac3e fixes for JavaScript motivated by Web examples
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3823 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2010-04-28 19:38:28 +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
sjfink addfb7ddc2 organize imports
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3483 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-04-20 12:54:33 +00:00
dolby-oss f6f7b92bfe clean ups, and work on error reporting in the CAst front end
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3461 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-04-15 12:52:40 +00:00
sjfink 77101da20f misc. cleanups
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3434 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-04-10 19:48:32 +00:00
dolby-oss e80dc6ef8c refactor handling of constants in Shrike to abstract away from Java bytecode
introduce factories to create SSAInstruction objects


git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3433 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-04-10 18:33:07 +00:00
sjfink 957cb2b8ca deprecate Trace
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3432 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-04-09 20:31:14 +00:00
dolby-oss 309a9b6d72 enhancements to handling of lexical scoping
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3109 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2008-12-02 14:08:12 +00:00
dolby-oss 3df05382f0 bug fix for Anders and Simon regarding use of program counters in synthetic constructor functions
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@2845 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2008-05-23 16:55:06 +00:00
sjfink 43e0a28d9e hide Pair constructor; misc. generics-related cleanups
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1705 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-08-31 23:20:12 +00:00
sjfink 433b943759 use Hash factories everywhere
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1439 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-07-11 21:08:21 +00:00
sjfink 99a97fb477 massive overhaul of Warnings management
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1389 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-07-06 22:09:08 +00:00
sjfink 2445a55ad8 delete CallGraph.getInterpreter() and CFGProvider
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1346 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-07-05 03:04:57 +00:00
dolby-oss 66b19b8666 support for cross-language call graphs
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1216 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-06-01 03:32:56 +00:00
dolby-oss 07baba9290 Translator now generates property read prototype looping as a proper CAst loop rather than adding the loop in the IR. Use new AstIsDefinedInstruction to test for defined'ness. Better separation of primitive values versus objects that corresponds to primitives.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@987 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-04-19 13:53:31 +00:00
sjfink 978bddae43 minor cleanups
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@848 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-03-12 16:09:39 +00:00
dolby-oss 541ee23cdf fix to generation of constructor function bodies
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@842 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-03-12 02:10:10 +00:00
sjfink f1ac319ca0 squash remaining Eclipse warnings
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@702 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-02-09 15:34:25 +00:00
dolby-oss d8f21f8ee5 Initial contribution of core script analysis code
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@622 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-02-02 17:25:09 +00:00