Commit Graph

5337 Commits

Author SHA1 Message Date
Ben Liblit e89c5c6562 Disable deprecation warnings in modules where they are unavoidable (#263)
These two modules refer to "AST.JLS8".  If you have Java 9 installed,
then "AST.JLS8" is marked as deprecated, and we can a warning unless
we suppress or disable the deprecation warning wherever "AST.JLS8" is
used.  However, if you don't have Java 9 installed, then "AST.JLS8" is
not deprecated, and trying to suppress deprecation warnings where
"AST.JLS8" is used instead produces warnings about unnecessary warning
suppression.  Aagh!  Turning off the deprecation warnings entirely for
these two modules seems like the only sane compromise.
2017-11-21 18:00:43 -08:00
Julian Dolby 5faae993e9
Merge pull request #261 from liblit/warning-fixes-deprecated-AST-JLS8
Suppress deprecation warnings about requesting an old AST version
2017-11-19 17:41:59 -05:00
Julian Dolby 96559826c2
Merge pull request #262 from liblit/warning-fix-unnecessary-default-encoding
Remove a default encoding setting that Eclipse considers unnecessary
2017-11-19 17:41:20 -05:00
Ben Liblit 221a1a26ed Remove a default encoding setting that Eclipse considers unnecessary
Removing fixes one Eclipse error diagnostic: "Default encoding (UTF-8)
for library '.' should be removed as the workspace does not specify an
explicit encoding."

This reapplies the fox from ecd1ff72fe,
which was reverted (apparently unintentionally) as part of a larger
group of changes in 8d65788aef.
2017-11-19 15:46:40 -06:00
Ben Liblit d79707e137 Suppress deprecation warnings about requesting an old AST version
Near as I can tell, the requests for deprecated versions here are
intentional.  The non-deprecated version (AST.JLS9) is the latest and
greatest, but as far as I can tell we really do want the older version
here.

This is similar to 6caecce3e7, though in
that case JLS8 was the non-reprecated latest version and we were still
asking for JLS3.
2017-11-19 15:43:45 -06:00
Raffi Khatchadourian 1d239dac52 Remove explicit super call (#252) 2017-11-18 09:19:43 -05:00
Manu Sridharan 808688b793 use lambda shorthand 2017-11-12 10:08:57 -08:00
Julian Dolby d124256835 remove java 7 support 2017-11-11 21:20:41 -05:00
Julian Dolby 8fc5a35c91 Merge branch 'master' of https://github.com/wala/WALA 2017-11-11 20:32:14 -05:00
Julian Dolby 8d65788aef convert to Java 8 Function and Predicate 2017-11-11 20:29:04 -05:00
Julian Dolby 12882baba4 Merge pull request #253 from karimhamdanali/master
Support for Averroes + Dynamic call graphs
2017-10-23 23:02:54 -04:00
Karim Ali 423db824b3 adding support for the dynamic call graph experiments
currentSite should be ThreadLocal because not having this screws up a lot of the instrumentation-based dynamic call graphs we generate for the shootout benchmarks.

I have also conditionally changed how the string of the currentSite is created based on the output format that Julian came up with for the dynamic call graph. This support is necessary, because the Java std libraries are not instrumented. Therefore, they would appear as if calls from them show up from nowhere in the log that WALA generates for the dynamic call graph. This fix make those calls originate from a fake library BLOB node in the call graph.
2017-10-23 17:54:01 -06:00
Karim Ali d22ee36b09 adding some support for averroes
- adding multi-flow AnalysisOption
- enable/disable special handling of zero-length arrays

Both are required to enable precise analysis of some Dacapo benchmarks when using the Averroes-generated summaries
2017-10-23 17:43:28 -06:00
Julian Dolby 26d354d1fc remove debug printing 2017-10-19 17:38:37 -04:00
Julian Dolby 11120329e1 fix messages about final; these vaiables do not need to be final in Java 8, really. 2017-10-19 15:02:19 -04:00
Julian Dolby 0f2d9b7635 fixes to dynamic CG to minimize bloating of methods 2017-10-19 13:12:21 -04:00
Julian Dolby 84ff23f852 expose implicit keys predicate 2017-10-19 13:09:27 -04:00
Julian Dolby b38286621a remove unneeded type parameter 2017-10-19 13:08:34 -04:00
Julian Dolby 207181aa89 linking issues on Linux. It seems that the name 'launch' for a function was causing some weird linking issues that only happened sometimes. Quite ikely, the issue is another library using the same name. 2017-10-18 01:49:25 +00:00
Julian Dolby 601c9fae7b clean up native init 2017-10-17 20:25:46 -04:00
Julian Dolby 02e2193875 clean up native init 2017-10-17 20:14:35 -04:00
Julian Dolby 6961748fb2 Merge branch 'master' of https://github.com/wala/WALA 2017-10-17 20:12:43 -04:00
Julian Dolby b504165e64 clean up native init 2017-10-17 20:12:42 -04:00
Julian Dolby e23a1fc9a4 Merge pull request #227 from liblit/warning-fixes-plug-in-development-renamings
Rename `...-feature` to `..._feature` in subdirs and features
2017-10-10 11:42:00 -04:00
Julian Dolby b3fbbe0edb Merge branch 'master' of https://github.com/wala/WALA 2017-10-02 14:21:34 -04:00
Julian Dolby b49f6c31d3 merge 2017-10-02 14:21:28 -04:00
Julian Dolby ce0411d8a4 disable check that breaks TeaVM 2017-09-28 20:15:24 +00:00
Julian Dolby 2c5d6ed15f hack for TeaVM 2017-09-28 19:34:54 +00:00
Julian Dolby 5dc7ed76f5 Merge branch 'master' of https://github.com/wala/WALA 2017-09-28 19:03:46 +00:00
Manu Sridharan d5936b2f7e Enable ErrorProne on wala.util project (#248)
* remove import
2017-09-19 05:52:53 -07:00
Ben Liblit 1fcdfbe2a3 Add localization properties file with some bundle string definitions
This fixes two Eclipse Plug-in Development warnings of the form "Key
'...' is not found in localization properties file:
OSGI-INF/l10n/bundle.properties".
2017-09-17 14:25:40 -07:00
Ben Liblit d70e52e323 Set required build property for project-specific compiler settings
This fixes two Eclipse Plug-in Development warnings of the form "The
'javacProjectSettings' build entry should be set when there are
project specific compiler settings".
2017-09-17 14:25:40 -07:00
Ben Liblit 182073ff4f Silently allow plug-ins to not export all of their packages
This removes three Eclipse Plug-in Development warnings of the form
"This plug-in does not export all of its packages"

I assume that omitting some exports is OK, because apparently nothing
else fails to build against these.  If an omitted export were needed
elsewhere, something would fail to build.
2017-09-17 14:25:40 -07:00
Julian Dolby 3ee1f2d368 Merge branch 'master' of https://github.com/wala/WALA 2017-09-16 18:25:35 +00:00
Julian Dolby 36ab38c659 expanded Monitor2 2017-09-16 14:24:47 -04:00
Julian Dolby 3c898224ff Revert changes to native code for now
This reverts commit a39da55d97.
2017-09-16 14:23:00 -04:00
Julian Dolby e399d7b9f3 Merge branch 'master' of https://github.com/wala/WALA 2017-09-16 18:19:07 +00:00
Julian Dolby 5a04c422e3 merge 2017-09-16 18:19:04 +00:00
Julian Dolby a39da55d97 need shrike
update monitor test
2017-09-16 14:06:28 -04:00
Julian Dolby 385b135bf2 Merge branch 'master' of https://github.com/wala/WALA 2017-09-12 07:13:45 +09:00
Julian Dolby 3083e6c06d new test 2017-09-12 07:13:35 +09:00
Ben Liblit 65672f98ba Suppress Eclipse warnings that arise in JLex, which we don't control 2017-08-30 17:03:35 -07:00
Ben Liblit 01ea35ccb7 Rename "...-feature" to "..._feature" in subdirs and features
This change affects both top-level subdirectory names as well as
Eclipse plug-in feature names.  Perhaps it would have been possible to
change only the latter, but I don't like the idea of the two being
different.

These name changes fix three Eclipse plug-in warnings of the form:

	Illegal value '...-feature' for attribute 'id'.
	Legal token characters are "a-z", "A-Z", "0-9", "_".  Tokens
	must be separated by "."

I'll be the first to admit that I know nearly nothing about Eclipse
plug-in development.  If changing these plug-in feature IDs has
broader implications that the automated regression tests won't detect,
then I probably overlooked them too.  I would greatly appreciate
skeptical review of this change by someone who knows Eclipse plug-in
development well.

Note that personal Eclipse workspaces may need some manual adjustment
after this change.  The three "...-feature" Eclipse projects should be
removed from the workspace, and the three corresponding "..._feature"
Eclipse projects should be added.  If you do your git pull using
Eclipse's team features, perhaps it is smart enough to do this for
you?  I don't know, but it wouldn't surprise me if fixing things
manually were still needed even in that case.
2017-08-30 16:32:33 -05:00
Ben Liblit 15a30c1436 Tell M2Eclipse to run a few Maven plugins with no special handling
Specifically, this will run the "javadoc" goal of the
"maven-javadoc-plugin" and the "plugin-source" goal of the
"tycho-source-plugin" whenever Eclipse does a full build.  It will not
run these on incremental builds, though.  Maven plugins in general are
usually not designed with incremental execution in mind, so rerunning
them on every incremental build turns out to be too sluggish in
practice.

Previously, M2Eclipse would occasionally notice these two plugins,
realize it didn't know what to do with them, and produce Eclipse error
diagnostics that were difficult to resolve.  With this change we are
telling Eclipse's Maven builder to just run the plugins in the natural
way even though M2Eclipse has no special handling built-in for them.

Fixes #198, much to my relief.
2017-08-30 13:39:25 -07:00
Ben Liblit 95507651d2 Trivial indentation fix
I would not bother to fix indentation by itself, but it makes sense to
fix this indentation now in advance of some larger changes coming to
this file soon.
2017-08-30 13:39:25 -07:00
Manu Sridharan 4aedf7124e Update README.md
Add Travis graphic
2017-08-30 13:38:59 -07:00
Ben Liblit 5b6e6aefa0 Remove some unnecessary warning suppression annotations 2017-08-28 11:55:56 -07:00
Ben Liblit 559c577093 Treat diagnostics about unchecked type operations as errors 2017-08-28 11:55:56 -07:00
Ben Liblit f8e3172653 Be explicit about the type parameter in generic static method calls
In modern Java, we would not need to do this.  Java 1.8 can infer the
generic type, which would allow us to write simply
"Collections.emptySet()" instead of
"Collections.<TypeReference>"emptySet()".  Unfortunately, Android is
behind the times, so this specific project targets Java 1.5.  That
older Java definition does not do the inference we would want here, so
we have to be explicit instead.
2017-08-28 11:55:56 -07:00
Ben Liblit 1603ec314f Use Collections.emptySet() instead of Collections.EMPTY_SET
The former returns Set<T> for any T, whereas the latter merely returns
a raw Set.  Using the former instead of the latter fixes four Eclipse
warnings about using raw generics.
2017-08-28 11:55:56 -07:00