--- /dev/null
+import java.lang.annotation.*;
+
+public aspect AnnotationPlusPatternParseError {
+
+ pointcut bar() : call(* (@MemberOfMonitoredSet *)+.*(..));
+
+ declare warning : bar() : "humbug";
+
+}
+
+@interface MemberOfMonitoredSet {}
+
+@MemberOfMonitoredSet
+interface I {}
+
+class C implements I {
+
+ void bar() {
+ foo();
+ }
+
+ public void foo() {};
+
+}
\ No newline at end of file
runTest("IllegalStateException unpacking signature of nested parameterized type");
}
+ public void testParseErrorOnAnnotationStarPlusPattern() {
+ runTest("(@Foo *)+ type pattern parse error");
+ }
+
public void testMissingNamePattern_pr106461() { runTest("missing name pattern"); }
// helper methods.....
<compile files="pr106634.aj" options="-1.5"/>
</ajc-test>
+ <ajc-test dir="bugs150" title="(@Foo *)+ type pattern parse error">
+ <compile files="AnnotationPlusPatternParseError.aj" options="-1.5"/>
+ </ajc-test>
+
<ajc-test dir="../docs/dist/doc/examples/introduction" title="introduction sample" vm="1.5">
<compile files="CloneablePoint.java,ComparablePoint.java,HashablePoint.java,Point.java" options="-1.5"/>
</ajc-test>
</run>
</ajc-test>
+ <ajc-test dir="java5/generics/genericaspects" title="generic aspect declare parents">
+ <compile files="DeclareParentsWithTypeVars.aj" options="-1.5">
+ </compile>
+ <run class="DeclareParentsWithTypeVars">
+ </run>
+ </ajc-test>
+
<!-- ajdk example -->
<ajc-test dir="java5/generics/genericaspects" title="generic aspects - 5 (ajdk)">
<compile files="Blob.java,BlobContainment.aj,ParentChildRelationship.aj" options="-1.5"/>
p = setAnnotationPatternForTypePattern(p,ap);
eat(")");
boolean isVarArgs = maybeEat("...");
- p.setIsVarArgs(isVarArgs);
+ if (isVarArgs) p.setIsVarArgs(isVarArgs);
+ boolean isIncludeSubtypes = maybeEat("+");
+ if (isIncludeSubtypes) p.includeSubtypes = true; // need the test because (A+) should not set subtypes to false!
return p;
}
int startPos = tokenSource.peek().getStart();