summaryrefslogtreecommitdiff
path: root/src/dump_as_rust.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/dump_as_rust.cpp')
-rw-r--r--src/dump_as_rust.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/dump_as_rust.cpp b/src/dump_as_rust.cpp
index ae6a6337..e5d225bd 100644
--- a/src/dump_as_rust.cpp
+++ b/src/dump_as_rust.cpp
@@ -202,6 +202,7 @@ public:
case CORETYPE_U32:
case CORETYPE_U64:
case CORETYPE_UINT:
+ case CORETYPE_ANY:
m_os << "0x" << ::std::hex << n.m_value << ::std::dec;
break;
case CORETYPE_I8:
@@ -213,6 +214,26 @@ public:
break;
}
}
+ virtual void visit(AST::ExprNode_Float& n) override {
+ m_expr_root = false;
+ switch(n.m_datatype)
+ {
+ case CORETYPE_ANY:
+ case CORETYPE_F32:
+ case CORETYPE_F64:
+ m_os << n.m_value;
+ break;
+ default:
+ break;
+ }
+ }
+ virtual void visit(AST::ExprNode_Bool& n) override {
+ m_expr_root = false;
+ if( n.m_value )
+ m_os << "true";
+ else
+ m_os << "false";
+ }
virtual void visit(AST::ExprNode_StructLiteral& n) override {
m_expr_root = false;
m_os << n.m_path << " {\n";