diff options
author | Stephan Herrmann | 2021-08-13 20:56:27 +0000 |
---|---|---|
committer | Stephan Herrmann | 2021-08-13 22:27:50 +0000 |
commit | c0a65fcedd4a397c92f6d3942398d3a37f16b8ae (patch) | |
tree | df72d82a815d04901e5c113b2d4f635518c5f79f | |
parent | 43b3339093473b2e9632f287b07b19f344c846fe (diff) | |
download | eclipse.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>
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); |