Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephan Herrmann2021-08-13 20:56:27 +0000
committerStephan Herrmann2021-08-13 22:27:50 +0000
commitc0a65fcedd4a397c92f6d3942398d3a37f16b8ae (patch)
treedf72d82a815d04901e5c113b2d4f635518c5f79f
parent43b3339093473b2e9632f287b07b19f344c846fe (diff)
downloadeclipse.jdt.core-c0a65fcedd4a397c92f6d3942398d3a37f16b8ae.tar.gz
eclipse.jdt.core-c0a65fcedd4a397c92f6d3942398d3a37f16b8ae.tar.xz
eclipse.jdt.core-c0a65fcedd4a397c92f6d3942398d3a37f16b8ae.zip
Bug 575377 - [content assist] can't insert type proposal in lambdaI20210814-1800I20210814-0600
Change-Id: I01e9d8bddc07bb3a33c1bbaa1a297035035e462b Reviewed-on: https://git.eclipse.org/r/c/jdt/eclipse.jdt.core/+/184002 Tested-by: JDT Bot <jdt-bot@eclipse.org> Reviewed-by: Stephan Herrmann <stephan.herrmann@berlin.de>
-rw-r--r--org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/parser/CompletionParserTest2.java2
-rw-r--r--org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/complete/CompletionParser.java9
2 files changed, 9 insertions, 2 deletions
diff --git a/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/parser/CompletionParserTest2.java b/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/parser/CompletionParserTest2.java
index 14f7784a01..7247ee2492 100644
--- a/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/parser/CompletionParserTest2.java
+++ b/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/parser/CompletionParserTest2.java
@@ -7346,7 +7346,7 @@ public void test0112_Method(){
String expectedCompletionNodeToString = "<CompleteOnName:zzz>";
String expectedParentNodeToString = "(1 == <CompleteOnName:zzz>)";
String completionIdentifier = "zzz";
- String expectedReplacedSource = "(zzz)";
+ String expectedReplacedSource = "zzz";
String expectedUnitDisplayString =
"package p;\n" +
"public class X {\n" +
diff --git a/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/complete/CompletionParser.java b/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/complete/CompletionParser.java
index f49c544041..12c5ed4c60 100644
--- a/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/complete/CompletionParser.java
+++ b/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/complete/CompletionParser.java
@@ -5468,6 +5468,14 @@ protected NameReference getUnspecifiedReference(boolean rejectTypeAnnotations) {
return ref;
}
@Override
+protected void updateSourcePosition(Expression exp) {
+ // handles total positions of parenthesized expressions, but don't extend position of the assist node:
+ if (exp == this.assistNode)
+ this.intPtr -= 2;
+ else
+ super.updateSourcePosition(exp);
+}
+@Override
protected void consumePostfixExpression() {
// PostfixExpression ::= Name
if (topKnownElementKind(COMPLETION_OR_ASSIST_PARSER) != K_YIELD_KEYWORD) {
@@ -6131,7 +6139,6 @@ protected void updateRecoveryState() {
recoveryExitFromVariable();
}
-
@Override
protected CompilationUnitDeclaration endParse(int act) {
CompilationUnitDeclaration cud = super.endParse(act);

Back to the top