private SyntaxNode ChainBuild(SyntaxGenerator generator, IEnumerable <Statement> finally_clause) { Stack <SyntaxNode> catches = new Stack <SyntaxNode>(); TryStatement statement = this; while (statement is TryCatchStatement c) { catches.Push(c.BuildClause(generator)); statement = c.original; } return(statement.BuildWithCatch(generator, catches, finally_clause)); }
internal TryCatchStatement(TryStatement original, ReferenceBuilder type, string name, Statement[] statements) : base(statements) { this.original = original; this.name = name; this.type = type; }
internal TryFinallyStatement(TryStatement original, Statement[] statements) { this.original = original; this.statements = statements; }