public override void CaseAContinueStm(AContinueStm node) { InAContinueStm(node); if (node.GetToken() != null) { node.GetToken().Apply(this); } OutAContinueStm(node); }
public override void CaseAContinueStm(AContinueStm node) { AForStm forStm = Util.GetAncestor<AForStm>(node); AABlock pBlock; if (!(node.Parent() is AABlock)) { pBlock = new AABlock(new ArrayList(), new TRBrace("}", node.GetToken().Line, node.GetToken().Pos)); ABlockStm blockStm = new ABlockStm(new TLBrace("{", node.GetToken().Line, node.GetToken().Pos), pBlock); node.ReplaceBy(blockStm); pBlock.GetStatements().Add(node); } pBlock = (AABlock) node.Parent(); pBlock.GetStatements().Insert(pBlock.GetStatements().IndexOf(node), forStm.GetUpdate().Clone()); }