Chromium Code Reviews| Index: runtime/vm/class_finalizer.cc |
| =================================================================== |
| --- runtime/vm/class_finalizer.cc (revision 45585) |
| +++ runtime/vm/class_finalizer.cc (working copy) |
| @@ -1683,6 +1683,13 @@ |
| param ^= mixin_type_args.TypeAt(i); |
| param_bound = param.bound(); |
| if (!param_bound.IsInstantiated()) { |
| + // Make sure the bound is finalized before instantiating it. |
| + if (!param_bound.IsFinalized() && |
| + !param_bound.IsBeingFinalized()) { |
| + param_bound = |
| + FinalizeType(mixin_app_class, param_bound, kCanonicalize); |
| + param.set_bound(param_bound); |
|
Ivan Posva
2015/05/07 13:21:25
Can you please add a comment why this is necessary
regis
2015/05/07 13:33:53
In case the bound is part of a recursive type, it
|
| + } |
| param_bound = param_bound.InstantiateFrom(mixin_type_args, |
| &bound_error); |
| // The instantiator contains only TypeParameter objects and no |