[java-completion] IJ-CR-123816 IDEA-342465 support correctness for completion

- simplified logic
- add logs to measure times

GitOrigin-RevId: a378fe0a019105c2dc130a1ca25bef5e4f9001d4
This commit is contained in:
Mikhail Pyltsin
2024-01-13 22:21:13 +01:00
committed by intellij-monorepo-bot
parent a95a414c25
commit e58c231650
6 changed files with 0 additions and 37 deletions

View File

@@ -231,8 +231,6 @@ public abstract class AbstractBasicJavaElementTypeFactory {
public final IElementType TYPE_WITH_CONJUNCTIONS_TEXT;
public final IElementType FILE_FRAGMENT;
public final IElementType DUMMY_ELEMENT;
public JavaElementTypeContainer(IElementType ANNOTATION_PARAMETER_LIST,
@@ -347,7 +345,6 @@ public abstract class AbstractBasicJavaElementTypeFactory {
IElementType REFERENCE_TEXT,
IElementType TYPE_WITH_DISJUNCTIONS_TEXT,
IElementType TYPE_WITH_CONJUNCTIONS_TEXT,
IElementType FILE_FRAGMENT,
IElementType DUMMY_ELEMENT) {
this.ANNOTATION_PARAMETER_LIST = ANNOTATION_PARAMETER_LIST;
this.EXTENDS_LIST = EXTENDS_LIST;
@@ -461,7 +458,6 @@ public abstract class AbstractBasicJavaElementTypeFactory {
this.REFERENCE_TEXT = REFERENCE_TEXT;
this.TYPE_WITH_DISJUNCTIONS_TEXT = TYPE_WITH_DISJUNCTIONS_TEXT;
this.TYPE_WITH_CONJUNCTIONS_TEXT = TYPE_WITH_CONJUNCTIONS_TEXT;
this.FILE_FRAGMENT = FILE_FRAGMENT;
this.DUMMY_ELEMENT = DUMMY_ELEMENT;
}
}

View File

@@ -19,7 +19,6 @@ import com.intellij.psi.impl.source.tree.ICodeFragmentElementType;
import com.intellij.psi.tree.*;
import com.intellij.psi.tree.java.IJavaElementType;
import com.intellij.util.diff.FlyweightCapableTreeStructure;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -154,7 +153,6 @@ public interface BasicJavaElementType {
IElementType BASIC_MEMBERS = new IElementType("MEMBERS", JavaLanguage.INSTANCE);
IElementType BASIC_STATEMENTS = new IElementType("STATEMENTS", JavaLanguage.INSTANCE);
IElementType BASIC_FILE_FRAGMENT = new IElementType("FILE_FRAGMENT", JavaLanguage.INSTANCE);
IElementType BASIC_EXPRESSION_TEXT = new IElementType("EXPRESSION_TEXT", JavaLanguage.INSTANCE);
IElementType BASIC_REFERENCE_TEXT = new IElementType("REFERENCE_TEXT", JavaLanguage.INSTANCE);
IElementType BASIC_TYPE_WITH_DISJUNCTIONS_TEXT = new IElementType("TYPE_WITH_DISJUNCTIONS_TEXT", JavaLanguage.INSTANCE);
@@ -387,17 +385,6 @@ public interface BasicJavaElementType {
}
}
@ApiStatus.Experimental
class FileThinCodeFragmentElementType extends ThinCodeFragmentElementType {
public FileThinCodeFragmentElementType(@NotNull Supplier<? extends BasicJavaParser> javaThinParser,
@NotNull Function<LanguageLevel, JavaDocLexer> docLexerFunction,
@NotNull Function<LanguageLevel, BasicJavaLexer> lexerFunction) {
super("FILE_FRAGMENT", builder -> javaThinParser.get().getFileParser().parse(builder), docLexerFunction, lexerFunction,
BASIC_FILE_FRAGMENT);
}
}
class MemberThinCodeFragmentElementType extends ThinCodeFragmentElementType {
public MemberThinCodeFragmentElementType(@NotNull Supplier<? extends BasicJavaParser> javaThinParser,

View File

@@ -33,12 +33,6 @@ public final class JavaCodeFragmentFactoryImpl extends JavaCodeFragmentFactory {
return new PsiCodeFragmentImpl(myProject, JavaElementType.STATEMENTS, isPhysical, "fragment.java", text, context);
}
@NotNull
@Override
public JavaCodeFragment createFileCodeFragment(@NotNull final String text, @Nullable final PsiElement context, final boolean isPhysical, String fileName) {
return new PsiCodeFragmentImpl(myProject, JavaElementType.FILE_FRAGMENT, isPhysical, fileName, text, context);
}
@NotNull
@Override
public PsiTypeCodeFragment createTypeCodeFragment(@NotNull final String text, @Nullable final PsiElement context, final boolean isPhysical) {

View File

@@ -3,7 +3,6 @@ package com.intellij.psi;
import com.intellij.openapi.project.Project;
import org.intellij.lang.annotations.MagicConstant;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -58,13 +57,6 @@ public abstract class JavaCodeFragmentFactory {
*/
public static final int ALLOW_INTERSECTION = 0x08;
@ApiStatus.Experimental
@NotNull
public abstract JavaCodeFragment createFileCodeFragment(@NotNull String text,
@Nullable PsiElement context,
boolean isPhysical,
String fileName);
/**
* Creates a Java type code fragment from the text of the name of a Java type (the name
* of a primitive type, array type or class), with {@code void} and ellipsis

View File

@@ -250,11 +250,6 @@ public interface JavaElementType {
(level) -> (BasicJavaLexer)JavaParserDefinition.createLexer(level)
);
IElementType FILE_FRAGMENT = new FileThinCodeFragmentElementType(() -> JavaParser.INSTANCE,
(level) -> (JavaDocLexer)JavaParserDefinition.createDocLexer(level),
(level) -> (BasicJavaLexer)JavaParserDefinition.createLexer(level)
);
IElementType EXPRESSION_TEXT = new ExpressionThinCodeFragmentElementType(() -> JavaParser.INSTANCE,
(level) -> (JavaDocLexer)JavaParserDefinition.createDocLexer(
level),

View File

@@ -134,7 +134,6 @@ public class JavaElementTypeFactory extends AbstractBasicJavaElementTypeFactory
JavaElementType.REFERENCE_TEXT,
JavaElementType.TYPE_WITH_DISJUNCTIONS_TEXT,
JavaElementType.TYPE_WITH_CONJUNCTIONS_TEXT,
JavaElementType.FILE_FRAGMENT,
JavaElementType.DUMMY_ELEMENT
);
}