redhat-developer / quarkus-ls

Language server for Quarkus tooling
Eclipse Public License 2.0
44 stars 15 forks source link

Go to definition for broken tag in Qute template causes `Exception` #855

Open datho7561 opened 1 year ago

datho7561 commented 1 year ago

Given the following template:

{# foo=1 /} {! NO_SECTION_NAME !}

If you hover over the #, then the following Exception occurs:

stack trace ``` SEVERE: Internal error: java.lang.NullPointerException: Cannot invoke "String.equals(Object)" because "tagName" is null java.util.concurrent.CompletionException: java.lang.NullPointerException: Cannot invoke "String.equals(Object)" because "tagName" is null at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315) at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320) at java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1159) at java.base/java.util.concurrent.CompletableFuture$Completion.exec(CompletableFuture.java:483) at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) Caused by: java.lang.NullPointerException: Cannot invoke "String.equals(Object)" because "tagName" is null at com.redhat.qute.project.QuteProject.findUserTag(QuteProject.java:420) at com.redhat.qute.services.QuteDefinition.findDefinitionFromParameter(QuteDefinition.java:476) at com.redhat.qute.services.QuteDefinition.findDefinition(QuteDefinition.java:97) at com.redhat.qute.services.QuteLanguageService.findDefinition(QuteLanguageService.java:146) at com.redhat.qute.ls.template.TemplateFileTextDocumentService.lambda$definition$14(TemplateFileTextDocumentService.java:212) at com.redhat.qute.ls.commons.ModelTextDocuments.lambda$computeModelAsyncCompose$1(ModelTextDocuments.java:144) at java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1150) ... 6 more ```