public override object Visit(Mono.CSharp.AnonymousMethodExpression anonymousMethodExpression) { var result = new AnonymousMethodExpression(); var location = LocationsBag.GetLocations(anonymousMethodExpression); int l = 0; if (anonymousMethodExpression.IsAsync) { result.IsAsync = true; result.AddChild(new CSharpTokenNode(Convert(location [l++]), AnonymousMethodExpression.AsyncModifierRole), AnonymousMethodExpression.AsyncModifierRole); } if (location != null) { result.AddChild(new CSharpTokenNode(Convert(location [l++]), AnonymousMethodExpression.DelegateKeywordRole), AnonymousMethodExpression.DelegateKeywordRole); if (location.Count > l) { result.HasParameterList = true; result.AddChild(new CSharpTokenNode(Convert(location [l++]), Roles.LPar), Roles.LPar); AddParameter(result, anonymousMethodExpression.Parameters); result.AddChild(new CSharpTokenNode(Convert(location [l++]), Roles.RPar), Roles.RPar); } } if (anonymousMethodExpression.Block != null) result.AddChild((BlockStatement)anonymousMethodExpression.Block.Accept(this), Roles.Body); return result; }
public override object Visit (Mono.CSharp.AnonymousMethodExpression anonymousMethodExpression) { var result = new AnonymousMethodExpression (); var location = LocationsBag.GetLocations (anonymousMethodExpression); if (location != null) { result.AddChild (new CSharpTokenNode (Convert (location[0]), "delegate".Length), AnonymousMethodExpression.Roles.Keyword); if (location.Count > 1) { result.HasParameterList = true; result.AddChild (new CSharpTokenNode (Convert (location[1]), 1), AnonymousMethodExpression.Roles.LPar); AddParameter (result, anonymousMethodExpression.Parameters); result.AddChild (new CSharpTokenNode (Convert (location[2]), 1), AnonymousMethodExpression.Roles.RPar); } } result.AddChild ((BlockStatement)anonymousMethodExpression.Block.Accept (this), AnonymousMethodExpression.Roles.Body); return result; }