wip
This commit is contained in:
@@ -1,39 +1,41 @@
|
||||
#include "Statement.h"
|
||||
|
||||
Statement::Statement(Kind kind, shared_ptr<Token> token, shared_ptr<Expression> expression, shared_ptr<Statement> blockStatement, vector<shared_ptr<Statement>> statements, string name):
|
||||
/*Statement::Statement(Kind kind, shared_ptr<Token> token, shared_ptr<Expression> expression, shared_ptr<Statement> blockStatement, vector<shared_ptr<Statement>> statements, string name):
|
||||
kind(kind), token(token), expression(expression), blockStatement(blockStatement), statements(statements), name(name) {
|
||||
}*/
|
||||
Statement::Statement(Kind kind): kind(kind) {
|
||||
}
|
||||
|
||||
Statement::Kind Statement::getKind() {
|
||||
return kind;
|
||||
}
|
||||
|
||||
shared_ptr<Token> Statement::getToken() {
|
||||
/*shared_ptr<Token> Statement::getToken() {
|
||||
return token;
|
||||
}
|
||||
}*/
|
||||
|
||||
shared_ptr<Expression> Statement::getExpression() {
|
||||
/*shared_ptr<Expression> Statement::getExpression() {
|
||||
return expression;
|
||||
}
|
||||
}*/
|
||||
|
||||
shared_ptr<Statement> Statement::getBlockStatement() {
|
||||
/*shared_ptr<Statement> Statement::getBlockStatement() {
|
||||
return blockStatement;
|
||||
}
|
||||
}*/
|
||||
|
||||
vector<shared_ptr<Statement>> Statement::getStatements() {
|
||||
/*vector<shared_ptr<Statement>> Statement::getStatements() {
|
||||
return statements;
|
||||
}
|
||||
}*/
|
||||
|
||||
string Statement::getName() {
|
||||
/*string Statement::getName() {
|
||||
return name;
|
||||
}
|
||||
}*/
|
||||
|
||||
bool Statement::isValid() {
|
||||
return kind != Statement::Kind::INVALID;
|
||||
}
|
||||
|
||||
string Statement::toString() {
|
||||
switch (kind) {
|
||||
/*switch (kind) {
|
||||
case EXPRESSION:
|
||||
return expression->toString();
|
||||
case BLOCK: {
|
||||
@@ -56,5 +58,57 @@ string Statement::toString() {
|
||||
}
|
||||
case INVALID:
|
||||
return "INVALID";
|
||||
}
|
||||
}
|
||||
}*/
|
||||
return "abc";
|
||||
}
|
||||
|
||||
//
|
||||
// StatementFunctionDeclaration
|
||||
StatementFunctionDeclaration::StatementFunctionDeclaration(string name, shared_ptr<StatementBlock> statementBlock):
|
||||
Statement(Statement::Kind::FUNCTION_DECLARATION), name(name), statementBlock(statementBlock) {
|
||||
}
|
||||
|
||||
string StatementFunctionDeclaration::getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
shared_ptr<StatementBlock> StatementFunctionDeclaration::getStatementBlock() {
|
||||
return statementBlock;
|
||||
}
|
||||
|
||||
//
|
||||
// StatementBlock
|
||||
StatementBlock::StatementBlock(vector<shared_ptr<Statement>> statements):
|
||||
Statement(Statement::Kind::BLOCK), statements(statements) {
|
||||
}
|
||||
|
||||
vector<shared_ptr<Statement>> StatementBlock::getStatements() {
|
||||
return statements;
|
||||
}
|
||||
|
||||
//
|
||||
// StatementReturn
|
||||
StatementReturn::StatementReturn(shared_ptr<Expression> expression):
|
||||
Statement(Statement::Kind::RETURN), expression(expression) {
|
||||
|
||||
}
|
||||
|
||||
shared_ptr<Expression> StatementReturn::getExpression() {
|
||||
return expression;
|
||||
}
|
||||
|
||||
//
|
||||
// StatementExpression
|
||||
StatementExpression::StatementExpression(shared_ptr<Expression> expression):
|
||||
Statement(Statement::Kind::EXPRESSION), expression(expression) {
|
||||
}
|
||||
|
||||
shared_ptr<Expression> StatementExpression::getExpression() {
|
||||
return expression;
|
||||
}
|
||||
|
||||
//
|
||||
// StatementInvalid
|
||||
StatementInvalid::StatementInvalid():
|
||||
Statement(Statement::Kind::INVALID) {
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user