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)
42
MarshallerKind
kind,
43
MarshallerKind
elementMarshallerKind,
59
case
MarshallerKind
.BlittableValue:
88
case
MarshallerKind
.Bool:
91
case
MarshallerKind
.CBool:
94
case
MarshallerKind
.VariantBool:
97
case
MarshallerKind
.Enum:
98
case
MarshallerKind
.BlittableStruct:
99
case
MarshallerKind
.Decimal:
100
case
MarshallerKind
.VoidReturn:
110
case
MarshallerKind
.BlittableStructPtr:
113
case
MarshallerKind
.HandleRef:
116
case
MarshallerKind
.UnicodeChar:
122
case
MarshallerKind
.OleDateTime:
125
case
MarshallerKind
.FailedTypeLoad:
128
case
MarshallerKind
.SafeHandle:
129
case
MarshallerKind
.CriticalHandle:
132
case
MarshallerKind
.BSTRString:
133
case
MarshallerKind
.UnicodeString:
134
case
MarshallerKind
.UnicodeStringBuilder:
137
case
MarshallerKind
.AnsiBSTRString:
138
case
MarshallerKind
.AnsiString:
139
case
MarshallerKind
.AnsiStringBuilder:
140
case
MarshallerKind
.UTF8String:
143
case
MarshallerKind
.BlittableArray:
144
case
MarshallerKind
.Array:
145
case
MarshallerKind
.AnsiCharArray:
156
MarshallerKind
.Unknown,
166
case
MarshallerKind
.AnsiChar:
169
case
MarshallerKind
.FunctionPointer:
192
case
MarshallerKind
.LayoutClassPtr:
193
case
MarshallerKind
.AsAnyA:
194
case
MarshallerKind
.AsAnyW:
195
case
MarshallerKind
.ComInterface:
196
case
MarshallerKind
.CustomMarshaler:
197
case
MarshallerKind
.BlittableValueClassByRefReturn:
205
case
MarshallerKind
.OleCurrency:
208
case
MarshallerKind
.Unknown:
243
internal static
MarshallerKind
GetMarshallerKind(
251
out
MarshallerKind
elementMarshallerKind)
253
elementMarshallerKind =
MarshallerKind
.Invalid;
270
return
MarshallerKind
.BlittableValueClassWithCopyCtor;
281
return
MarshallerKind
.BlittableValueClassByRefReturn;
283
return
MarshallerKind
.Invalid;
290
return
MarshallerKind
.FailedTypeLoad;
292
return
MarshallerKind
.CustomMarshaler;
303
return
MarshallerKind
.VoidReturn;
310
return
MarshallerKind
.Bool;
314
return
MarshallerKind
.CBool;
318
return
MarshallerKind
.VariantBool;
320
return
MarshallerKind
.Invalid;
323
return
MarshallerKind
.Invalid;
331
return
MarshallerKind
.AnsiChar;
335
return
MarshallerKind
.UnicodeChar;
339
return
MarshallerKind
.AnsiChar;
341
return
MarshallerKind
.UnicodeChar;
343
return
MarshallerKind
.Invalid;
349
return
MarshallerKind
.BlittableValue;
351
return
MarshallerKind
.Invalid;
356
return
MarshallerKind
.BlittableValue;
358
return
MarshallerKind
.Invalid;
363
return
MarshallerKind
.BlittableValue;
365
return
MarshallerKind
.Invalid;
370
return
MarshallerKind
.BlittableValue;
372
return
MarshallerKind
.Invalid;
377
return
MarshallerKind
.BlittableValue;
379
return
MarshallerKind
.Invalid;
383
return
MarshallerKind
.BlittableValue;
385
return
MarshallerKind
.Invalid;
389
return
MarshallerKind
.BlittableValue;
391
return
MarshallerKind
.Invalid;
394
return
MarshallerKind
.Invalid;
400
return
MarshallerKind
.Enum;
406
return
MarshallerKind
.OleDateTime;
408
return
MarshallerKind
.Invalid;
413
return
MarshallerKind
.HandleRef;
415
return
MarshallerKind
.Invalid;
420
return
MarshallerKind
.Decimal;
422
return
MarshallerKind
.BlittableStructPtr;
424
return
MarshallerKind
.OleCurrency;
426
return
MarshallerKind
.Invalid;
431
return
MarshallerKind
.BlittableStruct;
433
return
MarshallerKind
.BlittableStructPtr;
435
return
MarshallerKind
.Invalid;
440
return
MarshallerKind
.Invalid;
446
return
MarshallerKind
.Invalid;
452
return
MarshallerKind
.Invalid;
458
return
MarshallerKind
.Invalid;
464
return
MarshallerKind
.Invalid;
470
return
MarshallerKind
.Invalid;
472
return
MarshallerKind
.BlittableStruct;
477
return
MarshallerKind
.Invalid;
479
return
MarshallerKind
.Struct;
483
return
MarshallerKind
.Invalid;
496
return
MarshallerKind
.FailedTypeLoad;
506
if (elementMarshallerKind ==
MarshallerKind
.Invalid)
507
return
MarshallerKind
.Invalid;
509
if (elementMarshallerKind ==
MarshallerKind
.AnsiChar)
510
return
MarshallerKind
.AnsiCharArray;
511
else if (elementMarshallerKind ==
MarshallerKind
.UnicodeChar // Arrays of unicode char should be marshalled as blittable arrays
512
|| elementMarshallerKind ==
MarshallerKind
.Enum
513
|| elementMarshallerKind ==
MarshallerKind
.BlittableValue)
514
return
MarshallerKind
.BlittableArray;
516
return
MarshallerKind
.Array;
528
if (elementMarshallerKind ==
MarshallerKind
.Invalid)
529
return
MarshallerKind
.Invalid;
531
if (elementMarshallerKind ==
MarshallerKind
.AnsiChar)
532
return
MarshallerKind
.ByValAnsiCharArray;
534
return
MarshallerKind
.ByValArray;
538
return
MarshallerKind
.Invalid;
548
return
MarshallerKind
.BlittableValueClassWithCopyCtor;
552
return
MarshallerKind
.BlittableValue;
554
return
MarshallerKind
.Invalid;
559
return
MarshallerKind
.BlittableValue;
561
return
MarshallerKind
.Invalid;
568
return
MarshallerKind
.Invalid;
572
return
MarshallerKind
.FunctionPointer;
574
return
MarshallerKind
.Invalid;
581
return
MarshallerKind
.UnicodeString;
584
return
MarshallerKind
.AnsiString;
587
return
MarshallerKind
.UTF8String;
590
return
MarshallerKind
.UnicodeString;
595
elementMarshallerKind =
MarshallerKind
.AnsiChar;
596
return
MarshallerKind
.ByValAnsiString;
600
elementMarshallerKind =
MarshallerKind
.UnicodeChar;
601
return
MarshallerKind
.ByValUnicodeString;
606
return
MarshallerKind
.BSTRString;
609
return
MarshallerKind
.AnsiBSTRString;
612
return
MarshallerKind
.CustomMarshaler;
616
return
MarshallerKind
.AnsiString;
618
return
MarshallerKind
.UnicodeString;
621
return
MarshallerKind
.Invalid;
627
return
MarshallerKind
.FailedTypeLoad;
629
return isAnsi ?
MarshallerKind
.AsAnyA :
MarshallerKind
.AsAnyW;
636
return
MarshallerKind
.ComInterface;
638
return
MarshallerKind
.Variant;
641
return
MarshallerKind
.Invalid;
650
return
MarshallerKind
.AnsiStringBuilder;
654
return
MarshallerKind
.UnicodeStringBuilder;
658
return
MarshallerKind
.AnsiStringBuilder;
661
return
MarshallerKind
.UnicodeStringBuilder;
663
return
MarshallerKind
.Invalid;
669
return
MarshallerKind
.SafeHandle;
671
return
MarshallerKind
.Invalid;
676
return
MarshallerKind
.CriticalHandle;
678
return
MarshallerKind
.Invalid;
685
return
MarshallerKind
.Invalid;
689
return
MarshallerKind
.LayoutClassPtr;
691
return
MarshallerKind
.LayoutClass;
693
return
MarshallerKind
.Invalid;
700
return
MarshallerKind
.Invalid;
704
return
MarshallerKind
.ComInterface;
706
return
MarshallerKind
.Invalid;
710
return
MarshallerKind
.Invalid;
714
private static
MarshallerKind
GetArrayElementMarshallerKind(
735
return
MarshallerKind
.AnsiChar;
738
return
MarshallerKind
.UnicodeChar;
741
return
MarshallerKind
.AnsiChar;
743
return
MarshallerKind
.UnicodeChar;
750
return
MarshallerKind
.Bool;
753
return
MarshallerKind
.CBool;
756
return
MarshallerKind
.Bool;
760
return
MarshallerKind
.BlittableValue;
763
return
MarshallerKind
.Invalid;
775
return
MarshallerKind
.BlittableValue;
777
return
MarshallerKind
.Invalid;
783
return
MarshallerKind
.Enum;
791
return
MarshallerKind
.Decimal;
794
return
MarshallerKind
.BlittableStructPtr;
797
return
MarshallerKind
.Invalid;
806
return
MarshallerKind
.BlittableValue;
809
return
MarshallerKind
.BlittableStructPtr;
812
return
MarshallerKind
.Invalid;
820
return
MarshallerKind
.OleDateTime;
824
return
MarshallerKind
.Invalid;
830
return
MarshallerKind
.HandleRef;
832
return
MarshallerKind
.Invalid;
842
return
MarshallerKind
.BlittableStruct;
845
return
MarshallerKind
.Invalid;
851
return
MarshallerKind
.Struct;
858
return
MarshallerKind
.BlittableValue;
860
return
MarshallerKind
.Invalid;
868
return
MarshallerKind
.AnsiString;
870
return
MarshallerKind
.UnicodeString;
872
return
MarshallerKind
.AnsiString;
874
return
MarshallerKind
.UnicodeString;
876
return
MarshallerKind
.UTF8String;
879
return
MarshallerKind
.BSTRString;
881
return
MarshallerKind
.AnsiBSTRString;
883
return
MarshallerKind
.CustomMarshaler;
885
return
MarshallerKind
.Invalid;
897
return
MarshallerKind
.Invalid;
937
internal static
MarshallerKind
GetDisabledMarshallerKind(
945
return
MarshallerKind
.VoidReturn;
950
return
MarshallerKind
.Invalid;
954
return
MarshallerKind
.BlittableValue;
958
return
MarshallerKind
.BlittableValue;
969
return
MarshallerKind
.BlittableValue;
972
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)