Index: runtime/vm/parser.h |
diff --git a/runtime/vm/parser.h b/runtime/vm/parser.h |
index ccdff42f6e260124d3bb5de087a2041e8e116b86..5c04b687222b92cb731f0d4df9b6519d54f16543 100644 |
--- a/runtime/vm/parser.h |
+++ b/runtime/vm/parser.h |
@@ -7,29 +7,32 @@ |
#include "include/dart_api.h" |
+#include "platform/assert.h" |
Kevin Millikin (Google)
2013/11/08 11:03:56
This file uses the ASSERT macro and so needs the d
|
+#include "platform/globals.h" |
Kevin Millikin (Google)
2013/11/08 11:03:56
This file uses the PRINTF_ATTRIBUTE macro and so n
|
#include "lib/invocation_mirror.h" |
+#include "vm/allocation.h" |
Kevin Millikin (Google)
2013/11/08 11:03:56
This file uses base classes ZoneAllocated and Valu
|
#include "vm/ast.h" |
Kevin Millikin (Google)
2013/11/08 11:03:56
Note that this file doesn't actually need ast.h, j
|
#include "vm/class_finalizer.h" |
#include "vm/compiler_stats.h" |
-#include "vm/scanner.h" |
Kevin Millikin (Google)
2013/11/08 11:03:56
scanner.h declares a single type Scanner, which is
|
+#include "vm/object.h" |
Kevin Millikin (Google)
2013/11/08 11:03:56
This file needs a long list of types from object.h
|
+#include "vm/raw_object.h" |
Kevin Millikin (Google)
2013/11/08 11:03:56
Needs types from raw_object.h. Probably could do
|
+#include "vm/token.h" |
Kevin Millikin (Google)
2013/11/08 11:03:56
This file needs the definition of Token::Kind.
|
namespace dart { |
// Forward declarations. |
class ArgumentsDescriptor; |
-class Function; |
Kevin Millikin (Google)
2013/11/08 11:03:56
Not needed if we include object.h. Otherwise, we
|
class Isolate; |
-class LiteralToken; |
Kevin Millikin (Google)
2013/11/08 11:03:56
Not needed if we include token.h (which we need to
|
-class Script; |
-class TokenStream; |
+class LocalScope; |
Kevin Millikin (Google)
2013/11/08 11:03:56
This class and the next two need forward declarati
|
+class LocalVariable; |
+class SourceLabel; |
+template <typename T> class GrowableArray; |
Kevin Millikin (Google)
2013/11/08 11:03:56
Likewise.
|
struct TopLevel; |
class ClassDesc; |
struct MemberDesc; |
struct ParamList; |
struct QualIdent; |
-struct CatchParamDesc; |
Kevin Millikin (Google)
2013/11/08 11:03:56
I've moved the only helper that uses this type to
|
-struct FieldInitExpression; |
Kevin Millikin (Google)
2013/11/08 11:03:56
This is just dead. There is no definition and no
|
// The class ParsedFunction holds the result of parsing a function. |
class ParsedFunction : public ZoneAllocated { |
@@ -506,9 +509,12 @@ class Parser : public ValueObject { |
AstNode* ParseSwitchStatement(String* label_name); |
// try/catch/finally parsing. |
- void AddCatchParamsToScope(const CatchParamDesc& exception_param, |
- const CatchParamDesc& stack_trace_param, |
- LocalScope* scope); |
+ // Parse a catch clause (and recursively all the following ones). |
+ AstNode* ParseCatchClause(intptr_t handler_pos, |
+ LocalVariable* exception_var, |
+ LocalVariable* stack_trace_var, |
+ const GrowableObjectArray& handler_types, |
+ bool* needs_stack_trace); |
// Parse finally block and create an AST for it. |
SequenceNode* ParseFinallyBlock(); |
// Adds try block to the list of try blocks seen so far. |