Exemplo n.º 1
0
 public override bool VisitWhileLoop([NotNull] IWhileLoopOperation operation1, [CanBeNull] IOperation argument)
 {
     return(argument is IWhileLoopOperation operation2 && AreBaseOperationsEqual(operation1, operation2) &&
            operation1.ConditionIsTop == operation2.ConditionIsTop &&
            operation1.ConditionIsUntil == operation2.ConditionIsUntil && operation1.LoopKind == operation2.LoopKind &&
            AreSymbolSequencesEqual(operation1.Locals, operation2.Locals));
 }
Exemplo n.º 2
0
        public override void VisitWhileLoop(IWhileLoopOperation operation)
        {
            var conditionIsTop   = operation.ConditionIsTop;
            var conditionIsUntil = operation.ConditionIsUntil;

            WalkLoop(operation);

            base.VisitWhileLoop(operation);
        }
            public override Location VisitWhileLoop([NotNull] IWhileLoopOperation operation, [CanBeNull] object argument)
            {
                if (operation.Syntax is DoStatementSyntax doSyntax)
                {
                    return(lookupStrategy == LookupKeywordStrategy.PreferDoKeywordInDoWhileLoop
                        ? doSyntax.DoKeyword.GetLocation()
                        : doSyntax.WhileKeyword.GetLocation());
                }

                if (operation.Syntax is WhileStatementSyntax whileSyntax)
                {
                    return(whileSyntax.WhileKeyword.GetLocation());
                }

                return(base.VisitWhileLoop(operation, argument));
            }
Exemplo n.º 4
0
        public override void VisitWhileLoop(IWhileLoopOperation operation)
        {
            Assert.Equal(OperationKind.Loop, operation.Kind);
            Assert.Equal(LoopKind.While, operation.LoopKind);
            VisitLocals(operation);

            var conditionIsTop   = operation.ConditionIsTop;
            var conditionIsUntil = operation.ConditionIsUntil;

            IEnumerable <IOperation> children;

            if (conditionIsTop)
            {
                if (operation.IgnoredCondition != null)
                {
                    children = new[] { operation.Condition, operation.Body, operation.IgnoredCondition };
                }
                else
                {
                    children = new[] { operation.Condition, operation.Body };
                }
            }
            else
            {
                Assert.Null(operation.IgnoredCondition);

                if (operation.Condition != null)
                {
                    children = new[] { operation.Body, operation.Condition };
                }
                else
                {
                    children = new[] { operation.Body };
                }
            }

            AssertEx.Equal(children, operation.Children);
        }
Exemplo n.º 5
0
 public override IOperation VisitWhileLoop(IWhileLoopOperation operation, object argument)
 {
     return(new WhileLoopStatement(Visit(operation.Condition), Visit(operation.Body), Visit(operation.IgnoredCondition), operation.Locals, operation.ContinueLabel, operation.ExitLabel, operation.ConditionIsTop, operation.ConditionIsUntil, ((Operation)operation).SemanticModel, operation.Syntax, operation.Type, operation.ConstantValue, operation.IsImplicit));
 }
Exemplo n.º 6
0
 public virtual void VisitWhileLoop(IWhileLoopOperation operation)
 {
     DefaultVisit(operation);
 }
 public override void VisitWhileLoop([NotNull] IWhileLoopOperation operation)
 {
     Visit(operation.Condition);
 }
Exemplo n.º 8
0
 public override void VisitWhileLoop([NotNull] IWhileLoopOperation operation)
 {
     base.VisitWhileLoop(operation);
 }
 public override void VisitWhileLoop([NotNull] IWhileLoopOperation operation)
 {
     IncrementStatementCount(operation);
     base.VisitWhileLoop(operation);
 }
Exemplo n.º 10
0
        public override void VisitWhileLoop(IWhileLoopOperation operation)
        {
            WalkLoop(operation);

            base.VisitWhileLoop(operation);
        }
Exemplo n.º 11
0
 public override void VisitWhileLoop([NotNull] IWhileLoopOperation operation)
 {
     LoopStatementLocation = operation.GetLocationForKeyword();
 }