Issue #3732: fix NPE for Java 8's 'receiver parameter'
This commit is contained in:
parent
f91b1af3d7
commit
8e52504297
|
|
@ -694,7 +694,9 @@ public class JavadocMethodCheck extends AbstractTypeAwareCheck {
|
|||
while (child != null) {
|
||||
if (child.getType() == TokenTypes.PARAMETER_DEF) {
|
||||
final DetailAST ident = child.findFirstToken(TokenTypes.IDENT);
|
||||
returnValue.add(ident);
|
||||
if (ident != null) {
|
||||
returnValue.add(ident);
|
||||
}
|
||||
}
|
||||
child = child.getNextSibling();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -591,4 +591,10 @@ public class JavadocMethodCheckTest extends BaseCheckTestSupport {
|
|||
};
|
||||
verify(checkConfig, getPath("InputJavadocMethodsNotSkipWritten.java"), expected);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testJava8ReceiverParameter() throws Exception {
|
||||
final String[] expected = CommonUtils.EMPTY_STRING_ARRAY;
|
||||
verify(checkConfig, getPath("InputJavadocReceiverParameter.java"), expected);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,32 @@
|
|||
package com.puppycrawl.tools.checkstyle.checks.javadoc;
|
||||
|
||||
import java.lang.annotation.ElementType;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.lang.annotation.Target;
|
||||
import java.nio.ByteBuffer;
|
||||
|
||||
public class InputJavadocReceiverParameter {
|
||||
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@Target({ElementType.TYPE_USE, ElementType.TYPE_PARAMETER})
|
||||
public @interface UnknownInitialization {
|
||||
/**
|
||||
* A dummy annotation to check Java 8's receiver parameter handling.
|
||||
*
|
||||
* @return a class
|
||||
*/
|
||||
Class<?> value() default Object.class;
|
||||
}
|
||||
|
||||
/**
|
||||
* Function to check handling of Java 8's receiver parameter.
|
||||
*
|
||||
* @param buffer dummy argument
|
||||
*/
|
||||
public void foo(@UnknownInitialization(InputJavadocReceiverParameter.class) InputJavadocReceiverParameter this,
|
||||
final ByteBuffer buffer) {
|
||||
buffer.putInt(1);
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Reference in New Issue