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

#include <ClassDeclaration.hpp>

Inheritance diagram for ast::ClassDeclaration:
ast::Node

Public Member Functions

 ClassDeclaration (shptr< Ident > class_name, shptr< vec< shptr< ClassMember >>> members)
 
virtual void toString (std::ostream &out, unsigned int indent, bool=false) const
 
bool collectDefinitions (semantic::SemanticAnalysis &sa, shptr< semantic::symbol::SymbolTable > symbolTable) const
 
void analyze (semantic::SemanticAnalysis &sa) const
 
std::string getName () const
 
shptr< IdentgetIdent () const
 
virtual void accept (ASTVisitor &visitor) const
 
shptr< vec< shptr< ClassMember > > > getMembers () const
 

Constructor & Destructor Documentation

ast::ClassDeclaration::ClassDeclaration ( shptr< Ident class_name,
shptr< vec< shptr< ClassMember >>>  members 
)

Member Function Documentation

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

Reimplemented from ast::Node.

void ast::ClassDeclaration::analyze ( semantic::SemanticAnalysis sa) const
bool ast::ClassDeclaration::collectDefinitions ( semantic::SemanticAnalysis sa,
shptr< semantic::symbol::SymbolTable symbolTable 
) const
shptr< Ident > ast::ClassDeclaration::getIdent ( ) const
shptr< vec< shptr< ClassMember > > > ast::ClassDeclaration::getMembers ( ) const
std::string ast::ClassDeclaration::getName ( ) const
void ast::ClassDeclaration::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

Implements ast::Node.


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