Commit Graph

44 Commits

Author SHA1 Message Date
Julian Dolby b2503628a4 1) a bit more source mappimg information
2) fixes to how Contexts are combined
2018-10-13 08:42:08 -04:00
Erik Derr ee13713c4d Impl of IMethod.is(Wala)Synthetic and IClass.isSynthetic (#359)
* Impl of IMethod isSynthetic and isWalaSynthetic

So far IMethod.isSynthetic referred to WALA-generated helper functions
and there was no equivalent to check whether an IMethod is synthetic in
terms of compiler-generated.

To make naming consistent this patch first renames the isSynthetic to
isWalaSynthetic to clearly indicate that a given IMethod was generated
by WALA. Then, we re-introduce isSynthetic that from now on checks
whether an IMethod is synthetic/compiler-generated (referring to the
synthetic flag in bytecode)

* Implementation of IClass.isSynthetic

Complementary to IMethod.isSynthetic, this method checks whether
an IClass is compiler-generated.

* updated JavaDoc
2018-10-02 22:28:21 -07:00
Julian Dolby 436d3165f7 rename getNumberOfParameters to getNumberOfPositionalParameters since the Python front end now supports keyword parameters
support variable names in IR for synthetic summaries
2018-04-12 19:09:25 -04:00
Ben Liblit 0286c2b048 Use Iterator2Iterable helper to convert more loops to for-each 2017-12-04 14:04:39 -08: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 8ef6ad5069 Add proper type parameters to nearly all uses of Iterator
Java sources used as test data have been excluded.
2017-11-28 14:09:30 -06:00
Julian Dolby 289efc3bb8 Merge branch 'master' of https://github.com/wala/WALA 2017-07-12 08:08:34 -04:00
Ben Liblit 4cef26162c Add @Override annotations wherever possible (#178)
* Fix warnings about unset javacProjectSettings build entries

Specifically, these are all warnings of the form "The
'javacProjectSettings' build entry should be set when there are project
specific compiler settings".

* Add @Override annotations to all methods that do override

This fixes 287 Eclipse code style warnings.

* Cannot add @Override annotations here, so suppress warnings instead

We should be able to add these @Override annotations in the future,
one Eclipse Mars and earlier are no longer supported.  For now,
though, they have to go away in order to be compatible with older
Eclipse releases.
2017-05-08 07:39:49 -07:00
Ben Liblit c382934933 Fix an Eclipse warning about an unchecked cast 2017-03-15 11:24:40 -05:00
Julian Dolby 080325b5f6 merge 2013-06-25 11:57:37 -04:00
Julian Dolby 321e925660 work on CHA 2013-04-03 12:12:43 -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
dolby-oss 5a042f3f69 tighten typing for NumberedGraph, using covariance as allowed as of java 1.5
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4042 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-01-20 16:46:53 +00:00
dolby-oss 00871016cb adapt to checkcast change
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3817 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2010-04-28 19:33:34 +00:00
sjfink e3522b999e add an IllegalStateException check
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3769 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-12-02 15:04:59 +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
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 27a8cf22c0 comments and formatting
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3554 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-04-30 12:50:34 +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 6a529e192e tweak comments
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3417 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-04-06 19:48:11 +00:00
pistoia 04cab258c1 Added support for interrupting the construction of the call graph after a configurable maximum number of nodes is reached.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@2677 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2008-03-05 06:24:51 +00:00
sjfink 698eaf87b6 delete redundant method CGNode.iterateSites()
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@2063 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-11-20 15:50:19 +00:00
sjfink 30b445f94f CGNode implements IClassHierarchyDweller.
misc. small cleanups

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1881 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-10-15 16:34:02 +00:00
sjfink a013bb006e cleanups for illegal arguments and unsupported operations
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1635 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-08-20 20:16:43 +00:00
sjfink 059761fb70 use Hash factories everywhere
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1438 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-07-11 21:08:12 +00:00
sjfink fd1a1d4cae restructure to allow CGNodes to dwell in more than one CallGraph. lift some functions up from CGNode to CallGraph
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1422 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-07-11 16:24:58 +00:00
sjfink 096729ad2c clean up some comments
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1414 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-07-11 14:49:11 +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
sjfink 56f4bec3ea 1) change implementation of CGNode hierarchy to avoid type parameters.
2) nuke BasicEntrypoints
3) tweak interface to InstanceKeyFactory for constants
4) refactoring for HeadlessWALA application

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1227 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-06-01 18:50:24 +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 42e43625cd more argument checking
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1163 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-05-22 02:26:58 +00:00
sjfink ed509d5910 throw IllegalArgumentExceptions
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1098 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-05-08 21:49:58 +00:00
sjfink e955c1e657 Graph API change: Graph is now an Iterable of Nodes!
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@867 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-03-21 21:07:30 +00:00
sjfink a927db0f8c miscellaneous minor cleanups. eclipse build stuff. import statements.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@676 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-02-08 19:07:02 +00:00
sjfink c6e843ad72 bug fix for new clinit processing
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@614 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-01-30 17:34:52 +00:00
sjfink a3d04f3aaf delete a dead import
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@604 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-01-24 16:38:40 +00:00
sjfink 97c9efd313 add new FakeWorldClinitNode as a home for calls to class initializers
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@602 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-01-24 16:32:48 +00:00
sjfink c4c70c6893 refactor string replace ops
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@532 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-01-08 17:19:58 +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