Assign struct member
This commit is contained in:
@@ -1,24 +1,50 @@
|
||||
#include "StatementAssignment.h"
|
||||
|
||||
StatementAssignment::StatementAssignment(string name, shared_ptr<Expression> indexExpression, shared_ptr<Expression> expression):
|
||||
Statement(StatementKind::ASSIGNMENT), name(name), indexExpression(indexExpression), expression(expression) { }
|
||||
StatementAssignment::StatementAssignment():
|
||||
Statement(StatementKind::ASSIGNMENT) { }
|
||||
|
||||
shared_ptr<StatementAssignment> StatementAssignment::variableAssignment(string identifier, shared_ptr<Expression> valueExpression) {
|
||||
shared_ptr<StatementAssignment> statement = make_shared<StatementAssignment>();
|
||||
statement->assignmentKind = StatementAssignmentKind::VARIABLE;
|
||||
statement->identifier = identifier;
|
||||
statement->valueExpression = valueExpression;
|
||||
return statement;
|
||||
}
|
||||
|
||||
shared_ptr<StatementAssignment> StatementAssignment::dataAssignment(string identifier, shared_ptr<Expression> indexExpression, shared_ptr<Expression> valueExpression) {
|
||||
shared_ptr<StatementAssignment> statement = make_shared<StatementAssignment>();
|
||||
statement->assignmentKind = StatementAssignmentKind::DATA;
|
||||
statement->identifier = identifier;
|
||||
statement->indexExpression = indexExpression;
|
||||
statement->valueExpression = valueExpression;
|
||||
return statement;
|
||||
}
|
||||
|
||||
shared_ptr<StatementAssignment> StatementAssignment::blobAssignment(string identifier, string memberName, shared_ptr<Expression> valueExpression) {
|
||||
shared_ptr<StatementAssignment> statement = make_shared<StatementAssignment>();
|
||||
statement->assignmentKind = StatementAssignmentKind::BLOB;
|
||||
statement->identifier = identifier;
|
||||
statement->memberName = memberName;
|
||||
statement->valueExpression = valueExpression;
|
||||
return statement;
|
||||
}
|
||||
|
||||
StatementAssignmentKind StatementAssignment::getAssignmentKind() {
|
||||
return assignmentKind;
|
||||
}
|
||||
|
||||
string StatementAssignment::getName() {
|
||||
return name;
|
||||
string StatementAssignment::getIdentifier() {
|
||||
return identifier;
|
||||
}
|
||||
|
||||
shared_ptr<Expression> StatementAssignment::getIndexExpression() {
|
||||
return indexExpression;
|
||||
}
|
||||
|
||||
shared_ptr<Expression> StatementAssignment::getExpression() {
|
||||
return expression;
|
||||
}
|
||||
|
||||
string StatementAssignment::getMemberName() {
|
||||
return memberName;
|
||||
}
|
||||
|
||||
shared_ptr<Expression> StatementAssignment::getValueExpression() {
|
||||
return valueExpression;
|
||||
}
|
||||
Reference in New Issue
Block a user