From 166a500fdef9c508f55f05ffce7a93e3888b43b4 Mon Sep 17 00:00:00 2001 From: Roman Shevchenko Date: Wed, 8 Mar 2017 14:27:49 +0100 Subject: [PATCH] [java] minor parser optimization (IDEA-CR-19063) --- .../src/com/intellij/lang/java/parser/FileParser.java | 6 ++++-- .../src/com/intellij/lang/java/parser/ModuleParser.java | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/java/java-psi-impl/src/com/intellij/lang/java/parser/FileParser.java b/java/java-psi-impl/src/com/intellij/lang/java/parser/FileParser.java index b322a971b69a..f007e3c93248 100644 --- a/java/java-psi-impl/src/com/intellij/lang/java/parser/FileParser.java +++ b/java/java-psi-impl/src/com/intellij/lang/java/parser/FileParser.java @@ -106,9 +106,11 @@ public class FileParser { private static boolean stopImportListParsing(PsiBuilder b) { IElementType type = b.getTokenType(); - String text = b.getTokenText(); if (IMPORT_LIST_STOPPER_SET.contains(type)) return true; - if (type == JavaTokenType.IDENTIFIER && (PsiKeyword.OPEN.equals(text) || PsiKeyword.MODULE.equals(text))) return true; + if (type == JavaTokenType.IDENTIFIER) { + String text = b.getTokenText(); + if (PsiKeyword.OPEN.equals(text) || PsiKeyword.MODULE.equals(text)) return true; + } return false; } diff --git a/java/java-psi-impl/src/com/intellij/lang/java/parser/ModuleParser.java b/java/java-psi-impl/src/com/intellij/lang/java/parser/ModuleParser.java index 873679f9c05c..535db3f68eb6 100644 --- a/java/java-psi-impl/src/com/intellij/lang/java/parser/ModuleParser.java +++ b/java/java-psi-impl/src/com/intellij/lang/java/parser/ModuleParser.java @@ -49,8 +49,8 @@ public class ModuleParser { PsiBuilder.Marker firstAnnotation = myParser.getDeclarationParser().parseAnnotations(builder); IElementType type = builder.getTokenType(); - String text = builder.getTokenText(); - if (type != JavaTokenType.IDENTIFIER || !(PsiKeyword.OPEN.equals(text) || PsiKeyword.MODULE.equals(text))) { + String text = type == JavaTokenType.IDENTIFIER ? builder.getTokenText() : null; + if (!(PsiKeyword.OPEN.equals(text) || PsiKeyword.MODULE.equals(text))) { module.rollbackTo(); return null; }