text: public ATNConfig PrecedenceTransition(ATNConfig config,PrecedencePredicateTransition pt,bool collectPredicates,bool inContext,bool fullCtx){if (debug){ConsoleWriteLine("PRED (collectPredicates=" + collectPredicates + ") " +pt.precedence + ">=_p" +", ctx dependent=true");if (parser != null){ConsoleWriteLine("context surrounding pred is " +parser.GetRuleInvocationStack());}}ATNConfig c = null;if (collectPredicates && inContext){if (fullCtx){int currentPosition = input.Index;input.Seek(startIndex);bool predSucceeds = EvalSemanticContext(pt.Predicate, context, config.alt, fullCtx);input.Seek(currentPosition);if (predSucceeds){c = new ATNConfig(config, pt.target); }}else {SemanticContext newSemCtx = SemanticContext.AndOp(config.semanticContext, pt.Predicate);c = new ATNConfig(config, pt.target, newSemCtx);}}else {c = new ATNConfig(config, pt.target);}if (debug) ConsoleWriteLine("config from pred transition=" + c);return c;}