summaryrefslogtreecommitdiff
path: root/node/LiteralNode.hh
diff options
context:
space:
mode:
Diffstat (limited to 'node/LiteralNode.hh')
-rw-r--r--node/LiteralNode.hh7
1 files changed, 5 insertions, 2 deletions
diff --git a/node/LiteralNode.hh b/node/LiteralNode.hh
index 06f2989..3923334 100644
--- a/node/LiteralNode.hh
+++ b/node/LiteralNode.hh
@@ -7,10 +7,12 @@
#include "ExprNode.hh"
namespace pcc {
-template <typename T> class LiteralNode : public ExprNode {
+template <typename T>
+class LiteralNode : public ExprNode {
public:
LiteralNode(Context* context, std::shared_ptr<Type> type, T value);
virtual Value CodeGen() override;
+ virtual int Travel(Traveler& traveler) override;
private:
T value_;
@@ -28,7 +30,7 @@ LiteralNode<T>::LiteralNode(Context* context, std::shared_ptr<Type> type,
using BooleanLiteralNode = LiteralNode<bool>;
using CharLiteralNode = LiteralNode<char>;
-using IntegerLiteralNode = LiteralNode<int>;
+using IntegerLiteralNode = LiteralNode<long long>;
using RealLiteralNode = LiteralNode<float>;
class StringLiteralNode : public ExprNode {
@@ -36,6 +38,7 @@ class StringLiteralNode : public ExprNode {
StringLiteralNode(Context* context, std::shared_ptr<Type> type,
std::vector<char> value);
virtual Value CodeGen() override;
+ virtual int Travel(Traveler& traveler) override;
private:
std::vector<char> value_;