Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(897)

Unified Diff: runtime/vm/kernel.h

Issue 2778693002: [kernel] Don't use kernel ast nodes as keys (Closed)
Patch Set: Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | runtime/vm/kernel_binary.cc » ('j') | runtime/vm/kernel_to_il.h » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/kernel.h
diff --git a/runtime/vm/kernel.h b/runtime/vm/kernel.h
index 9832194b7fcc1a4f3101a41ed08bcc2828196db3..a3c9d0395b916ef9867ca0c3787c3bd72535ea77 100644
--- a/runtime/vm/kernel.h
+++ b/runtime/vm/kernel.h
@@ -703,9 +703,10 @@ class Field : public Member {
DartType* type() { return type_; }
InferredValue* inferred_value() { return inferred_value_; }
Expression* initializer() { return initializer_; }
+ int64_t kernel_file_offset() { return kernelFileOffset_; }
private:
- Field() {}
+ Field() : kernelFileOffset_(-1) {}
template <typename T>
friend class List;
@@ -715,6 +716,7 @@ class Field : public Member {
Child<DartType> type_;
Child<InferredValue> inferred_value_;
Child<Expression> initializer_;
+ int64_t kernelFileOffset_;
Kevin Millikin (Google) 2017/03/28 06:42:22 I wonder why this is int64_t. Call the field kern
jensj 2017/03/28 08:56:28 Done.
DISALLOW_COPY_AND_ASSIGN(Field);
};
@@ -973,11 +975,13 @@ class FunctionNode : public TreeNode {
Statement* body() { return body_; }
TokenPosition position() { return position_; }
TokenPosition end_position() { return end_position_; }
+ int64_t kernel_file_offset() { return kernelFileOffset_; }
private:
- FunctionNode()
+ explicit FunctionNode(int64_t kernelFileOffset)
: position_(TokenPosition::kNoSource),
- end_position_(TokenPosition::kNoSource) {}
+ end_position_(TokenPosition::kNoSource),
+ kernelFileOffset_(kernelFileOffset) {}
AsyncMarker async_marker_;
AsyncMarker dart_async_marker_;
@@ -990,6 +994,7 @@ class FunctionNode : public TreeNode {
Child<Statement> body_;
TokenPosition position_;
TokenPosition end_position_;
+ int64_t kernelFileOffset_;
DISALLOW_COPY_AND_ASSIGN(FunctionNode);
};
@@ -1882,11 +1887,14 @@ class FunctionExpression : public Expression {
virtual void VisitChildren(Visitor* visitor);
FunctionNode* function() { return function_; }
+ int64_t kernel_file_offset() { return kernelFileOffset_; }
private:
- FunctionExpression() {}
+ explicit FunctionExpression(int64_t kernelFileOffset)
+ : kernelFileOffset_(kernelFileOffset) {}
Child<FunctionNode> function_;
+ int64_t kernelFileOffset_;
DISALLOW_COPY_AND_ASSIGN(FunctionExpression);
};
@@ -1907,16 +1915,19 @@ class Let : public Expression {
Expression* body() { return body_; }
TokenPosition position() { return position_; }
TokenPosition end_position() { return end_position_; }
+ int64_t kernel_file_offset() { return kernelFileOffset_; }
private:
- Let()
+ explicit Let(int64_t kernelFileOffset)
: position_(TokenPosition::kNoSource),
- end_position_(TokenPosition::kNoSource) {}
+ end_position_(TokenPosition::kNoSource),
+ kernelFileOffset_(kernelFileOffset) {}
Child<VariableDeclaration> variable_;
Child<Expression> body_;
TokenPosition position_;
TokenPosition end_position_;
+ int64_t kernelFileOffset_;
DISALLOW_COPY_AND_ASSIGN(Let);
};
@@ -1997,12 +2008,16 @@ class Block : public Statement {
List<Statement>& statements() { return statements_; }
TokenPosition end_position() { return end_position_; }
+ int64_t kernel_file_offset() { return kernelFileOffset_; }
private:
- Block() : end_position_(TokenPosition::kNoSource) {}
+ explicit Block(int64_t kernelFileOffset)
+ : end_position_(TokenPosition::kNoSource),
+ kernelFileOffset_(kernelFileOffset) {}
List<Statement> statements_;
TokenPosition end_position_;
+ int64_t kernelFileOffset_;
DISALLOW_COPY_AND_ASSIGN(Block);
};
@@ -2159,11 +2174,13 @@ class ForStatement : public Statement {
Statement* body() { return body_; }
TokenPosition position() { return position_; }
TokenPosition end_position() { return end_position_; }
+ int64_t kernel_file_offset() { return kernelFileOffset_; }
private:
- ForStatement()
+ explicit ForStatement(int64_t kernelFileOffset)
: position_(TokenPosition::kNoSource),
- end_position_(TokenPosition::kNoSource) {}
+ end_position_(TokenPosition::kNoSource),
+ kernelFileOffset_(kernelFileOffset) {}
List<VariableDeclaration> variables_;
Child<Expression> condition_;
@@ -2171,6 +2188,7 @@ class ForStatement : public Statement {
Child<Statement> body_;
TokenPosition position_;
TokenPosition end_position_;
+ int64_t kernelFileOffset_;
DISALLOW_COPY_AND_ASSIGN(ForStatement);
};
@@ -2193,11 +2211,13 @@ class ForInStatement : public Statement {
bool is_async() { return is_async_; }
TokenPosition position() { return position_; }
TokenPosition end_position() { return end_position_; }
+ int64_t kernel_file_offset() { return kernelFileOffset_; }
private:
- ForInStatement()
+ explicit ForInStatement(int64_t kernelFileOffset)
: position_(TokenPosition::kNoSource),
- end_position_(TokenPosition::kNoSource) {}
+ end_position_(TokenPosition::kNoSource),
+ kernelFileOffset_(kernelFileOffset) {}
Child<VariableDeclaration> variable_;
Child<Expression> iterable_;
@@ -2205,6 +2225,7 @@ class ForInStatement : public Statement {
bool is_async_;
TokenPosition position_;
TokenPosition end_position_;
+ int64_t kernelFileOffset_;
DISALLOW_COPY_AND_ASSIGN(ForInStatement);
};
@@ -2374,11 +2395,13 @@ class Catch : public TreeNode {
Statement* body() { return body_; }
TokenPosition position() { return position_; }
TokenPosition end_position() { return end_position_; }
+ int64_t kernel_file_offset() { return kernelFileOffset_; }
private:
- Catch()
+ explicit Catch(int64_t kernelFileOffset)
: position_(TokenPosition::kNoSource),
- end_position_(TokenPosition::kNoSource) {}
+ end_position_(TokenPosition::kNoSource),
+ kernelFileOffset_(kernelFileOffset) {}
template <typename T>
friend class List;
@@ -2389,6 +2412,7 @@ class Catch : public TreeNode {
Child<Statement> body_;
TokenPosition position_;
TokenPosition end_position_;
+ int64_t kernelFileOffset_;
DISALLOW_COPY_AND_ASSIGN(Catch);
};
@@ -2474,11 +2498,13 @@ class VariableDeclaration : public Statement {
TokenPosition equals_position() { return equals_position_; }
TokenPosition end_position() { return end_position_; }
void set_end_position(TokenPosition position) { end_position_ = position; }
+ int64_t kernel_file_offset() { return kernelFileOffset_; }
private:
- VariableDeclaration()
+ explicit VariableDeclaration(int64_t kernelFileOffset)
: equals_position_(TokenPosition::kNoSourcePos),
- end_position_(TokenPosition::kNoSource) {}
+ end_position_(TokenPosition::kNoSource),
+ kernelFileOffset_(kernelFileOffset) {}
template <typename T>
friend class List;
@@ -2490,6 +2516,7 @@ class VariableDeclaration : public Statement {
Child<Expression> initializer_;
TokenPosition equals_position_;
TokenPosition end_position_;
+ int64_t kernelFileOffset_;
DISALLOW_COPY_AND_ASSIGN(VariableDeclaration);
};
@@ -2508,12 +2535,15 @@ class FunctionDeclaration : public Statement {
VariableDeclaration* variable() { return variable_; }
FunctionNode* function() { return function_; }
+ int64_t kernel_file_offset() { return kernelFileOffset_; }
private:
- FunctionDeclaration() {}
+ explicit FunctionDeclaration(int64_t kernelFileOffset)
+ : kernelFileOffset_(kernelFileOffset) {}
Child<VariableDeclaration> variable_;
Child<FunctionNode> function_;
+ int64_t kernelFileOffset_;
DISALLOW_COPY_AND_ASSIGN(FunctionDeclaration);
};
« no previous file with comments | « no previous file | runtime/vm/kernel_binary.cc » ('j') | runtime/vm/kernel_to_il.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698