| Index: runtime/vm/kernel.h
|
| diff --git a/runtime/vm/kernel.h b/runtime/vm/kernel.h
|
| index 62281558bdd066e366d6e412fd3e1ffdc0417c0f..ea04b73bed042f4468611cf612614a9a61b88515 100644
|
| --- a/runtime/vm/kernel.h
|
| +++ b/runtime/vm/kernel.h
|
| @@ -488,6 +488,7 @@ class Class : public TreeNode {
|
| intptr_t source_uri_index() { return source_uri_index_; }
|
| bool is_abstract() { return is_abstract_; }
|
| List<Expression>& annotations() { return annotations_; }
|
| + TokenPosition position() { return position_; }
|
|
|
| virtual List<TypeParameter>& type_parameters() = 0;
|
| virtual List<InterfaceType>& implemented_classes() = 0;
|
| @@ -496,7 +497,7 @@ class Class : public TreeNode {
|
| virtual List<Procedure>& procedures() = 0;
|
|
|
| protected:
|
| - Class() : is_abstract_(false) {}
|
| + Class() : is_abstract_(false), position_(TokenPosition::kNoSource) {}
|
|
|
| private:
|
| template <typename T>
|
| @@ -507,6 +508,7 @@ class Class : public TreeNode {
|
| intptr_t source_uri_index_;
|
| bool is_abstract_;
|
| List<Expression> annotations_;
|
| + TokenPosition position_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(Class);
|
| };
|
| @@ -607,9 +609,13 @@ class Member : public TreeNode {
|
| TreeNode* parent() { return parent_; }
|
| Name* name() { return name_; }
|
| List<Expression>& annotations() { return annotations_; }
|
| + TokenPosition position() { return position_; }
|
| + TokenPosition end_position() { return end_position_; }
|
|
|
| protected:
|
| - Member() {}
|
| + Member()
|
| + : position_(TokenPosition::kNoSource),
|
| + end_position_(TokenPosition::kNoSource) {}
|
|
|
| template <typename T>
|
| friend class List;
|
| @@ -617,6 +623,8 @@ class Member : public TreeNode {
|
| Ref<TreeNode> parent_;
|
| Child<Name> name_;
|
| List<Expression> annotations_;
|
| + TokenPosition position_;
|
| + TokenPosition end_position_;
|
|
|
| private:
|
| DISALLOW_COPY_AND_ASSIGN(Member);
|
| @@ -650,10 +658,9 @@ class Field : public Member {
|
| DartType* type() { return type_; }
|
| InferredValue* inferred_value() { return inferred_value_; }
|
| Expression* initializer() { return initializer_; }
|
| - TokenPosition position() { return position_; }
|
|
|
| private:
|
| - Field() : position_(TokenPosition::kNoSource) {}
|
| + Field() {}
|
|
|
| template <typename T>
|
| friend class List;
|
| @@ -663,7 +670,6 @@ class Field : public Member {
|
| Child<DartType> type_;
|
| Child<InferredValue> inferred_value_;
|
| Child<Expression> initializer_;
|
| - TokenPosition position_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(Field);
|
| };
|
| @@ -919,6 +925,7 @@ class FunctionNode : public TreeNode {
|
| virtual void VisitChildren(Visitor* visitor);
|
|
|
| AsyncMarker async_marker() { return async_marker_; }
|
| + bool debuggable() { return debuggable_; }
|
| TypeParameterList& type_parameters() { return type_parameters_; }
|
| int required_parameter_count() { return required_parameter_count_; }
|
| List<VariableDeclaration>& positional_parameters() {
|
| @@ -928,11 +935,16 @@ class FunctionNode : public TreeNode {
|
| DartType* return_type() { return return_type_; }
|
| InferredValue* inferred_return_value() { return inferred_return_value_; }
|
| Statement* body() { return body_; }
|
| + TokenPosition position() { return position_; }
|
| + TokenPosition end_position() { return end_position_; }
|
|
|
| private:
|
| - FunctionNode() {}
|
| + FunctionNode()
|
| + : position_(TokenPosition::kNoSource),
|
| + end_position_(TokenPosition::kNoSource) {}
|
|
|
| AsyncMarker async_marker_;
|
| + bool debuggable_;
|
| TypeParameterList type_parameters_;
|
| int required_parameter_count_;
|
| List<VariableDeclaration> positional_parameters_;
|
| @@ -940,6 +952,8 @@ class FunctionNode : public TreeNode {
|
| Child<DartType> return_type_;
|
| Child<InferredValue> inferred_return_value_;
|
| Child<Statement> body_;
|
| + TokenPosition position_;
|
| + TokenPosition end_position_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(FunctionNode);
|
| };
|
| @@ -1893,12 +1907,18 @@ class Let : public Expression {
|
|
|
| VariableDeclaration* variable() { return variable_; }
|
| Expression* body() { return body_; }
|
| + TokenPosition position() { return position_; }
|
| + TokenPosition end_position() { return end_position_; }
|
|
|
| private:
|
| - Let() {}
|
| + Let()
|
| + : position_(TokenPosition::kNoSource),
|
| + end_position_(TokenPosition::kNoSource) {}
|
|
|
| Child<VariableDeclaration> variable_;
|
| Child<Expression> body_;
|
| + TokenPosition position_;
|
| + TokenPosition end_position_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(Let);
|
| };
|
| @@ -1915,9 +1935,11 @@ class Statement : public TreeNode {
|
|
|
| virtual void AcceptTreeVisitor(TreeVisitor* visitor);
|
| virtual void AcceptStatementVisitor(StatementVisitor* visitor) = 0;
|
| + TokenPosition position() { return position_; }
|
|
|
| protected:
|
| - Statement() {}
|
| + Statement() : position_(TokenPosition::kNoSource) {}
|
| + TokenPosition position_;
|
|
|
| private:
|
| DISALLOW_COPY_AND_ASSIGN(Statement);
|
|
|