Make parsed statements constant during binding
This commit is contained in:
@@ -16,24 +16,24 @@ class Binder {
|
||||
|
||||
~Binder();
|
||||
|
||||
BoundStatement *BindStatement(ParsedStatement *statement);
|
||||
BoundStatement *BindBlockStatement(ParsedStatement *statement);
|
||||
BoundStatement *BindExpressionStatement(ParsedStatement *statement);
|
||||
BoundStatement *BindAssignmentStatement(ParsedStatement *statement);
|
||||
BoundStatement *BindFunctionDeclarationStatement(ParsedStatement * statement);
|
||||
BoundStatement *BindReturnStatement(ParsedStatement *statement);
|
||||
BoundStatement *BindConditionalStatement(ParsedStatement *statement);
|
||||
BoundStatement *BindStatement(const ParsedStatement *statement);
|
||||
BoundStatement *BindBlockStatement(const ParsedStatement *statement);
|
||||
BoundStatement *BindExpressionStatement(const ParsedStatement *statement);
|
||||
BoundStatement *BindAssignmentStatement(const ParsedStatement *statement);
|
||||
BoundStatement *BindFunctionDeclarationStatement(const ParsedStatement * statement);
|
||||
BoundStatement *BindReturnStatement(const ParsedStatement *statement);
|
||||
BoundStatement *BindConditionalStatement(const ParsedStatement *statement);
|
||||
|
||||
BoundExpression *BindExpression(ParsedExpression *expression);
|
||||
BoundExpression *BindVariableExpression(VariableExpression *expression);
|
||||
BoundExpression *BindBinaryOperator(BinaryExpression *expression);
|
||||
BoundExpression *BindUnaryOperator(UnaryExpression *expression);
|
||||
BoundExpression *BindFunctionCall(FunctionCallExpression *expression);
|
||||
BoundExpression *BindIndexExpression(IndexExpression *expression);
|
||||
BoundExpression *BindNumericalTableExpression(ParsedNumericalTableExpression *expression);
|
||||
BoundExpression *BindTableExpression(ParsedTableExpression * expression);
|
||||
BoundExpression *BindExpression(const ParsedExpression *expression);
|
||||
BoundExpression *BindVariableExpression(const VariableExpression *expression);
|
||||
BoundExpression *BindBinaryOperator(const BinaryExpression *expression);
|
||||
BoundExpression *BindUnaryOperator(const UnaryExpression *expression);
|
||||
BoundExpression *BindFunctionCall(const FunctionCallExpression *expression);
|
||||
BoundExpression *BindIndexExpression(const IndexExpression *expression);
|
||||
BoundExpression *BindNumericalTableExpression(const ParsedNumericalTableExpression *expression);
|
||||
BoundExpression *BindTableExpression(const ParsedTableExpression * expression);
|
||||
public:
|
||||
static BoundScriptStatement* Bind(Script* script, ParsedScriptStatement* s, BoundScope* scriptScope);
|
||||
static BoundScriptStatement* Bind(Script* script, const ParsedScriptStatement* s, BoundScope* scriptScope);
|
||||
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user