diff options
author | Andy Clement <aclement@gopivotal.com> | 2013-08-27 13:25:30 -0700 |
---|---|---|
committer | Andy Clement <aclement@gopivotal.com> | 2013-08-27 13:25:30 -0700 |
commit | d82db7bf44e2e0d5f68798c22cd7eb373452bc54 (patch) | |
tree | 3fbb4d37b44a8506791f2e68a4ee9fde624b8b17 | |
parent | 7716a15cbe03d6bd518ac013c4d9ffd7b9f05a3f (diff) | |
download | aspectj-d82db7bf44e2e0d5f68798c22cd7eb373452bc54.tar.gz aspectj-d82db7bf44e2e0d5f68798c22cd7eb373452bc54.zip |
Fix 415957: annotations with 1.8 flags
6 files changed, 28 insertions, 4 deletions
diff --git a/ajde.core/src/org/aspectj/ajde/core/internal/AjdeCoreBuildManager.java b/ajde.core/src/org/aspectj/ajde/core/internal/AjdeCoreBuildManager.java index 8ebfb8424..0bf95bb56 100644 --- a/ajde.core/src/org/aspectj/ajde/core/internal/AjdeCoreBuildManager.java +++ b/ajde.core/src/org/aspectj/ajde/core/internal/AjdeCoreBuildManager.java @@ -301,9 +301,7 @@ public class AjdeCoreBuildManager { Map jom = compilerConfig.getJavaOptionsMap(); if (jom != null) { String version = (String) jom.get(CompilerOptions.OPTION_Compliance); - if (version != null - && (version.equals(CompilerOptions.VERSION_1_5) || version.equals(CompilerOptions.VERSION_1_6) || version - .equals(CompilerOptions.VERSION_1_7))) { + if (version != null && !version.equals(CompilerOptions.VERSION_1_4)) { config.setBehaveInJava5Way(true); } config.getOptions().set(jom); diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/ajc/BuildArgParser.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/ajc/BuildArgParser.java index 8ffc933ef..1f8ad86f2 100644 --- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/ajc/BuildArgParser.java +++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/ajc/BuildArgParser.java @@ -692,11 +692,14 @@ public class BuildArgParser extends Main { } else if (arg.equals("-1.7")) { buildConfig.setBehaveInJava5Way(true); unparsedArgs.add("-1.7"); + } else if (arg.equals("-1.8")) { + buildConfig.setBehaveInJava5Way(true); + unparsedArgs.add("-1.8"); } else if (arg.equals("-source")) { if (args.size() > nextArgIndex) { String level = ((ConfigParser.Arg) args.get(nextArgIndex)).getValue(); if (level.equals("1.5") || level.equals("5") || level.equals("1.6") || level.equals("6") || level.equals("1.7") - || level.equals("7")) { + || level.equals("7") || level.equals("8") || level.equals("1.8")) { buildConfig.setBehaveInJava5Way(true); } unparsedArgs.add("-source"); diff --git a/tests/bugs180/415957/MyAspect.aj b/tests/bugs180/415957/MyAspect.aj new file mode 100644 index 000000000..673463a55 --- /dev/null +++ b/tests/bugs180/415957/MyAspect.aj @@ -0,0 +1,8 @@ +public aspect MyAspect { + pointcut all(): execution(@javax.annotation.Resource * *(..)); + + + before(): all() { + System.out.println("Hi"); + } +} diff --git a/tests/bugs180/415957/MyClass.java b/tests/bugs180/415957/MyClass.java new file mode 100644 index 000000000..7b596ffd0 --- /dev/null +++ b/tests/bugs180/415957/MyClass.java @@ -0,0 +1,5 @@ +public class MyClass { + @javax.annotation.Resource + public void method() { + } +} diff --git a/tests/src/org/aspectj/systemtest/ajc180/Ajc180Tests.java b/tests/src/org/aspectj/systemtest/ajc180/Ajc180Tests.java index fbdbd29d9..dfa920e52 100644 --- a/tests/src/org/aspectj/systemtest/ajc180/Ajc180Tests.java +++ b/tests/src/org/aspectj/systemtest/ajc180/Ajc180Tests.java @@ -21,6 +21,10 @@ import org.aspectj.testing.XMLBasedAjcTestCase; */ public class Ajc180Tests extends org.aspectj.testing.XMLBasedAjcTestCase { + public void testAnnosWith18Flags_415957() { + runTest("annotations with 1.8 flags"); + } + public void testJava8Code() throws Exception { runTest("first advised java 8 code"); } diff --git a/tests/src/org/aspectj/systemtest/ajc180/ajc180.xml b/tests/src/org/aspectj/systemtest/ajc180/ajc180.xml index 9e651d347..8ea55c136 100644 --- a/tests/src/org/aspectj/systemtest/ajc180/ajc180.xml +++ b/tests/src/org/aspectj/systemtest/ajc180/ajc180.xml @@ -2,6 +2,12 @@ <suite> + <ajc-test dir="bugs180/415957" title="annotations with 1.8 flags"> + <compile files="MyAspect.aj MyClass.java" options="-1.8 -showWeaveInfo"> + <message kind="weave" text="Join point 'method-execution(void MyClass.method())' in Type 'MyClass' (MyClass.java:3) advised by before advice from 'MyAspect' (MyAspect.aj:5)"/> + </compile> + </ajc-test> + <ajc-test dir="bugs180/firstprogram" title="first advised java 8 code"> <compile files="C.java" options="-1.8"> </compile> |