21#include <rapidxml/rapidxml.hpp>
27 std::vector<std::string> _terms;
29 bool _builtin =
false;
35 const std::vector<std::string>&
terms()
const {
return _terms; }
36 std::size_t
refs()
const {
return _refs; }
42 std::vector<std::shared_ptr<Decl>> _children;
43 std::shared_ptr<Decl> _parent;
49 const std::string&
name()
const {
return _name; }
50 const std::vector<std::shared_ptr<Decl>>&
children()
const {
return _children; }
51 const std::shared_ptr<Decl>&
parent()
const {
return _parent; }
53 static std::shared_ptr<Decl>
Create(
MLLIFContext& context, rapidxml::xml_node<> *node, std::shared_ptr<Decl>
parent);
73 const std::string&
size()
const {
return _size; }
74 const std::string&
align()
const {
return _align; }
85 const std::string&
symbol()
const {
return _symbol; }
AssemblyDecl(MLLIFContext &context, const rapidxml::xml_node<> *node, std::shared_ptr< Decl > parent)
static std::shared_ptr< Decl > Create(MLLIFContext &context, rapidxml::xml_node<> *node, std::shared_ptr< Decl > parent)
const std::shared_ptr< Decl > & parent() const
const std::vector< std::shared_ptr< Decl > > & children() const
Decl(MLLIFContext &context, const rapidxml::xml_node<> *node, std::shared_ptr< Decl > parent)
const std::string & name() const
FunctionDecl(MLLIFContext &context, const rapidxml::xml_node<> *node, std::shared_ptr< Decl > parent)
const Type & returns() const
const std::string & symbol() const
MethodDecl(MLLIFContext &context, const rapidxml::xml_node<> *node, std::shared_ptr< Decl > parent)
NamespaceDecl(MLLIFContext &context, const rapidxml::xml_node<> *node, std::shared_ptr< Decl > parent)
ObjectDecl(MLLIFContext &context, const rapidxml::xml_node<> *node, std::shared_ptr< Decl > parent)
const std::string & align() const
const std::string & size() const
const Type & type() const
ParamDecl(MLLIFContext &context, const rapidxml::xml_node<> *node, std::shared_ptr< Decl > parent)
const std::vector< std::string > & terms() const