226 references to MarshallerKind
ILCompiler.ReadyToRun (226)
Interop\IL\Marshaller.ReadyToRun.cs (6)
8
protected static Marshaller CreateMarshaller(
MarshallerKind
kind)
13
case
MarshallerKind
.Enum:
14
case
MarshallerKind
.BlittableValue:
15
case
MarshallerKind
.BlittableStruct:
16
case
MarshallerKind
.UnicodeChar:
18
case
MarshallerKind
.VoidReturn:
parent\parent\Common\TypeSystem\Interop\IL\MarshalHelpers.cs (200)
14
MarshallerKind
kind,
15
MarshallerKind
elementMarshallerKind,
31
case
MarshallerKind
.BlittableValue:
60
case
MarshallerKind
.Bool:
63
case
MarshallerKind
.CBool:
66
case
MarshallerKind
.VariantBool:
69
case
MarshallerKind
.Enum:
70
case
MarshallerKind
.BlittableStruct:
71
case
MarshallerKind
.Decimal:
72
case
MarshallerKind
.VoidReturn:
82
case
MarshallerKind
.BlittableStructPtr:
85
case
MarshallerKind
.HandleRef:
88
case
MarshallerKind
.UnicodeChar:
94
case
MarshallerKind
.OleDateTime:
97
case
MarshallerKind
.FailedTypeLoad:
100
case
MarshallerKind
.SafeHandle:
101
case
MarshallerKind
.CriticalHandle:
104
case
MarshallerKind
.BSTRString:
105
case
MarshallerKind
.UnicodeString:
106
case
MarshallerKind
.UnicodeStringBuilder:
109
case
MarshallerKind
.AnsiBSTRString:
110
case
MarshallerKind
.AnsiString:
111
case
MarshallerKind
.AnsiStringBuilder:
112
case
MarshallerKind
.UTF8String:
115
case
MarshallerKind
.BlittableArray:
116
case
MarshallerKind
.Array:
117
case
MarshallerKind
.AnsiCharArray:
128
MarshallerKind
.Unknown,
138
case
MarshallerKind
.AnsiChar:
141
case
MarshallerKind
.FunctionPointer:
164
case
MarshallerKind
.LayoutClassPtr:
165
case
MarshallerKind
.AsAnyA:
166
case
MarshallerKind
.AsAnyW:
167
case
MarshallerKind
.ComInterface:
168
case
MarshallerKind
.CustomMarshaler:
169
case
MarshallerKind
.BlittableValueClassByRefReturn:
177
case
MarshallerKind
.OleCurrency:
180
case
MarshallerKind
.Unknown:
215
internal static
MarshallerKind
GetMarshallerKind(
223
out
MarshallerKind
elementMarshallerKind)
225
elementMarshallerKind =
MarshallerKind
.Invalid;
242
return
MarshallerKind
.BlittableValueClassWithCopyCtor;
253
return
MarshallerKind
.BlittableValueClassByRefReturn;
255
return
MarshallerKind
.Invalid;
262
return
MarshallerKind
.FailedTypeLoad;
264
return
MarshallerKind
.CustomMarshaler;
275
return
MarshallerKind
.VoidReturn;
282
return
MarshallerKind
.Bool;
286
return
MarshallerKind
.CBool;
290
return
MarshallerKind
.VariantBool;
292
return
MarshallerKind
.Invalid;
295
return
MarshallerKind
.Invalid;
303
return
MarshallerKind
.AnsiChar;
307
return
MarshallerKind
.UnicodeChar;
311
return
MarshallerKind
.AnsiChar;
313
return
MarshallerKind
.UnicodeChar;
315
return
MarshallerKind
.Invalid;
321
return
MarshallerKind
.BlittableValue;
323
return
MarshallerKind
.Invalid;
328
return
MarshallerKind
.BlittableValue;
330
return
MarshallerKind
.Invalid;
335
return
MarshallerKind
.BlittableValue;
337
return
MarshallerKind
.Invalid;
342
return
MarshallerKind
.BlittableValue;
344
return
MarshallerKind
.Invalid;
349
return
MarshallerKind
.BlittableValue;
351
return
MarshallerKind
.Invalid;
355
return
MarshallerKind
.BlittableValue;
357
return
MarshallerKind
.Invalid;
361
return
MarshallerKind
.BlittableValue;
363
return
MarshallerKind
.Invalid;
366
return
MarshallerKind
.Invalid;
372
return
MarshallerKind
.Enum;
378
return
MarshallerKind
.OleDateTime;
380
return
MarshallerKind
.Invalid;
385
return
MarshallerKind
.HandleRef;
387
return
MarshallerKind
.Invalid;
392
return
MarshallerKind
.Decimal;
394
return
MarshallerKind
.BlittableStructPtr;
396
return
MarshallerKind
.OleCurrency;
398
return
MarshallerKind
.Invalid;
403
return
MarshallerKind
.BlittableStruct;
405
return
MarshallerKind
.BlittableStructPtr;
407
return
MarshallerKind
.Invalid;
412
return
MarshallerKind
.Invalid;
418
return
MarshallerKind
.Invalid;
424
return
MarshallerKind
.Invalid;
430
return
MarshallerKind
.Invalid;
436
return
MarshallerKind
.Invalid;
442
return
MarshallerKind
.Invalid;
444
return
MarshallerKind
.BlittableStruct;
449
return
MarshallerKind
.Invalid;
451
return
MarshallerKind
.Struct;
455
return
MarshallerKind
.Invalid;
468
return
MarshallerKind
.FailedTypeLoad;
478
if (elementMarshallerKind ==
MarshallerKind
.Invalid)
479
return
MarshallerKind
.Invalid;
481
if (elementMarshallerKind ==
MarshallerKind
.AnsiChar)
482
return
MarshallerKind
.AnsiCharArray;
483
else if (elementMarshallerKind ==
MarshallerKind
.UnicodeChar // Arrays of unicode char should be marshalled as blittable arrays
484
|| elementMarshallerKind ==
MarshallerKind
.Enum
485
|| elementMarshallerKind ==
MarshallerKind
.BlittableValue)
486
return
MarshallerKind
.BlittableArray;
488
return
MarshallerKind
.Array;
500
if (elementMarshallerKind ==
MarshallerKind
.Invalid)
501
return
MarshallerKind
.Invalid;
503
if (elementMarshallerKind ==
MarshallerKind
.AnsiChar)
504
return
MarshallerKind
.ByValAnsiCharArray;
506
return
MarshallerKind
.ByValArray;
510
return
MarshallerKind
.Invalid;
520
return
MarshallerKind
.BlittableValueClassWithCopyCtor;
524
return
MarshallerKind
.BlittableValue;
526
return
MarshallerKind
.Invalid;
531
return
MarshallerKind
.BlittableValue;
533
return
MarshallerKind
.Invalid;
540
return
MarshallerKind
.Invalid;
544
return
MarshallerKind
.FunctionPointer;
546
return
MarshallerKind
.Invalid;
553
return
MarshallerKind
.UnicodeString;
556
return
MarshallerKind
.AnsiString;
559
return
MarshallerKind
.UTF8String;
562
return
MarshallerKind
.UnicodeString;
567
elementMarshallerKind =
MarshallerKind
.AnsiChar;
568
return
MarshallerKind
.ByValAnsiString;
572
elementMarshallerKind =
MarshallerKind
.UnicodeChar;
573
return
MarshallerKind
.ByValUnicodeString;
578
return
MarshallerKind
.BSTRString;
581
return
MarshallerKind
.AnsiBSTRString;
584
return
MarshallerKind
.CustomMarshaler;
588
return
MarshallerKind
.AnsiString;
590
return
MarshallerKind
.UnicodeString;
593
return
MarshallerKind
.Invalid;
599
return
MarshallerKind
.FailedTypeLoad;
601
return isAnsi ?
MarshallerKind
.AsAnyA :
MarshallerKind
.AsAnyW;
608
return
MarshallerKind
.ComInterface;
610
return
MarshallerKind
.Variant;
613
return
MarshallerKind
.Invalid;
622
return
MarshallerKind
.AnsiStringBuilder;
626
return
MarshallerKind
.UnicodeStringBuilder;
630
return
MarshallerKind
.AnsiStringBuilder;
633
return
MarshallerKind
.UnicodeStringBuilder;
635
return
MarshallerKind
.Invalid;
641
return
MarshallerKind
.SafeHandle;
643
return
MarshallerKind
.Invalid;
648
return
MarshallerKind
.CriticalHandle;
650
return
MarshallerKind
.Invalid;
657
return
MarshallerKind
.Invalid;
661
return
MarshallerKind
.LayoutClassPtr;
663
return
MarshallerKind
.LayoutClass;
665
return
MarshallerKind
.Invalid;
672
return
MarshallerKind
.Invalid;
676
return
MarshallerKind
.ComInterface;
678
return
MarshallerKind
.Invalid;
682
return
MarshallerKind
.Invalid;
686
private static
MarshallerKind
GetArrayElementMarshallerKind(
707
return
MarshallerKind
.AnsiChar;
710
return
MarshallerKind
.UnicodeChar;
713
return
MarshallerKind
.AnsiChar;
715
return
MarshallerKind
.UnicodeChar;
722
return
MarshallerKind
.Bool;
725
return
MarshallerKind
.CBool;
728
return
MarshallerKind
.Bool;
732
return
MarshallerKind
.BlittableValue;
735
return
MarshallerKind
.Invalid;
747
return
MarshallerKind
.BlittableValue;
749
return
MarshallerKind
.Invalid;
755
return
MarshallerKind
.Enum;
763
return
MarshallerKind
.Decimal;
766
return
MarshallerKind
.BlittableStructPtr;
769
return
MarshallerKind
.Invalid;
778
return
MarshallerKind
.BlittableValue;
781
return
MarshallerKind
.BlittableStructPtr;
784
return
MarshallerKind
.Invalid;
792
return
MarshallerKind
.OleDateTime;
796
return
MarshallerKind
.Invalid;
802
return
MarshallerKind
.HandleRef;
804
return
MarshallerKind
.Invalid;
814
return
MarshallerKind
.BlittableStruct;
817
return
MarshallerKind
.Invalid;
823
return
MarshallerKind
.Struct;
830
return
MarshallerKind
.BlittableValue;
832
return
MarshallerKind
.Invalid;
840
return
MarshallerKind
.AnsiString;
842
return
MarshallerKind
.UnicodeString;
844
return
MarshallerKind
.AnsiString;
846
return
MarshallerKind
.UnicodeString;
848
return
MarshallerKind
.UTF8String;
851
return
MarshallerKind
.BSTRString;
853
return
MarshallerKind
.AnsiBSTRString;
855
return
MarshallerKind
.CustomMarshaler;
857
return
MarshallerKind
.Invalid;
869
return
MarshallerKind
.Invalid;
909
internal static
MarshallerKind
GetDisabledMarshallerKind(
917
return
MarshallerKind
.VoidReturn;
922
return
MarshallerKind
.Invalid;
926
return
MarshallerKind
.BlittableValue;
930
return
MarshallerKind
.BlittableValue;
941
return
MarshallerKind
.BlittableValue;
944
return
MarshallerKind
.Invalid;
parent\parent\Common\TypeSystem\Interop\IL\Marshaller.cs (14)
30
public
MarshallerKind
MarshallerKind;
33
public
MarshallerKind
ElementMarshallerKind;
251
MarshallerKind
marshallerKind = MarshalHelpers.GetMarshallerKind(parameterType,
258
out
MarshallerKind
elementMarshallerKind);
326
if (marshaller.MarshallerKind ==
MarshallerKind
.AnsiString || marshaller.MarshallerKind ==
MarshallerKind
.UnicodeString)
346
MarshallerKind
marshallerKind = MarshalHelpers.GetDisabledMarshallerKind(parameterType, marshallerType is MarshallerType.Field);
354
marshaller.ElementMarshallerKind =
MarshallerKind
.Unknown;
373
private static bool IsMarshallingRequired(
MarshallerKind
kind)
377
case
MarshallerKind
.Enum:
378
case
MarshallerKind
.BlittableValue:
379
case
MarshallerKind
.BlittableStruct:
380
case
MarshallerKind
.UnicodeChar:
381
case
MarshallerKind
.VoidReturn:
parent\parent\Common\TypeSystem\Interop\IL\MarshalUtils.cs (6)
49
MarshallerKind
marshallerKind = MarshalHelpers.GetMarshallerKind(
57
elementMarshallerKind: out
var
_);
59
if (marshallerKind !=
MarshallerKind
.Enum
60
&& marshallerKind !=
MarshallerKind
.BlittableValue
61
&& marshallerKind !=
MarshallerKind
.BlittableStruct
62
&& marshallerKind !=
MarshallerKind
.UnicodeChar)