Skip to content

Instantly share code, notes, and snippets.

@controlflow
Created March 10, 2017 00:34
Show Gist options
  • Save controlflow/35f5afb6b3f99f8654faa7f698bcd815 to your computer and use it in GitHub Desktop.
Save controlflow/35f5afb6b3f99f8654faa7f698bcd815 to your computer and use it in GitHub Desktop.
var typeCheckClassification = typeCheckType.ClassifyTypeAdvanced();
if (typeCheckClassification == TypeParameterOracle.Classification.REFERENCE_TYPE && sourceType.IsValueType())
return TypeCheckStaticAnalysisResult.AlwaysFalse;
if (typeCheckClassification == TypeParameterOracle.Classification.NON_NULLABLE_VALUE_TYPE && sourceType.IsReferenceType())
return TypeCheckStaticAnalysisResult.AlwaysFalse;
switch (typeCheckType.ClassifyTypeAdvanced())
{
case TypeParameterOracle.Classification.REFERENCE_TYPE when sourceType.IsValueType():
case TypeParameterOracle.Classification.NON_NULLABLE_VALUE_TYPE when sourceType.IsReferenceType():
return TypeCheckStaticAnalysisResult.AlwaysFalse;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment