| OLD | NEW | 
|---|
| 1 // Copyright (c) 2012, the Dart project authors.  Please see the AUTHORS file | 1 // Copyright (c) 2012, 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 #ifndef VM_OBJECT_H_ | 5 #ifndef VM_OBJECT_H_ | 
| 6 #define VM_OBJECT_H_ | 6 #define VM_OBJECT_H_ | 
| 7 | 7 | 
| 8 #include "include/dart_api.h" | 8 #include "include/dart_api.h" | 
| 9 #include "platform/assert.h" | 9 #include "platform/assert.h" | 
| 10 #include "platform/utils.h" | 10 #include "platform/utils.h" | 
| (...skipping 3739 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 3750   virtual const char* ToErrorCString() const; | 3750   virtual const char* ToErrorCString() const; | 
| 3751 | 3751 | 
| 3752  private: | 3752  private: | 
| 3753   HEAP_OBJECT_IMPLEMENTATION(Error, Object); | 3753   HEAP_OBJECT_IMPLEMENTATION(Error, Object); | 
| 3754 }; | 3754 }; | 
| 3755 | 3755 | 
| 3756 | 3756 | 
| 3757 class ApiError : public Error { | 3757 class ApiError : public Error { | 
| 3758  public: | 3758  public: | 
| 3759   RawString* message() const { return raw_ptr()->message_; } | 3759   RawString* message() const { return raw_ptr()->message_; } | 
| 3760   static intptr_t message_offset() { |  | 
| 3761     return OFFSET_OF(RawApiError, message_); |  | 
| 3762   } |  | 
| 3763 | 3760 | 
| 3764   static intptr_t InstanceSize() { | 3761   static intptr_t InstanceSize() { | 
| 3765     return RoundedAllocationSize(sizeof(RawApiError)); | 3762     return RoundedAllocationSize(sizeof(RawApiError)); | 
| 3766   } | 3763   } | 
| 3767 | 3764 | 
| 3768   static RawApiError* New(const String& message, | 3765   static RawApiError* New(const String& message, | 
| 3769                           Heap::Space space = Heap::kNew); | 3766                           Heap::Space space = Heap::kNew); | 
| 3770 | 3767 | 
| 3771   virtual const char* ToErrorCString() const; | 3768   virtual const char* ToErrorCString() const; | 
| 3772 | 3769 | 
| 3773  private: | 3770  private: | 
| 3774   void set_message(const String& message) const; | 3771   void set_message(const String& message) const; | 
| 3775 | 3772 | 
| 3776   static RawApiError* New(); | 3773   static RawApiError* New(); | 
| 3777 | 3774 | 
| 3778   FINAL_HEAP_OBJECT_IMPLEMENTATION(ApiError, Error); | 3775   FINAL_HEAP_OBJECT_IMPLEMENTATION(ApiError, Error); | 
| 3779   friend class Class; | 3776   friend class Class; | 
| 3780 }; | 3777 }; | 
| 3781 | 3778 | 
| 3782 | 3779 | 
| 3783 class LanguageError : public Error { | 3780 class LanguageError : public Error { | 
| 3784  public: | 3781  public: | 
| 3785   RawString* message() const { return raw_ptr()->message_; } | 3782   enum Kind { | 
| 3786   static intptr_t message_offset() { | 3783     kWarning, | 
| 3787     return OFFSET_OF(RawLanguageError, message_); | 3784     kError, | 
| 3788   } | 3785     kMalformedType, | 
|  | 3786     kMalboundedType, | 
|  | 3787   }; | 
|  | 3788 | 
|  | 3789   // Build, cache, and return formatted message. | 
|  | 3790   RawString* FormatMessage() const; | 
| 3789 | 3791 | 
| 3790   static intptr_t InstanceSize() { | 3792   static intptr_t InstanceSize() { | 
| 3791     return RoundedAllocationSize(sizeof(RawLanguageError)); | 3793     return RoundedAllocationSize(sizeof(RawLanguageError)); | 
| 3792   } | 3794   } | 
| 3793 | 3795 | 
| 3794   static RawLanguageError* New(const String& message, | 3796   // A null script means no source and a negative token_pos means no position. | 
|  | 3797   static RawLanguageError* NewFormatted(const Error& prev_error, | 
|  | 3798                                         const Script& script, | 
|  | 3799                                         intptr_t token_pos, | 
|  | 3800                                         Kind kind, | 
|  | 3801                                         Heap::Space space, | 
|  | 3802                                         const char* format, ...) | 
|  | 3803     PRINTF_ATTRIBUTE(6, 7); | 
|  | 3804 | 
|  | 3805   static RawLanguageError* NewFormattedV(const Error& prev_error, | 
|  | 3806                                          const Script& script, | 
|  | 3807                                          intptr_t token_pos, | 
|  | 3808                                          Kind kind, | 
|  | 3809                                          Heap::Space space, | 
|  | 3810                                          const char* format, va_list args); | 
|  | 3811 | 
|  | 3812   static RawLanguageError* New(const String& formatted_message, | 
| 3795                                Heap::Space space = Heap::kNew); | 3813                                Heap::Space space = Heap::kNew); | 
| 3796 | 3814 | 
| 3797   virtual const char* ToErrorCString() const; | 3815   virtual const char* ToErrorCString() const; | 
| 3798 | 3816 | 
| 3799  private: | 3817  private: | 
| 3800   void set_message(const String& message) const; | 3818   RawError* previous_error() const { | 
|  | 3819     return raw_ptr()->previous_error_; | 
|  | 3820   } | 
|  | 3821   void set_previous_error(const Error& value) const; | 
|  | 3822 | 
|  | 3823   RawScript* script() const { return raw_ptr()->script_; } | 
|  | 3824   void set_script(const Script& value) const; | 
|  | 3825 | 
|  | 3826   intptr_t token_pos() const { return raw_ptr()->token_pos_; } | 
|  | 3827   void set_token_pos(intptr_t value) const; | 
|  | 3828 | 
|  | 3829   Kind kind() const { return static_cast<Kind>(raw_ptr()->kind_); } | 
|  | 3830   void set_kind(uint8_t value) const; | 
|  | 3831 | 
|  | 3832   RawString* message() const { return raw_ptr()->message_; } | 
|  | 3833   void set_message(const String& value) const; | 
|  | 3834 | 
|  | 3835   RawString* formatted_message() const { return raw_ptr()->formatted_message_; } | 
|  | 3836   void set_formatted_message(const String& value) const; | 
| 3801 | 3837 | 
| 3802   static RawLanguageError* New(); | 3838   static RawLanguageError* New(); | 
| 3803 | 3839 | 
| 3804   FINAL_HEAP_OBJECT_IMPLEMENTATION(LanguageError, Error); | 3840   FINAL_HEAP_OBJECT_IMPLEMENTATION(LanguageError, Error); | 
| 3805   friend class Class; | 3841   friend class Class; | 
| 3806 }; | 3842 }; | 
| 3807 | 3843 | 
| 3808 | 3844 | 
| 3809 class UnhandledException : public Error { | 3845 class UnhandledException : public Error { | 
| 3810  public: | 3846  public: | 
| (...skipping 22 matching lines...) Expand all  Loading... | 
| 3833   void set_stacktrace(const Instance& stacktrace) const; | 3869   void set_stacktrace(const Instance& stacktrace) const; | 
| 3834 | 3870 | 
| 3835   FINAL_HEAP_OBJECT_IMPLEMENTATION(UnhandledException, Error); | 3871   FINAL_HEAP_OBJECT_IMPLEMENTATION(UnhandledException, Error); | 
| 3836   friend class Class; | 3872   friend class Class; | 
| 3837 }; | 3873 }; | 
| 3838 | 3874 | 
| 3839 | 3875 | 
| 3840 class UnwindError : public Error { | 3876 class UnwindError : public Error { | 
| 3841  public: | 3877  public: | 
| 3842   RawString* message() const { return raw_ptr()->message_; } | 3878   RawString* message() const { return raw_ptr()->message_; } | 
| 3843   static intptr_t message_offset() { |  | 
| 3844     return OFFSET_OF(RawUnwindError, message_); |  | 
| 3845   } |  | 
| 3846 | 3879 | 
| 3847   static intptr_t InstanceSize() { | 3880   static intptr_t InstanceSize() { | 
| 3848     return RoundedAllocationSize(sizeof(RawUnwindError)); | 3881     return RoundedAllocationSize(sizeof(RawUnwindError)); | 
| 3849   } | 3882   } | 
| 3850 | 3883 | 
| 3851   static RawUnwindError* New(const String& message, | 3884   static RawUnwindError* New(const String& message, | 
| 3852                              Heap::Space space = Heap::kNew); | 3885                              Heap::Space space = Heap::kNew); | 
| 3853 | 3886 | 
| 3854   virtual const char* ToErrorCString() const; | 3887   virtual const char* ToErrorCString() const; | 
| 3855 | 3888 | 
| (...skipping 2525 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 6381 | 6414 | 
| 6382 | 6415 | 
| 6383 RawObject* MegamorphicCache::GetTargetFunction(const Array& array, | 6416 RawObject* MegamorphicCache::GetTargetFunction(const Array& array, | 
| 6384                                                intptr_t index) { | 6417                                                intptr_t index) { | 
| 6385   return array.At((index * kEntryLength) + kTargetFunctionIndex); | 6418   return array.At((index * kEntryLength) + kTargetFunctionIndex); | 
| 6386 } | 6419 } | 
| 6387 | 6420 | 
| 6388 }  // namespace dart | 6421 }  // namespace dart | 
| 6389 | 6422 | 
| 6390 #endif  // VM_OBJECT_H_ | 6423 #endif  // VM_OBJECT_H_ | 
| OLD | NEW | 
|---|