57 references to ByValueContentsMarshalKind
Microsoft.Interop.ComInterfaceGenerator (5)
Marshallers\ComInterfaceDispatchMarshallingResolver.cs (1)
56public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic)
Marshallers\ManagedHResultExceptionGeneratorResolver.cs (2)
69public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic) 106public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic)
Marshallers\ObjectUnwrapperResolver.cs (1)
51public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic)
Marshallers\StructAsHResultMarshallerFactory.cs (1)
94public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic)
Microsoft.Interop.JavaScript.JSImportGenerator (3)
JSGeneratorFactory.cs (1)
19if (info.IsByRef || info.ByValueContentsMarshalKind != ByValueContentsMarshalKind.Default)
Marshaling\BaseJSGenerator.cs (1)
28public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic)
Marshaling\EmptyJSGenerator.cs (1)
17public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic)
Microsoft.Interop.SourceGeneration (49)
Marshalling\AttributedMarshallingModelGeneratorResolver.cs (1)
558private static RefKind CreateElementRefKind(RefKind refKind, ByValueContentsMarshalKind byValueContentsMarshalKind)
Marshalling\BlittableMarshaller.cs (1)
102public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic)
Marshalling\BoolMarshaller.cs (1)
100public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic)
Marshalling\ByValueMarshalKindSupportDescriptor.cs (9)
43/// Provides an implementation of <see cref="IMarshallingGenerator.SupportsByValueMarshalKind(ByValueContentsMarshalKind, TypePositionInfo, StubCodeContext, out GeneratorDiagnostic?)"/> through <see cref="GetSupport(ByValueContentsMarshalKind, TypePositionInfo, StubCodeContext, out GeneratorDiagnostic?)"/> 72public ByValueMarshalKindSupport GetSupport(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic) 77if (marshalKind != ByValueContentsMarshalKind.Default) 92Debug.Assert(marshalKind is ByValueContentsMarshalKind.Default); 99ByValueContentsMarshalKind.Default => DefaultSupport.GetSupport(info, context, out diagnostic), 100ByValueContentsMarshalKind.In => InSupport.GetSupport(info, context, out diagnostic), 101ByValueContentsMarshalKind.Out => OutSupport.GetSupport(info, context, out diagnostic), 102ByValueContentsMarshalKind.InOut => InOutSupport.GetSupport(info, context, out diagnostic),
Marshalling\CharMarshaller.cs (1)
137public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic)
Marshalling\CustomTypeMarshallingGenerator.cs (2)
109info.ByValueContentsMarshalKind.HasFlag(ByValueContentsMarshalKind.Out) 120public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic)
Marshalling\DelegateMarshaller.cs (1)
95public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic)
Marshalling\ElementsMarshalling.cs (2)
430if (context.Direction is MarshalDirection.UnmanagedToManaged && info.ByValueContentsMarshalKind is ByValueContentsMarshalKind.Out) 545return !context.AdditionalTemporaryStateLivesAcrossStages || info.ByValueContentsMarshalKind == ByValueContentsMarshalKind.Out || info.RefKind == RefKind.Out || info.IsNativeReturnPosition;
Marshalling\Forwarder.cs (1)
34public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic)
Marshalling\MarshallerHelpers.cs (5)
18public static RefKind GetRefKindForByValueContentsKind(this ByValueContentsMarshalKind byValue) 22ByValueContentsMarshalKind.Default => RefKind.None, 23ByValueContentsMarshalKind.In => RefKind.In, 24ByValueContentsMarshalKind.InOut => RefKind.Ref, 25ByValueContentsMarshalKind.Out => RefKind.Out,
Marshalling\MarshallingGenerator.cs (6)
58/// An enumeration describing if the provided <see cref="ByValueContentsMarshalKind" /> is supported and changes behavior from the default behavior. 63/// The provided <see cref="ByValueContentsMarshalKind" /> is supported and changes behavior from the default behavior. 67/// The provided <see cref="ByValueContentsMarshalKind" /> is not supported. 71/// The provided <see cref="ByValueContentsMarshalKind" /> is supported but does not change behavior from the default in this scenario. 75/// The provided <see cref="ByValueContentsMarshalKind" /> is supported but does not follow best practices. 145ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic);
Marshalling\MarshallingGeneratorExtensions.cs (2)
117if (info.ByValueContentsMarshalKind.HasFlag(ByValueContentsMarshalKind.In)) 121if (info.ByValueContentsMarshalKind.HasFlag(ByValueContentsMarshalKind.Out))
Marshalling\StatefulMarshallingStrategy.cs (4)
394if (context.Direction == MarshalDirection.ManagedToUnmanaged && !info.IsByRef && info.ByValueContentsMarshalKind == ByValueContentsMarshalKind.Out) 402if (context.Direction == MarshalDirection.UnmanagedToManaged && !info.IsByRef && info.ByValueContentsMarshalKind.HasFlag(ByValueContentsMarshalKind.Out)) 449if (context.Direction == MarshalDirection.ManagedToUnmanaged && !info.IsByRef && info.ByValueContentsMarshalKind.HasFlag(ByValueContentsMarshalKind.Out)) 457if (context.Direction == MarshalDirection.UnmanagedToManaged && !info.IsByRef && info.ByValueContentsMarshalKind == ByValueContentsMarshalKind.Out)
Marshalling\StatelessMarshallingStrategy.cs (5)
463if (context.Direction == MarshalDirection.ManagedToUnmanaged && !info.IsByRef && info.ByValueContentsMarshalKind.HasFlag(ByValueContentsMarshalKind.Out)) 672if (context.Direction == MarshalDirection.ManagedToUnmanaged && !info.IsByRef && info.ByValueContentsMarshalKind == ByValueContentsMarshalKind.Out) 681if (context.Direction == MarshalDirection.UnmanagedToManaged && !info.IsByRef && info.ByValueContentsMarshalKind.HasFlag(ByValueContentsMarshalKind.Out)) 719if (context.Direction == MarshalDirection.ManagedToUnmanaged && !info.IsByRef && info.ByValueContentsMarshalKind.HasFlag(ByValueContentsMarshalKind.Out)) 727if (context.Direction == MarshalDirection.UnmanagedToManaged && !info.IsByRef && info.ByValueContentsMarshalKind == ByValueContentsMarshalKind.Out)
Marshalling\StaticPinnableManagedValueMarshaller.cs (1)
103public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic)
Marshalling\UnmanagedToManagedOwnershipTrackingStrategy.cs (1)
181public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic)
TypePositionInfo.cs (6)
71public ByValueContentsMarshalKind ByValueContentsMarshalKind { get; init; } 111private static (ByValueContentsMarshalKind, Location? inAttribute, Location? outAttribute) GetByValueContentsMarshalKind(IEnumerable<AttributeData> attributes, Compilation compilation) 116ByValueContentsMarshalKind marshalKind = ByValueContentsMarshalKind.Default; 124marshalKind |= ByValueContentsMarshalKind.Out; 129marshalKind |= ByValueContentsMarshalKind.In;