string Visit(TypeIsResolveResult result) { throw new NotImplementedException(); }
/// <remarks> /// See $7.10.10 of C# 4 Spec for details. /// </remarks> Value Visit(TypeIsResolveResult result) { var importedType = NullableType.GetUnderlyingType(Import(result.TargetType)); var val = Convert(result.Input); var conversions = CSharpConversions.Get(debuggerTypeSystem); bool evalResult = false; if (!val.IsNull) { IType inputType = NullableType.GetUnderlyingType(val.Type); if (inputType.Equals(importedType)) evalResult = true; else if (conversions.IsImplicitReferenceConversion(inputType, importedType)) evalResult = true; else if (conversions.IsBoxingConversion(inputType, importedType)) evalResult = true; } return Eval.CreateValue(evalThread, evalResult); }