60 references to ValueBoundaryBehavior
Microsoft.Interop.ComInterfaceGenerator (13)
Marshallers\ComInterfaceDispatchMarshallingResolver.cs (2)
47public ValueBoundaryBehavior GetValueBoundaryBehavior(TypePositionInfo info, StubCodeContext context) => ValueBoundaryBehavior.NativeIdentifier;
Marshallers\KeepAliveThisMarshaller.cs (2)
22public ValueBoundaryBehavior GetValueBoundaryBehavior(TypePositionInfo info, StubCodeContext context) => ValueBoundaryBehavior.ManagedIdentifier;
Marshallers\ManagedHResultExceptionGeneratorResolver.cs (4)
49public ValueBoundaryBehavior GetValueBoundaryBehavior(TypePositionInfo info, StubCodeContext context) => ValueBoundaryBehavior.ManagedIdentifier; 73public ValueBoundaryBehavior GetValueBoundaryBehavior(TypePositionInfo info, StubCodeContext context) => ValueBoundaryBehavior.ManagedIdentifier;
Marshallers\ObjectUnwrapperResolver.cs (2)
44public ValueBoundaryBehavior GetValueBoundaryBehavior(TypePositionInfo info, StubCodeContext context) => ValueBoundaryBehavior.NativeIdentifier;
Marshallers\StructAsHResultMarshallerFactory.cs (3)
55public ValueBoundaryBehavior GetValueBoundaryBehavior(TypePositionInfo info, StubCodeContext context) 59return ValueBoundaryBehavior.AddressOfNativeIdentifier; 62return ValueBoundaryBehavior.NativeIdentifier;
Microsoft.Interop.JavaScript.JSImportGenerator (3)
Marshaling\BaseJSGenerator.cs (3)
20public ValueBoundaryBehavior ValueBoundaryBehavior => TypeInfo.IsByRef ? ValueBoundaryBehavior.AddressOfNativeIdentifier : ValueBoundaryBehavior.NativeIdentifier;
Microsoft.Interop.SourceGeneration (44)
Marshalling\BlittableMarshaller.cs (4)
18public ValueBoundaryBehavior GetValueBoundaryBehavior(TypePositionInfo info, StubCodeContext context) 22return ValueBoundaryBehavior.ManagedIdentifier; 26return ValueBoundaryBehavior.NativeIdentifier; 28return ValueBoundaryBehavior.AddressOfNativeIdentifier;
Marshalling\BoolMarshaller.cs (3)
35public ValueBoundaryBehavior GetValueBoundaryBehavior(TypePositionInfo info, StubCodeContext context) 39return ValueBoundaryBehavior.AddressOfNativeIdentifier; 42return ValueBoundaryBehavior.NativeIdentifier;
Marshalling\CharMarshaller.cs (5)
13public ValueBoundaryBehavior GetValueBoundaryBehavior(TypePositionInfo info, StubCodeContext context) 17return ValueBoundaryBehavior.NativeIdentifier; 21return ValueBoundaryBehavior.ManagedIdentifier; 25return ValueBoundaryBehavior.AddressOfNativeIdentifier; 28return ValueBoundaryBehavior.NativeIdentifier;
Marshalling\CustomTypeMarshallingGenerator.cs (3)
12public ValueBoundaryBehavior ValueBoundaryBehavior => TypeInfo.IsByRef ? ValueBoundaryBehavior.AddressOfNativeIdentifier : ValueBoundaryBehavior.NativeIdentifier;
Marshalling\DelegateMarshaller.cs (3)
18public ValueBoundaryBehavior GetValueBoundaryBehavior(TypePositionInfo info, StubCodeContext context) 20return info.IsByRef ? ValueBoundaryBehavior.AddressOfNativeIdentifier : ValueBoundaryBehavior.NativeIdentifier;
Marshalling\Forwarder.cs (2)
18public ValueBoundaryBehavior GetValueBoundaryBehavior(TypePositionInfo info, StubCodeContext context) 20return ValueBoundaryBehavior.ManagedIdentifier;
Marshalling\IidParameterIndexMarshallerResolver.cs (3)
25public ValueBoundaryBehavior GetValueBoundaryBehavior(TypePositionInfo info, StubCodeContext context) 26=> info.IsByRef ? ValueBoundaryBehavior.AddressOfNativeIdentifier : ValueBoundaryBehavior.NativeIdentifier;
Marshalling\MarshallingGenerator.cs (3)
104ValueBoundaryBehavior ValueBoundaryBehavior { get; } 166public ValueBoundaryBehavior ValueBoundaryBehavior => unbound.GetValueBoundaryBehavior(TypeInfo, context); 211ValueBoundaryBehavior GetValueBoundaryBehavior(TypePositionInfo info, StubCodeContext context);
Marshalling\MarshallingGeneratorExtensions.cs (9)
72ValueBoundaryBehavior.ManagedIdentifier => generator.TypeInfo.IsByRef ? param : managed, 73ValueBoundaryBehavior.NativeIdentifier or ValueBoundaryBehavior.CastNativeIdentifier => native, 74ValueBoundaryBehavior.AddressOfNativeIdentifier => param, 125ValueBoundaryBehavior.ManagedIdentifier when !info.IsByRef => managedIdentifier, 126ValueBoundaryBehavior.ManagedIdentifier => $"{MarshallerHelpers.GetManagedArgumentRefKindKeyword(info)} {managedIdentifier}", 127ValueBoundaryBehavior.NativeIdentifier => nativeIdentifier, 128ValueBoundaryBehavior.AddressOfNativeIdentifier => $"&{nativeIdentifier}", 129ValueBoundaryBehavior.CastNativeIdentifier => $"({generator.AsParameter(context).Type}){nativeIdentifier}",
Marshalling\StaticPinnableManagedValueMarshaller.cs (3)
16public ValueBoundaryBehavior ValueBoundaryBehavior 24return Interop.ValueBoundaryBehavior.NativeIdentifier; 28return Interop.ValueBoundaryBehavior.CastNativeIdentifier;
Marshalling\UnmanagedToManagedOwnershipTrackingStrategy.cs (1)
101public ValueBoundaryBehavior ValueBoundaryBehavior => inner.ValueBoundaryBehavior;
VariableDeclarations.cs (5)
98ValueBoundaryBehavior boundaryBehavior = marshaller.ValueBoundaryBehavior; 100&& boundaryBehavior is not (ValueBoundaryBehavior.NativeIdentifier or ValueBoundaryBehavior.CastNativeIdentifier)) 103if (boundaryBehavior != ValueBoundaryBehavior.AddressOfNativeIdentifier) 115if (boundaryBehavior != ValueBoundaryBehavior.ManagedIdentifier && !marshaller.TypeInfo.IsErrorHandlingPosition)