mjplusplus  v0.4.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | List of all members
ast::MainMethodDeclaration Class Reference

#include <MainMethodDeclaration.hpp>

Inheritance diagram for ast::MainMethodDeclaration:
ast::MethodDeclaration ast::ClassMember ast::Node

Public Member Functions

 MainMethodDeclaration (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=false) const
 
virtual void collectDefinition (semantic::SemanticAnalysis &sa, shptr< semantic::symbol::SymbolTable > symbolTable, std::string const &class_name) const
 
virtual shptr< vec< shptr
< ast::Type > > > 
collectParameters (semantic::SemanticAnalysis &, shptr< semantic::symbol::SymbolTable > symbolTable) const
 
void analyze (semantic::SemanticAnalysis &sa, shptr< semantic::symbol::SymbolTable > symbolTable) const
 
virtual void accept (ASTVisitor &visitor) const
 
virtual std::string mangle () const
 
virtual unsigned int countVariableDeclarations () const
 
virtual void createVariablePositions () const
 
- Public Member Functions inherited from ast::MethodDeclaration
 MethodDeclaration (shptr< TypeIdent > return_type_and_name, shptr< vec< shptr< TypeIdent >>> parameters, shptr< stmt::Block > block)
 
virtual std::string getName () const
 
virtual std::string getNameForSort () const
 
shptr< vec< shptr< TypeIdent > > > getParameters () const
 
shptr< TypegetReturnType () const
 
shptr< stmt::BlockgetBlock () const
 
- Public Member Functions inherited from ast::ClassMember
void setDeclaration (shptr< ClassDeclaration const > decl)
 
shptr< ClassDeclaration const > getDeclaration () const
 

Additional Inherited Members

- Protected Attributes inherited from ast::MethodDeclaration
shptr< TypeIdentreturn_type_and_name
 
shptr< vec< shptr< TypeIdent > > > parameters
 
shptr< stmt::Blockblock
 
- Protected Attributes inherited from ast::ClassMember
shptr< ClassDeclaration const > declaration
 

Constructor & Destructor Documentation

ast::MainMethodDeclaration::MainMethodDeclaration ( shptr< TypeIdent return_type_and_name,
shptr< vec< shptr< TypeIdent >>>  parameters,
shptr< stmt::Block block 
)

Member Function Documentation

void ast::MainMethodDeclaration::accept ( ASTVisitor visitor) const
virtual

Reimplemented from ast::MethodDeclaration.

void ast::MainMethodDeclaration::analyze ( semantic::SemanticAnalysis sa,
shptr< semantic::symbol::SymbolTable symbolTable 
) const
virtual

Reimplemented from ast::MethodDeclaration.

void ast::MainMethodDeclaration::collectDefinition ( semantic::SemanticAnalysis sa,
shptr< semantic::symbol::SymbolTable symbolTable,
std::string const &  class_name 
) const
virtual

Reimplemented from ast::MethodDeclaration.

shptr< vec< shptr< ast::Type > > > ast::MainMethodDeclaration::collectParameters ( semantic::SemanticAnalysis ,
shptr< semantic::symbol::SymbolTable symbolTable 
) const
virtual

Reimplemented from ast::MethodDeclaration.

unsigned int ast::MainMethodDeclaration::countVariableDeclarations ( ) const
virtual

Reimplemented from ast::MethodDeclaration.

void ast::MainMethodDeclaration::createVariablePositions ( ) const
virtual

Reimplemented from ast::MethodDeclaration.

std::string ast::MainMethodDeclaration::mangle ( ) const
virtual

Mangles this methods's name using ClassMember::mangle() and appends _Mmethodname

Reimplemented from ast::MethodDeclaration.

void ast::MainMethodDeclaration::toString ( std::ostream &  out,
unsigned int  indent,
bool  special = false 
) const
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

Reimplemented from ast::MethodDeclaration.


The documentation for this class was generated from the following files: