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

#include <Program.hpp>

Inheritance diagram for ast::Program:
ast::Node

Public Member Functions

 Program (shptr< vec< shptr< ClassDeclaration >>> classes)
 
virtual void toString (std::ostream &out, unsigned int indent, bool=false) const
 
virtual void collectDefinitions (semantic::SemanticAnalysis &sa) const
 
virtual void analyze (semantic::SemanticAnalysis &sa) const
 
void addPseudoClasses ()
 
virtual void accept (ASTVisitor &visitor) const
 
shptr< vec< shptr
< ClassDeclaration > > > const 
getClasses () const
 

Constructor & Destructor Documentation

ast::Program::Program ( shptr< vec< shptr< ClassDeclaration >>>  classes)

Member Function Documentation

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

Reimplemented from ast::Node.

void ast::Program::addPseudoClasses ( )
void ast::Program::analyze ( semantic::SemanticAnalysis sa) const
virtual
void ast::Program::collectDefinitions ( semantic::SemanticAnalysis sa) const
virtual
shptr< vec< shptr< ast::ClassDeclaration > > > const ast::Program::getClasses ( ) const
void ast::Program::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: