356 references to LookupOptions
Microsoft.CodeAnalysis.CSharp (344)
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;
549
options:
LookupOptions
.AllMethodsOnArityZero |
LookupOptions
.MustNotBeParameter,
Binder\Binder_Expressions.cs (35)
1858
LookupOptions
options =
LookupOptions
.AllMethodsOnArityZero;
1861
options |=
LookupOptions
.MustBeInvocableIfMember;
1866
Debug.Assert((options &
LookupOptions
.NamespacesOrTypesOnly) == 0);
1867
options |=
LookupOptions
.MustNotBeMethodTypeParameter;
2077
options:
LookupOptions
.Default,
2471
this.LookupSymbolsWithFallback(result, labelName, arity: 0, useSiteInfo: ref useSiteInfo, options:
LookupOptions
.LabelsOnly);
7746
LookupOptions
options =
LookupOptions
.AllMethodsOnArityZero;
7749
options |=
LookupOptions
.MustBeInvocableIfMember;
7847
LookupOptions
options,
7921
LookupOptions
options,
7932
this.LookupMembersWithFallback(lookupResult, leftType, rightName, rightArity, ref useSiteInfo, basesBeingResolved: null, options: options |
LookupOptions
.MustNotBeInstance |
LookupOptions
.MustBeAbstractOrVirtual);
8197
LookupOptions
options =
LookupOptions
.AllMethodsOnArityZero;
8200
options |=
LookupOptions
.MustBeInvocableIfMember;
8205
options |=
LookupOptions
.UseBaseReferenceAccessibility;
8582
var
lookupOptions = (arity == 0) ?
LookupOptions
.AllMethodsOnArityZero :
LookupOptions
.Default;
8585
lookupOptions |=
LookupOptions
.MustBeInvocableIfMember;
8650
LookupOptions
lookupOptions,
9959
LookupOptions
lookupOptions = expr.Kind == BoundKind.BaseReference ?
LookupOptions
.UseBaseReferenceAccessibility :
LookupOptions
.Default;
10395
LookupOptions
.Default,
10450
LookupOptions
.Default,
10564
LookupOptions
.Default,
10887
LookupOptions
options = arity == 0 ?
LookupOptions
.AllMethodsOnArityZero :
LookupOptions
.Default;
11100
LookupOptions
options = arity == 0 ?
LookupOptions
.AllMethodsOnArityZero :
LookupOptions
.Default;
Binder\Binder_Invocation.cs (3)
2512
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)
243
protected void LookupMembersInType(LookupResult result, TypeSymbol type, string name, int arity, ConsList<TypeSymbol> basesBeingResolved,
LookupOptions
options, Binder originalBinder, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
284
private void LookupMembersInErrorType(LookupResult result, ErrorTypeSymbol errorType, string name, int arity, ConsList<TypeSymbol> basesBeingResolved,
LookupOptions
options, Binder originalBinder, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
320
LookupOptions
options, Binder originalBinder, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
356
if ((options &
LookupOptions
.NamespaceAliasesOnly) == 0 && (object)submission.ScriptClass != null)
407
options = options & ~(
LookupOptions
.MustBeInvocableIfMember |
LookupOptions
.NamespacesOrTypesOnly);
469
LookupOptions
options,
507
private static void LookupMembersInNamespace(LookupResult result, NamespaceSymbol ns, string name, int arity,
LookupOptions
options, Binder originalBinder, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
536
LookupOptions
options,
801
LookupOptions
options,
821
LookupOptions
options,
829
LookupOptions
options, Binder originalBinder, TypeSymbol accessThroughType, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo, ConsList<TypeSymbol> basesBeingResolved)
849
LookupOptions
options,
864
LookupOptions
options,
943
LookupOptions
options,
1083
LookupOptions
options,
1093
if ((options &
LookupOptions
.NamespaceAliasesOnly) == 0 && !originalBinder.InCrefButNotParameterOrReturnType &&
1094
((options &
LookupOptions
.NamespacesOrTypesOnly) == 0 || !(current.IsSingleViable && TypeSymbol.Equals(current.SingleSymbolOrDefault.ContainingType, type, TypeCompareKind.AllIgnoreOptions)))) // The nested type will shadow everything from bases
1186
LookupOptions
options,
1215
private void LookupMembersInInterface(LookupResult current, NamedTypeSymbol type, string name, int arity, ConsList<TypeSymbol> basesBeingResolved,
LookupOptions
options, Binder originalBinder, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
1233
private void LookupMembersInTypeParameter(LookupResult current, TypeParameterSymbol typeParameter, string name, int arity, ConsList<TypeSymbol> basesBeingResolved,
LookupOptions
options, Binder originalBinder, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
1237
if ((options & (
LookupOptions
.NamespaceAliasesOnly |
LookupOptions
.NamespacesOrTypesOnly)) != 0)
1358
internal static ImmutableArray<Symbol> GetCandidateMembers(NamespaceOrTypeSymbol nsOrType, string name,
LookupOptions
options, Binder originalBinder)
1360
if ((options &
LookupOptions
.NamespacesOrTypesOnly) != 0 && nsOrType is TypeSymbol)
1368
else if ((options &
LookupOptions
.LabelsOnly) != 0)
1382
internal static ImmutableArray<Symbol> GetCandidateMembers(NamespaceOrTypeSymbol nsOrType,
LookupOptions
options, Binder originalBinder)
1384
if ((options &
LookupOptions
.NamespacesOrTypesOnly) != 0 && nsOrType is TypeSymbol)
1392
else if ((options &
LookupOptions
.LabelsOnly) != 0)
1450
internal SingleLookupResult CheckViability(Symbol symbol, int arity,
LookupOptions
options, TypeSymbol accessThroughType, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo, ConsList<TypeSymbol> basesBeingResolved = null)
1452
Debug.Assert((options &
LookupOptions
.MustBeAbstractOrVirtual) == 0 || (options &
LookupOptions
.MustNotBeInstance) != 0);
1463
if ((options &
LookupOptions
.MustNotBeParameter) != 0 && unwrappedSymbol is ParameterSymbol)
1467
else if ((options &
LookupOptions
.MustBeOperator) != 0 && unwrappedSymbol is not MethodSymbol { MethodKind: MethodKind.UserDefinedOperator })
1480
else if ((options & (
LookupOptions
.MustNotBeInstance |
LookupOptions
.MustBeAbstractOrVirtual)) == (
LookupOptions
.MustNotBeInstance |
LookupOptions
.MustBeAbstractOrVirtual) &&
1489
else if (!InCref && !unwrappedSymbol.CanBeReferencedByNameIgnoringIllegalCharacters && (options &
LookupOptions
.MustBeOperator) == 0)
1499
else if ((options &
LookupOptions
.NamespacesOrTypesOnly) != 0 && !(unwrappedSymbol is NamespaceOrTypeSymbol))
1503
else if ((options &
LookupOptions
.MustBeInvocableIfMember) != 0
1545
else if ((options &
LookupOptions
.MustBeInstance) != 0 && !IsInstance(unwrappedSymbol))
1550
else if ((options &
LookupOptions
.MustNotBeInstance) != 0 && IsInstance(unwrappedSymbol))
1555
else if ((options &
LookupOptions
.MustNotBeNamespace) != 0 && unwrappedSymbol.Kind == SymbolKind.Namespace)
1560
else if ((options &
LookupOptions
.LabelsOnly) != 0 && unwrappedSymbol.Kind != SymbolKind.Label)
1648
internal bool CanAddLookupSymbolInfo(Symbol symbol,
LookupOptions
options, LookupSymbolsInfo info, TypeSymbol accessThroughType, AliasSymbol aliasSymbol = null)
1661
if ((options &
LookupOptions
.NamespacesOrTypesOnly) != 0 && !(symbol is NamespaceOrTypeSymbol))
1665
else if ((options &
LookupOptions
.MustBeInvocableIfMember) != 0
1679
else if ((options &
LookupOptions
.MustBeInstance) != 0 && !IsInstance(symbol))
1683
else if ((options &
LookupOptions
.MustNotBeInstance) != 0 && IsInstance(symbol))
1687
else if ((options &
LookupOptions
.MustNotBeNamespace) != 0 && (symbol.Kind == SymbolKind.Namespace))
1700
private static TypeSymbol RefineAccessThroughType(
LookupOptions
options, TypeSymbol accessThroughType)
1705
return ((options &
LookupOptions
.UseBaseReferenceAccessibility) != 0)
1834
private static bool WrongArity(Symbol symbol, int arity, bool diagnose,
LookupOptions
options, out DiagnosticInfo diagInfo)
1839
if (arity != 0 || (options &
LookupOptions
.AllNamedTypesOnArityZero) == 0)
1862
if (arity != 0 || (options &
LookupOptions
.AllMethodsOnArityZero) == 0)
1898
internal void AddLookupSymbolsInfo(LookupSymbolsInfo result,
LookupOptions
options =
LookupOptions
.Default)
1904
if ((options &
LookupOptions
.LabelsOnly) != 0 && scope.IsLastBinderWithinMember())
1912
internal virtual void AddLookupSymbolsInfoInSingleBinder(LookupSymbolsInfo info,
LookupOptions
options, Binder originalBinder)
1920
internal void AddMemberLookupSymbolsInfo(LookupSymbolsInfo result, NamespaceOrTypeSymbol nsOrType,
LookupOptions
options, Binder originalBinder)
1932
private void AddMemberLookupSymbolsInfoInType(LookupSymbolsInfo result, TypeSymbol type,
LookupOptions
options, Binder originalBinder)
1956
protected void AddMemberLookupSymbolsInfoInSubmissions(LookupSymbolsInfo result, TypeSymbol scriptClass, bool inUsings,
LookupOptions
options, Binder originalBinder)
1970
if ((options &
LookupOptions
.LabelsOnly) == 0 && !(isCurrentSubmission && inUsings))
1988
LookupSymbolsInfo result,
LookupOptions
options, Binder originalBinder)
1991
if ((options &
LookupOptions
.LabelsOnly) == 0)
2007
static void addAliasSymbolToResult(LookupSymbolsInfo result, AliasSymbol aliasSymbol,
LookupOptions
options, Binder originalBinder)
2017
private static void AddMemberLookupSymbolsInfoInNamespace(LookupSymbolsInfo result, NamespaceSymbol ns,
LookupOptions
options, Binder originalBinder)
2029
private static void AddMemberLookupSymbolsInfoWithoutInheritance(LookupSymbolsInfo result, TypeSymbol type,
LookupOptions
options, Binder originalBinder, TypeSymbol accessThroughType)
2041
private void AddWinRTMembersLookupSymbolsInfo(LookupSymbolsInfo result, NamedTypeSymbol type,
LookupOptions
options, Binder originalBinder, TypeSymbol accessThroughType)
2056
private void AddMemberLookupSymbolsInfoInClass(LookupSymbolsInfo result, TypeSymbol type,
LookupOptions
options, Binder originalBinder, TypeSymbol accessThroughType)
2087
private void AddMemberLookupSymbolsInfoInInterface(LookupSymbolsInfo result, TypeSymbol type,
LookupOptions
options, Binder originalBinder, TypeSymbol accessThroughType)
2102
private void AddMemberLookupSymbolsInfoInTypeParameter(LookupSymbolsInfo result, TypeParameterSymbol type,
LookupOptions
options, Binder originalBinder)
Binder\Binder_Operators.cs (28)
591
LookupOptions
.AllMethodsOnArityZero |
LookupOptions
.MustBeOperator |
LookupOptions
.MustBeInstance, this);
606
LookupOptions
.AllMethodsOnArityZero |
LookupOptions
.MustBeOperator |
LookupOptions
.MustNotBeInstance, this);
1849
LookupOptions
.AllMethodsOnArityZero |
LookupOptions
.MustBeOperator |
LookupOptions
.MustNotBeInstance,
1861
LookupOptions
.AllMethodsOnArityZero |
LookupOptions
.MustBeOperator |
LookupOptions
.MustNotBeInstance,
2049
LookupOptions
.AllMethodsOnArityZero |
LookupOptions
.MustBeOperator |
LookupOptions
.MustNotBeInstance, this);
2339
LookupOptions
.AllMethodsOnArityZero |
LookupOptions
.MustBeOperator |
LookupOptions
.MustNotBeInstance, this);
3572
LookupOptions
.AllMethodsOnArityZero |
LookupOptions
.MustBeOperator |
LookupOptions
.MustBeInstance, this);
3587
LookupOptions
.AllMethodsOnArityZero |
LookupOptions
.MustBeOperator |
LookupOptions
.MustNotBeInstance, this);
3647
this.LookupMembersWithFallback(lookupResult, lookupInType, name: checkedName, arity: 0, ref useSiteInfo, basesBeingResolved: null, options:
LookupOptions
.MustBeInstance |
LookupOptions
.MustBeOperator);
3658
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)
201
this.LookupSymbolsInternal(lookupResult, identifierValueText, arity: 0, useSiteInfo: ref discardedUseSiteInfo, basesBeingResolved: null, options:
LookupOptions
.NamespacesOrTypesOnly, diagnose: false);
373
this.LookupSymbolsWithFallback(result, plainName, 0, ref useSiteInfo, null,
LookupOptions
.NamespaceAliasesOnly);
376
Symbol bindingResult = ResultSymbol(result, plainName, 0, node, diagnostics, false, out wasError, qualifierOpt: null, options:
LookupOptions
.NamespaceAliasesOnly);
880
LookupOptions
options = GetSimpleNameLookupOptions(node, node.Identifier.IsVerbatimIdentifier());
1073
private static
LookupOptions
GetSimpleNameLookupOptions(NameSyntax node, bool isVerbatimIdentifier)
1084
return isVerbatimIdentifier ?
LookupOptions
.VerbatimNameAttributeTypeOnly :
LookupOptions
.AttributeTypeOnly;
1088
return
LookupOptions
.NamespacesOrTypesOnly;
1215
LookupOptions
options = GetSimpleNameLookupOptions(node, isVerbatimIdentifier: false);
1274
LookupOptions
options)
1559
LookupOptions
options = (arity == 0) ?
LookupOptions
.AllMethodsOnArityZero :
LookupOptions
.Default;
1562
options |=
LookupOptions
.MustBeInvocableIfMember;
1959
LookupOptions
options = default(
LookupOptions
))
1988
LookupOptions
options)
2593
private CSDiagnosticInfo NotFound(SyntaxNode where, string simpleName, int arity, string whereText, BindingDiagnosticBag diagnostics, string aliasOpt, NamespaceOrTypeSymbol qualifierOpt,
LookupOptions
options)
2607
NotFound(where, simpleName, arity, attributeName, diagnostics, aliasOpt, qualifierOpt, options |
LookupOptions
.VerbatimNameAttributeTypeOnly);
2653
if (options ==
LookupOptions
.NamespaceAliasesOnly)
Binder\ForEachLoopBinder.cs (3)
1400
options:
LookupOptions
.Default,
1693
options:
LookupOptions
.Default, // properties are not invocable - their accessors are
1940
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 (5)
79
LookupOptions
options,
89
internal override void GetCandidateExtensionMembersInSingleBinder(ArrayBuilder<Symbol> members, string? name, string? alternativeName, int arity,
LookupOptions
options, Binder originalBinder)
114
LookupResult result, string name, int arity, ConsList<TypeSymbol> basesBeingResolved,
LookupOptions
options, Binder originalBinder, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
119
if ((options &
LookupOptions
.NamespaceAliasesOnly) == 0)
141
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)
38
LookupOptions
options,
48
LookupResult result, string name, int arity, ConsList<TypeSymbol> basesBeingResolved,
LookupOptions
options, Binder originalBinder, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
55
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)
136
internal static bool AreValid(this
LookupOptions
options)
138
if (options ==
LookupOptions
.Default)
143
if ((options &
LookupOptions
.LabelsOnly) != 0)
145
return options ==
LookupOptions
.LabelsOnly;
149
LookupOptions
mustBeAndNotBeInstance = (
LookupOptions
.MustBeInstance |
LookupOptions
.MustNotBeInstance);
156
if ((options & (
LookupOptions
.MustNotBeNamespace |
LookupOptions
.MustNotBeMethodTypeParameter)) != 0 &&
157
(options & (
LookupOptions
.NamespaceAliasesOnly |
LookupOptions
.NamespacesOrTypesOnly)) != 0)
162
LookupOptions
onlyOptions = options &
163
(
LookupOptions
.NamespaceAliasesOnly
164
|
LookupOptions
.NamespacesOrTypesOnly
165
|
LookupOptions
.AllMethodsOnArityZero);
170
internal static void ThrowIfInvalid(this
LookupOptions
options)
178
private static bool OnlyOneBitSet(
LookupOptions
o)
183
internal static bool CanConsiderMembers(this
LookupOptions
options)
185
return (options & (
LookupOptions
.NamespaceAliasesOnly |
LookupOptions
.NamespacesOrTypesOnly |
LookupOptions
.LabelsOnly)) == 0;
188
internal static bool CanConsiderLocals(this
LookupOptions
options)
190
return (options & (
LookupOptions
.NamespaceAliasesOnly |
LookupOptions
.NamespacesOrTypesOnly |
LookupOptions
.LabelsOnly)) == 0;
193
internal static bool CanConsiderTypes(this
LookupOptions
options)
195
return (options & (
LookupOptions
.NamespaceAliasesOnly |
LookupOptions
.MustBeInvocableIfMember |
LookupOptions
.MustBeInstance |
LookupOptions
.LabelsOnly)) == 0;
198
internal static bool CanConsiderNamespaces(this
LookupOptions
options)
200
return (options & (
LookupOptions
.MustNotBeNamespace |
LookupOptions
.MustBeInvocableIfMember |
LookupOptions
.MustBeInstance |
LookupOptions
.LabelsOnly)) == 0;
203
internal static bool IsAttributeTypeLookup(this
LookupOptions
options)
205
return (options &
LookupOptions
.AttributeTypeOnly) ==
LookupOptions
.AttributeTypeOnly;
208
internal static bool IsVerbatimNameAttributeTypeLookup(this
LookupOptions
options)
210
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 (8)
78
LookupOptions
options,
132
internal override void GetCandidateExtensionMembersInSingleBinder(ArrayBuilder<Symbol> members, string? name, string? alternativeName, int arity,
LookupOptions
options, Binder originalBinder)
176
LookupResult result, string name, int arity, ConsList<TypeSymbol>? basesBeingResolved,
LookupOptions
options, Binder originalBinder, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
242
internal override void AddLookupSymbolsInfoInSingleBinder(LookupSymbolsInfo result,
LookupOptions
options, Binder originalBinder)
245
if ((options &
LookupOptions
.LabelsOnly) == 0)
248
options = (options & ~(
LookupOptions
.NamespaceAliasesOnly |
LookupOptions
.NamespacesOrTypesOnly)) |
LookupOptions
.MustNotBeNamespace;
Compilation\CSharpSemanticModel.cs (29)
1422
var
options = includeExtensions ?
LookupOptions
.IncludeExtensionMembers :
LookupOptions
.Default;
1465
return LookupSymbolsInternal(position, container: null, name: name, options:
LookupOptions
.Default, useBaseReferenceAccessibility: true);
1491
return LookupSymbolsInternal(position, container, name,
LookupOptions
.MustNotBeInstance, useBaseReferenceAccessibility: false);
1517
return LookupSymbolsInternal(position, container, name,
LookupOptions
.NamespacesOrTypesOnly, useBaseReferenceAccessibility: false);
1538
return LookupSymbolsInternal(position, container: null, name: name, options:
LookupOptions
.LabelsOnly, useBaseReferenceAccessibility: false);
1565
LookupOptions
options,
1568
Debug.Assert((options &
LookupOptions
.UseBaseReferenceAccessibility) == 0, "Use the useBaseReferenceAccessibility parameter.");
1571
options |=
LookupOptions
.UseBaseReferenceAccessibility;
1582
options &= ~
LookupOptions
.IncludeExtensionMembers;
1613
(options & (
LookupOptions
.NamespaceAliasesOnly |
LookupOptions
.NamespacesOrTypesOnly |
LookupOptions
.LabelsOnly)) == 0)
1623
options |=
LookupOptions
.MustNotBeMethodTypeParameter;
1658
if ((options &
LookupOptions
.IncludeExtensionMembers) != 0 && container is TypeSymbol receiverType)
1662
options |=
LookupOptions
.AllMethodsOnArityZero;
1663
options &= ~
LookupOptions
.MustBeInstance;
1664
Debug.Assert((options &
LookupOptions
.NamespacesOrTypesOnly) == 0);
1665
Debug.Assert((options &
LookupOptions
.NamespaceAliasesOnly) == 0);
1666
Debug.Assert((options &
LookupOptions
.LabelsOnly) == 0);
1701
private void AppendSymbolsWithName(ArrayBuilder<ISymbol> results, string name, Binder binder, NamespaceOrTypeSymbol container,
LookupOptions
options, LookupSymbolsInfo info)
1740
LookupOptions
options)
1745
Debug.Assert((options &
LookupOptions
.AllMethodsOnArityZero) == 0);
1756
options: options & ~
LookupOptions
.IncludeExtensionMembers,
4114
AppendSymbolsWithNameAndArity(symbols, WellKnownMemberNames.Indexer, 0, binder, type,
LookupOptions
.MustBeInstance);
4633
LookupOptions
options;
4637
options =
LookupOptions
.AllMethodsOnArityZero;
4642
options =
LookupOptions
.Default;
Symbols\MergedNamespaceSymbol.cs (2)
293
internal override void GetExtensionMethods(ArrayBuilder<MethodSymbol> methods, string name, int arity,
LookupOptions
options)
304
internal sealed override void GetExtensionMembers(ArrayBuilder<Symbol> members, string? name, string? alternativeName, int arity,
LookupOptions
options, ConsList<FieldSymbol> fieldsBeingBound)
Symbols\NamedTypeSymbol.cs (17)
351
internal void GetExtensionMethods(ArrayBuilder<MethodSymbol> methods, string nameOpt, int arity,
LookupOptions
options)
360
internal void DoGetExtensionMethods(ArrayBuilder<MethodSymbol> methods, string nameOpt, int arity,
LookupOptions
options)
372
((options &
LookupOptions
.AllMethodsOnArityZero) != 0 || arity == method.Arity))
407
internal void GetExtensionMembers(ArrayBuilder<Symbol> members, string? name, string? alternativeName, int arity,
LookupOptions
options, ConsList<FieldSymbol> fieldsBeingBound)
409
Debug.Assert((options & ~(
LookupOptions
.IncludeExtensionMembers |
LookupOptions
.AllMethodsOnArityZero
410
|
LookupOptions
.MustBeInstance |
LookupOptions
.MustNotBeInstance |
LookupOptions
.MustBeInvocableIfMember
411
|
LookupOptions
.MustBeOperator |
LookupOptions
.MustNotBeMethodTypeParameter)) == 0);
446
static bool extensionMemberMatches(Symbol member, string? name, string? alternativeName, int arity,
LookupOptions
options, ConsList<FieldSymbol> fieldsBeingBound)
448
if ((options &
LookupOptions
.MustBeInstance) != 0 && member.IsStatic)
453
if ((options &
LookupOptions
.MustNotBeInstance) != 0 && !member.IsStatic)
458
if ((options &
LookupOptions
.MustBeOperator) != 0 && member is not MethodSymbol { MethodKind: MethodKind.UserDefinedOperator })
463
if ((options &
LookupOptions
.AllMethodsOnArityZero) == 0
479
if ((options &
LookupOptions
.MustBeInvocableIfMember) != 0
Symbols\NamespaceSymbol.cs (2)
339
internal virtual void GetExtensionMethods(ArrayBuilder<MethodSymbol> methods, string nameOpt, int arity,
LookupOptions
options)
362
internal virtual void GetExtensionMembers(ArrayBuilder<Symbol> members, string? name, string? alternativeName, int arity,
LookupOptions
options, ConsList<FieldSymbol> fieldsBeingBound)
Symbols\Retargeting\RetargetingNamespaceSymbol.cs (1)
234
internal override void GetExtensionMethods(ArrayBuilder<MethodSymbol> methods, string nameOpt, int arity,
LookupOptions
options)
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.GetExtensionMethods(sourceMethods, null, 0,
LookupOptions
.AllMethodsOnArityZero);
55
retargetingNamespace.GetExtensionMethods(retargetingMethods, null, 0,
LookupOptions
.AllMethodsOnArityZero);
66
sourceNamespace.GetExtensionMethods(sourceMethods, "E", 2,
LookupOptions
.Default);
72
retargetingNamespace.GetExtensionMethods(retargetingMethods, "E", 2,
LookupOptions
.Default);
Microsoft.CodeAnalysis.CSharp.Test.Utilities (1)
Extensions.cs (1)
925
LookupOptions
options,