mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-03-22 23:31:05 +07:00
[java] JavaLineIndentProvider: remove static init
GitOrigin-RevId: fd4fb3dcdc3414e0ac61c2e2b2ed48d5d498e85b
This commit is contained in:
committed by
intellij-monorepo-bot
parent
eae9e46a69
commit
56cd5fddea
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2016 JetBrains s.r.o.
|
||||
* Copyright 2000-2024 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -31,44 +31,43 @@ import com.intellij.psi.tree.IElementType;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import static com.intellij.formatting.Indent.Type.CONTINUATION;
|
||||
import static com.intellij.psi.impl.source.codeStyle.lineIndent.JavaLikeLangLineIndentProvider.JavaLikeElement.*;
|
||||
|
||||
public final class JavaLineIndentProvider extends JavaLikeLangLineIndentProvider {
|
||||
private final static HashMap<IElementType, SemanticEditorPosition.SyntaxElement> SYNTAX_MAP = new HashMap<>();
|
||||
static {
|
||||
SYNTAX_MAP.put(TokenType.WHITE_SPACE, Whitespace);
|
||||
SYNTAX_MAP.put(JavaTokenType.SEMICOLON, Semicolon);
|
||||
SYNTAX_MAP.put(JavaTokenType.LBRACE, BlockOpeningBrace);
|
||||
SYNTAX_MAP.put(JavaTokenType.RBRACE, BlockClosingBrace);
|
||||
SYNTAX_MAP.put(JavaTokenType.LBRACKET, ArrayOpeningBracket);
|
||||
SYNTAX_MAP.put(JavaTokenType.RBRACKET, ArrayClosingBracket);
|
||||
SYNTAX_MAP.put(JavaTokenType.RPARENTH, RightParenthesis);
|
||||
SYNTAX_MAP.put(JavaTokenType.LPARENTH, LeftParenthesis);
|
||||
SYNTAX_MAP.put(JavaTokenType.COLON, Colon);
|
||||
SYNTAX_MAP.put(JavaTokenType.CASE_KEYWORD, SwitchCase);
|
||||
SYNTAX_MAP.put(JavaTokenType.DEFAULT_KEYWORD, SwitchDefault);
|
||||
SYNTAX_MAP.put(JavaTokenType.IF_KEYWORD, IfKeyword);
|
||||
SYNTAX_MAP.put(JavaTokenType.WHILE_KEYWORD, IfKeyword);
|
||||
SYNTAX_MAP.put(JavaTokenType.ELSE_KEYWORD, ElseKeyword);
|
||||
SYNTAX_MAP.put(JavaTokenType.FOR_KEYWORD, ForKeyword);
|
||||
SYNTAX_MAP.put(JavaTokenType.DO_KEYWORD, DoKeyword);
|
||||
SYNTAX_MAP.put(JavaTokenType.C_STYLE_COMMENT, BlockComment);
|
||||
SYNTAX_MAP.put(JavaDocTokenType.DOC_COMMENT_START, DocBlockStart);
|
||||
SYNTAX_MAP.put(JavaDocTokenType.DOC_COMMENT_END, DocBlockEnd);
|
||||
SYNTAX_MAP.put(JavaTokenType.COMMA, Comma);
|
||||
SYNTAX_MAP.put(JavaTokenType.END_OF_LINE_COMMENT, LineComment);
|
||||
SYNTAX_MAP.put(JavaTokenType.TRY_KEYWORD, TryKeyword);
|
||||
}
|
||||
|
||||
private final static Map<IElementType, SemanticEditorPosition.SyntaxElement> SYNTAX_MAP = Map.ofEntries(
|
||||
Map.entry(TokenType.WHITE_SPACE, Whitespace),
|
||||
Map.entry(JavaTokenType.SEMICOLON, Semicolon),
|
||||
Map.entry(JavaTokenType.LBRACE, BlockOpeningBrace),
|
||||
Map.entry(JavaTokenType.RBRACE, BlockClosingBrace),
|
||||
Map.entry(JavaTokenType.LBRACKET, ArrayOpeningBracket),
|
||||
Map.entry(JavaTokenType.RBRACKET, ArrayClosingBracket),
|
||||
Map.entry(JavaTokenType.RPARENTH, RightParenthesis),
|
||||
Map.entry(JavaTokenType.LPARENTH, LeftParenthesis),
|
||||
Map.entry(JavaTokenType.COLON, Colon),
|
||||
Map.entry(JavaTokenType.CASE_KEYWORD, SwitchCase),
|
||||
Map.entry(JavaTokenType.DEFAULT_KEYWORD, SwitchDefault),
|
||||
Map.entry(JavaTokenType.IF_KEYWORD, IfKeyword),
|
||||
Map.entry(JavaTokenType.WHILE_KEYWORD, IfKeyword),
|
||||
Map.entry(JavaTokenType.ELSE_KEYWORD, ElseKeyword),
|
||||
Map.entry(JavaTokenType.FOR_KEYWORD, ForKeyword),
|
||||
Map.entry(JavaTokenType.DO_KEYWORD, DoKeyword),
|
||||
Map.entry(JavaTokenType.C_STYLE_COMMENT, BlockComment),
|
||||
Map.entry(JavaDocTokenType.DOC_COMMENT_START, DocBlockStart),
|
||||
Map.entry(JavaDocTokenType.DOC_COMMENT_END, DocBlockEnd),
|
||||
Map.entry(JavaTokenType.COMMA, Comma),
|
||||
Map.entry(JavaTokenType.END_OF_LINE_COMMENT, LineComment),
|
||||
Map.entry(JavaTokenType.TRY_KEYWORD, TryKeyword)
|
||||
);
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
protected SemanticEditorPosition.SyntaxElement mapType(@NotNull IElementType tokenType) {
|
||||
return SYNTAX_MAP.get(tokenType);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean isSuitableForLanguage(@NotNull Language language) {
|
||||
return language.isKindOf(JavaLanguage.INSTANCE);
|
||||
@@ -83,13 +82,13 @@ public final class JavaLineIndentProvider extends JavaLikeLangLineIndentProvider
|
||||
if (beforeStart.isAt(JavaTokenType.EQ) ||
|
||||
beforeStart.isAt(JavaTokenType.RBRACKET) ||
|
||||
beforeStart.isAt(JavaTokenType.LPARENTH)
|
||||
) {
|
||||
) {
|
||||
// For arrays like int x = {<caret>0, 1, 2}
|
||||
return getDefaultIndentFromType(CONTINUATION);
|
||||
}
|
||||
else if (beforeStart.isAt(JavaTokenType.IDENTIFIER)) {
|
||||
moveBeforeExtendsImplementsAndIdentifier(beforeStart);
|
||||
if (beforeStart.isAt(JavaTokenType.CLASS_KEYWORD) && doNotIndentClassMembers(beforeStart)) {
|
||||
if (beforeStart.isAt(JavaTokenType.CLASS_KEYWORD) && doNotIndentClassMembers(beforeStart)) {
|
||||
return Indent.getNoneIndent();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user