141 references to MethodImportAttributes
ILAssembler (21)
EntityRegistry.cs (1)
1308public (ModuleReferenceEntity ModuleName, string? EntryPointName, MethodImportAttributes Attributes)? MethodImportInformation { get; set; }
GrammarVisitor.cs (20)
3911(EntityRegistry.ModuleReferenceEntity Module, string? EntryPoint, MethodImportAttributes Attributes)? pInvokeInformation = null; 4458public GrammarResult.Flag<MethodImportAttributes> VisitPinvAttr(CILParser.PinvAttrContext context) 4462return new((MethodImportAttributes)VisitInt32(int32).Value, ShouldAppend: false); 4467return new(MethodImportAttributes.ExactSpelling); 4469return new(MethodImportAttributes.CharSetAnsi); 4471return new(MethodImportAttributes.CharSetUnicode); 4473return new(MethodImportAttributes.CharSetAuto); 4475return new(MethodImportAttributes.SetLastError); 4477return new(MethodImportAttributes.CallingConventionWinApi); 4479return new(MethodImportAttributes.CallingConventionCDecl); 4481return new(MethodImportAttributes.CallingConventionStdCall); 4483return new(MethodImportAttributes.CallingConventionThisCall); 4485return new(MethodImportAttributes.CallingConventionFastCall); 4487return new(MethodImportAttributes.BestFitMappingEnable); 4489return new(MethodImportAttributes.BestFitMappingDisable); 4491return new(MethodImportAttributes.ThrowOnUnmappableCharEnable); 4493return new(MethodImportAttributes.ThrowOnUnmappableCharDisable); 4500public GrammarResult.Literal<(string? ModuleName, string? EntryPointName, MethodImportAttributes Attributes)> VisitPinvImpl(CILParser.PinvImplContext context) 4502MethodImportAttributes attrs = MethodImportAttributes.None;
ILCompiler.TypeSystem (24)
src\runtime\src\coreclr\tools\Common\TypeSystem\Ecma\EcmaMethod.cs (24)
478MethodImportAttributes importAttributes = import.Attributes; 482if ((importAttributes & MethodImportAttributes.BestFitMappingMask) == 0 || 483(importAttributes & MethodImportAttributes.ThrowOnUnmappableCharMask) == 0) 488MethodImportAttributes fromCA = GetImportAttributesFromBestFitMappingAttribute(declaringType.GetCustomAttributes()); 489if ((importAttributes & MethodImportAttributes.BestFitMappingMask) == 0) 490importAttributes |= fromCA & MethodImportAttributes.BestFitMappingMask; 491if ((importAttributes & MethodImportAttributes.ThrowOnUnmappableCharMask) == 0) 492importAttributes |= fromCA & MethodImportAttributes.ThrowOnUnmappableCharMask; 495if ((importAttributes & MethodImportAttributes.BestFitMappingMask) == 0 || 496(importAttributes & MethodImportAttributes.ThrowOnUnmappableCharMask) == 0) 499if ((importAttributes & MethodImportAttributes.BestFitMappingMask) == 0) 500importAttributes |= fromCA & MethodImportAttributes.BestFitMappingMask; 501if ((importAttributes & MethodImportAttributes.ThrowOnUnmappableCharMask) == 0) 502importAttributes |= fromCA & MethodImportAttributes.ThrowOnUnmappableCharMask; 507Debug.Assert((int)MethodImportAttributes.CallingConventionStdCall == (int)PInvokeAttributes.CallingConventionStdCall); 508Debug.Assert((int)MethodImportAttributes.CharSetAuto == (int)PInvokeAttributes.CharSetAuto); 509Debug.Assert((int)MethodImportAttributes.CharSetUnicode == (int)PInvokeAttributes.CharSetUnicode); 510Debug.Assert((int)MethodImportAttributes.SetLastError == (int)PInvokeAttributes.SetLastError); 520private MethodImportAttributes GetImportAttributesFromBestFitMappingAttribute(CustomAttributeHandleCollection attributeHandles) 525MethodImportAttributes result = 0; 539result |= MethodImportAttributes.BestFitMappingEnable; 541result |= MethodImportAttributes.BestFitMappingDisable; 550result |= MethodImportAttributes.ThrowOnUnmappableCharEnable; 552result |= MethodImportAttributes.ThrowOnUnmappableCharDisable;
Microsoft.CodeAnalysis (40)
MetadataReader\PEModule.cs (2)
3449MethodImportAttributes flags = (MethodImportAttributes)methodImport.Attributes;
PEWriter\Miscellaneous.cs (1)
237MethodImportAttributes Flags { get; }
Symbols\Attributes\CommonMethodWellKnownAttributeData.cs (1)
65public void SetDllImport(int attributeIndex, string? moduleName, string? entryPointName, MethodImportAttributes flags, bool preserveSig)
Symbols\PlatformInvokeInformation.cs (36)
18private readonly MethodImportAttributes _flags; 20internal DllImportData(string? moduleName, string? entryPointName, MethodImportAttributes flags) 43MethodImportAttributes Cci.IPlatformInvokeInformation.Flags 56return (_flags & MethodImportAttributes.ExactSpelling) != 0; 67switch (_flags & MethodImportAttributes.CharSetMask) 69case MethodImportAttributes.CharSetAnsi: 72case MethodImportAttributes.CharSetUnicode: 75case MethodImportAttributes.CharSetAuto: 93return (_flags & MethodImportAttributes.SetLastError) != 0; 104switch (_flags & MethodImportAttributes.CallingConventionMask) 109case MethodImportAttributes.CallingConventionCDecl: 112case MethodImportAttributes.CallingConventionStdCall: 115case MethodImportAttributes.CallingConventionThisCall: 118case MethodImportAttributes.CallingConventionFastCall: 132switch (_flags & MethodImportAttributes.BestFitMappingMask) 134case MethodImportAttributes.BestFitMappingEnable: 137case MethodImportAttributes.BestFitMappingDisable: 154switch (_flags & MethodImportAttributes.ThrowOnUnmappableCharMask) 156case MethodImportAttributes.ThrowOnUnmappableCharEnable: 159case MethodImportAttributes.ThrowOnUnmappableCharDisable: 168internal static MethodImportAttributes MakeFlags(bool exactSpelling, CharSet charSet, bool setLastError, CallingConvention callingConvention, bool? useBestFit, bool? throwOnUnmappable) 170MethodImportAttributes result = 0; 173result |= MethodImportAttributes.ExactSpelling; 179result |= MethodImportAttributes.CharSetAnsi; 183result |= MethodImportAttributes.CharSetUnicode; 187result |= MethodImportAttributes.CharSetAuto; 195result |= MethodImportAttributes.SetLastError; 201result |= MethodImportAttributes.CallingConventionWinApi; 205result |= MethodImportAttributes.CallingConventionCDecl; 209result |= MethodImportAttributes.CallingConventionStdCall; 213result |= MethodImportAttributes.CallingConventionThisCall; 217result |= MethodImportAttributes.CallingConventionFastCall; 225result |= MethodImportAttributes.ThrowOnUnmappableCharEnable; 229result |= MethodImportAttributes.ThrowOnUnmappableCharDisable; 237result |= MethodImportAttributes.BestFitMappingEnable; 241result |= MethodImportAttributes.BestFitMappingDisable;
Microsoft.CodeAnalysis.VisualBasic (9)
Symbols\Source\SourceMethodSymbol.vb (9)
286Private Shared Function GetPInvokeAttributes(syntax As DeclareStatementSyntax) As MethodImportAttributes 287Dim result As MethodImportAttributes 290result = MethodImportAttributes.CharSetAnsi Or MethodImportAttributes.ExactSpelling 293result = MethodImportAttributes.CharSetUnicode Or MethodImportAttributes.ExactSpelling 296result = MethodImportAttributes.CharSetAuto 299Return result Or MethodImportAttributes.CallingConventionWinApi Or MethodImportAttributes.SetLastError
System.Reflection.Emit (24)
System\Reflection\Emit\ModuleBuilderImpl.cs (1)
955MethodImportAttributes attributes, ModuleReferenceHandle moduleHandle) =>
System\Reflection\Emit\PseudoCustomAttributesData.cs (23)
14private readonly MethodImportAttributes _flags; 16internal DllImportData(string moduleName, string? entryPoint, MethodImportAttributes flags) 27public MethodImportAttributes Flags => _flags; 37MethodImportAttributes importAttributes = MethodImportAttributes.None; 61importAttributes |= MethodImportAttributes.ExactSpelling; 67importAttributes |= MethodImportAttributes.SetLastError; 73importAttributes |= MethodImportAttributes.BestFitMappingEnable; 77importAttributes |= MethodImportAttributes.BestFitMappingDisable; 83importAttributes |= MethodImportAttributes.ThrowOnUnmappableCharEnable; 87importAttributes |= MethodImportAttributes.ThrowOnUnmappableCharDisable; 103MethodImportAttributes importAttributes = MatchNativeCallingConvention(nativeCallConv); 109private static MethodImportAttributes MatchNativeCharSet(CharSet nativeCharSet) => 112CharSet.Ansi => MethodImportAttributes.CharSetAnsi, 113CharSet.Auto => MethodImportAttributes.CharSetAuto, 114CharSet.Unicode => MethodImportAttributes.CharSetUnicode, 115_ => MethodImportAttributes.CharSetAuto 118private static MethodImportAttributes MatchNativeCallingConvention(CallingConvention nativeCallConv) => 121CallingConvention.Cdecl => MethodImportAttributes.CallingConventionCDecl, 122CallingConvention.FastCall => MethodImportAttributes.CallingConventionFastCall, 123CallingConvention.StdCall => MethodImportAttributes.CallingConventionStdCall, 124CallingConvention.ThisCall => MethodImportAttributes.CallingConventionThisCall, 125_ => MethodImportAttributes.CallingConventionWinApi // Roslyn defaults with this
System.Reflection.Metadata (6)
System\Reflection\Metadata\Ecma335\MetadataBuilder.Tables.cs (1)
1023MethodImportAttributes attributes,
System\Reflection\Metadata\Internal\Tables.cs (2)
1756var pInvokeMapFlags = (MethodImportAttributes)Block.PeekUInt16(rowOffset + _FlagsOffset);
System\Reflection\Metadata\TypeSystem\MethodImport.cs (3)
8private readonly MethodImportAttributes _attributes; 12internal MethodImport(MethodImportAttributes attributes, StringHandle name, ModuleReferenceHandle module) 19public MethodImportAttributes Attributes { get { return _attributes; } }
System.Reflection.MetadataLoadContext (17)
System\Reflection\TypeLoading\MethodBase\Ecma\EcmaMethodDecoder.cs (17)
123MethodImportAttributes a = mi.Attributes; 124CharSet charSet = (a & MethodImportAttributes.CharSetMask) switch 126MethodImportAttributes.CharSetAnsi => CharSet.Ansi, 127MethodImportAttributes.CharSetAuto => CharSet.Auto, 128MethodImportAttributes.CharSetUnicode => CharSet.Unicode, 131CallingConvention callConv = (a & MethodImportAttributes.CallingConventionMask) switch 133MethodImportAttributes.CallingConventionCDecl => CallingConvention.Cdecl, 134MethodImportAttributes.CallingConventionFastCall => CallingConvention.FastCall, 135MethodImportAttributes.CallingConventionStdCall => CallingConvention.StdCall, 136MethodImportAttributes.CallingConventionThisCall => CallingConvention.ThisCall, 137MethodImportAttributes.CallingConventionWinApi => CallingConvention.Winapi, 143ExactSpelling = (a & MethodImportAttributes.ExactSpelling) != 0, 147SetLastError = (a & MethodImportAttributes.SetLastError) != 0, 148BestFitMapping = (a & MethodImportAttributes.BestFitMappingMask) == MethodImportAttributes.BestFitMappingEnable, 149ThrowOnUnmappableChar = (a & MethodImportAttributes.ThrowOnUnmappableCharMask) == MethodImportAttributes.ThrowOnUnmappableCharEnable,