Binder\Binder_Deconstruct.cs (6)
46.CheckFeatureAvailability(diagnostics, Compilation, node.Location);
55.CheckFeatureAvailability(diagnostics, Compilation, node.Location);
329GenerateImplicitConversionError(diagnostics, Compilation, single.Syntax, nestedConversion, tupleOrDeconstructedTypes[i], single.Type);
537compilation: Compilation,
580bool disallowInferredNames = this.Compilation.LanguageVersion.DisallowInferredTupleElementNames();
585tupleNames, this.Compilation,
Binder\Binder_Expressions.cs (60)
227return new ExtendedErrorTypeSymbol(this.Compilation, name, arity: 0, errorInfo: null, unreported: false);
319SymbolDistinguisher distinguisher = new SymbolDistinguisher(this.Compilation, trueSymbol, falseSymbol);
974bool disallowInferredNames = this.Compilation.LanguageVersion.DisallowInferredTupleElementNames();
983Compilation,
1062bool disallowInferredNames = this.Compilation.LanguageVersion.DisallowInferredTupleElementNames();
1065this.Compilation, syntax: node, diagnostics: diagnostics, shouldCheckConstraints: true,
1070NamedTypeSymbol.VerifyTupleTypePresent(elements.Length, node, this.Compilation, diagnostics);
1220TypeSymbol typedReferenceType = this.Compilation.GetSpecialType(SpecialType.System_TypedReference);
1268TypeSymbol typedReferenceType = this.Compilation.GetSpecialType(SpecialType.System_TypedReference);
1429bool typeHasErrors = type.IsErrorType() || CheckManagedAddr(Compilation, type, node.Location, diagnostics);
1445diagnostics.Add(ErrorCode.WRN_FieldIsAmbiguous, node, Compilation.LanguageVersion.ToDisplayString());
1966this.Compilation, name: "var", arity: 0, errorInfo: null, variableUsedBeforeDeclaration: true);
2029this.Compilation, name: "var", arity: 0, errorInfo: null, variableUsedBeforeDeclaration: true);
2045this.Compilation, name: "var", arity: 0, errorInfo: null, variableUsedBeforeDeclaration: true);
2330TypeSymbol hostObjectType = Compilation.GetHostObjectTypeSymbol();
2764SymbolDistinguisher distinguisher1 = new SymbolDistinguisher(this.Compilation, operand.Type, targetType);
2839SymbolDistinguisher distinguisher = new SymbolDistinguisher(this.Compilation, operand.Type, targetType);
3013if (Compilation.FeatureStrictEnabled || !isDelegateCreation)
3331if (!hadLangVersionError && !Compilation.LanguageVersion.AllowNonTrailingNamedArguments())
3407if (!Compilation.IsFeatureEnabled(MessageID.IDS_FeatureRefReadonlyParameters))
4084var arrayType = ArrayTypeSymbol.CreateCSharpArray(Compilation.Assembly, TypeWithAnnotations.Create(bestType), rank);
4106CheckManagedAddr(Compilation, bestType, node.Location, diagnostics, errorForManaged: true);
4318this.Compilation.CreateArrayTypeSymbol(GetSpecialType(SpecialType.System_Object, diagnostics, node)),
4464hasErrors = hasErrors || CheckManagedAddr(Compilation, elementType.Type, elementTypeSyntax.Location, diagnostics, errorForManaged: true);
4526if (requiredVersion > Compilation.LanguageVersion)
6259initializerType.ContainingModule != Compilation.SourceModule)
6605Debug.Assert((object)this.Compilation.Assembly != null);
6606return IsSymbolAccessibleConditional(constructor, this.Compilation.Assembly, ref useSiteInfo);
6953SymbolDistinguisher distinguisher = new SymbolDistinguisher(this.Compilation, coClassType, interfaceType);
7575type: Compilation.DynamicType,
7875Compilation.LanguageVersion < MessageID.IDS_FeatureNullableReferenceTypes.RequiredVersion())
8102TypeSymbol.Equals(namedType, Compilation.GetWellKnownType(WellKnownType.Windows_Foundation_IAsyncAction), TypeCompareKind.ConsiderEverything2) ||
8103TypeSymbol.Equals(namedType, Compilation.GetWellKnownType(WellKnownType.Windows_Foundation_IAsyncActionWithProgress_T), TypeCompareKind.ConsiderEverything2) ||
8104TypeSymbol.Equals(namedType, Compilation.GetWellKnownType(WellKnownType.Windows_Foundation_IAsyncOperation_T), TypeCompareKind.ConsiderEverything2) ||
8105TypeSymbol.Equals(namedType, Compilation.GetWellKnownType(WellKnownType.Windows_Foundation_IAsyncOperationWithProgress_T2), TypeCompareKind.ConsiderEverything2);
8375if ((object)methodGroup.Methods[i].ReduceExtensionMethod(left.Type, this.Compilation) == null)
8604if ((object)Compilation.SourceModule != fieldSymbol.OriginalDefinition.ContainingModule &&
8608if (!Compilation.Assembly.RuntimeSupportsByRefFields)
8710if (!Compilation.Assembly.RuntimeSupportsStaticAbstractMembersInInterfaces && Compilation.SourceModule != symbol.ContainingModule)
8722else if (!Compilation.Assembly.RuntimeSupportsDefaultInterfaceImplementation && Compilation.SourceModule != symbol.ContainingModule)
9181if (!Compilation.Assembly.RuntimeSupportsInlineArrayTypes)
9194resultType = Compilation.GetWellKnownType(
9217int? constIndex = InferConstantIndexFromSystemIndex(Compilation, convertedIndex, length, out location);
9905TypeSymbol.Equals(argType, Compilation.GetWellKnownType(WellKnownType.System_Index), TypeCompareKind.ConsiderEverything) ? ThreeState.True :
9906TypeSymbol.Equals(argType, Compilation.GetWellKnownType(WellKnownType.System_Range), TypeCompareKind.ConsiderEverything) ? ThreeState.False :
10038var intPlaceholder = new BoundImplicitIndexerValuePlaceholder(syntax, Compilation.GetSpecialType(SpecialType.System_Int32)) { WasCompilerGenerated = true };
10109var startArgumentPlaceholder = new BoundImplicitIndexerValuePlaceholder(syntax, Compilation.GetSpecialType(SpecialType.System_Int32)) { WasCompilerGenerated = true };
10110var lengthArgumentPlaceholder = new BoundImplicitIndexerValuePlaceholder(syntax, Compilation.GetSpecialType(SpecialType.System_Int32)) { WasCompilerGenerated = true };
10528if (m.ReduceExtensionMethod(receiver.Type, Compilation) is { } reduced)
10617if (Compilation.LanguageVersion < LanguageVersion.CSharp13)
10697var reduced = substituted.ReduceExtensionMethod(receiver.Type, Compilation, out bool wasFullyInferred);
10776new ConstraintsHelper.CheckConstraintsArgs(this.Compilation, this.Conversions, includeNullability: false, location: NoLocation.Singleton, diagnostics: null),
10848var delegateType = Compilation.GetWellKnownType(wkDelegateType);
10853if (checkConstraints(Compilation, Conversions, delegateType, typeArguments))
10879return Compilation.AnonymousTypeManager.ConstructAnonymousDelegateSymbol(typeDescr);
10993resultIsUsed = (((SimpleLambdaExpressionSyntax)parent).Body != node) || MethodOrLambdaRequiresValue(ContainingMemberOrLambda, Compilation);
10997resultIsUsed = (((ParenthesizedLambdaExpressionSyntax)parent).Body != node) || MethodOrLambdaRequiresValue(ContainingMemberOrLambda, Compilation);
11001resultIsUsed = (((ArrowExpressionClauseSyntax)parent).Expression != node) || MethodOrLambdaRequiresValue(ContainingMemberOrLambda, Compilation);
Binder\Binder_Invocation.cs (18)
384CheckRestrictedTypeReceiver(result, this.Compilation, diagnostics);
491type: Compilation.DynamicType,
503if (!Compilation.LanguageVersion.AllowNonTrailingNamedArguments())
998(typeArgumentsOpt.IsDefault || ((MethodSymbol)(object)result.Member).CheckConstraints(new ConstraintsHelper.CheckConstraintsArgs(this.Compilation, this.Conversions, includeNullability: false, syntax.Location, candidateDiagnostics))))
1393if (GetWellKnownTypeMember(Compilation, WellKnownMember.System_Runtime_InteropServices_UnknownWrapper__ctor, diagnostics, syntax: syntax) is MethodSymbol methodSymbol)
1402if (GetWellKnownTypeMember(Compilation, WellKnownMember.System_Runtime_InteropServices_DispatchWrapper__ctor, diagnostics, syntax: syntax) is MethodSymbol methodSymbol)
1411if (GetWellKnownTypeMember(Compilation, WellKnownMember.System_Type__Missing, diagnostics, syntax: syntax) is FieldSymbol fieldSymbol)
1628defaultValue = new BoundLiteral(syntax, ConstantValue.Create(line), Compilation.GetSpecialType(SpecialType.System_Int32)) { WasCompilerGenerated = true };
1632string path = callerSourceLocation.SourceTree.GetDisplayPath(callerSourceLocation.SourceSpan, Compilation.Options.SourceReferenceResolver);
1633defaultValue = new BoundLiteral(syntax, ConstantValue.Create(path), Compilation.GetSpecialType(SpecialType.System_String)) { WasCompilerGenerated = true };
1638defaultValue = new BoundLiteral(syntax, ConstantValue.Create(memberName), Compilation.GetSpecialType(SpecialType.System_String)) { WasCompilerGenerated = true };
1642&& Conversions.ClassifyBuiltInConversion(Compilation.GetSpecialType(SpecialType.System_String), parameterType, isChecked: false, ref discardedUseSiteInfo).Exists
1647defaultValue = new BoundLiteral(syntax, ConstantValue.Create(argument.Syntax.ToString()), Compilation.GetSpecialType(SpecialType.System_String)) { WasCompilerGenerated = true };
1669TypeSymbol constantType = Compilation.GetSpecialType(defaultConstantValue.SpecialType);
1736if (Compilation.SourceModule != paramsParameter.ContainingModule)
1942var returnType = GetCommonTypeOrReturnType(methods) ?? new ExtendedErrorTypeSymbol(this.Compilation, string.Empty, arity: 0, errorInfo: null);
2172TypeSymbol returnType = new ExtendedErrorTypeSymbol(this.Compilation, string.Empty, arity: 0, errorInfo: null);
2247return new BoundNameOfOperator(node, boundArgument, ConstantValue.Create(name), Compilation.GetSpecialType(SpecialType.System_String));
Binder\Binder_Lookup.cs (28)
262bool isSubmissionTree = Compilation.IsSubmissionSyntaxTree(declarationSyntax.SyntaxTree);
265for (CSharpCompilation submission = Compilation; submission != null; submission = submission.PreviousSubmission)
269var isCurrentSubmission = submission == Compilation;
283submissionImports = ((SourceNamespaceSymbol)Compilation.SourceModule.GlobalNamespace).GetImports(declarationSyntax, basesBeingResolved);
317submissionImports = Imports.ExpandPreviousSubmissionImports(submissionImports, Compilation);
393Compilation.MarkImportDirectiveAsUsed(directive);
714if (Compilation.IsEqualOrDerivedFromWellKnownClass(namedType, WellKnownType.System_Attribute, ref useSiteInfo))
840var error = new ExtendedErrorTypeSymbol(this.Compilation, name, arity, diagInfo, unreported: true);
852currentType = currentType.GetNextBaseTypeNoUseSiteDiagnostics(basesBeingResolved, this.Compilation, ref visited);
959idictSymbol = Compilation.GetWellKnownType(WellKnownType.System_Collections_Generic_IDictionary_KV);
960iroDictSymbol = Compilation.GetWellKnownType(WellKnownType.System_Collections_Generic_IReadOnlyDictionary_KV);
961iListSymbol = Compilation.GetWellKnownType(WellKnownType.System_Collections_IList);
962iCollectionSymbol = Compilation.GetWellKnownType(WellKnownType.System_Collections_ICollection);
963inccSymbol = Compilation.GetWellKnownType(WellKnownType.System_Collections_Specialized_INotifyCollectionChanged);
964inpcSymbol = Compilation.GetWellKnownType(WellKnownType.System_ComponentModel_INotifyPropertyChanged);
1161this.LookupMembersInClass(tmp, this.Compilation.GetSpecialType(SpecialType.System_Object), name, arity, basesBeingResolved, options, originalBinder, type, diagnose, ref useSiteInfo);
1253if (!IsDerivedType(baseType: hiddenContainer, derivedType: hidingSym.ContainingType, basesBeingResolved, this.Compilation, useSiteInfo: ref useSiteInfo) &&
1350if ((object)symbol.DeclaringCompilation != this.Compilation
1407else if (!this.Compilation.SourceModule.Equals(unwrappedSymbol.ContainingModule) && unwrappedSymbol.IsHiddenByCodeAnalysisEmbeddedAttribute())
1462diagInfo = new CSDiagnosticInfo(ErrorCode.ERR_FriendRefNotEqualToThis, unwrappedSymbol.ContainingAssembly.Identity.ToString(), AssemblyIdentity.PublicKeyToString(this.Compilation.Assembly.PublicKey));
1510var assemblyName = this.Compilation.AssemblyName;
1521ImmutableArray<byte> publicKey = this.Compilation.Assembly.PublicKey;
1647return !IsEffectivelyPrivate(symbol) || symbol.ContainingAssembly == this.Compilation.Assembly;
1891for (CSharpCompilation submission = Compilation; submission != null; submission = submission.PreviousSubmission)
1898bool isCurrentSubmission = submission == Compilation;
1906submissionImports = Imports.ExpandPreviousSubmissionImports(submissionImports, Compilation);
2012type = type.GetNextBaseTypeNoUseSiteDiagnostics(null, this.Compilation, ref visited);
2029this.AddMemberLookupSymbolsInfoInClass(result, Compilation.GetSpecialType(SpecialType.System_Object), options, originalBinder, accessThroughType);
Binder\Binder_Operators.cs (14)
64var finalDynamicConversion = this.Compilation.Conversions.ClassifyConversionFromExpression(placeholder, left.Type, isChecked: CheckOverflowAtRuntime, ref useSiteInfo);
77Compilation.DynamicType),
292if (!eventSymbol.OriginalDefinition.IsFromCompilation(this.Compilation))
419type: Compilation.DynamicType,
882return type is NamedTypeSymbol namedType && Compilation.IsReadOnlySpanType(namedType) &&
1066var booleanType = Compilation.GetSpecialType(SpecialType.System_Boolean);
1379operatorMethod.ContainingModule != Compilation.SourceModule)
2394if (Compilation.SourceModule != methodOpt.ContainingModule)
2398if (!Compilation.Assembly.RuntimeSupportsStaticAbstractMembersInInterfaces)
2422if (Compilation.SourceModule != methodOpt.ContainingModule)
2540hasErrors = CheckManagedAddr(Compilation, operandType, managedKind, node.Location, diagnostics);
3826bool hasErrors = ReportAsOperatorConversionDiagnostics(node, diagnostics, this.Compilation, operandType, targetType, conversion.Kind, operand.ConstantValueOpt);
4436if (Compilation.Assembly.RuntimeSupportsNumericIntPtr)
4452if (Compilation.Assembly.RuntimeSupportsNumericIntPtr)
Binder\Binder_Patterns.cs (17)
59this.Compilation, pattern.Syntax, expression, innerPattern, whenTrueLabel: whenTrueLabel, whenFalseLabel: whenFalseLabel, diagnostics);
363hasErrors |= !TryGetSpecialTypeMember(Compilation, SpecialMember.System_Array__Length, node, diagnostics, out PropertySymbol lengthProperty);
632if (Compilation.LanguageVersion < requiredVersion && !patternExpressionConversion.IsImplicit)
654if (MessageID.IDS_FeatureSpanCharConstantPattern.CheckFeatureAvailability(diagnostics, Compilation, node.Location))
774if (requiredVersion > Compilation.LanguageVersion)
778Compilation.LanguageVersion.ToDisplayString(),
1114var objectType = Compilation.GetSpecialType(SpecialType.System_Object);
1141var objectType = Compilation.GetSpecialType(SpecialType.System_Object);
1246if (Compilation.LanguageVersion < MessageID.IDS_FeatureRecursivePatterns.RequiredVersion())
1251iTupleType = Compilation.GetWellKnownType(WellKnownType.System_Runtime_CompilerServices_ITuple);
1260if (declType != (object)Compilation.GetSpecialType(SpecialType.System_Object) &&
1261declType != (object)Compilation.DynamicType &&
1269iTupleGetLength = (MethodSymbol?)Compilation.GetWellKnownTypeMember(WellKnownMember.System_Runtime_CompilerServices_ITuple__get_Length);
1270iTupleGetItem = (MethodSymbol?)Compilation.GetWellKnownTypeMember(WellKnownMember.System_Runtime_CompilerServices_ITuple__get_Item);
1287var result = Compilation.Conversions.ClassifyBuiltInConversion(type, possibleBaseInterface, isChecked: CheckOverflowAtRuntime, ref useSiteInfo).IsImplicit;
1324|| (inputType.IsPointerType() && Compilation.LanguageVersion < MessageID.IDS_FeatureRecursivePatterns.RequiredVersion()))
1357var declType = TypeWithState.ForType(inputType).ToTypeWithAnnotations(Compilation);
Binder\Binder_Statements.cs (18)
174if (!this.Compilation.Options.AllowUnsafe)
270else if (InUnsafeRegion && Compilation.IsFeatureEnabled(MessageID.IDS_FeatureRefUnsafeInIteratorAsync))
396if (Compilation.LanguageVersion < MessageID.IDS_FeatureSwitchExpression.RequiredVersion())
413if ((object)type == null || !type.IsErrorType() && !Compilation.IsExceptionType(type.EffectiveType(ref useSiteInfo), ref useSiteInfo))
639return method.ReturnsVoid || method.IsIterator || method.IsAsyncEffectivelyReturningTask(this.Compilation);
1310if (CheckManagedAddr(Compilation, elementType, initializerSyntax.Location, diagnostics))
1375GenerateImplicitConversionError(diagnostics, this.Compilation, initializerSyntax, elementConversionClassification, pointerType, declType);
2017var reason = Conversions.IsAnonymousFunctionCompatibleWithType(anonymousFunction, targetType, this.Compilation);
2187SymbolDistinguisher distinguisher = new SymbolDistinguisher(this.Compilation, lambdaParameterType, delegateParameterType);
2433GenerateImplicitConversionError(diagnostics, this.Compilation, syntax, conversion, sourceType, targetType, operand.ConstantValueOpt);
2942return symbol?.Kind == SymbolKind.Method && ((MethodSymbol)symbol).IsAsyncEffectivelyReturningTask(this.Compilation);
2948return symbol?.Kind == SymbolKind.Method && ((MethodSymbol)symbol).IsAsyncEffectivelyReturningGenericTask(this.Compilation);
2957return method.IsAsyncReturningIAsyncEnumerable(this.Compilation) ||
2958method.IsAsyncReturningIAsyncEnumerator(this.Compilation);
3257if (!Compilation.IsExceptionType(effectiveType, ref useSiteInfo))
3310else if (TypeSymbol.Equals(previousType, Compilation.GetWellKnownType(WellKnownType.System_Exception), TypeCompareKind.ConsiderEverything2) &&
3311Compilation.SourceAssembly.RuntimeCompatibilityWrapNonExceptionThrows)
3781initializerInvocation = BindImplicitConstructorInitializer((MethodSymbol)this.ContainingMember(), diagnostics, Compilation);
Binder\Binder_Symbols.cs (37)
350return symbol.ContainingNamespaceOrType() ?? this.Compilation.Assembly.GlobalNamespace;
357return this.Compilation.GlobalNamespaceAlias;
544TypeWithAnnotations constructedType = typeArgument.SetIsAnnotated(Compilation);
550diagnostics.Add(new LazyUseSiteDiagnosticsInfoForNullableType(Compilation.LanguageVersion, constructedType), syntax.GetLocation());
557type.CheckConstraints(new ConstraintsHelper.CheckConstraintsArgs(this.Compilation, this.Conversions, includeNullability: true, location, diagnostics));
559else if (GetNullableUnconstrainedTypeParameterDiagnosticIfNecessary(Compilation.LanguageVersion, constructedType) is { } diagnosticInfo)
598CheckManagedAddr(Compilation, elementType.Type, node.Location, diagnostics);
669var array = ArrayTypeSymbol.CreateCSharpArray(this.Compilation.Assembly, type, rankSpecifier.Rank);
722ReportMissingTupleElementNamesAttributesIfNeeded(Compilation, syntax.GetLocation(), diagnostics);
733bool includeNullability = Compilation.IsFeatureEnabled(MessageID.IDS_FeatureNullableReferenceTypes);
740this.Compilation,
834return TypeWithAnnotations.Create(new ExtendedErrorTypeSymbol(qualifierOpt ?? this.Compilation.Assembly.GlobalNamespace, string.Empty, arity: 0, errorInfo: null));
861Compilation.Assembly.GlobalNamespace, identifierValueText, 0,
889bindingResult = Compilation.DynamicType;
931if (Compilation.LanguageVersion < MessageID.IDS_FeatureDynamic.RequiredVersion())
1043if (!Compilation.HasDynamicEmitAttributes(bag, node.Location))
1331return new ExtendedErrorTypeSymbol(this.Compilation, name, arity, diagnosticInfo, unreported: false);
1358var binder = !Compilation.IsFeatureEnabled(MessageID.IDS_FeatureUsingTypeAlias)
1529if (method.ReduceExtensionMethod(receiverType, Compilation) is not null)
1563bool includeNullability = Compilation.IsFeatureEnabled(MessageID.IDS_FeatureNullableReferenceTypes);
1564type.CheckConstraintsForNamedType(new ConstraintsHelper.CheckConstraintsArgs(this.Compilation, this.Conversions, includeNullability, typeSyntax.Location, diagnostics),
1633return GetSpecialType(this.Compilation, typeId, node, diagnostics);
1658return GetSpecialTypeMember(this.Compilation, member, diagnostics, syntax);
1761return GetWellKnownType(this.Compilation, type, diagnostics, location);
1787NamedTypeSymbol typeSymbol = this.Compilation.GetWellKnownType(type);
1795return GetWellKnownTypeMember(Compilation, member, diagnostics, location, syntax, isOptional);
1904if (container is object && container != Compilation.Assembly && container != Compilation.Assembly.CorLibrary)
2129if (ns.ContainingAssembly == Compilation.Assembly)
2141Debug.Assert(arg2.ContainingAssembly == Compilation.Assembly);
2184Compilation.IsAttributeType((NamedTypeSymbol)first) &&
2185Compilation.IsAttributeType((NamedTypeSymbol)second))
2243((SourceModuleSymbol)this.Compilation.SourceModule).AnyReferencedAssembliesAreLinked)
2298return new ExtendedErrorTypeSymbol(qualifierOpt ?? Compilation.Assembly.GlobalNamespace, simpleName, arity, info);
2460var compilation = this.Compilation;
2562if (ReferenceEquals(qualifierOpt, Compilation.GlobalNamespace))
2619Compilation.Assembly.Modules[0].GetReferencedAssemblySymbols())
Binder\ForEachLoopBinder.cs (16)
242messageId.CheckFeatureAvailability(diagnostics, Compilation, collectionExpr.Syntax.Location);
489SymbolDistinguisher distinguisher = new SymbolDistinguisher(this.Compilation, inferredType.Type, iterationVariableType.Type);
570IsIEnumerableT(builder.CollectionType.OriginalDefinition, IsAsync, Compilation) ||
1060this.Compilation.GetWellKnownType(WellKnownType.System_Collections_Generic_IAsyncEnumerable_T) :
1061this.Compilation.GetSpecialType(SpecialType.System_Collections_Generic_IEnumerable_T));
1084getEnumeratorMethod = (MethodSymbol)GetWellKnownTypeMember(Compilation, WellKnownMember.System_Collections_Generic_IAsyncEnumerable_T__GetAsyncEnumerator,
1120Debug.Assert(enumeratorType.OriginalDefinition.Equals(Compilation.GetWellKnownType(WellKnownType.System_Collections_Generic_IAsyncEnumerator_T)));
1130currentPropertyGetter = (MethodSymbol)GetWellKnownTypeMember(Compilation, WellKnownMember.System_Collections_Generic_IAsyncEnumerator_T__get_Current, diagnostics, errorLocationSyntax.Location, isOptional: false);
1259NamedTypeSymbol targetInterface = isAsync ? this.Compilation.GetWellKnownType(WellKnownType.System_IAsyncDisposable) : this.Compilation.GetSpecialType(SpecialType.System_IDisposable);
1269enumeratorType.ContainingModule != Compilation.SourceModule)
1305TypeSymbol.Equals(builder.GetEnumeratorInfo.Method.ReturnType, this.Compilation.GetSpecialType(SpecialType.System_Collections_IEnumerator), TypeCompareKind.ConsiderEverything2));
1735return type.OriginalDefinition.Equals(Compilation.GetWellKnownType(WellKnownType.System_Collections_Generic_IAsyncEnumerable_T));
1758NamedTypeSymbol implementedIEnumerable = GetIEnumerableOfT(type, isAsync, Compilation, ref useSiteInfo, out foundMultiple, out bool needSupportForRefStructInterfaces);
1767var implementedNonGeneric = this.Compilation.GetSpecialType(SpecialType.System_Collections_IEnumerable);
1776if (implementedIEnumerable is not null && needSupportForRefStructInterfaces && type.ContainingModule != Compilation.SourceModule)