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_COMPILER_H_ | 5 #ifndef VM_COMPILER_H_ |
6 #define VM_COMPILER_H_ | 6 #define VM_COMPILER_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 #include "vm/runtime_entry.h" | 10 #include "vm/runtime_entry.h" |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
55 static RawError* CompileParsedFunction(ParsedFunction* parsed_function); | 55 static RawError* CompileParsedFunction(ParsedFunction* parsed_function); |
56 | 56 |
57 // Generates and executes code for a given code fragment, e.g. a | 57 // Generates and executes code for a given code fragment, e.g. a |
58 // compile time constant expression. Returns the result returned | 58 // compile time constant expression. Returns the result returned |
59 // by the fragment. | 59 // by the fragment. |
60 // | 60 // |
61 // The return value is either a RawInstance on success or a RawError | 61 // The return value is either a RawInstance on success or a RawError |
62 // on compilation failure. | 62 // on compilation failure. |
63 static RawObject* ExecuteOnce(SequenceNode* fragment); | 63 static RawObject* ExecuteOnce(SequenceNode* fragment); |
64 | 64 |
| 65 // Evaluate expression in the context of object obj. |
| 66 static RawObject* Evaluate(const Instance& obj, const String& expr); |
| 67 |
65 // Eagerly compiles all functions in a class. | 68 // Eagerly compiles all functions in a class. |
66 // | 69 // |
67 // Returns Error::null() if there is no compilation error. | 70 // Returns Error::null() if there is no compilation error. |
68 static RawError* CompileAllFunctions(const Class& cls); | 71 static RawError* CompileAllFunctions(const Class& cls); |
69 }; | 72 }; |
70 | 73 |
71 } // namespace dart | 74 } // namespace dart |
72 | 75 |
73 #endif // VM_COMPILER_H_ | 76 #endif // VM_COMPILER_H_ |
OLD | NEW |