Chromium Code Reviews| 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. |