From 7e71653ee610a7ecfd64254ff6fe24d62ee1dbb7 Mon Sep 17 00:00:00 2001 From: Max Medvedev Date: Thu, 3 Apr 2025 11:01:54 +0200 Subject: [PATCH] IDEA-359853 move function on top level, get rid of companion GitOrigin-RevId: 314acae6e31cc5eb149c6e3913860a5a7f0b158b --- .../java/syntax/parser/DeclarationParser.kt | 31 +++++++++---------- .../java/syntax/parser/StatementParser.kt | 3 +- 2 files changed, 15 insertions(+), 19 deletions(-) diff --git a/java/java-syntax/src/com/intellij/java/syntax/parser/DeclarationParser.kt b/java/java-syntax/src/com/intellij/java/syntax/parser/DeclarationParser.kt index 8a3335ef95e9..bf767b116a95 100644 --- a/java/java-syntax/src/com/intellij/java/syntax/parser/DeclarationParser.kt +++ b/java/java-syntax/src/com/intellij/java/syntax/parser/DeclarationParser.kt @@ -1012,25 +1012,22 @@ open class DeclarationParser(private val myParser: JavaParser) { else -> myParser.expressionParser.parseConditional(builder) } } +} - companion object { - // todo move out companion object??? - fun isNonSealedToken(builder: SyntaxTreeBuilder, tokenType: SyntaxElementType?, level: LanguageLevel): Boolean { - if (!JavaFeature.SEALED_CLASSES.isSufficient(level) || - tokenType !== JavaSyntaxTokenType.IDENTIFIER || - "non" != builder.tokenText || - builder.lookAhead(1) !== JavaSyntaxTokenType.MINUS || - builder.lookAhead(2) !== JavaSyntaxTokenType.IDENTIFIER - ) { - return false - } - val maybeNonSealed = builder.mark() - builder.advance(2) - val isNonSealed = PsiKeywords.SEALED == builder.tokenText - maybeNonSealed.rollbackTo() - return isNonSealed - } +fun isNonSealedToken(builder: SyntaxTreeBuilder, tokenType: SyntaxElementType?, level: LanguageLevel): Boolean { + if (!JavaFeature.SEALED_CLASSES.isSufficient(level) || + tokenType !== JavaSyntaxTokenType.IDENTIFIER || + "non" != builder.tokenText || + builder.lookAhead(1) !== JavaSyntaxTokenType.MINUS || + builder.lookAhead(2) !== JavaSyntaxTokenType.IDENTIFIER + ) { + return false } + val maybeNonSealed = builder.mark() + builder.advance(2) + val isNonSealed = PsiKeywords.SEALED == builder.tokenText + maybeNonSealed.rollbackTo() + return isNonSealed } private val TYPE_START: SyntaxElementTypeSet = PRIMITIVE_TYPE_BIT_SET + setOf(JavaSyntaxTokenType.IDENTIFIER, JavaSyntaxTokenType.AT, JavaSyntaxTokenType.VAR_KEYWORD) diff --git a/java/java-syntax/src/com/intellij/java/syntax/parser/StatementParser.kt b/java/java-syntax/src/com/intellij/java/syntax/parser/StatementParser.kt index 4b4c02ad3115..6a6614d4583f 100644 --- a/java/java-syntax/src/com/intellij/java/syntax/parser/StatementParser.kt +++ b/java/java-syntax/src/com/intellij/java/syntax/parser/StatementParser.kt @@ -141,8 +141,7 @@ class StatementParser(private val myParser: JavaParser) { } else if (tokenType === JavaSyntaxTokenType.IDENTIFIER || tokenType === JavaSyntaxTokenType.AT) { val refPos = builder.mark() - val nonSealed = DeclarationParser.isNonSealedToken(builder, tokenType, - this.languageLevel) + val nonSealed = isNonSealedToken(builder, tokenType, languageLevel) myParser.declarationParser.parseAnnotations(builder) skipQualifiedName(builder) val current = builder.tokenType