OLD | NEW |
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2011, 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_DART_ENTRY_H_ | 5 #ifndef VM_DART_ENTRY_H_ |
6 #define VM_DART_ENTRY_H_ | 6 #define VM_DART_ENTRY_H_ |
7 | 7 |
8 #include "vm/allocation.h" | 8 #include "vm/allocation.h" |
9 #include "vm/growable_array.h" | 9 #include "vm/growable_array.h" |
10 | 10 |
11 namespace dart { | 11 namespace dart { |
12 | 12 |
13 // Forward declarations. | 13 // Forward declarations. |
14 class Array; | 14 class Array; |
15 class Closure; | 15 class Closure; |
16 class Context; | 16 class Context; |
17 class Function; | 17 class Function; |
18 class Instance; | 18 class Instance; |
19 class Integer; | 19 class Integer; |
| 20 class Library; |
20 class Object; | 21 class Object; |
21 class RawInstance; | 22 class RawInstance; |
22 class RawObject; | 23 class RawObject; |
23 class String; | 24 class String; |
24 | 25 |
25 // DartEntry abstracts functionality needed to resolve dart functions | 26 // DartEntry abstracts functionality needed to resolve dart functions |
26 // and invoke them from C++. | 27 // and invoke them from C++. |
27 class DartEntry : public AllStatic { | 28 class DartEntry : public AllStatic { |
28 public: | 29 public: |
29 // On success, returns a RawInstance. On failure, a RawError. | 30 // On success, returns a RawInstance. On failure, a RawError. |
(...skipping 25 matching lines...) Expand all Loading... |
55 const Array& optional_arguments_names); | 56 const Array& optional_arguments_names); |
56 }; | 57 }; |
57 | 58 |
58 | 59 |
59 // Utility functions to call from VM into Dart bootstrap libraries. | 60 // Utility functions to call from VM into Dart bootstrap libraries. |
60 // Each may return an exception object. | 61 // Each may return an exception object. |
61 class DartLibraryCalls : public AllStatic { | 62 class DartLibraryCalls : public AllStatic { |
62 public: | 63 public: |
63 // On success, returns a RawInstance. On failure, a RawError. | 64 // On success, returns a RawInstance. On failure, a RawError. |
64 static RawObject* ExceptionCreate( | 65 static RawObject* ExceptionCreate( |
| 66 const Library& library, |
65 const String& exception_name, | 67 const String& exception_name, |
66 const GrowableArray<const Object*>& arguments); | 68 const GrowableArray<const Object*>& arguments); |
67 | 69 |
68 // On success, returns a RawInstance. On failure, a RawError. | 70 // On success, returns a RawInstance. On failure, a RawError. |
69 static RawObject* ToString(const Instance& receiver); | 71 static RawObject* ToString(const Instance& receiver); |
70 | 72 |
71 // On success, returns a RawInstance. On failure, a RawError. | 73 // On success, returns a RawInstance. On failure, a RawError. |
72 static RawObject* Equals(const Instance& left, const Instance& right); | 74 static RawObject* Equals(const Instance& left, const Instance& right); |
73 | 75 |
74 // Returns null on success, a RawError on failure. | 76 // Returns null on success, a RawError on failure. |
75 static RawObject* HandleMessage(Dart_Port dest_port_id, | 77 static RawObject* HandleMessage(Dart_Port dest_port_id, |
76 Dart_Port reply_port_id, | 78 Dart_Port reply_port_id, |
77 const Instance& dart_message); | 79 const Instance& dart_message); |
78 }; | 80 }; |
79 | 81 |
80 } // namespace dart | 82 } // namespace dart |
81 | 83 |
82 #endif // VM_DART_ENTRY_H_ | 84 #endif // VM_DART_ENTRY_H_ |
OLD | NEW |