public override void Visit(IForEachLoop block, UsageContext context)
        {
            block.Declaration.Accept(this, context);

            foreach (var statement in block.Body)
            {
                statement.Accept(this, context);
            }
        }
Ejemplo n.º 2
0
 public override IStatement Visit(IForEachLoop stmt, int context)
 {
     return(new ForEachLoop
     {
         Declaration = _ref.Anonymize(stmt.Declaration),
         LoopedReference = _ref.Anonymize(stmt.LoopedReference),
         Body = Anonymize(stmt.Body)
     });
 }
Ejemplo n.º 3
0
        public void Visit(IForEachLoop block, SSTPrintingContext c)
        {
            c.Indentation()
            .Keyword("foreach").Space().Text("(")
            .Type(block.Declaration.Type)
            .Space();
            block.Declaration.Reference.Accept(this, c);
            c.Space().Keyword("in").Space();
            block.LoopedReference.Accept(this, c);
            c.Text(")");

            c.StatementBlock(block.Body, this);
        }
Ejemplo n.º 4
0
 public virtual void Visit(IForEachLoop block, TContext context)
 {
     block.Declaration.Accept(this, context);
     block.LoopedReference.Accept(this, context);
     Visit(block.Body, context);
 }
Ejemplo n.º 5
0
 public int Visit(IForEachLoop block, int context)
 {
     return(1 + Visit(block.Body, 0));
 }
 public override void Visit(IForEachLoop block, RelativeEditLocation loc)
 {
     loc.Size++;
     Visit(block.Body, loc);
 }