aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy Clement <aclement@gopivotal.com>2013-08-27 13:25:30 -0700
committerAndy Clement <aclement@gopivotal.com>2013-08-27 13:25:30 -0700
commitd82db7bf44e2e0d5f68798c22cd7eb373452bc54 (patch)
tree3fbb4d37b44a8506791f2e68a4ee9fde624b8b17
parent7716a15cbe03d6bd518ac013c4d9ffd7b9f05a3f (diff)
downloadaspectj-d82db7bf44e2e0d5f68798c22cd7eb373452bc54.tar.gz
aspectj-d82db7bf44e2e0d5f68798c22cd7eb373452bc54.zip
Fix 415957: annotations with 1.8 flags
-rw-r--r--ajde.core/src/org/aspectj/ajde/core/internal/AjdeCoreBuildManager.java4
-rw-r--r--org.aspectj.ajdt.core/src/org/aspectj/ajdt/ajc/BuildArgParser.java5
-rw-r--r--tests/bugs180/415957/MyAspect.aj8
-rw-r--r--tests/bugs180/415957/MyClass.java5
-rw-r--r--tests/src/org/aspectj/systemtest/ajc180/Ajc180Tests.java4
-rw-r--r--tests/src/org/aspectj/systemtest/ajc180/ajc180.xml6
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>