| 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 |