GroovyCompletionProposalComputer is unable to return any proposals due to incorrect completion expression returned by ExpressionFinder.
Let's consider the following code snippet:
void testMethod() {
def testVariable = "";
testV // cursor is placed at the end of this line
}
If user tries to complete this code (cursor is placed after "testV") everything works as expected without any issues. In this particular case ExpressionFinder will return "testV" completion expression and GroovyCompletionProposalComputer will be able to handle this case.
Now let's change testVariable's value a little bit and add two slashes (might be any string which contains two slashes):
void testMethod() {
def testVariable = "//";
testV // cursor is placed at the end of this line
}
In this case, if user tries to complete this code (cursor is placed after "testV") no completion will be returned by the GroovyCompletionProposalComputer. This happens because ExpressionFinder can't handle this particular case and returns something like "//\n\ttestV" instead of "testV" which in turn leads to empty completion for a user.
GroovyCompletionProposalComputer is unable to return any proposals due to incorrect completion expression returned by ExpressionFinder.
Let's consider the following code snippet:
If user tries to complete this code (cursor is placed after "testV") everything works as expected without any issues. In this particular case ExpressionFinder will return "testV" completion expression and GroovyCompletionProposalComputer will be able to handle this case.
Now let's change testVariable's value a little bit and add two slashes (might be any string which contains two slashes):
In this case, if user tries to complete this code (cursor is placed after "testV") no completion will be returned by the GroovyCompletionProposalComputer. This happens because ExpressionFinder can't handle this particular case and returns something like "//\n\ttestV" instead of "testV" which in turn leads to empty completion for a user.