Ben Liblit
a888a49fdd
Fix all Eclipse warnings about unnecessary semicolons
...
I have *not* upgraded this problem to be treated as an error in the
future. Unfortunately Eclipse uses a single configuration setting for
both unnecessary semicolons and also for empty control-flow statements
like `while (p) ;`. I'm not convinced that it's worth rewriting all
instances of the latter into `while (p) { }`. So this is just going
to stay as a warning for now.
2017-07-14 22:39:01 -07:00
Ben Liblit
e316471d88
Fix nearly all Eclipse warnings about using raw types
...
Along the way, I also converted many "for (;;)" loops into modern
"for (:)" loops. I didn't systematically look for all opportunities
to do this, though. I merely made this change where I was already
converting raw Iterator uses into modern Iterator<...> uses.
Better use of generics also allowed many casts to become statically
redundant. I have removed all such redundant casts.
Only three raw-types warnings remain after this batch of fixes. All
three involve raw uses of CallGraphBuilder. I've tried to fix these
too, but it quickly snowballs into a cascade of changes that may or
may not eventually reach a statically-type-save fixed point. I may
give these last few problem areas another go in the future. For now,
though, the hundreds of other fixes seem worth keeping even if there
are a few stragglers.
This commit may change some public APIs, but only by making weaker
type signatures stronger by replacing raw types with generic types.
For example, we may change something like "Set" into "Set<String>",
but we're not adding new arguments, changing any
underlying (post-generics-erasure) types, etc.
2017-07-12 10:39:06 -07:00
Ben Liblit
aa39fc63d5
Declare a protected final method static
...
The method itself accesses only static members. The fact that it is
final means no subclass can ever override this method and use dynamic
dispatch to choose the implementation at run time. So declaring this
method static is (statically) safe.
2017-06-07 08:29:23 -07:00
Ben Liblit
72c754e874
Declare private methods static wherever possible
...
If a method is private, there's no risk that a subclass elsewhere
might be overriding it and depending on dynamic dispatch to choose the
right implementation. So all of these private methods can safely be
declared static without risk of regression in either WALA code or
unseen third-party code.
2017-06-07 08:29:23 -07:00
Ben Liblit
b9c2890db6
Fix Eclipse warnings about unnecessary warning suppressions
2017-03-28 18:20:38 -05:00
Ben Liblit
67013a0d77
Fix 21 Eclipse warnings about unnecessary warning suppressions
2017-03-23 12:28:14 -05:00
Ben Liblit
aa878f0b68
Fix 11 Eclipse warnings about redundant interfaces
2017-03-20 00:43:57 -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
a8a3699ee1
type cleanups
2017-02-23 10:10:39 -05:00
Julian Dolby
46dddcfb66
Bug fix for CAst translation. When translating if statements, the system has a case where code to detect dead blocks mistakenly triggers even though the needed CFG edge will be added later. The if processing code now tells the CFG that the block is not dead, which prevents it from being prematurely removed.
2017-01-16 21:57:12 -05:00
Julian Dolby
7a69f752d0
type cleanups
2017-01-11 08:04:37 -05:00
Julian Dolby
76286a330c
make Android entrypoint locator work for source code
2016-06-10 21:21:08 -04:00
Julian Dolby
9267003c5b
changes for language and solver work
2015-12-09 17:28:45 -05:00
Julian Dolby
ab16d9bc04
fixes for weird cases with control flow in finally blocks.
...
code fixes and test that used to crash.
2015-11-11 12:03:08 -05:00
Julian Dolby
849177fa5e
changes for new language support
2015-10-25 16:13:07 -04:00
Julian Dolby
563b6ba6aa
fixes for for ... in ... form in JavaScript
2015-07-24 22:44:10 -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
5cc870dd77
fixes to Dalvik support, and work on running Dalvik tests on Travis
2015-02-26 09:34:03 -05:00
Juergen Graf
8f6ec6bc54
cleanup
2014-07-30 15:05:15 +02:00
Juergen Graf
6f8aee80c6
Merge branch 'wala' into master
2014-07-28 17:09:02 +02:00
Julian Dolby
dd3124479e
allow control flow in induced cfgs, and various related fixes
2014-07-08 14:44:06 -04:00
Julian Dolby
87c42b61d6
toString methods
2014-06-26 10:57:48 -04:00
Juergen Graf
428a3975ed
Merge branch 'wala' into master
...
Conflicts:
com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/loader/JavaSourceLoaderImpl.java
com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/ssa/AstJavaInstructionFactory.java
com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/ssa/AstJavaInvokeInstruction.java
com.ibm.wala.cast.js.test/harness-src/com/ibm/wala/cast/js/test/TestSimpleCallGraphShape.java
com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/html/WebPageLoaderFactory.java
com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/loader/JavaScriptLoader.java
com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/ssa/JSInstructionFactory.java
com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/ssa/JavaScriptInvoke.java
com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/callgraph/AstCallGraph.java
com.ibm.wala.cast/source/java/com/ibm/wala/cast/ir/ssa/AbstractLexicalInvoke.java
com.ibm.wala.cast/source/java/com/ibm/wala/cast/ir/ssa/AstInstructionFactory.java
com.ibm.wala.cast/source/java/com/ibm/wala/cast/ir/ssa/AstLexicalRead.java
com.ibm.wala.cast/source/java/com/ibm/wala/cast/ir/ssa/AstLexicalWrite.java
com.ibm.wala.cast/source/java/com/ibm/wala/cast/ir/ssa/FixedParametersInvokeInstruction.java
com.ibm.wala.cast/source/java/com/ibm/wala/cast/ir/translator/AstTranslator.java
com.ibm.wala.core/.classpath
com.ibm.wala.core/.settings/org.eclipse.jdt.core.prefs
com.ibm.wala.ide/src/com/ibm/wala/ide/util/ProgressMonitorDelegate.java
com.ibm.wala.util/src/com/ibm/wala/util/NullProgressMonitor.java
com.ibm.wala.util/src/com/ibm/wala/util/ProgressMaster.java
2014-05-20 17:59:16 +02:00
Julian Dolby
893f4b7308
type in CAst var decls
2014-03-16 18:05:49 -04:00
Julian Dolby
2c9c0d802f
allow specialization of source name map generation
2014-02-08 21:32:51 -05:00
Julian Dolby
56236dec53
further work on analysis for JavaScript in Eclipse
2013-10-16 17:37:53 -04:00
Julian Dolby
d528c16b0f
refactoring to integrate field-based cg builders with Eclipse-based
...
JavaScript front end
2013-08-05 14:35:41 -04:00
Julian Dolby
beab92e359
Fixed bugs in the front end handling esoteric cases of weird control
...
flow.
added support for JavaScript projects read from Eclipse that are based
on HTML files as well as JavaScript files
2013-07-30 14:04:08 -04:00
Juergen Graf
cdaaddf88b
Merge branch 'wala' into master
2013-07-02 14:23:24 +02:00
Julian Dolby
080325b5f6
merge
2013-06-25 11:57:37 -04:00
Manu Sridharan
162a001ce6
remove more code for older lexical access scheme
2013-06-07 09:58:25 -07:00
Manu Sridharan
d2933d49b2
delete a little more code and javadoc
2013-06-06 20:02:42 -07:00
Manu Sridharan
321695617c
delete more code
2013-06-06 20:02:42 -07:00
Manu Sridharan
d4b252ad51
kill NEW_LEXICAL flag
2013-06-06 20:02:41 -07:00
Julian Dolby
1cc5e5ce9c
fixes for bug with dead code and exception handlers
2013-04-10 21:16:12 -04:00
Manu Sridharan
11c6619c7f
Variety of changes to JS front end.
...
- crash fixes
- small enhancements to prologue and preamble
- tighter handling of timeouts during CG construction
2013-04-09 15:47:22 -07:00
Juergen Graf
b82d5dba90
Merge branch 'wala' into master
2012-11-06 04:23:10 +01:00
dolby
f7a7d66b28
move loop unrolling code to wala from Miniatur/MemSAT
2012-10-03 10:53:04 -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
Juergen Graf
4648f0404a
Merge branch 'wala' into master
2012-07-17 13:57:43 +02:00
Manu Sridharan
9a0e105e51
fix so that new lexical scheme can be enabled with Java frontends
2012-07-12 10:27:24 -07:00
Juergen Graf
7477b1730b
Merge branch 'wala' into master
2012-03-19 13:33:48 +01:00
dolby-oss
a9ec87f360
Changes motivated by analysis issues in JavaScript. The main change is that calls of the form f.x() in JavaScript are now analyzed like 'method calls' so that the 'this' pointer in the receiver functions can be filtered based upon the types that actually have the method being invoked. This requires much more dynamic filtering than in a language like Java, since properties like 'x' are simply properties that happen to hold functions, and so can be assigned in a first-class manner. Thus, the filtering needs to handle variance in both the types and the values of their properties; this is implemented as multiple levels of abstract object directed side effect equations in the dataflow system.
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4535 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-03-01 02:45:51 +00:00
msridhar1
cafc761a7c
bug fix
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4503 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:24:56 +00:00
msridhar1
2dda77a0fb
another bug fix; looking good...
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4467 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:15:57 +00:00
msridhar1
bfb24934af
another bug fix; getting closer...
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4466 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:15:38 +00:00
msridhar1
78ef6e3a03
further work
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4465 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:15:26 +00:00
msridhar1
8982d35800
fixed one CG building bug with useLocalsForLexicalVars() disabled
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4463 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:14:51 +00:00
msridhar1
9ad5c55d85
generate lexical access instructions for methods accessing their own exposed vars. still need to fix call graph construction
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4461 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:14:26 +00:00
msridhar1
3445c0b090
renaming of exposed parameters
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4460 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:14:03 +00:00