diff options
| author | Shinichiro Hamaji <shinichiro.hamaji@gmail.com> | 2016-02-17 17:19:21 +0900 |
|---|---|---|
| committer | Shinichiro Hamaji <shinichiro.hamaji@gmail.com> | 2016-02-17 17:19:21 +0900 |
| commit | 92a4738218523292a0cec0310023eed194025f24 (patch) | |
| tree | 384f420b0b9c8254be840caeb22d4b8576522db2 /stmt.h | |
| parent | 121165ed878d844662a25d5ee3b95ab1ceaddca2 (diff) | |
[C++] Add a fast path for interning lhs of assignments
Diffstat (limited to 'stmt.h')
| -rw-r--r-- | stmt.h | 9 |
1 files changed, 9 insertions, 0 deletions
@@ -20,6 +20,7 @@ #include "loc.h" #include "string_piece.h" +#include "symtab.h" using namespace std; @@ -85,11 +86,19 @@ struct AssignStmt : public Stmt { AssignOp op; AssignDirective directive; + AssignStmt() + : lhs_sym_cache_(Symbol::IsUninitialized{}) { + } virtual ~AssignStmt(); virtual void Eval(Evaluator* ev) const; virtual string DebugString() const; + + Symbol GetLhsSymbol(Evaluator* ev) const; + + private: + mutable Symbol lhs_sym_cache_; }; struct CommandStmt : public Stmt { |
