reference fixes, fizes

This commit is contained in:
ProgramSnail 2023-05-21 10:57:08 +03:00
parent 8a84cfff70
commit a9d4d3a104
8 changed files with 43 additions and 48 deletions

View file

@ -122,19 +122,19 @@ using Literal = std::variant<
struct NameExpression;
struct ScopedStatement;
struct AccessExpression;
struct ReferenceExpression;
using SubExpressionToken = std::variant<
std::unique_ptr<NameExpression>,
std::unique_ptr<ScopedStatement>,
std::unique_ptr<AccessExpression>,
std::unique_ptr<Literal>>;
std::unique_ptr<Literal>,
std::unique_ptr<ReferenceExpression>>;
//
struct FunctionCallExpression;
struct ArrayExpression;
struct ReferenceExpression;
using SubExpression = std::variant< // BiaryOperatorExpression is FunctionCallExpression
std::unique_ptr<FunctionCallExpression>,
std::unique_ptr<SubExpressionToken>,
std::unique_ptr<ReferenceExpression>>;
std::unique_ptr<SubExpressionToken>>;
//
enum class LoopControlExpression {
Break,
@ -497,7 +497,7 @@ struct ScopedStatement {
struct ReferenceExpression {
BaseNode base;
std::vector<utils::ReferenceModifier> references;
utils::ReferenceModifier reference;
std::unique_ptr<ScopedStatement> expression;
};