43 references to TypeInfo
Microsoft.Interop.SourceGeneration (43)
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\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;
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,