Commit Graph

41 Commits

Author SHA1 Message Date
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 6766f1e261 Fix 42 Eclipse warnings about unused imports 2017-03-20 00:43:48 -05:00
Manu Sridharan 064fa9a503 Merge pull request #140 from liblit/remove-execute-bits-from-non-scripts
Remove execute bits from many non-executable (i.e., non-script) files
2017-03-12 10:27:08 -07:00
Julian Dolby f595eb357e add some abstraction to IR, using IRView 2017-03-11 13:22:45 -05:00
Ben Liblit 5a5cccc062 Strip execute bits from many non-executable (i.e., non-script) files 2017-02-23 06:10:08 -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 41b32561dd tests to compare with field based 2014-05-28 13:31:29 -04:00
Julian Dolby 05003d52c9 merge 2013-09-18 14:05:48 -04:00
Julian Dolby dd4d794517 merge 2013-09-18 14:00:04 -04:00
Julian Dolby 45e6803d30 white space change 2013-09-18 13:58:49 -04:00
Manu Sridharan 898e1c3810 add modeling of window.onload invocation 2013-09-16 09:37:18 -07:00
Julian Dolby 0799bffc84 clean ups 2013-08-29 10:16:38 -04:00
Julian Dolby 080325b5f6 merge 2013-06-25 11:57:37 -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
Max Schaefer e130a5b963 Some refactoring of prologue.js and preamble.js to use more consistent
names.
2012-09-18 13:22:17 -04:00
Manu Sridharan 24eb803211 organize imports; no semantic change 2012-09-04 16:24:37 -07:00
dolby d0d1ff1a2b Merge branch 'master' of https://github.com/wala/WALA.git 2012-07-03 19:22:37 -04:00
Manu Sridharan 76ca05ccb8 comment out manual enabling of CG dumps; we really need a better solution here 2012-07-03 15:55:02 -07:00
dolby 4b3cba710d changes from upstream 2012-06-29 15:47:54 -04:00
dolby dfe06b8ff3 changes to Web source mapping to exploit rhino 1.7R3 source offsets 2012-05-08 13:17:01 -04:00
msridhar1 5f2733bd0e fix some compile errors
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4501 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:24:32 +00:00
msridhar1 a3826f23a8 refactoring: rename some Util classes
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4492 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:21:59 +00:00
dolby-oss 4c6d062dbb blunt force trauma to CAst frond end:
1) Structural changes in the AstTranslator to allow retranslation and generation of custom IR.  This is mostly moving state from the translator itself into the context.
2) Some refactoring to share some AST generation code across the Java and JavaScript front ends.
3) Switching to the latest Rhino, release 1.7R3; this is a pervasive change to the JavaScript Rhino translator, since it involves switching to the new AST interface in Rhino.
4) Common code to, as an option, translate Do-style loops by replicating the loop body.  This allows the use of CAstNode.LOOP forms for such loops.
5) Some bug fixes to the mechanisms of the CAstRewriter to handle weird control flow cases.
6) An example of retranslation to specialize JavaScript methods based on how many arguments they receive at call sites.


git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4425 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-27 20:15:33 +00:00
msridhar1 e149af8a13 Some more tests.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4381 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:41:57 +00:00
msridhar1 b042d61a67 initial implementation of handling Function.call(). also, fix previous change that caused some tests to fail
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4316 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:21:26 +00:00
msridhar1 1673a200e5 default to dumping files in temp directory
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4312 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:20:13 +00:00
dolby-oss 3e573a992d upgrades to lexical soping implements to address some performance issues
fixes to HTML model to capture use of local vars as window state in scripts


git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4176 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-05-23 16:27:07 +00:00
dolby-oss 7adce5daf7 change to dump api to make usable in other places, without a builder
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4160 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-04-28 19:08:06 +00:00
dolby-oss 9006fce690 some bug fixes to CAst IR generation, especially in handling exceptions
cleanup of how JDT analysis engines work, to make using the JDT front end more modular
bug foxes to JavaScript handling, most notably fixing scoping of functions

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4123 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-04-13 16:27:15 +00:00
dolby-oss c82117149d new names for handler functions that include tag name and attribute name
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4112 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-04-08 19:23:10 +00:00
dolby-oss e7ac8c25fe move test with not-quite-correct JavaScript code to the Rhino test, since Rhino handles it anyway
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4106 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-04-05 16:42:49 +00:00
dolby-oss bb28cd875f updates to processing of Web pages:
1) adopted the code from Rational for HTML handling
    i) extended it to integrate better source mapping into IR
    ii) integrated fixes from the old html processing to collect more info on forms
    iii) added some copyright comments
  2) updated version of jericho
  3) added support for nu.validator for html5
  4) added script to fetch html parser jars, and removed binary jar
  

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4102 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-04-04 21:20:31 +00:00
dolby-oss cc99d4898e another example from web pages for apollo
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4000 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2010-11-23 15:31:53 +00:00
dolby-oss 6afa3ee732 test that seems to exhibit null values of attributes from HTML
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3998 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2010-11-22 17:46:30 +00:00
dolby-oss 23b669a691 more work and tests on Web page model
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3991 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2010-11-05 00:36:44 +00:00
yinnon_haviv 2fea4f6e4f - Fix unit tests both for Mac and Windows environment.
- Replace Html Parser with one that is based on Jericho (require running ./fetch_libraries.sh on cast.js project. 

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3942 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2010-09-27 15:15:03 +00:00
dolby-oss 1f8da24940 add support for base urls
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3923 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2010-09-09 14:09:16 +00:00
msridhar1 8b41d7fc88 update to JUnit 4
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3747 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-07-27 23:21:22 +00:00
dolby-oss a3dc6411ae separate Rhino-specific portions of javascript analysis
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3731 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-07-16 18:09:54 +00:00
sjfink a0efbee8ff Major refactoring to introduce com.ibm.wala.ide. Many related changes and patches from Marcelo Paternostro.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3693 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-06-22 15:06:12 +00:00
dolby-oss be8400fdd1 new tests, including for Web pages
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3628 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-06-03 18:27:08 +00:00