Commit Graph

20 Commits

Author SHA1 Message Date
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
Ben Liblit 11b636f764 Suppress some unchecked-cast warnings we cannot avoid
Type erasure makes me sad.
2017-08-15 09:16:59 -07:00
Ben Liblit 6087b73cee Fix or suppress all 242 Eclipse warnings about unused parameters
In general, my approach was to try to eliminate each unused parameter
using Eclipse's "Change Method Signature" refactoring.  That did not
always succeed: a parameter may be unused in some base class method,
but then be used in subclass's override of that method.  In cases
where refactoring to eliminate a parameter failed, I instead annotated
the parameter with '@SuppressWarnings("unused")' to silence the
warning.

Note: this group of changes creates a significant risk of
incompatibility for third-party WALA code.  Some removed parameters
change externally-visible APIs.  Furthermore, these changes do not
necessarily lead to Java compilation errors.  For example, suppose
third-party code subclasses a WALA class or interface, overrides a
method, but does not annotate that method as @Override.  Removing a
parameter means that the third-party method no longer overrides.  This
can quietly change code behavior without compile-time errors or
warnings.  This is exactly why one should use @Override wherever
possible, but we cannot guarantee that third-party WALA users have
done that.
2017-07-31 15:29:00 -07: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
sjfink 7bb0b09935 refactoring: move IBytecodeMethod to the classloader package
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3664 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-06-12 14:47:30 +00:00
sjfink 4d5b7c914d comments
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3515 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-04-22 17:52: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 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
sjfink 072fb04c32 generalize some shrike implementation details to play more nicely with others
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@2814 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2008-05-13 19:24:57 +00:00
sjfink 6c88b93d26 optimizations for IR caching when context is irrelevant
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@2801 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2008-05-12 13:34:35 +00:00
sjfink b9b20a28b5 more IllegalArgumentExceptions and related cleanups
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1717 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-09-04 00:58:16 +00:00
sjfink c0ee8e04b3 type parameters for IRFactory
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1709 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-09-01 14:41:14 +00:00
sjfink 5eb76541f0 massive overhaul of Warnings management
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1382 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-07-06 22:08:13 +00:00
sjfink b0d31d38cb remove some unnecessary IClassHierarchy parameters
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1254 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-06-06 20:15:37 +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 a2c7c8d6e4 check arguments to public methods
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1019 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-04-26 20:35:25 +00:00
sjfink 979451f05c rename Shrike*Wrapper to just Shrike*
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@551 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-01-10 20:49:24 +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