Skip to content

Commit

Permalink
Fix some test cases for this completion
Browse files Browse the repository at this point in the history
Signed-off-by: David Thompson <davthomp@redhat.com>
  • Loading branch information
datho7561 committed Feb 13, 2025
1 parent dec12bd commit bb08f22
Showing 1 changed file with 14 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,7 @@
import org.eclipse.jdt.core.dom.IfStatement;
import org.eclipse.jdt.core.dom.ImportDeclaration;
import org.eclipse.jdt.core.dom.InfixExpression;
import org.eclipse.jdt.core.dom.Initializer;
import org.eclipse.jdt.core.dom.Javadoc;
import org.eclipse.jdt.core.dom.LambdaExpression;
import org.eclipse.jdt.core.dom.MarkerAnnotation;
Expand All @@ -98,6 +99,7 @@
import org.eclipse.jdt.core.dom.MethodInvocation;
import org.eclipse.jdt.core.dom.MethodRef;
import org.eclipse.jdt.core.dom.Modifier;
import org.eclipse.jdt.core.dom.Modifier.ModifierKeyword;
import org.eclipse.jdt.core.dom.ModuleDeclaration;
import org.eclipse.jdt.core.dom.Name;
import org.eclipse.jdt.core.dom.NormalAnnotation;
Expand Down Expand Up @@ -131,7 +133,6 @@
import org.eclipse.jdt.core.dom.VariableDeclarationExpression;
import org.eclipse.jdt.core.dom.VariableDeclarationFragment;
import org.eclipse.jdt.core.dom.VariableDeclarationStatement;
import org.eclipse.jdt.core.dom.Modifier.ModifierKeyword;
import org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants;
import org.eclipse.jdt.core.search.IJavaSearchConstants;
import org.eclipse.jdt.core.search.IJavaSearchScope;
Expand Down Expand Up @@ -168,6 +169,7 @@ public class DOMCompletionEngine implements ICompletionEngine {
PrimitiveType.DOUBLE.toString().toCharArray(),
PrimitiveType.FLOAT.toString().toCharArray(),
PrimitiveType.CHAR.toString().toCharArray());
private static final String STATIC = "static";

private final CompletionRequestor requestor;
private final SearchableEnvironment nameEnvironment;
Expand Down Expand Up @@ -941,11 +943,14 @@ public void complete(org.eclipse.jdt.internal.compiler.env.ICompilationUnit sour
}
if (!(this.toComplete instanceof Type)) {
AbstractTypeDeclaration parentTypeDeclaration = DOMCompletionUtil.findParentTypeDeclaration(context);
if (parentTypeDeclaration != null) {
MethodDeclaration methodDecl = (MethodDeclaration)DOMCompletionUtil.findParent(this.toComplete, new int[] { ASTNode.METHOD_DECLARATION });
if (parentTypeDeclaration != null && methodDecl != null && (methodDecl.getModifiers() & Flags.AccStatic) == 0) {
ITypeBinding currentTypeBinding = parentTypeDeclaration.resolveBinding();
if (currentTypeBinding.isSubTypeCompatible(qualifierTypeBinding)) {
if (!isFailedMatch(this.prefix.toCharArray(), Keywords.THIS)) {
this.requestor.accept(createKeywordProposal(Keywords.THIS, startPos, endPos));
CompletionProposal res = createKeywordProposal(Keywords.THIS, startPos, endPos);
res.setRelevance(res.getRelevance() + RelevanceConstants.R_NON_INHERITED);
this.requestor.accept(res);
}
if (!isFailedMatch(this.prefix.toCharArray(), Keywords.SUPER)) {
this.requestor.accept(createKeywordProposal(Keywords.SUPER, startPos, endPos));
Expand Down Expand Up @@ -2028,6 +2033,12 @@ private void statementLikeKeywords() {
}
}
}
MethodDeclaration methodDecl = (MethodDeclaration) DOMCompletionUtil.findParent(this.toComplete, new int[] { ASTNode.METHOD_DECLARATION });
Initializer initializer = (Initializer) DOMCompletionUtil.findParent(this.toComplete, new int[] { ASTNode.INITIALIZER });
if (methodDecl != null && (methodDecl.getModifiers() & Flags.AccStatic) == 0
|| initializer != null && !STATIC.equals(this.textContent.substring(initializer.getStartPosition(), initializer.getStartPosition() + STATIC.length()))) {
keywords.add(Keywords.THIS);
}
for (char[] keyword : keywords) {
if (!isFailedMatch(this.toComplete.toString().toCharArray(), keyword)) {
this.requestor.accept(createKeywordProposal(keyword, this.toComplete.getStartPosition(), this.offset));
Expand Down

0 comments on commit bb08f22

Please sign in to comment.