protected override void LookupSymbolsInSingleBinder( LookupResult result, string name, int arity, ConsList <Symbol> basesBeingResolved, LookupOptions options, Binder originalBinder, bool diagnose, ref HashSet <DiagnosticInfo> useSiteDiagnostics) { if (parameterMap == null || (options & LookupOptions.NamespaceAliasesOnly) != 0) { return; } Debug.Assert(result.IsClear); var count = parameterMap.GetCountForKey(name); if (count == 1) { ParameterSymbol p; parameterMap.TryGetSingleValue(name, out p); result.MergeEqual(originalBinder.CheckViability(p, arity, options, null, diagnose, ref useSiteDiagnostics)); } else if (count > 1) { var parameters = parameterMap[name]; foreach (var sym in parameters) { result.MergeEqual(originalBinder.CheckViability(sym, arity, options, null, diagnose, ref useSiteDiagnostics)); } } }