namespace Synopsis::TypeAnalysis
class TypeEvaluator
TypeEvaluator-inheritance Scopes/Synopsis/PTree/Visitor.html

evaluate the type of an expression

Public Member functions Summary:
 constructor TypeEvaluator(const SymbolLookup::Scope* s)
source code
 const Type* evaluate(const PTree::Node* node)
source code
Private Member functions Summary:
virtual void visit(PTree::Literal*)
source code
virtual void visit(PTree::Identifier*)
source code
virtual void visit(PTree::Kwd::This*)
source code
virtual void visit(PTree::Name*)
source code
virtual void visit(PTree::FstyleCastExpr*)
source code
virtual void visit(PTree::AssignExpr*)
source code
virtual void visit(PTree::CondExpr*)
source code
virtual void visit(PTree::InfixExpr*)
source code
virtual void visit(PTree::PmExpr*)
source code
virtual void visit(PTree::CastExpr*)
source code
virtual void visit(PTree::UnaryExpr*)
source code
virtual void visit(PTree::ThrowExpr*)
source code
virtual void visit(PTree::SizeofExpr*)
source code
virtual void visit(PTree::TypeidExpr*)
source code
virtual void visit(PTree::TypeofExpr*)
source code
virtual void visit(PTree::NewExpr*)
source code
virtual void visit(PTree::DeleteExpr*)
source code
virtual void visit(PTree::ArrayExpr*)
source code
virtual void visit(PTree::FuncallExpr*)
source code
virtual void visit(PTree::PostfixExpr*)
source code
virtual void visit(PTree::DotMemberExpr*)
source code
virtual void visit(PTree::ArrowMemberExpr*)
source code
virtual void visit(PTree::ParenExpr*)
source code
Private Data members Summary:
references
source code
const Type* my_type
references
source code