24 overrides of ContainingType
Microsoft.CodeAnalysis.CSharp (24)
Symbols\AnonymousTypes\SynthesizedSymbols\AnonymousType.FieldSymbol.cs (1)
110public override NamedTypeSymbol ContainingType
Symbols\AnonymousTypes\SynthesizedSymbols\AnonymousType.PropertySymbol.cs (1)
171public override NamedTypeSymbol ContainingType
Symbols\AnonymousTypes\SynthesizedSymbols\AnonymousType.SynthesizedMethodBase.cs (1)
46public override NamedTypeSymbol ContainingType
Symbols\Metadata\PE\PEEventSymbol.cs (1)
225public override NamedTypeSymbol ContainingType
Symbols\Metadata\PE\PEFieldSymbol.cs (1)
170public override NamedTypeSymbol ContainingType
Symbols\Metadata\PE\PEMethodSymbol.cs (1)
446public override NamedTypeSymbol ContainingType => _containingType;
Symbols\Metadata\PE\PEPropertySymbol.cs (1)
406public override NamedTypeSymbol ContainingType
Symbols\NamedTypeSymbol.cs (1)
110public override NamedTypeSymbol ContainingType
Symbols\NamespaceSymbol.cs (1)
90public sealed override NamedTypeSymbol ContainingType
Symbols\Source\SourceEventSymbol.cs (1)
105public override NamedTypeSymbol ContainingType
Symbols\Source\SourceFieldSymbol.cs (1)
106public override NamedTypeSymbol ContainingType
Symbols\Source\SourceMemberMethodSymbol.cs (1)
528public override NamedTypeSymbol ContainingType
Symbols\Source\SourcePropertySymbolBase.cs (1)
534public override NamedTypeSymbol ContainingType
Symbols\SubstitutedFieldSymbol.cs (1)
46public override NamedTypeSymbol ContainingType
Symbols\SubstitutedMethodSymbol.cs (1)
198public override NamedTypeSymbol ContainingType
Symbols\SubstitutedPropertySymbol.cs (1)
47public override NamedTypeSymbol ContainingType
Symbols\Synthesized\Records\SynthesizedPrimaryConstructorParameterBackingFieldSymbol.cs (1)
67public override NamedTypeSymbol ContainingType
Symbols\Synthesized\SynthesizedBackingFieldSymbol.cs (1)
258public override NamedTypeSymbol ContainingType
Symbols\Synthesized\SynthesizedFieldSymbolBase.cs (1)
150public override NamedTypeSymbol ContainingType
Symbols\Synthesized\SynthesizedGlobalMethodSymbol.cs (1)
82public sealed override NamedTypeSymbol ContainingType
Symbols\Synthesized\SynthesizedImplementationMethod.cs (1)
120public sealed override NamedTypeSymbol ContainingType
Symbols\Synthesized\SynthesizedInstanceConstructor.cs (1)
60public sealed override NamedTypeSymbol ContainingType
Symbols\Synthesized\SynthesizedIntrinsicOperatorSymbol.cs (1)
320public override NamedTypeSymbol ContainingType
Symbols\Synthesized\SynthesizedStaticConstructor.cs (1)
30public override NamedTypeSymbol ContainingType
615 references to ContainingType
Microsoft.CodeAnalysis.CSharp (615)
Binder\Binder.cs (1)
432_ => member.ContainingType
Binder\Binder.ValueChecks.cs (21)
108return implementationMethod.AsMember(method.ContainingSymbol.ContainingType). 109ConstructIfGeneric(method.ContainingType.TypeArgumentsWithAnnotationsNoUseSiteDiagnostics.Concat(method.TypeArgumentsWithAnnotations)); 923getItemOrSliceHelper = getItemOrSliceHelper.AsMember(getItemOrSliceHelper.ContainingType.Construct(ImmutableArray.Create(elementAccess.Expression.Type.TryGetInlineArrayElementField().TypeWithAnnotations))); 1183if (RequiresAssignableVariable(valueKind) && !backingField.ContainingType.IsReferenceType && (this.ContainingMemberOrLambda as MethodSymbol)?.IsEffectivelyReadOnly == true) 1424if (fieldSymbol.IsStatic || fieldSymbol.ContainingType.IsReferenceType) 1450? TypeSymbol.Equals(fieldSymbol.ContainingType, containing.ContainingType, TypeCompareKind.AllIgnoreOptions) 1452: TypeSymbol.Equals(fieldSymbol.ContainingType.OriginalDefinition, containing.ContainingType.OriginalDefinition, TypeCompareKind.AllIgnoreOptions))) 1507if (fieldSymbol.IsStatic || fieldSymbol.ContainingType.IsReferenceType) 1529if (fieldSymbol.IsStatic || fieldSymbol.ContainingType.IsReferenceType) 1554if (eventSymbol.IsStatic || eventSymbol.ContainingType.IsReferenceType) 2155var extensionParameter = symbol.ContainingType.ExtensionParameter; 2600return method.ContainingType.IsRefLikeType; 3114if (!_underlyingParameter.ContainingType.IsInterface || _type.IsReferenceType) 3144if (!_underlyingParameter.ContainingType.IsInterface || _type.IsReferenceType) 3513if (eventSymbol.IsStatic || eventSymbol.ContainingType.IsReferenceType) 4226if (fieldSymbol.IsStatic || !fieldSymbol.ContainingType.IsRefLikeType) 4951if (fieldSymbol.IsStatic || !fieldSymbol.ContainingType.IsRefLikeType) 5596this._symbol.ContainingType, 5636_symbol.ContainingType,
Binder\Binder_Await.cs (1)
157if (containingMemberOrLambda.ContainingType.IsScriptClass)
Binder\Binder_Conversions.cs (2)
1069ReportDiagnosticsIfObsolete(diagnostics, collectionBuilderMethod.ContainingType, syntax, hasBaseReceiver: false); 2991return method.ContainingType.ExtensionParameter;
Binder\Binder_Expressions.cs (15)
56var containingType = memberOpt?.ContainingType; 1483var implicitReceiver = field.IsStatic ? null : ThisReference(node, field.ContainingType, wasCompilerGenerated: true); 2305NamedTypeSymbol declaringType = member.ContainingType; 4827NamedTypeSymbol containingType = constructor.ContainingType; 4987NamedTypeSymbol baseType = constructor.ContainingType.BaseTypeNoUseSiteDiagnostics; 5112if (resultMember is null || resultMember.ContainingType.SpecialType != SpecialType.System_Object) 5159return constructor.ContainingType is SourceNamedTypeSymbol sourceType && 6136constructor.ContainingType.HasRequiredMembersError) // An error will be reported on the constructor if from source, or a use-site diagnostic will be reported on the use if from metadata. 6141return constructor.ContainingType.AllRequiredMembers; 6655this.IsSymbolAccessibleConditional(constructor, containingType, ref useSiteInfo, constructor.ContainingType); 8038Debug.Assert(propertySymbol.ContainingType.ExtensionParameter is not null); 8042receiver = CheckAndConvertExtensionReceiver(receiver, propertySymbol.ContainingType.ExtensionParameter, diagnostics); 8899NamedTypeSymbol type = fieldSymbol.ContainingType; 9072if (symbol.ContainingType?.IsInterface == true) 10599return new ErrorPropertySymbol(candidate.ContainingType, propertyType, candidate.Name, candidate.IsIndexer, candidate.IsIndexedProperty);
Binder\Binder_Initializers.cs (3)
147Debug.Assert((ContainingMemberOrLambda is TypeSymbol containing && TypeSymbol.Equals(containing, fieldSymbol.ContainingType, TypeCompareKind.ConsiderEverything2)) || //should be the binder for the type 148fieldSymbol.ContainingType.IsImplicitClass); //however, we also allow fields in namespaces to help support script scenarios 152binder = new WithPrimaryConstructorParametersBinder(fieldSymbol.ContainingType, binder);
Binder\Binder_Invocation.cs (7)
1066if (call.ReceiverOpt.Type.IsRestrictedType() && !call.Method.ContainingType.IsInterface && !TypeSymbol.Equals(call.Method.ContainingType, call.ReceiverOpt.Type, TypeCompareKind.ConsiderEverything2)) 1068SymbolDistinguisher distinguisher = new SymbolDistinguisher(compilation, call.ReceiverOpt.Type, call.Method.ContainingType); 1074SymbolDistinguisher distinguisher = new SymbolDistinguisher(compilation, this.ContainingType, call.Method.ContainingType); 1291receiver = CheckAndConvertExtensionReceiver(receiver, method.ContainingType.ExtensionParameter, diagnostics); 1844TypeSymbol.Equals(containingMethod.ContainingType, method.ContainingType, TypeCompareKind.ConsiderEverything) &&
Binder\Binder_Lookup.cs (2)
1115((options & LookupOptions.NamespacesOrTypesOnly) == 0 || !(current.IsSingleViable && TypeSymbol.Equals(current.SingleSymbolOrDefault.ContainingType, type, TypeCompareKind.AllIgnoreOptions)))) // The nested type will shadow everything from bases 1427symbol = symbol.ContainingType;
Binder\Binder_Operators.cs (8)
1175Debug.Assert(!(signature.Method?.ContainingType?.IsInterface ?? false)); 1295NamedTypeSymbol t = (NamedTypeSymbol)signature.Method.ContainingType; 1306SourceUserDefinedOperatorSymbol.IsSelfConstrainedTypeParameter((definition = signature.Method.OriginalDefinition).ReturnType.StrippedType(), definition.ContainingType)); 1528if (operatorMethod.ContainingType.IsInterface && 2750return typeComparer.Equals(x.ContainingType, y.ContainingType) && 2760int result = typeComparer.GetHashCode(method.ContainingType); 2779if (methodOpt?.ContainingType?.IsInterface == true && methodOpt.IsStatic)
Binder\Binder_Statements.cs (9)
1279((object)fixedPatternMethod == null || fixedPatternMethod.ContainingType.SpecialType != SpecialType.System_String)) 1764new CSDiagnosticInfo(ErrorCode.ERR_BadEventUsage, leastOverridden, leastOverridden.ContainingType) : 1785TypeSymbol.Equals(sourceProperty.ContainingType, fromMember.ContainingType, TypeCompareKind.AllIgnoreOptions) && 1792if (!propertySymbol.IsDefinition && propertySymbol.ContainingType.Equals(propertySymbol.ContainingType.OriginalDefinition, TypeCompareKind.IgnoreNullableModifiersForReferenceTypes)) 3831NamedTypeSymbol containingType = constructor.ContainingType; 3932NamedTypeSymbol baseType = constructor.ContainingType.BaseTypeNoUseSiteDiagnostics; 3961if (!AccessCheck.IsSymbolAccessible(baseConstructor, constructor.ContainingType, ref useSiteInfo)) 3972BoundExpression receiver = new BoundThisReference(syntax, constructor.ContainingType) { WasCompilerGenerated = true };
Binder\Binder_Symbols.cs (1)
1741symbol.MergeUseSiteInfo(ref info, symbol.ContainingType.GetUseSiteInfo());
Binder\BinderFactory.BinderFactoryVisitor.cs (2)
1246nextBinder = new WithExtensionParameterBinder(method.ContainingType, nextBinder); 1285nextBinder = new WithExtensionParameterBinder(property.ContainingType, nextBinder);
Binder\DecisionDagBuilder.cs (2)
330var iTupleType = getLengthProperty.ContainingType; 365while (input.Source is BoundDagTypeEvaluation source && isDerivedType(source.Input.Type, symbol.ContainingType))
Binder\ForEachLoopBinder.cs (2)
252else if (getEnumeratorMethod.GetIsNewExtensionMember() && getEnumeratorMethod.ContainingType.ExtensionParameter.RefKind == RefKind.Ref) // Tracked by https://github.com/dotnet/roslyn/issues/76130: add test coverage for 'ref readonly' and 'in' 1044builder.CollectionType = builder.GetEnumeratorInfo.Method.ContainingType.ExtensionParameter.Type;
Binder\InMethodBinder.cs (2)
337typeParameters = _methodSymbol.ContainingType.TypeParameters.Concat(typeParameters); 339if (_methodSymbol.ContainingType.ExtensionParameter is { Name: not "" } receiver)
Binder\LockBinder.cs (1)
88!TypeSymbol.Equals(scopeType.ContainingType, lockType, TypeCompareKind.ConsiderEverything))
Binder\RefSafetyAnalysis.cs (2)
43var type = symbol.ContainingType; 1115resultType: node.EnumeratorInfoOpt.GetEnumeratorInfo.Method.ContainingType,
Binder\Semantics\AccessCheck.cs (2)
106symbol = symbol.ContainingType; 212return IsMemberAccessible(symbol.ContainingType, symbol.DeclaredAccessibility, within, throughTypeOpt, out failedThroughTypeCheck, compilation, ref useSiteInfo);
Binder\Semantics\Conversions\Conversions.cs (3)
347thisParameter = method.ContainingType.ExtensionParameter; 361else if (method.ContainingType.IsNullableType() && !method.IsOverride) 485if (method.ContainingType.IsNullableType() && !method.IsOverride)
Binder\Semantics\OverloadResolution\MethodTypeInference.cs (1)
3281constructedFromMethod.ContainingType,
Binder\Semantics\OverloadResolution\OverloadResolution.cs (19)
815else if (member.GetIsNewExtensionMember() && member.ContainingType is { } extension && ConstraintsHelper.RequiresChecking(extension)) 906NamedTypeSymbol containingType = member.ContainingType; 1127NamedTypeSymbol memberContainingType = member.ContainingType; 1386checkOverrideContainingType && !moreDerivedOverride.ContainingType.IsDerivedFrom(member.ContainingType, TypeCompareKind.ConsiderEverything, ref useSiteInfo) || 1420if (!member.ContainingType.IsClassType()) 1439NamedTypeSymbol memberContainingType = member.ContainingType; 1894? memberWithPriority.ContainingType.ContainingType 1895: memberWithPriority.ContainingType; 2098ParameterSymbol? extensionParameter = member.ContainingType.ExtensionParameter; 2518if (m1.Member.ContainingType.TypeKind == TypeKind.Submission && m2.Member.ContainingType.TypeKind == TypeKind.Submission) 3896Debug.Assert(member.ContainingType.ExtensionParameter is not null); 3897hasSomeRefKinds |= member.ContainingType.ExtensionParameter.RefKind != RefKind.None; 4381? method.ContainingType.TypeArgumentsWithAnnotationsNoUseSiteDiagnostics.Concat(method.TypeArgumentsWithAnnotations) 4387var result = property.ContainingType.TypeArgumentsWithAnnotationsNoUseSiteDiagnostics; 4419member.ContainingType, 4438if (member.ContainingType.Arity > 0) 4440var extensionTypeArguments = MethodTypeInferrer.InferTypeArgumentsFromReceiverType(member.ContainingType, args[0], _binder.Compilation, _binder.Conversions, ref useSiteInfo);
Binder\Semantics\OverloadResolution\OverloadResolution_ArgsToParameters.cs (1)
62return [symbol.ContainingType.ExtensionParameter.TypeWithAnnotations, .. symbol.GetParameterTypes()];
BoundTree\Constructors.cs (3)
62!fieldSymbol.ContainingType.IsValueType || 254: this(syntax, constructor, ImmutableArray.Create<BoundExpression>(arguments), default(ImmutableArray<string?>), default(ImmutableArray<RefKind>), false, default(ImmutableArray<int>), default(BitVector), null, null, constructor.ContainingType) 258: this(syntax, constructor, arguments, default(ImmutableArray<string?>), default(ImmutableArray<RefKind>), false, default(ImmutableArray<int>), default(BitVector), null, null, constructor.ContainingType)
CodeGen\CodeGenerator_HasHome.cs (1)
245if (!TypeSymbol.Equals(field.ContainingType, containingSymbol.ContainingSymbol as NamedTypeSymbol, TypeCompareKind.AllIgnoreOptions))
CodeGen\EmitConversion.cs (2)
354if (!method.IsStatic && method.IsMetadataVirtual() && !method.ContainingType.IsDelegateType() && !receiver.SuppressVirtualCalls) 361method = method.GetConstructedLeastOverriddenMethod(_method.ContainingType, requireSameReturnType: true);
CodeGen\EmitExpression.cs (13)
179var thisType = _method.ContainingType; 1139Debug.Assert(!field.IsConst || field.ContainingType.SpecialType == SpecialType.System_Decimal, 1645Debug.Assert(TypeSymbol.Equals(method.ContainingType, receiver.Type, TypeCompareKind.ConsiderEverything2)); 1650EmitSymbolToken(method.ContainingType, call.Syntax); 1852NamedTypeSymbol methodContainingType = method.ContainingType; 1953actualMethodTargetedByTheCall = method.GetConstructedLeastOverriddenMethod(_method.ContainingType, requireSameReturnType: true); 1956if (callKind == CallKind.ConstrainedCallVirt && actualMethodTargetedByTheCall.ContainingType.IsValueType) 1973if (IsThisReceiver(receiver) && actualMethodTargetedByTheCall.ContainingType.IsSealed && 2299Debug.Assert(method.ContainingType.IsVerifierValue(), "this is not a value type"); 2312var containingType = method.ContainingType; 2488if (originalDef.ContainingType.Name == NamedTypeSymbol.ValueTupleTypeName && 3714EmitSymbolToken(node.Method.ContainingType, node.Syntax); 3741EmitSymbolToken(node.Field.ContainingType, node.Syntax);
CodeGen\EmitStackAllocInitializer.cs (1)
74var readOnlySpan = spanGetItemDefinition.ContainingType.Construct(elementType);
Compilation\CSharpCompilation.cs (2)
2007if (candidate.IsGenericMethod || candidate.ContainingType.IsGenericType) 3081return IsDefinedOrImplementedInSourceTree(symbol.ContainingType, tree, span);
Compilation\InitializerSemanticModel.cs (2)
279Debug.Assert(MemberSymbol.ContainingType is SourceMemberContainerTypeSymbol); 280return MemberSymbol.ContainingType is SourceMemberContainerTypeSymbol type &&
Compilation\SyntaxTreeSemanticModel.cs (1)
1282outer = outer.GetFieldInitializerBinder(symbol, suppressBinderFlagsFieldInitializer: !this.IsRegularCSharp && symbol.ContainingType.IsScriptClass);
Compiler\ClsComplianceChecker.cs (10)
330CheckParameterCompliance(symbol.Parameters, symbol.ContainingType); 331CheckTypeParameterCompliance(symbol.TypeParameters, symbol.ContainingType); 375CheckParameterCompliance(symbol.Parameters, symbol.ContainingType); 501NamedTypeSymbol containingType = symbol.ContainingType; 545NamedTypeSymbol containingType = symbol.ContainingType; 738System.Diagnostics.Debug.Assert(method.ContainingType.TypeKind == TypeKind.Delegate); 739symbol = method.ContainingType; // Refer to the delegate type in diagnostics. 760if (!IsCompliantType(type, symbol.ContainingType)) 1174Symbol containing = (Symbol)symbol.ContainingType ?? symbol.ContainingAssembly; 1228symbol = symbol.ContainingType;
Compiler\DocumentationCommentCompiler.cs (3)
328var symbolForDocComments = symbol is SynthesizedRecordPropertySymbol ? symbol.ContainingType : symbol; 707symbol = symbol.ContainingType; 1135diagnostics.AddDependencies(symbol as TypeSymbol ?? symbol.ContainingType);
Compiler\MethodBodySynthesizer.cs (6)
37Debug.Assert((object)constructor.ContainingType.BaseTypeNoUseSiteDiagnostics == null || constructor.ContainingType.BaseTypeNoUseSiteDiagnostics.SpecialType == SpecialType.System_Object); 40BoundExpression receiver = new BoundThisReference(syntax, constructor.ContainingType) { WasCompilerGenerated = true }; 96var thisReference = new BoundThisReference(syntax, submissionConstructor.ContainingType) { WasCompilerGenerated = true }; 548method.ContainingType) 595NamedTypeSymbol baseType = method.ContainingType.BaseTypeNoUseSiteDiagnostics;
Compiler\MethodBodySynthesizer.Lowered.cs (3)
384NamedTypeSymbol equalityComparerType = system_Collections_Generic_EqualityComparer_T__GetHashCode.ContainingType; 418NamedTypeSymbol equalityComparerType = equalityComparer_Equals.ContainingType; 465BoundExpression invocation = F.Call(methodToInvoke.IsStatic ? null : (useBaseReference ? (BoundExpression)F.Base(baseType: methodToInvoke.ContainingType) : F.This()),
Compiler\MethodCompiler.cs (12)
242synthesizedEntryPoint = new SynthesizedEntryPointSymbol.AsyncForwardEntryPoint(compilation, entryPoint.ContainingType, entryPoint); 246moduleBeingBuilt.AddSynthesizedDefinition(entryPoint.ContainingType, synthesizedEntryPoint.GetCciAdapter()); 277new TypeCompilationState(synthesizedEntryPoint.ContainingType, compilation, moduleBeingBuilt), 919if (methodSymbol.IsAbstract || methodSymbol.ContainingType?.IsDelegateType() == true) 1045Debug.Assert(!prependedDefaultValueTypeConstructorInitializer || methodSymbol.ContainingType.IsStructType()); 1059((methodSymbol.ContainingType.IsStructType() && !methodSymbol.IsImplicitConstructor) || 1475method.ContainingType, 1518method.ContainingType, 1536method.ContainingType, 2434Debug.Assert(!method.ContainingType.IsDelegateType()); 2459if (ctorCall != null && !ctorCall.HasAnyErrors && ctorCall.Method != method && TypeSymbol.Equals(ctorCall.Method.ContainingType, method.ContainingType, TypeCompareKind.ConsiderEverything2))
DocumentationComments\DocumentationCommentIDVisitor.PartVisitor.cs (5)
68Visit(symbol.ContainingType, builder); 101Visit(symbol.ContainingType, builder); 127Visit(symbol.ContainingType, builder); 141Visit(symbol.ContainingType, builder); 164for (NamedTypeSymbol curr = containingSymbol.ContainingType; (object)curr != null; curr = curr.ContainingType)
Emitter\EditAndContinue\CSharpSymbolMatcher.cs (1)
533var otherType = (NamedTypeSymbol?)Visit(member.ContainingType);
Emitter\Model\EventSymbolAdapter.cs (2)
109return AdaptedEventSymbol.ContainingType.GetCciAdapter(); 129return AdaptedEventSymbol.ContainingType.GetCciAdapter();
Emitter\Model\FieldSymbolAdapter.cs (2)
97return moduleBeingBuilt.Translate(AdaptedFieldSymbol.ContainingType, 276return AdaptedFieldSymbol.ContainingType.GetCciAdapter();
Emitter\Model\MethodSymbolAdapter.cs (8)
58(!AdaptedMethodSymbol.IsGenericMethod || PEModuleBuilder.IsGenericType(AdaptedMethodSymbol.ContainingType))) 60Debug.Assert((object)AdaptedMethodSymbol.ContainingType != null && 61PEModuleBuilder.IsGenericType(AdaptedMethodSymbol.ContainingType)); 84NamedTypeSymbol containingType = AdaptedMethodSymbol.ContainingType; 266NamedTypeSymbol container = AdaptedMethodSymbol.ContainingType; 303return AdaptedMethodSymbol.ContainingType.GetCciAdapter(); 615return this.IsExtern || (object)ContainingType != null && ContainingType.TypeKind == TypeKind.Delegate;
Emitter\Model\NamedTypeSymbolAdapter.cs (2)
389Debug.Assert(body.ContainingType == (object)container); 392if (!interfaces.Contains(implemented.ContainingType, SymbolEqualityComparer.ConsiderEverything))
Emitter\Model\PEModuleBuilder.cs (4)
1183else if (!needDeclaration && IsGenericType(fieldSymbol.ContainingType)) 1249NamedTypeSymbol container = methodSymbol.ContainingType; 1323NamedTypeSymbol container = methodSymbol.ContainingType; 1431IsGenericType(container.ContainingType);
Emitter\Model\PropertySymbolAdapter.cs (2)
223return AdaptedPropertySymbol.ContainingType.GetCciAdapter(); 243return AdaptedPropertySymbol.ContainingType.GetCciAdapter();
Emitter\Model\SpecializedGenericMethodInstanceReference.cs (2)
27Debug.Assert(PEModuleBuilder.IsGenericType(underlyingMethod.ContainingType) && underlyingMethod.ContainingType.IsDefinition);
Emitter\Model\TypeMemberReference.cs (1)
20return moduleBeingBuilt.Translate(UnderlyingSymbol.ContainingType, (CSharpSyntaxNode)context.SyntaxNode, context.Diagnostics);
Emitter\NoPia\EmbeddedTypesManager.cs (3)
453var containerKind = field.AdaptedFieldSymbol.ContainingType.TypeKind; 460ReportNotEmbeddableSymbol(ErrorCode.ERR_InteropStructContainsMethods, field.AdaptedFieldSymbol.ContainingType, syntaxNodeOpt, diagnostics, this); 614NamedTypeSymbol namedType = member.AdaptedSymbol.ContainingType;
FlowAnalysis\AbstractFlowPass.cs (1)
2242fieldSymbol.ContainingType.TypeKind == TypeKind.Struct &&
FlowAnalysis\DefiniteAssignment.cs (5)
102&& CurrentSymbol is MethodSymbol { MethodKind: MethodKind.Constructor, ContainingType.TypeKind: TypeKind.Struct }; 1258Debug.Assert(CurrentSymbol is MethodSymbol { MethodKind: MethodKind.Constructor, ContainingType.TypeKind: TypeKind.Struct }); 1262NamedTypeSymbol containingType = thisParameter.ContainingType; 1311if (CurrentSymbol is not MethodSymbol { MethodKind: MethodKind.Constructor, ContainingType.TypeKind: TypeKind.Struct }) 1492if (fieldSymbol.ContainingType.IsReferenceType || fieldSymbol.IsStatic) return null;
FlowAnalysis\FlowAnalysisPass.cs (1)
114NamedTypeSymbol containingType = method.ContainingType;
FlowAnalysis\LocalDataFlowPass.cs (2)
165TypeSymbol containingType = symbol.ContainingType; 172while (!TypeSymbol.Equals(containingType, symbol.ContainingType, TypeCompareKind.ConsiderEverything))
FlowAnalysis\NullableWalker.cs (38)
663? method.ContainingType.GetMembersUnordered().SelectManyAsArray( 673foreach (var member in method.ContainingType.GetMembersUnordered()) 688if (chainedConstructorEnforcesRequiredMembers && !constructorEnforcesRequiredMembers && method.ContainingType.BaseTypeNoUseSiteDiagnostics is { } baseType) 908&& (!method.ContainingType.IsValueType 912return membersToBeInitialized(method.ContainingType, includeAllMembers: true, includeCurrentTypeRequiredMembers, includeBaseRequiredMembers); 917return membersToBeInitialized(method.ContainingType, includeAllMembers: method.IncludeFieldInitializersInBody(), includeCurrentTypeRequiredMembers, includeBaseRequiredMembers); 1013foreach (var member in property.ContainingType.GetMembers(notNullMemberName)) 1056foreach (var member in method.ContainingType.GetMembers(memberName)) 1092enforceMemberNotNullWhenIfAffected(returnStatement.Syntax, sense: true, members: method.ContainingType.GetMembers(memberName), state: pendingReturn.StateWhenTrue, otherState: pendingReturn.StateWhenFalse); 1097enforceMemberNotNullWhenIfAffected(returnStatement.Syntax, sense: false, members: method.ContainingType.GetMembers(memberName), state: pendingReturn.StateWhenFalse, otherState: pendingReturn.StateWhenTrue); 1123foreach (var member in method.ContainingType.GetMembers(memberName)) 1176var type = method.ContainingType; 1495&& method.ContainingType is SourceMemberContainerTypeSymbol containingType) 2249if ((constructor.IsStatic && containingSlot == 0 && constructor.ContainingType.Equals(symbol.ContainingType)) 2709TypeSymbol possibleBase = possibleMember.ContainingType; 3761(FieldSymbol { ContainingType: { IsTupleType: true }, TupleElementIndex: var oi } originalField, FieldSymbol { ContainingType: { IsTupleType: true }, TupleElementIndex: var ui } updatedField) => 4135var containingType = constructor?.ContainingType; 5256TypeSymbol methodContainer = method.ContainingType; 5636var containingType = this._symbol?.ContainingType; 6387Debug.Assert(node.Method.ContainingType.ExtensionParameter is not null); 6388annotations = node.Method.ContainingType.ExtensionParameter.FlowAnalysisAnnotations; 6506ParameterSymbol? extensionParameter = method.ContainingType.ExtensionParameter; 6540ParameterSymbol? extensionParameter = method.ContainingType.ExtensionParameter; 6629var wellKnownType = wellKnownMethod.ContainingType; 6650if (implementationMethod.ContainingType.IsInterface) 6681while (!baseType.Equals(implementationMethod.ContainingType) && method is object) 6683if (baseType.Equals(method.ContainingType)) 6697if (method is object && baseType.Equals(method.ContainingType)) 6822method.ContainingType.IsReferenceType) 7430var type = method.ContainingType; 8146definition.ContainingType, 8486var symbolContainer = symbol.ContainingType; 8498Debug.Assert(symbol.ContainingType.IsDefinition); 10137ParameterSymbol? receiverParameter = isNewExtensionMethod ? method.ContainingType.ExtensionParameter : method.Parameters[0]; 10526var receiverParameter = isNewExtension ? deconstructMethod.ContainingType.ExtensionParameter : deconstructMethod.Parameters[0]; 11166if ((object)getMethod != null && getMethod.ContainingType.SpecialType == SpecialType.System_Nullable_T)
FlowAnalysis\ReadWriteWalker.cs (1)
178if (expr.FieldSymbol.ContainingType.IsReferenceType) return;
Lowering\AsyncRewriter\AsyncExceptionHandlerRewriter.cs (2)
40Debug.Assert(TypeSymbol.Equals(factory.CurrentType, (containingType ?? containingMethod.ContainingType), TypeCompareKind.ConsiderEverything2)); 449exceptionDispatchInfoCapture.ContainingType,
Lowering\AsyncRewriter\AsyncMethodToStateMachineRewriter.cs (1)
431? F.StaticCall(methodSymbol.ContainingType, methodSymbol, receiver)
Lowering\BoundTreeToDifferentEnclosingContextRewriter.cs (6)
180if (property.ContainingType.IsAnonymousType) 187.AsMember((NamedTypeSymbol)TypeMap.SubstituteType(property.ContainingType).AsTypeSymbolOnly()) 199if (method.ContainingType.IsAnonymousType) 202var newType = (NamedTypeSymbol)TypeMap.SubstituteType(method.ContainingType).AsTypeSymbolOnly(); 203if (ReferenceEquals(newType, method.ContainingType)) 224.AsMember((NamedTypeSymbol)TypeMap.SubstituteType(method.ContainingType).AsTypeSymbolOnly())
Lowering\ClosureConversion\ClosureConversion.cs (10)
330get { return _topLevelMethod.ContainingType; } 435translatedLambdaContainer = _topLevelMethod.ContainingType; 457translatedLambdaContainer = _topLevelMethod.ContainingType; 462Debug.Assert((object)translatedLambdaContainer != _topLevelMethod.ContainingType || 682Debug.Assert(TypeSymbol.Equals(frameType, constructor.ContainingType, TypeCompareKind.ConsiderEverything2)); 854return (!_currentMethod.IsStatic && TypeSymbol.Equals(_currentMethod.ContainingType, _topLevelMethod.ContainingType, TypeCompareKind.ConsiderEverything2)) 856: FramePointer(node.Syntax, _topLevelMethod.ContainingType); // technically, not the correct static type 1024var translatedLambdaContainer = synthesizedMethod.ContainingType; 1066receiver = new BoundTypeExpression(syntax, null, synthesizedMethod.ContainingType);
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (1)
767unquoted = _bound.Call(_bound.MethodInfo(method, createDelegate.ContainingType), createDelegate, _bound.Typeof(delegateType, createDelegate.Parameters[0].Type), receiver);
Lowering\DiagnosticsPass_ExpressionTrees.cs (2)
278Binder.ReportDiagnosticsIfObsolete(_diagnostics, node.EventSymbol.AssociatedField, node.Syntax, hasBaseReceiver, _containingSymbol, _containingSymbol.ContainingType, BinderFlags.None); 292Binder.ReportDiagnosticsIfObsolete(_diagnostics, node.Event, ((AssignmentExpressionSyntax)node.Syntax).Left, hasBaseReceiver, _containingSymbol, _containingSymbol.ContainingType, BinderFlags.None);
Lowering\DiagnosticsPass_Warnings.cs (4)
116TypeSymbol baseType = fieldAccess.FieldSymbol.ContainingType; 154if ((object)interlocked != null && TypeSymbol.Equals(interlocked, method.ContainingType, TypeCompareKind.ConsiderEverything2)) 238(object)method.ContainingType == null || 239!method.ContainingType.IsComImport)
Lowering\ExtensionMethodBodyRewriter.cs (1)
177.AsMember((NamedTypeSymbol)TypeMap.SubstituteType(symbol.ContainingType).AsTypeSymbolOnly());
Lowering\ExtensionMethodReferenceRewriter.cs (2)
155method = implementationMethod.AsMember(method.ContainingSymbol.ContainingType). 156ConstructIfGeneric(method.ContainingType.TypeArgumentsWithAnnotationsNoUseSiteDiagnostics.Concat(method.TypeArgumentsWithAnnotations));
Lowering\InitializerRewriter.cs (1)
95new BoundThisReference(syntax, field.ContainingType);
Lowering\Instrumentation\CodeCoverageInstrumenter.cs (1)
145var containingType = method.ContainingType;
Lowering\Instrumentation\LocalStateTracingInstrumenter.cs (1)
176if (IsSameOrNestedType(method.ContainingType, contextType))
Lowering\Instrumentation\ModuleCancellationInstrumenter.cs (2)
166foreach (var member in methodDefinition.ContainingType.GetMembers(method.Name)) 215var result = overload.AsMember(method.ContainingType);
Lowering\IteratorRewriter\IteratorFinallyMethodSymbol.cs (1)
206get { return ContainingType.Locations; }
Lowering\LocalRewriter\DelegateCacheContainer.cs (1)
34(owner.ContainingType is { IsExtension: true } extensionType ? extensionType.TypeParameters : []).Concat(
Lowering\LocalRewriter\DelegateCacheRewriter.cs (1)
226FindTypeParameters(method.ContainingType, result);
Lowering\LocalRewriter\LocalRewriter.cs (2)
72Debug.Assert(TypeSymbol.Equals(factory.CurrentType, (containingType ?? containingMethod.ContainingType), TypeCompareKind.ConsiderEverything2)); 925if (!lhsField.IsStatic && lhsField.ContainingType.IsStructType())
Lowering\LocalRewriter\LocalRewriter.DecisionDagRewriter.cs (1)
175!method.ContainingType.SpecialType.IsPrimitiveRecursiveStruct();
Lowering\LocalRewriter\LocalRewriter.PatternLocalRewriter.cs (1)
175receiver = _factory.Type(method.ContainingType);
Lowering\LocalRewriter\LocalRewriter_Call.cs (8)
48NamedTypeSymbol firstContainer = node.ApplicableMethods.First().ContainingType; 49Debug.Assert(node.ApplicableMethods.All(m => !m.RequiresInstanceReceiver && TypeSymbol.Equals(m.ContainingType, firstContainer, TypeCompareKind.ConsiderEverything2))); 157method.ContainingType.GetAllTypeArgumentsNoUseSiteDiagnostics(typeArgumentsBuilder); 191var isAccessible = AccessCheck.IsSymbolAccessible(interceptor, containingMethod.ContainingType, ref useSiteInfo); 452method.ContainingType.IsObjectType() && 1251Debug.Assert(methodOrIndexer.ContainingType.ExtensionParameter is not null); 1252return methodOrIndexer.ContainingType.ExtensionParameter.Type as NamedTypeSymbol; 1255return (NamedTypeSymbol?)methodOrIndexer.ContainingType;
Lowering\LocalRewriter\LocalRewriter_CollectionExpression.cs (1)
861var spanOfElementType = spanCtorArray.ContainingType.Construct(arrayType.ElementType);
Lowering\LocalRewriter\LocalRewriter_CompoundAssignmentOperator.cs (3)
429if (indexer.ContainingType.IsComImport) 544var memberContainingType = fieldOrEvent.ContainingType; 978if (method.ContainingType?.IsNullableType() == true)
Lowering\LocalRewriter\LocalRewriter_Conversion.cs (2)
568var receiver = (!method.RequiresInstanceReceiver && !oldNodeOpt.IsExtensionMethod && !method.IsAbstract && !method.IsVirtual) ? _factory.Type(method.ContainingType) : mg.ReceiverOpt; 1864Debug.Assert(!meth.ContainingType.IsInterface);
Lowering\LocalRewriter\LocalRewriter_DelegateCreationExpression.cs (1)
35var receiver = (!method.RequiresInstanceReceiver && !node.IsExtensionMethod && !method.IsAbstract && !method.IsVirtual) ? _factory.Type(method.ContainingType) : VisitExpression(mg.ReceiverOpt)!;
Lowering\LocalRewriter\LocalRewriter_Event.cs (4)
24if (rewrittenReceiverOpt != null && node.Event.ContainingAssembly.IsLinked && node.Event.ContainingType.IsInterfaceType()) 26var @interface = node.Event.ContainingType; 278_diagnostics.Add(new CSDiagnosticInfo(ErrorCode.ERR_MissingPredefinedMember, invocationListProperty.ContainingType, accessorName), syntax.Location); 310BoundExpression eventInfo = _factory.New(ctor, _factory.Typeof(node.Event.ContainingType, ctor.Parameters[0].Type), _factory.Literal(node.Event.MetadataName));
Lowering\LocalRewriter\LocalRewriter_Field.cs (4)
26if (fieldSymbol.ContainingType.IsTupleType) 55var tupleType = tupleField.ContainingType; 72if (!TypeSymbol.Equals(underlyingField.ContainingType, currentLinkType, TypeCompareKind.ConsiderEverything2)) 91while (!TypeSymbol.Equals(underlyingField.ContainingType, currentLinkType, TypeCompareKind.ConsiderEverything2));
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (2)
335idisposableTypeSymbol = disposeMethod.ContainingType; 497if (!receiver.Type.IsReferenceType && method.ContainingType.IsInterface)
Lowering\LocalRewriter\LocalRewriter_IndexerAccess.cs (2)
243MethodSymbol createSpan = getCreateSpanHelper(node, spanType: getItemOrSliceHelper.ContainingType, intType: (NamedTypeSymbol)getItemOrSliceHelper.Parameters[0].Type); 391NamedTypeSymbol spanType = getItemOrSliceHelper.ContainingType;
Lowering\LocalRewriter\LocalRewriter_Literal.cs (6)
73curMethod.ContainingType.SpecialType != SpecialType.System_Decimal) && 91if (useField is { HasUseSiteError: false, ContainingType: { HasUseSiteError: false } }) 133Debug.Assert(ctor.ContainingType.SpecialType == SpecialType.System_Decimal); 139constantValueOpt: constantValue, initializerExpressionOpt: null, type: ctor.ContainingType); 152Debug.Assert(ctor.ContainingType.SpecialType == SpecialType.System_DateTime); 159constantValueOpt: ConstantValue.NotAvailable, initializerExpressionOpt: null, type: ctor.ContainingType);
Lowering\LocalRewriter\LocalRewriter_NullCoalescingOperator.cs (1)
201if (method.IsStatic && method.ContainingType.SpecialType == SpecialType.System_String)
Lowering\LocalRewriter\LocalRewriter_ObjectCreationExpression.cs (2)
77rewrittenObjectCreation = node.Update(constructor, rewrittenArguments, argumentRefKindsOpt, MakeObjectCreationInitializerForExpressionTree(node.InitializerExpressionOpt), changeTypeOpt: constructor.ContainingType); 94rewrittenObjectCreation = node.Update(constructor, rewrittenArguments, argumentRefKindsOpt, newInitializerExpression: null, changeTypeOpt: constructor.ContainingType);
Lowering\LocalRewriter\LocalRewriter_ObjectOrCollectionInitializerExpression.cs (2)
700Debug.Assert(_compilation.Conversions.ClassifyConversionFromType(rewrittenReceiver.Type, memberSymbol.ContainingType, isChecked: false, ref discardedUseSiteInfo).IsImplicit || 701_compilation.Conversions.HasImplicitConversionToOrImplementsVarianceCompatibleInterface(rewrittenReceiver.Type, memberSymbol.ContainingType, ref discardedUseSiteInfo, out _));
Lowering\LocalRewriter\LocalRewriter_StringConcat.cs (2)
445var readOnlySpanOfChar = readOnlySpanCtorRefParamGeneric.ContainingType.Construct(charType); 494type: readOnlySpanCtorRefParamChar.ContainingType);
Lowering\LocalRewriter\LoweredDynamicOperationFactory.cs (1)
595return _factory.ArrayOrEmpty(argumentInfoFactory.ContainingType, infos);
Lowering\MethodToClassRewriter.cs (8)
322.AsMember((NamedTypeSymbol)this.VisitType(node.Field.ContainingType)); 331.AsMember((NamedTypeSymbol)this.VisitType(node.FieldSymbol.ContainingType)); 360if (!property.ContainingType.IsAnonymousType) 364.AsMember((NamedTypeSymbol)TypeMap.SubstituteType(property.ContainingType).AsTypeSymbolOnly()); 368var newType = (NamedTypeSymbol)TypeMap.SubstituteType(property.ContainingType).AsTypeSymbolOnly(); 369if (ReferenceEquals(newType, property.ContainingType)) 391.AsMember((NamedTypeSymbol)TypeMap.SubstituteType(field.ContainingType).AsTypeSymbolOnly()); 436TypeMap? typeMap = methodBeingWrapped.ContainingType is SubstitutedNamedTypeSymbol substitutedType ? substitutedType.TypeSubstitution : TypeMap.Empty;
Lowering\SpillSequenceSpiller.cs (2)
419var receiver = Spill(builder, field.ReceiverOpt, fieldSymbol.ContainingType.IsValueType ? refKind : RefKind.None); 924if (field.FieldSymbol.ContainingType.IsReferenceType)
Lowering\StateMachineRewriter\IteratorAndAsyncCaptureWalker.cs (2)
64if (!method.IsStatic && method.ContainingType.TypeKind == TypeKind.Struct) 242case BoundFieldAccess { FieldSymbol: { IsStatic: false, ContainingType: { IsValueType: true } }, ReceiverOpt: BoundExpression receiver }:
Lowering\StateMachineRewriter\MethodToStateMachineRewriter.cs (2)
193get { return OriginalMethod.ContainingType; } 621var isFieldOfStruct = !field.FieldSymbol.ContainingType.IsReferenceType;
Lowering\StateMachineRewriter\StateMachineRewriter.cs (2)
63Debug.Assert(TypeSymbol.Equals(F.CurrentType, method.ContainingType, TypeCompareKind.ConsiderEverything2)); 239var containingType = method.ContainingType;
Lowering\StateMachineRewriter\StateMachineTypeSymbol.cs (2)
36get { return KickoffMethod.ContainingType; } 62var kickoffType = KickoffMethod.ContainingType;
Lowering\StateMachineRewriter\SynthesizedStateMachineProperty.cs (2)
25_name = ExplicitInterfaceHelpers.GetMemberName(interfacePropertyGetter.AssociatedSymbol.Name, interfacePropertyGetter.ContainingType, aliasQualifierOpt: null); 26var getterName = ExplicitInterfaceHelpers.GetMemberName(interfacePropertyGetter.Name, interfacePropertyGetter.ContainingType, aliasQualifierOpt: null);
Lowering\SyntheticBoundNodeFactory.cs (9)
76_currentType = value.ContainingType; 104: this(topLevelMethod, topLevelMethod.ContainingType, node, compilationState, diagnostics, instrumentationState) 134Debug.Assert(TopLevelMethod is null || TypeSymbol.Equals(TopLevelMethod.ContainingType, CurrentType, TypeCompareKind.ConsiderEverything2)); 143TypeSymbol.Equals(CurrentFunction.ContainingType, CurrentType, TypeCompareKind.ConsiderEverything2)); 774constructor.ContainingType) 1320GetMethodFromHandleMethod(ctor.ContainingType, constructorInfo), 1419if (!method.ContainingType.IsValueType || !Microsoft.CodeAnalysis.CSharp.CodeGen.CodeGenerator.MayUseCallForStructMethod(method)) 1427GetMethodFromHandleMethod(method.ContainingType, systemReflectionMethodInfo), 1443GetFieldFromHandleMethod(field.ContainingType),
Operations\CSharpOperationFactory.cs (1)
2583boundITuplePattern.GetLengthMethod.ContainingType.GetPublicSymbol(),
Symbols\AnonymousTypes\AnonymousTypeManager.SymbolCollection.cs (1)
101ReportErrorOnSymbol(symbol.ContainingType, diagnostics, ref hasError);
Symbols\AnonymousTypes\AnonymousTypeManager.Templates.cs (1)
780NamedTypeSymbol translatedType = TranslateAnonymousTypeSymbol(method.ContainingType);
Symbols\AnonymousTypes\SynthesizedSymbols\AnonymousType.FieldSymbol.cs (2)
107get { return _property.ContainingType; } 114return _property.ContainingType;
Symbols\ConstraintsHelper.cs (2)
929if (constructedContainingSymbol.GetIsNewExtensionMember() && constructedContainingSymbol.ContainingType is { Arity: > 0 } extension 1605|| (method.GetIsNewExtensionMember() && !method.ContainingType.IsDefinition));
Symbols\ConstructedMethodSymbol.cs (1)
20map: new TypeMap(constructedFrom.ContainingType, ((MethodSymbol)constructedFrom.OriginalDefinition).TypeParameters, typeArgumentsWithAnnotations),
Symbols\ErrorTypeSymbol.ErrorTypeParameterSymbol.cs (2)
197other.ContainingType.Equals(this.ContainingType, comparison);
Symbols\EventSymbol.cs (3)
350return TypeSymbol.Equals(this.ContainingType, other.ContainingType, compareKind) && ReferenceEquals(this.OriginalDefinition, other.OriginalDefinition); 356hash = Hash.Combine(this.ContainingType, hash);
Symbols\Extensions\SourceExtensionImplementationMethodSymbol.cs (4)
19: base(sourceMethod, TypeMap.Empty, sourceMethod.ContainingType.TypeParameters.Concat(sourceMethod.TypeParameters)) 22Debug.Assert(sourceMethod.IsStatic || sourceMethod.ContainingType.ExtensionParameter is not null); 66public sealed override Symbol ContainingSymbol => _originalMethod.ContainingType.ContainingSymbol; 108parameters.Add(new ExtensionMetadataMethodParameterSymbol(this, ((SourceNamedTypeSymbol)_originalMethod.ContainingType).ExtensionParameter!));
Symbols\FieldSymbol.cs (4)
438return ContainingType.IsTupleType ? this : null; 474if (!ContainingType.IsTupleType) 479if (!ContainingType.IsDefinition) 485int arity = ContainingType.Arity;
Symbols\MemberSymbolExtensions.cs (13)
110&& symbol.ContainingType.ExtensionParameter is { } foundExtensionParameter) 124return member.ContainingType.Arity + member.GetMemberArity(); 137? method.ContainingType.TypeParameters.Concat(method.TypeParameters) 144return property.ContainingType.TypeParameters; 156if (method.GetIsNewExtensionMember() && method.Arity > 0 && method.ContainingType.Arity > 0) 158Debug.Assert(originalTypeParameters.Length == method.Arity + method.ContainingType.Arity); 185if (symbol.GetIsNewExtensionMember() && symbol.ContainingType.ExtensionParameter is { } extensionParameter) 196bool hasExtensionParameter = symbol.GetIsNewExtensionMember() && symbol.ContainingType.ExtensionParameter is { }; 210NamedTypeSymbol extension = method.ContainingType; 231NamedTypeSymbol extension = property.ContainingType; 363Debug.Assert(symbol.ContainingType.IsInterface); 633&& !(methodSymbol.HasThisConstructorInitializer(out var initializerSyntax) && !methodSymbol.ContainingType.IsDefaultValueTypeConstructor(initializerSyntax)) 689method.ContainingType?.IsValueType == true &&
Symbols\Metadata\PE\PEMethodSymbol.cs (2)
804Debug.Assert(TypeSymbol.Equals(propertyOrEventSymbol.ContainingType, _containingType, TypeCompareKind.ConsiderEverything2)); 1395if (method.ContainingType.IsClassType())
Symbols\Metadata\PE\PENamedTypeSymbol.cs (1)
443Debug.Assert(method.ContainingType == (object)this);
Symbols\Metadata\PE\PEParameterSymbol.cs (2)
309typeSymbol = NativeIntegerTypeDecoder.TransformType(typeSymbol, handle, moduleSymbol, containingSymbol.ContainingType); 1200PEPropertySymbol => new MetadataDecoder(containingModule, (PENamedTypeSymbol)ContainingType),
Symbols\MethodSymbol.cs (7)
367internal virtual bool IsEffectivelyReadOnly => (IsDeclaredReadOnly || ContainingType?.IsReadOnly == true) && IsValidReadOnlyTarget; 369protected bool IsValidReadOnlyTarget => !IsStatic && ContainingType.IsStructType() && MethodKind != MethodKind.Constructor && !IsInitOnly; 655return MethodKind == MethodKind.Constructor && ContainingType.IsScriptClass; 819return this.ContainingType; 1047if (isGenericMethod(this) || ContainingType.IsGenericType) 1271if (methodToAttribute.ShouldCheckRequiredMembers() && methodToAttribute.ContainingType.HasAnyRequiredMembers) 1296return this.ContainingType.TryGetCorrespondingExtensionImplementationMethod(this);
Symbols\MethodSymbolExtensions.cs (2)
61else if (method.ContainingType.SpecialType == SpecialType.System_Object) 221method.ContainingType is NamedTypeSymbol containingType &&
Symbols\OverriddenOrHiddenMembersHelpers.cs (14)
114NamedTypeSymbol containingType = member.ContainingType; 183FindOverriddenOrHiddenMembers(member, member.ContainingType, memberIsFromSomeCompilation, out hiddenBuilder, 284if ((object)overriddenAccessor != null && IsOverriddenSymbolAccessible(overriddenAccessor, accessor.ContainingType) && 374if ((object)overriddenAccessor != null && IsOverriddenSymbolAccessible(overriddenAccessor, accessor.ContainingType) && 413NamedTypeSymbol containingType = member.ContainingType; 717(!representativeMember.ContainingType.IsDefinition || representativeMember.IsIndexer()); 792Debug.Assert(representativeMember.Kind == SymbolKind.Property || !representativeMember.ContainingType.IsDefinition); 796foreach (Symbol otherMember in representativeMember.ContainingType.GetMembers(representativeMember.Name)) 856Debug.Assert(representativeMember.Kind == SymbolKind.Property || !representativeMember.ContainingType.IsDefinition); 859foreach (Symbol otherMember in representativeMember.ContainingType.GetMembers(representativeMember.Name)) 975csharpOverriddenMethod.ContainingType.Equals(runtimeOverriddenMethod.ContainingType, TypeCompareKind.CLRSignatureCompareOptions); 991foreach (Symbol otherMethod in method.ContainingType.GetMembers(method.Name)) 1027NamedTypeSymbol containingType = method.ContainingType;
Symbols\OverriddenOrHiddenMembersResult.cs (2)
60NamedTypeSymbol overriddenByDefinitionContaining = overriddenByDefinitionMember.ContainingType; 62for (NamedTypeSymbol baseType = substitutedOverridingMember.ContainingType.BaseTypeNoUseSiteDiagnostics;
Symbols\ParameterSymbol.cs (1)
169(refKind == RefKind.Ref && ContainingSymbol.ContainingType.IsComImport));
Symbols\PropertySymbol.cs (5)
169var property = (PropertySymbol)this.GetLeastOverriddenMember(this.ContainingType); 181var property = (PropertySymbol)this.GetLeastOverriddenMember(this.ContainingType); 475return TypeSymbol.Equals(this.ContainingType, other.ContainingType, compareKind) && ReferenceEquals(this.OriginalDefinition, other.OriginalDefinition); 481hash = Hash.Combine(this.ContainingType, hash);
Symbols\PublicModel\Symbol.cs (1)
75return UnderlyingSymbol.ContainingType.GetPublicSymbol();
Symbols\Retargeting\RetargetingMethodSymbol.cs (1)
136new TypeWithAnnotations.Boxed(this.RetargetingTranslator.Retarget(_underlyingMethod.ReturnTypeWithAnnotations, RetargetOptions.RetargetPrimitiveTypesByTypeCode, this.ContainingType)),
Symbols\Retargeting\RetargetingNamedTypeSymbol.cs (1)
118Debug.Assert(method.ContainingType == (object)this);
Symbols\Retargeting\RetargetingPropertySymbol.cs (1)
70if (type.Type.TryAsDynamicIfNoPia(this.ContainingType, out TypeSymbol asDynamic))
Symbols\Retargeting\RetargetingSymbolTranslator.cs (5)
891var containingType = method.ContainingType; 939var containingType = property.ContainingType; 955var containingType = @event.ContainingType; 1055NamedTypeSymbol containingType = _toFind.ContainingType; 1167newAttributeType = newAttributeCtor.ContainingType;
Symbols\Source\ExplicitInterfaceHelpers.cs (5)
126var unsubstitutedInterfaceType = unsubstitutedPropertyImplemented.ContainingType; 189var containingType = implementingMember.ContainingType; 308if (!AccessCheck.IsSymbolAccessible(implementedMember, implementingMember.ContainingType, ref useSiteInfo, throughTypeOpt: null)) 332!AccessCheck.IsSymbolAccessible(accessor, implementingMember.ContainingType, ref useSiteInfo, throughTypeOpt: null)) 385NamedTypeSymbol explicitInterfaceType = implementedMember.ContainingType;
Symbols\Source\FieldSymbolWithAttributesAndModifiers.cs (4)
145var containingSourceType = (SourceMemberContainerTypeSymbol)ContainingType; 326if (this.ContainingType.Layout.Kind != LayoutKind.Explicit) 337if (this.ContainingType.Layout.Kind == LayoutKind.Explicit) 419AddSynthesizedAttribute(ref attributes, moduleBuilder.SynthesizeNullableAttributeIfNecessary(this, ContainingType.GetNullableContextValue(), type));
Symbols\Source\ModifierUtils.cs (4)
505if (symbol.ContainingType?.IsInterface == true && !symbol.ContainingAssembly.RuntimeSupportsDefaultInterfaceImplementation) 521case FieldSymbol when !symbol.IsAsRestrictive(symbol.ContainingType, ref useSiteInfo): 522case PropertySymbol { SetMethod: { } method } when !method.IsAsRestrictive(symbol.ContainingType, ref useSiteInfo): 524diagnostics.Add(ErrorCode.ERR_RequiredMemberCannotBeLessVisibleThanContainingType, errorLocation, symbol, symbol.ContainingType);
Symbols\Source\ParameterHelpers.cs (4)
219typeParameters = owner.ContainingType.TypeParameters.Concat(typeParameters); 221if (owner.ContainingType.ExtensionParameter is { Name: not "" } receiver) 795|| (containingSymbol is FunctionPointerMethodSymbol or { ContainingType: not null }) 802ErrorFacts.GetStaticClassParameterCode(containingSymbol?.ContainingType?.IsInterfaceType() ?? false),
Symbols\Source\SourceAssemblySymbol.cs (5)
2231if ((object)forwardedType.ContainingType != null) 2233diagnostics.Add(ErrorCode.ERR_ForwardedTypeIsNested, GetAssemblyAttributeLocationForDiagnostic(arguments.AttributeSyntaxOpt), forwardedType, forwardedType.ContainingType); 2611var container = field.ContainingType as SourceMemberContainerTypeSymbol; 2705var containingType = field.ContainingType as SourceNamedTypeSymbol; 2766var containingType = field.ContainingType as SourceNamedTypeSymbol;
Symbols\Source\SourceComplexParameterSymbol.cs (1)
1659method.ContainingType.IsAtLeastAsVisibleAs(ContainingSymbol, ref useSiteInfo);
Symbols\Source\SourceEventAccessorSymbol.cs (1)
63name = ExplicitInterfaceHelpers.GetMemberName(accessorName, explicitlyImplementedEventOpt.ContainingType, aliasQualifierOpt);
Symbols\Source\SourceMemberContainerSymbol.cs (10)
903for (Symbol? container = this.ContainingType; !(container is null); container = container.ContainingType) 2173((ConstructorDeclarationSyntax)constructor.SyntaxRef.GetSyntax()).Identifier.ValueText != method1.ContainingType.Name) 2181((object)underlying1.ContainingType == underlying2.ContainingType || 2182new ExtensionGroupingKey(underlying1.ContainingType).Equals(new ExtensionGroupingKey(underlying2.ContainingType))) && 2218"~" + method1.ContainingType.Name : 2219(method1.IsConstructor() ? method1.ContainingType.Name : method1.Name); 2260if (!indexer.GetIsNewExtensionMember() && indexer.ContainingType.Arity > 0) 2263foreach (TypeParameterSymbol typeParameter in indexer.ContainingType.TypeParameters)
Symbols\Source\SourceMemberContainerSymbol_ImplementationChecks.cs (15)
256(!implementingMember.ContainingType.Equals(this, TypeCompareKind.ConsiderEverything) && 269wasImplementingMemberFound && implementingMember.ContainingType.IsInterface) 271HasBaseInterfaceDeclaringInterface(implementingMember.ContainingType, @interface, ref matchResult); 320if (synthesizedImplementation.ForwardingMethod is not null || TypeSymbol.Equals(implementingMember.ContainingType, this, TypeCompareKind.ConsiderEverything2)) 681if (symbol.ContainingType.IsInterface) 835NamedTypeSymbol overridingType = overridingMember.ContainingType; 874var overridingType = overridingMember.ContainingType; 929var leastOverriddenMember = overriddenMember.GetLeastOverriddenMember(overriddenMember.ContainingType); 1052var overridingType = overridingProperty.ContainingType; 1596if (!hidingMember.ContainingType.IsInterface) 1671if (!hiddenMember.IsAbstract || !hidingMember.ContainingType.IsAbstract) 1849IsOverrideOfPossibleImplementationUnderRuntimeRules(implementingMethod, @interfaceMethod.ContainingType)) 1873if (implementingMethod.ContainingType != (object)this) 1875if (implementingMethod.ContainingType.IsInterface || 1914NamedTypeSymbol type = implementingMethod.ContainingType;
Symbols\Source\SourceMethodSymbol.cs (3)
51else if (ContainingType is SourceMemberContainerTypeSymbol type) 113if (target.IsDeclaredReadOnly && !target.ContainingType.IsReadOnly) 178!target.ContainingType.IsImplicitlyDeclared &&
Symbols\Source\SourceMethodSymbolWithAttributes.cs (14)
599CSharpAttributeData.DecodeMemberNotNullAttribute<MethodWellKnownAttributeData>(ContainingType, ref arguments); 604CSharpAttributeData.DecodeMemberNotNullWhenAttribute<MethodWellKnownAttributeData>(ContainingType, ref arguments); 626if (ContainingType.IsInterface || IsExplicitInterfaceImplementation) 724else if (this.ContainingType.IsInterfaceType()) 843if (isAnyNestedMethodGeneric || ContainingType?.IsGenericType == true) 953Debug.Assert(ContainingType is object); 971if (IsGenericMethod || ContainingType.IsGenericType) 1039if (ContainingType.IsGenericType) 1197if (ContainingType.IsGenericType) 1493diagnostics.Add(ErrorCode.ERR_ComImportWithImpl, this.GetFirstLocation(), this, ContainingType); 1505&& !this.ContainingType.IsComImport) 1561for (NamedTypeSymbol curr = this.ContainingType; (object)curr != null; curr = curr.ContainingType) 1653return this.ContainingType.IsInterface && 1743if (this.ContainingType.IsComImport && this.MethodKind == MethodKind.Constructor)
Symbols\Source\SourceNamedTypeSymbol.cs (1)
226diagnostics.Add(ErrorCode.WRN_TypeParameterSameAsOuterTypeParameter, location, name, tpEnclosing.ContainingType);
Symbols\Source\SourceNamedTypeSymbol_Extension.cs (4)
77Debug.Assert(method.ContainingType == (object)this); 149NamedTypeSymbol extension = extensionMember.ContainingType; 171Debug.Assert(result.ContainingType.ExtensionParameter is not null); 173Conversion conversion = compilation.Conversions.ConvertExtensionMethodThisArg(parameterType: result.ContainingType.ExtensionParameter.Type, receiverType, ref discardedUseSiteInfo, isMethodGroupConversion: false);
Symbols\Source\SourceOrdinaryMethodSymbol.cs (1)
1172diagnostics.Add(ErrorCode.WRN_TypeParameterSameAsOuterTypeParameter, location, name, tpEnclosing.ContainingType);
Symbols\Source\SourcePropertyAccessorSymbol.cs (1)
703name = ExplicitInterfaceHelpers.GetMemberName(accessorName, explicitlyImplementedPropertyOpt.ContainingType, aliasQualifierOpt);
Symbols\Source\SynthesizedAttributeData.cs (1)
47public override NamedTypeSymbol AttributeClass => _wellKnownMember.ContainingType;
Symbols\Source\ThisParameterSymbol.cs (2)
134internal ThisParameterSymbol(MethodSymbol forMethod) : this(forMethod, forMethod.ContainingType) 152if (ContainingType?.TypeKind != TypeKind.Struct)
Symbols\SubstitutedFieldSymbol.cs (2)
119return (object)other != null && TypeSymbol.Equals(_containingType, other.ContainingType, compareKind) && OriginalDefinition == other.OriginalDefinition; 131if (containingHashCode != this.OriginalDefinition.ContainingType.GetHashCode())
Symbols\SubstitutedMethodSymbol.cs (4)
44Debug.Assert(TypeSymbol.Equals(originalDefinition.ContainingType, containingSymbol.OriginalDefinition, TypeCompareKind.ConsiderEverything2)); 202return _containingSymbol is NamedTypeSymbol nt ? nt : _containingSymbol.ContainingType; 374if (containingHashCode == this.OriginalDefinition.ContainingType.GetHashCode() && 442if (!TypeSymbol.Equals(this.ContainingType, other.ContainingType, compareKind)) return false;
Symbols\Symbol.cs (5)
136return container.ContainingType; 257if (ContainingType?.TypeKind == TypeKind.Submission) 279if (ContainingType.TypeKind == TypeKind.Submission) 290Debug.Assert(ContainingType.TypeKind != TypeKind.Submission); 326return this.ContainingType;
Symbols\SymbolExtensions.cs (4)
41return symbol is NamedTypeSymbol && (object?)symbol.ContainingType != null; 180type = symbol.ContainingType; 303var upperLevelType = symbol.Kind == SymbolKind.NamedType ? (NamedTypeSymbol)symbol : symbol.ContainingType; 527return !symbol.IsSealed && (symbol.IsAbstract || symbol.IsVirtual) && (symbol.ContainingType?.IsInterface ?? false);
Symbols\Synthesized\ReadOnlyListType\SynthesizedReadOnlyListEnumeratorTypeSymbol.cs (4)
54var containingType = (SynthesizedReadOnlyListEnumeratorTypeSymbol)method.ContainingType; 66var containingType = (SynthesizedReadOnlyListEnumeratorTypeSymbol)method.ContainingType; 78var containingType = (SynthesizedReadOnlyListEnumeratorTypeSymbol)method.ContainingType; 97var containingType = (SynthesizedReadOnlyListEnumeratorTypeSymbol)method.ContainingType;
Symbols\Synthesized\ReadOnlyListType\SynthesizedReadOnlyListProperty.cs (1)
25Name = ExplicitInterfaceHelpers.GetMemberName(interfaceProperty.Name, interfaceProperty.ContainingType, aliasQualifierOpt: null);
Symbols\Synthesized\ReadOnlyListType\SynthesizedReadOnlyListTypeSymbol.cs (16)
473var containingType = (SynthesizedReadOnlyListTypeSymbol)method.ContainingType; 489interfaceMethod.ContainingType, 498var containingType = (SynthesizedReadOnlyListTypeSymbol)method.ContainingType; 557var containingType = (SynthesizedReadOnlyListTypeSymbol)method.ContainingType; 567else if (containingType.IsArray || !interfaceMethod.ContainingType.IsGenericType) 573interfaceMethod.ContainingType, 593var containingType = (SynthesizedReadOnlyListTypeSymbol)method.ContainingType; 601if (!interfaceMethod.ContainingType.IsGenericType) 621else if (containingType.IsArray || !interfaceMethod.ContainingType.IsGenericType) 627interfaceMethod.ContainingType, 650var containingType = (SynthesizedReadOnlyListTypeSymbol)method.ContainingType; 684var containingType = (SynthesizedReadOnlyListTypeSymbol)method.ContainingType; 698else if (containingType.IsArray || !interfaceMethod.ContainingType.IsGenericType) 704interfaceMethod.ContainingType, 747var equalityComparerType = equalityComparer_Equals.ContainingType; 773Debug.Assert(_field.Type.OriginalDefinition.Equals(symbol.ContainingType, TypeCompareKind.AllIgnoreOptions));
Symbols\Synthesized\Records\SynthesizedPrimaryConstructorParameterBackingFieldSymbol.cs (1)
68=> ParameterSymbol.ContainingSymbol.ContainingType;
Symbols\Synthesized\Records\SynthesizedRecordBaseEquals.cs (1)
45!overridden.ContainingType.Equals(ContainingType.BaseTypeNoUseSiteDiagnostics, TypeCompareKind.AllIgnoreOptions))
Symbols\Synthesized\Records\SynthesizedRecordCopyCtor.cs (2)
135if (member is MethodSymbol { ContainingType.IsRecord: true, MethodKind: MethodKind.Constructor } method) 145NamedTypeSymbol containingType = member.ContainingType;
Symbols\Synthesized\Records\SynthesizedRecordEqualityContractProperty.cs (4)
103if (overriding.ContainingType.BaseTypeNoUseSiteDiagnostics.IsObjectType()) 119!overridden.ContainingType.Equals(overriding.ContainingType.BaseTypeNoUseSiteDiagnostics, TypeCompareKind.AllIgnoreOptions)) 127diagnostics.Add(ErrorCode.ERR_DoesNotOverrideBaseEqualityContract, overriding.GetFirstLocation(), overriding, overriding.ContainingType.BaseTypeNoUseSiteDiagnostics);
Symbols\Synthesized\Records\SynthesizedRecordEquals.cs (2)
107if (baseEquals is null || !baseEquals.ContainingType.Equals(ContainingType.BaseTypeNoUseSiteDiagnostics, TypeCompareKind.AllIgnoreOptions) || 124F.Base(baseEquals.ContainingType),
Symbols\Synthesized\Records\SynthesizedRecordGetHashCode.cs (1)
88currentHashValue = F.Call(F.Base(overridden.ContainingType), overridden);
Symbols\Synthesized\Records\SynthesizedRecordObjectMethod.cs (1)
43if (overridden is object && !(overridden.ContainingType is SourceMemberContainerTypeSymbol { IsRecord: true } && overridden.ContainingModule == overriding.ContainingModule))
Symbols\Synthesized\Records\SynthesizedRecordPrintMembers.cs (3)
110!overridden.ContainingType.Equals(ContainingType.BaseTypeNoUseSiteDiagnostics, TypeCompareKind.AllIgnoreOptions)) 265NamedTypeSymbol baseType = overriding.ContainingType.BaseTypeNoUseSiteDiagnostics; 282!overridden.ContainingType.Equals(baseType, TypeCompareKind.AllIgnoreOptions))
Symbols\Synthesized\Records\SynthesizedRecordPropertySymbol.cs (1)
102parameter.ContainingType.GetMembersUnordered().Any((s, parameter) => (s as SynthesizedRecordPropertySymbol)?.BackingParameter == (object)parameter, parameter);
Symbols\Synthesized\SynthesizedBackingFieldSymbol.cs (1)
49if (!this.ContainingType.IsImplicitlyDeclared)
Symbols\Synthesized\SynthesizedEntryPointSymbol.cs (2)
29var containingType = initializerMethod.ContainingType; 257get { return ContainingType.AreLocalsZeroed; }
Symbols\Synthesized\SynthesizedImplementationMethod.cs (2)
38_name = name ?? ExplicitInterfaceHelpers.GetMemberName(interfaceMethod.Name, interfaceMethod.ContainingType, aliasQualifierOpt: null); 45var typeMap = interfaceMethod.ContainingType.TypeSubstitution ?? TypeMap.Empty;
Symbols\Synthesized\SynthesizedMethodSymbol.cs (1)
41return ContainingType.AreLocalsZeroed;
Symbols\Synthesized\SynthesizedSealedPropertyAccessor.cs (2)
52return _property.ContainingType; 95Debug.Assert(AccessCheck.IsSymbolAccessible(_overriddenAccessor, this.ContainingType, ref discardedUseSiteInfo));
Symbols\Tuples\TupleFieldSymbol.cs (4)
47Debug.Assert(container.Equals(underlyingField.ContainingType, TypeCompareKind.IgnoreDynamicAndTupleNames) || this is TupleVirtualElementFieldSymbol, 108NamedTypeSymbol originalContainer = ContainingType.OriginalDefinition; 268Debug.Assert(underlyingField.ContainingType.IsTupleType); 270Debug.Assert(name != underlyingField.Name || !container.Equals(underlyingField.ContainingType, TypeCompareKind.IgnoreDynamicAndTupleNames),
Symbols\Tuples\TupleTypeSymbol.cs (1)
1112if (TypeSymbol.Equals(underlyingMemberDefinition.ContainingType, TupleUnderlyingType.OriginalDefinition, TypeCompareKind.ConsiderEverything))
Symbols\TypeParameterSymbol.cs (2)
675return other.ContainingSymbol.ContainingType.Equals(this.ContainingSymbol.ContainingType, comparison);
Symbols\TypeSymbol.cs (20)
740var interfaceType = interfaceMember.ContainingType; 819NamedTypeSymbol interfaceType = interfaceMember.ContainingType; 1108return !symbolAndDiagnostics.Symbol.ContainingType.IsInterface; 1251NamedTypeSymbol implementingInterface = inplementingAccessor1.ContainingType; 1253if (implementingAccessor2 is object && !implementingInterface.Equals(implementingAccessor2.ContainingType, TypeCompareKind.ConsiderEverything)) 1298NamedTypeSymbol previousContainingType = previous.ContainingType; 1393NamedTypeSymbol containingType = interfaceMember.ContainingType; 1527currType.InterfacesAndTheirBaseInterfacesWithDefinitionUseSiteDiagnostics(ref useSiteInfo).ContainsKey(interfaceAccessor.ContainingType)) 1575if ((object)implementingPropertyOrEvent != null && !implementingPropertyOrEvent.ContainingType.IsInterface) 1606else if ((object)correspondingImplementingAccessor != null && ((object)implicitImpl == null || TypeSymbol.Equals(correspondingImplementingAccessor.ContainingType, implicitImpl.ContainingType, TypeCompareKind.ConsiderEverything2))) 1617interfaceMethod.ContainingType, 1738if (!implicitImpl.ContainingType.IsDefinition) 1740foreach (Symbol member in implicitImpl.ContainingType.GetMembers(implicitImpl.Name)) 2095var @interface = interfaceMember.ContainingType; 2153if (TypeSymbol.Equals(member.ContainingType, implementingType, TypeCompareKind.ConsiderEverything2)) 2159var @interface = interfaceMember.ContainingType; 2378x.ContainingType.Equals(y.ContainingType, TypeCompareKind.CLRSignatureCompareOptions); 2560if (elementField is not null && elementField.ContainingType.IsGenericType)
Symbols\TypeSymbolExtensions.cs (15)
782var containingType = current.ContainingType; 796RoslynDebug.Assert((object)current.ContainingType == null); 1043var parent1 = s1.ContainingType; 1053for (var parent2 = s2.ContainingType; (object)parent2 != null; parent2 = parent2.ContainingType) 1065var parent2 = s2.ContainingType; 1077var parent1 = s1.ContainingType; 1095for (var parent2 = s2.ContainingType; (object)parent2 != null; parent2 = parent2.ContainingType) 1118if (parent1.IsAccessibleViaInheritance(s2.ContainingType, ref useSiteInfo)) 1129parent1.IsAccessibleViaInheritance(s2.ContainingType, ref useSiteInfo)) 1140parent1.IsAccessibleViaInheritance(s2.ContainingType, ref useSiteInfo)) 1155NamedTypeSymbol parent1 = s1.ContainingType; 1163for (var parent2 = s2.ContainingType; (object)parent2 != null; parent2 = parent2.ContainingType) 2153if (typeSymbol.Name != name || typeSymbol.ContainingType is object) 2172=> typeSymbol.ContainingType is null && IsContainedInNamespace(typeSymbol, "System", "Runtime", "CompilerServices"); 2185=> typeSymbol.ContainingType is null && IsContainedInNamespace(typeSymbol, "System", "Diagnostics", "CodeAnalysis");
Symbols\VarianceSafety.cs (1)
101for (var container = member.ContainingType; container is object; container = container.ContainingType)