示例#1
0
 private void SynthesizeLoopLabel(JSLoopStatement ls)
 {
     if (ls.Index == null)
     {
         ls.Index = (NextSyntheticLoopIndex++);
     }
 }
示例#2
0
 protected void WriteLoopLabel(JSLoopStatement loop)
 {
     if (loop.Index.HasValue)
     {
         Output.Label(String.Format("$loop{0}", loop.Index.Value));
     }
 }
示例#3
0
        public void VisitNode(JSLoopStatement ls)
        {
            CheckForFallthrough(ls);

            LoopIndexStack.Push(ls.Index.GetValueOrDefault(-1));

            VisitChildren(ls);

            LoopIndexStack.Pop();
        }
示例#4
0
        public void VisitNode(JSLoopStatement ls)
        {
            if (!Loops.ContainsKey(ls.Index.Value))
            {
                Loops.Add(ls.Index.Value, ls);
            }
            else
            {
                throw new InvalidDataException(String.Format("Found two loops numbered {0}", ls.Index.Value));
            }

            VisitChildren(ls);
        }
示例#5
0
        public void VisitNode(JSLoopStatement ls)
        {
            Loops.Add(ls.Index.Value, ls);

            VisitChildren(ls);
        }
示例#6
0
 public void VisitNode(JSLoopStatement ls)
 {
     VisitChildren(ls);
 }