mjplusplus
v0.4.1
|
#include <SemanticAnalysis.hpp>
Classes | |
struct | ClassTableItem |
Public Member Functions | |
SemanticAnalysis (shptr< ast::Program > program, shptr< ErrorReporter > errorReporter) | |
void | reportError (std::string message) |
void | reportError (std::string message, shptr< ast::PositionAwareNode > node) |
void | reportError (std::string message, source_position_t position) |
bool | start () |
bool | insertClass (const std::string &className, shptr< ast::ClassDeclaration > &node) |
std::unordered_map < std::string, ClassTableItem > const & | getClassTable () const |
bool | isTypeDefined (shptr< ast::Type > type, bool isVoidAcceptable=false) |
Static Public Attributes | |
static shptr< ast::TypeIdent > const | systemTypeIdent |
semantic::SemanticAnalysis::SemanticAnalysis | ( | shptr< ast::Program > | program, |
shptr< ErrorReporter > | errorReporter | ||
) |
std::unordered_map< std::string, SemanticAnalysis::ClassTableItem > const & semantic::SemanticAnalysis::getClassTable | ( | ) | const |
bool semantic::SemanticAnalysis::insertClass | ( | const std::string & | className, |
shptr< ast::ClassDeclaration > & | node | ||
) |
bool semantic::SemanticAnalysis::isTypeDefined | ( | shptr< ast::Type > | type, |
bool | isVoidAcceptable = false |
||
) |
void semantic::SemanticAnalysis::reportError | ( | std::string | message | ) |
void semantic::SemanticAnalysis::reportError | ( | std::string | message, |
shptr< ast::PositionAwareNode > | node | ||
) |
void semantic::SemanticAnalysis::reportError | ( | std::string | message, |
source_position_t | position | ||
) |
bool semantic::SemanticAnalysis::start | ( | ) |
|
static |