WALA/com.ibm.wala.cast.js.test/harness-src/com/ibm/wala/cast/js/test
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
..
CAstDumper.java Remove redundant generic type parameters where possible 2017-03-11 21:20:51 -06:00
FieldBasedCGUtil.java Remove "throws XYZ" declarations where XYZ cannot be thrown 2017-07-28 10:20:28 -07:00
JSCallGraphBuilderUtil.java Remove "throws XYZ" declarations where XYZ cannot be thrown 2017-07-28 10:20:28 -07:00
TestAjaxsltCallGraphShape.java Remove "throws XYZ" declarations where XYZ cannot be thrown 2017-07-28 10:20:28 -07:00
TestArgumentSensitivity.java native interface for WALA 2017-06-28 12:42:49 -04:00
TestCorrelatedPairExtraction.java new tests 2014-06-26 11:12:44 -04:00
TestForInBodyExtraction.java Fixed bugs in the front end handling esoteric cases of weird control 2013-07-30 14:04:08 -04:00
TestForInLoopHack.java Remove "throws XYZ" declarations where XYZ cannot be thrown 2017-07-28 10:20:28 -07:00
TestJQueryExamples.java Remove "throws XYZ" declarations where XYZ cannot be thrown 2017-07-28 10:20:28 -07:00
TestJSCallGraphShape.java Strip execute bits from many non-executable (i.e., non-script) files 2017-02-23 06:10:08 -06:00
TestJavaScriptSlicer.java Fix nearly all Eclipse warnings about using raw types 2017-07-12 10:39:06 -07:00
TestLexicalModRef.java test cleanup 2015-04-05 21:46:31 -04:00
TestMediawikiCallGraphShape.java Strip execute bits from many non-executable (i.e., non-script) files 2017-02-23 06:10:08 -06:00
TestPointerAnalyses.java Remove "throws XYZ" declarations where XYZ cannot be thrown 2017-07-28 10:20:28 -07:00
TestPrototypeCallGraphShape.java Remove "throws XYZ" declarations where XYZ cannot be thrown 2017-07-28 10:20:28 -07:00
TestSimpleCallGraphShape.java Merge branch 'master' of github.com:wala/WALA 2017-03-11 20:21:51 -06:00
TestSimplePageCallGraphShape.java Remove "throws XYZ" declarations where XYZ cannot be thrown 2017-07-28 10:20:28 -07:00
TestWebUtil.java ajaxslt 0.8.1 2016-09-16 20:23:51 -04:00