5 implementations of TypeInfo
Microsoft.Interop.JavaScript.JSImportGenerator (1)
Marshaling\BaseJSGenerator.cs (1)
19public TypePositionInfo TypeInfo => info;
Microsoft.Interop.SourceGeneration (4)
Marshalling\CustomTypeMarshallingGenerator.cs (1)
22public TypePositionInfo TypeInfo => nativeTypeMarshaller.TypeInfo;
Marshalling\MarshallingGenerator.cs (1)
162public TypePositionInfo TypeInfo => info;
Marshalling\StaticPinnableManagedValueMarshaller.cs (1)
15public TypePositionInfo TypeInfo => innerMarshallingGenerator.TypeInfo;
Marshalling\UnmanagedToManagedOwnershipTrackingStrategy.cs (1)
140public TypePositionInfo TypeInfo => inner.TypeInfo;
57 references to TypeInfo
Microsoft.Interop.SourceGeneration (57)
BoundGenerators.cs (10)
84overlappedMarshaller = nativeParamMarshallers.FirstOrDefault(e => e.TypeInfo.NativeIndex == managedExceptionInfo.NativeIndex); 120managedParamMarshallers.Sort(static (m1, m2) => m1.TypeInfo.ManagedIndex.CompareTo(m2.TypeInfo.ManagedIndex)); 121nativeParamMarshallers.Sort(static (m1, m2) => m1.TypeInfo.NativeIndex.CompareTo(m2.TypeInfo.NativeIndex)); 151static m => GetInfoIndex(m.TypeInfo), 152static m => GetInfoDependencies(m.TypeInfo)) 216public bool ManagedNativeSameReturn => ManagedReturnMarshaller.TypeInfo.IsNativeReturnPosition; 218public bool IsManagedVoidReturn => ManagedReturnMarshaller.TypeInfo.ManagedType == SpecialTypeInfo.Void; 220public bool IsUnmanagedVoidReturn => NativeReturnMarshaller.TypeInfo.ManagedType == SpecialTypeInfo.Void;
GeneratedStatements.cs (5)
106if (marshallers.NativeReturnMarshaller.TypeInfo.ManagedType == SpecialTypeInfo.Void) 111var (managed, native) = context.GetIdentifiers(marshallers.NativeReturnMarshaller.TypeInfo); 140if (marshallers.ManagedReturnMarshaller.TypeInfo.ManagedType == SpecialTypeInfo.Void) 148IdentifierName(context.GetIdentifiers(marshallers.ManagedReturnMarshaller.TypeInfo).managed), 162var (managed, _) = context.GetIdentifiers(managedExceptionMarshaller.TypeInfo);
ManagedToNativeStubGenerator.cs (3)
84noMarshallingNeeded &= (generator.IsBlittable() && !generator.TypeInfo.IsByRef) || generator.IsForwarder(); 88HasForwardedTypes |= generator.IsForwarder() && generator is { TypeInfo.ManagedType: not SpecialTypeInfo { SpecialType: Microsoft.CodeAnalysis.SpecialType.System_Void } }; 191allStatements.Add(ReturnStatement(IdentifierName(_context.GetIdentifiers(_marshallers.ManagedReturnMarshaller.TypeInfo).managed)));
Marshalling\ByValueContentsMarshalKindValidator.cs (2)
37var support = generator.Generator.SupportsByValueMarshalKind(generator.Generator.TypeInfo.ByValueContentsMarshalKind, out GeneratorDiagnostic? diagnostic); 42ByValueMarshalKindSupport.NotSupported => ResolvedGenerator.ResolvedWithDiagnostics(s_forwarder.Bind(generator.Generator.TypeInfo, context), generator.Diagnostics.Add(diagnostic!)),
Marshalling\ElementsMarshalling.cs (10)
268ReadOnlySpanOf(elementMarshaller.TypeInfo.ManagedType.Syntax), 309SpanOf(elementMarshaller.TypeInfo.ManagedType.Syntax), 331LocalDeclarationStatementSyntax managedValuesDeclaration = Declare(SpanOf(elementMarshaller.TypeInfo.ManagedType.Syntax), 438TypeArgumentList(SingletonSeparatedList(elementMarshaller.TypeInfo.ManagedType.Syntax))), 479elementMarshaller.TypeInfo, 494identifierContext = new GenericFriendlyPointerIdentifierContext(elementSetupSubContext, elementMarshaller.TypeInfo, $"{nativeSpanIdentifier}__{indexer}") 530Identifier(identifierContext.GetIdentifiers(elementMarshaller.TypeInfo).native)) 534ParseExpression(elementSetupSubContext.GetIdentifiers(elementMarshaller.TypeInfo).native))))))); 540ParseExpression(elementSetupSubContext.GetIdentifiers(elementMarshaller.TypeInfo).native), 542IdentifierName(identifierContext.GetIdentifiers(elementMarshaller.TypeInfo).native)));
Marshalling\MarshallingGeneratorExtensions.cs (11)
24SignatureBehavior.ManagedTypeAndAttributes => generator.TypeInfo.ManagedType.Syntax, 43if (generator.TypeInfo.MarshallingAttributeInfo is IForwardedMarshallingInfo forwarded 64return GenerateForwardingParameter(generator.TypeInfo, context.GetIdentifiers(generator.TypeInfo).managed); 71identifierName = context.GetIdentifiers(generator.TypeInfo).native; 81(string managed, string native) = context.GetIdentifiers(generator.TypeInfo); 82string param = context.GetAdditionalIdentifier(generator.TypeInfo, ParameterIdentifierSuffix); 85ValueBoundaryBehavior.ManagedIdentifier => generator.TypeInfo.IsByRef ? param : managed, 141TypePositionInfo info = generator.TypeInfo; 156TypePositionInfo info = generator.TypeInfo; 167TypePositionInfo info = generator.TypeInfo;
Marshalling\StaticPinnableManagedValueMarshaller.cs (2)
15public TypePositionInfo TypeInfo => innerMarshallingGenerator.TypeInfo; 76(string managedIdentifier, string nativeIdentifier) = context.GetIdentifiers(innerMarshallingGenerator.TypeInfo);
Marshalling\UnmanagedToManagedOwnershipTrackingStrategy.cs (2)
140public TypePositionInfo TypeInfo => inner.TypeInfo; 167OwnershipTrackingHelpers.DeclareOriginalValueIdentifier(inner.TypeInfo, context, NativeType)
UnmanagedToManagedStubGenerator.cs (1)
103allStatements.Add(ReturnStatement(IdentifierName(_context.GetIdentifiers(_marshallers.NativeReturnMarshaller.TypeInfo).native)));
VariableDeclarations.cs (11)
23TypePositionInfo info = marshaller.TypeInfo; 57(string managed, string native) = context.GetIdentifiers(marshaller.TypeInfo); 60if (marshaller.TypeInfo.IsManagedReturnPosition || marshaller.TypeInfo.IsNativeReturnPosition) 63marshaller.TypeInfo.ManagedType.Syntax, 86TypePositionInfo info = marshaller.TypeInfo; 114(string managed, string native) = context.GetIdentifiers(marshaller.TypeInfo); 117if (marshaller.TypeInfo.IsNativeReturnPosition) 123marshaller.TypeInfo.ManagedType.Syntax, 169if (boundaryBehavior != ValueBoundaryBehavior.ManagedIdentifier && !marshaller.TypeInfo.IsManagedExceptionPosition) 172marshaller.TypeInfo.ManagedType.Syntax,