Base:
property
ContainingType
Microsoft.CodeAnalysis.CSharp.Symbol.ContainingType
3 overrides of ContainingType
Microsoft.CodeAnalysis.CSharp (3)
Symbols\Metadata\PE\PENamedTypeSymbol.cs (1)
839public override NamedTypeSymbol ContainingType
Symbols\Source\SourceMemberContainerSymbol.cs (1)
776public sealed override NamedTypeSymbol? ContainingType
Symbols\SubstitutedNamedTypeSymbol.cs (1)
131public override NamedTypeSymbol ContainingType
155 references to ContainingType
Microsoft.CodeAnalysis.CSharp (131)
Binder\Binder_Crefs.cs (5)
298|| nested is not { ContainingType: { ContainingType: null } }) // only consider extension blocks in top-level types 380NamedTypeSymbol? enclosingType = containingType.IsExtension ? containingType.ContainingType : containingType; 806NamedTypeSymbol containing = type.ContainingType; 813containing = containing.ContainingType;
Binder\Binder_Operators.cs (1)
1927NamedTypeSymbol extensionContainingType = signature.Method.OriginalDefinition.ContainingType.ContainingType;
Binder\BinderFactory.BinderFactoryVisitor.cs (1)
1329for (NamedTypeSymbol curr = outerBinder.ContainingType; (object)curr != null; curr = curr.ContainingType)
Binder\RefSafetyAnalysis.cs (1)
53type = def.ContainingType;
Binder\Semantics\AccessCheck.cs (4)
246var containingType = type.ContainingType; 332containingType.IsExtension && containingType.ContainingType is { } extensionEnclosingType ? extensionEnclosingType : containingType, 486current = current.ContainingType; 534current = current.ContainingType;
Binder\Semantics\Operators\UnaryOperatorOverloadResolution.cs (3)
253if (x.OriginalDefinition.ContainingType.ContainingType != (object)x.OriginalDefinition.ContainingType.ContainingType) 288int result = typeComparer.GetHashCode(op.OriginalDefinition.ContainingType.ContainingType);
Binder\Semantics\OverloadResolution\MethodTypeInference.cs (1)
3209extension.ContainingType,
Binder\Semantics\OverloadResolution\OverloadResolution.cs (1)
1894? memberWithPriority.ContainingType.ContainingType
Compiler\ClsComplianceChecker.cs (3)
1070NamedTypeSymbol containingType = type.ContainingType; 1083containingType = containingType.ContainingType; 1106context = context.ContainingType;
Compiler\DocumentationCommentCompiler.cs (1)
227if (symbol.IsExtension && (SourceNamedTypeSymbol)symbol.ContainingType is { } containingType)
DocumentationComments\DocumentationCommentIDVisitor.PartVisitor.cs (1)
164for (NamedTypeSymbol curr = containingSymbol.ContainingType; (object)curr != null; curr = curr.ContainingType)
Emitter\Model\GenericNestedTypeInstanceReference.cs (1)
25return ((PEModuleBuilder)context.Module).Translate(UnderlyingNamedType.ContainingType, syntaxNodeOpt: (CSharpSyntaxNode)context.SyntaxNode, diagnostics: context.Diagnostics);
Emitter\Model\MethodSymbolAdapter.cs (4)
88return ((SourceMemberContainerTypeSymbol)containingType.ContainingType).GetExtensionGroupingInfo().GetCorrespondingMarkerType(marker); 92return ((SourceMemberContainerTypeSymbol)containingType.ContainingType).GetExtensionGroupingInfo().GetCorrespondingGroupingType((SourceNamedTypeSymbol)containingType); 315return ((SourceMemberContainerTypeSymbol)AdaptedMethodSymbol.ContainingType.ContainingType).GetExtensionGroupingInfo().GetCorrespondingMarkerType(marker); 320return ((SourceMemberContainerTypeSymbol)containingType.ContainingType).GetExtensionGroupingInfo().GetCorrespondingGroupingType((SourceNamedTypeSymbol)containingType);
Emitter\Model\NamedTypeSymbolAdapter.cs (12)
122(object)AdaptedNamedTypeSymbol.ContainingType == null) 137if ((object)AdaptedNamedTypeSymbol.ContainingType == null && 151if ((object)AdaptedNamedTypeSymbol.ContainingType != null) 173if ((object)AdaptedNamedTypeSymbol.ContainingType != null && 190(AdaptedNamedTypeSymbol.Arity == 0 || PEModuleBuilder.IsGenericType(AdaptedNamedTypeSymbol.ContainingType))) 192Debug.Assert((object)AdaptedNamedTypeSymbol.ContainingType != null && 193PEModuleBuilder.IsGenericType(AdaptedNamedTypeSymbol.ContainingType)); 844Debug.Assert((object)AdaptedNamedTypeSymbol.ContainingType == null && AdaptedNamedTypeSymbol.ContainingModule is SourceModuleSymbol); 858return moduleBeingBuilt.Translate(AdaptedNamedTypeSymbol.ContainingType, 868Debug.Assert((object)AdaptedNamedTypeSymbol.ContainingType != null); 871return AdaptedNamedTypeSymbol.ContainingType.GetCciAdapter(); 879Debug.Assert((object)AdaptedNamedTypeSymbol.ContainingType != null);
Emitter\Model\PEModuleBuilder.cs (4)
811Debug.Assert((object)originalDefinition.ContainingType == null, "How did a nested type get forwarded?"); 1166NamedTypeSymbol container = namedTypeSymbol.ContainingType; 1271toCheck = toCheck.ContainingType; 1630AddSynthesizedDefinition(result.ContainingType, result.GetCciAdapter());
Emitter\Model\PropertySymbolAdapter.cs (2)
227return ((SourceMemberContainerTypeSymbol)containingType.ContainingType).GetExtensionGroupingInfo().GetCorrespondingGroupingType((SourceNamedTypeSymbol)containingType); 254return ((SourceMemberContainerTypeSymbol)containingType.ContainingType).GetExtensionGroupingInfo().GetCorrespondingGroupingType((SourceNamedTypeSymbol)containingType);
Emitter\Model\SpecializedNestedTypeReference.cs (1)
43return ((PEModuleBuilder)context.Module).Translate(UnderlyingNamedType.ContainingType, (CSharpSyntaxNode)context.SyntaxNode, context.Diagnostics);
Emitter\NoPia\EmbeddedTypesManager.cs (1)
298if ((object)namedType.ContainingType != null)
Lowering\AsyncRewriter\AsyncMethodBuilderMemberCollection.cs (1)
350if (builderType.IsUnboundGenericType && builderType.ContainingType?.IsGenericType != true && builderType.Arity == 1)
Lowering\Instrumentation\CodeCoverageInstrumenter.cs (1)
153containingType = containingType.ContainingType;
Lowering\Instrumentation\LocalStateTracingInstrumenter.cs (2)
195if (type.ContainingType is null) 200type = type.ContainingType;
Lowering\SyntheticBoundNodeFactory.cs (1)
151ModuleBuilderOpt.AddSynthesizedDefinition(nestedType.ContainingType, nestedType.GetCciAdapter());
Symbols\AbstractTypeMap.cs (1)
29NamedTypeSymbol newContainingType = SubstituteNamedType(previous.ContainingType);
Symbols\AssemblySymbol.cs (2)
1053Debug.Assert((object)result.ContainingType == null || IsValidWellKnownType(result.ContainingType),
Symbols\BaseTypeAnalysis.cs (1)
58TypeDependsClosure(type.ContainingType, currentCompilation, partialClosure);
Symbols\Compilation_WellKnownMembers.cs (2)
1124if ((object)named.ContainingType != null) 1138if ((object)named.ContainingType != null)
Symbols\ConstructedNamedTypeSymbol.cs (1)
64map: new TypeMap(constructedFrom.ContainingType, constructedFrom.OriginalDefinition.TypeParameters, typeArgumentsWithAnnotations),
Symbols\ErrorTypeSymbol.cs (1)
676_map = new TypeMap(constructedFrom.ContainingType, constructedFrom.OriginalDefinition.TypeParameters, typeArgumentsWithAnnotations);
Symbols\ExtendedErrorTypeSymbol.cs (3)
300((object)this.ContainingType != null ? this.ContainingType.Equals(other.ContainingType, comparison) :
Symbols\Extensions\SynthesizedExtensionMarker.cs (1)
42return ((SourceMemberContainerTypeSymbol)ContainingType.ContainingType).GetExtensionGroupingInfo().GetCorrespondingMarkerMethodVisibility(this);
Symbols\Metadata\PE\DynamicTypeDecoder.cs (2)
224NamedTypeSymbol containingType = namedType.ContainingType; 228newContainingType = TransformNamedType(namedType.ContainingType, isContaining: true);
Symbols\Metadata\PE\MemberRefMetadataDecoder.cs (1)
93var containingType = namedType.ContainingType;
Symbols\Metadata\PE\MetadataDecoder.cs (1)
261namedType = namedType.ContainingType;
Symbols\Metadata\PE\SymbolFactory.cs (1)
123typeToCheck = typeToCheck.ContainingType;
Symbols\Metadata\PE\TupleTypeDecoder.cs (1)
259NamedTypeSymbol containingType = type.ContainingType;
Symbols\MissingMetadataTypeSymbol.cs (1)
124else if (ContainingType is ErrorTypeSymbol { ErrorInfo: { } info })
Symbols\NamedTypeSymbol.cs (13)
994if ((object)this.ContainingType != null && 995!this.ContainingType.Equals(other.ContainingType, comparison)) 1064ContainingType?.AddNullableTransforms(transforms); 1213definition = definition.ContainingType; 1218typeA = typeA.ContainingType; 1219typeB = typeB.ContainingType; 1385for (var current = this; !ReferenceEquals(current, null); current = current.ContainingType) 1416var outer = ContainingType; 1437var outer = ContainingType; 1448ContainingType?.GetAllTypeArgumentsNoUseSiteDiagnostics(builder); 1456var outer = ContainingType; 1542currentType = currentType.ContainingType;
Symbols\PublicModel\MethodSymbol.cs (1)
365var enclosing = _underlying.ContainingType.ContainingType;
Symbols\Retargeting\RetargetingSymbolTranslator.cs (10)
285var container = type.ContainingType; 295container = container.ContainingType; 449NamedTypeSymbol containingType = type.ContainingType; 510Debug.Assert((object)type.ContainingType == null || !type.ContainingType.IsUnboundGenericType()); 528genericType = genericType.ContainingType; 575genericType = genericType.ContainingType; 679namedType = namedType.ContainingType; 1065containingType = containingType.ContainingType; 1066retargetedContainingType = retargetedContainingType.ContainingType;
Symbols\Source\ParameterHelpers.cs (1)
535if (extension.ExtensionParameter is not { } extensionParameter || extension.ContainingType.Arity != 0)
Symbols\Source\SourceAssemblySymbol.cs (1)
2839Debug.Assert((object)originalDefinition.ContainingType == null, "How did a nested type get forwarded?");
Symbols\Source\SourceMemberMethodSymbol.cs (1)
397if (containingType is { IsExtension: true, ContainingType: { } enclosing })
Symbols\Source\SourceMethodSymbolWithAttributes.cs (1)
1569for (NamedTypeSymbol curr = this.ContainingType; (object)curr != null; curr = curr.ContainingType)
Symbols\Source\SourceNamedTypeSymbol.cs (1)
2007if (ContainingType is null || !ContainingType.IsStatic || ContainingType.Arity != 0 || ContainingType.ContainingType is not null)
Symbols\Source\SourceNamedTypeSymbol_Extension.cs (2)
227if (namedType.ContainingType is { } containingType) 564if (namedType.ContainingType is { } containingType)
Symbols\Source\SourceOrdinaryMethodSymbol.cs (1)
230else if ((object)ContainingType.ContainingType != null)
Symbols\Source\SourcePropertySymbol.cs (2)
590if (containingType is { IsExtension: true, ContainingType: { } enclosing }) 673if (containingTypeForFileTypeCheck is { IsExtension: true, ContainingType: { } enclosing })
Symbols\SymbolExtensions.cs (2)
309while ((object?)upperLevelType.ContainingType != null) 311upperLevelType = upperLevelType.ContainingType;
Symbols\Tuples\TupleTypeSymbol.cs (1)
254Binder.ReportDiagnosticsIfObsoleteInternal(diagnostics, firstTupleType, syntax, firstTupleType.ContainingType, BinderFlags.None);
Symbols\TypeSymbolExtensions.cs (14)
1064for (var parent2 = s2.ContainingType; (object)parent2 != null; parent2 = parent2.ContainingType) 1106for (var parent2 = s2.ContainingType; (object)parent2 != null; parent2 = parent2.ContainingType) 1174for (var parent2 = s2.ContainingType; (object)parent2 != null; parent2 = parent2.ContainingType) 1200return (object)type.ContainingType == null; 1385ContainingType: null, 1398ContainingType: null, 1592code = Hash.Combine(type.ContainingType, code); 1638type = type.ContainingType; 1699if ((object)type.ContainingType == null) 1715var containingType = type.ContainingType; 1740type = type.ContainingType; 2147return typeSymbol is NamedTypeSymbol { Name: WellKnownMemberNames.LockTypeName, Arity: 0, ContainingType: null } && 2157ContainingType: null, 2191return type is NamedTypeSymbol { Name: "INumberBase", IsInterface: true, Arity: 1, ContainingType: null } &&
Symbols\TypeUnification.cs (4)
180return (object)nt1.ContainingType == null || CanUnifyHelper(nt1.ContainingType, nt2.ContainingType, ref substitution); 287namedType = namedType.ContainingType;
Symbols\UnboundGenericType.cs (1)
29NamedTypeSymbol originalContainingType = original.ContainingType;
Symbols\VarianceSafety.cs (2)
101for (var container = member.ContainingType; container is object; container = container.ContainingType) 421namedType = namedType.ContainingType;
Utilities\TypeSymbolExtensions.cs (2)
64namedType = namedType.ContainingType; 148namedType = namedType.ContainingType;
Microsoft.CodeAnalysis.CSharp.Emit.UnitTests (1)
CodeGen\CodeGenTupleTest.cs (1)
26971var container = contained.ContainingType;
Microsoft.CodeAnalysis.CSharp.Emit3.UnitTests (4)
Semantics\ExtensionTests.cs (4)
23902var implM = underlying.ContainingType.GetMember<MethodSymbol>("M"); 23953var implM = underlying.ContainingType.GetMember<MethodSymbol>("M"); 24084var implM = symbol.ContainingType.GetMember<MethodSymbol>("M"); 24133var implM = underlying.ContainingType.GetMember<MethodSymbol>("M");
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (2)
Semantics\NullableReferenceTypesTests.cs (2)
115917var cDefinition = iDefinition.ContainingType; 115967var cDefinition = iDefinition.ContainingType;
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (17)
DocumentationComments\CrefTests.cs (1)
1709Assert.Equal(actualParameterType, actualWinner.ContainingType.ContainingType.TypeArguments().Single());
Symbols\CompilationCreationTests.cs (3)
2288var args1 = retval1.ContainingType.TypeArguments().Concat(retval1.TypeArguments()); 2289var params1 = retval1.ContainingType.TypeParameters.Concat(retval1.TypeParameters); 2298var retval2 = retval1.ContainingType;
Symbols\Metadata\PE\BaseTypeResolution.cs (2)
301Assert.Equal(base7.ContainingType, assembly1.CachedTypeByEmittedName(base7.ContainingType.ToTestDisplayString()));
Symbols\Source\TypeMapTests.cs (11)
61Assert.Equal(atbu, c.ContainingType); 62Assert.Equal(u, TypeArg(c.ContainingType)); 63Assert.Equal(at, c.ContainingType.ContainingType); 64Assert.Equal(t, TypeArg(c.ContainingType.ContainingType)); 73Assert.Equal(top, bf.ContainingType); 76Assert.Equal(ae, aebf.ContainingType); 80Assert.Equal(f, TypeArg(aebfc.ContainingType)); 81Assert.Equal(e, TypeArg(aebfc.ContainingType.ContainingType));