|
mjplusplus
v0.4.1
|
#include <MethodDeclaration.hpp>
Public Member Functions | |
| MethodDeclaration (shptr< TypeIdent > return_type_and_name, shptr< vec< shptr< TypeIdent >>> parameters, shptr< stmt::Block > block) | |
| virtual void | toString (std::ostream &out, unsigned int indent, bool special=false) const |
| virtual std::string | getName () const |
| virtual std::string | getNameForSort () const |
| shptr< vec< shptr< TypeIdent > > > | getParameters () const |
| shptr< Type > | getReturnType () const |
| virtual void | collectDefinition (semantic::SemanticAnalysis &sa, shptr< semantic::symbol::SymbolTable > symbolTable, std::string const &class_name) const |
| virtual shptr< vec< shptr < Type > > > | collectParameters (semantic::SemanticAnalysis &sa, shptr< semantic::symbol::SymbolTable > symbolTable) const |
| virtual void | analyze (semantic::SemanticAnalysis &sa, shptr< semantic::symbol::SymbolTable > symbolTable) const |
| shptr< stmt::Block > | getBlock () const |
| virtual unsigned int | countVariableDeclarations () const |
| virtual void | createVariablePositions () const |
| virtual std::string | mangle () const |
| virtual void | accept (ASTVisitor &visitor) const |
Public Member Functions inherited from ast::ClassMember | |
| void | setDeclaration (shptr< ClassDeclaration const > decl) |
| shptr< ClassDeclaration const > | getDeclaration () const |
Protected Attributes | |
| shptr< TypeIdent > | return_type_and_name |
| shptr< vec< shptr< TypeIdent > > > | parameters |
| shptr< stmt::Block > | block |
Protected Attributes inherited from ast::ClassMember | |
| shptr< ClassDeclaration const > | declaration |
| ast::MethodDeclaration::MethodDeclaration | ( | shptr< TypeIdent > | return_type_and_name, |
| shptr< vec< shptr< TypeIdent >>> | parameters, | ||
| shptr< stmt::Block > | block | ||
| ) |
|
virtual |
Reimplemented from ast::Node.
Reimplemented in ast::MainMethodDeclaration.
|
virtual |
Implements ast::ClassMember.
Reimplemented in ast::MainMethodDeclaration.
|
virtual |
Implements ast::ClassMember.
Reimplemented in ast::MainMethodDeclaration.
|
virtual |
Reimplemented in ast::MainMethodDeclaration.
|
virtual |
Reimplemented in ast::MainMethodDeclaration.
|
virtual |
Reimplemented in ast::MainMethodDeclaration.
| shptr< ast::stmt::Block > ast::MethodDeclaration::getBlock | ( | ) | const |
|
virtual |
Implements ast::ClassMember.
|
virtual |
Implements ast::ClassMember.
| shptr< vec< shptr< ast::TypeIdent > > > ast::MethodDeclaration::getParameters | ( | ) | const |
|
virtual |
Mangles this methods's name using ClassMember::mangle() and appends _Mmethodname
Reimplemented from ast::ClassMember.
Reimplemented in ast::MainMethodDeclaration.
|
virtual |
writes a representation of the Node to out, including all children. special invokes "special" behavior for certain nodes MethodDeclaration: print static keyword Block & If: skip indentation Expression: don't print surrounding parens in addition Block doesn't print newline after trailing } if ~indent is passed instead of indent
Implements ast::Node.
Reimplemented in ast::MainMethodDeclaration.
|
protected |
1.8.8