public override Choice GetChoiceBlock(BlockAST blkAST, IList<CodeBlockForAlt> alts, GrammarAST labelAST) { int decision = ((DecisionState)blkAST.atnState).decision; Choice c; if (!g.tool.force_atn && AnalysisPipeline.Disjoint(g.decisionLOOK[decision])) { c = GetLL1ChoiceBlock(blkAST, alts); } else { c = GetComplexChoiceBlock(blkAST, alts); } if (labelAST != null) { // for x=(...), define x or x_list string label = labelAST.Text; Decl d = GetTokenLabelDecl(label); c.label = d; GetCurrentRuleFunction().AddContextDecl(labelAST.GetAltLabel(), d); if (labelAST.Parent.Type == ANTLRParser.PLUS_ASSIGN) { string listLabel = GetTarget().GetListLabel(label); TokenListDecl l = new TokenListDecl(this, listLabel); GetCurrentRuleFunction().AddContextDecl(labelAST.GetAltLabel(), l); } } return c; }