| Index: runtime/vm/intermediate_language.cc
|
| diff --git a/runtime/vm/intermediate_language.cc b/runtime/vm/intermediate_language.cc
|
| index 3c12a3c625a521852fb61fa4f38baa1e5f52fd41..65c497e51a6aa9ff4bc968c25e67dae66c334f0f 100644
|
| --- a/runtime/vm/intermediate_language.cc
|
| +++ b/runtime/vm/intermediate_language.cc
|
| @@ -2073,10 +2073,11 @@ Definition* AssertAssignableInstr::Canonicalize(FlowGraph* flow_graph) {
|
| // or null and dst_type does not refer to parent function type parameters.
|
| ConstantInstr* constant_type_args =
|
| instantiator_type_arguments()->definition()->AsConstant();
|
| - if (constant_type_args != NULL && !constant_type_args->value().IsNull() &&
|
| - constant_type_args->value().IsTypeArguments()) {
|
| - const TypeArguments& instantiator_type_args =
|
| - TypeArguments::Cast(constant_type_args->value());
|
| + if (constant_type_args != NULL) {
|
| + ASSERT(constant_type_args->value().IsNull() ||
|
| + constant_type_args->value().IsTypeArguments());
|
| + TypeArguments& instantiator_type_args = TypeArguments::Handle();
|
| + instantiator_type_args ^= constant_type_args->value().raw();
|
| Error& bound_error = Error::Handle();
|
| AbstractType& new_dst_type =
|
| AbstractType::Handle(dst_type().InstantiateFrom(
|
|
|