OLD | NEW |
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 #include "vm/object.h" | 5 #include "vm/object.h" |
6 | 6 |
7 #include "vm/hash_table.h" | 7 #include "vm/hash_table.h" |
8 #include "vm/isolate_reload.h" | 8 #include "vm/isolate_reload.h" |
9 #include "vm/log.h" | 9 #include "vm/log.h" |
10 #include "vm/resolver.h" | 10 #include "vm/resolver.h" |
(...skipping 520 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
531 if (is_finalized()) { | 531 if (is_finalized()) { |
532 // Ensure the replacement class is also finalized. | 532 // Ensure the replacement class is also finalized. |
533 const Error& error = | 533 const Error& error = |
534 Error::Handle(replacement.EnsureIsFinalized(Thread::Current())); | 534 Error::Handle(replacement.EnsureIsFinalized(Thread::Current())); |
535 if (!error.IsNull()) { | 535 if (!error.IsNull()) { |
536 context->AddReasonForCancelling( | 536 context->AddReasonForCancelling( |
537 new(context->zone()) | 537 new(context->zone()) |
538 EnsureFinalizedError(context->zone(), *this, replacement, error)); | 538 EnsureFinalizedError(context->zone(), *this, replacement, error)); |
539 return; // No reason to check other properties. | 539 return; // No reason to check other properties. |
540 } | 540 } |
| 541 ASSERT(replacement.is_finalized()); |
541 TIR_Print("Finalized replacement class for %s\n", ToCString()); | 542 TIR_Print("Finalized replacement class for %s\n", ToCString()); |
542 } | 543 } |
543 | 544 |
544 // Native field count cannot change. | 545 // Native field count cannot change. |
545 if (num_native_fields() != replacement.num_native_fields()) { | 546 if (num_native_fields() != replacement.num_native_fields()) { |
546 context->AddReasonForCancelling( | 547 context->AddReasonForCancelling( |
547 new(context->zone()) | 548 new(context->zone()) |
548 NativeFieldsConflict(context->zone(), *this, replacement)); | 549 NativeFieldsConflict(context->zone(), *this, replacement)); |
549 return; | 550 return; |
550 } | 551 } |
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
735 } | 736 } |
736 ClearAndSetStaticTarget(new_target); | 737 ClearAndSetStaticTarget(new_target); |
737 } else { | 738 } else { |
738 ClearWithSentinel(); | 739 ClearWithSentinel(); |
739 } | 740 } |
740 } | 741 } |
741 | 742 |
742 #endif // !PRODUCT | 743 #endif // !PRODUCT |
743 | 744 |
744 } // namespace dart. | 745 } // namespace dart. |
OLD | NEW |