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 |
![]() | |
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 |
![]() | |
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 |