make const actually work, and add unsafe(const) for old behavior

This commit is contained in:
Ricardo Luís Vaz Silva 2025-02-07 19:39:27 -03:00
commit 7e86116ab1
9 changed files with 25 additions and 16 deletions

View file

@ -396,7 +396,7 @@ public:
FxIdentifier(FName i, const FScriptPosition &p);
FxExpression *Resolve(FCompileContext&);
FxExpression *ResolveMember(FCompileContext&, PContainerType*, FxExpression*&, PContainerType*);
FxExpression *ResolveMember(FCompileContext&, PContainerType*, FxExpression*&, PContainerType*, bool isConst = false);
};
@ -1475,8 +1475,9 @@ class FxStructMember : public FxMemberBase
{
public:
FxExpression *classx;
bool IsConst;
FxStructMember(FxExpression*, PField*, const FScriptPosition&);
FxStructMember(FxExpression*, PField*, const FScriptPosition&, bool isConst = false);
~FxStructMember();
FxExpression *Resolve(FCompileContext&);
bool RequestAddress(FCompileContext &ctx, bool *writable);
@ -1494,7 +1495,7 @@ class FxClassMember : public FxStructMember
{
public:
FxClassMember(FxExpression*, PField*, const FScriptPosition&);
FxClassMember(FxExpression*, PField*, const FScriptPosition&, bool isConst = false);
};
//==========================================================================