Commit Graph

5174 Commits

Author SHA1 Message Date
Manu Sridharan d901b13425 version 1.4.3 2017-08-05 20:52:32 -07:00
Manu Sridharan 73063628de cache call targets in CHACallGraph (#213)
This is a simple optimization that helps performance a lot.
2017-08-05 14:07:27 -07:00
Ben Liblit 13d807708f Suppress an Eclipse warning about lacking XML grammar info
The single "No grammar constraints (DTD or XML Schema) referenced in
the document" warning arises in a generated file.  I doubt that we can
change the generation process to include grammar information.  Even if
we could, I don't mind omitting validation here assuming that we can
trust the generator tool to be correct.  Validation is much more
important for human-authored XML; for tool-authored XML, we can live
without it.
2017-08-05 13:30:54 -07:00
Ben Liblit d6ce679a72 Add static private serialVersionUID fields to Serializable classes
We already have plenty of examples of Serializable classes with this
field, and the vast majority of those fields have generated IDs rather
than "1L".  From this I infer that using proper serialVersionUID
fields is considered appropriate WALA coding style.
2017-08-05 13:30:35 -07:00
Ben Liblit f76b79b067 Don't complain about unqualified accesses to instance fields
I'm very picky about code style, but even I see no benefit in
requiring "this.field" instead of simply "field".
2017-08-05 13:30:04 -07:00
Ben Liblit 678e3e64a6 Fix all Eclipse warnings about unused local variables
Also report unused variables as errors in the future, not just
warnings.  We've fixed all of these as of right now, so let's keep it
clean in the future too.
2017-08-05 13:29:50 -07:00
Ben Liblit b1cd868e06 Remove an unused method relating to Android system entry points 2017-08-05 13:29:50 -07: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
Julian Dolby ef94d85d2b quiet 2017-08-03 21:11:33 +00:00
Julian Dolby 202a53d090 reference javadoc 2017-08-03 20:43:22 +00:00
Julian Dolby 3db5ff4707 use e47 2017-08-02 22:20:09 +00:00
Julian Dolby 2ba40c99fa Eclipse Oxygen 2017-08-02 19:59:54 +00:00
Julian Dolby 8a76b132cd try new way to make javadoc 2017-08-02 14:56:04 +00:00
Julian Dolby 4629f8b9cd see if maven 3.5.0 builds javascript on travis as it does on my laptop 2017-08-02 02:53:01 +00:00
Julian Dolby 3d2cdf76b7 kill debug logging 2017-08-02 02:13:55 +00:00
Julian Dolby 1971b09b6a mirror 2017-08-02 01:03:56 +00:00
Julian Dolby 340fb45b85 remove -q for diagnostics 2017-08-02 00:39:51 +00:00
Julian Dolby f094bb7bd0 more combinations 2017-08-02 00:25:27 +00:00
Julian Dolby 725c734b8b swap verify and install 2017-08-02 00:04:38 +00:00
Julian Dolby 93119c7ad4 try javadoc 2017-08-01 23:46:43 +00:00
Julian Dolby e41ff85bbb try javadoc 2017-08-01 23:43:26 +00:00
Julian Dolby df6618ee95 try javadoc 2017-08-01 23:09:35 +00:00
Julian Dolby 10d88f3208 try javadoc 2017-08-01 22:41:21 +00:00
Julian Dolby 31a38e8a4c try javadoc 2017-08-01 22:33:39 +00:00
Julian Dolby 62ca182690 try javadoc 2017-08-01 22:19:37 +00:00
Julian Dolby ab183520da try javadoc 2017-08-01 22:16:32 +00:00
Julian Dolby 9569471d63 try javadoc 2017-08-01 22:15:29 +00:00
Julian Dolby 0e29403485 try javadoc 2017-08-01 22:12:31 +00:00
Julian Dolby 699bc5a308 try javadoc 2017-08-01 22:08:50 +00:00
Julian Dolby 50d0836701 try javadoc 2017-08-01 22:05:32 +00:00
Julian Dolby 9ea26ad22d try javadoc 2017-08-01 22:03:50 +00:00
Julian Dolby 4168547f35 try javadoc 2017-08-01 22:01:38 +00:00
Julian Dolby ec82f6b6e2 try javadoc 2017-08-01 21:57:57 +00:00
Julian Dolby 3dfc70d919 try javadoc 2017-08-01 21:56:21 +00:00
Julian Dolby a3113df645 try javadoc 2017-08-01 21:52:58 +00:00
Julian Dolby bc31c11003 try javadoc 2017-08-01 21:49:44 +00:00
Julian Dolby 63a82aee61 try javascript 2017-08-01 21:45:48 +00:00
Julian Dolby 944f620537 try javascript 2017-08-01 21:44:07 +00:00
Ben Liblit f7dc0a06de Treat unused parameters as errors, not merely warnings
We've fixed or suppressed all such warnings, except in projects
containing test inputs.  Let's make sure no more appear in the future.
2017-07-31 15:29:00 -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 c65943add1 Enable Eclipse warnings about unused parameters in more projects 2017-07-31 15:29:00 -07:00
Julian Dolby b5805b5459 move nio from static ctor to make android 7 happy 2017-07-29 01:52:55 +00:00
Julian Dolby 76435cfa92 prune dependencies 2017-07-29 01:17:52 +00:00
Ben Liblit 191904d607 Remove "throws XYZ" declarations where XYZ cannot be thrown
Unnecessary "throws" declarations tend to cascade.  If foo() calls
bar() and bar() falsely declares that it might throw IOException, that
often leads a programmer to declare that foo() might throw IOException
as well.  Fixing the bar() throws declaration then reveals that we can
fix the foo() throws declaration too.  By the time we reach a fixed
point with cleaning these up, we have removed roughly 320 unnecessary
throws declarations.

In a few cases, this cleanup even lets us remove entire "try
... catch" statements where the only thing being caught was an
exception that we now statically know cannot be thrown.  Nice!

In Eclipse project configurations, upgrade any future such shenanigans
from warnings to errors.  Now that we've fixed this, we don't want it
coming back again.

There is a potential drawback to this change.  Conceivably some public
WALA API entry point might have declared that it could throw some
exception merely to reserve the *option* of throwing that exception in
third-party code that subclasses and overrides the API entry point in
question.  I have no idea whether this is a significant concern in
practice, though.
2017-07-28 10:20:28 -07:00
Ben Liblit c1572ec3a5 Remove unnecessary warning-suppression annotations
These annotations used to suppress real Eclipse warnings.  However,
we've now turned those warnings off for the entire project.
2017-07-26 20:08:34 -07:00
Ben Liblit 455a4a2bd6 Disable or suppress various Eclipse warnings in test data
These are all things one might consider fixing in real application
data.  Java code used as test inputs, though, serves a different
purpose.  Weird code is generally acceptable or even intentional.
2017-07-26 20:08:34 -07:00
Julian Dolby 00ad57fede trigger WALA-Mobile too 2017-07-24 17:28:24 +00:00
Julian Dolby 1e95dbcdd4 try to trigger WALA Client 2017-07-24 14:03:06 +00:00
Julian Dolby fb6f5df424 add missing files 2017-07-23 18:24:23 +00:00
Ben Liblit ec0d7354ef Disable Eclipse warnings about empty statements
Previously we had 5 such warnings.  That's not very many, but it
suggests that the WALA developers consider this to be an acceptable
coding style.  If that's so, then it's better to hide these warnings
rather than keep them around as a perpetual distraction.
2017-07-18 20:43:36 -07:00