Modules | Files | Inheritance Tree | Inheritance Graph | Name Index | Config
namespace Synopsis::Parser::C++::AST
class Function
Files: Synopsis/Parser/C++/syn/ast.hh
Function-inheritance Scopes/Synopsis/Parser/C++/AST/Operation.html Scopes/Synopsis/Parser/C++/AST/Declaration.html Scopes/Synopsis/Parser/C++/FakeGC/cleanup.html

Function encapsulates a function declaration. Note that names may be stored in mangled form, and formatters should use realname() to get the unmangled version. If this is a function template, use the template_type() method to get at the template type


Public Typedefs Summary:
std::vector<std::string>Mods
The type of premodifiers [Source]
std::vector<Function*>vector
A vector of Function objects [Source]

Public Member functions Summary:
 constructorFunction(SourceFile* file, int line, const std::string& type, const ScopedName& name, const Mods& premod, Types::Type* ret, const std::string& realname)
Constructor [Source]
 destructor~Function()
Destructor. [Source]
virtual voidaccept(Visitor*)
Accept the given visitor [Source]
 Mods&premodifier()
Returns the premodifier vector [Source]
 Types::Type*return_type()
Returns the return Type [Source]
 const std::string&realname()
Returns the real name of this function [Source]
 Parameter::vector&parameters()
Returns the vector of parameters [Source]
 Types::Template*template_type()
Returns the Template object if this is a template [Source]
 voidset_template_type(Types::Template* type)
Sets the Template object for this class. [Source]

Private Data members Summary:
Modsm_pre
The premodifier vector [Source]
Types::Type*m_ret
The return type [Source]
std::stringm_realname
The real (unmangled) name [Source]
Parameter::vectorm_params
The vector of parameters [Source]
Types::Template*m_template
The Template Type for this class if it's a template [Source]

Public Member functions Inherited from Declaration
name, name, file, set_file, line, type, set_type, access, set_access, comments, comments, declared, declared

Public Data members Inherited from FakeGC::cleanup
cleanup_next

Public Member function Details:
 destructor ~Function()

Destructor. Recursively destroys parameters


 void set_template_type(Types::Template* type)

Sets the Template object for this class. NULL means not a template