public override AstNode VisitUsingStatement(UsingStatement usingStatement) { var awaitSearch = new AwaitSearchVisitor(null); usingStatement.AcceptVisitor(awaitSearch); var awaiters = awaitSearch.GetAwaitExpressions().ToArray(); UsingStatement node = (UsingStatement)base.VisitUsingStatement(usingStatement) ?? (UsingStatement)usingStatement.Clone(); if (awaiters.Length > 0) { IEnumerable <AstNode> inner = null; var res = node.ResourceAcquisition; var varStat = res as VariableDeclarationStatement; if (varStat != null) { inner = varStat.Variables.Skip(1); res = varStat.Variables.First(); } return(this.EmitUsing(node, res, inner, varStat)); } return(node); }
public void UsingStatement() { UsingStatement inter = new UsingStatement(controller, "IntelliMerge", "ArchAngel.Workbench.IntelliMerge"); Assert.That(inter.IsTheSame(inter.Clone(), ComparisonDepth.Outer), Is.True); }