Commit Graph

9 Commits

Author SHA1 Message Date
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
sjfink 8d636def47 tweak comments
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3672 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-06-12 15:22:26 +00:00
sjfink f63e374a4b more IllegalArgumentExceptions. a few small bug fixes
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3278 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-03-11 16:57:32 +00:00
sjfink 8d6a5fcae4 generalize to allow subclassing
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@2559 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2008-02-11 21:27:49 +00:00
sjfink c5caf88def significant refactoring and generalization of instance keys and CFA builders
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@2284 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2008-01-04 18:24:36 +00:00
sjfink ea3caa1e8a mostly clean up old comments.
also rename InferGraphRootsImpl to InferGraphRoots

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1200 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-05-30 19:05:23 +00:00
sjfink fdb7a17af3 add @Overrides annotations and nuke unnecessary casts
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1197 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-05-30 15:16:05 +00:00
dolby-oss 2dc8f805d4 major change is reworking how filtering works in the propagation call graph builders. The old notion of a filter as a type or an instance key has been replaced with an interface TypeFilter that supports arbitrary filtering. The class and instance key filters have been redone to use it, and a new filter that filters for types that dispatch to a particular method has also been added.
other minor changes:

TypeInference:
 1) fix to handle constant that is the last value number
 2) add visitor to set result of instanceof to boolean if doPrimitives
 3) PrimitivePropagateOperator not final to allow specialization
PrimitiveType:
 mimic Java semantics for implicit upcasts: add notion of size and 
 define meet to take larger size
SSASwitchInstruction:
 add iterator for switch labels
cfg.Util:
 add more helpers for dealing with switches


git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@838 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-03-12 01:56:32 +00:00
sjfink df97f42b7e attempt to introduce tags and trunk
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@490 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2006-11-22 17:38:46 +00:00