summaryrefslogtreecommitdiff
path: root/src/ast/ast.hpp
diff options
context:
space:
mode:
authorJohn Hodge (sonata) <tpg@mutabah.net>2014-12-23 16:30:51 +0800
committerJohn Hodge (sonata) <tpg@mutabah.net>2014-12-23 16:30:51 +0800
commiteda023a0b5aa8a17217e9ca942def01a1ee738af (patch)
treed9b795437d1bc6efbcc7045cd75d5185dd243879 /src/ast/ast.hpp
parent04dd6b05f945c944c13431baa509ec628ac26f41 (diff)
downloadmrust-eda023a0b5aa8a17217e9ca942def01a1ee738af.tar.gz
Compilation fixes, add makefile
Diffstat (limited to 'src/ast/ast.hpp')
-rw-r--r--src/ast/ast.hpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/ast/ast.hpp b/src/ast/ast.hpp
index 9e4728b3..ac153458 100644
--- a/src/ast/ast.hpp
+++ b/src/ast/ast.hpp
@@ -143,9 +143,13 @@ public:
Expr& code() { return m_code; }
const Expr code() const { return m_code; }
+ const TypeRef& rettype() const { return m_rettype; }
TypeRef& rettype() { return m_rettype; }
+ const Arglist& args() const { return m_args; }
Arglist& args() { return m_args; }
+
+ const char* name() const { return "TODO"; }
};
class Impl
@@ -182,10 +186,23 @@ public:
void iterate_functions( fcn_visitor_t* visitor );
};
+class CStruct
+{
+ ::std::vector<StructItem> m_fields;
+public:
+ const char* name() const { return "TODO"; }
+ const char* mangled_name() const { return "TODO"; }
+ const ::std::vector<StructItem>& fields() const { return m_fields; }
+};
+
class Flat
{
+ ::std::vector<CStruct> m_structs;
::std::vector<Function> m_functions;
public:
+
+ const ::std::vector<Function>& functions() const;
+ const ::std::vector<CStruct>& structs() const;
};
}