603 references to ConstantValueTypeDiscriminator
Microsoft.CodeAnalysis (343)
CodeGen\ILBuilderEmit.cs (17)
568
ConstantValueTypeDiscriminator
discriminator = value.Discriminator;
572
case
ConstantValueTypeDiscriminator
.Null:
575
case
ConstantValueTypeDiscriminator
.SByte:
578
case
ConstantValueTypeDiscriminator
.Byte:
581
case
ConstantValueTypeDiscriminator
.UInt16:
584
case
ConstantValueTypeDiscriminator
.Char:
587
case
ConstantValueTypeDiscriminator
.Int16:
590
case
ConstantValueTypeDiscriminator
.Int32:
591
case
ConstantValueTypeDiscriminator
.UInt32:
594
case
ConstantValueTypeDiscriminator
.Int64:
595
case
ConstantValueTypeDiscriminator
.UInt64:
598
case
ConstantValueTypeDiscriminator
.NInt:
601
case
ConstantValueTypeDiscriminator
.NUInt:
604
case
ConstantValueTypeDiscriminator
.Single:
607
case
ConstantValueTypeDiscriminator
.Double:
610
case
ConstantValueTypeDiscriminator
.String:
613
case
ConstantValueTypeDiscriminator
.Boolean:
CodeGen\SwitchIntegralJumpTableEmitter.cs (2)
478
case
ConstantValueTypeDiscriminator
.Byte: return value.ByteValue;
479
case
ConstantValueTypeDiscriminator
.UInt16: return value.UInt16Value;
CodeGen\SwitchIntegralJumpTableEmitter.SwitchBucket.cs (2)
207
if (startConstant.Discriminator ==
ConstantValueTypeDiscriminator
.Int64)
212
else if (startConstant.Discriminator ==
ConstantValueTypeDiscriminator
.UInt64)
Compilation\Expression.cs (1)
38
return ConstantValue.Create(1,
ConstantValueTypeDiscriminator
.Int32);
ConstantValue.cs (206)
40
public abstract
ConstantValueTypeDiscriminator
Discriminator { get; }
351
var
discriminator = GetDiscriminator(st);
352
Debug.Assert(discriminator !=
ConstantValueTypeDiscriminator
.Bad);
362
public static ConstantValue Create(object value,
ConstantValueTypeDiscriminator
discriminator)
368
case
ConstantValueTypeDiscriminator
.Null: return Null;
369
case
ConstantValueTypeDiscriminator
.SByte: return Create((sbyte)value);
370
case
ConstantValueTypeDiscriminator
.Byte: return Create((byte)value);
371
case
ConstantValueTypeDiscriminator
.Int16: return Create((short)value);
372
case
ConstantValueTypeDiscriminator
.UInt16: return Create((ushort)value);
373
case
ConstantValueTypeDiscriminator
.Int32: return Create((int)value);
374
case
ConstantValueTypeDiscriminator
.UInt32: return Create((uint)value);
375
case
ConstantValueTypeDiscriminator
.Int64: return Create((long)value);
376
case
ConstantValueTypeDiscriminator
.UInt64: return Create((ulong)value);
377
case
ConstantValueTypeDiscriminator
.NInt: return CreateNativeInt((int)value);
378
case
ConstantValueTypeDiscriminator
.NUInt: return CreateNativeUInt((uint)value);
379
case
ConstantValueTypeDiscriminator
.Char: return Create((char)value);
380
case
ConstantValueTypeDiscriminator
.Boolean: return Create((bool)value);
381
case
ConstantValueTypeDiscriminator
.Single:
386
case
ConstantValueTypeDiscriminator
.Double: return Create((double)value);
387
case
ConstantValueTypeDiscriminator
.Decimal: return Create((decimal)value);
388
case
ConstantValueTypeDiscriminator
.DateTime: return Create((DateTime)value);
389
case
ConstantValueTypeDiscriminator
.String: return Create((string)value);
397
var
discriminator = GetDiscriminator(st);
398
Debug.Assert(discriminator !=
ConstantValueTypeDiscriminator
.Bad);
402
public static ConstantValue Default(
ConstantValueTypeDiscriminator
discriminator)
406
case
ConstantValueTypeDiscriminator
.Bad: return Bad;
408
case
ConstantValueTypeDiscriminator
.SByte: return ConstantValueDefault.SByte;
409
case
ConstantValueTypeDiscriminator
.Byte: return ConstantValueDefault.Byte;
410
case
ConstantValueTypeDiscriminator
.Int16: return ConstantValueDefault.Int16;
411
case
ConstantValueTypeDiscriminator
.UInt16: return ConstantValueDefault.UInt16;
412
case
ConstantValueTypeDiscriminator
.Int32: return ConstantValueDefault.Int32;
413
case
ConstantValueTypeDiscriminator
.UInt32: return ConstantValueDefault.UInt32;
414
case
ConstantValueTypeDiscriminator
.Int64: return ConstantValueDefault.Int64;
415
case
ConstantValueTypeDiscriminator
.UInt64: return ConstantValueDefault.UInt64;
416
case
ConstantValueTypeDiscriminator
.NInt: return ConstantValueDefault.NInt;
417
case
ConstantValueTypeDiscriminator
.NUInt: return ConstantValueDefault.NUInt;
418
case
ConstantValueTypeDiscriminator
.Char: return ConstantValueDefault.Char;
419
case
ConstantValueTypeDiscriminator
.Boolean: return ConstantValueDefault.Boolean;
420
case
ConstantValueTypeDiscriminator
.Single: return ConstantValueDefault.Single;
421
case
ConstantValueTypeDiscriminator
.Double: return ConstantValueDefault.Double;
422
case
ConstantValueTypeDiscriminator
.Decimal: return ConstantValueDefault.Decimal;
423
case
ConstantValueTypeDiscriminator
.DateTime: return ConstantValueDefault.DateTime;
425
case
ConstantValueTypeDiscriminator
.Null:
426
case
ConstantValueTypeDiscriminator
.String: return Null;
432
internal static
ConstantValueTypeDiscriminator
GetDiscriminator(SpecialType st)
436
case SpecialType.System_SByte: return
ConstantValueTypeDiscriminator
.SByte;
437
case SpecialType.System_Byte: return
ConstantValueTypeDiscriminator
.Byte;
438
case SpecialType.System_Int16: return
ConstantValueTypeDiscriminator
.Int16;
439
case SpecialType.System_UInt16: return
ConstantValueTypeDiscriminator
.UInt16;
440
case SpecialType.System_Int32: return
ConstantValueTypeDiscriminator
.Int32;
441
case SpecialType.System_UInt32: return
ConstantValueTypeDiscriminator
.UInt32;
442
case SpecialType.System_Int64: return
ConstantValueTypeDiscriminator
.Int64;
443
case SpecialType.System_UInt64: return
ConstantValueTypeDiscriminator
.UInt64;
444
case SpecialType.System_IntPtr: return
ConstantValueTypeDiscriminator
.NInt;
445
case SpecialType.System_UIntPtr: return
ConstantValueTypeDiscriminator
.NUInt;
446
case SpecialType.System_Char: return
ConstantValueTypeDiscriminator
.Char;
447
case SpecialType.System_Boolean: return
ConstantValueTypeDiscriminator
.Boolean;
448
case SpecialType.System_Single: return
ConstantValueTypeDiscriminator
.Single;
449
case SpecialType.System_Double: return
ConstantValueTypeDiscriminator
.Double;
450
case SpecialType.System_Decimal: return
ConstantValueTypeDiscriminator
.Decimal;
451
case SpecialType.System_DateTime: return
ConstantValueTypeDiscriminator
.DateTime;
452
case SpecialType.System_String: return
ConstantValueTypeDiscriminator
.String;
455
return
ConstantValueTypeDiscriminator
.Bad;
462
ConstantValueTypeDiscriminator
.SByte => "sbyte",
463
ConstantValueTypeDiscriminator
.Byte => "byte",
464
ConstantValueTypeDiscriminator
.Int16 => "short",
465
ConstantValueTypeDiscriminator
.UInt16 => "ushort",
466
ConstantValueTypeDiscriminator
.Int32 => "int",
467
ConstantValueTypeDiscriminator
.NInt => "nint",
468
ConstantValueTypeDiscriminator
.UInt32 => "uint",
469
ConstantValueTypeDiscriminator
.NUInt => "nuint",
470
ConstantValueTypeDiscriminator
.Int64 => "long",
471
ConstantValueTypeDiscriminator
.UInt64 => "ulong",
472
ConstantValueTypeDiscriminator
.Char => "char",
473
ConstantValueTypeDiscriminator
.Boolean => "bool",
474
ConstantValueTypeDiscriminator
.Single => "float",
475
ConstantValueTypeDiscriminator
.Double => "double",
476
ConstantValueTypeDiscriminator
.String => "string",
477
ConstantValueTypeDiscriminator
.Decimal => "decimal",
478
ConstantValueTypeDiscriminator
.DateTime => "DateTime",
479
ConstantValueTypeDiscriminator
.Null or
ConstantValueTypeDiscriminator
.Bad => throw ExceptionUtilities.UnexpectedValue(Discriminator),
484
private static SpecialType GetSpecialType(
ConstantValueTypeDiscriminator
discriminator)
488
case
ConstantValueTypeDiscriminator
.SByte: return SpecialType.System_SByte;
489
case
ConstantValueTypeDiscriminator
.Byte: return SpecialType.System_Byte;
490
case
ConstantValueTypeDiscriminator
.Int16: return SpecialType.System_Int16;
491
case
ConstantValueTypeDiscriminator
.UInt16: return SpecialType.System_UInt16;
492
case
ConstantValueTypeDiscriminator
.Int32: return SpecialType.System_Int32;
493
case
ConstantValueTypeDiscriminator
.UInt32: return SpecialType.System_UInt32;
494
case
ConstantValueTypeDiscriminator
.Int64: return SpecialType.System_Int64;
495
case
ConstantValueTypeDiscriminator
.UInt64: return SpecialType.System_UInt64;
496
case
ConstantValueTypeDiscriminator
.NInt: return SpecialType.System_IntPtr;
497
case
ConstantValueTypeDiscriminator
.NUInt: return SpecialType.System_UIntPtr;
498
case
ConstantValueTypeDiscriminator
.Char: return SpecialType.System_Char;
499
case
ConstantValueTypeDiscriminator
.Boolean: return SpecialType.System_Boolean;
500
case
ConstantValueTypeDiscriminator
.Single: return SpecialType.System_Single;
501
case
ConstantValueTypeDiscriminator
.Double: return SpecialType.System_Double;
502
case
ConstantValueTypeDiscriminator
.Decimal: return SpecialType.System_Decimal;
503
case
ConstantValueTypeDiscriminator
.DateTime: return SpecialType.System_DateTime;
504
case
ConstantValueTypeDiscriminator
.String: return SpecialType.System_String;
515
case
ConstantValueTypeDiscriminator
.Bad: return null;
516
case
ConstantValueTypeDiscriminator
.Null: return null;
517
case
ConstantValueTypeDiscriminator
.SByte: return Boxes.Box(SByteValue);
518
case
ConstantValueTypeDiscriminator
.Byte: return Boxes.Box(ByteValue);
519
case
ConstantValueTypeDiscriminator
.Int16: return Boxes.Box(Int16Value);
520
case
ConstantValueTypeDiscriminator
.UInt16: return Boxes.Box(UInt16Value);
521
case
ConstantValueTypeDiscriminator
.Int32: return Boxes.Box(Int32Value);
522
case
ConstantValueTypeDiscriminator
.UInt32: return Boxes.Box(UInt32Value);
523
case
ConstantValueTypeDiscriminator
.Int64: return Boxes.Box(Int64Value);
524
case
ConstantValueTypeDiscriminator
.UInt64: return Boxes.Box(UInt64Value);
525
case
ConstantValueTypeDiscriminator
.NInt: return Boxes.Box(Int32Value);
526
case
ConstantValueTypeDiscriminator
.NUInt: return Boxes.Box(UInt32Value);
527
case
ConstantValueTypeDiscriminator
.Char: return Boxes.Box(CharValue);
528
case
ConstantValueTypeDiscriminator
.Boolean: return Boxes.Box(BooleanValue);
529
case
ConstantValueTypeDiscriminator
.Single: return Boxes.Box(SingleValue);
530
case
ConstantValueTypeDiscriminator
.Double: return Boxes.Box(DoubleValue);
531
case
ConstantValueTypeDiscriminator
.Decimal: return Boxes.Box(DecimalValue);
532
case
ConstantValueTypeDiscriminator
.DateTime: return DateTimeValue;
533
case
ConstantValueTypeDiscriminator
.String: return StringValue;
539
public static bool IsIntegralType(
ConstantValueTypeDiscriminator
discriminator)
543
case
ConstantValueTypeDiscriminator
.SByte:
544
case
ConstantValueTypeDiscriminator
.Byte:
545
case
ConstantValueTypeDiscriminator
.Int16:
546
case
ConstantValueTypeDiscriminator
.UInt16:
547
case
ConstantValueTypeDiscriminator
.Int32:
548
case
ConstantValueTypeDiscriminator
.UInt32:
549
case
ConstantValueTypeDiscriminator
.Int64:
550
case
ConstantValueTypeDiscriminator
.UInt64:
551
case
ConstantValueTypeDiscriminator
.NInt:
552
case
ConstantValueTypeDiscriminator
.NUInt:
574
case
ConstantValueTypeDiscriminator
.SByte:
576
case
ConstantValueTypeDiscriminator
.Int16:
578
case
ConstantValueTypeDiscriminator
.Int32:
579
case
ConstantValueTypeDiscriminator
.NInt:
581
case
ConstantValueTypeDiscriminator
.Int64:
583
case
ConstantValueTypeDiscriminator
.Single:
585
case
ConstantValueTypeDiscriminator
.Double:
587
case
ConstantValueTypeDiscriminator
.Decimal:
602
case
ConstantValueTypeDiscriminator
.SByte:
603
case
ConstantValueTypeDiscriminator
.Int16:
604
case
ConstantValueTypeDiscriminator
.Int32:
605
case
ConstantValueTypeDiscriminator
.Int64:
606
case
ConstantValueTypeDiscriminator
.Single:
607
case
ConstantValueTypeDiscriminator
.Double:
608
case
ConstantValueTypeDiscriminator
.Decimal:
609
case
ConstantValueTypeDiscriminator
.Byte:
610
case
ConstantValueTypeDiscriminator
.UInt16:
611
case
ConstantValueTypeDiscriminator
.UInt32:
612
case
ConstantValueTypeDiscriminator
.UInt64:
613
case
ConstantValueTypeDiscriminator
.NInt:
614
case
ConstantValueTypeDiscriminator
.NUInt:
623
public static bool IsUnsignedIntegralType(
ConstantValueTypeDiscriminator
discriminator)
627
case
ConstantValueTypeDiscriminator
.Byte:
628
case
ConstantValueTypeDiscriminator
.UInt16:
629
case
ConstantValueTypeDiscriminator
.UInt32:
630
case
ConstantValueTypeDiscriminator
.UInt64:
631
case
ConstantValueTypeDiscriminator
.NUInt:
647
public static bool IsBooleanType(
ConstantValueTypeDiscriminator
discriminator)
649
return discriminator ==
ConstantValueTypeDiscriminator
.Boolean;
656
return this.Discriminator ==
ConstantValueTypeDiscriminator
.Boolean;
660
public static bool IsCharType(
ConstantValueTypeDiscriminator
discriminator)
662
return discriminator ==
ConstantValueTypeDiscriminator
.Char;
669
return this.Discriminator ==
ConstantValueTypeDiscriminator
.Char;
673
public static bool IsStringType(
ConstantValueTypeDiscriminator
discriminator)
675
return discriminator ==
ConstantValueTypeDiscriminator
.String;
683
return this.Discriminator ==
ConstantValueTypeDiscriminator
.String;
687
public static bool IsDecimalType(
ConstantValueTypeDiscriminator
discriminator)
689
return discriminator ==
ConstantValueTypeDiscriminator
.Decimal;
696
return this.Discriminator ==
ConstantValueTypeDiscriminator
.Decimal;
700
public static bool IsDateTimeType(
ConstantValueTypeDiscriminator
discriminator)
702
return discriminator ==
ConstantValueTypeDiscriminator
.DateTime;
709
return this.Discriminator ==
ConstantValueTypeDiscriminator
.DateTime;
713
public static bool IsFloatingType(
ConstantValueTypeDiscriminator
discriminator)
715
return discriminator ==
ConstantValueTypeDiscriminator
.Double ||
716
discriminator ==
ConstantValueTypeDiscriminator
.Single;
723
return this.Discriminator ==
ConstantValueTypeDiscriminator
.Double ||
724
this.Discriminator ==
ConstantValueTypeDiscriminator
.Single;
732
return this.Discriminator ==
ConstantValueTypeDiscriminator
.Bad;
756
case
ConstantValueTypeDiscriminator
.Boolean:
760
case
ConstantValueTypeDiscriminator
.SByte:
764
case
ConstantValueTypeDiscriminator
.Byte:
768
case
ConstantValueTypeDiscriminator
.Char:
769
case
ConstantValueTypeDiscriminator
.Int16:
773
case
ConstantValueTypeDiscriminator
.UInt16:
777
case
ConstantValueTypeDiscriminator
.Single:
781
case
ConstantValueTypeDiscriminator
.Int32:
785
case
ConstantValueTypeDiscriminator
.UInt32:
789
case
ConstantValueTypeDiscriminator
.Double:
793
case
ConstantValueTypeDiscriminator
.Int64:
797
case
ConstantValueTypeDiscriminator
.UInt64:
815
ConstantValueTypeDiscriminator
.SByte => SByteValue.ToString(provider),
816
ConstantValueTypeDiscriminator
.Byte => ByteValue.ToString(provider),
817
ConstantValueTypeDiscriminator
.Int16 => Int16Value.ToString(provider),
818
ConstantValueTypeDiscriminator
.UInt16 => UInt16Value.ToString(provider),
819
ConstantValueTypeDiscriminator
.NInt or
ConstantValueTypeDiscriminator
.Int32 => Int32Value.ToString(provider),
820
ConstantValueTypeDiscriminator
.NUInt or
ConstantValueTypeDiscriminator
.UInt32 => UInt32Value.ToString(provider),
821
ConstantValueTypeDiscriminator
.UInt64 => UInt64Value.ToString(provider),
822
ConstantValueTypeDiscriminator
.Int64 => Int64Value.ToString(provider),
823
ConstantValueTypeDiscriminator
.Char => CharValue.ToString(provider),
824
ConstantValueTypeDiscriminator
.Boolean => BooleanValue.ToString(provider),
825
ConstantValueTypeDiscriminator
.Single => SingleValue.ToString(provider),
826
ConstantValueTypeDiscriminator
.Double => DoubleValue.ToString(provider),
827
ConstantValueTypeDiscriminator
.Decimal => DecimalValue.ToString(provider),
828
ConstantValueTypeDiscriminator
.DateTime => DateTimeValue.ToString(provider),
ConstantValueSpecialized.cs (58)
34
public override
ConstantValueTypeDiscriminator
Discriminator
38
return
ConstantValueTypeDiscriminator
.Bad;
75
public override
ConstantValueTypeDiscriminator
Discriminator
79
return
ConstantValueTypeDiscriminator
.Null;
159
public override
ConstantValueTypeDiscriminator
Discriminator
163
return
ConstantValueTypeDiscriminator
.String;
238
public override
ConstantValueTypeDiscriminator
Discriminator
242
return
ConstantValueTypeDiscriminator
.Decimal;
279
public override
ConstantValueTypeDiscriminator
Discriminator
283
return
ConstantValueTypeDiscriminator
.DateTime;
315
private readonly
ConstantValueTypeDiscriminator
_discriminator;
317
public ConstantValueDiscriminated(
ConstantValueTypeDiscriminator
discriminator)
322
public override
ConstantValueTypeDiscriminator
Discriminator
339
public static readonly ConstantValueDefault SByte = new ConstantValueDefault(
ConstantValueTypeDiscriminator
.SByte);
340
public static readonly ConstantValueDefault Byte = new ConstantValueDefault(
ConstantValueTypeDiscriminator
.Byte);
341
public static readonly ConstantValueDefault Int16 = new ConstantValueDefault(
ConstantValueTypeDiscriminator
.Int16);
342
public static readonly ConstantValueDefault UInt16 = new ConstantValueDefault(
ConstantValueTypeDiscriminator
.UInt16);
343
public static readonly ConstantValueDefault Int32 = new ConstantValueDefault(
ConstantValueTypeDiscriminator
.Int32);
344
public static readonly ConstantValueDefault UInt32 = new ConstantValueDefault(
ConstantValueTypeDiscriminator
.UInt32);
345
public static readonly ConstantValueDefault Int64 = new ConstantValueDefault(
ConstantValueTypeDiscriminator
.Int64);
346
public static readonly ConstantValueDefault UInt64 = new ConstantValueDefault(
ConstantValueTypeDiscriminator
.UInt64);
347
public static readonly ConstantValueDefault NInt = new ConstantValueDefault(
ConstantValueTypeDiscriminator
.NInt);
348
public static readonly ConstantValueDefault NUInt = new ConstantValueDefault(
ConstantValueTypeDiscriminator
.NUInt);
349
public static readonly ConstantValueDefault Char = new ConstantValueDefault(
ConstantValueTypeDiscriminator
.Char);
353
public static readonly ConstantValueDefault DateTime = new ConstantValueDefault(
ConstantValueTypeDiscriminator
.DateTime);
354
public static readonly ConstantValueDefault Boolean = new ConstantValueDefault(
ConstantValueTypeDiscriminator
.Boolean);
356
protected ConstantValueDefault(
ConstantValueTypeDiscriminator
discriminator)
450
: base(
ConstantValueTypeDiscriminator
.Decimal)
473
: base(
ConstantValueTypeDiscriminator
.Double)
496
: base(
ConstantValueTypeDiscriminator
.Single)
518
public static readonly ConstantValueOne SByte = new ConstantValueOne(
ConstantValueTypeDiscriminator
.SByte);
519
public static readonly ConstantValueOne Byte = new ConstantValueOne(
ConstantValueTypeDiscriminator
.Byte);
520
public static readonly ConstantValueOne Int16 = new ConstantValueOne(
ConstantValueTypeDiscriminator
.Int16);
521
public static readonly ConstantValueOne UInt16 = new ConstantValueOne(
ConstantValueTypeDiscriminator
.UInt16);
522
public static readonly ConstantValueOne Int32 = new ConstantValueOne(
ConstantValueTypeDiscriminator
.Int32);
523
public static readonly ConstantValueOne UInt32 = new ConstantValueOne(
ConstantValueTypeDiscriminator
.UInt32);
524
public static readonly ConstantValueOne Int64 = new ConstantValueOne(
ConstantValueTypeDiscriminator
.Int64);
525
public static readonly ConstantValueOne UInt64 = new ConstantValueOne(
ConstantValueTypeDiscriminator
.UInt64);
526
public static readonly ConstantValueOne NInt = new ConstantValueOne(
ConstantValueTypeDiscriminator
.NInt);
527
public static readonly ConstantValueOne NUInt = new ConstantValueOne(
ConstantValueTypeDiscriminator
.NUInt);
528
public static readonly ConstantValueOne Single = new ConstantValueOne(
ConstantValueTypeDiscriminator
.Single);
529
public static readonly ConstantValueOne Double = new ConstantValueOne(
ConstantValueTypeDiscriminator
.Double);
531
public static readonly ConstantValueOne Boolean = new ConstantValueOne(
ConstantValueTypeDiscriminator
.Boolean);
533
protected ConstantValueOne(
ConstantValueTypeDiscriminator
discriminator)
649
: base(
ConstantValueTypeDiscriminator
.Decimal)
674
: base(
ConstantValueTypeDiscriminator
.SByte)
680
: base(
ConstantValueTypeDiscriminator
.Byte)
717
: base(
ConstantValueTypeDiscriminator
.Int16)
723
: base(
ConstantValueTypeDiscriminator
.UInt16)
729
: base(
ConstantValueTypeDiscriminator
.Char)
774
: base(
ConstantValueTypeDiscriminator
.Int32)
780
: base(
ConstantValueTypeDiscriminator
.UInt32)
817
: base(
ConstantValueTypeDiscriminator
.Int64)
823
: base(
ConstantValueTypeDiscriminator
.UInt64)
861
: base(
ConstantValueTypeDiscriminator
.NInt)
867
: base(
ConstantValueTypeDiscriminator
.NUInt)
904
: base(
ConstantValueTypeDiscriminator
.Double)
942
: base(
ConstantValueTypeDiscriminator
.Single)
EnumConstantHelper.cs (8)
30
case
ConstantValueTypeDiscriminator
.SByte:
40
case
ConstantValueTypeDiscriminator
.Byte:
50
case
ConstantValueTypeDiscriminator
.Int16:
60
case
ConstantValueTypeDiscriminator
.UInt16:
70
case
ConstantValueTypeDiscriminator
.Int32:
80
case
ConstantValueTypeDiscriminator
.UInt32:
90
case
ConstantValueTypeDiscriminator
.Int64:
100
case
ConstantValueTypeDiscriminator
.UInt64:
Operations\ControlFlowGraphBuilder.cs (1)
4992
Debug.Assert(value.Discriminator !=
ConstantValueTypeDiscriminator
.Bad);
PrimitiveTypeCodeExtensions.cs (14)
70
public static
ConstantValueTypeDiscriminator
GetConstantValueTypeDiscriminator(this Cci.PrimitiveTypeCode type)
74
case Cci.PrimitiveTypeCode.Int8: return
ConstantValueTypeDiscriminator
.SByte;
75
case Cci.PrimitiveTypeCode.UInt8: return
ConstantValueTypeDiscriminator
.Byte;
76
case Cci.PrimitiveTypeCode.Int16: return
ConstantValueTypeDiscriminator
.Int16;
77
case Cci.PrimitiveTypeCode.UInt16: return
ConstantValueTypeDiscriminator
.UInt16;
78
case Cci.PrimitiveTypeCode.Int32: return
ConstantValueTypeDiscriminator
.Int32;
79
case Cci.PrimitiveTypeCode.UInt32: return
ConstantValueTypeDiscriminator
.UInt32;
80
case Cci.PrimitiveTypeCode.Int64: return
ConstantValueTypeDiscriminator
.Int64;
81
case Cci.PrimitiveTypeCode.UInt64: return
ConstantValueTypeDiscriminator
.UInt64;
82
case Cci.PrimitiveTypeCode.Char: return
ConstantValueTypeDiscriminator
.Char;
83
case Cci.PrimitiveTypeCode.Boolean: return
ConstantValueTypeDiscriminator
.Boolean;
84
case Cci.PrimitiveTypeCode.Float32: return
ConstantValueTypeDiscriminator
.Single;
85
case Cci.PrimitiveTypeCode.Float64: return
ConstantValueTypeDiscriminator
.Double;
86
case Cci.PrimitiveTypeCode.String: return
ConstantValueTypeDiscriminator
.String;
SwitchConstantValueHelper.cs (34)
21
case
ConstantValueTypeDiscriminator
.Null:
22
case
ConstantValueTypeDiscriminator
.SByte:
23
case
ConstantValueTypeDiscriminator
.Byte:
24
case
ConstantValueTypeDiscriminator
.Int16:
25
case
ConstantValueTypeDiscriminator
.UInt16:
26
case
ConstantValueTypeDiscriminator
.Int32:
27
case
ConstantValueTypeDiscriminator
.UInt32:
28
case
ConstantValueTypeDiscriminator
.Int64:
29
case
ConstantValueTypeDiscriminator
.UInt64:
30
case
ConstantValueTypeDiscriminator
.Char:
31
case
ConstantValueTypeDiscriminator
.Boolean:
32
case
ConstantValueTypeDiscriminator
.String:
74
case
ConstantValueTypeDiscriminator
.SByte:
75
case
ConstantValueTypeDiscriminator
.Int16:
76
case
ConstantValueTypeDiscriminator
.Int32:
77
case
ConstantValueTypeDiscriminator
.Int64:
80
case
ConstantValueTypeDiscriminator
.Boolean:
81
case
ConstantValueTypeDiscriminator
.Byte:
82
case
ConstantValueTypeDiscriminator
.UInt16:
83
case
ConstantValueTypeDiscriminator
.UInt32:
84
case
ConstantValueTypeDiscriminator
.UInt64:
85
case
ConstantValueTypeDiscriminator
.Char:
88
case
ConstantValueTypeDiscriminator
.String:
137
case
ConstantValueTypeDiscriminator
.SByte:
138
case
ConstantValueTypeDiscriminator
.Int16:
139
case
ConstantValueTypeDiscriminator
.Int32:
140
case
ConstantValueTypeDiscriminator
.Int64:
143
case
ConstantValueTypeDiscriminator
.Boolean:
144
case
ConstantValueTypeDiscriminator
.Byte:
145
case
ConstantValueTypeDiscriminator
.UInt16:
146
case
ConstantValueTypeDiscriminator
.UInt32:
147
case
ConstantValueTypeDiscriminator
.UInt64:
148
case
ConstantValueTypeDiscriminator
.Char:
151
case
ConstantValueTypeDiscriminator
.String:
Microsoft.CodeAnalysis.CSharp (71)
Binder\Binder_Conversions.cs (29)
1736
case
ConstantValueTypeDiscriminator
.Byte:
1756
case
ConstantValueTypeDiscriminator
.Char:
1776
case
ConstantValueTypeDiscriminator
.UInt16:
1796
case
ConstantValueTypeDiscriminator
.UInt32:
1816
case
ConstantValueTypeDiscriminator
.UInt64:
1836
case
ConstantValueTypeDiscriminator
.NUInt:
1855
case
ConstantValueTypeDiscriminator
.SByte:
1875
case
ConstantValueTypeDiscriminator
.Int16:
1895
case
ConstantValueTypeDiscriminator
.Int32:
1915
case
ConstantValueTypeDiscriminator
.Int64:
1935
case
ConstantValueTypeDiscriminator
.NInt:
1955
case
ConstantValueTypeDiscriminator
.Single:
1956
case
ConstantValueTypeDiscriminator
.Double:
1976
case SpecialType.System_Decimal: return (value.Discriminator ==
ConstantValueTypeDiscriminator
.Single) ? (decimal)(float)doubleValue : (decimal)doubleValue;
1979
case
ConstantValueTypeDiscriminator
.Decimal:
2089
case
ConstantValueTypeDiscriminator
.SByte: return (decimal)value.SByteValue;
2090
case
ConstantValueTypeDiscriminator
.Int16: return (decimal)value.Int16Value;
2091
case
ConstantValueTypeDiscriminator
.Int32: return (decimal)value.Int32Value;
2092
case
ConstantValueTypeDiscriminator
.Int64: return (decimal)value.Int64Value;
2093
case
ConstantValueTypeDiscriminator
.NInt: return (decimal)value.Int32Value;
2094
case
ConstantValueTypeDiscriminator
.Byte: return (decimal)value.ByteValue;
2095
case
ConstantValueTypeDiscriminator
.Char: return (decimal)value.CharValue;
2096
case
ConstantValueTypeDiscriminator
.UInt16: return (decimal)value.UInt16Value;
2097
case
ConstantValueTypeDiscriminator
.UInt32: return (decimal)value.UInt32Value;
2098
case
ConstantValueTypeDiscriminator
.UInt64: return (decimal)value.UInt64Value;
2099
case
ConstantValueTypeDiscriminator
.NUInt: return (decimal)value.UInt32Value;
2100
case
ConstantValueTypeDiscriminator
.Single:
2101
case
ConstantValueTypeDiscriminator
.Double: return value.DoubleValue;
2102
case
ConstantValueTypeDiscriminator
.Decimal: return value.DecimalValue;
Binder\Binder_Statements.cs (1)
2585
if (assignment.Right.Kind == BoundKind.Literal && assignment.Right.ConstantValueOpt.Discriminator ==
ConstantValueTypeDiscriminator
.Boolean)
Binder\DecisionDagBuilder.cs (3)
2070
Debug.Assert(t.Value.Discriminator ==
ConstantValueTypeDiscriminator
.Int32);
2085
Debug.Assert(t.Value.Discriminator ==
ConstantValueTypeDiscriminator
.Int32);
2089
Debug.Assert(t.Value.Discriminator ==
ConstantValueTypeDiscriminator
.Int32);
Binder\Semantics\Conversions\ConversionsBase.cs (13)
1923
case
ConstantValueTypeDiscriminator
.SByte:
1925
case
ConstantValueTypeDiscriminator
.Byte:
1927
case
ConstantValueTypeDiscriminator
.Int16:
1929
case
ConstantValueTypeDiscriminator
.Int32:
1930
case
ConstantValueTypeDiscriminator
.NInt:
1932
case
ConstantValueTypeDiscriminator
.Int64:
1934
case
ConstantValueTypeDiscriminator
.UInt16:
1936
case
ConstantValueTypeDiscriminator
.UInt32:
1937
case
ConstantValueTypeDiscriminator
.NUInt:
1939
case
ConstantValueTypeDiscriminator
.UInt64:
1941
case
ConstantValueTypeDiscriminator
.Single:
1942
case
ConstantValueTypeDiscriminator
.Double:
1944
case
ConstantValueTypeDiscriminator
.Decimal:
BoundTree\BoundExpressionExtensions.cs (1)
65
return node is { Kind: BoundKind.Literal, ConstantValueOpt: { Discriminator:
ConstantValueTypeDiscriminator
.Null } };
BoundTree\BoundNode_Source.cs (1)
231
case
ConstantValueTypeDiscriminator
.String:
CodeGen\EmitArrayInitializer.cs (2)
498
if (start.ConstantValueOpt?.IsDefaultValue != true || start.ConstantValueOpt.Discriminator !=
ConstantValueTypeDiscriminator
.Int32)
505
if (length.ConstantValueOpt?.Discriminator !=
ConstantValueTypeDiscriminator
.Int32)
CodeGen\EmitOperators.cs (1)
487
Debug.Assert(constantValue.Discriminator ==
ConstantValueTypeDiscriminator
.Boolean);
Lowering\LocalRewriter\LocalRewriter.DecisionDagRewriter.cs (7)
720
ConstantValueTypeDiscriminator
.Decimal => true,
721
ConstantValueTypeDiscriminator
.Single => true,
722
ConstantValueTypeDiscriminator
.Double => true,
723
ConstantValueTypeDiscriminator
.NInt => true,
724
ConstantValueTypeDiscriminator
.NUInt => true,
738
(value.Discriminator ==
ConstantValueTypeDiscriminator
.Single || value.Discriminator ==
ConstantValueTypeDiscriminator
.Double) &&
Lowering\LocalRewriter\LocalRewriter_BinaryOperator.cs (3)
2011
return MakeLiteral(syntax, ConstantValue.Create(rewrittenExpr.ConstantValueOpt.IsNull,
ConstantValueTypeDiscriminator
.Boolean), boolType);
2013
return MakeLiteral(syntax, ConstantValue.Create(!rewrittenExpr.ConstantValueOpt.IsNull,
ConstantValueTypeDiscriminator
.Boolean), boolType);
2137
&& rightConstantValue.Discriminator ==
ConstantValueTypeDiscriminator
.Int32
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (2)
872
constantValue: ConstantValue.Create(dimension,
ConstantValueTypeDiscriminator
.Int32),
927
constantValue: ConstantValue.Create(dimension,
ConstantValueTypeDiscriminator
.Int32),
Lowering\SyntheticBoundNodeFactory.cs (2)
1639
return Literal(ConstantValue.Create(rewrittenExpr.ConstantValueOpt.IsNull,
ConstantValueTypeDiscriminator
.Boolean), boolType);
1641
return Literal(ConstantValue.Create(rewrittenExpr.ConstantValueOpt.IsNull,
ConstantValueTypeDiscriminator
.Boolean), boolType);
Symbols\Metadata\PE\PEFieldSymbol.cs (1)
602
value.Discriminator ==
ConstantValueTypeDiscriminator
.Decimal;
Symbols\Metadata\PE\PEParameterSymbol.cs (2)
1028
if (defaultValue.Discriminator ==
ConstantValueTypeDiscriminator
.DateTime)
1032
else if (defaultValue.Discriminator ==
ConstantValueTypeDiscriminator
.Decimal)
Symbols\Source\SourceComplexParameterSymbol.cs (3)
967
var
constantValueDiscriminator = ConstantValue.GetDiscriminator(specialType);
969
if (constantValueDiscriminator ==
ConstantValueTypeDiscriminator
.Bad)
975
constantValueDiscriminator =
ConstantValueTypeDiscriminator
.Null;
Microsoft.CodeAnalysis.CSharp.Emit2.UnitTests (2)
Emit\NumericIntPtrTests.cs (2)
2855
Assert.Equal(signed ?
ConstantValueTypeDiscriminator
.NInt :
ConstantValueTypeDiscriminator
.NUInt, value.Discriminator);
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (2)
Semantics\NativeIntegerTests.cs (2)
7027
Assert.Equal(signed ?
ConstantValueTypeDiscriminator
.NInt :
ConstantValueTypeDiscriminator
.NUInt, value.Discriminator);
Microsoft.CodeAnalysis.UnitTests (5)
CorLibTypesTests.cs (5)
94
Assert.Throws<InvalidOperationException>(() => { ConstantValue.Create(null,
ConstantValueTypeDiscriminator
.Bad); });
101
var cv1 = ConstantValue.Create(null,
ConstantValueTypeDiscriminator
.Null);
113
Assert.Equal(ConstantValue.Bad, ConstantValue.Default(
ConstantValueTypeDiscriminator
.Bad));
199
var cv = ConstantValue.Create(null,
ConstantValueTypeDiscriminator
.Null);
202
cv = ConstantValue.Create(null,
ConstantValueTypeDiscriminator
.String);
Microsoft.CodeAnalysis.VisualBasic (142)
Analysis\FlowAnalysis\AbstractFlowPass.vb (2)
315
If constantValue.Discriminator <>
ConstantValueTypeDiscriminator
.Boolean Then
330
If constantValue.Discriminator <>
ConstantValueTypeDiscriminator
.Boolean Then
Binding\Binder_Invocation.vb (2)
3183
If callerInfoValue.Discriminator =
ConstantValueTypeDiscriminator
.Int32 Then
3186
Debug.Assert(callerInfoValue.Discriminator =
ConstantValueTypeDiscriminator
.String)
BoundTree\BoundExpressionExtensions.vb (1)
373
If node.Value.Discriminator =
ConstantValueTypeDiscriminator
.Int32 AndAlso node.Type.SpecialType = SpecialType.System_Int32 Then
CodeGen\EmitStatement.vb (2)
676
Debug.Assert(constExprValue.Discriminator =
ConstantValueTypeDiscriminator
.Boolean OrElse
677
constExprValue.Discriminator =
ConstantValueTypeDiscriminator
.String OrElse
Compilation\ClsComplianceChecker.vb (4)
386
Case
ConstantValueTypeDiscriminator
.SByte,
387
ConstantValueTypeDiscriminator
.UInt16,
388
ConstantValueTypeDiscriminator
.UInt32,
389
ConstantValueTypeDiscriminator
.UInt64
Emit\ParameterSymbolAdapter.vb (2)
178
Return Not (value.Discriminator =
ConstantValueTypeDiscriminator
.DateTime OrElse value.Discriminator =
ConstantValueTypeDiscriminator
.Decimal)
Lowering\LocalRewriter\LocalRewriter_Constant.vb (2)
20
If constantValue.Discriminator =
ConstantValueTypeDiscriminator
.Decimal Then
23
ElseIf constantValue.Discriminator =
ConstantValueTypeDiscriminator
.DateTime Then
Lowering\LocalRewriter\LocalRewriter_LateBindingHelpers.vb (1)
276
Dim bounds As BoundExpression = New BoundLiteral(node, ConstantValue.Default(
ConstantValueTypeDiscriminator
.Int32), intType)
Lowering\LocalRewriter\LocalRewriter_LocalDeclaration.vb (1)
270
New BoundLiteral(syntax, ConstantValue.Default(
ConstantValueTypeDiscriminator
.Int16), flagState.Type),
Semantics\CompileTimeCalculations.vb (74)
148
Case
ConstantValueTypeDiscriminator
.SByte : Return value.SByteValue
149
Case
ConstantValueTypeDiscriminator
.Byte : Return value.ByteValue
150
Case
ConstantValueTypeDiscriminator
.Int16 : Return value.Int16Value
151
Case
ConstantValueTypeDiscriminator
.UInt16 : Return value.UInt16Value
152
Case
ConstantValueTypeDiscriminator
.Int32 : Return value.Int32Value
153
Case
ConstantValueTypeDiscriminator
.UInt32 : Return value.UInt32Value
154
Case
ConstantValueTypeDiscriminator
.Int64 : Return value.Int64Value
155
Case
ConstantValueTypeDiscriminator
.UInt64 : Return UncheckedCLng(value.UInt64Value)
156
Case
ConstantValueTypeDiscriminator
.Char : Return AscW(value.CharValue)
157
Case
ConstantValueTypeDiscriminator
.Boolean : Return If(value.BooleanValue, 1, 0)
158
Case
ConstantValueTypeDiscriminator
.DateTime : Return value.DateTimeValue.Ticks
163
Friend Function GetConstantValue(type As
ConstantValueTypeDiscriminator
, value As Long) As ConstantValue
167
Case
ConstantValueTypeDiscriminator
.SByte : result = ConstantValue.Create(UncheckedCSByte(value))
168
Case
ConstantValueTypeDiscriminator
.Byte : result = ConstantValue.Create(UncheckedCByte(value))
169
Case
ConstantValueTypeDiscriminator
.Int16 : result = ConstantValue.Create(UncheckedCShort(value))
170
Case
ConstantValueTypeDiscriminator
.UInt16 : result = ConstantValue.Create(UncheckedCUShort(value))
171
Case
ConstantValueTypeDiscriminator
.Int32 : result = ConstantValue.Create(UncheckedCInt(value))
172
Case
ConstantValueTypeDiscriminator
.UInt32 : result = ConstantValue.Create(UncheckedCUInt(value))
173
Case
ConstantValueTypeDiscriminator
.Int64 : result = ConstantValue.Create(value)
174
Case
ConstantValueTypeDiscriminator
.UInt64 : result = ConstantValue.Create(UncheckedCULng(value))
175
Case
ConstantValueTypeDiscriminator
.Char : result = ConstantValue.Create(ChrW(UncheckedCInt(value)))
176
Case
ConstantValueTypeDiscriminator
.Boolean : result = ConstantValue.Create(If(value = 0, False, True))
177
Case
ConstantValueTypeDiscriminator
.DateTime : result = ConstantValue.Create(New DateTime(value))
188
sourceType As
ConstantValueTypeDiscriminator
,
189
resultType As
ConstantValueTypeDiscriminator
,
196
Case
ConstantValueTypeDiscriminator
.Boolean
200
Case
ConstantValueTypeDiscriminator
.SByte
203
Case
ConstantValueTypeDiscriminator
.Byte
206
Case
ConstantValueTypeDiscriminator
.Int16
209
Case
ConstantValueTypeDiscriminator
.UInt16
212
Case
ConstantValueTypeDiscriminator
.Int32
215
Case
ConstantValueTypeDiscriminator
.UInt32
218
Case
ConstantValueTypeDiscriminator
.Int64
221
Case
ConstantValueTypeDiscriminator
.UInt64
224
Case
ConstantValueTypeDiscriminator
.Char
290
sourceType As
ConstantValueTypeDiscriminator
,
291
targetType As
ConstantValueTypeDiscriminator
,
348
targetType As
ConstantValueTypeDiscriminator
,
357
ConstantValueTypeDiscriminator
.Int64,
370
Dim sourceIntegralType As
ConstantValueTypeDiscriminator
389
sourceIntegralType =
ConstantValueTypeDiscriminator
.Int64
391
sourceIntegralType =
ConstantValueTypeDiscriminator
.UInt64
407
If targetType =
ConstantValueTypeDiscriminator
.Single Then
411
Debug.Assert(targetType =
ConstantValueTypeDiscriminator
.Double)
438
targetType As
ConstantValueTypeDiscriminator
,
459
Dim sourceIntegralType As
ConstantValueTypeDiscriminator
= Nothing
470
sourceIntegralType =
ConstantValueTypeDiscriminator
.Int64
473
sourceIntegralType =
ConstantValueTypeDiscriminator
.UInt64
520
resultType As
ConstantValueTypeDiscriminator
,
530
Case
ConstantValueTypeDiscriminator
.Double
533
Case
ConstantValueTypeDiscriminator
.Single
636
Private Function IsUnsignedLongType(type As
ConstantValueTypeDiscriminator
) As Boolean
637
Return type =
ConstantValueTypeDiscriminator
.UInt64
640
Friend Function TypeAllowsCompileTimeConversions(type As
ConstantValueTypeDiscriminator
) As Boolean
644
Friend Function TypeAllowsCompileTimeOperations(type As
ConstantValueTypeDiscriminator
) As Boolean
646
Case
ConstantValueTypeDiscriminator
.Boolean,
647
ConstantValueTypeDiscriminator
.SByte,
648
ConstantValueTypeDiscriminator
.Byte,
649
ConstantValueTypeDiscriminator
.Int16,
650
ConstantValueTypeDiscriminator
.UInt16,
651
ConstantValueTypeDiscriminator
.Int32,
652
ConstantValueTypeDiscriminator
.UInt32,
653
ConstantValueTypeDiscriminator
.Int64,
654
ConstantValueTypeDiscriminator
.UInt64,
655
ConstantValueTypeDiscriminator
.Char,
656
ConstantValueTypeDiscriminator
.Decimal,
657
ConstantValueTypeDiscriminator
.Double,
658
ConstantValueTypeDiscriminator
.Single,
659
ConstantValueTypeDiscriminator
.DateTime,
660
ConstantValueTypeDiscriminator
.String
679
Case
ConstantValueTypeDiscriminator
.Int32
716
Case
ConstantValueTypeDiscriminator
.Int64
742
sourceType As
ConstantValueTypeDiscriminator
,
743
resultType As
ConstantValueTypeDiscriminator
,
Semantics\Conversions.vb (4)
726
Dim dstDiscriminator As
ConstantValueTypeDiscriminator
= destination.GetConstantValueTypeDiscriminator()
727
Debug.Assert((dstDiscriminator <>
ConstantValueTypeDiscriminator
.Bad) AndAlso (dstDiscriminator <>
ConstantValueTypeDiscriminator
.Nothing))
832
If(sourceValue.Discriminator =
ConstantValueTypeDiscriminator
.Double, sourceValue.DoubleValue, sourceValue.SingleValue),
Symbols\Metadata\PE\PEFieldSymbol.vb (5)
166
If value IsNot Nothing AndAlso value.Discriminator =
ConstantValueTypeDiscriminator
.DateTime Then
171
If value IsNot Nothing AndAlso value.Discriminator =
ConstantValueTypeDiscriminator
.Decimal Then
242
value = Microsoft.CodeAnalysis.ConstantValue.Default(
ConstantValueTypeDiscriminator
.DateTime)
245
value = Microsoft.CodeAnalysis.ConstantValue.Default(
ConstantValueTypeDiscriminator
.Boolean)
248
value = Microsoft.CodeAnalysis.ConstantValue.Default(
ConstantValueTypeDiscriminator
.Char)
Symbols\Metadata\PE\PEParameterSymbol.vb (2)
372
If defaultValue.Discriminator =
ConstantValueTypeDiscriminator
.DateTime Then
374
ElseIf defaultValue.Discriminator =
ConstantValueTypeDiscriminator
.Decimal Then
Symbols\MethodSignatureComparer.vb (2)
698
If descriminator <>
ConstantValueTypeDiscriminator
.Bad Then
705
If descriminator <>
ConstantValueTypeDiscriminator
.Bad Then
Symbols\Source\SourceParameterSymbol.vb (1)
426
If constantValueDiscriminator =
ConstantValueTypeDiscriminator
.Bad Then
Symbols\SpecialTypeExtensions.vb (16)
277
Friend Function ToConstantValueDiscriminator(this As SpecialType) As
ConstantValueTypeDiscriminator
280
Return
ConstantValueTypeDiscriminator
.SByte
282
Return
ConstantValueTypeDiscriminator
.Byte
284
Return
ConstantValueTypeDiscriminator
.Int16
286
Return
ConstantValueTypeDiscriminator
.UInt16
288
Return
ConstantValueTypeDiscriminator
.Int32
290
Return
ConstantValueTypeDiscriminator
.UInt32
292
Return
ConstantValueTypeDiscriminator
.Int64
294
Return
ConstantValueTypeDiscriminator
.UInt64
296
Return
ConstantValueTypeDiscriminator
.Char
298
Return
ConstantValueTypeDiscriminator
.Boolean
300
Return
ConstantValueTypeDiscriminator
.Single
302
Return
ConstantValueTypeDiscriminator
.Double
304
Return
ConstantValueTypeDiscriminator
.Decimal
306
Return
ConstantValueTypeDiscriminator
.DateTime
308
Return
ConstantValueTypeDiscriminator
.String
Symbols\TypeSymbolExtensions.vb (21)
422
Public Function GetConstantValueTypeDiscriminator(this As TypeSymbol) As
ConstantValueTypeDiscriminator
424
Return
ConstantValueTypeDiscriminator
.Nothing
431
Return
ConstantValueTypeDiscriminator
.Boolean
433
Return
ConstantValueTypeDiscriminator
.Byte
435
Return
ConstantValueTypeDiscriminator
.SByte
437
Return
ConstantValueTypeDiscriminator
.Int16
439
Return
ConstantValueTypeDiscriminator
.UInt16
441
Return
ConstantValueTypeDiscriminator
.Int32
443
Return
ConstantValueTypeDiscriminator
.UInt32
445
Return
ConstantValueTypeDiscriminator
.Int64
447
Return
ConstantValueTypeDiscriminator
.UInt64
449
Return
ConstantValueTypeDiscriminator
.Single
451
Return
ConstantValueTypeDiscriminator
.Double
453
Return
ConstantValueTypeDiscriminator
.Decimal
455
Return
ConstantValueTypeDiscriminator
.DateTime
457
Return
ConstantValueTypeDiscriminator
.Char
459
Return
ConstantValueTypeDiscriminator
.String
462
Return
ConstantValueTypeDiscriminator
.Nothing
465
Return
ConstantValueTypeDiscriminator
.Bad
473
Return discriminator <>
ConstantValueTypeDiscriminator
.Bad AndAlso discriminator = value.Discriminator OrElse
474
(value.Discriminator =
ConstantValueTypeDiscriminator
.Nothing AndAlso this.IsStringType())
Microsoft.CodeAnalysis.VisualBasic.Semantic.UnitTests (8)
Semantics\Conversions.vb (8)
285
Assert.Equal(If(testType.IsStringType(),
ConstantValueTypeDiscriminator
.Nothing, testType.GetConstantValueTypeDiscriminator()), resultValue.Discriminator)
320
Assert.Equal(
ConstantValueTypeDiscriminator
.Int32, resultValue.Discriminator)
328
Assert.Equal(
ConstantValueTypeDiscriminator
.Int32, resultValue.Discriminator)
335
Dim zero = ConstantValue.Default(If(convertibleType.IsStringType(),
ConstantValueTypeDiscriminator
.Nothing, convertibleType.GetConstantValueTypeDiscriminator()))
353
Assert.Equal(
ConstantValueTypeDiscriminator
.Int32, resultValue.Discriminator)
366
Dim zero = ConstantValue.Default(If(type1.IsStringType(),
ConstantValueTypeDiscriminator
.Nothing, type1.GetConstantValueTypeDiscriminator()))
375
New BoundLiteral(dummyTree.GetVisualBasicRoot(Nothing), ConstantValue.Default(
ConstantValueTypeDiscriminator
.Int32), int32Type),
1316
New BoundLiteral(dummyTree.GetVisualBasicRoot(Nothing), ConstantValue.Default(
ConstantValueTypeDiscriminator
.Int32), int32Type),
Microsoft.CodeAnalysis.VisualBasic.Symbol.UnitTests (15)
SymbolsTests\Metadata\PE\LoadingFields.vb (15)
141
Assert.Equal(
ConstantValueTypeDiscriminator
.Int64, Int64Field.GetConstantValue(ConstantFieldsInProgress.Empty).Discriminator)
147
Assert.Equal(
ConstantValueTypeDiscriminator
.DateTime, DateTimeField.GetConstantValue(ConstantFieldsInProgress.Empty).Discriminator)
153
Assert.Equal(
ConstantValueTypeDiscriminator
.Single, SingleField.GetConstantValue(ConstantFieldsInProgress.Empty).Discriminator)
159
Assert.Equal(
ConstantValueTypeDiscriminator
.Double, DoubleField.GetConstantValue(ConstantFieldsInProgress.Empty).Discriminator)
165
Assert.Equal(
ConstantValueTypeDiscriminator
.String, StringField.GetConstantValue(ConstantFieldsInProgress.Empty).Discriminator)
171
Assert.Equal(
ConstantValueTypeDiscriminator
.Nothing, StringNullField.GetConstantValue(ConstantFieldsInProgress.Empty).Discriminator)
176
Assert.Equal(
ConstantValueTypeDiscriminator
.Nothing, ObjectNullField.GetConstantValue(ConstantFieldsInProgress.Empty).Discriminator)
199
Assert.Equal(
ConstantValueTypeDiscriminator
.Byte, ByteValue.GetConstantValue(ConstantFieldsInProgress.Empty).Discriminator)
205
Assert.Equal(
ConstantValueTypeDiscriminator
.SByte, SByteValue.GetConstantValue(ConstantFieldsInProgress.Empty).Discriminator)
211
Assert.Equal(
ConstantValueTypeDiscriminator
.UInt16, UInt16Value.GetConstantValue(ConstantFieldsInProgress.Empty).Discriminator)
217
Assert.Equal(
ConstantValueTypeDiscriminator
.Int16, Int16Value.GetConstantValue(ConstantFieldsInProgress.Empty).Discriminator)
223
Assert.Equal(
ConstantValueTypeDiscriminator
.UInt32, UInt32Value.GetConstantValue(ConstantFieldsInProgress.Empty).Discriminator)
229
Assert.Equal(
ConstantValueTypeDiscriminator
.Int32, Int32Value.GetConstantValue(ConstantFieldsInProgress.Empty).Discriminator)
235
Assert.Equal(
ConstantValueTypeDiscriminator
.UInt64, UInt64Value.GetConstantValue(ConstantFieldsInProgress.Empty).Discriminator)
241
Assert.Equal(
ConstantValueTypeDiscriminator
.Int64, Int64Value.GetConstantValue(ConstantFieldsInProgress.Empty).Discriminator)
Microsoft.CodeAnalysis.VisualBasic.Syntax.UnitTests (15)
Syntax\ConstantExpressionEvaluatorTests.vb (15)
12
Assert.Equal(
ConstantValueTypeDiscriminator
.SByte, SpecialType.System_SByte.ToConstantValueDiscriminator())
13
Assert.Equal(
ConstantValueTypeDiscriminator
.Byte, SpecialType.System_Byte.ToConstantValueDiscriminator())
14
Assert.Equal(
ConstantValueTypeDiscriminator
.Int16, SpecialType.System_Int16.ToConstantValueDiscriminator())
15
Assert.Equal(
ConstantValueTypeDiscriminator
.UInt16, SpecialType.System_UInt16.ToConstantValueDiscriminator())
16
Assert.Equal(
ConstantValueTypeDiscriminator
.Int32, SpecialType.System_Int32.ToConstantValueDiscriminator())
17
Assert.Equal(
ConstantValueTypeDiscriminator
.UInt32, SpecialType.System_UInt32.ToConstantValueDiscriminator())
18
Assert.Equal(
ConstantValueTypeDiscriminator
.Int64, SpecialType.System_Int64.ToConstantValueDiscriminator())
19
Assert.Equal(
ConstantValueTypeDiscriminator
.UInt64, SpecialType.System_UInt64.ToConstantValueDiscriminator())
20
Assert.Equal(
ConstantValueTypeDiscriminator
.Char, SpecialType.System_Char.ToConstantValueDiscriminator())
21
Assert.Equal(
ConstantValueTypeDiscriminator
.Boolean, SpecialType.System_Boolean.ToConstantValueDiscriminator())
22
Assert.Equal(
ConstantValueTypeDiscriminator
.Single, SpecialType.System_Single.ToConstantValueDiscriminator())
23
Assert.Equal(
ConstantValueTypeDiscriminator
.Double, SpecialType.System_Double.ToConstantValueDiscriminator())
24
Assert.Equal(
ConstantValueTypeDiscriminator
.Decimal, SpecialType.System_Decimal.ToConstantValueDiscriminator())
25
Assert.Equal(
ConstantValueTypeDiscriminator
.DateTime, SpecialType.System_DateTime.ToConstantValueDiscriminator())
26
Assert.Equal(
ConstantValueTypeDiscriminator
.String, SpecialType.System_String.ToConstantValueDiscriminator())