1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-09 03:52:19 +02:00

Remove 'stack' keyword

This commit is contained in:
Brian Fiete 2024-12-31 08:55:37 -08:00
parent 4f2c28862d
commit b784f4f39d
5 changed files with 9 additions and 26 deletions

View file

@ -1479,9 +1479,7 @@ const char* Beefy::BfTokenToString(BfToken token)
case BfToken_Sealed: case BfToken_Sealed:
return "sealed"; return "sealed";
case BfToken_SizeOf: case BfToken_SizeOf:
return "sizeof"; return "sizeof";
case BfToken_Stack:
return "stack";
case BfToken_Static: case BfToken_Static:
return "static"; return "static";
case BfToken_StrideOf: case BfToken_StrideOf:

View file

@ -246,8 +246,7 @@ enum BfToken : uint8
BfToken_Return, BfToken_Return,
BfToken_Scope, BfToken_Scope,
BfToken_Sealed, BfToken_Sealed,
BfToken_SizeOf, BfToken_SizeOf,
BfToken_Stack,
BfToken_Static, BfToken_Static,
BfToken_StrideOf, BfToken_StrideOf,
BfToken_Struct, BfToken_Struct,

View file

@ -15531,7 +15531,7 @@ void BfExprEvaluator::CreateObject(BfObjectCreateExpression* objCreateExpr, BfAs
bool isStructAlloc = newToken == NULL; bool isStructAlloc = newToken == NULL;
bool isScopeAlloc = (newToken != NULL) && (newToken->GetToken() == BfToken_Scope); bool isScopeAlloc = (newToken != NULL) && (newToken->GetToken() == BfToken_Scope);
bool isAppendAlloc = (newToken != NULL) && (newToken->GetToken() == BfToken_Append); bool isAppendAlloc = (newToken != NULL) && (newToken->GetToken() == BfToken_Append);
bool isStackAlloc = ((newToken != NULL) && (newToken->GetToken() == BfToken_Stack)) || (isScopeAlloc) || (isStructAlloc); bool isStackAlloc = (isScopeAlloc) || (isStructAlloc);
bool isArrayAlloc = false;// (objCreateExpr->mArraySizeSpecifier != NULL); bool isArrayAlloc = false;// (objCreateExpr->mArraySizeSpecifier != NULL);
bool isRawArrayAlloc = (objCreateExpr != NULL) && (objCreateExpr->mStarToken != NULL); bool isRawArrayAlloc = (objCreateExpr != NULL) && (objCreateExpr->mStarToken != NULL);
@ -16716,12 +16716,7 @@ void BfExprEvaluator::ResolveAllocTarget(BfAllocTarget& allocTarget, BfAstNode*
if (mModule->mCurMethodState != NULL) if (mModule->mCurMethodState != NULL)
allocTarget.mScopeData = mModule->mCurMethodState->mCurScope->GetTargetable(); allocTarget.mScopeData = mModule->mCurMethodState->mCurScope->GetTargetable();
} }
else if (newToken->GetToken() == BfToken_Stack)
{
if (mModule->mCurMethodState != NULL)
allocTarget.mScopeData = &mModule->mCurMethodState->mHeadScope;
}
if (attributeDirective != NULL) if (attributeDirective != NULL)
{ {
auto customAttrs = mModule->GetCustomAttributes(attributeDirective, BfAttributeTargets_Alloc, BfGetCustomAttributesFlags_AllowNonConstArgs, allocTarget.mCaptureInfo); auto customAttrs = mModule->GetCustomAttributes(attributeDirective, BfAttributeTargets_Alloc, BfGetCustomAttributesFlags_AllowNonConstArgs, allocTarget.mCaptureInfo);

View file

@ -3308,11 +3308,7 @@ void BfParser::NextToken(int endIdx, bool outerIsInterpolate, bool disablePrepro
case TOKEN_HASH('s', 'i', 'z', 'e'): case TOKEN_HASH('s', 'i', 'z', 'e'):
if (SrcPtrHasToken("sizeof")) if (SrcPtrHasToken("sizeof"))
mToken = BfToken_SizeOf; mToken = BfToken_SizeOf;
break; break;
case TOKEN_HASH('s', 't', 'a', 'c'):
if ((!mCompatMode) && (SrcPtrHasToken("stack")))
mToken = BfToken_Stack;
break;
case TOKEN_HASH('s', 't', 'a', 't'): case TOKEN_HASH('s', 't', 'a', 't'):
if (SrcPtrHasToken("static")) if (SrcPtrHasToken("static"))
mToken = BfToken_Static; mToken = BfToken_Static;

View file

@ -1824,13 +1824,9 @@ BfExpression* BfReducer::CreateExpression(BfAstNode* node, CreateExprFlags creat
return nextExpr; return nextExpr;
} }
else if ((token == BfToken_New) || else if ((token == BfToken_New) ||
(token == BfToken_Scope) || (token == BfToken_Scope) ||
(token == BfToken_Stack) ||
(token == BfToken_Append)) (token == BfToken_Append))
{ {
if (token == BfToken_Stack)
Fail("'Stack' not supported. Use 'scope::' instead.", tokenNode);
auto allocNode = CreateAllocNode(tokenNode); auto allocNode = CreateAllocNode(tokenNode);
bool isDelegateBind = false; bool isDelegateBind = false;
@ -4082,7 +4078,7 @@ BfAstNode* BfReducer::DoCreateStatement(BfAstNode* node, CreateStmtFlags createS
MEMBER_SET(deferStmt, mOpenParen, nextTokenNode); MEMBER_SET(deferStmt, mOpenParen, nextTokenNode);
mVisitorPos.MoveNext(); mVisitorPos.MoveNext();
nextTokenNode = ExpectTokenAfter(deferStmt, BfToken_Scope, BfToken_Stack); nextTokenNode = ExpectTokenAfter(deferStmt, BfToken_Scope);
MEMBER_SET_CHECKED(deferStmt, mScopeToken, nextTokenNode); MEMBER_SET_CHECKED(deferStmt, mScopeToken, nextTokenNode);
nextTokenNode = ExpectTokenAfter(deferStmt, BfToken_RParen); nextTokenNode = ExpectTokenAfter(deferStmt, BfToken_RParen);
@ -4597,8 +4593,7 @@ bool BfReducer::IsTerminatingExpression(BfAstNode* node)
case BfToken_AllocType: case BfToken_AllocType:
case BfToken_Append: case BfToken_Append:
case BfToken_Default: case BfToken_Default:
case BfToken_Is: case BfToken_Is:
case BfToken_Stack:
case BfToken_Scope: case BfToken_Scope:
case BfToken_New: case BfToken_New:
case BfToken_RetType: case BfToken_RetType: