diff --git a/plugins/textmate/src/org/jetbrains/plugins/textmate/language/syntax/lexer/TextMateLexerState.java b/plugins/textmate/src/org/jetbrains/plugins/textmate/language/syntax/lexer/TextMateLexerState.java index 419e91269112..f93169d0c195 100644 --- a/plugins/textmate/src/org/jetbrains/plugins/textmate/language/syntax/lexer/TextMateLexerState.java +++ b/plugins/textmate/src/org/jetbrains/plugins/textmate/language/syntax/lexer/TextMateLexerState.java @@ -52,11 +52,16 @@ class TextMateLexerState implements LexerState { return syntaxRule.equals(state.syntaxRule) && matchData.equals(state.matchData) && priorityMatch == state.priorityMatch && - Objects.equals(string, state.string); + stringId() == state.stringId(); } @Override public int hashCode() { - return Objects.hash(syntaxRule, matchData, priorityMatch, string); + return Objects.hash(syntaxRule, matchData, priorityMatch, stringId()); + } + + @Nullable + private Object stringId() { + return string != null ? string.id : null; } }