Commit Graph

5988 Commits

Author SHA1 Message Date
Achim D. Brucker c285cc72d2 Moved resource declaration into try-statement. 2018-10-21 20:20:13 +01:00
Achim D. Brucker d53814e154 Restored error level for org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable. 2018-10-21 18:29:40 +01:00
Achim D. Brucker 3d5dec0b0c Manual merge. 2018-10-21 16:31:25 +01:00
Julian Dolby 2d2d6070ff more talking 2018-10-20 12:16:43 -04:00
Julian Dolby 8381141e54 try out instead of err output 2018-10-19 22:31:10 -04:00
Julian Dolby a1649be85b talk to Travis 2018-10-18 23:23:24 -04:00
Julian Dolby 869ca81272 more memory, parallelism for tests 2018-10-18 22:55:13 -04:00
Julian Dolby 38c5de6160 fix for forName selector: use the CHA in getRelevantParameters to resolve
the declared target of the call site.  This is needed to make sure
forName targets loaded with the Application loader get resolved to point
to the real metod reference for forName.

this issue actually manifested itself in the Kawa Chess program, and so
I have added an assertion to make sure this resolution is done properly.
2018-10-18 22:25:21 -04:00
Julian Dolby 533d392bda support for method argument default values 2018-10-17 19:44:44 -04:00
Julian Dolby 948d69cbb8 fix for Soot: trim instruction array to avoid nulls 2018-10-16 21:43:26 -04:00
Julian Dolby d690d94cdd more use for object literals 2018-10-16 00:34:31 -04:00
Julian Dolby bf3c419e1c test for presence of nodes in Kawa chess test that need method handles
and string constants to play nicely together.
2018-10-15 02:12:42 -04:00
Julian Dolby 89492c28fa more heap space for tests 2018-10-13 09:27:38 -04:00
Julian Dolby b2503628a4 1) a bit more source mappimg information
2) fixes to how Contexts are combined
2018-10-13 08:42:08 -04:00
Julian Dolby 31cf42674a Merge branch 'master' of github.com:wala/WALA 2018-10-03 09:02:26 -04:00
Julian Dolby 7a7d341c94 merge 2018-10-03 09:02:07 -04:00
Erik Derr 018e9d20eb Fixes Exception in AndroidAnalysisScope (#361)
Fixes inconsistent behavior of the exclusions argument.
Depending on the androidLib argument, setting exclusions to null
is either fine or raises and exception.

This patch makes exclusions truely optional for any case
when null is passed.
2018-10-02 22:29:44 -07:00
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
Erik Derr 751444a656 Fixes IllegalStateException (#358)
* Fixes IllegalStateException

Reverts refactored code with try-with-resource back to potentially
leaking implementation. The refactored code threw an exception since
JarFileModule does not implement the AutoClosable interface. Further,
removed the printStackTrace() call, as this is not an exceptional case
but intended control-flow in case DexFileModule creation fails.

* Downgrade JarFile leak diagnostic from warning to error

This is consistent with how we are treating potential JarFile leaks in
other WALA components.  WALA issue #236 already notes that these
should be cleaned up eventually, although doing so will not be easy.
2018-09-30 12:19:14 -07:00
Sifis Lagouvardos 6fd67b886e Added multidex apk file in dalvik.test/data and a new test for multidex apk files. 2018-09-21 19:08:06 -07:00
Sifis Lagouvardos 819e7e1a7f Added test for the new DexFileModule constructor that supports specific .dex files. 2018-09-21 19:08:06 -07:00
Sifis Lagouvardos 2ab002df3e Added new DexFileModule constructor to support specific dex files inside apks. 2018-09-21 19:08:06 -07:00
Julian Dolby 1867b57425 move utility so other tests can use it 2018-09-20 14:48:06 -04:00
Julian Dolby 1c6a6b0cbd
Merge pull request #352 from sifislag/master
Added a CAstNode and a CAstOperator to support some wanted python features.
2018-09-12 15:55:57 -04:00
Sifis Lagouvardos be0ef4e16b Added CAstOperator to support the not in operation in Python. 2018-09-12 18:25:21 +03:00
Sifis Lagouvardos 9ce10ab5b9 Added GLOBAL_DECL CAstNode for the python global statement. 2018-09-12 18:21:00 +03:00
Julian Dolby b32704b8a3 Merge branch 'master' of github.com:wala/WALA 2018-09-11 13:57:32 -04:00
Julian Dolby 7f47c7200a dexlib -> 2.2.5 2018-09-11 13:43:07 -04:00
Julian Dolby e4f62978cb comment out non-working test; it seems to look at a URL that no longer
works
2018-09-11 13:39:06 -04:00
Julian Dolby e85f01b2b3 fix for Dalvik instruction generation 2018-09-11 13:36:29 -04:00
Julian Dolby d13a38fbe1
Merge pull request #345 from SunghoLee/master
Fix the comparison method for ConstantKey
2018-08-27 21:47:46 -04:00
Sungho Lee 2640b97b5d Fix comparison method for ConstantKey 2018-08-28 09:47:09 +09:00
Julian Dolby 762389c315
Merge pull request #344 from bryantam/cast_constant-h-add-changes
add missing CAstNodeType to cast_constant.h that are defined in CAstNode
2018-08-26 22:35:58 -04:00
Bryan Tam 6f317bc9fa add missing CAstNodeType to cast_constant.h that are defined in CAstNode 2018-08-23 21:16:24 -04:00
Manu Sridharan 49628fdf44 Start new development version 2018-08-22 12:01:19 -07:00
Manu Sridharan 6b46ce4faa Version 1.5.0 2018-08-22 11:19:51 -07:00
Manu Sridharan 5d7b4d5988 Update change-version.py to handle build.gradle, and clean it up 2018-08-22 09:51:54 -07:00
Julian Dolby c40c7e34f0
Merge pull request #340 from liblit/assorted-gradle-test-fixes
Assorted Gradle test fixes
2018-08-11 16:53:41 -04:00
Ben Liblit 32795455fb Avoid redundant copying of some test resources
These specific test resources are already included in the "testArchives"
configuration of the "com.ibm.wala.core.tests" subproject, upon which
the "com.ibm.wala.dalvik.test" tests already depend.  So there's no need
to also copy these resources into the "com.ibm.wala.dalvik.test" test
resources area as well.
2018-08-11 12:40:44 -05:00
Ben Liblit d9f7abdad3 Augment cleanTest tasks rather than replacing them
Previously I hadn't realized that Gradle's "java" plugin would generate
default "cleanTest" tasks for us.  By defining my own "cleanTest" tasks
we were replacing the generated ones, but what we really wanted to do
was augment them with additional files to delete.
2018-08-11 12:36:22 -05:00
Julian Dolby d92c732dec fix more osx builds 2018-08-08 21:53:41 -05:00
Julian Dolby be7b0deb5f
Merge pull request #338 from liblit/kawa-gradle-improvements
Improvements for Kawa- and JNI-related Gradle build tasks
2018-08-04 18:52:05 -04:00
Ben Liblit e4bb8f2246 Remove redundant "afterEclipseBuildshipImport" dependencies
Every dependency task listed here is already a dependency of at least
one subproject's "processTestResources" task, and each
"processTestResources" task already depends on the corresponding
"afterEclipseBuildshipImport" task.  So listing these tasks here too
is unnecessary.
2018-08-04 05:15:08 -05:00
Ben Liblit febf20145e Rework Kawa download and build tasks to be more Gradle'y
All Kawa-related downloads now use our existing VerifiedDownload task
class.  This gives us Gradle-integrated progress reporting,
incremental build support, build caching, correct dependencies, etc.

Using Kawa to compile Scheme into bytecode now also has proper
dependency management, incremental build support, and build caching.
Same goes for bundling these compiled bytecode files into jar archives
for later use in regression tests.

Also, when downloading kawa-chess, grab a specific commit hash rather
than whatever is the most recent master commit.  If this project
changes in the future, we don't want our tests to break unexpectedly.
Perhaps we'd want to pick up any new kawa-chess commits; perhaps not.
Either way, that should be a conscious decision rather than something
that can happen behind our backs.
2018-08-04 04:37:41 -05:00
Ben Liblit 8324a9cb56 Ignore downloaded "kawa-chess" subdirectory
This is not our source code.  It's just a clone of someone else's Git
repository.  Maven or Gradle will recreate it when asked to do so.
2018-08-04 04:35:30 -05:00
Ben Liblit a7cef8e77a Declare a task's outputs, enabling incremental build and caching
This specific task runs an external command, and we consider the task
successful if that command exits without error.  We don't actually
examine the stdout or stderr of the command being run.

However, it is still useful to log the stdout and stderr to a file,
and to declare that file to be the output of the task.  Otherwise, the
task has no declared outputs at all.  A task with no outputs is
ineligible for caching and is always considered to be out-of-date.

squash! Declare a task's outputs, enabling incremental build and caching
2018-08-04 04:29:59 -05:00
Julian Dolby e0ad8fd9f7 try Xcode version recommended by Travis 2018-08-03 16:21:03 -04:00
Julian Dolby c5cdb9e32a clean up MethodHandle support 2018-08-03 15:52:24 -04:00
Julian Dolby 25bb519221 set version for macos 2018-08-03 08:21:41 -04:00
Julian Dolby d54859f923 revert chnage 2018-08-03 00:29:29 -04:00