Пример #1
0
        public override Reachability MarkReachable(Reachability rc)
        {
            if (!rc.IsUnreachable)
            {
                reachable = true;
            }

            var init = (AsyncInitializer)Expr;

            rc = init.Block.MarkReachable(rc);

            var storey = (AsyncTaskStorey)init.Storey;

            //
            // Explicit return is required for Task<T> state machine
            //
            if (storey.ReturnType != null && storey.ReturnType.IsGenericTask)
            {
                return(rc);
            }

            return(Reachability.CreateUnreachable());
        }
Пример #2
0
 public override void MarkReachable(Reachability rc)
 {
     //
     // Reachability has been done in AsyncInitializerStatement
     //
 }
Пример #3
0
 public override void MarkReachable(Reachability rc)
 {
     base.MarkReachable(rc);
     stmt.MarkReachable(rc);
 }
Пример #4
0
 public override Reachability MarkReachable(Reachability rc)
 {
     base.MarkReachable(rc);
     return(Reachability.CreateUnreachable());
 }
Пример #5
0
		public override void MarkReachable (Reachability rc)
		{
			block.MarkReachable (rc);
		}
Пример #6
0
		public override void MarkReachable (Reachability rc)
		{
			var es = source as ExpressionStatement;
			if (es != null)
				es.MarkReachable (rc);
		}