Symbols\FunctionPointers\FunctionPointerMethodSymbol.cs (27)
26CallingConvention callingConvention = getCallingConvention(typeBinder.Compilation, syntax.CallingConvention, customModifiers, diagnostics);
108static CallingConvention getCallingConvention(CSharpCompilation compilation, FunctionPointerCallingConventionSyntax? callingConventionSyntax, ArrayBuilder<CustomModifier> customModifiers, BindingDiagnosticBag diagnostics)
113return CallingConvention.Default;
121return CallingConvention.Default;
146return CallingConvention.Unmanaged;
152{ ValueText: "Cdecl" } => CallingConvention.CDecl,
153{ ValueText: "Stdcall" } => CallingConvention.Standard,
154{ ValueText: "Thiscall" } => CallingConvention.ThisCall,
155{ ValueText: "Fastcall" } => CallingConvention.FastCall,
168return CallingConvention.Default;
182return CallingConvention.Unmanaged;
189static CallingConvention handleSingleConvention(FunctionPointerUnmanagedCallingConventionSyntax specifier, CSharpCompilation compilation, ArrayBuilder<CustomModifier> customModifiers, BindingDiagnosticBag diagnostics)
197return CallingConvention.Unmanaged;
244CallingConvention callingConvention,
268CallingConvention callingConvention,
280Debug.Assert(callingConvention == CallingConvention.Unmanaged);
328public static FunctionPointerMethodSymbol CreateFromMetadata(ModuleSymbol containingModule, CallingConvention callingConvention, ImmutableArray<ParamInfo<TypeSymbol>> retAndParamTypes)
440CallingConvention callingConvention,
485CallingConvention callingConvention,
516CallingConvention callingConvention,
541private FunctionPointerMethodSymbol(CallingConvention callingConvention, ImmutableArray<ParamInfo<TypeSymbol>> retAndParamTypes, bool useUpdatedEscapeRules)
640if (!CallingConvention.IsCallingConvention(CallingConvention.Unmanaged))
669if (modifiersToSearch.IsEmpty || CallingConvention != CallingConvention.Unmanaged)
733if (CallingConvention.IsCallingConvention(CallingConvention.Unmanaged)
760internal override CallingConvention CallingConvention { get; }
776if (CallingConvention.IsCallingConvention(CallingConvention.ExtraArguments))
795var isVararg = CallingConvention.IsCallingConvention(CallingConvention.ExtraArguments);
Microsoft.CodeAnalysis.CSharp.ExpressionEvaluator.ExpressionCompiler.UnitTests (4)
Microsoft.CodeAnalysis.VisualBasic.ExpressionEvaluator.ExpressionCompiler.UnitTests (2)