use_braces(false)
{ }
-Block::~Block()
+void Block::visit(NodeVisitor &visitor)
{
- for(vector<Node *>::iterator i=body.begin(); i!=body.end(); ++i)
- delete *i;
+ visitor.visit(*this);
}
-void Block::visit(NodeVisitor &visitor)
+
+void Literal::visit(NodeVisitor &visitor)
+{
+ visitor.visit(*this);
+}
+
+
+void ParenthesizedExpression::visit(NodeVisitor &visitor)
+{
+ visitor.visit(*this);
+}
+
+
+void VariableReference::visit(NodeVisitor &visitor)
+{
+ visitor.visit(*this);
+}
+
+
+void MemberAccess::visit(NodeVisitor &visitor)
+{
+ visitor.visit(*this);
+}
+
+
+UnaryExpression::UnaryExpression():
+ prefix(true)
+{ }
+
+void UnaryExpression::visit(NodeVisitor &visitor)
+{
+ visitor.visit(*this);
+}
+
+
+BinaryExpression::BinaryExpression():
+ assignment(false)
+{ }
+
+void BinaryExpression::visit(NodeVisitor &visitor)
+{
+ visitor.visit(*this);
+}
+
+
+FunctionCall::FunctionCall():
+ constructor(false)
+{ }
+
+void FunctionCall::visit(NodeVisitor &visitor)
{
visitor.visit(*this);
}
definition(false)
{ }
-FunctionDeclaration::~FunctionDeclaration()
-{
- for(vector<VariableDeclaration *>::iterator i=parameters.begin(); i!=parameters.end(); ++i)
- delete *i;
-}
-
void FunctionDeclaration::visit(NodeVisitor &visitor)
{
visitor.visit(*this);
}
-Iteration::Iteration():
- init_statement(0)
-{ }
-
-Iteration::~Iteration()
-{
- delete init_statement;
-}
-
void Iteration::visit(NodeVisitor &visitor)
{
visitor.visit(*this);