diff options
Diffstat (limited to 'src/ast/ast.hpp')
-rw-r--r-- | src/ast/ast.hpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/ast/ast.hpp b/src/ast/ast.hpp index b4ccf582..b56bd26a 100644 --- a/src/ast/ast.hpp +++ b/src/ast/ast.hpp @@ -98,6 +98,8 @@ public: m_bounds.push_back( ::std::move(bound) );
}
+ int find_name(const char* name) const;
+
friend ::std::ostream& operator<<(::std::ostream& os, const TypeParams& tp);
SERIALISABLE_PROTOTYPES();
};
@@ -243,6 +245,8 @@ public: {
}
+ const Class fcn_class() const { return m_fcn_class; }
+
TypeParams& params() { return m_params; }
Expr& code() { return m_code; }
TypeRef& rettype() { return m_rettype; }
@@ -326,6 +330,8 @@ public: TypeParams& params() { return m_params; }
::std::vector<StructItem>& fields() { return m_fields; }
+ TypeRef get_field_type(const char *name, const ::std::vector<TypeRef>& args);
+
SERIALISABLE_PROTOTYPES();
};
@@ -493,6 +499,8 @@ public: ::std::map< ::std::string, ExternCrate>& extern_crates() { return m_extern_crates; }
const ::std::map< ::std::string, ExternCrate>& extern_crates() const { return m_extern_crates; }
+ Function& lookup_method(const TypeRef& type, const char *name);
+
void load_extern_crate(::std::string name);
void iterate_functions( fcn_visitor_t* visitor );
|