3 types derived from StubIdentifierContext
Microsoft.Interop.SourceGeneration (3)
DefaultIdentifierContext.cs (1)
8
public sealed record DefaultIdentifierContext :
StubIdentifierContext
LinearCollectionElementIdentifierContext.cs (1)
9
internal sealed record LinearCollectionElementIdentifierContext :
StubIdentifierContext
Marshalling\GenericFriendlyPointerIdentifierContext.cs (1)
11
internal sealed record GenericFriendlyPointerIdentifierContext :
StubIdentifierContext
204 references to StubIdentifierContext
Microsoft.Interop.ComInterfaceGenerator (15)
Marshallers\ComInterfaceDispatchMarshallingResolver.cs (2)
40
public IEnumerable<StatementSyntax> Generate(TypePositionInfo info, StubCodeContext codeContext,
StubIdentifierContext
context)
42
if (context.CurrentStage !=
StubIdentifierContext
.Stage.Unmarshal)
Marshallers\KeepAliveThisMarshaller.cs (2)
18
public IEnumerable<StatementSyntax> Generate(TypePositionInfo info, StubCodeContext codeContext,
StubIdentifierContext
context)
20
if (context.CurrentStage !=
StubIdentifierContext
.Stage.NotifyForSuccessfulInvoke)
Marshallers\ManagedHResultExceptionGeneratorResolver.cs (4)
38
public IEnumerable<StatementSyntax> Generate(TypePositionInfo info, StubCodeContext codeContext,
StubIdentifierContext
context)
42
if (context.CurrentStage !=
StubIdentifierContext
.Stage.NotifyForSuccessfulInvoke)
66
public IEnumerable<StatementSyntax> Generate(TypePositionInfo info, StubCodeContext codeContext,
StubIdentifierContext
context)
70
if (context.CurrentStage !=
StubIdentifierContext
.Stage.NotifyForSuccessfulInvoke)
Marshallers\ObjectUnwrapperResolver.cs (2)
34
public IEnumerable<StatementSyntax> Generate(TypePositionInfo info, StubCodeContext codeContext,
StubIdentifierContext
context)
38
if (context.CurrentStage !=
StubIdentifierContext
.Stage.Unmarshal)
Marshallers\StructAsHResultMarshallerFactory.cs (3)
32
public IEnumerable<StatementSyntax> Generate(TypePositionInfo info, StubCodeContext codeContext,
StubIdentifierContext
context)
38
case
StubIdentifierContext
.Stage.Marshal:
56
case
StubIdentifierContext
.Stage.Unmarshal:
UnmanagedToManagedStubGenerator.cs (2)
20
private readonly
StubIdentifierContext
_context;
34
_context = new DefaultIdentifierContext(ReturnIdentifier, $"{ReturnIdentifier}{
StubIdentifierContext
.GeneratedNativeIdentifierSuffix}", MarshalDirection.UnmanagedToManaged);
Microsoft.Interop.JavaScript.JSImportGenerator (21)
JSExportCodeGenerator.cs (1)
19
private readonly
StubIdentifierContext
_context;
JSImportCodeGenerator.cs (2)
18
public const string ReturnNativeIdentifier = $"{ReturnIdentifier}{
StubIdentifierContext
.GeneratedNativeIdentifierSuffix}";
26
private readonly
StubIdentifierContext
_context;
Marshaling\BaseJSGenerator.cs (2)
44
public virtual IEnumerable<StatementSyntax> Generate(
StubIdentifierContext
context)
48
if (context.CurrentStage ==
StubIdentifierContext
.Stage.Setup)
Marshaling\EmptyJSGenerator.cs (1)
13
public IEnumerable<StatementSyntax> Generate(TypePositionInfo info, StubCodeContext codeContext,
StubIdentifierContext
identifierContext) => Array.Empty<StatementSyntax>();
Marshaling\FuncJSGenerator.cs (5)
32
public override IEnumerable<StatementSyntax> Generate(
StubIdentifierContext
context)
48
if (context.CurrentStage ==
StubIdentifierContext
.Stage.UnmarshalCapture && CodeContext.Direction == MarshalDirection.ManagedToUnmanaged && TypeInfo.IsManagedReturnPosition)
53
if (context.CurrentStage ==
StubIdentifierContext
.Stage.Marshal && CodeContext.Direction == MarshalDirection.UnmanagedToManaged && TypeInfo.IsManagedReturnPosition)
63
if (context.CurrentStage ==
StubIdentifierContext
.Stage.PinnedMarshal && CodeContext.Direction == MarshalDirection.ManagedToUnmanaged && !TypeInfo.IsManagedReturnPosition)
68
if (context.CurrentStage ==
StubIdentifierContext
.Stage.Unmarshal && CodeContext.Direction == MarshalDirection.UnmanagedToManaged && !TypeInfo.IsManagedReturnPosition)
Marshaling\PrimitiveJSGenerator.cs (5)
25
public override IEnumerable<StatementSyntax> Generate(
StubIdentifierContext
context)
36
if (context.CurrentStage ==
StubIdentifierContext
.Stage.UnmarshalCapture && CodeContext.Direction == MarshalDirection.ManagedToUnmanaged && TypeInfo.IsManagedReturnPosition)
41
if (context.CurrentStage ==
StubIdentifierContext
.Stage.Marshal && CodeContext.Direction == MarshalDirection.UnmanagedToManaged && TypeInfo.IsManagedReturnPosition)
51
if (context.CurrentStage ==
StubIdentifierContext
.Stage.PinnedMarshal && CodeContext.Direction == MarshalDirection.ManagedToUnmanaged && !TypeInfo.IsManagedReturnPosition)
56
if (context.CurrentStage ==
StubIdentifierContext
.Stage.Unmarshal && CodeContext.Direction == MarshalDirection.UnmanagedToManaged && !TypeInfo.IsManagedReturnPosition)
Marshaling\TaskJSGenerator.cs (5)
36
public override IEnumerable<StatementSyntax> Generate(
StubIdentifierContext
context)
49
if (context.CurrentStage ==
StubIdentifierContext
.Stage.UnmarshalCapture && CodeContext.Direction == MarshalDirection.ManagedToUnmanaged && TypeInfo.IsManagedReturnPosition)
56
if (context.CurrentStage ==
StubIdentifierContext
.Stage.Marshal && CodeContext.Direction == MarshalDirection.UnmanagedToManaged && TypeInfo.IsManagedReturnPosition)
68
if (context.CurrentStage ==
StubIdentifierContext
.Stage.PinnedMarshal && CodeContext.Direction == MarshalDirection.ManagedToUnmanaged && !TypeInfo.IsManagedReturnPosition)
75
if (context.CurrentStage ==
StubIdentifierContext
.Stage.Unmarshal && CodeContext.Direction == MarshalDirection.UnmanagedToManaged && !TypeInfo.IsManagedReturnPosition)
Microsoft.Interop.SourceGeneration (168)
BoundGenerators.cs (1)
174
public (ParameterListSyntax ParameterList, TypeSyntax ReturnType, AttributeListSyntax? ReturnTypeAttributes) GenerateTargetMethodSignatureData(
StubIdentifierContext
context)
GeneratedStatements.cs (34)
29
public static GeneratedStatements Create(BoundGenerators marshallers,
StubIdentifierContext
context)
33
Setup = GenerateStatementsForStubContext(marshallers, context with { CurrentStage =
StubIdentifierContext
.Stage.Setup }),
34
Marshal = GenerateStatementsForStubContext(marshallers, context with { CurrentStage =
StubIdentifierContext
.Stage.Marshal }),
35
Pin = GenerateStatementsForStubContext(marshallers, context with { CurrentStage =
StubIdentifierContext
.Stage.Pin }).Cast<FixedStatementSyntax>().ToImmutableArray(),
36
PinnedMarshal = GenerateStatementsForStubContext(marshallers, context with { CurrentStage =
StubIdentifierContext
.Stage.PinnedMarshal }),
38
Unmarshal = GenerateStatementsForStubContext(marshallers, context with { CurrentStage =
StubIdentifierContext
.Stage.UnmarshalCapture })
39
.AddRange(GenerateStatementsForStubContext(marshallers, context with { CurrentStage =
StubIdentifierContext
.Stage.Unmarshal })),
40
NotifyForSuccessfulInvoke = GenerateStatementsForStubContext(marshallers, context with { CurrentStage =
StubIdentifierContext
.Stage.NotifyForSuccessfulInvoke }),
41
GuaranteedUnmarshal = GenerateStatementsForStubContext(marshallers, context with { CurrentStage =
StubIdentifierContext
.Stage.GuaranteedUnmarshal }),
42
CleanupCallerAllocated = GenerateStatementsForStubContext(marshallers, context with { CurrentStage =
StubIdentifierContext
.Stage.CleanupCallerAllocated }),
43
CleanupCalleeAllocated = GenerateStatementsForStubContext(marshallers, context with { CurrentStage =
StubIdentifierContext
.Stage.CleanupCalleeAllocated }),
48
public static GeneratedStatements Create(BoundGenerators marshallers, StubCodeContext codeContext,
StubIdentifierContext
context, ExpressionSyntax expressionToInvoke)
56
InvokeStatement = GenerateStatementForNativeInvoke(marshallers, context with { CurrentStage =
StubIdentifierContext
.Stage.Invoke }, expressionToInvoke)
63
InvokeStatement = GenerateStatementForManagedInvoke(marshallers, context with { CurrentStage =
StubIdentifierContext
.Stage.Invoke }, expressionToInvoke)
72
private static ImmutableArray<StatementSyntax> GenerateStatementsForStubContext(BoundGenerators marshallers,
StubIdentifierContext
context)
91
private static ExpressionStatementSyntax GenerateStatementForNativeInvoke(BoundGenerators marshallers,
StubIdentifierContext
context, ExpressionSyntax expressionToInvoke)
93
if (context.CurrentStage !=
StubIdentifierContext
.Stage.Invoke)
125
private static ExpressionStatementSyntax GenerateStatementForManagedInvoke(BoundGenerators marshallers,
StubIdentifierContext
context, ExpressionSyntax expressionToInvoke)
127
if (context.CurrentStage !=
StubIdentifierContext
.Stage.Invoke)
152
private static ImmutableArray<CatchClauseSyntax> GenerateCatchClauseForManagedException(BoundGenerators marshallers,
StubIdentifierContext
context)
165
managedExceptionMarshaller.Generate(context with { CurrentStage =
StubIdentifierContext
.Stage.Marshal }));
167
managedExceptionMarshaller.Generate(context with { CurrentStage =
StubIdentifierContext
.Stage.PinnedMarshal }));
175
private static SyntaxTriviaList GenerateStageTrivia(
StubIdentifierContext
.Stage stage)
179
StubIdentifierContext
.Stage.Setup => "Perform required setup.",
180
StubIdentifierContext
.Stage.Marshal => "Convert managed data to native data.",
181
StubIdentifierContext
.Stage.Pin => "Pin data in preparation for calling the P/Invoke.",
182
StubIdentifierContext
.Stage.PinnedMarshal => "Convert managed data to native data that requires the managed data to be pinned.",
183
StubIdentifierContext
.Stage.Invoke => "Call the P/Invoke.",
184
StubIdentifierContext
.Stage.UnmarshalCapture => "Capture the native data into marshaller instances in case conversion to managed data throws an exception.",
185
StubIdentifierContext
.Stage.Unmarshal => "Convert native data to managed data.",
186
StubIdentifierContext
.Stage.CleanupCallerAllocated => "Perform cleanup of caller allocated resources.",
187
StubIdentifierContext
.Stage.CleanupCalleeAllocated => "Perform cleanup of callee allocated resources.",
188
StubIdentifierContext
.Stage.NotifyForSuccessfulInvoke => "Keep alive any managed objects that need to stay alive across the call.",
189
StubIdentifierContext
.Stage.GuaranteedUnmarshal => "Convert native data to managed data even in the case of an exception during the non-cleanup phases.",
LinearCollectionElementIdentifierContext.cs (3)
11
private readonly
StubIdentifierContext
_globalContext;
20
/// Create a <see cref="
StubIdentifierContext
"/> for marshalling elements of an collection.
28
StubIdentifierContext
globalContext,
ManagedToNativeStubGenerator.cs (1)
66
_context = new DefaultIdentifierContext(ReturnIdentifier, $"{ReturnIdentifier}{
StubIdentifierContext
.GeneratedNativeIdentifierSuffix}", MarshalDirection.ManagedToUnmanaged)
Marshalling\BlittableMarshaller.cs (5)
37
public IEnumerable<StatementSyntax> Generate(TypePositionInfo info, StubCodeContext codeContext,
StubIdentifierContext
context)
46
if (context.CurrentStage ==
StubIdentifierContext
.Stage.Pin)
69
case
StubIdentifierContext
.Stage.Setup:
71
case
StubIdentifierContext
.Stage.Marshal:
82
case
StubIdentifierContext
.Stage.Unmarshal:
Marshalling\BoolMarshaller.cs (4)
50
public IEnumerable<StatementSyntax> Generate(TypePositionInfo info, StubCodeContext codeContext,
StubIdentifierContext
context)
56
case
StubIdentifierContext
.Stage.Setup:
58
case
StubIdentifierContext
.Stage.Marshal:
75
case
StubIdentifierContext
.Stage.Unmarshal:
Marshalling\CharMarshaller.cs (5)
47
public IEnumerable<StatementSyntax> Generate(TypePositionInfo info, StubCodeContext codeContext,
StubIdentifierContext
context)
53
if (context.CurrentStage ==
StubIdentifierContext
.Stage.Pin)
86
case
StubIdentifierContext
.Stage.Setup:
88
case
StubIdentifierContext
.Stage.Marshal:
104
case
StubIdentifierContext
.Stage.Unmarshal:
Marshalling\CustomTypeMarshallingGenerator.cs (11)
26
public IEnumerable<StatementSyntax> Generate(
StubIdentifierContext
context)
33
case
StubIdentifierContext
.Stage.Setup:
35
case
StubIdentifierContext
.Stage.Marshal:
42
case
StubIdentifierContext
.Stage.Pin:
48
case
StubIdentifierContext
.Stage.PinnedMarshal:
54
case
StubIdentifierContext
.Stage.NotifyForSuccessfulInvoke:
60
case
StubIdentifierContext
.Stage.UnmarshalCapture:
66
case
StubIdentifierContext
.Stage.Unmarshal:
73
case
StubIdentifierContext
.Stage.GuaranteedUnmarshal:
80
case
StubIdentifierContext
.Stage.CleanupCallerAllocated:
82
case
StubIdentifierContext
.Stage.CleanupCalleeAllocated:
Marshalling\DelegateMarshaller.cs (5)
30
public IEnumerable<StatementSyntax> Generate(TypePositionInfo info, StubCodeContext codeContext,
StubIdentifierContext
context)
36
case
StubIdentifierContext
.Stage.Setup:
38
case
StubIdentifierContext
.Stage.Marshal:
57
case
StubIdentifierContext
.Stage.Unmarshal:
79
case
StubIdentifierContext
.Stage.NotifyForSuccessfulInvoke:
Marshalling\ElementsMarshalling.cs (21)
21
InvocationExpressionSyntax GetUnmanagedValuesDestination(
StubIdentifierContext
context);
22
InvocationExpressionSyntax GetManagedValuesSource(
StubIdentifierContext
context);
23
InvocationExpressionSyntax GetUnmanagedValuesSource(
StubIdentifierContext
context);
24
InvocationExpressionSyntax GetManagedValuesDestination(
StubIdentifierContext
context);
41
public StatementSyntax GenerateClearUnmanagedDestination(
StubIdentifierContext
context)
54
public StatementSyntax GenerateClearManagedValuesDestination(
StubIdentifierContext
context)
62
public static ExpressionSyntax GenerateNumElementsExpression(CountInfo count, bool countInfoRequiresCast, StubCodeContext codeContext,
StubIdentifierContext
context)
102
public abstract StatementSyntax GenerateSetupStatement(
StubIdentifierContext
context);
103
public abstract StatementSyntax GenerateUnmanagedToManagedByValueOutMarshalStatement(
StubIdentifierContext
context);
104
public abstract StatementSyntax GenerateMarshalStatement(
StubIdentifierContext
context);
105
public abstract StatementSyntax GenerateManagedToUnmanagedByValueOutUnmarshalStatement(
StubIdentifierContext
context);
107
public abstract StatementSyntax GenerateUnmarshalStatement(
StubIdentifierContext
context);
108
public abstract StatementSyntax GenerateElementCleanupStatement(
StubIdentifierContext
context);
113
public static StatementSyntax GetNumElementsAssignmentFromManagedValuesSource(this IElementsMarshallingCollectionSource source, TypePositionInfo info,
StubIdentifierContext
context)
127
public static StatementSyntax GetNumElementsAssignmentFromManagedValuesDestination(this IElementsMarshallingCollectionSource source, TypePositionInfo info,
StubIdentifierContext
context)
150
public override StatementSyntax GenerateUnmanagedToManagedByValueOutMarshalStatement(
StubIdentifierContext
context)
174
public override StatementSyntax GenerateMarshalStatement(
StubIdentifierContext
context)
185
public override StatementSyntax GenerateManagedToUnmanagedByValueOutUnmarshalStatement(
StubIdentifierContext
context)
214
public override StatementSyntax GenerateUnmarshalStatement(
StubIdentifierContext
context)
244
public override StatementSyntax GenerateElementCleanupStatement(
StubIdentifierContext
context) => EmptyStatement();
245
public override StatementSyntax GenerateSetupStatement(
StubIdentifierContext
context) => EmptyStatement();
Marshalling\Forwarder.cs (1)
27
public IEnumerable<StatementSyntax> Generate(TypePositionInfo info, StubCodeContext codeContext,
StubIdentifierContext
context)
Marshalling\GenericFriendlyPointerIdentifierContext.cs (2)
13
private readonly
StubIdentifierContext
_innerContext;
17
public GenericFriendlyPointerIdentifierContext(
StubIdentifierContext
inner, TypePositionInfo adaptedInfo, string baseIdentifier)
Marshalling\ICustomTypeMarshallingStrategy.cs (10)
20
IEnumerable<StatementSyntax> GenerateCleanupCallerAllocatedResourcesStatements(
StubIdentifierContext
context);
22
IEnumerable<StatementSyntax> GenerateCleanupCalleeAllocatedResourcesStatements(
StubIdentifierContext
context);
24
IEnumerable<StatementSyntax> GenerateGuaranteedUnmarshalStatements(
StubIdentifierContext
context);
26
IEnumerable<StatementSyntax> GenerateMarshalStatements(
StubIdentifierContext
context);
28
IEnumerable<StatementSyntax> GenerateNotifyForSuccessfulInvokeStatements(
StubIdentifierContext
context);
30
IEnumerable<StatementSyntax> GeneratePinnedMarshalStatements(
StubIdentifierContext
context);
32
IEnumerable<StatementSyntax> GeneratePinStatements(
StubIdentifierContext
context);
34
IEnumerable<StatementSyntax> GenerateSetupStatements(
StubIdentifierContext
context);
36
IEnumerable<StatementSyntax> GenerateUnmarshalCaptureStatements(
StubIdentifierContext
context);
38
IEnumerable<StatementSyntax> GenerateUnmarshalStatements(
StubIdentifierContext
context);
Marshalling\MarshallerHelpers.cs (13)
64
public static string GetMarshallerIdentifier(TypePositionInfo info,
StubIdentifierContext
context)
69
public static string GetManagedSpanIdentifier(TypePositionInfo info,
StubIdentifierContext
context)
74
public static string GetNativeSpanIdentifier(TypePositionInfo info,
StubIdentifierContext
context)
79
public static string GetNumElementsIdentifier(TypePositionInfo info,
StubIdentifierContext
context)
84
public static string GetLastIndexMarshalledIdentifier(TypePositionInfo info,
StubIdentifierContext
context)
94
public static ExpressionSyntax GetIndexedManagedElementExpression(TypePositionInfo info, StubCodeContext codeContext,
StubIdentifierContext
context)
260
public static StatementSyntax SkipInitOrDefaultInit(TypePositionInfo info,
StubIdentifierContext
context)
282
public static StatementSyntax DefaultInit(TypePositionInfo info,
StubIdentifierContext
context)
353
public static
StubIdentifierContext
.Stage GetCleanupStage(TypePositionInfo info, StubCodeContext context)
359
return
StubIdentifierContext
.Stage.CleanupCallerAllocated;
363
MarshalDirection.UnmanagedToManaged =>
StubIdentifierContext
.Stage.CleanupCalleeAllocated,
364
MarshalDirection.ManagedToUnmanaged =>
StubIdentifierContext
.Stage.CleanupCallerAllocated,
365
MarshalDirection.Bidirectional =>
StubIdentifierContext
.Stage.CleanupCallerAllocated,
Marshalling\MarshallingGenerator.cs (8)
42
/// The native identifier provided by <see cref="
StubIdentifierContext
.GetIdentifiers(TypePositionInfo)"/> should be passed by value.
47
/// The address of the native identifier provided by <see cref="
StubIdentifierContext
.GetIdentifiers(TypePositionInfo)"/> should be passed by value.
52
/// The native identifier provided by <see cref="
StubIdentifierContext
.GetIdentifiers(TypePositionInfo)"/> should be cast to the native type.
119
/// <see cref="
StubIdentifierContext
.CurrentStage" /> of <paramref name="context"/>.
120
/// For <see cref="
StubIdentifierContext
.Stage.Pin"/>, any statements not of type
123
IEnumerable<StatementSyntax> Generate(
StubIdentifierContext
context);
132
/// <see cref="
StubIdentifierContext
.CurrentStage" /> of <paramref name="context"/> may not be valid.
170
public IEnumerable<StatementSyntax> Generate(
StubIdentifierContext
context) => unbound.Generate(TypeInfo, CodeContext, context);
Marshalling\MarshallingGeneratorExtensions.cs (4)
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)
Marshalling\StatefulMarshallingStrategy.cs (13)
25
public IEnumerable<StatementSyntax> GenerateCleanupCallerAllocatedResourcesStatements(
StubIdentifierContext
context)
27
if (MarshallerHelpers.GetCleanupStage(info, stubContext) is not
StubIdentifierContext
.Stage.CleanupCallerAllocated)
39
public IEnumerable<StatementSyntax> GenerateCleanupCalleeAllocatedResourcesStatements(
StubIdentifierContext
context)
41
if (MarshallerHelpers.GetCleanupStage(info, stubContext) is not
StubIdentifierContext
.Stage.CleanupCalleeAllocated)
53
public IEnumerable<StatementSyntax> GenerateGuaranteedUnmarshalStatements(
StubIdentifierContext
context)
68
public IEnumerable<StatementSyntax> GenerateMarshalStatements(
StubIdentifierContext
context)
82
public IEnumerable<StatementSyntax> GeneratePinnedMarshalStatements(
StubIdentifierContext
context)
97
public IEnumerable<StatementSyntax> GenerateUnmarshalStatements(
StubIdentifierContext
context)
112
public IEnumerable<StatementSyntax> GenerateUnmarshalCaptureStatements(
StubIdentifierContext
context)
126
public IEnumerable<StatementSyntax> GenerateSetupStatements(
StubIdentifierContext
context)
148
public IEnumerable<StatementSyntax> GeneratePinStatements(
StubIdentifierContext
context)
164
public IEnumerable<StatementSyntax> GenerateNotifyForSuccessfulInvokeStatements(
StubIdentifierContext
context)
175
public static string GetMarshallerIdentifier(TypePositionInfo info,
StubIdentifierContext
context)
Marshalling\StatelessMarshallingStrategy.cs (10)
27
public IEnumerable<StatementSyntax> GenerateCleanupCallerAllocatedResourcesStatements(
StubIdentifierContext
context) => Array.Empty<StatementSyntax>();
29
public IEnumerable<StatementSyntax> GenerateCleanupCalleeAllocatedResourcesStatements(
StubIdentifierContext
context) => Array.Empty<StatementSyntax>();
31
public IEnumerable<StatementSyntax> GenerateGuaranteedUnmarshalStatements(
StubIdentifierContext
context)
51
public IEnumerable<StatementSyntax> GenerateMarshalStatements(
StubIdentifierContext
context)
98
public IEnumerable<StatementSyntax> GeneratePinnedMarshalStatements(
StubIdentifierContext
context)
103
public IEnumerable<StatementSyntax> GenerateUnmarshalStatements(
StubIdentifierContext
context)
123
public IEnumerable<StatementSyntax> GenerateUnmarshalCaptureStatements(
StubIdentifierContext
context)
128
public IEnumerable<StatementSyntax> GenerateSetupStatements(
StubIdentifierContext
context)
133
public IEnumerable<StatementSyntax> GeneratePinStatements(
StubIdentifierContext
context)
138
public IEnumerable<StatementSyntax> GenerateNotifyForSuccessfulInvokeStatements(
StubIdentifierContext
context)
Marshalling\StaticPinnableManagedValueMarshaller.cs (3)
44
public IEnumerable<StatementSyntax> Generate(
StubIdentifierContext
context)
72
private IEnumerable<StatementSyntax> GeneratePinningPath(
StubIdentifierContext
context)
74
if (context.CurrentStage ==
StubIdentifierContext
.Stage.Pin)
Marshalling\UnmanagedToManagedOwnershipTrackingStrategy.cs (10)
27
public IEnumerable<StatementSyntax> GenerateCleanupCallerAllocatedResourcesStatements(
StubIdentifierContext
context) => innerMarshaller.GenerateCleanupCallerAllocatedResourcesStatements(context);
28
public IEnumerable<StatementSyntax> GenerateCleanupCalleeAllocatedResourcesStatements(
StubIdentifierContext
context) => innerMarshaller.GenerateCleanupCalleeAllocatedResourcesStatements(context);
30
public IEnumerable<StatementSyntax> GenerateGuaranteedUnmarshalStatements(
StubIdentifierContext
context) => innerMarshaller.GenerateGuaranteedUnmarshalStatements(context);
31
public IEnumerable<StatementSyntax> GenerateMarshalStatements(
StubIdentifierContext
context)
48
public IEnumerable<StatementSyntax> GenerateNotifyForSuccessfulInvokeStatements(
StubIdentifierContext
context) => innerMarshaller.GenerateNotifyForSuccessfulInvokeStatements(context);
49
public IEnumerable<StatementSyntax> GeneratePinnedMarshalStatements(
StubIdentifierContext
context) => innerMarshaller.GeneratePinnedMarshalStatements(context);
51
public IEnumerable<StatementSyntax> GeneratePinStatements(
StubIdentifierContext
context) => innerMarshaller.GeneratePinStatements(context);
52
public IEnumerable<StatementSyntax> GenerateSetupStatements(
StubIdentifierContext
context)
73
public IEnumerable<StatementSyntax> GenerateUnmarshalCaptureStatements(
StubIdentifierContext
context) => innerMarshaller.GenerateUnmarshalCaptureStatements(context);
75
public IEnumerable<StatementSyntax> GenerateUnmarshalStatements(
StubIdentifierContext
context) => innerMarshaller.GenerateUnmarshalStatements(context);
VariableDeclarations.cs (4)
16
public static VariableDeclarations GenerateDeclarationsForManagedToUnmanaged(BoundGenerators marshallers,
StubIdentifierContext
context, bool initializeDeclarations)
55
static void AppendVariableDeclarations(ImmutableArray<LocalDeclarationStatementSyntax>.Builder statementsToUpdate, IBoundMarshallingGenerator marshaller,
StubIdentifierContext
context, bool initializeToDefault)
79
public static VariableDeclarations GenerateDeclarationsForUnmanagedToManaged(BoundGenerators marshallers,
StubIdentifierContext
context, bool initializeDeclarations)
112
static void AppendVariableDeclarations(ImmutableArray<LocalDeclarationStatementSyntax>.Builder statementsToUpdate, IBoundMarshallingGenerator marshaller,
StubIdentifierContext
context, bool initializeToDefault)