Index: dart/runtime/vm/flow_graph_type_propagator.cc |
=================================================================== |
--- dart/runtime/vm/flow_graph_type_propagator.cc (revision 29958) |
+++ dart/runtime/vm/flow_graph_type_propagator.cc (working copy) |
@@ -415,18 +415,16 @@ |
cid_ = kDynamicCid; |
} |
- Error& malformed_error = Error::Handle(); |
- if (ToAbstractType()->IsMoreSpecificThan(*other->ToAbstractType(), |
- &malformed_error)) { |
- type_ = other->ToAbstractType(); |
- } else if (other->ToAbstractType()->IsMoreSpecificThan(*ToAbstractType(), |
- &malformed_error)) { |
- // Nothing to do. |
+ const AbstractType* compile_type = ToAbstractType(); |
+ const AbstractType* other_compile_type = other->ToAbstractType(); |
+ if (compile_type->IsMoreSpecificThan(*other_compile_type, NULL)) { |
+ type_ = other_compile_type; |
+ } else if (other_compile_type->IsMoreSpecificThan(*compile_type, NULL)) { |
+ // Nothing to do. |
} else { |
- // Can't unify. |
- type_ = &Type::ZoneHandle(Type::DynamicType()); |
+ // Can't unify. |
+ type_ = &Type::ZoneHandle(Type::DynamicType()); |
} |
- ASSERT(malformed_error.IsNull()); |
} |
@@ -615,14 +613,13 @@ |
return false; |
} |
- Error& malformed_error = Error::Handle(); |
- *is_instance = compile_type.IsMoreSpecificThan(type, &malformed_error); |
- return malformed_error.IsNull() && *is_instance; |
+ *is_instance = compile_type.IsMoreSpecificThan(type, NULL); |
+ return *is_instance; |
} |
bool CompileType::IsMoreSpecificThan(const AbstractType& other) { |
- if (IsNone() || other.IsMalformed()) { |
+ if (IsNone()) { |
return false; |
} |
@@ -631,10 +628,7 @@ |
return IsNull(); |
} |
- Error& malformed_error = Error::Handle(); |
- const bool is_more_specific = |
- ToAbstractType()->IsMoreSpecificThan(other, &malformed_error); |
- return malformed_error.IsNull() && is_more_specific; |
+ return ToAbstractType()->IsMoreSpecificThan(other, NULL); |
} |