mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-01-06 03:21:12 +07:00
[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:
committed by
intellij-monorepo-bot
parent
a95a414c25
commit
e58c231650
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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),
|
||||
|
||||
@@ -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
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user