From: jhugunin Date: Tue, 22 Apr 2003 17:55:13 +0000 (+0000) Subject: test and fix for Bugzilla Bug 36564 X-Git-Tag: V1_1_0_RC2~162 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=0a8dbdeed13fe79ddfd7a291e2b45b50b9a90579;p=aspectj.git test and fix for Bugzilla Bug 36564 Internal compiler error --- diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/ThisJoinPointVisitor.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/ThisJoinPointVisitor.java index f1602b41d..2ec487518 100644 --- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/ThisJoinPointVisitor.java +++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/ThisJoinPointVisitor.java @@ -106,8 +106,10 @@ public class ThisJoinPointVisitor extends AbstractSyntaxTreeVisitorAdapter { || id.equals("toLongString") || id.equals("getKind") || id.equals("getSignature") - || id.equals("getSourceLocation") - || id.equals("getStaticPart"); + || id.equals("getSourceLocation"); + //TODO: This is a good optimization, but requires more work than the above + // we have to replace a call with a direct reference, not just a different call + //|| id.equals("getStaticPart"); } // boolean canTreatAsStatic(VarExpr varExpr) { diff --git a/tests/ajcTests.xml b/tests/ajcTests.xml index 388fafac6..845d21687 100644 --- a/tests/ajcTests.xml +++ b/tests/ajcTests.xml @@ -5828,4 +5828,10 @@ + + + + + diff --git a/tests/bugs/tjpStaticPart/Exceptions.java b/tests/bugs/tjpStaticPart/Exceptions.java new file mode 100644 index 000000000..056443e8b --- /dev/null +++ b/tests/bugs/tjpStaticPart/Exceptions.java @@ -0,0 +1,18 @@ +package tjpStaticPart; + +import java.io.*; + +import org.aspectj.lang.*; + +public aspect Exceptions { + + pointcut exceptionMethods () : + call(java.io.*.new(..) throws FileNotFoundException); + + Object around () throws FileNotFoundException : exceptionMethods() && !within(Exceptions) { + System.err.println("before: " + thisJoinPoint.getStaticPart()); + Object obj = proceed(); + System.err.println("after: " + thisJoinPoint.getStaticPart()); + return obj; + } +} \ No newline at end of file diff --git a/tests/bugs/tjpStaticPart/Test.java b/tests/bugs/tjpStaticPart/Test.java new file mode 100644 index 000000000..1438698f5 --- /dev/null +++ b/tests/bugs/tjpStaticPart/Test.java @@ -0,0 +1,14 @@ +package tjpStaticPart; + +import java.io.*; + +public class Test { + + public static void main(String[] args) throws Exception{ + try { + FileInputStream in = new FileInputStream("file-does-not-exist"); + } catch (FileNotFoundException e) { + } + + } +} diff --git a/tests/jimTests.xml b/tests/jimTests.xml index 3d842760f..7664c3799 100644 --- a/tests/jimTests.xml +++ b/tests/jimTests.xml @@ -1,12 +1,7 @@ - - - - +