mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
java: drop FrontendJavaTypedHandler, move its code to JavaTypedHandlerBase
GitOrigin-RevId: d53e5564dc1813adfe99e9544c9cde5ddbbaac13
This commit is contained in:
committed by
intellij-monorepo-bot
parent
8eb8701ec7
commit
21a4616d5a
@@ -18,5 +18,6 @@
|
||||
<orderEntry type="module" module-name="intellij.java.psi.impl" />
|
||||
<orderEntry type="module" module-name="intellij.java.indexing" />
|
||||
<orderEntry type="module" module-name="intellij.java.codeserver.core" />
|
||||
<orderEntry type="module" module-name="intellij.java.frontback.impl" />
|
||||
</component>
|
||||
</module>
|
||||
@@ -51,5 +51,7 @@
|
||||
implementationClass="com.intellij.codeInsight.editorActions.smartEnter.JavaSmartEnterProcessor"/>
|
||||
|
||||
<java.definitions id="java-backend" implementation="com.intellij.codeInsight.JavaDefinitionService"/>
|
||||
|
||||
<highlightErrorFilter implementation="com.intellij.codeInsight.daemon.impl.analysis.JavaHighlightErrorFilter"/>
|
||||
</extensions>
|
||||
</idea-plugin>
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.codeInsight.daemon.impl.analysis;
|
||||
|
||||
import com.intellij.codeInsight.highlighting.HighlightErrorFilter;
|
||||
+36
-11
@@ -2,9 +2,12 @@
|
||||
package com.intellij.codeInsight.editorActions;
|
||||
|
||||
import com.intellij.codeInsight.CodeInsightSettings;
|
||||
import com.intellij.codeInsight.editorActions.smartEnter.JavaSmartEnterProcessor;
|
||||
import com.intellij.core.JavaPsiBundle;
|
||||
import com.intellij.ide.highlighter.JavaFileType;
|
||||
import com.intellij.lang.ASTNode;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.command.CommandProcessor;
|
||||
import com.intellij.openapi.editor.Document;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.editor.EditorModificationUtil;
|
||||
@@ -17,9 +20,11 @@ import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.codeStyle.CodeStyleManager;
|
||||
import com.intellij.psi.impl.source.BasicJavaAstTreeUtil;
|
||||
import com.intellij.psi.jsp.JspFile;
|
||||
import com.intellij.psi.tree.IElementType;
|
||||
import com.intellij.psi.tree.ParentAwareTokenSet;
|
||||
import com.intellij.psi.util.PsiTreeUtil;
|
||||
import com.intellij.psi.util.PsiUtil;
|
||||
import com.intellij.util.text.CharArrayUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
@@ -29,23 +34,37 @@ import java.util.Set;
|
||||
import static com.intellij.psi.impl.source.BasicJavaElementType.*;
|
||||
|
||||
|
||||
public abstract class AbstractBasicJavaTypedHandler extends TypedHandlerDelegate {
|
||||
public class JavaTypedHandlerBase extends TypedHandlerDelegate {
|
||||
private boolean myJavaLTTyped;
|
||||
|
||||
protected AbstractBasicJavaTypedHandler() {
|
||||
protected JavaTypedHandlerBase() {
|
||||
}
|
||||
|
||||
protected abstract boolean isJavaFile(@NotNull PsiFile file);
|
||||
private static boolean isJavaFile(@NotNull PsiFile file) {
|
||||
return file instanceof PsiJavaFile;
|
||||
}
|
||||
|
||||
protected abstract boolean isJspFile(@NotNull PsiFile file);
|
||||
private static boolean isJspFile(@NotNull PsiFile file) {
|
||||
return file instanceof JspFile;
|
||||
}
|
||||
|
||||
protected abstract void autoPopupMemberLookup(@NotNull Project project, @NotNull Editor editor);
|
||||
protected void autoPopupMemberLookup(@NotNull Project project, @NotNull Editor editor) {
|
||||
|
||||
protected abstract void autoPopupJavadocLookup(final @NotNull Project project, final @NotNull Editor editor);
|
||||
}
|
||||
|
||||
protected abstract boolean isLanguageLevel5OrHigher(@NotNull PsiFile file);
|
||||
protected void autoPopupJavadocLookup(final @NotNull Project project, final @NotNull Editor editor) {
|
||||
|
||||
protected abstract @NotNull Result processWhileAndIfStatementBody(@NotNull Project project, @NotNull Editor editor, @NotNull PsiFile file);
|
||||
}
|
||||
|
||||
private static boolean isLanguageLevel5OrHigher(@NotNull PsiFile file) {
|
||||
return PsiUtil.isLanguageLevel5OrHigher(file);
|
||||
}
|
||||
|
||||
private static @NotNull Result processWhileAndIfStatementBody(@NotNull Project project, @NotNull Editor editor, @NotNull PsiFile file) {
|
||||
CommandProcessor.getInstance().executeCommand(project, () -> new JavaSmartEnterProcessor().process(project, editor, file),
|
||||
JavaPsiBundle.message("command.name.insert.block.statement"), null);
|
||||
return Result.STOP;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
@@ -53,16 +72,22 @@ public abstract class AbstractBasicJavaTypedHandler extends TypedHandlerDelegate
|
||||
*
|
||||
* @return true if the '=' char was processed
|
||||
*/
|
||||
public abstract boolean handleEquality(Project project, Editor editor, PsiFile file, int offsetBefore);
|
||||
public boolean handleEquality(Project project, Editor editor, PsiFile file, int offsetBefore) {
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Automatically insert parentheses around the ?: when necessary.
|
||||
*
|
||||
* @return true if question mark was handled
|
||||
*/
|
||||
protected abstract boolean handleQuestionMark(Project project, Editor editor, PsiFile file, int offsetBefore);
|
||||
protected boolean handleQuestionMark(Project project, Editor editor, PsiFile file, int offsetBefore) {
|
||||
return false;
|
||||
}
|
||||
|
||||
protected abstract boolean handleAnnotationParameter(Project project, @NotNull Editor editor, @NotNull PsiFile file);
|
||||
protected boolean handleAnnotationParameter(Project project, @NotNull Editor editor, @NotNull PsiFile file) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull Result beforeCharTyped(final char c,
|
||||
@@ -2661,7 +2661,6 @@
|
||||
</intentionAction>
|
||||
<externalAnnotationsArtifactsResolver implementation="com.intellij.jarRepository.ExternalAnnotationsRepositoryResolver"/>
|
||||
<errorQuickFixProvider implementation="com.intellij.codeInsight.daemon.impl.analysis.JavaErrorQuickFixProvider"/>
|
||||
<highlightErrorFilter implementation="com.intellij.codeInsight.daemon.impl.analysis.JavaHighlightErrorFilter"/>
|
||||
|
||||
<searchEverywhereResultsEqualityProvider implementation="com.intellij.ide.JavaClassAndFileEqualityProvider"/>
|
||||
|
||||
|
||||
@@ -6,10 +6,7 @@ import com.intellij.codeInsight.AutoPopupController;
|
||||
import com.intellij.codeInsight.completion.CompletionType;
|
||||
import com.intellij.codeInsight.completion.JavaClassReferenceCompletionContributor;
|
||||
import com.intellij.codeInsight.completion.command.CommandCompletionFactoryKt;
|
||||
import com.intellij.codeInsight.editorActions.smartEnter.JavaSmartEnterProcessor;
|
||||
import com.intellij.core.JavaPsiBundle;
|
||||
import com.intellij.java.syntax.parser.JavaKeywords;
|
||||
import com.intellij.openapi.command.CommandProcessor;
|
||||
import com.intellij.openapi.editor.Document;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.editor.highlighter.HighlighterIterator;
|
||||
@@ -18,7 +15,6 @@ import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.patterns.PsiJavaPatterns;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.javadoc.PsiDocComment;
|
||||
import com.intellij.psi.jsp.JspFile;
|
||||
import com.intellij.psi.tree.IElementType;
|
||||
import com.intellij.psi.util.PsiTreeUtil;
|
||||
import com.intellij.psi.util.PsiUtil;
|
||||
@@ -32,30 +28,7 @@ import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public final class JavaTypedHandler extends AbstractBasicJavaTypedHandler {
|
||||
|
||||
@Override
|
||||
protected boolean isJavaFile(@NotNull PsiFile file) {
|
||||
return file instanceof PsiJavaFile;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isJspFile(@NotNull PsiFile file) {
|
||||
return file instanceof JspFile;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isLanguageLevel5OrHigher(@NotNull PsiFile file) {
|
||||
return PsiUtil.isLanguageLevel5OrHigher(file);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected @NotNull Result processWhileAndIfStatementBody(@NotNull Project project, @NotNull Editor editor, @NotNull PsiFile file) {
|
||||
CommandProcessor.getInstance().executeCommand(project, () -> new JavaSmartEnterProcessor().process(project, editor, file),
|
||||
JavaPsiBundle.message("command.name.insert.block.statement"), null);
|
||||
return Result.STOP;
|
||||
}
|
||||
|
||||
public final class JavaTypedHandler extends JavaTypedHandlerBase {
|
||||
@Override
|
||||
public boolean handleEquality(Project project, Editor editor, PsiFile file, int offsetBefore) {
|
||||
if (offsetBefore == 0) return false;
|
||||
|
||||
Reference in New Issue
Block a user