Esempio n. 1
0
				public override void VisitGotoStatement (GotoStatement gotoStatement)
				{
					base.VisitGotoStatement (gotoStatement);

					var a = new ExpressionStatement (
						new AssignmentExpression (
							new IdentifierExpression ("_goto"), 
							new IdentifierExpression (gotoStatement.Label)));

					var c = new ContinueStatement ();
					c.AddAnnotation (new LabelStatement { Label = "_GOTO_LOOP" });

					gotoStatement.ReplaceWith (c);
					c.Parent.InsertChildBefore (c, a, (Role<Statement>)c.Role);
				}