49 references to IBoundMarshallingGenerator
Microsoft.Interop.JavaScript.JSImportGenerator (2)
JSGeneratorFactory.cs (1)
330
ResolvedGeneratorAndType resolved(
IBoundMarshallingGenerator
generator, MarshalerType baseType, IEnumerable<MarshalerType>? subTypes = null)
Marshaling\BaseJSGenerator.cs (1)
15
internal abstract class BaseJSGenerator(TypePositionInfo info, StubCodeContext codeContext) :
IBoundMarshallingGenerator
Microsoft.Interop.SourceGeneration (47)
BoundGenerators.cs (19)
23
IBoundMarshallingGenerator
defaultBoundGenerator = fallbackGenerator.Bind(new TypePositionInfo(SpecialTypeInfo.Void, NoMarshallingInfo.Instance), context);
26
ImmutableArray<
IBoundMarshallingGenerator
>.Builder signatureMarshallers = ImmutableArray.CreateBuilder<
IBoundMarshallingGenerator
>();
27
ImmutableArray<
IBoundMarshallingGenerator
>.Builder nativeParamMarshallers = ImmutableArray.CreateBuilder<
IBoundMarshallingGenerator
>();
28
ImmutableArray<
IBoundMarshallingGenerator
>.Builder managedParamMarshallers = ImmutableArray.CreateBuilder<
IBoundMarshallingGenerator
>();
30
IBoundMarshallingGenerator
managedReturnMarshaller = defaultBoundGenerator;
31
IBoundMarshallingGenerator
nativeReturnMarshaller = defaultBoundGenerator;
32
IBoundMarshallingGenerator
managedExceptionMarshaller = defaultBoundGenerator;
46
IBoundMarshallingGenerator
generator = CreateGenerator(argType, generatorResolver);
77
IBoundMarshallingGenerator
? overlappedMarshaller = null;
185
IBoundMarshallingGenerator
CreateGenerator(TypePositionInfo p, IMarshallingGeneratorResolver factory)
193
public
IBoundMarshallingGenerator
ManagedReturnMarshaller { get; private init; }
195
public
IBoundMarshallingGenerator
NativeReturnMarshaller { get; private init; }
197
public
IBoundMarshallingGenerator
ManagedExceptionMarshaller { get; private init; }
199
public ImmutableArray<
IBoundMarshallingGenerator
> SignatureMarshallers { get; private init; }
201
public ImmutableArray<
IBoundMarshallingGenerator
> ManagedParameterMarshallers { get; private init; }
203
public ImmutableArray<
IBoundMarshallingGenerator
> NativeParameterMarshallers { get; private init; }
GeneratedStatements.cs (4)
75
foreach (
IBoundMarshallingGenerator
marshaller in marshallers.SignatureMarshallers)
99
foreach (
IBoundMarshallingGenerator
marshaller in marshallers.NativeParameterMarshallers)
133
foreach (
IBoundMarshallingGenerator
marshaller in marshallers.ManagedParameterMarshallers)
160
IBoundMarshallingGenerator
managedExceptionMarshaller = marshallers.ManagedExceptionMarshaller;
ManagedToNativeStubGenerator.cs (1)
81
foreach (
IBoundMarshallingGenerator
generator in _marshallers.SignatureMarshallers)
Marshalling\AttributedMarshallingModelGeneratorResolver.cs (4)
196
IBoundMarshallingGenerator
marshallingGenerator = new CustomTypeMarshallingGenerator(marshallingStrategy, ByValueMarshalKindSupportDescriptor.Default, marshallerData.Shape.HasFlag(MarshallerShape.StatelessPinnableReference));
227
IBoundMarshallingGenerator
elementMarshaller = resolvedElementMarshaller.Generator;
342
IBoundMarshallingGenerator
marshallingGenerator = new CustomTypeMarshallingGenerator(marshallingStrategy, byValueMarshalKindSupport, isPinned);
392
private static ElementsMarshalling CreateElementsMarshalling(CustomTypeMarshallerData marshallerData,
IBoundMarshallingGenerator
elementMarshaller, TypeSyntax unmanagedElementType, IElementsMarshallingCollectionSource collectionSource)
Marshalling\CustomTypeMarshallingGenerator.cs (1)
14
:
IBoundMarshallingGenerator
Marshalling\MarshallingGenerator.cs (1)
156
internal sealed class BoundMarshallingGenerator(TypePositionInfo info, StubCodeContext context, IUnboundMarshallingGenerator unbound) :
IBoundMarshallingGenerator
Marshalling\MarshallingGeneratorExtensions.cs (8)
20
public static TypeSyntax AsReturnType(this
IBoundMarshallingGenerator
generator)
36
public static AttributeListSyntax? GenerateAttributesForReturnType(this
IBoundMarshallingGenerator
generator)
59
public static ParameterSyntax AsParameter(this
IBoundMarshallingGenerator
generator, StubIdentifierContext context)
139
public static ArgumentSyntax AsArgument(this
IBoundMarshallingGenerator
generator, StubIdentifierContext context)
154
public static ArgumentSyntax AsManagedArgument(this
IBoundMarshallingGenerator
generator, StubIdentifierContext context)
165
public static ExpressionSyntax GenerateNativeByRefInitialization(this
IBoundMarshallingGenerator
generator, StubIdentifierContext context)
172
public static bool IsForwarder(this
IBoundMarshallingGenerator
generator) => generator is BoundMarshallingGenerator { IsForwarder: true };
174
public static bool IsBlittable(this
IBoundMarshallingGenerator
generator) => generator is BoundMarshallingGenerator { IsBlittable: true };
Marshalling\ResolvedGenerator.cs (3)
10
public record struct ResolvedGenerator([property: MemberNotNullWhen(true, nameof(ResolvedGenerator.IsResolved), nameof(ResolvedGenerator.IsResolvedWithoutErrors))]
IBoundMarshallingGenerator
? Generator, ImmutableArray<GeneratorDiagnostic> Diagnostics)
20
public static ResolvedGenerator Resolved(
IBoundMarshallingGenerator
generator)
30
public static ResolvedGenerator ResolvedWithDiagnostics(
IBoundMarshallingGenerator
generator, ImmutableArray<GeneratorDiagnostic> diagnostics)
Marshalling\StaticPinnableManagedValueMarshaller.cs (2)
13
public sealed class StaticPinnableManagedValueMarshaller(
IBoundMarshallingGenerator
innerMarshallingGenerator, TypeSyntax getPinnableReferenceType) :
IBoundMarshallingGenerator
VariableDeclarations.cs (4)
21
foreach (
IBoundMarshallingGenerator
marshaller in marshallers.NativeParameterMarshallers)
55
static void AppendVariableDeclarations(ImmutableArray<LocalDeclarationStatementSyntax>.Builder statementsToUpdate,
IBoundMarshallingGenerator
marshaller, StubIdentifierContext context, bool initializeToDefault)
84
foreach (
IBoundMarshallingGenerator
marshaller in marshallers.NativeParameterMarshallers)
112
static void AppendVariableDeclarations(ImmutableArray<LocalDeclarationStatementSyntax>.Builder statementsToUpdate,
IBoundMarshallingGenerator
marshaller, StubIdentifierContext context, bool initializeToDefault)