8 types derived from ManagedTypeInfo
Microsoft.Interop.SourceGeneration (8)
ManagedTypeInfo.cs (8)
71public sealed record SpecialTypeInfo(string FullTypeName, string DiagnosticFormattedName, SpecialType SpecialType) : ManagedTypeInfo(FullTypeName, DiagnosticFormattedName) 95public sealed record EnumTypeInfo(string FullTypeName, string DiagnosticFormattedName, SpecialType UnderlyingType) : ManagedTypeInfo(FullTypeName, DiagnosticFormattedName); 97public sealed record PointerTypeInfo(string FullTypeName, string DiagnosticFormattedName, bool IsFunctionPointer) : ManagedTypeInfo(FullTypeName, DiagnosticFormattedName); 99public sealed record SzArrayType(ManagedTypeInfo ElementTypeInfo) : ManagedTypeInfo($"{ElementTypeInfo.FullTypeName}[]", $"{ElementTypeInfo.DiagnosticFormattedName}[]"); 101public sealed record DelegateTypeInfo(string FullTypeName, string DiagnosticFormattedName, bool IsGeneric) : ManagedTypeInfo(FullTypeName, DiagnosticFormattedName); 103public sealed record TypeParameterTypeInfo(string FullTypeName, string DiagnosticFormattedName) : ManagedTypeInfo(FullTypeName, DiagnosticFormattedName); 105public sealed record ValueTypeInfo(string FullTypeName, string DiagnosticFormattedName, bool IsByRefLike) : ManagedTypeInfo(FullTypeName, DiagnosticFormattedName); 107public sealed record ReferenceTypeInfo(string FullTypeName, string DiagnosticFormattedName) : ManagedTypeInfo(FullTypeName, DiagnosticFormattedName);
113 references to ManagedTypeInfo
Microsoft.Interop.ComInterfaceGenerator (23)
ComInterfaceGenerator.cs (3)
166private static bool IsHResultLikeType(ManagedTypeInfo type) 290var declaringType = ManagedTypeInfo.CreateTypeInfoForTypeSymbol(symbol.ContainingType);
ComInterfaceInfo.cs (4)
25public ManagedTypeInfo Type { get; init; } 43ManagedTypeInfo type, 111ManagedTypeInfo.CreateTypeInfoForTypeSymbol(symbol), 173ManagedTypeInfo.CreateTypeInfoForTypeSymbol(thisSymbol),
GeneratedComInterfaceAttributeData.cs (1)
25? ManagedTypeInfo.CreateTypeInfoForTypeSymbol(generatedComInterfaceAttr.StringMarshallingCustomType)
GeneratedStubCodeContext.cs (1)
9ManagedTypeInfo OriginalDefiningType,
IncrementalMethodStubGenerationContext.cs (5)
10internal abstract record GeneratedMethodContextBase(ManagedTypeInfo OriginalDefiningType, SequenceEqualImmutableArray<DiagnosticInfo> Diagnostics); 54ManagedTypeInfo TypeKeyOwner, 55ManagedTypeInfo DeclaringType, 94ManagedTypeInfo TypeKeyOwner, 95ManagedTypeInfo DeclaringType,
Marshallers\ComInterfaceDispatchMarshallingResolver.cs (1)
29public ManagedTypeInfo AsNativeType(TypePositionInfo info) =>
Marshallers\KeepAliveThisMarshaller.cs (1)
10public ManagedTypeInfo AsNativeType(TypePositionInfo info) => info.ManagedType;
Marshallers\ManagedHResultExceptionGeneratorResolver.cs (2)
32public ManagedTypeInfo AsNativeType(TypePositionInfo info) => info.ManagedType; 57public ManagedTypeInfo AsNativeType(TypePositionInfo info) => info.ManagedType;
Marshallers\ObjectUnwrapperResolver.cs (1)
28public ManagedTypeInfo AsNativeType(TypePositionInfo info) => new PointerTypeInfo("void*", "void*", false);
Marshallers\StructAsHResultMarshallerFactory.cs (1)
25public ManagedTypeInfo AsNativeType(TypePositionInfo info) => SpecialTypeInfo.Int32;
SkippedStubContext.cs (1)
9internal sealed record SkippedStubContext(ManagedTypeInfo OriginalDefiningType) : GeneratedMethodContextBase(OriginalDefiningType, new(ImmutableArray<DiagnosticInfo>.Empty));
VtableIndexStubGenerator.cs (2)
377var interfaceType = ManagedTypeInfo.CreateTypeInfoForTypeSymbol(symbol.ContainingType);
Microsoft.Interop.JavaScript.JSImportGenerator (1)
Marshaling\BaseJSGenerator.cs (1)
16public ManagedTypeInfo NativeType => s_jsMarshalerArgument;
Microsoft.Interop.LibraryImportGenerator (2)
ErrorHandlingInfoParser.cs (1)
83ManagedTypeInfo.CreateTypeInfoForTypeSymbol(managedType),
parent\Common\LibraryImportData.cs (1)
22? ManagedTypeInfo.CreateTypeInfoForTypeSymbol(libraryImport.StringMarshallingCustomType)
Microsoft.Interop.LibraryImportGenerator.Downlevel (1)
parent\Common\LibraryImportData.cs (1)
22? ManagedTypeInfo.CreateTypeInfoForTypeSymbol(libraryImport.StringMarshallingCustomType)
Microsoft.Interop.SourceGeneration (86)
ArrayMarshallingInfoProvider.cs (1)
76ManagedTypeInfo.CreateTypeInfoForTypeSymbol(arrayMarshaller),
BoundGenerators.cs (1)
264private sealed class MatchingNativeTypeValidator(ManagedTypeInfo requiredNativeType, IMarshallingGeneratorResolver inner) : IMarshallingGeneratorResolver
ComInterfaceMarshallingInfoProvider.cs (2)
59EntryPointType: ManagedTypeInfo.CreateTypeInfoForTypeSymbol(comInterfaceMarshaller), 65EntryPointType: ManagedTypeInfo.CreateTypeInfoForTypeSymbol(comInterfaceMarshaller),
CustomMarshallingInfoHelper.cs (5)
36ManagedTypeInfo entryPointTypeInfo = ManagedTypeInfo.CreateTypeInfoForTypeSymbol(entryPointType); 153ManagedTypeInfo entryPointTypeInfo = ManagedTypeInfo.CreateTypeInfoForTypeSymbol(entryPointType); 185EntryPointType: ManagedTypeInfo.CreateTypeInfoForTypeSymbol(marshallerType),
InteropAttributeData.cs (1)
35public ManagedTypeInfo? StringMarshallingCustomType { get; init; }
ManagedTypeInfo.cs (4)
13public virtual bool Equals(ManagedTypeInfo? other) 25protected ManagedTypeInfo(ManagedTypeInfo original) 31public static ManagedTypeInfo CreateTypeInfoForTypeSymbol(ITypeSymbol type) 99public sealed record SzArrayType(ManagedTypeInfo ElementTypeInfo) : ManagedTypeInfo($"{ElementTypeInfo.FullTypeName}[]", $"{ElementTypeInfo.DiagnosticFormattedName}[]");
ManualTypeMarshallingHelper.cs (18)
16ManagedTypeInfo MarshallerType, 17ManagedTypeInfo NativeType, 21ManagedTypeInfo? BufferElementType, 22ManagedTypeInfo? CollectionElementType, 41ManagedTypeInfo Specialize(ManagedTypeInfo type, string? template) 597ManagedTypeInfo bufferElementType = null; 602bufferElementType = ManagedTypeInfo.CreateTypeInfoForTypeSymbol(bufferElementTypeSymbol); 605ManagedTypeInfo? collectionElementTypeInfo = null; 609collectionElementTypeInfo = ManagedTypeInfo.CreateTypeInfoForTypeSymbol(collectionElementType); 614ManagedTypeInfo.CreateTypeInfoForTypeSymbol(marshallerType), 615ManagedTypeInfo.CreateTypeInfoForTypeSymbol(nativeType), 685ManagedTypeInfo bufferElementType = null; 690bufferElementType = ManagedTypeInfo.CreateTypeInfoForTypeSymbol(bufferElementTypeSymbol); 693ManagedTypeInfo? collectionElementTypeInfo = null; 697collectionElementTypeInfo = ManagedTypeInfo.CreateTypeInfoForTypeSymbol(collectionElementType); 702ManagedTypeInfo.CreateTypeInfoForTypeSymbol(marshallerType), 703ManagedTypeInfo.CreateTypeInfoForTypeSymbol(nativeType),
Marshalling\AttributedMarshallingModelGeneratorResolver.cs (3)
67ManagedTypeInfo type = paramInfo.ManagedType; 228ManagedTypeInfo marshallerType = marshallerData.MarshallerType; 230ManagedTypeInfo nativeType = marshallerData.NativeType;
Marshalling\BlittableMarshaller.cs (1)
8public ManagedTypeInfo AsNativeType(TypePositionInfo info)
Marshalling\BoolMarshaller.cs (3)
11private readonly ManagedTypeInfo _nativeType; 16protected BoolMarshallerBase(ManagedTypeInfo nativeType, int trueValue, int falseValue, bool compareToTrue) 24public ManagedTypeInfo AsNativeType(TypePositionInfo info)
Marshalling\BreakingChangeDetector.cs (1)
26if (info is { RefKind: RefKind.In or RefKind.RefReadOnlyParameter, MarshallingAttributeInfo: NativeMarshallingAttributeInfo(ManagedTypeInfo { DiagnosticFormattedName: TypeNames.ComVariantMarshaller }, _) }
Marshalling\CharMarshaller.cs (2)
11private static readonly ManagedTypeInfo s_nativeType = SpecialTypeInfo.UInt16; 31public ManagedTypeInfo AsNativeType(TypePositionInfo info)
Marshalling\CustomTypeMarshallingGenerator.cs (1)
14public ManagedTypeInfo NativeType => nativeTypeMarshaller.NativeType;
Marshalling\DelegateMarshaller.cs (1)
8public ManagedTypeInfo AsNativeType(TypePositionInfo info)
Marshalling\Forwarder.cs (1)
8public ManagedTypeInfo AsNativeType(TypePositionInfo info)
Marshalling\ICustomTypeMarshallingStrategy.cs (1)
15ManagedTypeInfo NativeType { get; }
Marshalling\IidParameterIndexMarshallerResolver.cs (1)
21public ManagedTypeInfo AsNativeType(TypePositionInfo info) => new PointerTypeInfo("void*", "void*", false);
Marshalling\MarshallerHelpers.cs (1)
24public static string GetCompatibleGenericTypeParameter(this ManagedTypeInfo type)
Marshalling\MarshallingGenerator.cs (3)
92ManagedTypeInfo NativeType { get; } 160public ManagedTypeInfo NativeType => unbound.AsNativeType(TypeInfo); 196ManagedTypeInfo AsNativeType(TypePositionInfo info);
Marshalling\NoMarshallingInfoErrorResolver.cs (4)
33private NoMarshallingInfoErrorResolver(ImmutableDictionary<ManagedTypeInfo, string> customTypeToErrorMessageMap) 38public ImmutableDictionary<ManagedTypeInfo, string> CustomTypeToErrorMessageMap { get; } 40private static ImmutableDictionary<ManagedTypeInfo, string> DefaultTypeToErrorMessageMap(string stringMarshallingAttribute) 41=> ImmutableDictionary.CreateRange(new Dictionary<ManagedTypeInfo, string>
Marshalling\StatefulMarshallingStrategy.cs (6)
6internal sealed class StatefulValueMarshalling(TypePositionInfo info, StubCodeContext stubContext, ManagedTypeInfo marshallerType, ManagedTypeInfo unmanagedType, MarshallerShape shape) : ICustomTypeMarshallingStrategy 10public ManagedTypeInfo NativeType => unmanagedType; 108public ManagedTypeInfo NativeType => innerMarshaller.NativeType; 181public ManagedTypeInfo NativeType => innerMarshaller.NativeType; 281public ManagedTypeInfo NativeType => innerMarshaller.NativeType;
Marshalling\StatelessMarshallingStrategy.cs (8)
9internal sealed class StatelessValueMarshalling(TypePositionInfo info, StubCodeContext codeContext, string marshallerType, ManagedTypeInfo unmanagedType, MarshallerShape shape) : ICustomTypeMarshallingStrategy 11public ManagedTypeInfo NativeType => unmanagedType; 89public ManagedTypeInfo NativeType => innerMarshaller.NativeType; 135public ManagedTypeInfo NativeType => innerMarshaller.NativeType; 172internal sealed class StatelessLinearCollectionSpaceAllocator(TypePositionInfo info, StubCodeContext codeContext, string marshallerType, ManagedTypeInfo unmanagedType, MarshallerShape shape, CountInfo countInfo, bool countInfoRequiresCast) : ICustomTypeMarshallingStrategy 174public ManagedTypeInfo NativeType => unmanagedType; 307ManagedTypeInfo unmanagedType, 316public ManagedTypeInfo NativeType => unmanagedType;
Marshalling\StaticPinnableManagedValueMarshaller.cs (1)
12public ManagedTypeInfo NativeType => innerMarshallingGenerator.NativeType;
Marshalling\UnmanagedToManagedOwnershipTrackingStrategy.cs (4)
12public ManagedTypeInfo NativeType => innerMarshaller.NativeType; 48public ManagedTypeInfo NativeType => innerMarshaller.NativeType; 96public ManagedTypeInfo NativeType => inner.NativeType; 145public static void DeclareOriginalValueIdentifier(IndentedTextWriter writer, TypePositionInfo info, StubIdentifierContext context, ManagedTypeInfo nativeType)
MarshallingAttributeInfo.cs (6)
110ManagedTypeInfo EntryPointType, 114ManagedTypeInfo EntryPointType, 125ManagedTypeInfo EntryPointType, 169internal static MarshallingInfo CreateSpecificMarshallingInfo(ManagedTypeInfo unmanagedReturnType) 181static NativeMarshallingAttributeInfo CreateWellKnownComExceptionMarshallingData(string marshallerName, ManagedTypeInfo unmanagedType) 183ManagedTypeInfo marshallerTypeInfo = new ReferenceTypeInfo(TypeNames.GlobalAlias + marshallerName, marshallerName);
MethodSignatureElementInfoProvider.cs (1)
35ManagedTypeInfo.CreateTypeInfoForTypeSymbol(_method.ReturnType),
SafeHandleMarshallingInfoProvider.cs (1)
86return new NativeMarshallingAttributeInfo(ManagedTypeInfo.CreateTypeInfoForTypeSymbol(entryPointType), marshallers.Value);
SignatureContext.cs (1)
138TypePositionInfo retTypeInfo = new(ManagedTypeInfo.CreateTypeInfoForTypeSymbol(method.ReturnType), marshallingInfoParser.ParseMarshallingInfo(method.ReturnType, returnAttributes));
TypePositionInfo.cs (3)
46public sealed record TypePositionInfo(ManagedTypeInfo ManagedType, MarshallingInfo MarshallingAttributeInfo) 89var typeInfo = new TypePositionInfo(ManagedTypeInfo.CreateTypeInfoForTypeSymbol(paramSymbol.Type), marshallingInfo) 146ManagedTypeInfo ManagedType,