mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-18 09:34:34 +07:00
Fix literal keywords highlighting; cleanup
This commit is contained in:
@@ -21,9 +21,7 @@ import com.intellij.psi.PsiTypeElement;
|
||||
import com.intellij.psi.impl.source.PsiElementArrayConstructor;
|
||||
import com.intellij.psi.tree.TokenSet;
|
||||
|
||||
public interface ElementType extends JavaTokenType, JavaDocTokenType,
|
||||
JavaElementType, JavaDocElementType {
|
||||
|
||||
public interface ElementType extends JavaTokenType, JavaDocTokenType, JavaElementType, JavaDocElementType {
|
||||
TokenSet JAVA_WHITESPACE_BIT_SET = TokenSet.create(WHITE_SPACE);
|
||||
|
||||
TokenSet JAVA_PLAIN_COMMENT_BIT_SET = TokenSet.create(END_OF_LINE_COMMENT, C_STYLE_COMMENT);
|
||||
@@ -32,13 +30,16 @@ public interface ElementType extends JavaTokenType, JavaDocTokenType,
|
||||
TokenSet JAVA_COMMENT_OR_WHITESPACE_BIT_SET = TokenSet.orSet(JAVA_WHITESPACE_BIT_SET, JAVA_COMMENT_BIT_SET);
|
||||
|
||||
TokenSet KEYWORD_BIT_SET = TokenSet.create(
|
||||
ABSTRACT_KEYWORD, ASSERT_KEYWORD, BOOLEAN_KEYWORD, BREAK_KEYWORD, BYTE_KEYWORD, CASE_KEYWORD, CATCH_KEYWORD, CHAR_KEYWORD, CLASS_KEYWORD,
|
||||
CONST_KEYWORD, CONTINUE_KEYWORD, DEFAULT_KEYWORD, DO_KEYWORD, DOUBLE_KEYWORD, ELSE_KEYWORD, EXTENDS_KEYWORD, FINAL_KEYWORD,
|
||||
ABSTRACT_KEYWORD, ASSERT_KEYWORD, BOOLEAN_KEYWORD, BREAK_KEYWORD, BYTE_KEYWORD, CASE_KEYWORD, CATCH_KEYWORD, CHAR_KEYWORD,
|
||||
CLASS_KEYWORD,
|
||||
CONST_KEYWORD, CONTINUE_KEYWORD, DEFAULT_KEYWORD, DO_KEYWORD, DOUBLE_KEYWORD, ELSE_KEYWORD, ENUM_KEYWORD, EXTENDS_KEYWORD,
|
||||
FINAL_KEYWORD,
|
||||
FINALLY_KEYWORD, FLOAT_KEYWORD, FOR_KEYWORD, GOTO_KEYWORD, IF_KEYWORD, IMPLEMENTS_KEYWORD, IMPORT_KEYWORD, INSTANCEOF_KEYWORD,
|
||||
INT_KEYWORD, INTERFACE_KEYWORD, LONG_KEYWORD, NATIVE_KEYWORD, NEW_KEYWORD, PACKAGE_KEYWORD, PRIVATE_KEYWORD, PUBLIC_KEYWORD,
|
||||
SHORT_KEYWORD, SUPER_KEYWORD, SWITCH_KEYWORD, STRICTFP_KEYWORD, SYNCHRONIZED_KEYWORD, THIS_KEYWORD, THROW_KEYWORD, PROTECTED_KEYWORD,
|
||||
TRANSIENT_KEYWORD, RETURN_KEYWORD, VOID_KEYWORD, STATIC_KEYWORD, WHILE_KEYWORD, TRY_KEYWORD, VOLATILE_KEYWORD, THROWS_KEYWORD,
|
||||
ENUM_KEYWORD);
|
||||
INT_KEYWORD, INTERFACE_KEYWORD, LONG_KEYWORD, NATIVE_KEYWORD, NEW_KEYWORD, PACKAGE_KEYWORD, PRIVATE_KEYWORD, PROTECTED_KEYWORD,
|
||||
PUBLIC_KEYWORD, RETURN_KEYWORD, SHORT_KEYWORD, SUPER_KEYWORD, STATIC_KEYWORD, STRICTFP_KEYWORD, SWITCH_KEYWORD, SYNCHRONIZED_KEYWORD,
|
||||
THIS_KEYWORD, THROW_KEYWORD, THROWS_KEYWORD, TRANSIENT_KEYWORD, TRY_KEYWORD, VOID_KEYWORD, VOLATILE_KEYWORD, WHILE_KEYWORD);
|
||||
|
||||
TokenSet LITERAL_BIT_SET = TokenSet.create(TRUE_KEYWORD, FALSE_KEYWORD, NULL_KEYWORD);
|
||||
|
||||
TokenSet OPERATION_BIT_SET = TokenSet.create(
|
||||
EQ, GT, LT, EXCL, TILDE, QUEST, COLON, PLUS, MINUS, ASTERISK, DIV, AND, OR, XOR,
|
||||
|
||||
+7
-7
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2009 JetBrains s.r.o.
|
||||
* Copyright 2000-2012 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.
|
||||
@@ -20,23 +20,23 @@ import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.psi.PsiKeyword;
|
||||
import com.intellij.psi.PsiModifier;
|
||||
import com.intellij.psi.PsiModifierList;
|
||||
import com.intellij.psi.impl.source.Constants;
|
||||
import com.intellij.psi.impl.source.SourceTreeToPsiMap;
|
||||
import com.intellij.psi.impl.source.tree.*;
|
||||
import com.intellij.psi.tree.ChildRoleBase;
|
||||
import com.intellij.util.containers.HashMap;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public class ModifierListElement extends CompositeElement {
|
||||
private static final Logger LOG = Logger.getInstance("#com.intellij.psi.impl.source.tree.java.ModifierListElement");
|
||||
|
||||
public ModifierListElement() {
|
||||
super(Constants.MODIFIER_LIST);
|
||||
super(JavaElementType.MODIFIER_LIST);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TreeElement addInternal(TreeElement first, ASTNode last, ASTNode anchor, Boolean before) {
|
||||
if (before == null){
|
||||
if (first == last && ElementType.KEYWORD_BIT_SET.contains(first.getElementType())){
|
||||
if (before == null) {
|
||||
if (first == last && ElementType.KEYWORD_BIT_SET.contains(first.getElementType())) {
|
||||
anchor = getDefaultAnchor((PsiModifierList)SourceTreeToPsiMap.treeElementToPsi(this),
|
||||
(PsiKeyword)SourceTreeToPsiMap.treeElementToPsi(first));
|
||||
before = Boolean.TRUE;
|
||||
@@ -68,11 +68,11 @@ public class ModifierListElement extends CompositeElement {
|
||||
ourModifierToOrderMap.put(PsiModifier.STRICTFP, 6);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private static ASTNode getDefaultAnchor(PsiModifierList modifierList, PsiKeyword modifier) {
|
||||
Integer order = ourModifierToOrderMap.get(modifier.getText());
|
||||
if (order == null) return null;
|
||||
for (ASTNode child = SourceTreeToPsiMap.psiElementToTree(modifierList).getFirstChildNode(); child != null; child = child.getTreeNext())
|
||||
{
|
||||
for (ASTNode child = SourceTreeToPsiMap.psiToTreeNotNull(modifierList).getFirstChildNode(); child != null; child = child.getTreeNext()) {
|
||||
if (ElementType.KEYWORD_BIT_SET.contains(child.getElementType())) {
|
||||
Integer order1 = ourModifierToOrderMap.get(child.getText());
|
||||
if (order1 == null) continue;
|
||||
|
||||
Reference in New Issue
Block a user