Binder\Binder_Conversions.cs (10)
378switch (type.TypeKind)
1276Debug.Assert(delegateType is NamedTypeSymbol { TypeKind: TypeKind.Delegate, DelegateInvokeMethod: { HasUseSiteError: false } }
1277|| delegateType.TypeKind == TypeKind.FunctionPointer,
1298Error(diagnostics, getMethodMismatchErrorCode(delegateType.TypeKind), errorLocation, method, delegateType);
1328if (!hasConversion(delegateType.TypeKind, Conversions, delegateParameter.Type, methodParameter.Type, delegateParameter.RefKind, methodParameter.RefKind, ref useSiteInfo))
1331Error(diagnostics, getMethodMismatchErrorCode(delegateType.TypeKind), errorLocation, method, delegateType);
1339Error(diagnostics, getRefMismatchErrorCode(delegateType.TypeKind), errorLocation, method, delegateType);
1349{ RefKind: var destinationRefKind } => hasConversion(delegateType.TypeKind, Conversions, methodReturnType, delegateReturnType, method.RefKind, destinationRefKind, ref useSiteInfo),
1443Debug.Assert(Conversions.IsAssignableFromMulticastDelegate(delegateOrFuncPtrType, ref discardedUseSiteInfo) || delegateOrFuncPtrType.TypeKind == TypeKind.Delegate || delegateOrFuncPtrType.TypeKind == TypeKind.FunctionPointer);
Symbols\TypeSymbolExtensions.cs (31)
63if (type.TypeKind != TypeKind.TypeParameter)
109if (type.TypeKind == TypeKind.TypeParameter)
201return type.TypeKind == TypeKind.Enum;
294switch (type.TypeKind)
314return type.TypeKind == TypeKind.Class;
320return type.TypeKind == TypeKind.Struct;
336return type.TypeKind == TypeKind.Dynamic;
342return type.TypeKind == TypeKind.TypeParameter;
348return type.TypeKind == TypeKind.Array;
354return type.TypeKind == TypeKind.Array && ((ArrayTypeSymbol)type).IsSZArray;
359return type.TypeKind == TypeKind.FunctionPointer;
364switch (type.TypeKind)
506return type.TypeKind == TypeKind.Delegate;
620switch (type.TypeKind)
695switch (current.TypeKind)
753switch (current.TypeKind)
853throw ExceptionUtilities.UnexpectedValue(current.TypeKind);
1076if (ReferenceEquals(parent2.OriginalDefinition, parent1OriginalDefinition) || parent1OriginalDefinition.TypeKind == TypeKind.Submission && parent2.TypeKind == TypeKind.Submission)
1116(type, parameter, unused) => type.TypeKind == TypeKind.TypeParameter && (parameter is null || TypeSymbol.Equals(type, parameter, TypeCompareKind.ConsiderEverything2));
1127(type, parameterContainer, unused) => type.TypeKind == TypeKind.TypeParameter && (object)type.ContainingSymbol == (object)parameterContainer;
1136(type, parameters, unused) => type.TypeKind == TypeKind.TypeParameter && parameters.Contains((TypeParameterSymbol)type);
1145(type, _, _) => type.TypeKind == TypeKind.TypeParameter && type.ContainingSymbol is MethodSymbol;
1156private static readonly Func<TypeSymbol, object?, bool, bool> s_containsDynamicPredicate = (type, unused1, unused2) => type.TypeKind == TypeKind.Dynamic;
1194type.VisitType((TypeSymbol t, object? _, bool _) => t.TypeKind is TypeKind.Pointer or TypeKind.FunctionPointer, null) is object;
1395switch (type.TypeKind)
1417throw ExceptionUtilities.UnexpectedValue(type.TypeKind);
1441switch (type.TypeKind)
1578return type.IsReferenceType && type.TypeKind != TypeKind.TypeParameter;
1586return type.IsValueType && type.TypeKind != TypeKind.TypeParameter;
1912if (taskType.TypeKind == TypeKind.Error)
Microsoft.CodeAnalysis.CSharp.ExpressionEvaluator.ExpressionCompiler.UnitTests (12)