mirror of
https://github.com/beefytech/Beef.git
synced 2025-07-04 15:26:00 +02:00
Improved circular mixin check, isconst(expr), [ConstSkip]
This commit is contained in:
parent
cab9b3d9c7
commit
75333a0928
19 changed files with 241 additions and 60 deletions
|
@ -158,6 +158,7 @@ enum BfToken : uint8
|
|||
BfToken_Interface,
|
||||
BfToken_Internal,
|
||||
BfToken_Is,
|
||||
BfToken_IsConst,
|
||||
BfToken_Let,
|
||||
BfToken_Mixin,
|
||||
BfToken_Mut,
|
||||
|
@ -380,6 +381,7 @@ class BfSizeOfExpression;
|
|||
class BfAlignOfExpression;
|
||||
class BfOffsetOfExpression;
|
||||
class BfStrideOfExpression;
|
||||
class BfIsConstExpression;
|
||||
class BfDefaultExpression;
|
||||
class BfUninitializedExpression;
|
||||
class BfConditionalExpression;
|
||||
|
@ -504,6 +506,7 @@ public:
|
|||
virtual void Visit(BfAlignOfExpression* alignOfExpr);
|
||||
virtual void Visit(BfStrideOfExpression* strideOfExpr);
|
||||
virtual void Visit(BfOffsetOfExpression* offsetOfExpr);
|
||||
virtual void Visit(BfIsConstExpression* isConstExpr);
|
||||
virtual void Visit(BfDefaultExpression* defaultExpr);
|
||||
virtual void Visit(BfUninitializedExpression* uninitializedExpr);
|
||||
virtual void Visit(BfCheckTypeExpression* checkTypeExpr);
|
||||
|
@ -2688,9 +2691,10 @@ public:
|
|||
class BfStrideOfExpression : public BfTypeAttrExpression
|
||||
{
|
||||
public:
|
||||
BF_AST_TYPE(BfStrideOfExpression, BfTypeAttrExpression);
|
||||
BF_AST_TYPE(BfStrideOfExpression, BfTypeAttrExpression);
|
||||
}; BF_AST_DECL(BfStrideOfExpression, BfTypeAttrExpression);
|
||||
|
||||
|
||||
class BfOffsetOfExpression : public BfTypeAttrExpression
|
||||
{
|
||||
public:
|
||||
|
@ -2700,6 +2704,17 @@ public:
|
|||
BfIdentifierNode* mMemberName;
|
||||
}; BF_AST_DECL(BfOffsetOfExpression, BfTypeAttrExpression);
|
||||
|
||||
class BfIsConstExpression : public BfExpression
|
||||
{
|
||||
public:
|
||||
BF_AST_TYPE(BfIsConstExpression, BfTypeAttrExpression);
|
||||
|
||||
BfTokenNode* mIsConstToken;
|
||||
BfTokenNode* mOpenParen;
|
||||
BfExpression* mExpression;
|
||||
BfTokenNode* mCloseParen;
|
||||
}; BF_AST_DECL(BfIsConstExpression, BfTypeAttrExpression);
|
||||
|
||||
class BfDefaultExpression : public BfExpression
|
||||
{
|
||||
public:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue