25 overrides of TypeKind
Microsoft.CodeAnalysis.CSharp (25)
Lowering\AsyncRewriter\AsyncStateMachine.cs (1)
64public override TypeKind TypeKind
Lowering\ClosureConversion\SynthesizedClosureEnvironment.cs (1)
39public override TypeKind TypeKind { get; }
Lowering\IteratorRewriter\IteratorStateMachine.cs (1)
46public override TypeKind TypeKind
Lowering\LocalRewriter\DelegateCacheContainer.cs (1)
50public override TypeKind TypeKind => TypeKind.Class;
Lowering\LocalRewriter\DynamicSiteContainer.cs (1)
40public override TypeKind TypeKind
Symbols\AnonymousTypes\PublicSymbols\AnonymousManager.TypeOrDelegatePublicSymbol.cs (1)
172public abstract override TypeKind TypeKind { get; }
Symbols\AnonymousTypes\SynthesizedSymbols\AnonymousType.DelegateTemplateSymbol.cs (1)
227public override TypeKind TypeKind => TypeKind.Delegate;
Symbols\AnonymousTypes\SynthesizedSymbols\AnonymousType.TemplateSymbol.cs (1)
101public override TypeKind TypeKind
Symbols\ArrayTypeSymbol.cs (1)
297public override TypeKind TypeKind
Symbols\DynamicTypeSymbol.cs (1)
63public override TypeKind TypeKind
Symbols\ErrorTypeSymbol.cs (1)
231public sealed override TypeKind TypeKind
Symbols\FunctionPointers\FunctionPointerTypeSymbol.cs (1)
77public override TypeKind TypeKind => TypeKind.FunctionPointer;
Symbols\FunctionTypeSymbol.cs (1)
104public override TypeKind TypeKind => TypeKindInternal.FunctionType;
Symbols\Metadata\PE\PENamedTypeSymbol.cs (1)
1951public override TypeKind TypeKind
Symbols\PointerTypeSymbol.cs (1)
168public override TypeKind TypeKind
Symbols\Source\SourceFixedFieldSymbol.cs (1)
169public override TypeKind TypeKind
Symbols\Source\SourceMemberContainerSymbol.cs (1)
791public override TypeKind TypeKind
Symbols\Synthesized\ReadOnlyListType\SynthesizedReadOnlyListEnumeratorTypeSymbol.cs (1)
139public override TypeKind TypeKind => TypeKind.Class;
Symbols\Synthesized\ReadOnlyListType\SynthesizedReadOnlyListTypeSymbol.cs (1)
816public override TypeKind TypeKind => TypeKind.Class;
Symbols\Synthesized\SynthesizedEmbeddedAttributeSymbol.cs (1)
75public override TypeKind TypeKind => TypeKind.Class;
Symbols\Synthesized\SynthesizedHotReloadExceptionSymbol.cs (1)
92public override TypeKind TypeKind => TypeKind.Class;
Symbols\Synthesized\SynthesizedInlineArrayTypeSymbol.cs (1)
64public override TypeKind TypeKind => TypeKind.Struct;
Symbols\Synthesized\SynthesizedPrivateImplementationDetailsType.cs (1)
57public override TypeKind TypeKind => TypeKind.Class;
Symbols\TypeParameterSymbol.cs (1)
196public sealed override TypeKind TypeKind
Symbols\Wrapped\WrappedNamedTypeSymbol.cs (1)
119public override TypeKind TypeKind
306 references to TypeKind
Microsoft.CodeAnalysis.CSharp (306)
Binder\Binder_Attributes.cs (2)
58if (boundTypeSymbol.TypeKind != TypeKind.Error) 728parameter.Type.TypeKind == TypeKind.Array &&
Binder\Binder_Constraints.cs (2)
583switch (type.TypeKind) 628throw ExceptionUtilities.UnexpectedValue(type.TypeKind);
Binder\Binder_Conversions.cs (9)
778switch (type.TypeKind) 2828Debug.Assert(delegateType is NamedTypeSymbol { TypeKind: TypeKind.Delegate, DelegateInvokeMethod: { HasUseSiteError: false } } 2829|| delegateType.TypeKind == TypeKind.FunctionPointer, 2875delegateType.TypeKind, 2885Error(diagnostics, getMethodMismatchErrorCode(delegateType.TypeKind), errorLocation, method, delegateType); 2893Error(diagnostics, getRefMismatchErrorCode(delegateType.TypeKind), errorLocation, method, delegateType); 2904delegateType.TypeKind, 3019Debug.Assert(Conversions.IsAssignableFromMulticastDelegate(delegateOrFuncPtrType, ref discardedUseSiteInfo) || delegateOrFuncPtrType.TypeKind == TypeKind.Delegate || delegateOrFuncPtrType.TypeKind == TypeKind.FunctionPointer);
Binder\Binder_Crefs.cs (3)
713switch (type.TypeKind) 760throw ExceptionUtilities.UnexpectedValue(type.TypeKind); 1153Debug.Assert(type.TypeKind != TypeKind.Error || typeSyntax.ContainsDiagnostics || !typeSyntax.SyntaxTree.ReportDocumentationCommentDiagnostics(), "Why wasn't there a diagnostic?");
Binder\Binder_Expressions.cs (18)
2368if (this.ContainingType.TypeKind == TypeKind.Submission 2372if (memberDeclaringType.TypeKind == TypeKind.Submission) 2823if (targetType.TypeKind != TypeKind.Delegate || 2874var errorCode = targetType.TypeKind switch 4830if ((containingType.TypeKind == TypeKind.Enum || containingType.TypeKind == TypeKind.Struct) && initializerArgumentListOpt == null) 4881else if (initializerArgumentListOpt != null && containingType.TypeKind == TypeKind.Struct) 5202switch (type.TypeKind) 5221throw ExceptionUtilities.UnexpectedValue(type.TypeKind); 5238throw ExceptionUtilities.UnexpectedValue(type.TypeKind); 5451else if (argument.Type.TypeKind == TypeKind.Delegate) 5551Debug.Assert(type.TypeKind is TypeKind.Class or TypeKind.Struct); 6960Debug.Assert(coClassType.TypeKind == TypeKind.Class || coClassType.TypeKind == TypeKind.Error); 7307if (type.TypeKind == TypeKind.Enum) 7889if (leftType.TypeKind == TypeKind.TypeParameter) 9092if (receiverOpt is not BoundTypeExpression { Type: { TypeKind: TypeKind.TypeParameter } }) 9670switch (exprType.TypeKind)
Binder\Binder_InterpolatedString.cs (2)
397if (value.Type?.TypeKind == TypeKind.Dynamic) 433&& unconvertedInterpolatedString.Parts.All(p => p is not BoundStringInsert { Value.Type.TypeKind: TypeKind.Dynamic });
Binder\Binder_Lookup.cs (4)
255switch (type.TypeKind) 287throw ExceptionUtilities.UnexpectedValue(type.TypeKind); 894Debug.Assert(!type.IsInterfaceType() && type.TypeKind != TypeKind.TypeParameter); 1957switch (type.TypeKind)
Binder\Binder_Operators.cs (10)
999leftType?.TypeKind == TypeKind.FunctionPointer && rightType?.TypeKind == TypeKind.FunctionPointer) 1228(object)left.Type != null && left.Type.TypeKind == TypeKind.Delegate) 4552return targetType.TypeKind == TypeKind.Error; 4609var targetTypeKind = targetType.TypeKind; 4663if (operandType.TypeKind == TypeKind.Dynamic) 5036var targetTypeKind = targetType.TypeKind; 5140var operandTypeKind = operandType.TypeKind; 5154operandTypeKind = operandType.TypeKind; 5161targetTypeKind = targetType.TypeKind;
Binder\Binder_Patterns.cs (1)
1253if (iTupleType.TypeKind != TypeKind.Interface)
Binder\Binder_Query.cs (1)
963if (ultimateReceiver.Type.TypeKind == TypeKind.TypeParameter)
Binder\Binder_QueryErrors.cs (1)
82if (instanceType.TypeKind == TypeKind.Array || name == "Cast" && HasCastToQueryProvider(instanceType, ref useSiteInfo))
Binder\Binder_Statements.cs (3)
2325if (targetType.TypeKind == TypeKind.Error) 2385if (targetType.TypeKind == TypeKind.TypeParameter) 2482switch (targetType.TypeKind)
Binder\ForEachLoopBinder.cs (3)
1650switch (enumeratorType.TypeKind) 1661throw ExceptionUtilities.UnexpectedValue(enumeratorType.TypeKind); 1845if (type.TypeKind == TypeKind.TypeParameter)
Binder\PatternExplainer.cs (1)
649if (type is NamedTypeSymbol { TypeKind: TypeKind.Enum } e)
Binder\Semantics\AccessCheck.cs (3)
368if (containingType.TypeKind == TypeKind.Submission) 430if (originalContainingType.TypeKind == TypeKind.Submission) 700: containingType.TypeKind == TypeKind.Struct ? ErrorCode.ERR_ProtectedInStruct
Binder\Semantics\Conversions\Conversions.cs (1)
524if (spanType.TypeKind == TypeKind.Struct && spanType.IsRefLikeType)
Binder\Semantics\Conversions\ConversionsBase.cs (3)
2179if (otherType.TypeKind == TypeKind.Enum) 2648switch (source.TypeKind) 3308if ((source.TypeKind == TypeKind.TypeParameter) &&
Binder\Semantics\Conversions\UserDefinedExplicitConversions.cs (1)
266if (op.ReturnsVoid || op.ParameterCount != 1 || op.ReturnType.TypeKind == TypeKind.Error)
Binder\Semantics\Operators\OperatorFacts.cs (1)
19switch (type.TypeKind)
Binder\Semantics\OverloadResolution\MethodTypeInference.cs (7)
2261if (target.TypeKind != TypeKind.Class) 2280if (source.TypeKind == TypeKind.Class) 2284else if (source.TypeKind == TypeKind.TypeParameter) 2320switch (source.TypeKind) 2658if (source.TypeKind != TypeKind.Class || target.TypeKind != TypeKind.Class) 2697switch (target.TypeKind)
Binder\Semantics\OverloadResolution\OverloadResolution.cs (3)
2518if (m1.Member.ContainingType.TypeKind == TypeKind.Submission && m2.Member.ContainingType.TypeKind == TypeKind.Submission) 2806if (t1.TypeKind == TypeKind.Pointer)
Binder\Semantics\OverloadResolution\OverloadResolutionResult.cs (2)
1222else if (argument.Kind == BoundKind.MethodGroup && parameterType.TypeKind == TypeKind.Delegate && 1227else if (argument.Kind == BoundKind.MethodGroup && parameterType.TypeKind == TypeKind.FunctionPointer)
BoundTree\BoundDagTest.cs (1)
83var typeName = b.Type.TypeKind == TypeKind.Error ? "<error type>" : b.Type.ToString();
CodeGen\EmitAddress.cs (3)
420Debug.Assert(arrayAccess.Type.TypeKind == TypeKind.TypeParameter, "constrained call should only be used with type parameter types"); 530Debug.Assert(receiverType.TypeKind == TypeKind.TypeParameter || receiverType.IsValueType); 537return receiverType.TypeKind == TypeKind.TypeParameter && addressKind != AddressKind.Constrained;
CodeGen\EmitConversion.cs (1)
331if (receiver is not BoundTypeExpression { Type: { TypeKind: TypeKind.TypeParameter } })
CodeGen\EmitExpression.cs (8)
443(receiverType.IsReferenceType && receiverType.TypeKind == TypeKind.TypeParameter) || 809Debug.Assert(thisType.TypeKind != TypeKind.TypeParameter); 1086if (elementType.TypeKind == TypeKind.TypeParameter) 1668if (receiver is not BoundTypeExpression { Type: { TypeKind: TypeKind.TypeParameter } }) 2654if (left.Kind == BoundKind.ArrayAccess && left.Type.TypeKind == TypeKind.TypeParameter && !left.Type.IsValueType) 3484if (type is { TypeKind: TypeKind.TypeParameter } && constantValue.IsNull) 4099Debug.Assert(load.Type is { TypeKind: TypeKind.FunctionPointer }); 4105if (load.ConstrainedToTypeOpt is not { TypeKind: TypeKind.TypeParameter })
CodeGen\EmitStackAllocInitializer.cs (1)
27var elementType = (type.TypeKind == TypeKind.Pointer
CodeGen\EmitStatement.cs (1)
180if (exprType?.TypeKind == TypeKind.TypeParameter)
CodeGen\Optimizer.cs (2)
1171if ((method.IsAbstract || method.IsVirtual) && receiver is BoundTypeExpression { Type: { TypeKind: TypeKind.TypeParameter } } typeExpression) 2262if (receiverOpt is BoundTypeExpression { AliasOpt: null, BoundContainingTypeOpt: null, BoundDimensionsOpt: { IsEmpty: true }, Type: { TypeKind: TypeKind.TypeParameter } } typeExpression)
Compilation\CSharpCompilation.cs (8)
1958if (mainType is null || mainType.IsGenericType || (mainType.TypeKind != TypeKind.Class && mainType.TypeKind != TypeKind.Struct && !mainType.IsInterface)) 4303if (csharpReturnType.TypeKind is TypeKind.Dynamic || 4304csharpLeftType.TypeKind is TypeKind.Dynamic || 4305csharpRightType.TypeKind is TypeKind.Dynamic) 4347if (csharpLeftType.TypeKind is TypeKind.Delegate && 4529if (csharpReturnType.TypeKind is TypeKind.Dynamic || 4530csharpOperandType.TypeKind is TypeKind.Dynamic)
Compilation\CSharpSemanticModel.cs (3)
549if (varTypeInfo.Type is { TypeKind: not TypeKind.Error }) 979if (varTypeInfo.Type is { TypeKind: not TypeKind.Error }) 2253else if (boundExpr is BoundConversion { ConversionKind: ConversionKind.MethodGroup, Conversion: var exprConversion, Type: { TypeKind: TypeKind.FunctionPointer }, SymbolOpt: var symbol })
Compiler\ClsComplianceChecker.cs (8)
254if (symbol.TypeKind == TypeKind.Delegate) 474if (type.TypeKind == TypeKind.Delegate) 738System.Diagnostics.Debug.Assert(method.ContainingType.TypeKind == TypeKind.Delegate); 983switch (type.TypeKind) 1008throw ExceptionUtilities.UnexpectedValue(type.TypeKind); 1032if (type.TypeKind == TypeKind.Error) 1372TypeKind typeKind = xType.TypeKind; 1373if (yType.TypeKind != typeKind)
Compiler\MethodCompiler.cs (1)
635containingType is { IsImplicitlyDeclared: false, TypeKind: TypeKind.Class or TypeKind.Struct or TypeKind.Interface } &&
Emitter\Model\MethodSymbolAdapter.cs (1)
615return this.IsExtern || (object)ContainingType != null && ContainingType.TypeKind == TypeKind.Delegate;
Emitter\Model\NamedTypeSymbolAdapter.cs (2)
45get { return AdaptedNamedTypeSymbol.TypeKind == TypeKind.Enum; } 519switch (AdaptedNamedTypeSymbol.TypeKind)
Emitter\NoPia\EmbeddedTypesManager.cs (7)
266switch (namedType.TypeKind) 400Debug.Assert(namedType.TypeKind == TypeKind.Struct || namedType.TypeKind == TypeKind.Enum || namedType.TypeKind == TypeKind.Delegate); 403if (namedType.TypeKind == TypeKind.Struct || namedType.TypeKind == TypeKind.Enum) 453var containerKind = field.AdaptedFieldSymbol.ContainingType.TypeKind;
FlowAnalysis\AbstractFlowPass.cs (1)
2242fieldSymbol.ContainingType.TypeKind == TypeKind.Struct &&
FlowAnalysis\DefiniteAssignment.cs (5)
103&& CurrentSymbol is MethodSymbol { MethodKind: MethodKind.Constructor, ContainingType.TypeKind: TypeKind.Struct }; 1132(_trackClassFields || type.TypeKind == TypeKind.Struct); 1259Debug.Assert(CurrentSymbol is MethodSymbol { MethodKind: MethodKind.Constructor, ContainingType.TypeKind: TypeKind.Struct }); 1312if (CurrentSymbol is not MethodSymbol { MethodKind: MethodKind.Constructor, ContainingType.TypeKind: TypeKind.Struct }) 2645switch (type.TypeKind)
FlowAnalysis\EmptyStructTypeCache.cs (1)
233switch (type.TypeKind)
FlowAnalysis\NullableWalker.cs (7)
2454return valueType.Type?.TypeKind == TypeKind.TypeParameter && 4641if (type.TypeKind != TypeKind.Struct) 4794_ => throw ExceptionUtilities.UnexpectedValue(type.TypeKind) 4871_ => throw ExceptionUtilities.UnexpectedValue(type.TypeKind) 5793{ TypeKind: TypeKind.Interface } => type.AllInterfacesNoUseSiteDiagnostics, 9358NamedTypeSymbol { TypeKind: TypeKind.Delegate, DelegateInvokeMethod: { Parameters: { } parameters } signature } => (signature, parameters), 10109case BoundExpression arg when arg.Type is { TypeKind: TypeKind.Delegate }:
Lowering\AsyncRewriter\AsyncMethodToStateMachineRewriter.cs (2)
562LocalSymbol thisTemp = (F.CurrentType.TypeKind == TypeKind.Class) ? F.SynthesizedLocal(F.CurrentType) : null; 623LocalSymbol thisTemp = (F.CurrentType.TypeKind == TypeKind.Class) ? F.SynthesizedLocal(F.CurrentType) : null;
Lowering\AsyncRewriter\AsyncRewriter.cs (3)
172if (F.CurrentType.TypeKind == TypeKind.Class) 195if (stateMachineType.TypeKind == TypeKind.Class) 204if (frameType.TypeKind == TypeKind.Class)
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (2)
603if (e.StrippedType().TypeKind == TypeKind.Enum) 799if ((object)d != null && d.TypeKind == TypeKind.Delegate)
Lowering\Instrumentation\LocalStateTracingInstrumenter.cs (1)
241_ when variableType.TypeKind is TypeKind.Struct
Lowering\LocalRewriter\LocalRewriter.cs (1)
843Debug.Assert(node.Expression.Type is { TypeKind: TypeKind.Array });
Lowering\LocalRewriter\LocalRewriter_BinaryOperator.cs (4)
2278Debug.Assert(loweredLeft.Type is { TypeKind: TypeKind.Pointer }); 2283Debug.Assert(loweredRight.Type is { TypeKind: TypeKind.Pointer }); 2470Debug.Assert(loweredLeft.Type is { TypeKind: TypeKind.Pointer }); 2471Debug.Assert(loweredRight.Type is { TypeKind: TypeKind.Pointer });
Lowering\LocalRewriter\LocalRewriter_Conversion.cs (1)
548case ConversionKind.MethodGroup when oldNodeOpt is { Type: { TypeKind: TypeKind.FunctionPointer } funcPtrType }:
Lowering\LocalRewriter\LocalRewriter_FixedStatement.cs (2)
213else if (fixedCollectionInitializer.Expression.Type is { TypeKind: TypeKind.Array }) 241Debug.Assert(initializerExpr.Type is { TypeKind: TypeKind.Pointer });
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (4)
864Debug.Assert(collectionExpression.Type is { TypeKind: TypeKind.Array }); 892Debug.Assert(collectionExpression.Type is { TypeKind: TypeKind.Array }); 1013Debug.Assert(collectionExpression.Type is { TypeKind: TypeKind.Array }); 1041Debug.Assert(collectionExpression.Type is { TypeKind: TypeKind.Array });
Lowering\LocalRewriter\LocalRewriter_PropertyAccess.cs (1)
37if (rewrittenReceiverOpt is { Type: { TypeKind: TypeKind.Array } } && !isLeftOfAssignment)
Lowering\LocalRewriter\LocalRewriter_UnaryOperator.cs (1)
919Debug.Assert(binaryOperand.Type is { TypeKind: TypeKind.Pointer });
Lowering\StateMachineRewriter\IteratorAndAsyncCaptureWalker.cs (1)
64if (!method.IsStatic && method.ContainingType.TypeKind == TypeKind.Struct)
Lowering\SyntheticBoundNodeFactory.cs (3)
1178Debug.Assert(array.Type is { TypeKind: TypeKind.Array }); 1184Debug.Assert(array.Type is { TypeKind: TypeKind.Array }); 1197Debug.Assert(array.Type is { TypeKind: TypeKind.Array });
Symbols\ArrayTypeSymbol.cs (1)
379while (current.TypeKind == TypeKind.Array)
Symbols\AssemblySymbol.cs (3)
501return GetSpecialType(SpecialType.System_Runtime_CompilerServices_RuntimeFeature) is { TypeKind: TypeKind.Class, IsStatic: true } && 524GetSpecialType(SpecialType.System_Runtime_CompilerServices_PreserveBaseOverridesAttribute) is { TypeKind: TypeKind.Class }; 1029if (result is null || result.TypeKind == TypeKind.Error)
Symbols\BaseTypeAnalysis.cs (1)
118if (fieldType is null || fieldType.TypeKind != TypeKind.Struct || field.IsStatic)
Symbols\Compilation_WellKnownMembers.cs (2)
221if (type.Kind != SymbolKind.NamedType || type.TypeKind != TypeKind.Class) 940switch (type.TypeKind)
Symbols\ConstantValueUtils.cs (1)
89if (typeSymbol.TypeKind == TypeKind.TypeParameter)
Symbols\ConstraintsHelper.cs (5)
242if (underlyingType.TypeKind == TypeKind.TypeParameter) 1483switch (typeArgument.TypeKind) 1508throw ExceptionUtilities.UnexpectedValue(typeArgument.TypeKind); 1517Debug.Assert(type.TypeKind is TypeKind.Class or TypeKind.Struct); 1565switch (type.TypeKind)
Symbols\DynamicTypeSymbol.cs (1)
205if (ReferenceEquals(this, t2) || t2.TypeKind == TypeKind.Dynamic)
Symbols\ExtendedErrorTypeSymbol.cs (6)
224if ((object?)oldSymbol == null || oldSymbol.TypeKind != TypeKind.Error) 252if (oldSymbol.TypeKind != TypeKind.Error) 254return oldSymbol.TypeKind; 273if ((object?)type != null && type.TypeKind != TypeKind.Error) 276commonTypeKind = type.TypeKind; 277else if (commonTypeKind != type.TypeKind)
Symbols\Extensions\SynthesizedExtensionMarker.cs (1)
95else if (parameterRefKind is RefKind.In or RefKind.RefReadOnlyParameter && parameterType.TypeKind != TypeKind.Struct)
Symbols\Metadata\PE\MetadataDecoder.cs (1)
395switch (candidate.TypeKind)
Symbols\Metadata\PE\NativeIntegerTypeDecoder.cs (2)
84switch (type.TypeKind) 102Debug.Assert(type.TypeKind == TypeKind.Error);
Symbols\Metadata\PE\PEMethodSymbol.cs (1)
1311if ((this.ContainingType.TypeKind == TypeKind.Class && this.IsRuntimeFinalizer(skipFirstMethodKindCheck: true)) ||
Symbols\Metadata\PE\PENamedTypeSymbol.cs (1)
2627var coClassType = ((object)type != null && (type.TypeKind == TypeKind.Class || type.IsErrorType())) ? (NamedTypeSymbol)type : null;
Symbols\Metadata\PE\TupleTypeDecoder.cs (1)
200throw ExceptionUtilities.UnexpectedValue(type.TypeKind);
Symbols\MissingMetadataTypeSymbol.cs (1)
376t2.TypeKind == TypeKind.Dynamic &&
Symbols\NamedTypeSymbol.cs (8)
178if (TypeKind != TypeKind.Delegate) 364(thisParam.RefKind is RefKind.In or RefKind.RefReadOnlyParameter && thisParam.Type.TypeKind != TypeKind.Struct)) 398var kind = TypeKind; 412var kind = TypeKind; 446return TypeKind == TypeKind.Submission; 465var name = (TypeKind == TypeKind.Submission) ? SynthesizedEntryPointSymbol.FactoryName : SynthesizedEntryPointSymbol.MainName; 809if (t2.TypeKind == TypeKind.Dynamic) 1635/// Requires less computation than <see cref="TypeSymbol.TypeKind"/> == <see cref="TypeKind.Interface"/>.
Symbols\PointerTypeSymbol.cs (1)
222while (current.TypeKind == TypeKind.Pointer)
Symbols\PublicModel\TypeSymbol.cs (1)
144return UnderlyingTypeSymbol.TypeKind;
Symbols\Source\ExplicitInterfaceHelpers.cs (1)
191switch (containingType.TypeKind)
Symbols\Source\SourceAssemblySymbol.cs (1)
2224Debug.Assert(forwardedType.TypeKind != TypeKind.Error);
Symbols\Source\SourceEventSymbol.cs (4)
624else if (IsAbstract && ContainingType.TypeKind == TypeKind.Struct) 629else if (IsVirtual && ContainingType.TypeKind == TypeKind.Struct) 670else if (IsAbstract && !ContainingType.IsAbstract && (ContainingType.TypeKind == TypeKind.Class || ContainingType.TypeKind == TypeKind.Submission))
Symbols\Source\SourceMemberContainerSymbol.cs (4)
2672(type.TypeKind == TypeKind.Struct) && 3003if (f is null || !f.IsStatic || f.Type.TypeKind != TypeKind.Struct) continue; 3032if (f is null || !f.IsStatic || f.Type.TypeKind != TypeKind.Struct) continue; 3867if (type.TypeKind == TypeKind.Extension)
Symbols\Source\SourceMemberFieldSymbol.cs (1)
574if (ContainingType.TypeKind != TypeKind.Struct)
Symbols\Source\SourceMethodSymbolWithAttributes.cs (1)
1472if (ContainingSymbol is NamedTypeSymbol { IsComImport: true, TypeKind: TypeKind.Class or TypeKind.Interface })
Symbols\Source\SourceNamedTypeSymbol.cs (2)
1241return builderType is NamedTypeSymbol { TypeKind: TypeKind.Class or TypeKind.Struct, IsGenericType: false }; 1348if ((object)coClassType != null && coClassType.TypeKind == TypeKind.Class)
Symbols\Source\SourceNamedTypeSymbol_Bases.cs (9)
312else if (baseType.TypeKind == TypeKind.Error && (object)partBase != null) 319else if ((object)partBase != null && !TypeSymbol.Equals(partBase, baseType, TypeCompareKind.ConsiderEverything) && partBase.TypeKind != TypeKind.Error) 508if (baseType.TypeKind == TypeKind.Error) 520if ((baseType.TypeKind == TypeKind.Class || 521baseType.TypeKind == TypeKind.Delegate || 522baseType.TypeKind == TypeKind.Struct || 548switch (baseType.TypeKind) 614throw ExceptionUtilities.UnexpectedValue(baseType.TypeKind); 633(TypeKind != TypeKind.Class || baseType.TypeKind == TypeKind.Interface || ((TypeDeclarationSyntax)decl.SyntaxReference.GetSyntax()).ParameterList is null))
Symbols\Source\SourceOrdinaryMethodSymbol.cs (5)
863else if (IsSealed && ContainingType.TypeKind == TypeKind.Struct) 885else if (IsAbstract && ContainingType.TypeKind == TypeKind.Struct) 890else if (IsVirtual && ContainingType.TypeKind == TypeKind.Struct) 900else if (IsAbstract && !ContainingType.IsAbstract && (ContainingType.TypeKind == TypeKind.Class || ContainingType.TypeKind == TypeKind.Submission))
Symbols\Source\SourcePropertyAccessorSymbol.cs (3)
530if (IsAbstract && !ContainingType.IsAbstract && (ContainingType.TypeKind == TypeKind.Class || ContainingType.TypeKind == TypeKind.Submission)) 535else if (IsVirtual && ContainingType.IsSealed && ContainingType.TypeKind != TypeKind.Struct) // error CS0106 on struct already
Symbols\Source\SourcePropertySymbolBase.cs (2)
1115else if (IsAbstract && ContainingType.TypeKind == TypeKind.Struct) 1120else if (IsVirtual && ContainingType.TypeKind == TypeKind.Struct)
Symbols\Source\SourceUserDefinedOperatorSymbolBase.cs (1)
427case { TypeKind: TypeKind.TypeParameter, IsReferenceType: false }:
Symbols\Source\ThisParameterSymbol.cs (1)
152if (ContainingType?.TypeKind != TypeKind.Struct)
Symbols\Symbol.cs (3)
257if (ContainingType?.TypeKind == TypeKind.Submission) 279if (ContainingType.TypeKind == TypeKind.Submission) 290Debug.Assert(ContainingType.TypeKind != TypeKind.Submission);
Symbols\Symbol_Attributes.cs (2)
68switch (namedType.TypeKind) 90throw ExceptionUtilities.UnexpectedValue(namedType.TypeKind);
Symbols\SymbolExtensions.cs (3)
84return superType.TypeKind == TypeKind.Submission && subType.TypeKind == TypeKind.Submission; 238if (type.TypeKind == TypeKind.TypeParameter)
Symbols\Synthesized\SynthesizedContainer.cs (3)
48internal sealed override bool IsInterface => this.TypeKind == TypeKind.Interface; 90public override bool IsAbstract => (object)Constructor == null && this.TypeKind != TypeKind.Struct; 161internal override NamedTypeSymbol BaseTypeNoUseSiteDiagnostics => ContainingAssembly.GetSpecialType(this.TypeKind == TypeKind.Struct ? SpecialType.System_ValueType : SpecialType.System_Object);
Symbols\Synthesized\SynthesizedInstanceConstructor.cs (2)
84Debug.Assert(_containingType.TypeKind == TypeKind.Class); 88if (_containingType.TypeKind == TypeKind.Delegate)
Symbols\Synthesized\SynthesizedSubmissionConstructor.cs (1)
19Debug.Assert(containingType.TypeKind == TypeKind.Submission);
Symbols\TypeParameterSymbol.cs (3)
394if (constraint.TypeKind == TypeKind.TypeParameter) 404Debug.Assert(constraint.TypeKind != TypeKind.TypeParameter); 412switch (constraint.TypeKind)
Symbols\TypeSymbol.cs (6)
108var interfaces = (baseType.TypeKind == TypeKind.TypeParameter) ? ((TypeParameterSymbol)baseType).EffectiveInterfacesNoUseSiteDiagnostics : baseType.InterfacesNoUseSiteDiagnostics(); 344var interfaces = (baseType.TypeKind == TypeKind.TypeParameter) ? ((TypeParameterSymbol)baseType).EffectiveInterfacesNoUseSiteDiagnostics : baseType.InterfacesNoUseSiteDiagnostics(); 507=> TypeKind switch 560=> TypeKind == TypeKind.Extension; 2518TypeKind ITypeSymbolInternal.TypeKind => this.TypeKind; 2544if (this.TypeKind == TypeKind.Struct)
Symbols\TypeSymbolExtensions.cs (31)
72if (type.TypeKind != TypeKind.TypeParameter) 118if (type.TypeKind == TypeKind.TypeParameter) 223return type.TypeKind == TypeKind.Enum; 316switch (type.TypeKind) 336return type.TypeKind == TypeKind.Class; 342return type.TypeKind == TypeKind.Struct; 358return type.TypeKind == TypeKind.Dynamic; 364return type.TypeKind == TypeKind.TypeParameter; 370return type.TypeKind == TypeKind.Array; 376return type.TypeKind == TypeKind.Array && ((ArrayTypeSymbol)type).IsSZArray; 401return type.TypeKind == TypeKind.FunctionPointer; 406switch (type.TypeKind) 419switch (type.TypeKind) 571return type.TypeKind == TypeKind.Delegate; 700switch (type.TypeKind) 775switch (current.TypeKind) 833switch (current.TypeKind) 943throw ExceptionUtilities.UnexpectedValue(current.TypeKind); 1166if (ReferenceEquals(parent2.OriginalDefinition, parent1OriginalDefinition) || parent1OriginalDefinition.TypeKind == TypeKind.Submission && parent2.TypeKind == TypeKind.Submission) 1206(type, parameter, unused) => type.TypeKind == TypeKind.TypeParameter && (parameter is null || TypeSymbol.Equals(type, parameter, TypeCompareKind.ConsiderEverything2)); 1217(type, parameterContainer, unused) => type.TypeKind == TypeKind.TypeParameter && (object)type.ContainingSymbol == (object)parameterContainer; 1226(type, parameters, unused) => type.TypeKind == TypeKind.TypeParameter && parameters.Contains((TypeParameterSymbol)type); 1235(type, _, _) => type.TypeKind == TypeKind.TypeParameter && type.ContainingSymbol is MethodSymbol; 1246private static readonly Func<TypeSymbol, object?, bool, bool> s_containsDynamicPredicate = (type, unused1, unused2) => type.TypeKind == TypeKind.Dynamic; 1284type.VisitType((TypeSymbol t, object? _, bool _) => t.TypeKind is TypeKind.Pointer or TypeKind.FunctionPointer, null) is object; 1509switch (type.TypeKind) 1531throw ExceptionUtilities.UnexpectedValue(type.TypeKind); 1671return type.IsReferenceType && type.TypeKind != TypeKind.TypeParameter; 1679return type.IsValueType && type.TypeKind != TypeKind.TypeParameter; 2004if (taskType.TypeKind == TypeKind.Error)
Symbols\TypeWithAnnotations.cs (3)
200if (typeSymbol.TypeKind != TypeKind.TypeParameter) 271public TypeKind TypeKind => Type.TypeKind; 650if (type.TypeKind != TypeKind.Array)
Symbols\VarianceSafety.cs (3)
73switch (member.TypeKind) 86throw ExceptionUtilities.UnexpectedValue(member.TypeKind); 371switch (namedType.TypeKind)
Symbols\Wrapped\WrappedNamedTypeSymbol.cs (1)
123return _underlyingType.TypeKind;
Utilities\TypeSymbolExtensions.cs (4)
181switch (type.TypeKind) 206throw ExceptionUtilities.UnexpectedValue(type.TypeKind); 276switch (type.TypeKind) 286throw ExceptionUtilities.UnexpectedValue(type.TypeKind);