microsoft / vscode-gradle

Manage Gradle Projects, run Gradle tasks and provide better Gradle file authoring experience in VS Code
https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-gradle
MIT License
124 stars 51 forks source link

Gradle autocompletion (ctrl + space) fails with error #1562

Open fool-ish opened 2 months ago

fool-ish commented 2 months ago

Extension Name: vscode-gradle Extension Version: v3.16.2024080611 (pre-release) OS Version: Windows 11 VSCode version: nightly

Describe the bug The extension or language server is failing completely when trying to do anything in a build.gradle file. Trying to work on a minecraft mod with neoforge ModDevGradle template from below.

To Reproduce git clone https://github.com/NeoForgeMDKs/MDK-1.21-ModDevGradle.git go into build.gradle and press ctrl + space to autocomplete anywhere

Expected behavior should show autocompletion list

Screenshots image

Output from "Gradle for Java"

[Error - 2:06:37 PM] Request textDocument/completion failed.
  Message: Internal error.
  Code: -32603 
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
    at org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint.lambda$null$0(GenericEndpoint.java:67)
    at org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint.request(GenericEndpoint.java:120)
    at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.handleRequest(RemoteEndpoint.java:261)
    at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.consume(RemoteEndpoint.java:190)
    at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.handleMessage(StreamMessageProducer.java:194)
    at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.listen(StreamMessageProducer.java:94)
    at org.eclipse.lsp4j.jsonrpc.json.ConcurrentMessageProcessor.run(ConcurrentMessageProcessor.java:113)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.lang.reflect.InvocationTargetException
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.base/java.lang.reflect.Method.invoke(Unknown Source)
    at org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint.lambda$null$0(GenericEndpoint.java:65)
    ... 11 more
