Nullpointer-exception in pointcuts using withincode() clause
</compile>
</ajc-test>
+ <ajc-test dir="bugs"
+ pr="67774" title="Nullpointer-Exception when defining a withincode() pointcut">
+ <compile files="WithincodeNPE01.java">
+ <!-- there are 3 join points that result in decw match, but 2 are on the same line! -->
+ <message kind="warning" line="2" text="In String ctor"/>
+ <message kind="warning" line="11" text="In String ctor"/>
+ </compile>
+ </ajc-test>
</suite>
--- /dev/null
+aspect B {
+ public A.new(String s) { }
+ public void A.foo() { int i = 1; }
+
+ declare warning: withincode(void main(..)): "X"; // Would NPE without the fix for PR67774
+
+ declare warning: withincode(A.new(String)): "In String ctor";
+
+}
+
+class A {
+ private final static String name = A.class.getName();
+}
\ No newline at end of file
public Member getEnclosingCodeSignature() {
if (getKind().isEnclosingKind()) {
return getSignature();
+ } else if (getKind() == Shadow.PreInitialization) {
+ // PreInit doesn't enclose code but its signature
+ // is correctly the signature of the ctor.
+ return getSignature();
} else if (enclosingShadow == null) {
return getEnclosingMethod().getMemberView();
} else {