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; }