Exemplo n.º 1
0
        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);
        }
        public void UsingStatement()
        {
            UsingStatement inter = new UsingStatement(controller, "IntelliMerge", "ArchAngel.Workbench.IntelliMerge");

            Assert.That(inter.IsTheSame(inter.Clone(), ComparisonDepth.Outer), Is.True);
        }