aboutsummaryrefslogtreecommitdiff
path: root/var.h
diff options
context:
space:
mode:
authorShinichiro Hamaji <shinichiro.hamaji@gmail.com>2015-06-22 18:07:38 +0900
committerShinichiro Hamaji <shinichiro.hamaji@gmail.com>2015-06-22 18:07:38 +0900
commit81699bef6317b6de8129d4ad1b7ee6201ed5981e (patch)
tree72c74c89729a0c58be7e23b220fffc5730977225 /var.h
parent9db4cb8f6a0cc68faf43242bcc1d4c6108a5d94b (diff)
downloadkati-81699bef6317b6de8129d4ad1b7ee6201ed5981e.tar.gz
[C++] Fix value.mk
Diffstat (limited to 'var.h')
-rw-r--r--var.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/var.h b/var.h
index 1d35c8f..d9839fe 100644
--- a/var.h
+++ b/var.h
@@ -23,6 +23,8 @@ class Var : public Evaluable {
virtual void AppendVar(Evaluator* ev, Value* v);
+ virtual StringPiece String() const = 0;
+
virtual string DebugString() const = 0;
protected:
@@ -47,6 +49,8 @@ class SimpleVar : public Var {
virtual void AppendVar(Evaluator* ev, Value* v);
+ virtual StringPiece String() const override;
+
virtual string DebugString() const override;
private:
@@ -56,7 +60,7 @@ class SimpleVar : public Var {
class RecursiveVar : public Var {
public:
- RecursiveVar(Value* v, const char* origin);
+ RecursiveVar(Value* v, const char* origin, StringPiece orig);
virtual const char* Flavor() const {
return "recursive";
@@ -69,11 +73,14 @@ class RecursiveVar : public Var {
virtual void AppendVar(Evaluator* ev, Value* v);
+ virtual StringPiece String() const override;
+
virtual string DebugString() const override;
private:
Value* v_;
const char* origin_;
+ StringPiece orig_;
};
class UndefinedVar : public Var {
@@ -90,6 +97,8 @@ class UndefinedVar : public Var {
virtual void Eval(Evaluator* ev, string* s) const override;
+ virtual StringPiece String() const override;
+
virtual string DebugString() const override;
};