144 references to SignatureCallingConvention
Microsoft.CodeAnalysis (26)
Compilation\Compilation.cs (3)
1134SignatureCallingConvention callingConvention = SignatureCallingConvention.Default, 1145SignatureCallingConvention callingConvention,
PEWriter\Members.cs (21)
30CDecl = SignatureCallingConvention.CDecl, 35Default = SignatureCallingConvention.Default, 40ExtraArguments = SignatureCallingConvention.VarArgs, 45FastCall = SignatureCallingConvention.FastCall, 50Standard = SignatureCallingConvention.StdCall, 55ThisCall = SignatureCallingConvention.ThisCall, 61Unmanaged = SignatureCallingConvention.Unmanaged, 81private const SignatureCallingConvention SignatureCallingConventionMask = 82SignatureCallingConvention.Default 83| SignatureCallingConvention.CDecl 84| SignatureCallingConvention.StdCall 85| SignatureCallingConvention.ThisCall 86| SignatureCallingConvention.FastCall 87| SignatureCallingConvention.VarArgs 88| SignatureCallingConvention.Unmanaged; 95internal static CallingConvention FromSignatureConvention(this SignatureCallingConvention convention) 105internal static bool IsValid(this SignatureCallingConvention convention) 106=> convention <= SignatureCallingConvention.VarArgs || convention == SignatureCallingConvention.Unmanaged; 108internal static SignatureCallingConvention ToSignatureConvention(this CallingConvention convention) 109=> (SignatureCallingConvention)convention & SignatureCallingConventionMask;
Symbols\IMethodSymbol.cs (2)
220SignatureCallingConvention CallingConvention { get; } 224/// and the <see cref="CallingConvention"/> is <see cref="SignatureCallingConvention.Unmanaged"/>. If this is not a function pointer signature or the calling convention is
Microsoft.CodeAnalysis.CodeStyle (5)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.FunctionPointerTypeSymbolKey.cs (5)
18var callingConvention = symbol.Signature.CallingConvention; 21if (callingConvention == SignatureCallingConvention.Unmanaged) 35var callingConvention = (SignatureCallingConvention)reader.ReadInteger(); 38if (callingConvention == SignatureCallingConvention.Unmanaged)
Microsoft.CodeAnalysis.CodeStyle.Fixes (2)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationAbstractMethodSymbol.cs (2)
107public SignatureCallingConvention CallingConvention => SignatureCallingConvention.Default;
Microsoft.CodeAnalysis.CSharp (14)
Compilation\CSharpCompilation.cs (2)
4067SignatureCallingConvention callingConvention, 4105if (callingConvention != SignatureCallingConvention.Unmanaged && !callingConventionTypes.IsDefaultOrEmpty)
SymbolDisplay\SymbolDisplayVisitor.Members.cs (7)
587if (symbol.CallingConvention != SignatureCallingConvention.Default) 594if (symbol.CallingConvention != SignatureCallingConvention.Unmanaged || !conventionTypes.IsEmpty) 600case SignatureCallingConvention.CDecl: 603case SignatureCallingConvention.StdCall: 606case SignatureCallingConvention.ThisCall: 609case SignatureCallingConvention.FastCall: 613case SignatureCallingConvention.Unmanaged:
Symbols\Metadata\PE\MemberRefMetadataDecoder.cs (2)
147case (byte)SignatureCallingConvention.Default: 148case (byte)SignatureCallingConvention.VarArgs:
Symbols\Metadata\PE\PEMethodSymbol.cs (1)
525public override bool IsVararg => Signature.Header.CallingConvention == SignatureCallingConvention.VarArgs;
Symbols\PublicModel\MethodSymbol.cs (1)
271SignatureCallingConvention IMethodSymbol.CallingConvention => _underlying.CallingConvention.ToSignatureConvention();
Symbols\SignatureOnlyMethodSymbol.cs (1)
65public override bool IsVararg { get { return new SignatureHeader((byte)_callingConvention).CallingConvention == SignatureCallingConvention.VarArgs; } }
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (7)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ITypeSymbolExtensions.TypeSyntaxGeneratorVisitor.cs (7)
136if (symbol.Signature.CallingConvention is not System.Reflection.Metadata.SignatureCallingConvention.Default 137and not System.Reflection.Metadata.SignatureCallingConvention.VarArgs) 141System.Reflection.Metadata.SignatureCallingConvention.CDecl => [GetConventionForString("Cdecl")], 142System.Reflection.Metadata.SignatureCallingConvention.StdCall => [GetConventionForString("Stdcall")], 143System.Reflection.Metadata.SignatureCallingConvention.ThisCall => [GetConventionForString("Thiscall")], 144System.Reflection.Metadata.SignatureCallingConvention.FastCall => [GetConventionForString("Fastcall")], 145System.Reflection.Metadata.SignatureCallingConvention.Unmanaged =>
Microsoft.CodeAnalysis.CSharp.Emit.UnitTests (1)
CodeGen\CodeGenFunctionPointersTests.cs (1)
4067DefineInvalidSignatureAttributeIL(metadataBuilder, ilBuilder, headerToUseForM: new SignatureHeader(SignatureKind.Method, SignatureCallingConvention.Default, ((SignatureAttributes)0x80)));
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (27)
Symbols\FunctionPointerTypeSymbolTests.cs (21)
1536Assert.Throws<ArgumentNullException>("callingConventionTypes[0]", () => comp.CreateFunctionPointerTypeSymbol(returnType: @string, returnRefKind: RefKind.None, parameterTypes: ImmutableArray<ITypeSymbol>.Empty, parameterRefKinds: ImmutableArray<RefKind>.Empty, callingConvention: SignatureCallingConvention.Unmanaged, ImmutableArray.Create((INamedTypeSymbol)null!))); 1539Assert.Throws<ArgumentOutOfRangeException>(() => comp.CreateFunctionPointerTypeSymbol(returnType: @string, returnRefKind: RefKind.None, parameterTypes: ImmutableArray<ITypeSymbol>.Empty, parameterRefKinds: ImmutableArray<RefKind>.Empty, callingConvention: (SignatureCallingConvention)10)); 1540Assert.Throws<ArgumentException>(() => comp.CreateFunctionPointerTypeSymbol(returnType: @string, returnRefKind: RefKind.None, parameterTypes: ImmutableArray<ITypeSymbol>.Empty, parameterRefKinds: ImmutableArray<RefKind>.Empty, callingConvention: SignatureCallingConvention.Default, callingConventionTypes: ImmutableArray.Create(cdeclType)!)); 1541Assert.Throws<ArgumentException>(() => comp.CreateFunctionPointerTypeSymbol(returnType: @string, returnRefKind: RefKind.None, parameterTypes: ImmutableArray<ITypeSymbol>.Empty, parameterRefKinds: ImmutableArray<RefKind>.Empty, callingConvention: SignatureCallingConvention.StdCall, callingConventionTypes: ImmutableArray.Create(cdeclType)!)); 1542Assert.Throws<ArgumentException>(() => comp.CreateFunctionPointerTypeSymbol(returnType: @string, returnRefKind: RefKind.None, parameterTypes: ImmutableArray<ITypeSymbol>.Empty, parameterRefKinds: ImmutableArray<RefKind>.Empty, callingConvention: SignatureCallingConvention.FastCall, callingConventionTypes: ImmutableArray.Create(cdeclType)!)); 1543Assert.Throws<ArgumentException>(() => comp.CreateFunctionPointerTypeSymbol(returnType: @string, returnRefKind: RefKind.None, parameterTypes: ImmutableArray<ITypeSymbol>.Empty, parameterRefKinds: ImmutableArray<RefKind>.Empty, callingConvention: SignatureCallingConvention.CDecl, callingConventionTypes: ImmutableArray.Create(cdeclType)!)); 1544Assert.Throws<ArgumentException>(() => comp.CreateFunctionPointerTypeSymbol(returnType: @string, returnRefKind: RefKind.None, parameterTypes: ImmutableArray<ITypeSymbol>.Empty, parameterRefKinds: ImmutableArray<RefKind>.Empty, callingConvention: SignatureCallingConvention.ThisCall, callingConventionTypes: ImmutableArray.Create(cdeclType)!)); 1545Assert.Throws<ArgumentException>(() => comp.CreateFunctionPointerTypeSymbol(returnType: @string, returnRefKind: RefKind.None, parameterTypes: ImmutableArray<ITypeSymbol>.Empty, parameterRefKinds: ImmutableArray<RefKind>.Empty, callingConvention: SignatureCallingConvention.Unmanaged, callingConventionTypes: ImmutableArray.Create(@string)!)); 1553var ptr = comp.CreateFunctionPointerTypeSymbol(returnType: @string, returnRefKind: RefKind.None, parameterTypes: ImmutableArray<ITypeSymbol>.Empty, parameterRefKinds: ImmutableArray<RefKind>.Empty, callingConvention: SignatureCallingConvention.VarArgs); 1555Assert.Equal(SignatureCallingConvention.VarArgs, ptr.Signature.CallingConvention); 1628[InlineData("[Cdecl]", SignatureCallingConvention.CDecl)] 1629[InlineData("[Thiscall]", SignatureCallingConvention.ThisCall)] 1630[InlineData("[Stdcall]", SignatureCallingConvention.StdCall)] 1631[InlineData("[Fastcall]", SignatureCallingConvention.FastCall)] 1632[InlineData("", SignatureCallingConvention.Unmanaged)] 1633public void PublicApi_CallingConventions_NoModopts(string expectedText, SignatureCallingConvention convention) 1653var ptr = comp.CreateFunctionPointerTypeSymbol(@string, returnRefKind: RefKind.None, parameterTypes: ImmutableArray<ITypeSymbol>.Empty, parameterRefKinds: ImmutableArray<RefKind>.Empty, SignatureCallingConvention.Unmanaged, ImmutableArray.Create(cdeclType, stdcallType)!); 1655ptr = comp.CreateFunctionPointerTypeSymbol(@string, returnRefKind: RefKind.RefReadOnly, parameterTypes: ImmutableArray<ITypeSymbol>.Empty, parameterRefKinds: ImmutableArray<RefKind>.Empty, SignatureCallingConvention.Unmanaged, ImmutableArray.Create(cdeclType, stdcallType)!); 1658ptr = comp.CreateFunctionPointerTypeSymbol(@string, returnRefKind: RefKind.None, parameterTypes: ImmutableArray<ITypeSymbol>.Empty, parameterRefKinds: ImmutableArray<RefKind>.Empty, SignatureCallingConvention.Unmanaged, ImmutableArray.Create(cdeclType)!); 1660Assert.Equal(SignatureCallingConvention.Unmanaged, ptr.Signature.CallingConvention); 1970callingConvention: SignatureCallingConvention.Unmanaged,
Symbols\TypeTests.cs (6)
2349Assert.Equal(SignatureCallingConvention.Default, m1.CallingConvention); 2354Assert.Equal(SignatureCallingConvention.Default, m2.CallingConvention); 2359Assert.Equal(SignatureCallingConvention.VarArgs, m3.CallingConvention); 2397Assert.Equal(SignatureCallingConvention.Default, m1.CallingConvention); 2402Assert.Equal(SignatureCallingConvention.Default, m2.CallingConvention); 2407Assert.Equal(SignatureCallingConvention.VarArgs, m3.CallingConvention);
Microsoft.CodeAnalysis.CSharp.Workspaces (7)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ITypeSymbolExtensions.TypeSyntaxGeneratorVisitor.cs (7)
136if (symbol.Signature.CallingConvention is not System.Reflection.Metadata.SignatureCallingConvention.Default 137and not System.Reflection.Metadata.SignatureCallingConvention.VarArgs) 141System.Reflection.Metadata.SignatureCallingConvention.CDecl => [GetConventionForString("Cdecl")], 142System.Reflection.Metadata.SignatureCallingConvention.StdCall => [GetConventionForString("Stdcall")], 143System.Reflection.Metadata.SignatureCallingConvention.ThisCall => [GetConventionForString("Thiscall")], 144System.Reflection.Metadata.SignatureCallingConvention.FastCall => [GetConventionForString("Fastcall")], 145System.Reflection.Metadata.SignatureCallingConvention.Unmanaged =>
Microsoft.CodeAnalysis.Features (1)
MetadataAsSource\AbstractMetadataAsSourceService.WrappedMethodSymbol.cs (1)
130public SignatureCallingConvention CallingConvention => _symbol.CallingConvention;
Microsoft.CodeAnalysis.VisualBasic (5)
Compilation\VisualBasicCompilation.vb (1)
2915callingConvention As System.Reflection.Metadata.SignatureCallingConvention,
Symbols\Metadata\PE\MemberRefMetadataDecoder.vb (2)
122Case SignatureCallingConvention.Default, SignatureCallingConvention.VarArgs
Symbols\Metadata\PE\PEMethodSymbol.vb (1)
775Return Signature.Header.CallingConvention = SignatureCallingConvention.VarArgs
Symbols\SignatureOnlyMethodSymbol.vb (1)
60Return New SignatureHeader(CByte(_callingConvention)).CallingConvention = SignatureCallingConvention.VarArgs
Microsoft.CodeAnalysis.VisualBasic.Emit.UnitTests (1)
Emit\NoPiaEmbedTypes.vb (1)
1306Assert.Equal(CByte(SignatureCallingConvention.Default) Or CByte(SignatureAttributes.Instance), signatureHeader.RawValue)
Microsoft.CodeAnalysis.Workspaces (7)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.FunctionPointerTypeSymbolKey.cs (5)
18var callingConvention = symbol.Signature.CallingConvention; 21if (callingConvention == SignatureCallingConvention.Unmanaged) 35var callingConvention = (SignatureCallingConvention)reader.ReadInteger(); 38if (callingConvention == SignatureCallingConvention.Unmanaged)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationAbstractMethodSymbol.cs (2)
107public SignatureCallingConvention CallingConvention => SignatureCallingConvention.Default;
System.Reflection.Emit (12)
System\Reflection\Emit\ModuleBuilderImpl.cs (11)
803internal static SignatureCallingConvention GetSignatureConvention(CallingConventions callingConvention) 805SignatureCallingConvention convention = SignatureCallingConvention.Default; 809convention = SignatureCallingConvention.VarArgs; 1372private static SignatureCallingConvention GetSignatureConvention(CallingConvention callingConvention) => 1375CallingConvention.Winapi => SignatureCallingConvention.Default, // TODO: platform-specific 1376CallingConvention.Cdecl => SignatureCallingConvention.CDecl, 1377CallingConvention.StdCall => SignatureCallingConvention.StdCall, 1378CallingConvention.ThisCall => SignatureCallingConvention.ThisCall, 1379CallingConvention.FastCall => SignatureCallingConvention.FastCall, 1380_ => SignatureCallingConvention.Default,
System\Reflection\Emit\SignatureHelper.cs (1)
75internal static BlobBuilder GetMethodSignature(ModuleBuilderImpl module, Type[]? parameters, Type? returnType, SignatureCallingConvention convention,
System.Reflection.Metadata (14)
System\Reflection\Metadata\Ecma335\Encoding\BlobEncoders.cs (7)
75SignatureCallingConvention convention = SignatureCallingConvention.Default, 95return new MethodSignatureEncoder(Builder, hasVarArgs: convention == SignatureCallingConvention.VarArgs); 105Builder.WriteByte(new SignatureHeader(SignatureKind.Property, SignatureCallingConvention.Default, (isInstanceProperty ? SignatureAttributes.Instance : 0)).RawValue); 1084SignatureCallingConvention convention = SignatureCallingConvention.Default, 1112return new MethodSignatureEncoder(Builder, hasVarArgs: convention == SignatureCallingConvention.VarArgs);
System\Reflection\Metadata\Signatures\SignatureHeader.cs (7)
20private const byte maxCallingConvention = (byte)SignatureCallingConvention.VarArgs; 27public SignatureHeader(SignatureKind kind, SignatureCallingConvention convention, SignatureAttributes attributes) 37public SignatureCallingConvention CallingConvention 44&& callingConventionOrKind != (int)SignatureCallingConvention.Unmanaged) 46return SignatureCallingConvention.Default; 49return (SignatureCallingConvention)callingConventionOrKind; 60|| callingConventionOrKind == (int)SignatureCallingConvention.Unmanaged)
System.Reflection.MetadataLoadContext (15)
System\Reflection\TypeLoading\MethodBase\Ecma\EcmaMethodDecoder.cs (1)
55if (sigHeader.CallingConvention == SignatureCallingConvention.VarArgs)
System\Reflection\TypeLoading\Types\RoFunctionPointerType.cs (9)
21private readonly SignatureCallingConvention _callKind; 54internal static SignatureCallingConvention GetCallingConvention(MethodSignature<RoType> signature, out bool isUnmanaged) 56SignatureCallingConvention callKind = signature.Header.CallingConvention; 62case SignatureCallingConvention.CDecl: 63case SignatureCallingConvention.StdCall: 64case SignatureCallingConvention.ThisCall: 65case SignatureCallingConvention.FastCall: 66case SignatureCallingConvention.Unmanaged: 74internal SignatureCallingConvention CallKind => _callKind;
System\Reflection\TypeLoading\Types\RoModifiedFunctionPointerType.cs (5)
58case Metadata.SignatureCallingConvention.CDecl: 61case Metadata.SignatureCallingConvention.StdCall: 64case Metadata.SignatureCallingConvention.ThisCall: 67case Metadata.SignatureCallingConvention.FastCall: 70case Metadata.SignatureCallingConvention.Unmanaged: