Commit Graph

57 Commits

Author SHA1 Message Date
Julian Dolby 27a8fff714 ast-based constant folding 2018-04-28 12:05:49 +02:00
Ben Liblit 544a71ae72 Remove type arguments that Java 1.7+ can infer for us 2017-12-04 14:04:39 -08:00
Ben Liblit 74e0640771 Replace simple lambdas with method references wherever possible 2017-11-27 11:31:15 -06:00
Ben Liblit 790d37781b Convert many single-method anonymous classes to lambdas
Eclipse's automated code clean-up tool did most of the heavy lifting
here: it specifically has a clean-up option for converting functional
interfaces to lambdas.  I merely had to revert the automated changes
for a single enumeration class for which it produced invalid results,
and for a few test inputs that apparently aren't set up to be compiled
with Java 8.
2017-11-27 11:31:15 -06:00
Julian Dolby 8d65788aef convert to Java 8 Function and Predicate 2017-11-11 20:29:04 -05:00
Ben Liblit eaf1c0af85 Plug a `JarFile` resource leak 2017-08-27 11:03:14 -07:00
Julian Dolby 289efc3bb8 Merge branch 'master' of https://github.com/wala/WALA 2017-07-12 08:08:34 -04:00
Ben Liblit 296657a394 Suppress 88 Eclipse warnings about dead code
All of these involve conditionals that check some static, final debug
flag or debug level.  The code will indeed be dead if WALA is built
with those debug facilities turned off.  But we still want the code
present in case someone needs to turn some aspect of debugging on for
a while.
2017-03-17 21:49:34 -05:00
Julian Dolby 31f9f1b0b5 more exclusions
allow 1.8 libs
2015-06-04 15:51:46 -04:00
Julian Dolby 0ccaae3b2c pull exclusions file support into util project and then share it with
the shrike-based dynamic call graph builder so that static and dynamic
graphs can be built consistently more easily.
2013-11-14 13:02:56 -05:00
Julian Dolby 080325b5f6 merge 2013-06-25 11:57:37 -04:00
Manu Sridharan 256cd06460 Convert all Java source files to use Unix line endings; no semantic change 2012-09-04 15:56:05 -07:00
Manu Sridharan 3317c1ccf6 basic compatibility with Java 7 (i.e., don't crash immediately) 2012-08-03 15:41:09 -07:00
msridhar1 59e46916ce Generalize certain IR data structures to be less Java-specific. Generalize annotations code to allow for reading annotation parameters. Various other fixes
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4290 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-12-28 17:03:27 +00:00
sjfink b5bc95f052 tweak some comments
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3714 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-07-02 18:20:10 +00:00
sjfink de6adbc4d7 more migration to Java assertions
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3559 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-05-01 17:42: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 71935d0562 comments
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3552 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-04-30 12:44:08 +00:00
dolby-oss 64fc356f49 not all languages capitalize class loader ref names
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3547 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-04-30 02:02:47 +00:00
yinnon_haviv 1d751fc92f Changes from Omer Tripp:
- Null check for fields (allows tolerance of bytecode parser problems)
- Support for determining if a class loader is an application class loader. (needed for cross languages support)


git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3482 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-04-19 14:34:13 +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
sjfink f1319edeb6 misc. small cleanups
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3384 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-03-30 21:04:17 +00:00
dolby-oss b2bae33bab generalize parsing of Descriptors to also handle languages other than Java
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3366 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-03-26 15:11:45 +00:00
dolby-oss 2e65395044 further shrike-related refactoring
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3365 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-03-24 17:07:44 +00:00
sjfink 34fd3dafde misc. API hardening. documentation, IllegalArgumentExceptions, some other exception cleanups, and some reduced visibility for fragile code.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3321 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-03-16 20:40:56 +00:00
sjfink ed13ddbb17 bug fix 2666538: make ClassLoaderReference immutable, and related API fixes
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3302 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-03-13 14:20:35 +00:00
sjfink b001a5d2f5 more IllegalArgumentExceptions
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3292 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-03-12 16:02:13 +00:00
sjfink e4a6ae61a7 more IllegalArgumentExceptions
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3286 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-03-11 19:33:02 +00:00
yinnon_haviv 235a85fe36 Added the possibility to serialize analysis scope.
ShallowAnalysisScope can be created from an analysis scope.
It includes all information but the array class loader (for which serialization is problematic).



git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3276 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-03-11 15:26:28 +00:00
sjfink 4d1f7ab35f more IllegalArgumentExceptions
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3272 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-03-10 21:18:07 +00:00
sjfink 748b68ae22 small API cleanup for createJavaAnalysisScope()
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3234 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-02-19 18:31:29 +00:00
dolby-oss b61135c8be adapt to Shrike changes: divorce SSAInstruction from the Shrike Instruction, which requires adding a type parameter to ControlFlowGraph and propagating that change. Also, stop using the JVML opcode in a few places where it was (unnecessarily) being used.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3227 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-02-19 15:58:31 +00:00
sjfink b1f300156e patch from yinnon to make analysis scopes obey list order
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3144 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2008-12-17 19:52:27 +00:00
msridhar1 104dce02b1 add PlatformUtil for platform-specific functionality
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3037 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2008-09-12 21:19:51 +00:00
sjfink 9d797eaafe a new variant of addToScope()
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3036 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2008-09-12 14:42:50 +00:00
sjfink 9472396187 fixes to use HashSetFactory and HashMapFactory
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@2613 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2008-02-25 16:37:51 +00:00
sjfink e6a904b715 just refactoring ... introduce 2 new packages in wala.util.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@2446 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2008-01-24 22:05:28 +00:00
msridhar1 5127c25fab changed getRTJar() to work on Mac
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@2221 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-12-19 00:19:23 +00:00
sjfink 378427225c misc bug fixes and cleanups for new AnalysisScopes
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@2171 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-12-13 00:39:50 +00:00
dolby-oss 17a8b62204 remove EMF
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@2161 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-12-12 20:46:05 +00:00
sjfink 4b73238606 clean up Language and AnalysisScope interface
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@2152 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-12-11 16:33:58 +00:00
rmfuhrer 728b86d817 Now maintains a set of Languages (supplied by the client) that are involved in the current analysis, and provides API for identifying the set of "base languages" (relative to the specified inheritance relationships among Languages), each of which induces a distinct ClassHierarchy.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@2113 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-12-06 14:49:22 +00:00
sjfink c18918a9b2 add isJava16Libraries()
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1858 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-10-11 16:04:39 +00:00
sjfink 8864b70d50 miscellaneous housekeeping
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1364 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-07-06 03:07:14 +00:00
sjfink 65cc4433cd make some fields final
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1244 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-06-05 14:01:26 +00:00
dolby-oss 0ed8d96d55 Changes to allow cross-language call graphs. The three biggest changes are as follows:
1) The visitors nested in the SSAPropagationCallGraph have become static classes so that they can be reused in a delegation pattern for the cross-language call graph builder.
2) The ClassHierarchy is now encapsulated behind an IClassHierarchy interface to allow for a CrossLanguageClassHierarchy that delegates to a set of child hierarchies, one for each language.  The internals of the ClassHierarchy are almost entirely unchanged
3) There is now a new Language interface in com.ibm.wala.classLoader, and all IClassLoader objects have to know what language they load for.  This language object now encapsulates a few language-specific options that were previously hacked into the AnalysisOptions object.


git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1212 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-06-01 03:26:18 +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
sjfink af153ec7ff misc cleanup and refactoring
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1179 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-05-25 19:33:39 +00:00