Skip to content

NullPointerException with "JavaDocParserVisitor.calculateMethodIdentifier" #191

@dizzzz

Description

@dizzzz

I tried to reproduce the two null pointer exceptions I found in the current plugin; One I was able to reproduce in a project I am actively involved:

To reproduce:

java.lang.NullPointerException
	at java.util.Objects.requireNonNull(Objects.java:203)
	at com.sebastian_daschner.jaxrs_analyzer.model.methods.MethodIdentifier.<init>(MethodIdentifier.java:49)
	at com.sebastian_daschner.jaxrs_analyzer.model.methods.MethodIdentifier.of(MethodIdentifier.java:180)
	at com.sebastian_daschner.jaxrs_analyzer.model.methods.MethodIdentifier.ofNonStatic(MethodIdentifier.java:161)
	at com.sebastian_daschner.jaxrs_analyzer.analysis.javadoc.JavaDocParserVisitor.calculateMethodIdentifier(JavaDocParserVisitor.java:192)
	at com.sebastian_daschner.jaxrs_analyzer.analysis.javadoc.JavaDocParserVisitor.recordMethodComment(JavaDocParserVisitor.java:119)
	at com.sebastian_daschner.jaxrs_analyzer.analysis.javadoc.JavaDocParserVisitor.lambda$visit$2(JavaDocParserVisitor.java:113)
	at java.util.Optional.ifPresent(Optional.java:159)
	at com.sebastian_daschner.jaxrs_analyzer.analysis.javadoc.JavaDocParserVisitor.visit(JavaDocParserVisitor.java:113)
	at com.sebastian_daschner.jaxrs_analyzer.analysis.javadoc.JavaDocParserVisitor.visit(JavaDocParserVisitor.java:40)
	at com.github.javaparser.ast.body.MethodDeclaration.accept(MethodDeclaration.java:118)
	at com.github.javaparser.ast.visitor.VoidVisitorAdapter.lambda$visit$61(VoidVisitorAdapter.java:267)
	at java.util.ArrayList.forEach(ArrayList.java:1257)
	at com.github.javaparser.ast.NodeList.forEach(NodeList.java:255)
	at com.github.javaparser.ast.visitor.VoidVisitorAdapter.visit(VoidVisitorAdapter.java:267)
	at com.github.javaparser.ast.body.EnumDeclaration.accept(EnumDeclaration.java:91)
	at com.github.javaparser.ast.visitor.VoidVisitorAdapter.lambda$visit$40(VoidVisitorAdapter.java:192)
	at java.util.ArrayList.forEach(ArrayList.java:1257)
	at com.github.javaparser.ast.NodeList.forEach(NodeList.java:255)
	at com.github.javaparser.ast.visitor.VoidVisitorAdapter.visit(VoidVisitorAdapter.java:192)
	at com.github.javaparser.ast.CompilationUnit.accept(CompilationUnit.java:126)
	at com.sebastian_daschner.jaxrs_analyzer.analysis.javadoc.JavaDocAnalyzer.parseJavaDoc(JavaDocAnalyzer.java:64)
	at com.sebastian_daschner.jaxrs_analyzer.analysis.javadoc.JavaDocAnalyzer.lambda$invokeParser$0(JavaDocAnalyzer.java:58)
	at java.lang.Iterable.forEach(Iterable.java:75)
	at com.sebastian_daschner.jaxrs_analyzer.analysis.javadoc.JavaDocAnalyzer.invokeParser(JavaDocAnalyzer.java:58)
	at com.sebastian_daschner.jaxrs_analyzer.analysis.javadoc.JavaDocAnalyzer.invokeParser(JavaDocAnalyzer.java:38)
	at com.sebastian_daschner.jaxrs_analyzer.analysis.javadoc.JavaDocAnalyzer.analyze(JavaDocAnalyzer.java:31)
	at com.sebastian_daschner.jaxrs_analyzer.analysis.ProjectAnalyzer.analyze(ProjectAnalyzer.java:107)
	at com.sebastian_daschner.jaxrs_analyzer.JAXRSAnalyzer.analyze(JAXRSAnalyzer.java:47)
	at com.sebastian_daschner.jaxrs_analyzer.maven.JAXRSAnalyzerMojo.execute(JAXRSAnalyzerMojo.java:226)
	at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137)
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:154)
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:146)
	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)
	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81)
	at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:56)
	at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:305)
	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192)
	at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:105)
	at org.apache.maven.cli.MavenCli.execute(MavenCli.java:954)
	at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
	at org.apache.maven.cli.MavenCli.main(MavenCli.java:192)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
	at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
	at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
	at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions