protected override IEnumerable<IAstElement> VisitOrTransformChildren(AstElementTransform transform) { foreach (var parameter in this.Parameters.Transform(transform)) { yield return parameter; } yield return this.Body = transform(this.Body); }
protected override IEnumerable<IAstElement> VisitOrTransformChildren(AstElementTransform transform) { foreach (var child in base.VisitOrTransformChildren(transform)) { yield return child; } yield return this.ReturnType = (IAstTypeReference)transform(this.ReturnType); }
protected override IEnumerable<IAstElement> VisitOrTransformChildren(AstElementTransform transform) { yield return this.Callee = (IAstCallable)transform(this.Callee); foreach (var argument in this.Arguments.Transform(transform)) { yield return argument; } }
protected override IEnumerable<IAstElement> VisitOrTransformChildren(AstElementTransform transform) { return Enumerable.Concat( Parameters.Transform(transform).Cast<IAstElement>(), Body.Transform(transform) ); }
protected override IEnumerable <IAstElement> VisitOrTransformChildren(AstElementTransform transform) { return(Enumerable.Concat( Parameters.Transform(transform).Cast <IAstElement>(), Body.Transform(transform) )); }
protected override IEnumerable <IAstElement> VisitOrTransformChildren(AstElementTransform transform) { if (this.Target != null) { yield return(this.Target = transform(this.Target)); } }
protected override IEnumerable<IAstElement> VisitOrTransformChildren(AstElementTransform transform) { if (this.Target != null) yield return this.Target = transform(this.Target); yield return this.Reference = (IAstPropertyReference)transform(this.Reference); }
protected override IEnumerable<IAstElement> VisitOrTransformChildren(AstElementTransform transform) { if (this.Target != null) yield return this.Target = transform(this.Target); yield return this.Function = (IAstMethodReference)transform(this.Function); }
protected override IEnumerable <IAstElement> VisitOrTransformChildren(AstElementTransform transform) { if (this.Result != null) { yield return(this.Result = (IAstExpression)transform(this.Result)); } }
protected override IEnumerable<IAstElement> VisitOrTransformChildren(AstElementTransform transform) { yield return this.Source = transform(this.Source); foreach (var element in this.Body.Transform(transform)) { yield return element; } }
protected override IEnumerable <IAstElement> VisitOrTransformChildren(AstElementTransform transform) { yield return(this.Left = (IAstExpression)transform(this.Left)); yield return(this.Operator = (IAstMethodReference)transform(this.Operator)); yield return(this.Right = (IAstExpression)transform(this.Right)); }
protected override IEnumerable <IAstElement> VisitOrTransformChildren(AstElementTransform transform) { if (this.AssignedValue != null) { yield return(this.AssignedValue = (IAstExpression)transform(this.AssignedValue)); } yield return(this.Type = (IAstTypeReference)transform(this.Type)); }
protected override IEnumerable <IAstElement> VisitOrTransformChildren(AstElementTransform transform) { foreach (var parameterType in this.ParameterTypes.Transform(transform)) { yield return(parameterType); } yield return(this.ReturnType = (IAstTypeReference)transform(this.ReturnType)); }
protected override IEnumerable <IAstElement> VisitOrTransformChildren(AstElementTransform transform) { foreach (var parameter in this.Parameters.Transform(transform)) { yield return(parameter); } yield return(this.Body = transform(this.Body)); }
protected override IEnumerable <IAstElement> VisitOrTransformChildren(AstElementTransform transform) { yield return(this.PrimaryType = (IAstTypeReference)transform(this.PrimaryType)); foreach (var argument in this.TypeArguments.Transform(transform)) { yield return(argument); } }
protected override IEnumerable <IAstElement> VisitOrTransformChildren(AstElementTransform transform) { if (this.Target != null) { yield return(this.Target = transform(this.Target)); } yield return(this.Reference = (IAstPropertyReference)transform(this.Reference)); }
protected override IEnumerable <IAstElement> VisitOrTransformChildren(AstElementTransform transform) { yield return(this.Condition = transform(this.Condition)); foreach (var element in this.Body.Transform(transform)) { yield return(element); } }
public static void TransformDescendants(this IAstElement ancestor, AstElementTransform transform) { Argument.RequireNotNull("transform", transform); ancestor.TransformChildren(c => { c.TransformDescendants(transform); return(transform(c)); }); }
protected override IEnumerable <IAstElement> VisitOrTransformChildren(AstElementTransform transform) { if (this.Target != null) { yield return(this.Target = transform(this.Target)); } yield return(this.Function = (IAstMethodReference)transform(this.Function)); }
protected override IEnumerable <IAstElement> VisitOrTransformChildren(AstElementTransform transform) { yield return(this.Target = transform(this.Target)); foreach (var argument in this.Arguments.Transform(transform)) { yield return(argument); } }
public static void TransformChildren(this IAstElement parent, AstElementTransform transform) { Argument.RequireNotNull("parent", parent); Argument.RequireNotNull("transform", transform); var enumerator = parent.VisitOrTransformChildren(transform).GetEnumerator(); while (enumerator.MoveNext()) { } }
protected override IEnumerable<IAstElement> VisitOrTransformChildren(AstElementTransform transform) { yield return this.Type = (IAstTypeReference)transform(this.Type); foreach (var argument in this.Arguments.Transform(transform)) { yield return argument; } if (this.Initializer == null) yield break; yield return this.Initializer = transform(this.Initializer); }
protected override IEnumerable <IAstElement> VisitOrTransformChildren(AstElementTransform transform) { foreach (var child in base.VisitOrTransformChildren(transform)) { yield return(child); } if (this.fixedReturnType != null) { yield return(this.fixedReturnType = (IAstTypeReference)transform(this.fixedReturnType)); } }
public static void TransformChildren <TAstElement>(this IAstElement parent, AstElementTransform <TAstElement> transform) where TAstElement : IAstElement { Argument.RequireNotNull("transform", transform); parent.TransformChildren(c => { if (!(c is TAstElement)) { return(c); } return(transform((TAstElement)c)); }); }
protected override IEnumerable <IAstElement> VisitOrTransformChildren(AstElementTransform transform) { yield return(this.Type = (IAstTypeReference)transform(this.Type)); foreach (var argument in this.Arguments.Transform(transform)) { yield return(argument); } if (this.Initializer == null) { yield break; } yield return(this.Initializer = transform(this.Initializer)); }
public static void TransformDescendants <TAstElement>(this IAstElement ancestor, AstElementTransform <TAstElement> transform) where TAstElement : IAstElement { Argument.RequireNotNull("transform", transform); ancestor.TransformDescendants(c => { c.TransformDescendants(transform); if (!(c is TAstElement)) { return(c); } return(transform((TAstElement)c)); }); }
protected override IEnumerable<IAstElement> VisitOrTransformChildren(AstElementTransform transform) { if (this.AssignedValue != null) yield return this.AssignedValue = (IAstExpression)transform(this.AssignedValue); yield return this.Type = (IAstTypeReference)transform(this.Type); }
protected override IEnumerable<IAstElement> VisitOrTransformChildren(AstElementTransform transform) { yield return this.Value = transform(this.Value); }
IEnumerable <IAstElement> IAstElement.VisitOrTransformChildren(AstElementTransform transform) { return(this.VisitOrTransformChildren(transform)); }
protected abstract IEnumerable <IAstElement> VisitOrTransformChildren(AstElementTransform transform);
protected abstract IEnumerable<IAstElement> VisitOrTransformChildren(AstElementTransform transform);
protected override IEnumerable<IAstElement> VisitOrTransformChildren(AstElementTransform transform) { foreach (var parameterType in this.ParameterTypes.Transform(transform)) { yield return parameterType; } yield return this.ReturnType = (IAstTypeReference)transform(this.ReturnType); }
protected override IEnumerable<IAstElement> VisitOrTransformChildren(AstElementTransform transform) { yield return this.Left = (IAstExpression)transform(this.Left); yield return this.Operator = (IAstMethodReference)transform(this.Operator); yield return this.Right = (IAstExpression)transform(this.Right); }
IEnumerable<IAstElement> IAstElement.VisitOrTransformChildren(AstElementTransform transform) { return this.VisitOrTransformChildren(transform); }
protected override IEnumerable <IAstElement> VisitOrTransformChildren(AstElementTransform transform) { yield return(this.Type = (IAstTypeReference)transform(this.Type)); }
protected override IEnumerable<IAstElement> VisitOrTransformChildren(AstElementTransform transform) { yield return this.PrimaryType = (IAstTypeReference)transform(this.PrimaryType); foreach (var argument in this.TypeArguments.Transform(transform)) { yield return argument; } }
protected override IEnumerable <IAstElement> VisitOrTransformChildren(AstElementTransform transform) { yield return(this.Value = transform(this.Value)); }
protected override IEnumerable<IAstElement> VisitOrTransformChildren(AstElementTransform transform) { if (this.Result != null) yield return this.Result = (IAstExpression)transform(this.Result); }
protected override IEnumerable<IAstElement> VisitOrTransformChildren(AstElementTransform transform) { return this.Elements.Transform(transform); }
protected override IEnumerable <IAstElement> VisitOrTransformChildren(AstElementTransform transform) { return(this.Actual.VisitOrTransformChildren(transform)); }
protected override IEnumerable<IAstElement> VisitOrTransformChildren(AstElementTransform transform) { yield return this.Type = (IAstTypeReference)transform(this.Type); }
protected override IEnumerable <IAstElement> VisitOrTransformChildren(AstElementTransform transform) { yield return(this.Target = (IAstAssignable)transform(this.Target)); yield return(this.Value = (IAstExpression)transform(this.Value)); }
protected override IEnumerable<IAstElement> VisitOrTransformChildren(AstElementTransform transform) { yield return this.Target = (IAstAssignable)transform(this.Target); yield return this.Value = (IAstExpression)transform(this.Value); }
protected override IEnumerable <IAstElement> VisitOrTransformChildren(AstElementTransform transform) { return(No.Elements); }
public static IEnumerable <TAstElement> Transform <TAstElement>(this IList <TAstElement> elements, AstElementTransform transform) where TAstElement : IAstElement { Argument.RequireNotNull("elements", elements); Argument.RequireNotNull("transform", transform); for (var i = 0; i < elements.Count; i++) { var transformed = (TAstElement)transform(elements[i]); if (!object.ReferenceEquals(transformed, elements[i])) { elements[i] = transformed; } yield return(elements[i]); } }