public override object Visit (Mono.CSharp.Linq.Let l) { var result = new QueryLetClause (); var location = LocationsBag.GetLocations (l); result.AddChild (new CSharpTokenNode (Convert (l.Location), "let".Length), QueryLetClause.Roles.Keyword); result.AddChild (new Identifier (l.IntoVariable.Name, Convert (l.IntoVariable.Location)), Identifier.Roles.Identifier); if (location != null) result.AddChild (new CSharpTokenNode (Convert (location [0]), 1), QueryLetClause.Roles.Assign); result.AddChild ((Expression)l.Expr.Accept (this), QueryLetClause.Roles.Expression); return result; }
public override object Visit(Mono.CSharp.Linq.Let let) { var result = new QueryLetClause(); var location = LocationsBag.GetLocations(let); result.AddChild(new CSharpTokenNode(Convert(let.Location), QueryLetClause.LetKeywordRole), QueryLetClause.LetKeywordRole); result.AddChild(Identifier.Create(let.IntoVariable.Name, Convert(let.IntoVariable.Location)), Roles.Identifier); if (location != null) result.AddChild(new CSharpTokenNode(Convert(location [0]), Roles.Assign), Roles.Assign); if (let.Expr != null) result.AddChild((Expression)let.Expr.Accept(this), Roles.Expression); return result; }
public override object Visit (Mono.CSharp.Linq.Let l) { var result = new QueryLetClause (); var location = LocationsBag.GetLocations (l); if (location != null) result.AddChild (new CSharpTokenNode (Convert (location[0]), "let".Length), QueryWhereClause.Roles.Keyword); NewAnonymousType aType = l.Expr as NewAnonymousType; AnonymousTypeParameter param = ((AnonymousTypeParameter)aType.Parameters[1]); result.AddChild (new Identifier (param.Name, Convert (param.Location)), Identifier.Roles.Identifier); if (location != null) result.AddChild (new CSharpTokenNode (Convert (location[1]), 1), QueryWhereClause.Roles.Assign); result.AddChild ((MonoDevelop.CSharp.Ast.Expression)param.Expr.Accept (this), QueryWhereClause.Roles.Condition); return result; }