343 references to LookupOptions
Microsoft.CodeAnalysis.CSharp (331)
Binder\Binder.WithQueryLambdaParametersBinder.cs (5)
94
LookupOptions
options =
LookupOptions
.MustBeInstance;
105
LookupResult result, string name, int arity, ConsList<TypeSymbol> basesBeingResolved,
LookupOptions
options, Binder originalBinder, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
109
if ((options &
LookupOptions
.NamespaceAliasesOnly) != 0)
120
internal override void AddLookupSymbolsInfoInSingleBinder(LookupSymbolsInfo result,
LookupOptions
options, Binder originalBinder)
Binder\Binder_Crefs.cs (5)
289
LookupOptions
options =
LookupOptions
.AllMethodsOnArityZero |
LookupOptions
.MustNotBeParameter;
550
options:
LookupOptions
.AllMethodsOnArityZero |
LookupOptions
.MustNotBeParameter,
Binder\Binder_Expressions.cs (35)
1901
LookupOptions
options =
LookupOptions
.AllMethodsOnArityZero;
1904
options |=
LookupOptions
.MustBeInvocableIfMember;
1909
Debug.Assert((options &
LookupOptions
.NamespacesOrTypesOnly) == 0);
1910
options |=
LookupOptions
.MustNotBeMethodTypeParameter;
2283
options:
LookupOptions
.Default,
2521
this.LookupSymbolsWithFallback(result, labelName, arity: 0, useSiteInfo: ref useSiteInfo, options:
LookupOptions
.LabelsOnly);
7938
LookupOptions
options =
LookupOptions
.AllMethodsOnArityZero;
7941
options |=
LookupOptions
.MustBeInvocableIfMember;
8039
LookupOptions
options,
8113
LookupOptions
options,
8124
this.LookupMembersWithFallback(lookupResult, leftType, rightName, rightArity, ref useSiteInfo, basesBeingResolved: null, options: options |
LookupOptions
.MustNotBeInstance |
LookupOptions
.MustBeAbstractOrVirtual);
8389
LookupOptions
options =
LookupOptions
.AllMethodsOnArityZero;
8392
options |=
LookupOptions
.MustBeInvocableIfMember;
8397
options |=
LookupOptions
.UseBaseReferenceAccessibility;
8778
var
lookupOptions = (arity == 0) ?
LookupOptions
.AllMethodsOnArityZero :
LookupOptions
.Default;
8781
lookupOptions |=
LookupOptions
.MustBeInvocableIfMember;
8846
LookupOptions
lookupOptions,
10210
LookupOptions
lookupOptions = expr.Kind == BoundKind.BaseReference ?
LookupOptions
.UseBaseReferenceAccessibility :
LookupOptions
.Default;
10646
LookupOptions
.Default,
10701
LookupOptions
.Default,
10815
LookupOptions
.Default,
11138
LookupOptions
options = arity == 0 ?
LookupOptions
.AllMethodsOnArityZero :
LookupOptions
.Default;
11352
LookupOptions
options = arity == 0 ?
LookupOptions
.AllMethodsOnArityZero :
LookupOptions
.Default;
Binder\Binder_Invocation.cs (3)
2520
const
LookupOptions
options =
LookupOptions
.AllMethodsOnArityZero |
LookupOptions
.MustBeInvocableIfMember;
Binder\Binder_Lookup.cs (86)
33
LookupOptions
options,
48
internal void LookupAllExtensions(LookupResult result, string? name,
LookupOptions
options)
67
private Binder LookupSymbolsWithFallback(LookupResult result, string name, int arity, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo, ConsList<TypeSymbol> basesBeingResolved = null,
LookupOptions
options =
LookupOptions
.Default)
88
LookupResult result, string name, int arity, ConsList<TypeSymbol> basesBeingResolved,
LookupOptions
options, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
112
if ((options &
LookupOptions
.LabelsOnly) != 0 && scope.IsLastBinderWithinMember())
122
LookupResult result, string name, int arity, ConsList<TypeSymbol> basesBeingResolved,
LookupOptions
options, Binder originalBinder, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
137
LookupOptions
options,
154
private void LookupMembersWithFallback(LookupResult result, NamespaceOrTypeSymbol nsOrType, string name, int arity, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo, ConsList<TypeSymbol> basesBeingResolved = null,
LookupOptions
options =
LookupOptions
.Default)
170
protected void LookupMembersInternal(LookupResult result, NamespaceOrTypeSymbol nsOrType, string name, int arity, ConsList<TypeSymbol> basesBeingResolved,
LookupOptions
options, Binder originalBinder, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
187
int arity,
LookupOptions
options, Binder originalBinder, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo, ref CompoundUseSiteInfo<AssemblySymbol> classicExtensionUseSiteInfo)
200
string? name, int arity,
LookupOptions
options, Binder originalBinder, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo, ref CompoundUseSiteInfo<AssemblySymbol> classicExtensionUseSiteInfo)
224
protected void LookupMembersInType(LookupResult result, TypeSymbol type, string name, int arity, ConsList<TypeSymbol> basesBeingResolved,
LookupOptions
options, Binder originalBinder, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
265
private void LookupMembersInErrorType(LookupResult result, ErrorTypeSymbol errorType, string name, int arity, ConsList<TypeSymbol> basesBeingResolved,
LookupOptions
options, Binder originalBinder, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
301
LookupOptions
options, Binder originalBinder, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
337
if ((options &
LookupOptions
.NamespaceAliasesOnly) == 0 && (object)submission.ScriptClass != null)
388
options = options & ~(
LookupOptions
.MustBeInvocableIfMember |
LookupOptions
.NamespacesOrTypesOnly);
450
LookupOptions
options,
488
private static void LookupMembersInNamespace(LookupResult result, NamespaceSymbol ns, string name, int arity,
LookupOptions
options, Binder originalBinder, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
517
LookupOptions
options,
782
LookupOptions
options,
802
LookupOptions
options,
810
LookupOptions
options, Binder originalBinder, TypeSymbol accessThroughType, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo, ConsList<TypeSymbol> basesBeingResolved)
830
LookupOptions
options,
845
LookupOptions
options,
924
LookupOptions
options,
1064
LookupOptions
options,
1074
if ((options &
LookupOptions
.NamespaceAliasesOnly) == 0 && !originalBinder.InCrefButNotParameterOrReturnType &&
1075
((options &
LookupOptions
.NamespacesOrTypesOnly) == 0 || !(current.IsSingleViable && TypeSymbol.Equals(current.SingleSymbolOrDefault.ContainingType, type, TypeCompareKind.AllIgnoreOptions)))) // The nested type will shadow everything from bases
1167
LookupOptions
options,
1196
private void LookupMembersInInterface(LookupResult current, NamedTypeSymbol type, string name, int arity, ConsList<TypeSymbol> basesBeingResolved,
LookupOptions
options, Binder originalBinder, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
1214
private void LookupMembersInTypeParameter(LookupResult current, TypeParameterSymbol typeParameter, string name, int arity, ConsList<TypeSymbol> basesBeingResolved,
LookupOptions
options, Binder originalBinder, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
1218
if ((options & (
LookupOptions
.NamespaceAliasesOnly |
LookupOptions
.NamespacesOrTypesOnly)) != 0)
1339
internal static ImmutableArray<Symbol> GetCandidateMembers(NamespaceOrTypeSymbol nsOrType, string name,
LookupOptions
options, Binder originalBinder)
1341
if ((options &
LookupOptions
.NamespacesOrTypesOnly) != 0 && nsOrType is TypeSymbol)
1349
else if ((options &
LookupOptions
.LabelsOnly) != 0)
1363
internal static ImmutableArray<Symbol> GetCandidateMembers(NamespaceOrTypeSymbol nsOrType,
LookupOptions
options, Binder originalBinder)
1365
if ((options &
LookupOptions
.NamespacesOrTypesOnly) != 0 && nsOrType is TypeSymbol)
1373
else if ((options &
LookupOptions
.LabelsOnly) != 0)
1431
internal SingleLookupResult CheckViability(Symbol symbol, int arity,
LookupOptions
options, TypeSymbol accessThroughType, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo, ConsList<TypeSymbol> basesBeingResolved = null)
1433
Debug.Assert((options &
LookupOptions
.MustBeAbstractOrVirtual) == 0 || (options &
LookupOptions
.MustNotBeInstance) != 0);
1444
if ((options &
LookupOptions
.MustNotBeParameter) != 0 && unwrappedSymbol is ParameterSymbol)
1448
else if ((options &
LookupOptions
.MustBeOperator) != 0 && unwrappedSymbol is not MethodSymbol { MethodKind: MethodKind.UserDefinedOperator })
1461
else if ((options & (
LookupOptions
.MustNotBeInstance |
LookupOptions
.MustBeAbstractOrVirtual)) == (
LookupOptions
.MustNotBeInstance |
LookupOptions
.MustBeAbstractOrVirtual) &&
1470
else if (!InCref && !unwrappedSymbol.CanBeReferencedByNameIgnoringIllegalCharacters && (options &
LookupOptions
.MustBeOperator) == 0)
1480
else if ((options &
LookupOptions
.NamespacesOrTypesOnly) != 0 && !(unwrappedSymbol is NamespaceOrTypeSymbol))
1484
else if ((options &
LookupOptions
.MustBeInvocableIfMember) != 0
1526
else if ((options &
LookupOptions
.MustBeInstance) != 0 && !IsInstance(unwrappedSymbol))
1531
else if ((options &
LookupOptions
.MustNotBeInstance) != 0 && IsInstance(unwrappedSymbol))
1536
else if ((options &
LookupOptions
.MustNotBeNamespace) != 0 && unwrappedSymbol.Kind == SymbolKind.Namespace)
1541
else if ((options &
LookupOptions
.LabelsOnly) != 0 && unwrappedSymbol.Kind != SymbolKind.Label)
1629
internal bool CanAddLookupSymbolInfo(Symbol symbol,
LookupOptions
options, LookupSymbolsInfo info, TypeSymbol accessThroughType, AliasSymbol aliasSymbol = null)
1642
if ((options &
LookupOptions
.NamespacesOrTypesOnly) != 0 && !(symbol is NamespaceOrTypeSymbol))
1646
else if ((options &
LookupOptions
.MustBeInvocableIfMember) != 0
1660
else if ((options &
LookupOptions
.MustBeInstance) != 0 && !IsInstance(symbol))
1664
else if ((options &
LookupOptions
.MustNotBeInstance) != 0 && IsInstance(symbol))
1668
else if ((options &
LookupOptions
.MustNotBeNamespace) != 0 && (symbol.Kind == SymbolKind.Namespace))
1681
private static TypeSymbol RefineAccessThroughType(
LookupOptions
options, TypeSymbol accessThroughType)
1686
return ((options &
LookupOptions
.UseBaseReferenceAccessibility) != 0)
1815
private static bool WrongArity(Symbol symbol, int arity, bool diagnose,
LookupOptions
options, out DiagnosticInfo diagInfo)
1820
if (arity != 0 || (options &
LookupOptions
.AllNamedTypesOnArityZero) == 0)
1843
if (arity != 0 || (options &
LookupOptions
.AllMethodsOnArityZero) == 0)
1879
internal void AddLookupSymbolsInfo(LookupSymbolsInfo result,
LookupOptions
options =
LookupOptions
.Default)
1885
if ((options &
LookupOptions
.LabelsOnly) != 0 && scope.IsLastBinderWithinMember())
1893
internal virtual void AddLookupSymbolsInfoInSingleBinder(LookupSymbolsInfo info,
LookupOptions
options, Binder originalBinder)
1901
internal void AddMemberLookupSymbolsInfo(LookupSymbolsInfo result, NamespaceOrTypeSymbol nsOrType,
LookupOptions
options, Binder originalBinder)
1913
private void AddMemberLookupSymbolsInfoInType(LookupSymbolsInfo result, TypeSymbol type,
LookupOptions
options, Binder originalBinder)
1937
protected void AddMemberLookupSymbolsInfoInSubmissions(LookupSymbolsInfo result, TypeSymbol scriptClass, bool inUsings,
LookupOptions
options, Binder originalBinder)
1951
if ((options &
LookupOptions
.LabelsOnly) == 0 && !(isCurrentSubmission && inUsings))
1969
LookupSymbolsInfo result,
LookupOptions
options, Binder originalBinder)
1972
if ((options &
LookupOptions
.LabelsOnly) == 0)
1988
static void addAliasSymbolToResult(LookupSymbolsInfo result, AliasSymbol aliasSymbol,
LookupOptions
options, Binder originalBinder)
1998
private static void AddMemberLookupSymbolsInfoInNamespace(LookupSymbolsInfo result, NamespaceSymbol ns,
LookupOptions
options, Binder originalBinder)
2010
private static void AddMemberLookupSymbolsInfoWithoutInheritance(LookupSymbolsInfo result, TypeSymbol type,
LookupOptions
options, Binder originalBinder, TypeSymbol accessThroughType)
2022
private void AddWinRTMembersLookupSymbolsInfo(LookupSymbolsInfo result, NamedTypeSymbol type,
LookupOptions
options, Binder originalBinder, TypeSymbol accessThroughType)
2037
private void AddMemberLookupSymbolsInfoInClass(LookupSymbolsInfo result, TypeSymbol type,
LookupOptions
options, Binder originalBinder, TypeSymbol accessThroughType)
2068
private void AddMemberLookupSymbolsInfoInInterface(LookupSymbolsInfo result, TypeSymbol type,
LookupOptions
options, Binder originalBinder, TypeSymbol accessThroughType)
2083
private void AddMemberLookupSymbolsInfoInTypeParameter(LookupSymbolsInfo result, TypeParameterSymbol type,
LookupOptions
options, Binder originalBinder)
Binder\Binder_Operators.cs (25)
609
LookupOptions
.AllMethodsOnArityZero |
LookupOptions
.MustBeOperator |
LookupOptions
.MustBeInstance, this);
624
LookupOptions
.AllMethodsOnArityZero |
LookupOptions
.MustBeOperator |
LookupOptions
.MustNotBeInstance, this);
2001
LookupOptions
.AllMethodsOnArityZero |
LookupOptions
.MustBeOperator |
LookupOptions
.MustNotBeInstance,
2126
LookupOptions
.AllMethodsOnArityZero |
LookupOptions
.MustBeOperator |
LookupOptions
.MustNotBeInstance, this);
2438
LookupOptions
.AllMethodsOnArityZero |
LookupOptions
.MustBeOperator |
LookupOptions
.MustNotBeInstance, this);
3700
LookupOptions
.AllMethodsOnArityZero |
LookupOptions
.MustBeOperator |
LookupOptions
.MustBeInstance, this);
3715
LookupOptions
.AllMethodsOnArityZero |
LookupOptions
.MustBeOperator |
LookupOptions
.MustNotBeInstance, this);
3787
this.LookupMembersWithFallback(lookupResult, lookupInType, name: checkedName, arity: 0, ref useSiteInfo, basesBeingResolved: null, options:
LookupOptions
.MustBeInstance |
LookupOptions
.MustBeOperator);
3798
this.LookupMembersWithFallback(lookupResult, lookupInType, name: ordinaryName, arity: 0, ref useSiteInfo, basesBeingResolved: null, options:
LookupOptions
.MustBeInstance |
LookupOptions
.MustBeOperator);
Binder\Binder_Statements.cs (2)
476
var binder = this.LookupSymbolsWithFallback(result, node.Identifier.ValueText, arity: 0, useSiteInfo: ref useSiteInfo, options:
LookupOptions
.LabelsOnly);
494
binder.Next.LookupSymbolsWithFallback(result, node.Identifier.ValueText, arity: 0, useSiteInfo: ref useSiteInfo, options:
LookupOptions
.LabelsOnly);
Binder\Binder_Symbols.cs (20)
203
this.LookupSymbolsInternal(lookupResult, identifierValueText, arity: 0, useSiteInfo: ref discardedUseSiteInfo, basesBeingResolved: null, options:
LookupOptions
.NamespacesOrTypesOnly, diagnose: false);
375
this.LookupSymbolsWithFallback(result, plainName, 0, ref useSiteInfo, null,
LookupOptions
.NamespaceAliasesOnly);
378
Symbol bindingResult = ResultSymbol(result, plainName, 0, node, diagnostics, false, out wasError, qualifierOpt: null, options:
LookupOptions
.NamespaceAliasesOnly);
882
LookupOptions
options = GetSimpleNameLookupOptions(node, node.Identifier.IsVerbatimIdentifier());
1075
private static
LookupOptions
GetSimpleNameLookupOptions(NameSyntax node, bool isVerbatimIdentifier)
1086
return isVerbatimIdentifier ?
LookupOptions
.VerbatimNameAttributeTypeOnly :
LookupOptions
.AttributeTypeOnly;
1090
return
LookupOptions
.NamespacesOrTypesOnly;
1217
LookupOptions
options = GetSimpleNameLookupOptions(node, isVerbatimIdentifier: false);
1276
LookupOptions
options)
1571
LookupOptions
options = (arity == 0) ?
LookupOptions
.AllMethodsOnArityZero :
LookupOptions
.Default;
1574
options |=
LookupOptions
.MustBeInvocableIfMember;
1992
LookupOptions
options = default(
LookupOptions
))
2021
LookupOptions
options)
2626
private CSDiagnosticInfo NotFound(SyntaxNode where, string simpleName, int arity, string whereText, BindingDiagnosticBag diagnostics, string aliasOpt, NamespaceOrTypeSymbol qualifierOpt,
LookupOptions
options)
2640
NotFound(where, simpleName, arity, attributeName, diagnostics, aliasOpt, qualifierOpt, options |
LookupOptions
.VerbatimNameAttributeTypeOnly);
2686
if (options ==
LookupOptions
.NamespaceAliasesOnly)
Binder\ForEachLoopBinder.cs (3)
1377
options:
LookupOptions
.Default,
1671
options:
LookupOptions
.Default, // properties are not invocable - their accessors are
1918
options:
LookupOptions
.Default,
Binder\HostObjectModeBinder.cs (2)
33
LookupResult result, string name, int arity, ConsList<TypeSymbol> basesBeingResolved,
LookupOptions
options, Binder originalBinder, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
52
internal override void AddLookupSymbolsInfoInSingleBinder(LookupSymbolsInfo result,
LookupOptions
options, Binder originalBinder)
Binder\InContainerBinder.cs (4)
76
internal override void GetAllExtensionCandidatesInSingleBinder(ArrayBuilder<Symbol> members, string? name, string? alternativeName, int arity,
LookupOptions
options, Binder originalBinder)
101
LookupResult result, string name, int arity, ConsList<TypeSymbol> basesBeingResolved,
LookupOptions
options, Binder originalBinder, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
106
if ((options &
LookupOptions
.NamespaceAliasesOnly) == 0)
128
internal override void AddLookupSymbolsInfoInSingleBinder(LookupSymbolsInfo result,
LookupOptions
options, Binder originalBinder)
Binder\InMethodBinder.cs (3)
195
LookupResult result, string name, int arity, ConsList<TypeSymbol> basesBeingResolved,
LookupOptions
options, Binder originalBinder, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
199
if (_methodSymbol.ParameterCount == 0 || (options &
LookupOptions
.NamespaceAliasesOnly) != 0)
229
internal override void AddLookupSymbolsInfoInSingleBinder(LookupSymbolsInfo result,
LookupOptions
options, Binder originalBinder)
Binder\InSubmissionClassBinder.cs (3)
34
internal override void GetAllExtensionCandidatesInSingleBinder(ArrayBuilder<Symbol> members, string? name, string? alternativeName, int arity,
LookupOptions
options, Binder originalBinder)
43
LookupResult result, string name, int arity, ConsList<TypeSymbol> basesBeingResolved,
LookupOptions
options, Binder originalBinder, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
50
internal override void AddLookupSymbolsInfoInSingleBinder(LookupSymbolsInfo result,
LookupOptions
options, Binder originalBinder)
Binder\LocalScopeBinder.cs (5)
422
LookupResult result, string name, int arity, ConsList<TypeSymbol> basesBeingResolved,
LookupOptions
options, Binder originalBinder, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
427
if ((options &
LookupOptions
.LabelsOnly) != 0)
442
if (localsMap != null && (options &
LookupOptions
.NamespaceAliasesOnly) == 0)
462
internal override void AddLookupSymbolsInfoInSingleBinder(LookupSymbolsInfo result,
LookupOptions
options, Binder originalBinder)
466
if ((options &
LookupOptions
.LabelsOnly) != 0)
Binder\LookupOptions.cs (41)
133
internal static bool AreValid(this
LookupOptions
options)
135
if (options ==
LookupOptions
.Default)
140
if ((options &
LookupOptions
.LabelsOnly) != 0)
142
return options ==
LookupOptions
.LabelsOnly;
146
LookupOptions
mustBeAndNotBeInstance = (
LookupOptions
.MustBeInstance |
LookupOptions
.MustNotBeInstance);
153
if ((options & (
LookupOptions
.MustNotBeNamespace |
LookupOptions
.MustNotBeMethodTypeParameter)) != 0 &&
154
(options & (
LookupOptions
.NamespaceAliasesOnly |
LookupOptions
.NamespacesOrTypesOnly)) != 0)
159
LookupOptions
onlyOptions = options &
160
(
LookupOptions
.NamespaceAliasesOnly
161
|
LookupOptions
.NamespacesOrTypesOnly
162
|
LookupOptions
.AllMethodsOnArityZero);
167
internal static void ThrowIfInvalid(this
LookupOptions
options)
175
private static bool OnlyOneBitSet(
LookupOptions
o)
180
internal static bool CanConsiderMembers(this
LookupOptions
options)
182
return (options & (
LookupOptions
.NamespaceAliasesOnly |
LookupOptions
.NamespacesOrTypesOnly |
LookupOptions
.LabelsOnly)) == 0;
185
internal static bool CanConsiderLocals(this
LookupOptions
options)
187
return (options & (
LookupOptions
.NamespaceAliasesOnly |
LookupOptions
.NamespacesOrTypesOnly |
LookupOptions
.LabelsOnly)) == 0;
190
internal static bool CanConsiderTypes(this
LookupOptions
options)
192
return (options & (
LookupOptions
.NamespaceAliasesOnly |
LookupOptions
.MustBeInvocableIfMember |
LookupOptions
.MustBeInstance |
LookupOptions
.LabelsOnly)) == 0;
195
internal static bool CanConsiderNamespaces(this
LookupOptions
options)
197
return (options & (
LookupOptions
.MustNotBeNamespace |
LookupOptions
.MustBeInvocableIfMember |
LookupOptions
.MustBeInstance |
LookupOptions
.LabelsOnly)) == 0;
200
internal static bool IsAttributeTypeLookup(this
LookupOptions
options)
202
return (options &
LookupOptions
.AttributeTypeOnly) ==
LookupOptions
.AttributeTypeOnly;
205
internal static bool IsVerbatimNameAttributeTypeLookup(this
LookupOptions
options)
207
return (options &
LookupOptions
.VerbatimNameAttributeTypeOnly) ==
LookupOptions
.VerbatimNameAttributeTypeOnly;
Binder\NameofBinder.cs (3)
19
/// in the binder chain and some filtering (<see cref="
LookupOptions
.MustNotBeMethodTypeParameter"/>) to keep
60
internal override void LookupSymbolsInSingleBinder(LookupResult result, string name, int arity, ConsList<TypeSymbol> basesBeingResolved,
LookupOptions
options, Binder originalBinder, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
92
internal override void AddLookupSymbolsInfoInSingleBinder(LookupSymbolsInfo info,
LookupOptions
options, Binder originalBinder)
Binder\WithClassTypeParametersBinder.cs (2)
52
internal override void AddLookupSymbolsInfoInSingleBinder(LookupSymbolsInfo result,
LookupOptions
options, Binder originalBinder)
66
protected override
LookupOptions
LookupMask
Binder\WithCrefTypeParametersBinder.cs (1)
148
internal override void AddLookupSymbolsInfoInSingleBinder(LookupSymbolsInfo result,
LookupOptions
options, Binder originalBinder)
Binder\WithExtensionParameterBinder.cs (4)
24
internal override void AddLookupSymbolsInfoInSingleBinder(LookupSymbolsInfo result,
LookupOptions
options, Binder originalBinder)
37
LookupResult result, string name, int arity, ConsList<TypeSymbol> basesBeingResolved,
LookupOptions
options, Binder originalBinder, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
41
if ((options & (
LookupOptions
.NamespaceAliasesOnly |
LookupOptions
.NamespacesOrTypesOnly)) != 0)
Binder\WithExternAliasesBinder.cs (3)
33
LookupResult result, string name, int arity, ConsList<TypeSymbol> basesBeingResolved,
LookupOptions
options, Binder originalBinder, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
50
internal override void AddLookupSymbolsInfoInSingleBinder(LookupSymbolsInfo result,
LookupOptions
options, Binder originalBinder)
53
if ((options &
LookupOptions
.LabelsOnly) == 0)
Binder\WithExternAndUsingAliasesBinder.cs (3)
37
LookupResult result, string name, int arity, ConsList<TypeSymbol> basesBeingResolved,
LookupOptions
options, Binder originalBinder, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
54
internal override void AddLookupSymbolsInfoInSingleBinder(LookupSymbolsInfo result,
LookupOptions
options, Binder originalBinder)
57
if ((options &
LookupOptions
.LabelsOnly) == 0)
Binder\WithLambdaParametersBinder.cs (3)
87
LookupResult result, string name, int arity, ConsList<TypeSymbol> basesBeingResolved,
LookupOptions
options, Binder originalBinder, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
91
if ((options &
LookupOptions
.NamespaceAliasesOnly) != 0)
102
internal override void AddLookupSymbolsInfoInSingleBinder(LookupSymbolsInfo result,
LookupOptions
options, Binder originalBinder)
Binder\WithMethodTypeParametersBinder.cs (5)
18
internal const
LookupOptions
MethodTypeParameterLookupMask =
LookupOptions
.NamespaceAliasesOnly |
LookupOptions
.MustNotBeMethodTypeParameter;
57
protected override
LookupOptions
LookupMask
65
internal override void AddLookupSymbolsInfoInSingleBinder(LookupSymbolsInfo result,
LookupOptions
options, Binder originalBinder)
Binder\WithParametersBinder.cs (4)
31
internal override void AddLookupSymbolsInfoInSingleBinder(LookupSymbolsInfo result,
LookupOptions
options, Binder originalBinder)
46
LookupResult result, string name, int arity, ConsList<TypeSymbol> basesBeingResolved,
LookupOptions
options, Binder originalBinder, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
48
if ((options & (
LookupOptions
.NamespaceAliasesOnly |
LookupOptions
.MustBeInvocableIfMember)) != 0)
Binder\WithPrimaryConstructorParametersBinder.cs (4)
27
internal override void AddLookupSymbolsInfoInSingleBinder(LookupSymbolsInfo result,
LookupOptions
options, Binder originalBinder)
64
LookupResult result, string name, int arity, ConsList<TypeSymbol> basesBeingResolved,
LookupOptions
options, Binder originalBinder, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
68
if ((options & (
LookupOptions
.NamespaceAliasesOnly |
LookupOptions
.NamespacesOrTypesOnly)) != 0)
Binder\WithTypeParametersBinder.cs (7)
24
protected virtual
LookupOptions
LookupMask
28
return
LookupOptions
.NamespaceAliasesOnly |
LookupOptions
.MustBeInvocableIfMember;
32
protected bool CanConsiderTypeParameters(
LookupOptions
options)
34
return (options & (LookupMask |
LookupOptions
.MustBeInstance |
LookupOptions
.LabelsOnly)) == 0;
38
LookupResult result, string name, int arity, ConsList<TypeSymbol> basesBeingResolved,
LookupOptions
options, Binder originalBinder, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
Binder\WithUsingNamespacesAndTypesBinder.cs (7)
74
internal override void GetAllExtensionCandidatesInSingleBinder(ArrayBuilder<Symbol> members, string? name, string? alternativeName, int arity,
LookupOptions
options, Binder originalBinder)
118
LookupResult result, string name, int arity, ConsList<TypeSymbol>? basesBeingResolved,
LookupOptions
options, Binder originalBinder, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
184
internal override void AddLookupSymbolsInfoInSingleBinder(LookupSymbolsInfo result,
LookupOptions
options, Binder originalBinder)
187
if ((options &
LookupOptions
.LabelsOnly) == 0)
190
options = (options & ~(
LookupOptions
.NamespaceAliasesOnly |
LookupOptions
.NamespacesOrTypesOnly)) |
LookupOptions
.MustNotBeNamespace;
Compilation\CSharpSemanticModel.cs (24)
1435
return LookupSymbolsInternal(position, container, name,
LookupOptions
.Default, includeExtensionMembers: includeExtensions, useBaseReferenceAccessibility: false);
1477
return LookupSymbolsInternal(position, container: null, name: name, options:
LookupOptions
.Default, includeExtensionMembers: false, useBaseReferenceAccessibility: true);
1503
return LookupSymbolsInternal(position, container, name,
LookupOptions
.MustNotBeInstance, includeExtensionMembers: false, useBaseReferenceAccessibility: false);
1529
return LookupSymbolsInternal(position, container, name,
LookupOptions
.NamespacesOrTypesOnly, includeExtensionMembers: false, useBaseReferenceAccessibility: false);
1550
return LookupSymbolsInternal(position, container: null, name: name, options:
LookupOptions
.LabelsOnly, includeExtensionMembers: false, useBaseReferenceAccessibility: false);
1577
LookupOptions
options,
1581
Debug.Assert((options &
LookupOptions
.UseBaseReferenceAccessibility) == 0, "Use the useBaseReferenceAccessibility parameter.");
1584
options |=
LookupOptions
.UseBaseReferenceAccessibility;
1626
(options & (
LookupOptions
.NamespaceAliasesOnly |
LookupOptions
.NamespacesOrTypesOnly |
LookupOptions
.LabelsOnly)) == 0)
1636
options |=
LookupOptions
.MustNotBeMethodTypeParameter;
1675
options |=
LookupOptions
.AllMethodsOnArityZero;
1676
options &= ~
LookupOptions
.MustBeInstance;
1677
Debug.Assert((options &
LookupOptions
.NamespacesOrTypesOnly) == 0);
1678
Debug.Assert((options &
LookupOptions
.NamespaceAliasesOnly) == 0);
1679
Debug.Assert((options &
LookupOptions
.LabelsOnly) == 0);
1714
private void AppendSymbolsWithName(ArrayBuilder<ISymbol> results, string name, Binder binder, NamespaceOrTypeSymbol container,
LookupOptions
options, LookupSymbolsInfo info)
1753
LookupOptions
options)
1758
Debug.Assert((options &
LookupOptions
.AllMethodsOnArityZero) == 0);
4112
AppendSymbolsWithNameAndArity(symbols, WellKnownMemberNames.Indexer, 0, binder, type,
LookupOptions
.MustBeInstance);
4631
LookupOptions
options;
4635
options =
LookupOptions
.AllMethodsOnArityZero;
4640
options =
LookupOptions
.Default;
Symbols\MergedNamespaceSymbol.cs (1)
294
internal sealed override void GetAllExtensionMembers(ArrayBuilder<Symbol> members, string? name, string? alternativeName, int arity,
LookupOptions
options, ConsList<FieldSymbol> fieldsBeingBound)
Symbols\NamedTypeSymbol.cs (17)
352
private void DoGetExtensionMethods(ArrayBuilder<Symbol> methods, string? nameOpt, int arity,
LookupOptions
options, PooledHashSet<MethodSymbol>? implementationsToShadow)
364
((options &
LookupOptions
.AllMethodsOnArityZero) != 0 || arity == method.Arity))
407
internal void GetAllExtensionMembers(ArrayBuilder<Symbol> members, string? name, string? alternativeName, int arity,
LookupOptions
options, ConsList<FieldSymbol> fieldsBeingBound)
409
Debug.Assert((options & ~(
LookupOptions
.AllMethodsOnArityZero
410
|
LookupOptions
.MustBeInstance |
LookupOptions
.MustNotBeInstance |
LookupOptions
.MustBeInvocableIfMember
411
|
LookupOptions
.MustBeOperator |
LookupOptions
.MustNotBeMethodTypeParameter)) == 0);
425
if (!options.HasFlag(
LookupOptions
.MustBeOperator))
438
void doGetExtensionMembers(ArrayBuilder<Symbol> members, string? name, string? alternativeName, int arity,
LookupOptions
options, ref PooledHashSet<MethodSymbol>? implementationsToShadow, ConsList<FieldSymbol> fieldsBeingBound)
475
static bool extensionMemberMatches(Symbol member, string? name, string? alternativeName, int arity,
LookupOptions
options, ConsList<FieldSymbol> fieldsBeingBound)
477
if ((options &
LookupOptions
.MustBeInstance) != 0 && member.IsStatic)
482
if ((options &
LookupOptions
.MustNotBeInstance) != 0 && !member.IsStatic)
487
if ((options &
LookupOptions
.MustBeOperator) != 0 && member is not MethodSymbol { MethodKind: MethodKind.UserDefinedOperator })
492
if ((options &
LookupOptions
.AllMethodsOnArityZero) == 0
508
if ((options &
LookupOptions
.MustBeInvocableIfMember) != 0
Symbols\NamespaceSymbol.cs (1)
336
internal virtual void GetAllExtensionMembers(ArrayBuilder<Symbol> members, string? name, string? alternativeName, int arity,
LookupOptions
options, ConsList<FieldSymbol> fieldsBeingBound)
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (3)
Semantics\LookupTests.cs (3)
432
binder.AddLookupSymbolsInfo(info,
LookupOptions
.MustBeInvocableIfMember);
446
options:
LookupOptions
.MustBeInvocableIfMember,
587
binder.LookupSymbolsSimpleName(lookupResult, qualifierOpt: null, plainName: "F", arity: 0, basesBeingResolved: null, options:
LookupOptions
.AllMethodsOnArityZero, diagnose: false, useSiteDiagnostics: ref useSiteDiagnostics);
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (8)
Compilation\SemanticModelGetDeclaredSymbolAPITests.cs (3)
2169
var
options = isVerbatim ?
LookupOptions
.VerbatimNameAttributeTypeOnly :
LookupOptions
.AttributeTypeOnly;
DocumentationComments\CrefTests.cs (1)
5526
options:
LookupOptions
.Default,
Symbols\Retargeting\RetargetingTests.cs (4)
49
sourceNamespace.GetAllExtensionMembers(sourceMethods, name: null, alternativeName: null, arity: 0,
LookupOptions
.AllMethodsOnArityZero, fieldsBeingBound: null);
55
retargetingNamespace.GetAllExtensionMembers(retargetingMethods, name: null, alternativeName: null, arity: 0,
LookupOptions
.AllMethodsOnArityZero, fieldsBeingBound: null);
69
sourceNamespace.GetAllExtensionMembers(sourceMethods, name: "E", alternativeName: null, arity: 2,
LookupOptions
.Default, fieldsBeingBound: null);
75
retargetingNamespace.GetAllExtensionMembers(retargetingMethods, name: "E", alternativeName: null, arity: 2,
LookupOptions
.Default, fieldsBeingBound: null);
Microsoft.CodeAnalysis.CSharp.Test.Utilities (1)
Extensions.cs (1)
925
LookupOptions
options,