43 references to FunctionPointer
Microsoft.CodeAnalysis (1)
MetadataReader\MetadataDecoder.cs (1)
1022value = (type.IsReferenceType || type.TypeKind == TypeKind.Pointer || type.TypeKind == TypeKind.FunctionPointer) ? ConstantValue.Null : ConstantValue.Bad;
Microsoft.CodeAnalysis.CodeStyle (1)
ITypeSymbolExtensions.cs (1)
89=> symbol?.TypeKind == TypeKind.FunctionPointer;
Microsoft.CodeAnalysis.CSharp (33)
Binder\Binder_Constraints.cs (1)
577case TypeKind.FunctionPointer:
Binder\Binder_Conversions.cs (6)
396case TypeKind.FunctionPointer: 1277|| delegateType.TypeKind == TypeKind.FunctionPointer, 1401return targetKind == TypeKind.FunctionPointer 1410TypeKind.FunctionPointer => ErrorCode.ERR_MethFuncPtrMismatch, 1418TypeKind.FunctionPointer => ErrorCode.ERR_FuncPtrRefMismatch, 1443Debug.Assert(Conversions.IsAssignableFromMulticastDelegate(delegateOrFuncPtrType, ref discardedUseSiteInfo) || delegateOrFuncPtrType.TypeKind == TypeKind.Delegate || delegateOrFuncPtrType.TypeKind == TypeKind.FunctionPointer);
Binder\Binder_Crefs.cs (1)
560case TypeKind.FunctionPointer:
Binder\Binder_Expressions.cs (2)
2613TypeKind.FunctionPointer => ErrorCode.ERR_MethFuncPtrMismatch, 4462case TypeKind.FunctionPointer:
Binder\Binder_Lookup.cs (1)
207case TypeKind.FunctionPointer:
Binder\Binder_Operators.cs (3)
606leftType?.TypeKind == TypeKind.FunctionPointer && rightType?.TypeKind == TypeKind.FunctionPointer) 3676else if (targetTypeKind == TypeKind.Pointer || targetTypeKind == TypeKind.FunctionPointer)
Binder\Binder_Statements.cs (2)
2428case TypeKind.FunctionPointer when fromAddressOf: 2431case TypeKind.FunctionPointer:
Binder\Semantics\OverloadResolution\OverloadResolutionResult.cs (1)
1190else if (argument.Kind == BoundKind.MethodGroup && parameterType.TypeKind == TypeKind.FunctionPointer)
CodeGen\EmitExpression.cs (1)
3826Debug.Assert(load.Type is { TypeKind: TypeKind.FunctionPointer });
Compilation\CSharpSemanticModel.cs (1)
2240else if (boundExpr is BoundConversion { ConversionKind: ConversionKind.MethodGroup, Conversion: var exprConversion, Type: { TypeKind: TypeKind.FunctionPointer }, SymbolOpt: var symbol })
Compiler\ClsComplianceChecker.cs (1)
986case TypeKind.FunctionPointer:
Lowering\LocalRewriter\LocalRewriter_Conversion.cs (1)
541case ConversionKind.MethodGroup when oldNodeOpt is { Type: { TypeKind: TypeKind.FunctionPointer } funcPtrType }:
Symbols\Compilation_WellKnownMembers.cs (1)
936case TypeKind.FunctionPointer:
Symbols\ConstraintsHelper.cs (1)
251case TypeKind.FunctionPointer:
Symbols\FunctionPointers\FunctionPointerTypeSymbol.cs (1)
75public override TypeKind TypeKind => TypeKind.FunctionPointer;
Symbols\Metadata\PE\NativeIntegerTypeDecoder.cs (1)
91case TypeKind.FunctionPointer:
Symbols\TypeSymbol.cs (1)
508TypeKind.FunctionPointer => Microsoft.Cci.PrimitiveTypeCode.FunctionPointer,
Symbols\TypeSymbolExtensions.cs (7)
298case TypeKind.FunctionPointer: 359return type.TypeKind == TypeKind.FunctionPointer; 367case TypeKind.FunctionPointer: 841case TypeKind.FunctionPointer: 1194type.VisitType((TypeSymbol t, object? _, bool _) => t.TypeKind is TypeKind.Pointer or TypeKind.FunctionPointer, null) is object; 1407case TypeKind.FunctionPointer: 1444case TypeKind.FunctionPointer:
Microsoft.CodeAnalysis.CSharp.CodeStyle (1)
InvokeDelegateWithConditionalAccessAnalyzer.cs (1)
92if (syntaxContext.SemanticModel.GetTypeInfo(invocationExpression.Expression, syntaxContext.CancellationToken).Type is { TypeKind: TypeKind.FunctionPointer })
Microsoft.CodeAnalysis.CSharp.Emit.UnitTests (2)
CodeGen\CodeGenFunctionPointersTests.cs (2)
302Assert.Equal(TypeKind.FunctionPointer, field.Type.TypeKind); 378Assert.Equal(TypeKind.FunctionPointer, field.Type.TypeKind);
Microsoft.CodeAnalysis.CSharp.Features (1)
InvokeDelegateWithConditionalAccessAnalyzer.cs (1)
92if (syntaxContext.SemanticModel.GetTypeInfo(invocationExpression.Expression, syntaxContext.CancellationToken).Type is { TypeKind: TypeKind.FunctionPointer })
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (2)
Semantics\FunctionPointerTests.cs (2)
190Assert.Equal(TypeKind.FunctionPointer, typeInfo.Type!.TypeKind); 276Assert.Equal(TypeKind.FunctionPointer, typeInfo.ConvertedType!.TypeKind);
Microsoft.CodeAnalysis.CSharp.Test.Utilities (1)
FunctionPointerUtilities.cs (1)
29Assert.Equal(TypeKind.FunctionPointer, symbol.TypeKind);
Microsoft.CodeAnalysis.Workspaces (1)
J\s\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\ITypeSymbolExtensions.cs\ITypeSymbolExtensions.cs (1)
89=> symbol?.TypeKind == TypeKind.FunctionPointer;