diff --git a/src/Compilers/CSharp/Portable/Binder/LookupOptions.cs b/src/Compilers/CSharp/Portable/Binder/LookupOptions.cs
index f2ef9c1fb49fa..9c2ff89185f0d 100644
--- a/src/Compilers/CSharp/Portable/Binder/LookupOptions.cs
+++ b/src/Compilers/CSharp/Portable/Binder/LookupOptions.cs
@@ -74,11 +74,6 @@ internal enum LookupOptions
///
UseBaseReferenceAccessibility = 1 << 9,
- ///
- /// Include extension members.
- ///
- IncludeExtensionMembers = 1 << 10,
-
///
/// Consider only attribute types.
///
@@ -115,6 +110,8 @@ internal enum LookupOptions
/// Consider only symbols that are user-defined operators.
///
MustBeOperator = 1 << 17,
+
+ // Available 1 << 10,
}
internal static class LookupOptionExtensions
diff --git a/src/Compilers/CSharp/Portable/Compilation/CSharpSemanticModel.cs b/src/Compilers/CSharp/Portable/Compilation/CSharpSemanticModel.cs
index 7d96896ddd50e..5e6a5d1f8d310 100644
--- a/src/Compilers/CSharp/Portable/Compilation/CSharpSemanticModel.cs
+++ b/src/Compilers/CSharp/Portable/Compilation/CSharpSemanticModel.cs
@@ -1419,8 +1419,7 @@ public ImmutableArray LookupSymbols(
string name = null,
bool includeExtensions = false)
{
- var options = includeExtensions ? LookupOptions.IncludeExtensionMembers : LookupOptions.Default;
- return LookupSymbolsInternal(position, container, name, options, useBaseReferenceAccessibility: false);
+ return LookupSymbolsInternal(position, container, name, LookupOptions.Default, includeExtensionMembers: includeExtensions, useBaseReferenceAccessibility: false);
}
///
@@ -1462,7 +1461,7 @@ public ImmutableArray LookupSymbols(
int position,
string name = null)
{
- return LookupSymbolsInternal(position, container: null, name: name, options: LookupOptions.Default, useBaseReferenceAccessibility: true);
+ return LookupSymbolsInternal(position, container: null, name: name, options: LookupOptions.Default, includeExtensionMembers: false, useBaseReferenceAccessibility: true);
}
///
@@ -1488,7 +1487,7 @@ public ImmutableArray LookupStaticMembers(
NamespaceOrTypeSymbol container = null,
string name = null)
{
- return LookupSymbolsInternal(position, container, name, LookupOptions.MustNotBeInstance, useBaseReferenceAccessibility: false);
+ return LookupSymbolsInternal(position, container, name, LookupOptions.MustNotBeInstance, includeExtensionMembers: false, useBaseReferenceAccessibility: false);
}
///
@@ -1514,7 +1513,7 @@ public ImmutableArray LookupNamespacesAndTypes(
NamespaceOrTypeSymbol container = null,
string name = null)
{
- return LookupSymbolsInternal(position, container, name, LookupOptions.NamespacesOrTypesOnly, useBaseReferenceAccessibility: false);
+ return LookupSymbolsInternal(position, container, name, LookupOptions.NamespacesOrTypesOnly, includeExtensionMembers: false, useBaseReferenceAccessibility: false);
}
///
@@ -1535,7 +1534,7 @@ public ImmutableArray LookupNamespacesAndTypes(
int position,
string name = null)
{
- return LookupSymbolsInternal(position, container: null, name: name, options: LookupOptions.LabelsOnly, useBaseReferenceAccessibility: false);
+ return LookupSymbolsInternal(position, container: null, name: name, options: LookupOptions.LabelsOnly, includeExtensionMembers: false, useBaseReferenceAccessibility: false);
}
///
@@ -1563,6 +1562,7 @@ private ImmutableArray LookupSymbolsInternal(
NamespaceOrTypeSymbol container,
string name,
LookupOptions options,
+ bool includeExtensionMembers,
bool useBaseReferenceAccessibility)
{
Debug.Assert((options & LookupOptions.UseBaseReferenceAccessibility) == 0, "Use the useBaseReferenceAccessibility parameter.");
@@ -1579,7 +1579,7 @@ private ImmutableArray LookupSymbolsInternal(
if ((object)container == null || container.Kind == SymbolKind.Namespace)
{
- options &= ~LookupOptions.IncludeExtensionMembers;
+ includeExtensionMembers = false;
}
var binder = GetEnclosingBinder(position);
@@ -1655,7 +1655,7 @@ private ImmutableArray LookupSymbolsInternal(
info.Free();
- if ((options & LookupOptions.IncludeExtensionMembers) != 0 && container is TypeSymbol receiverType)
+ if (includeExtensionMembers && container is TypeSymbol receiverType)
{
var lookupResult = LookupResult.GetInstance();
@@ -1753,7 +1753,7 @@ private void AppendSymbolsWithNameAndArity(
name,
arity,
basesBeingResolved: null,
- options: options & ~LookupOptions.IncludeExtensionMembers,
+ options: options,
diagnose: false,
useSiteInfo: ref discardedUseSiteInfo);
diff --git a/src/Compilers/CSharp/Portable/Symbols/NamedTypeSymbol.cs b/src/Compilers/CSharp/Portable/Symbols/NamedTypeSymbol.cs
index c532cfd748dd0..7308c33ee858a 100644
--- a/src/Compilers/CSharp/Portable/Symbols/NamedTypeSymbol.cs
+++ b/src/Compilers/CSharp/Portable/Symbols/NamedTypeSymbol.cs
@@ -412,7 +412,7 @@ private static bool IsValidExtensionReceiverParameter(ParameterSymbol thisParam)
/// Does not perform a full viability check
internal void GetExtensionMembers(ArrayBuilder members, string? name, string? alternativeName, int arity, LookupOptions options, ConsList fieldsBeingBound)
{
- Debug.Assert((options & ~(LookupOptions.IncludeExtensionMembers | LookupOptions.AllMethodsOnArityZero
+ Debug.Assert((options & ~(LookupOptions.AllMethodsOnArityZero
| LookupOptions.MustBeInstance | LookupOptions.MustNotBeInstance | LookupOptions.MustBeInvocableIfMember
| LookupOptions.MustBeOperator | LookupOptions.MustNotBeMethodTypeParameter)) == 0);