Beispiel #1
0
        public ResolveVisitorNavigationMode Scan(AstNode node)
        {
            bool needsScan = false;

            foreach (var navigator in navigators)
            {
                ResolveVisitorNavigationMode mode = navigator.Scan(node);
                if (mode == ResolveVisitorNavigationMode.Resolve)
                {
                    return(mode); // resolve has highest priority
                }
                else if (mode == ResolveVisitorNavigationMode.Scan)
                {
                    needsScan = true;
                }
            }
            return(needsScan ? ResolveVisitorNavigationMode.Scan : ResolveVisitorNavigationMode.Skip);
        }
 public ConstantModeResolveVisitorNavigator(ResolveVisitorNavigationMode mode, IResolveVisitorNavigator targetForResolveCalls)
 {
     this.mode = mode;
     this.targetForResolveCalls = targetForResolveCalls;
 }
			public ConstantModeResolveVisitorNavigator(ResolveVisitorNavigationMode mode, IResolveVisitorNavigator targetForResolveCalls)
			{
				this.mode = mode;
				this.targetForResolveCalls = targetForResolveCalls;
			}