Commit Graph

108 Commits

Author SHA1 Message Date
Ben Liblit f60c164ec1 Escape "<" and ">" in Javadoc when not used as HTML tag syntax 2017-12-19 16:53:52 -06: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 9c83e87cc1 Merge branch 'master' into modernization-java-8-lambdas-and-method-references 2017-11-29 10:51:33 -06:00
Ben Liblit ebfd885d22 Use modern for-each loops where possible
Java sources used as test data have been excluded from this mass
clean-up.
2017-11-28 14:44:53 -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
Ben Liblit 321b28f149 Remove some unnecessary warning suppressions
One such annotation was unnecessary because the thing it was
suppressing no longer happens.  Any future unnecessary warning
suppressions of this kind will now be treated as errors.

The other annotations were unnecessary because the corresponding
warnings have been disabled entirely in the Eclipse projects'
configurations.  There seems to be no way to tell Eclipse to treat
these as anything other than "info" diagnostics in the future, so
that's how they will remain.
2017-08-05 13:29:50 -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
Ben Liblit b9c2890db6 Fix Eclipse warnings about unnecessary warning suppressions 2017-03-28 18:20:38 -05: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
Ben Liblit ed0ddd780f Correct HTML embedded in Javadoc comments
Most of the invalid HTML arose from bare "<" and ">" characters.
These should be escaped as "&lt;" and "&gt;" when not intended to
introduce HTML tags.  When you have many such characters close
together, "{@literal ...}" is a nice, readable alternative that
automatically escapes its contents.  If the text in question is
intended to be a code fragment, then "{@code ...}"  is appropriate:
this is essentially equivalent to "<code>{@literal ...}</code>".

There were a few other HTML violations too, but none common enough to
be worth detailing here.
2016-11-28 11:14:41 -06:00
Manu Sridharan 1a7c527dbe Remove unused conditionals 2016-09-20 14:04:03 -07:00
Manu Sridharan 2c9eec0cff Update callback APIs to expose path edge structure 2016-09-20 13:50:42 -07:00
Manu Sridharan 57198a22f3 Remove trailing whitespace; no functional change 2016-09-20 13:50:42 -07:00
Manu Sridharan b761e3871b Add new callbacks for tracking exploded supergraph
A subclass of TabulationSolver can now override the methods
newNormalExplodedEdge(), newCallExplodedEdge(), and
newReturnExplodedEdge() to take some action whenever (logically)
some edge in the exploded supergraph is "discovered" during
tabulation.
2016-09-20 13:50:42 -07:00
Manu Sridharan 5e51615222 Fix some generic type warnings 2016-07-21 16:57:38 -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 6bd8363503 refactor to isolate core utilities from dependence on Eclipse IProgressMonitor
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4034 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-01-17 22:06:58 +00:00
msridhar1 c8fba1cb0b fix some comments / javadoc
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3829 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2010-05-07 15:35:26 +00:00
sjfink 8bff008a30 patch from Y. Haviv to optimize getResult()
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3801 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2010-02-11 15:19:13 +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
msridhar1 070530d63d change comment and rename a variable
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3644 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-06-11 14:43:54 +00:00
msridhar1 3e305cfe88 extract a method; no API change
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3643 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-06-11 13:54:34 +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
msridhar1 3d816dc160 fix how we decide if we got reuse at a call site
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3542 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-04-28 20:55:46 +00:00
msridhar1 0bd511af9e changed propagate() to return a boolean indicating whether new propagation was performed
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3541 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-04-28 20:43:59 +00:00
sjfink 193560f977 comments
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3540 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-04-28 20:14:15 +00:00
msridhar1 e08ed2663f Deprecate Iterator2Collection.toCollection(); use toSet() or toList() instead.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3421 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-04-09 15:24:42 +00:00
sjfink 9e87c27c3f bug fix for call flow
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3240 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-02-26 16:17:19 +00:00
sjfink 4c9e08f139 a little tuning for partially balanced tabulation
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3146 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2008-12-18 23:30:39 +00:00
sjfink b4b821ef1e bug fix in getResult() for seeds which are not entries
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3122 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2008-12-05 18:04:03 +00:00
sjfink 66884c2c37 fix Eclipse 3.4.1 compiler warnings
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3100 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2008-12-01 19:40:43 +00:00
msridhar1 6f571f016e changes to recording of reuse when processing calls
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3080 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2008-11-05 20:31:50 +00:00
msridhar1 bd2cecd780 allow for recording instances of summary edge re-use
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3075 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2008-11-03 17:46:24 +00:00
msridhar1 d62507eaf8 changed to invoke hasEdge() in some places rather than iterating through all successors, to allow for more laziness
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3071 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2008-10-24 15:22:31 +00:00
msridhar1 34e24e54e8 changes to avoid iterating over all predecessor nodes in processExit() of TabulationSolver; this avoids some unnecessary supergraph construction in the case where the supergraph is constructed lazily
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3068 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2008-10-23 20:36:46 +00:00
sjfink 806602dcfa add getLocalPathEdges
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3060 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2008-10-21 14:34:18 +00:00
sjfink 7e5e1b0250 format
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3028 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2008-09-04 20:12:12 +00:00
msridhar1 faca9f3865 track current summary edge for subclasses; remove previous ability to override insertion of local summary edges (not needed for now)
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3023 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2008-09-03 16:02:30 +00:00
msridhar1 06476f982f allow subclasses to override behavior for local summary edge insertion
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3020 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2008-09-02 21:21:14 +00:00
sjfink ee8a38506e just format
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3019 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2008-09-02 17:38:35 +00:00
msridhar1 2e917f1127 make progress monitor visible to subclasses
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@2994 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2008-08-15 14:58:08 +00:00
msridhar1 9869495506 small refactoring, bug fix for current path edge setting
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@2987 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2008-08-14 14:08:13 +00:00
sjfink 9e07c3c9bc add another type parameter into tabulation APIs
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@2986 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2008-08-13 19:04:40 +00:00
msridhar1 69be5f43c7 make a method protected
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@2984 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2008-08-13 13:56:09 +00:00
msridhar1 a57e381b47 store current path edge in a field, for use in subclasses
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@2983 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2008-08-12 22:16:50 +00:00
sjfink 257cb0d5d5 more work generalizing work list
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@2930 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2008-06-29 22:51:39 +00:00
sjfink 9cc41a4422 generalize tabulation worklist API
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@2929 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2008-06-29 22:22:56 +00:00