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; }