void (@NotNull StartMarker marker) { assert marker.myLexemeIndex >= 0 : "The marker is already disposed"; if (myDebugMode) { myProduction.assertNoDoneMarkerAround(marker); } if (DIAGNOSTICS != null) { DIAGNOSTICS.registerRollback(myCurrentLexeme - marker.myLexemeIndex); } myCurrentLexeme = marker.myLexemeIndex; myTokenTypeChecked = true; myProduction.rollbackTo(marker); clearCachedTokenType(); }