Commit Graph

76 Commits

Author SHA1 Message Date
Ben Liblit fde65340d2 Fix 132 Eclipse warnings about using raw generic types 2017-03-15 11:08:20 -05:00
Julian Dolby bb0f38338e Merge branch 'warning-fixes-resource-management' of https://github.com/liblit/WALA 2017-03-13 10:44:38 -04:00
Ben Liblit b1678882b3 Plug numerous potential resource leaks
This fixes 33 out of 37 Eclipse "Potential resource leak: '...' may
not be closed" warnings.  It also fixes 3 out of 37 Eclipse "Resource
'...' should be managed by try-with-resource" warnings, although that
was not the main focus of this effort.

The remaining 4 warnings about potential resource leaks all involve a
leaked JarFile instance that is passed to a JarFileModule constructor
call.  JarFileModile never attempts to close its underlying JarFile;
this code is written as though JarFile cleanup were the caller's
responsibility.  However, the JarFile often cannot be closed by the
code that creates the JarFileModule either, since the JarFile needs to
remain open while the JarFileModule is in use, and some of these
JarFileModules stay around beyond the lifetime of the code that
created them.  Truly fixing this would essentially require making
JarFileModule implement Closeable, which in turn would probably
require that Module implement Closeable, which in turn would require
changes to lots of code that deals with Module instances to arrange
for them to be properly closed.  That's more invasive than I'm
prepared to take on right now.
2017-03-12 21:38:43 -05:00
Ben Liblit 994a70500f Remove redundant generic type parameters where possible
Instead, rely on Java's ability to infer type parameters in many
contexts.  This removes 665 Eclipse warnings.

Note: a few of these changes are to files under "test" subdirectories.
Presumably those are files that serve as test inputs rather than being
part of WALA code proper.  As far as I can tell, these changes do not
break any WALA tests.  But if any of those tests were specifically
intended to exercise WALA on code with non-inferred generic type
parameters, then I really should be leaving those alone.
2017-03-11 21:20:51 -06:00
Julian Dolby d24519e974 cross-cutting changes to make more of WALA runnable with TeaVM. The biggest change is refactoring to AnalysisCache and friends; since TeaVM does not support SoftReference, I needed to add a layer of interfaces so that I can use a more simpleminded caching implementation for TeaVM. There are other changes to Module and friends to break connections with File and URL, which also cause TeaVM grief. I also organized imports in many places to remove unused types that caused trouble. 2017-02-02 20:33:27 -05:00
Julian Dolby c9b1006305 changes for allowing seq. and conc. CHAs 2017-01-12 16:34:54 -05:00
Julian Dolby 76286a330c make Android entrypoint locator work for source code 2016-06-10 21:21:08 -04:00
Julian Dolby 970acf10db driver to dump APK IR 2016-02-11 13:49:09 -05:00
Julian Dolby 3ad0c2009a restructure tests 2015-09-16 13:27:31 -04:00
Julian Dolby a1159db2f4 switch to (one hopes) a more reliable javacup input file 2015-07-24 23:25:08 -04:00
Julian Dolby eb24a616f1 clean up 2015-07-24 22:45:25 -04:00
Julian Dolby b721a3ceb0 updates to dynamic call graphs to better match static ones 2015-07-10 09:44:01 +02:00
Julian Dolby a6a060ed25 changes for handling of 'callbacks' in dynamic CGs 2015-06-28 17:06:21 -04:00
Julian Dolby 63ec46f67d 1) changes for mobile
a) serializable added for use by Android services
  b) test classes refactored to allow Android variants to use JUnit 3
2) shrike instrumentation now uses java.lang.instrument
  a) refactoring
  b) online variants of call graph tracing
2015-05-25 19:00:51 -04:00
Julian Dolby 7b604da0b4 changes for mobile tests 2015-04-08 08:26:34 -04:00
Julian Dolby b7cf88e214 mobile tests changes 2015-04-07 19:34:27 -04:00
Julian Dolby c863d20448 hacks for A=ndroid lib tests 2015-04-06 19:19:19 -04:00
Julian Dolby 776b08aecd rename tests for maven 2015-04-06 18:04:02 -04:00
Julian Dolby 6947b3e7d9 hacks for android stuff 2015-04-06 13:28:51 -04:00
Julian Dolby cc5f683333 hacks for android stuff 2015-04-06 13:00:14 -04:00
Julian Dolby 7d2e5c0731 back to 4.4 2015-04-06 11:31:08 -04:00
Julian Dolby c8087c8935 juno stuff 2015-04-06 10:27:16 -04:00
Julian Dolby 65edd0071a juno stuff 2015-04-06 10:22:09 -04:00
Julian Dolby c2b62f2ddc newer junit 2015-04-06 10:00:44 -04:00
Julian Dolby 65b62d3f28 junit annoyances 2015-04-06 09:43:52 -04:00
Julian Dolby 22ad339fd9 dalvik test infrastructure 2015-04-05 21:22:55 -04:00
Julian Dolby 43c37d6d0e fixes to regression tests:
now, for me, code works using e44 with maven
  dalvik tests refactored for mobile version with android dev tools
  IDE tests Eclipse metadata fixed to make e44 work for me
  new android entrypoint to fix failure in new droidbench tests
2015-03-24 21:51:35 -04:00
Julian Dolby 1ea7746533 class loader stuff 2015-03-04 21:43:06 -05:00
Julian Dolby ac533bc44d class loader stuff 2015-03-04 20:02:49 -05:00
Julian Dolby dcc2f654f4 class loader stuff 2015-03-04 19:54:35 -05:00
Julian Dolby 91f373b098 class loader stuff 2015-03-04 16:43:52 -05:00
Julian Dolby de26484098 java annotations support for dalvik 2015-03-04 13:49:58 -05:00
Julian Dolby e5ee7fdfb5 break up droid bench 2015-02-28 21:56:48 -05:00
Julian Dolby 067e2675dc break up droid bench 2015-02-28 21:56:15 -05:00
Julian Dolby cc38735551 break up droid bench 2015-02-28 21:55:03 -05:00
Julian Dolby e46bcdbaf7 break up droid bench 2015-02-28 21:00:30 -05:00
Julian Dolby e8c6a73b3d break up droid bench 2015-02-28 20:59:17 -05:00
Julian Dolby b3ee85c649 break up droid bench 2015-02-28 20:51:38 -05:00
Julian Dolby 21a3f0436b break up droid bench 2015-02-28 20:45:17 -05:00
Julian Dolby ae6a3c72ba break up droid bench 2015-02-28 20:33:27 -05:00
Julian Dolby cf48e9402f break up droid bench 2015-02-28 20:24:08 -05:00
Julian Dolby 61ae42bf0a break up droid bench 2015-02-28 20:13:43 -05:00
Julian Dolby 51cc1b29a5 break up droid bench 2015-02-28 10:02:48 -05:00
Julian Dolby f40a44747d ignore for now; break up test to avoid time limit 2015-02-27 23:29:47 -05:00
Julian Dolby 1816ee9744 try another path for travis 2015-02-27 23:03:56 -05:00
Julian Dolby 518783d200 path for travis 2015-02-27 22:44:59 -05:00
Julian Dolby 140ed24aae path for travis 2015-02-27 22:29:18 -05:00
Julian Dolby 5f3676e3c3 reduce printing 2015-02-27 21:42:07 -05:00
Julian Dolby 15a81a4aef maven issuesø 2015-02-27 21:34:49 -05:00
Julian Dolby 52deb04696 adapt to latest DroidBench 2015-02-27 21:08:37 -05:00