| OLD | NEW |
| 1 // Copyright 2006-2008 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2008 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // The infrastructure used for (localized) message reporting in V8. | 5 // The infrastructure used for (localized) message reporting in V8. |
| 6 // | 6 // |
| 7 // Note: there's a big unresolved issue about ownership of the data | 7 // Note: there's a big unresolved issue about ownership of the data |
| 8 // structures used by this framework. | 8 // structures used by this framework. |
| 9 | 9 |
| 10 #ifndef V8_MESSAGES_H_ | 10 #ifndef V8_MESSAGES_H_ |
| 11 #define V8_MESSAGES_H_ | 11 #define V8_MESSAGES_H_ |
| 12 | 12 |
| 13 #include "src/base/smart-pointers.h" | 13 #include "src/base/smart-pointers.h" |
| 14 #include "src/handles.h" | 14 #include "src/handles.h" |
| 15 #include "src/list.h" | 15 #include "src/list.h" |
| 16 | 16 |
| 17 namespace v8 { | 17 namespace v8 { |
| 18 namespace internal { | 18 namespace internal { |
| 19 | 19 |
| 20 // Forward declarations. | 20 // Forward declarations. |
| 21 class JSMessageObject; | 21 class JSMessageObject; |
| 22 class LookupIterator; | 22 class LookupIterator; |
| 23 class SourceInfo; | 23 class SourceInfo; |
| 24 | 24 |
| 25 class MessageLocation { | 25 class MessageLocation { |
| 26 public: | 26 public: |
| 27 MessageLocation(Handle<Script> script, int start_pos, int end_pos); |
| 27 MessageLocation(Handle<Script> script, int start_pos, int end_pos, | 28 MessageLocation(Handle<Script> script, int start_pos, int end_pos, |
| 28 Handle<JSFunction> function = Handle<JSFunction>()) | 29 Handle<JSFunction> function); |
| 29 : script_(script), | 30 MessageLocation(); |
| 30 start_pos_(start_pos), | |
| 31 end_pos_(end_pos), | |
| 32 function_(function) {} | |
| 33 MessageLocation() : start_pos_(-1), end_pos_(-1) { } | |
| 34 | 31 |
| 35 Handle<Script> script() const { return script_; } | 32 Handle<Script> script() const { return script_; } |
| 36 int start_pos() const { return start_pos_; } | 33 int start_pos() const { return start_pos_; } |
| 37 int end_pos() const { return end_pos_; } | 34 int end_pos() const { return end_pos_; } |
| 38 Handle<JSFunction> function() const { return function_; } | 35 Handle<JSFunction> function() const { return function_; } |
| 39 | 36 |
| 40 private: | 37 private: |
| 41 Handle<Script> script_; | 38 Handle<Script> script_; |
| 42 int start_pos_; | 39 int start_pos_; |
| 43 int end_pos_; | 40 int end_pos_; |
| (...skipping 472 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 516 static Handle<String> GetMessage(Isolate* isolate, Handle<Object> data); | 513 static Handle<String> GetMessage(Isolate* isolate, Handle<Object> data); |
| 517 static base::SmartArrayPointer<char> GetLocalizedMessage(Isolate* isolate, | 514 static base::SmartArrayPointer<char> GetLocalizedMessage(Isolate* isolate, |
| 518 Handle<Object> data); | 515 Handle<Object> data); |
| 519 }; | 516 }; |
| 520 | 517 |
| 521 | 518 |
| 522 } // namespace internal | 519 } // namespace internal |
| 523 } // namespace v8 | 520 } // namespace v8 |
| 524 | 521 |
| 525 #endif // V8_MESSAGES_H_ | 522 #endif // V8_MESSAGES_H_ |
| OLD | NEW |