CatchClause ConvertCatch(Catch ctch) { var result = new CatchClause(); var location = LocationsBag.GetLocations(ctch); result.AddChild(new CSharpTokenNode(Convert(ctch.loc), CatchClause.CatchKeywordRole), CatchClause.CatchKeywordRole); if (ctch.TypeExpression != null) { if (location != null) result.AddChild(new CSharpTokenNode(Convert(location [0]), Roles.LPar), Roles.LPar); if (ctch.TypeExpression != null) result.AddChild(ConvertToType(ctch.TypeExpression), Roles.Type); if (ctch.Variable != null && !string.IsNullOrEmpty(ctch.Variable.Name)) result.AddChild(Identifier.Create(ctch.Variable.Name, Convert(ctch.Variable.Location)), Roles.Identifier); if (location != null && location.Count > 1) result.AddChild(new CSharpTokenNode(Convert(location [1]), Roles.RPar), Roles.RPar); } if (ctch.Block != null) result.AddChild((BlockStatement)ctch.Block.Accept(this), Roles.Body); return result; }
CatchClause ConvertCatch (Catch ctch) { CatchClause result = new CatchClause (); var location = LocationsBag.GetLocations (ctch); if (location != null) result.AddChild (new CSharpTokenNode (Convert (location[0]), "catch".Length), CatchClause.Roles.Keyword); if (ctch.Type_expr != null) { if (location != null) result.AddChild (new CSharpTokenNode (Convert (location[1]), 1), CatchClause.Roles.LPar); result.AddChild ((INode)ctch.Type_expr.Accept (this), CatchClause.Roles.ReturnType); if (!string.IsNullOrEmpty (ctch.Name)) result.AddChild (new Identifier (ctch.Name, Convert (location[1])), CatchClause.Roles.Identifier); if (location != null) result.AddChild (new CSharpTokenNode (Convert (location[2]), 1), CatchClause.Roles.RPar); } result.AddChild ((INode)ctch.Block.Accept (this), CatchClause.Roles.Body); return result; }
CatchClause ConvertCatch (Catch ctch) { CatchClause result = new CatchClause (); var location = LocationsBag.GetLocations (ctch); result.AddChild (new CSharpTokenNode (Convert (ctch.loc), "catch".Length), CatchClause.Roles.Keyword); if (ctch.TypeExpression != null) { if (location != null) result.AddChild (new CSharpTokenNode (Convert (location[0]), 1), CatchClause.Roles.LPar); result.AddChild (ConvertToType (ctch.TypeExpression), CatchClause.Roles.Type); if (ctch.Variable != null && !string.IsNullOrEmpty (ctch.Variable.Name)) result.AddChild (new Identifier (ctch.Variable.Name, Convert (ctch.Variable.Location)), CatchClause.Roles.Identifier); if (location != null) result.AddChild (new CSharpTokenNode (Convert (location[1]), 1), CatchClause.Roles.RPar); } result.AddChild ((BlockStatement)ctch.Block.Accept (this), CatchClause.Roles.Body); return result; }