396 references to SerializationTypeCode
ILAssembler (155)
Actions\GrammarActions.CustomAttributes.Serialization.cs (52)
29
=> new SimpleSerializationTypeValue((
SerializationTypeCode
)type);
53
BlobBuilder blob = CreateSerializedInitializer(
SerializationTypeCode
.Single);
66
BlobBuilder blob = CreateSerializedInitializer(
SerializationTypeCode
.Double);
77
BlobBuilder blob = CreateSerializedInitializer(
SerializationTypeCode
.Single);
84
BlobBuilder blob = CreateSerializedInitializer(
SerializationTypeCode
.Double);
121
BlobBuilder blob = CreateSerializedInitializer(
SerializationTypeCode
.Boolean);
129
SerializationTypeCode
.String,
136
SerializationTypeCode
type,
172
: new SimpleSerializationTypeValue((
SerializationTypeCode
)encodedValue[0]);
177
=> CreateSerializedStringValue(
SerializationTypeCode
.String, null);
181
SerializationTypeCode
.String,
186
SerializationTypeCode
.Type,
193
=> CreateSerializedStringValue(
SerializationTypeCode
.Type, null);
196
SerializationTypeCode
type,
243
blob.WriteByte((byte)
SerializationTypeCode
.SZArray);
247
blob.WriteByte((byte)
SerializationTypeCode
.Enum);
251
blob.WriteByte((byte)
SerializationTypeCode
.Enum);
311
private static
SerializationTypeCode
GetSerializationTypeCode(int tokenType)
314
CILParser.INT8 =>
SerializationTypeCode
.SByte,
315
CILParser.UINT8 =>
SerializationTypeCode
.Byte,
316
CILParser.INT16 =>
SerializationTypeCode
.Int16,
317
CILParser.UINT16 =>
SerializationTypeCode
.UInt16,
318
CILParser.INT32_ =>
SerializationTypeCode
.Int32,
319
CILParser.UINT32 =>
SerializationTypeCode
.UInt32,
320
CILParser.INT64_ =>
SerializationTypeCode
.Int64,
321
CILParser.UINT64 =>
SerializationTypeCode
.UInt64,
322
CILParser.FLOAT32 =>
SerializationTypeCode
.Single,
323
CILParser.FLOAT64_ =>
SerializationTypeCode
.Double,
324
CILParser.CHAR =>
SerializationTypeCode
.Char,
325
CILParser.BOOL =>
SerializationTypeCode
.Boolean,
326
CILParser.STRING =>
SerializationTypeCode
.String,
327
CILParser.TYPE =>
SerializationTypeCode
.Type,
328
CILParser.OBJECT =>
SerializationTypeCode
.TaggedObject,
340
SerializationTypeCode
typeCode = (
SerializationTypeCode
)bytes[0];
344
SerializationTypeCode
.Boolean => valueBytes.Length >= 1 && valueBytes[0] != 0,
345
SerializationTypeCode
.Char => valueBytes.Length >= 2 ? BitConverter.ToChar(valueBytes) : '\0',
346
SerializationTypeCode
.SByte => valueBytes.Length >= 1 ? (sbyte)valueBytes[0] : (sbyte)0,
347
SerializationTypeCode
.Byte => valueBytes.Length >= 1 ? valueBytes[0] : (byte)0,
348
SerializationTypeCode
.Int16 => valueBytes.Length >= 2 ? BitConverter.ToInt16(valueBytes) : (short)0,
349
SerializationTypeCode
.UInt16 => valueBytes.Length >= 2 ? BitConverter.ToUInt16(valueBytes) : (ushort)0,
350
SerializationTypeCode
.Int32 => valueBytes.Length >= 4 ? BitConverter.ToInt32(valueBytes) : 0,
351
SerializationTypeCode
.UInt32 => valueBytes.Length >= 4 ? BitConverter.ToUInt32(valueBytes) : 0u,
352
SerializationTypeCode
.Int64 => valueBytes.Length >= 8 ? BitConverter.ToInt64(valueBytes) : 0L,
353
SerializationTypeCode
.UInt64 => valueBytes.Length >= 8 ? BitConverter.ToUInt64(valueBytes) : 0uL,
354
SerializationTypeCode
.Single => valueBytes.Length >= 4 ? BitConverter.ToSingle(valueBytes) : 0f,
355
SerializationTypeCode
.Double => valueBytes.Length >= 8 ? BitConverter.ToDouble(valueBytes) : 0d,
356
SerializationTypeCode
.String => Encoding.Unicode.GetString(valueBytes),
357
SerializationTypeCode
.Type => ExtractSerString(valueBytes),
358
SerializationTypeCode
.SZArray => valueBytes.ToArray(),
359
SerializationTypeCode
.TaggedObject => valueBytes.ToArray(),
360
SerializationTypeCode
.Enum => valueBytes.ToArray(),
CILParser.SemanticValues.CustomAttributes.cs (4)
71
SerializationTypeCode
Type) : SerializationTypeValue;
102
new SimpleSerializationTypeValue(
SerializationTypeCode
.Type));
107
new SimpleSerializationTypeValue(
SerializationTypeCode
.TaggedObject));
112
new SimpleSerializationTypeValue(
SerializationTypeCode
.String));
PseudoCustomAttributes.Application.cs (6)
20
if (!TryParseArguments(context, known, out CustomAttributeValue<
SerializationTypeCode
> arguments))
122
CustomAttributeValue<
SerializationTypeCode
> arguments)
142
CustomAttributeValue<
SerializationTypeCode
> arguments)
145
CustomAttributeNamedArgument<
SerializationTypeCode
>? codeTypeArgument =
183
CustomAttributeValue<
SerializationTypeCode
> arguments)
267
CustomAttributeValue<
SerializationTypeCode
> arguments)
PseudoCustomAttributes.Decoding.cs (49)
13
SerializationTypeCode
Type,
14
SerializationTypeCode
ArrayType =
SerializationTypeCode
.Invalid,
15
SerializationTypeCode
EnumUnderlyingType =
SerializationTypeCode
.Invalid,
20
SerializationTypeCode
type = reader.ReadSerializationTypeCode();
21
SerializationTypeCode
arrayType =
SerializationTypeCode
.Invalid;
22
if (type ==
SerializationTypeCode
.SZArray)
27
SerializationTypeCode
effectiveType =
28
type ==
SerializationTypeCode
.SZArray ? arrayType : type;
29
if (effectiveType ==
SerializationTypeCode
.Invalid)
35
if (effectiveType ==
SerializationTypeCode
.Enum)
47
private static CustomAttributeTypedArgument<
SerializationTypeCode
> ReadArgument(
49
SerializationTypeCode
type,
50
SerializationTypeCode
enumUnderlyingType =
SerializationTypeCode
.Invalid)
52
SerializationTypeCode
effectiveType =
53
type ==
SerializationTypeCode
.Enum ? enumUnderlyingType : type;
57
SerializationTypeCode
.Boolean => reader.ReadBoolean(),
58
SerializationTypeCode
.SByte => reader.ReadSByte(),
59
SerializationTypeCode
.Byte => reader.ReadByte(),
60
SerializationTypeCode
.Char => reader.ReadChar(),
61
SerializationTypeCode
.Int16 => reader.ReadInt16(),
62
SerializationTypeCode
.UInt16 => reader.ReadUInt16(),
63
SerializationTypeCode
.Int32 => reader.ReadInt32(),
64
SerializationTypeCode
.UInt32 => reader.ReadUInt32(),
65
SerializationTypeCode
.Int64 => reader.ReadInt64(),
66
SerializationTypeCode
.UInt64 => reader.ReadUInt64(),
67
SerializationTypeCode
.Single => reader.ReadSingle(),
68
SerializationTypeCode
.Double => reader.ReadDouble(),
69
SerializationTypeCode
.String or
SerializationTypeCode
.Type => reader.ReadSerializedString(),
79
out CustomAttributeValue<
SerializationTypeCode
> arguments)
94
ImmutableArray.CreateBuilder<CustomAttributeTypedArgument<
SerializationTypeCode
>>(
96
foreach (
SerializationTypeCode
type in known.FixedArguments)
102
out ImmutableArray<CustomAttributeNamedArgument<
SerializationTypeCode
>> namedArguments))
129
out ImmutableArray<CustomAttributeNamedArgument<
SerializationTypeCode
>> namedArguments)
133
ImmutableArray.CreateBuilder<CustomAttributeNamedArgument<
SerializationTypeCode
>>(
159
if (descriptor.Type !=
SerializationTypeCode
.TaggedObject)
166
if (actual.Type ==
SerializationTypeCode
.SZArray
167
&& descriptor.ArrayType !=
SerializationTypeCode
.TaggedObject
179
if (descriptor.Type ==
SerializationTypeCode
.Enum
180
|| (descriptor.Type ==
SerializationTypeCode
.SZArray && descriptor.ArrayType ==
SerializationTypeCode
.Enum))
207
CustomAttributeTypedArgument<
SerializationTypeCode
> value =
216
private static CustomAttributeNamedArgument<
SerializationTypeCode
>? FindNamedArgument(
217
CustomAttributeValue<
SerializationTypeCode
> arguments,
220
foreach (CustomAttributeNamedArgument<
SerializationTypeCode
> argument in arguments.NamedArguments)
PseudoCustomAttributes.Identity.cs (1)
167
|| (
SerializationTypeCode
)element != candidate.FixedArguments[i])
PseudoCustomAttributes.KnownAttributes.cs (32)
49
SerializationTypeCode
Type,
50
SerializationTypeCode
EnumType =
SerializationTypeCode
.Invalid,
52
SerializationTypeCode
ArrayType =
SerializationTypeCode
.Invalid);
60
SerializationTypeCode
[]? FixedArgumentTypes = null,
64
public
SerializationTypeCode
[] FixedArguments { get; } = FixedArgumentTypes ?? [];
72
new(name,
SerializationTypeCode
.Enum,
SerializationTypeCode
.Int32, enumName);
103
new(DllImportEntryPoint,
SerializationTypeCode
.String),
104
new(DllImportExactSpelling,
SerializationTypeCode
.Boolean),
105
new(DllImportSetLastError,
SerializationTypeCode
.Boolean),
106
new(DllImportPreserveSig,
SerializationTypeCode
.Boolean),
107
new(DllImportBestFitMapping,
SerializationTypeCode
.Boolean),
108
new(DllImportThrowOnUnmappableChar,
SerializationTypeCode
.Boolean),
120
new(MarshalSafeArrayUserDefinedSubType,
SerializationTypeCode
.Type),
121
new(MarshalSizeParamIndex,
SerializationTypeCode
.Int16),
122
new(MarshalSizeConst,
SerializationTypeCode
.Int32),
123
new(MarshalType,
SerializationTypeCode
.String),
124
new(MarshalTypeRef,
SerializationTypeCode
.Type),
125
new(MarshalCookie,
SerializationTypeCode
.String),
126
new(MarshalIidParameterIndex,
SerializationTypeCode
.Int32),
131
new(StructLayoutPack,
SerializationTypeCode
.Int32),
132
new(StructLayoutSize,
SerializationTypeCode
.Int32),
148
FixedArgumentTypes: [
SerializationTypeCode
.String],
162
FixedArgumentTypes: [
SerializationTypeCode
.Int16],
167
FixedArgumentTypes: [
SerializationTypeCode
.Int32],
171
FixedArgumentTypes: [
SerializationTypeCode
.Int16],
176
FixedArgumentTypes: [
SerializationTypeCode
.Int32],
188
FixedArgumentTypes: [
SerializationTypeCode
.Int16],
193
FixedArgumentTypes: [
SerializationTypeCode
.Int32],
197
FixedArgumentTypes: [
SerializationTypeCode
.Int32]),
PseudoCustomAttributes.MarshalAs.cs (11)
17
CustomAttributeValue<
SerializationTypeCode
> arguments)
172
CustomAttributeValue<
SerializationTypeCode
> arguments,
175
CustomAttributeNamedArgument<
SerializationTypeCode
>? arraySubTypeArgument =
177
CustomAttributeNamedArgument<
SerializationTypeCode
>? safeArraySubTypeArgument =
179
CustomAttributeNamedArgument<
SerializationTypeCode
>? safeArrayUserDefinedSubTypeArgument =
181
CustomAttributeNamedArgument<
SerializationTypeCode
>? sizeParamIndexArgument =
183
CustomAttributeNamedArgument<
SerializationTypeCode
>? sizeConstArgument =
185
CustomAttributeNamedArgument<
SerializationTypeCode
>? marshalTypeArgument =
187
CustomAttributeNamedArgument<
SerializationTypeCode
>? marshalTypeRefArgument =
189
CustomAttributeNamedArgument<
SerializationTypeCode
>? marshalCookieArgument =
191
CustomAttributeNamedArgument<
SerializationTypeCode
>? iidParameterIndexArgument =
ILCompiler.MetadataTransform (55)
ILCompiler\Metadata\Transform.CustomAttribute.cs (55)
85
private static Ecma.
SerializationTypeCode
TypeDescToSerializationTypeCode(Cts.TypeDesc type)
87
Debug.Assert((int)Cts.TypeFlags.Boolean == (int)Ecma.
SerializationTypeCode
.Boolean);
91
case Cts.TypeFlags.Single: return Ecma.
SerializationTypeCode
.Single;
92
case Cts.TypeFlags.Double: return Ecma.
SerializationTypeCode
.Double;
93
case <= Cts.TypeFlags.UInt64: return (Ecma.
SerializationTypeCode
)type.UnderlyingType.Category;
96
return Ecma.
SerializationTypeCode
.TaggedObject;
99
return Ecma.
SerializationTypeCode
.String;
105
return Ecma.
SerializationTypeCode
.Type;
111
Ecma.
SerializationTypeCode
typeCode = valueReader.ReadSerializationTypeCode();
115
case Ecma.
SerializationTypeCode
.Type: return module.Context.SystemModule.GetType("System"u8, "Type"u8);
116
case Ecma.
SerializationTypeCode
.SZArray: return module.Context.GetArrayType(SerializationTypeToType(module, ref valueReader));
117
case Ecma.
SerializationTypeCode
.Enum: return Cts.CustomAttributeTypeNameParser.GetTypeByCustomAttributeTypeName(module, valueReader.ReadSerializedString());
118
case Ecma.
SerializationTypeCode
.String: return module.Context.GetWellKnownType(Cts.WellKnownType.String);
119
case Ecma.
SerializationTypeCode
.TaggedObject: return module.Context.GetWellKnownType(Cts.WellKnownType.Object);
120
case Ecma.
SerializationTypeCode
.Single: return module.Context.GetWellKnownType(Cts.WellKnownType.Single);
121
case Ecma.
SerializationTypeCode
.Double: return module.Context.GetWellKnownType(Cts.WellKnownType.Double);
122
case <= Ecma.
SerializationTypeCode
.UInt64: return module.Context.GetWellKnownType((Cts.WellKnownType)typeCode);
129
private MetadataRecord HandleCustomAttributeConstantValue(Cts.Ecma.EcmaModule module, Ecma.
SerializationTypeCode
typeCode, ref Ecma.BlobReader valueReader)
131
if (typeCode == Ecma.
SerializationTypeCode
.TaggedObject)
136
if (typeCode == Ecma.
SerializationTypeCode
.Enum)
146
if (typeCode == Ecma.
SerializationTypeCode
.String)
152
if (typeCode == Ecma.
SerializationTypeCode
.Type)
160
Ecma.
SerializationTypeCode
.Boolean => new ConstantBooleanValue { Value = valueReader.ReadBoolean() },
161
Ecma.
SerializationTypeCode
.Char => new ConstantCharValue { Value = valueReader.ReadChar() },
162
Ecma.
SerializationTypeCode
.Byte => new ConstantByteValue { Value = valueReader.ReadByte() },
163
Ecma.
SerializationTypeCode
.SByte => new ConstantSByteValue { Value = valueReader.ReadSByte() },
164
Ecma.
SerializationTypeCode
.Int16 => new ConstantInt16Value { Value = valueReader.ReadInt16() },
165
Ecma.
SerializationTypeCode
.UInt16 => new ConstantUInt16Value { Value = valueReader.ReadUInt16() },
166
Ecma.
SerializationTypeCode
.Int32 => new ConstantInt32Value { Value = valueReader.ReadInt32() },
167
Ecma.
SerializationTypeCode
.UInt32 => new ConstantUInt32Value { Value = valueReader.ReadUInt32() },
168
Ecma.
SerializationTypeCode
.Int64 => new ConstantInt64Value { Value = valueReader.ReadInt64() },
169
Ecma.
SerializationTypeCode
.UInt64 => new ConstantUInt64Value { Value = valueReader.ReadUInt64() },
170
Ecma.
SerializationTypeCode
.Single => new ConstantSingleValue { Value = valueReader.ReadSingle() },
171
Ecma.
SerializationTypeCode
.Double => new ConstantDoubleValue { Value = valueReader.ReadDouble() },
172
Ecma.
SerializationTypeCode
.SZArray => HandleCustomAttributeConstantArray(module, valueReader.ReadSerializationTypeCode(), ref valueReader),
177
private MetadataRecord HandleCustomAttributeConstantArray(Cts.Ecma.EcmaModule module, Ecma.
SerializationTypeCode
elementTypeCode, ref Ecma.BlobReader valueReader)
179
if (elementTypeCode == Ecma.
SerializationTypeCode
.Enum)
195
if (elementTypeCode is Ecma.
SerializationTypeCode
.String)
207
if (elementTypeCode is Ecma.
SerializationTypeCode
.TaggedObject or Ecma.
SerializationTypeCode
.Type)
213
Ecma.
SerializationTypeCode
typecode = elementTypeCode == Ecma.
SerializationTypeCode
.Type ? Ecma.
SerializationTypeCode
.Type : valueReader.ReadSerializationTypeCode();
221
Ecma.
SerializationTypeCode
.Boolean => new ConstantBooleanArray { Value = GetCustomAttributeConstantArrayElements<bool>(ref valueReader, count) },
222
Ecma.
SerializationTypeCode
.Char => new ConstantCharArray { Value = GetCustomAttributeConstantArrayElements<char>(ref valueReader, count) },
223
Ecma.
SerializationTypeCode
.SByte => new ConstantSByteArray { Value = GetCustomAttributeConstantArrayElements<sbyte>(ref valueReader, count) },
224
Ecma.
SerializationTypeCode
.Byte => new ConstantByteArray { Value = GetCustomAttributeConstantArrayElements<byte>(ref valueReader, count) },
225
Ecma.
SerializationTypeCode
.Int16 => new ConstantInt16Array { Value = GetCustomAttributeConstantArrayElements<short>(ref valueReader, count) },
226
Ecma.
SerializationTypeCode
.UInt16 => new ConstantUInt16Array { Value = GetCustomAttributeConstantArrayElements<ushort>(ref valueReader, count) },
227
Ecma.
SerializationTypeCode
.Int32 => new ConstantInt32Array { Value = GetCustomAttributeConstantArrayElements<int>(ref valueReader, count) },
228
Ecma.
SerializationTypeCode
.UInt32 => new ConstantUInt32Array { Value = GetCustomAttributeConstantArrayElements<uint>(ref valueReader, count) },
229
Ecma.
SerializationTypeCode
.Int64 => new ConstantInt64Array { Value = GetCustomAttributeConstantArrayElements<long>(ref valueReader, count) },
230
Ecma.
SerializationTypeCode
.UInt64 => new ConstantUInt64Array { Value = GetCustomAttributeConstantArrayElements<ulong>(ref valueReader, count) },
231
Ecma.
SerializationTypeCode
.Single => new ConstantSingleArray { Value = GetCustomAttributeConstantArrayElements<float>(ref valueReader, count) },
232
Ecma.
SerializationTypeCode
.Double => new ConstantDoubleArray { Value = GetCustomAttributeConstantArrayElements<double>(ref valueReader, count) },
Microsoft.CodeAnalysis (102)
MetadataReader\MetadataDecoder.cs (51)
108
(KeyValuePair<string, TypedConstant> nameValuePair, bool isProperty,
SerializationTypeCode
typeCode,
SerializationTypeCode
elementTypeCode) DecodeCustomAttributeNamedArgumentOrThrow(ref BlobReader argReader);
1318
private void DecodeCustomAttributeFieldOrPropTypeOrThrow(ref BlobReader argReader, out
SerializationTypeCode
typeCode, out TypeSymbol type, out
SerializationTypeCode
elementTypeCode, out TypeSymbol elementType, bool isElementType)
1334
if (typeCode ==
SerializationTypeCode
.SZArray)
1342
SerializationTypeCode
unusedElementTypeCode;
1349
elementTypeCode =
SerializationTypeCode
.Invalid;
1354
case
SerializationTypeCode
.TaggedObject:
1358
case
SerializationTypeCode
.Enum:
1376
case
SerializationTypeCode
.Type:
1380
case
SerializationTypeCode
.String:
1381
case
SerializationTypeCode
.Boolean:
1382
case
SerializationTypeCode
.Char:
1383
case
SerializationTypeCode
.SByte:
1384
case
SerializationTypeCode
.Byte:
1385
case
SerializationTypeCode
.Int16:
1386
case
SerializationTypeCode
.UInt16:
1387
case
SerializationTypeCode
.Int32:
1388
case
SerializationTypeCode
.UInt32:
1389
case
SerializationTypeCode
.Int64:
1390
case
SerializationTypeCode
.UInt64:
1391
case
SerializationTypeCode
.Single:
1392
case
SerializationTypeCode
.Double:
1412
SerializationTypeCode
getTypeCode(ITypeSymbolInternal type)
1416
return
SerializationTypeCode
.Type;
1424
var
result = type.SpecialType.ToSerializationTypeOrInvalid();
1426
if (result ==
SerializationTypeCode
.Invalid)
1437
private TypedConstant DecodeCustomAttributeElementOrThrow(ref BlobReader argReader,
SerializationTypeCode
typeCode, TypeSymbol type)
1439
if (typeCode ==
SerializationTypeCode
.TaggedObject)
1442
SerializationTypeCode
elementTypeCode;
1446
if (typeCode ==
SerializationTypeCode
.SZArray)
1457
private TypedConstant DecodeCustomAttributeElementArrayOrThrow(ref BlobReader argReader,
SerializationTypeCode
elementTypeCode, TypeSymbol elementType, TypeSymbol arrayType)
1484
private TypedConstant DecodeCustomAttributePrimitiveElementOrThrow(ref BlobReader argReader,
SerializationTypeCode
typeCode, TypeSymbol type)
1490
case
SerializationTypeCode
.Boolean:
1493
case
SerializationTypeCode
.SByte:
1496
case
SerializationTypeCode
.Byte:
1499
case
SerializationTypeCode
.Int16:
1502
case
SerializationTypeCode
.UInt16:
1505
case
SerializationTypeCode
.Int32:
1508
case
SerializationTypeCode
.UInt32:
1511
case
SerializationTypeCode
.Int64:
1514
case
SerializationTypeCode
.UInt64:
1517
case
SerializationTypeCode
.Single:
1520
case
SerializationTypeCode
.Double:
1523
case
SerializationTypeCode
.Char:
1526
case
SerializationTypeCode
.String:
1534
case
SerializationTypeCode
.Type:
1554
public (KeyValuePair<string, TypedConstant> nameValuePair, bool isProperty,
SerializationTypeCode
typeCode,
SerializationTypeCode
elementTypeCode) DecodeCustomAttributeNamedArgumentOrThrow(ref BlobReader argReader)
1567
SerializationTypeCode
typeCode, elementTypeCode;
1577
TypedConstant value = typeCode ==
SerializationTypeCode
.SZArray
MetadataReader\MetadataTypeCodeExtensions.cs (19)
129
internal static
SerializationTypeCode
ToSerializationType(this SpecialType specialType)
131
var
result = ToSerializationTypeOrInvalid(specialType);
133
if (result ==
SerializationTypeCode
.Invalid)
141
internal static
SerializationTypeCode
ToSerializationTypeOrInvalid(this SpecialType specialType)
146
return
SerializationTypeCode
.Boolean;
149
return
SerializationTypeCode
.SByte;
152
return
SerializationTypeCode
.Byte;
155
return
SerializationTypeCode
.Int16;
158
return
SerializationTypeCode
.Int32;
161
return
SerializationTypeCode
.Int64;
164
return
SerializationTypeCode
.UInt16;
167
return
SerializationTypeCode
.UInt32;
170
return
SerializationTypeCode
.UInt64;
173
return
SerializationTypeCode
.Single;
176
return
SerializationTypeCode
.Double;
179
return
SerializationTypeCode
.Char;
182
return
SerializationTypeCode
.String;
185
return
SerializationTypeCode
.TaggedObject;
188
return
SerializationTypeCode
.Invalid;
MetadataReader\PEModule.cs (10)
1368
if (typeCode ==
SerializationTypeCode
.String && isProperty && value.ValueInternal is string stringValue)
1412
(KeyValuePair<string, TypedConstant> nameValuePair, bool isProperty,
SerializationTypeCode
typeCode,
SerializationTypeCode
elementTypeCode) namedArgValues =
1415
if (namedArgValues is ({ Key: "IsOptional" }, isProperty: true, typeCode:
SerializationTypeCode
.Boolean, _))
1468
if (typeCode !=
SerializationTypeCode
.SZArray || elementTypeCode !=
SerializationTypeCode
.Type)
1572
(KeyValuePair<string, TypedConstant> nameValuePair, bool isProperty,
SerializationTypeCode
typeCode,
SerializationTypeCode
elementTypeCode) namedArgValues =
1575
if (namedArgValues is (_, isProperty: true, typeCode:
SerializationTypeCode
.Boolean, _))
2204
if (typeCode ==
SerializationTypeCode
.String && isProperty && value.ValueInternal is string stringValue)
Symbols\Attributes\AttributeDescription.cs (22)
95
public readonly
SerializationTypeCode
Underlying;
97
public TypeHandleTargetInfo(string @namespace, string name,
SerializationTypeCode
underlying)
114
new TypeHandleTargetInfo(system,"AttributeTargets",
SerializationTypeCode
.Int32)
115
,new TypeHandleTargetInfo("System.Reflection","AssemblyNameFlags",
SerializationTypeCode
.Int32)
116
,new TypeHandleTargetInfo(compilerServices,"MethodImplOptions",
SerializationTypeCode
.Int32)
117
,new TypeHandleTargetInfo(interopServices,"CharSet",
SerializationTypeCode
.Int32)
118
,new TypeHandleTargetInfo(interopServices,"LayoutKind",
SerializationTypeCode
.Int32)
119
,new TypeHandleTargetInfo(interopServices,"UnmanagedType",
SerializationTypeCode
.Int32)
120
,new TypeHandleTargetInfo(interopServices,"TypeLibTypeFlags",
SerializationTypeCode
.Int32)
121
,new TypeHandleTargetInfo(interopServices,"ClassInterfaceType",
SerializationTypeCode
.Int32)
122
,new TypeHandleTargetInfo(interopServices,"ComInterfaceType",
SerializationTypeCode
.Int32)
123
,new TypeHandleTargetInfo(compilerServices,"CompilationRelaxations",
SerializationTypeCode
.Int32)
124
,new TypeHandleTargetInfo("System.Diagnostics.DebuggableAttribute","DebuggingModes",
SerializationTypeCode
.Int32)
125
,new TypeHandleTargetInfo("System.Security","SecurityCriticalScope",
SerializationTypeCode
.Int32)
126
,new TypeHandleTargetInfo(interopServices,"CallingConvention",
SerializationTypeCode
.Int32)
127
,new TypeHandleTargetInfo("System.Configuration.Assemblies","AssemblyHashAlgorithm",
SerializationTypeCode
.Int32)
128
,new TypeHandleTargetInfo("System.EnterpriseServices","TransactionOption",
SerializationTypeCode
.Int32)
129
,new TypeHandleTargetInfo("System.Security.Permissions","SecurityAction",
SerializationTypeCode
.Int32)
130
,new TypeHandleTargetInfo(system,"Type",
SerializationTypeCode
.Type)
131
,new TypeHandleTargetInfo("Windows.Foundation.Metadata","DeprecationType",
SerializationTypeCode
.Int32)
132
,new TypeHandleTargetInfo("Windows.Foundation.Metadata","Platform",
SerializationTypeCode
.Int32)
133
,new TypeHandleTargetInfo(interopServices,"ExtendedLayoutKind",
SerializationTypeCode
.Int32)
Microsoft.CodeAnalysis.CSharp (1)
Symbols\Attributes\SourceAttributeData.cs (1)
437
case (byte)
SerializationTypeCode
.Type:
Microsoft.CodeAnalysis.VisualBasic (1)
Symbols\Attributes\SourceAttributeData.vb (1)
252
Case CByte(
SerializationTypeCode
.Type)
System.Reflection.Emit (17)
System\Reflection\Emit\CustomAttributeWrapper.cs (17)
83
Type fieldType = dataType == EnumType ? typeof(int) : ElementTypeToType((
SerializationTypeCode
)dataType);
149
return DecodeCustomAttributeValue(ElementTypeToType((
SerializationTypeCode
)subtype), data, pos, out rpos);
157
private static Type ElementTypeToType(
SerializationTypeCode
elementType) =>
160
SerializationTypeCode
.Boolean => typeof(bool),
161
SerializationTypeCode
.Char => typeof(char),
162
SerializationTypeCode
.SByte => typeof(sbyte),
163
SerializationTypeCode
.Byte => typeof(byte),
164
SerializationTypeCode
.Int16 => typeof(short),
165
SerializationTypeCode
.UInt16 => typeof(ushort),
166
SerializationTypeCode
.Int32 => typeof(int),
167
SerializationTypeCode
.UInt32 => typeof(uint),
168
SerializationTypeCode
.Int64 => typeof(long),
169
SerializationTypeCode
.UInt64 => typeof(ulong),
170
SerializationTypeCode
.Single => typeof(float),
171
SerializationTypeCode
.Double => typeof(double),
172
SerializationTypeCode
.String => typeof(string),
173
SerializationTypeCode
.Type => typeof(string), // the type name written in string format
System.Reflection.Metadata (65)
System\Reflection\Metadata\BlobReader.cs (4)
543
/// <returns><see cref="
SerializationTypeCode
.Invalid"/> if the encoding is invalid.</returns>
544
public
SerializationTypeCode
ReadSerializationTypeCode()
549
return
SerializationTypeCode
.Invalid;
552
return unchecked((
SerializationTypeCode
)value);
System\Reflection\Metadata\Ecma335\CustomAttributeDecoder.cs (40)
150
public
SerializationTypeCode
TypeCode;
151
public
SerializationTypeCode
ElementTypeCode;
167
TypeCode = (
SerializationTypeCode
)signatureTypeCode,
189
info.TypeCode =
SerializationTypeCode
.TaggedObject;
197
info.TypeCode = _provider.IsSystemType(info.Type) ?
SerializationTypeCode
.Type : (
SerializationTypeCode
)_provider.GetUnderlyingEnumType(info.Type);
250
case
SerializationTypeCode
.Boolean:
251
case
SerializationTypeCode
.Byte:
252
case
SerializationTypeCode
.Char:
253
case
SerializationTypeCode
.Double:
254
case
SerializationTypeCode
.Int16:
255
case
SerializationTypeCode
.Int32:
256
case
SerializationTypeCode
.Int64:
257
case
SerializationTypeCode
.SByte:
258
case
SerializationTypeCode
.Single:
259
case
SerializationTypeCode
.String:
260
case
SerializationTypeCode
.UInt16:
261
case
SerializationTypeCode
.UInt32:
262
case
SerializationTypeCode
.UInt64:
266
case
SerializationTypeCode
.Type:
270
case
SerializationTypeCode
.TaggedObject:
274
case
SerializationTypeCode
.SZArray:
287
case
SerializationTypeCode
.Enum:
290
info.TypeCode = (
SerializationTypeCode
)_provider.GetUnderlyingEnumType(info.Type);
302
if (info.TypeCode ==
SerializationTypeCode
.TaggedObject)
312
case
SerializationTypeCode
.Boolean:
316
case
SerializationTypeCode
.Byte:
320
case
SerializationTypeCode
.Char:
324
case
SerializationTypeCode
.Double:
328
case
SerializationTypeCode
.Int16:
332
case
SerializationTypeCode
.Int32:
336
case
SerializationTypeCode
.Int64:
340
case
SerializationTypeCode
.SByte:
344
case
SerializationTypeCode
.Single:
348
case
SerializationTypeCode
.UInt16:
352
case
SerializationTypeCode
.UInt32:
356
case
SerializationTypeCode
.UInt64:
360
case
SerializationTypeCode
.String:
364
case
SerializationTypeCode
.Type:
369
case
SerializationTypeCode
.SZArray:
System\Reflection\Metadata\Ecma335\Encoding\BlobEncoders.cs (21)
788
Builder.WriteByte((byte)
SerializationTypeCode
.TaggedObject);
808
Builder.WriteByte((byte)
SerializationTypeCode
.SZArray);
809
Builder.WriteByte((byte)
SerializationTypeCode
.TaggedObject);
814
Builder.WriteByte((byte)
SerializationTypeCode
.SZArray);
828
private void WriteTypeCode(
SerializationTypeCode
value)
833
public void Boolean() => WriteTypeCode(
SerializationTypeCode
.Boolean);
834
public void Char() => WriteTypeCode(
SerializationTypeCode
.Char);
835
public void SByte() => WriteTypeCode(
SerializationTypeCode
.SByte);
836
public void Byte() => WriteTypeCode(
SerializationTypeCode
.Byte);
837
public void Int16() => WriteTypeCode(
SerializationTypeCode
.Int16);
838
public void UInt16() => WriteTypeCode(
SerializationTypeCode
.UInt16);
839
public void Int32() => WriteTypeCode(
SerializationTypeCode
.Int32);
840
public void UInt32() => WriteTypeCode(
SerializationTypeCode
.UInt32);
841
public void Int64() => WriteTypeCode(
SerializationTypeCode
.Int64);
842
public void UInt64() => WriteTypeCode(
SerializationTypeCode
.UInt64);
843
public void Single() => WriteTypeCode(
SerializationTypeCode
.Single);
844
public void Double() => WriteTypeCode(
SerializationTypeCode
.Double);
845
public void String() => WriteTypeCode(
SerializationTypeCode
.String);
864
WriteTypeCode((
SerializationTypeCode
)type);
875
WriteTypeCode(
SerializationTypeCode
.Type);
887
WriteTypeCode(
SerializationTypeCode
.Enum);