Changed statement kinds
This commit is contained in:
@@ -5,21 +5,14 @@
|
||||
|
||||
#include "Types.h"
|
||||
|
||||
class Expression;
|
||||
class Statement;
|
||||
class StatementBlock;
|
||||
class StatementReturn;
|
||||
class StatementExpression;
|
||||
class StatementInvalid;
|
||||
|
||||
using namespace std;
|
||||
|
||||
enum class StatementKind {
|
||||
FUNCTION_DECLARATION,
|
||||
VAR_DECLARATION,
|
||||
EXPRESSION,
|
||||
BLOCK,
|
||||
RETURN,
|
||||
EXPRESSION,
|
||||
FUNCTION,
|
||||
VARIABLE,
|
||||
META_EXTERN_FUNCTION,
|
||||
INVALID
|
||||
};
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
#include "Parser/Statement/Statement.h"
|
||||
|
||||
class StatementExpression;
|
||||
|
||||
class StatementBlock: public Statement {
|
||||
private:
|
||||
vector<shared_ptr<Statement>> statements;
|
||||
|
||||
@@ -16,7 +16,7 @@ static string valueTypeToString(ValueType valueType) {
|
||||
}
|
||||
|
||||
StatementFunction::StatementFunction(string name, vector<pair<string, ValueType>> arguments, ValueType returnValueType, shared_ptr<StatementBlock> statementBlock):
|
||||
Statement(StatementKind::FUNCTION_DECLARATION), name(name), arguments(arguments), returnValueType(returnValueType), statementBlock(statementBlock) { }
|
||||
Statement(StatementKind::FUNCTION), name(name), arguments(arguments), returnValueType(returnValueType), statementBlock(statementBlock) { }
|
||||
|
||||
string StatementFunction::getName() {
|
||||
return name;
|
||||
|
||||
@@ -16,7 +16,7 @@ static string valueTypeToString(ValueType valueType) {
|
||||
}
|
||||
|
||||
StatementVariable::StatementVariable(string name, ValueType valueType, shared_ptr<Expression> expression):
|
||||
Statement(StatementKind::VAR_DECLARATION), name(name), valueType(valueType), expression(expression) { }
|
||||
Statement(StatementKind::VARIABLE), name(name), valueType(valueType), expression(expression) { }
|
||||
|
||||
string StatementVariable::getName() {
|
||||
return name;
|
||||
|
||||
Reference in New Issue
Block a user