public override void LeaveTryCastExpression(TryCastExpression node)
{
var target = GetExpressionType(node.Target);
var toType = GetType(node.Type);
if (target.IsValueType)
Error(CompilerErrorFactory.CantCastToValueType(node.Target, target));
else if (toType.IsValueType)
Error(CompilerErrorFactory.CantCastToValueType(node.Type, toType));
BindExpressionType(node, toType);
}