Caused by: java.lang.NullPointerException: Cannot invoke "String.equals(Object)" because the return value of "org.codehaus.groovy.ast.expr.MethodCallExpression.getMethodAsString()" is null
    at com.microsoft.gradle.compile.CompletionVisitor.visitMethodCallExpression(CompletionVisitor.java:107)
    at org.codehaus.groovy.ast.expr.MethodCallExpression.visit(MethodCallExpression.java:78)
    at org.codehaus.groovy.ast.CodeVisitorSupport.visitExpressionStatement(CodeVisitorSupport.java:117)
    at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitExpressionStatement(ClassCodeVisitorSupport.java:244)
    at org.codehaus.groovy.ast.stmt.ExpressionStatement.visit(ExpressionStatement.java:41)
    at org.codehaus.groovy.ast.CodeVisitorSupport.visitBlockStatement(CodeVisitorSupport.java:86)
    at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitBlockStatement(ClassCodeVisitorSupport.java:208)
    at org.codehaus.groovy.ast.stmt.BlockStatement.visit(BlockStatement.java:72)
    at org.codehaus.groovy.ast.CodeVisitorSupport.visitClosureExpression(CodeVisitorSupport.java:239)
    at org.codehaus.groovy.ast.expr.ClosureExpression.visit(ClosureExpression.java:110)
    at org.codehaus.groovy.ast.GroovyCodeVisitor.visitListOfExpressions(GroovyCodeVisitor.java:215)
    at org.codehaus.groovy.ast.CodeVisitorSupport.visitTupleExpression(CodeVisitorSupport.java:249)
    at org.codehaus.groovy.ast.CodeVisitorSupport.visitArgumentlistExpression(CodeVisitorSupport.java:367)
    at org.codehaus.groovy.ast.expr.ArgumentListExpression.visit(ArgumentListExpression.java:75)
    at org.codehaus.groovy.ast.CodeVisitorSupport.visitMethodCallExpression(CodeVisitorSupport.java:186)
    at com.microsoft.gradle.compile.CompletionVisitor.visitMethodCallExpression(CompletionVisitor.java:120)
    at org.codehaus.groovy.ast.expr.MethodCallExpression.visit(MethodCallExpression.java:78)
    at org.codehaus.groovy.ast.CodeVisitorSupport.visitExpressionStatement(CodeVisitorSupport.java:117)
    at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitExpressionStatement(ClassCodeVisitorSupport.java:244)
    at org.codehaus.groovy.ast.stmt.ExpressionStatement.visit(ExpressionStatement.java:41)
    at org.codehaus.groovy.ast.CodeVisitorSupport.visitBlockStatement(CodeVisitorSupport.java:86)
    at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitBlockStatement(ClassCodeVisitorSupport.java:208)
    at org.codehaus.groovy.ast.stmt.BlockStatement.visit(BlockStatement.java:72)
    at org.codehaus.groovy.ast.CodeVisitorSupport.visitClosureExpression(CodeVisitorSupport.java:239)
    at org.codehaus.groovy.ast.expr.ClosureExpression.visit(ClosureExpression.java:110)
    at org.codehaus.groovy.ast.GroovyCodeVisitor.visitListOfExpressions(GroovyCodeVisitor.java:215)
    at org.codehaus.groovy.ast.CodeVisitorSupport.visitTupleExpression(CodeVisitorSupport.java:249)
    at org.codehaus.groovy.ast.CodeVisitorSupport.visitArgumentlistExpression(CodeVisitorSupport.java:367)
    at org.codehaus.groovy.ast.expr.ArgumentListExpression.visit(ArgumentListExpression.java:75)
    at org.codehaus.groovy.ast.CodeVisitorSupport.visitMethodCallExpression(CodeVisitorSupport.java:186)
    at com.microsoft.gradle.compile.CompletionVisitor.visitMethodCallExpression(CompletionVisitor.java:120)
    at org.codehaus.groovy.ast.expr.MethodCallExpression.visit(MethodCallExpression.java:78)
    at org.codehaus.groovy.ast.CodeVisitorSupport.visitExpressionStatement(CodeVisitorSupport.java:117)
    at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitExpressionStatement(ClassCodeVisitorSupport.java:244)
    at org.codehaus.groovy.ast.stmt.ExpressionStatement.visit(ExpressionStatement.java:41)
    at org.codehaus.groovy.ast.CodeVisitorSupport.visitBlockStatement(CodeVisitorSupport.java:86)
    at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitBlockStatement(ClassCodeVisitorSupport.java:208)
    at org.codehaus.groovy.ast.stmt.BlockStatement.visit(BlockStatement.java:72)
    at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitClassCodeContainer(ClassCodeVisitorSupport.java:157)
    at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitConstructorOrMethod(ClassCodeVisitorSupport.java:130)
    at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitMethod(ClassCodeVisitorSupport.java:125)
    at org.codehaus.groovy.ast.ClassNode.visitMethods(ClassNode.java:1190)
    at org.codehaus.groovy.ast.ClassNode.visitContents(ClassNode.java:1183)
    at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitClass(ClassCodeVisitorSupport.java:56)
    at com.microsoft.gradle.compile.CompletionVisitor.lambda$visitModule$1(CompletionVisitor.java:100)
    at java.base/java.lang.Iterable.forEach(Unknown Source)
    at com.microsoft.gradle.compile.CompletionVisitor.visitModule(CompletionVisitor.java:99)
    at com.microsoft.gradle.compile.CompletionVisitor.visitSourceUnit(CompletionVisitor.java:92)
    at com.microsoft.gradle.compile.CompletionVisitor.lambda$visitCompilationUnit$0(CompletionVisitor.java:81)
    at java.base/java.util.Iterator.forEachRemaining(Unknown Source)
    at com.microsoft.gradle.compile.CompletionVisitor.visitCompilationUnit(CompletionVisitor.java:81)
    at com.microsoft.gradle.GradleServices.completion(GradleServices.java:269)
    ... 16 more

Does the bug still exist if you disable all other extensions? Yes

Additional context still fails with the normal Gradle For Java version (failing with both pre-release & release versions on vscode extension store)