6 overrides of Discriminator
Microsoft.CodeAnalysis (6)
ConstantValueSpecialized.cs (6)
34
public override ConstantValueTypeDiscriminator
Discriminator
75
public override ConstantValueTypeDiscriminator
Discriminator
159
public override ConstantValueTypeDiscriminator
Discriminator
238
public override ConstantValueTypeDiscriminator
Discriminator
279
public override ConstantValueTypeDiscriminator
Discriminator
322
public override ConstantValueTypeDiscriminator
Discriminator
130 references to Discriminator
Microsoft.CodeAnalysis (42)
CodeGen\ILBuilderEmit.cs (1)
568
ConstantValueTypeDiscriminator discriminator = value.
Discriminator
;
CodeGen\SwitchIntegralJumpTableEmitter.cs (1)
476
switch (value.
Discriminator
)
CodeGen\SwitchIntegralJumpTableEmitter.SwitchBucket.cs (4)
184
Debug.Assert(endConstant.
Discriminator
== startConstant.
Discriminator
);
207
if (startConstant.
Discriminator
== ConstantValueTypeDiscriminator.Int64)
212
else if (startConstant.
Discriminator
== ConstantValueTypeDiscriminator.UInt64)
ConstantValue.cs (25)
460
return
Discriminator
switch
479
ConstantValueTypeDiscriminator.Null or ConstantValueTypeDiscriminator.Bad => throw ExceptionUtilities.UnexpectedValue(
Discriminator
),
480
_ => throw ExceptionUtilities.UnexpectedValue(
Discriminator
)
513
switch (this.
Discriminator
)
534
default: throw ExceptionUtilities.UnexpectedValue(this.
Discriminator
);
564
return IsIntegralType(this.
Discriminator
);
572
switch (this.
Discriminator
)
600
switch (this.
Discriminator
)
643
return IsUnsignedIntegralType(this.
Discriminator
);
656
return this.
Discriminator
== ConstantValueTypeDiscriminator.Boolean;
669
return this.
Discriminator
== ConstantValueTypeDiscriminator.Char;
683
return this.
Discriminator
== ConstantValueTypeDiscriminator.String;
696
return this.
Discriminator
== ConstantValueTypeDiscriminator.Decimal;
709
return this.
Discriminator
== ConstantValueTypeDiscriminator.DateTime;
723
return this.
Discriminator
== ConstantValueTypeDiscriminator.Double ||
724
this.
Discriminator
== ConstantValueTypeDiscriminator.Single;
732
return this.
Discriminator
== ConstantValueTypeDiscriminator.Bad;
754
switch (this.
Discriminator
)
801
default: throw ExceptionUtilities.UnexpectedValue(this.
Discriminator
);
808
return String.Format("{0}({1}: {2})", this.GetType().Name, valueToDisplay, this.
Discriminator
);
813
return
Discriminator
switch
829
_ => throw ExceptionUtilities.UnexpectedValue(
Discriminator
)
853
return this.
Discriminator
== other.
Discriminator
;
878
return ((int)this.
Discriminator
).GetHashCode();
ConstantValueSpecialized.cs (4)
466
return this.Discriminator == other.
Discriminator
&& other.DecimalValue == 0m;
489
return this.Discriminator == other.
Discriminator
&& other.DoubleValue == 0;
512
return this.Discriminator == other.
Discriminator
&& other.SingleValue == 0;
665
return this.Discriminator == other.
Discriminator
&& other.DecimalValue == 1m;
EnumConstantHelper.cs (2)
28
switch (constantValue.
Discriminator
)
111
throw ExceptionUtilities.UnexpectedValue(constantValue.
Discriminator
);
Operations\ControlFlowGraphBuilder.cs (1)
4992
Debug.Assert(value.
Discriminator
!= ConstantValueTypeDiscriminator.Bad);
SwitchConstantValueHelper.cs (4)
19
switch (constant.
Discriminator
)
72
switch (first.
Discriminator
)
93
throw ExceptionUtilities.UnexpectedValue(first.
Discriminator
);
135
switch (constant.
Discriminator
)
Microsoft.CodeAnalysis.CSharp (24)
Binder\Binder_Conversions.cs (5)
1734
switch (value.
Discriminator
)
1976
case SpecialType.System_Decimal: return (value.
Discriminator
== ConstantValueTypeDiscriminator.Single) ? (decimal)(float)doubleValue : (decimal)doubleValue;
2000
throw ExceptionUtilities.UnexpectedValue(value.
Discriminator
);
2087
switch (value.
Discriminator
)
2103
default: throw ExceptionUtilities.UnexpectedValue(value.
Discriminator
);
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 (1)
1921
switch (value.
Discriminator
)
BoundTree\BoundExpressionExtensions.cs (1)
65
return node is { Kind: BoundKind.Literal, ConstantValueOpt: {
Discriminator
: ConstantValueTypeDiscriminator.Null } };
BoundTree\BoundNode_Source.cs (1)
229
switch (literal.ConstantValueOpt?.
Discriminator
)
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 (5)
718
Debug.Assert(x.
Discriminator
switch
727
Debug.Assert(y.
Discriminator
== x.
Discriminator
);
738
(value.
Discriminator
== ConstantValueTypeDiscriminator.Single || value.
Discriminator
== ConstantValueTypeDiscriminator.Double) &&
Lowering\LocalRewriter\LocalRewriter_BinaryOperator.cs (1)
2137
&& rightConstantValue.
Discriminator
== ConstantValueTypeDiscriminator.Int32
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)
Microsoft.CodeAnalysis.CSharp.Emit2.UnitTests (1)
Emit\NumericIntPtrTests.cs (1)
2855
Assert.Equal(signed ? ConstantValueTypeDiscriminator.NInt : ConstantValueTypeDiscriminator.NUInt, value.
Discriminator
);
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (1)
Semantics\NativeIntegerTests.cs (1)
7027
Assert.Equal(signed ? ConstantValueTypeDiscriminator.NInt : ConstantValueTypeDiscriminator.NUInt, value.
Discriminator
);
Microsoft.CodeAnalysis.VisualBasic (24)
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 (1)
385
Select Case parameter.ExplicitDefaultConstantValue.
Discriminator
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
Semantics\CompileTimeCalculations.vb (4)
147
Select Case (value.
Discriminator
)
159
Case Else : Throw ExceptionUtilities.UnexpectedValue(value.
Discriminator
)
181
Debug.Assert(result.
Discriminator
= type)
677
Select Case value.
Discriminator
Semantics\Conversions.vb (2)
822
sourceValue.
Discriminator
,
832
If(sourceValue.
Discriminator
= ConstantValueTypeDiscriminator.Double, sourceValue.DoubleValue, sourceValue.SingleValue),
Symbols\Metadata\PE\PEFieldSymbol.vb (2)
166
If value IsNot Nothing AndAlso value.
Discriminator
= ConstantValueTypeDiscriminator.DateTime Then
171
If value IsNot Nothing AndAlso value.
Discriminator
= ConstantValueTypeDiscriminator.Decimal Then
Symbols\Metadata\PE\PEParameterSymbol.vb (2)
372
If defaultValue.
Discriminator
= ConstantValueTypeDiscriminator.DateTime Then
374
ElseIf defaultValue.
Discriminator
= ConstantValueTypeDiscriminator.Decimal Then
Symbols\TypeSymbolExtensions.vb (2)
473
Return discriminator <> ConstantValueTypeDiscriminator.Bad AndAlso discriminator = value.
Discriminator
OrElse
474
(value.
Discriminator
= ConstantValueTypeDiscriminator.Nothing AndAlso this.IsStringType())
Microsoft.CodeAnalysis.VisualBasic.Semantic.UnitTests (23)
Semantics\Conversions.vb (23)
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
)
353
Assert.Equal(ConstantValueTypeDiscriminator.Int32, resultValue.
Discriminator
)
444
Assert.Equal(type2.GetConstantValueTypeDiscriminator(), resultValue.
Discriminator
)
453
Assert.Equal(type2.GetConstantValueTypeDiscriminator(), resultValue.
Discriminator
)
489
Assert.Equal(type2.GetConstantValueTypeDiscriminator(), resultValue.
Discriminator
)
498
Assert.Equal(type2.GetConstantValueTypeDiscriminator(), resultValue.
Discriminator
)
622
Assert.Equal(v.
Discriminator
, mv.Type.GetConstantValueTypeDiscriminator())
649
Assert.Equal(numericType.GetConstantValueTypeDiscriminator(), resultValue.
Discriminator
)
840
Assert.Equal(falseValue.
Discriminator
, booleanType.GetConstantValueTypeDiscriminator())
865
Assert.Equal(numericType.GetConstantValueTypeDiscriminator(), resultValue.
Discriminator
)
872
Assert.Equal(falseValue.
Discriminator
, booleanType.GetConstantValueTypeDiscriminator())
897
Assert.Equal(numericType.GetConstantValueTypeDiscriminator(), resultValue.
Discriminator
)
927
Assert.Equal(booleanType.GetConstantValueTypeDiscriminator(), resultValue.
Discriminator
)
935
Assert.Equal(v.
Discriminator
, mv.Type.GetConstantValueTypeDiscriminator())
958
Assert.Equal(booleanType.GetConstantValueTypeDiscriminator(), resultValue.
Discriminator
)
986
Assert.Equal(charType.GetConstantValueTypeDiscriminator(), resultValue.
Discriminator
)
1011
Assert.Equal(charType.GetConstantValueTypeDiscriminator(), resultValue.
Discriminator
)
1034
Assert.Equal(charType.GetConstantValueTypeDiscriminator(), resultValue.
Discriminator
)
1056
Assert.Equal(stringType.GetConstantValueTypeDiscriminator(), resultValue.
Discriminator
)
1182
Assert.Equal(v.
Discriminator
, mv.Type.GetConstantValueTypeDiscriminator())
1208
Assert.Equal(numericType.GetConstantValueTypeDiscriminator(), resultValue.
Discriminator
)
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
)