TextMateLexerState (@NotNull SyntaxNodeDescriptor syntaxNodeDescriptor, @NotNull StringWithId string, int byteOffset, int gosOffset, boolean matchBeginOfString, @NotNull TextMateScope currentScope) { TextMateLexerState resultState = TextMateLexerState.notMatched(syntaxNodeDescriptor); List<InjectionNodeDescriptor> injections = syntaxNodeDescriptor.getInjections(); for (InjectionNodeDescriptor injection : injections) { TextMateWeigh selectorWeigh = mySelectorWeigher.weigh(injection.getSelector(), currentScope); if (selectorWeigh.weigh <= 0) { continue; } TextMateLexerState injectionState = matchFirstUncached(injection.getSyntaxNodeDescriptor(), string, byteOffset, gosOffset, matchBeginOfString, selectorWeigh.priority, currentScope); resultState = moreImportantState(resultState, injectionState); } return resultState; }