summaryrefslogtreecommitdiff
path: root/src/ast/expr.hpp
diff options
context:
space:
mode:
authorJohn Hodge <tpg@mutabah.net>2015-03-09 08:31:29 +0800
committerJohn Hodge <tpg@mutabah.net>2015-03-09 08:31:29 +0800
commita9512c48f2fe621f771599d029fd12fa534e3497 (patch)
treeb47b2bfd65ebf3a12cefcf1496f681e311b56db5 /src/ast/expr.hpp
parentb082aab8d49e3b5a2e1eeee97fd9330f782b7381 (diff)
downloadmrust-a9512c48f2fe621f771599d029fd12fa534e3497.tar.gz
Fixed patterns, bool literals
Diffstat (limited to 'src/ast/expr.hpp')
-rw-r--r--src/ast/expr.hpp34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/ast/expr.hpp b/src/ast/expr.hpp
index b9ab5d05..28526377 100644
--- a/src/ast/expr.hpp
+++ b/src/ast/expr.hpp
@@ -218,6 +218,36 @@ struct ExprNode_Integer:
NODE_METHODS();
};
+// Literal float
+struct ExprNode_Float:
+ public ExprNode
+{
+ enum eCoreType m_datatype;
+ double m_value;
+
+ ExprNode_Float() {}
+ ExprNode_Float(double value, enum eCoreType datatype):
+ m_datatype(datatype),
+ m_value(value)
+ {
+ }
+
+ NODE_METHODS();
+};
+// Literal boolean
+struct ExprNode_Bool:
+ public ExprNode
+{
+ bool m_value;
+
+ ExprNode_Bool() {}
+ ExprNode_Bool(bool value):
+ m_value(value)
+ {
+ }
+
+ NODE_METHODS();
+};
// Literal structure
struct ExprNode_StructLiteral:
public ExprNode
@@ -397,6 +427,8 @@ public:
NT(ExprNode_If);
NT(ExprNode_Integer);
+ NT(ExprNode_Float);
+ NT(ExprNode_Bool);
NT(ExprNode_StructLiteral);
NT(ExprNode_Tuple);
NT(ExprNode_NamedValue);
@@ -431,6 +463,8 @@ public:
NT(ExprNode_If);
NT(ExprNode_Integer);
+ NT(ExprNode_Float);
+ NT(ExprNode_Bool);
NT(ExprNode_StructLiteral);
NT(ExprNode_Tuple);
NT(ExprNode_NamedValue);