diff --git a/IDEHelper/Compiler/BfAst.cpp b/IDEHelper/Compiler/BfAst.cpp index daefb8f7..c62622f0 100644 --- a/IDEHelper/Compiler/BfAst.cpp +++ b/IDEHelper/Compiler/BfAst.cpp @@ -1479,9 +1479,7 @@ const char* Beefy::BfTokenToString(BfToken token) case BfToken_Sealed: return "sealed"; case BfToken_SizeOf: - return "sizeof"; - case BfToken_Stack: - return "stack"; + return "sizeof"; case BfToken_Static: return "static"; case BfToken_StrideOf: diff --git a/IDEHelper/Compiler/BfAst.h b/IDEHelper/Compiler/BfAst.h index 7229c45f..a9a87f23 100644 --- a/IDEHelper/Compiler/BfAst.h +++ b/IDEHelper/Compiler/BfAst.h @@ -246,8 +246,7 @@ enum BfToken : uint8 BfToken_Return, BfToken_Scope, BfToken_Sealed, - BfToken_SizeOf, - BfToken_Stack, + BfToken_SizeOf, BfToken_Static, BfToken_StrideOf, BfToken_Struct, diff --git a/IDEHelper/Compiler/BfExprEvaluator.cpp b/IDEHelper/Compiler/BfExprEvaluator.cpp index a640ad59..a46c58fa 100644 --- a/IDEHelper/Compiler/BfExprEvaluator.cpp +++ b/IDEHelper/Compiler/BfExprEvaluator.cpp @@ -15531,7 +15531,7 @@ void BfExprEvaluator::CreateObject(BfObjectCreateExpression* objCreateExpr, BfAs bool isStructAlloc = newToken == NULL; bool isScopeAlloc = (newToken != NULL) && (newToken->GetToken() == BfToken_Scope); 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 isRawArrayAlloc = (objCreateExpr != NULL) && (objCreateExpr->mStarToken != NULL); @@ -16716,12 +16716,7 @@ void BfExprEvaluator::ResolveAllocTarget(BfAllocTarget& allocTarget, BfAstNode* if (mModule->mCurMethodState != NULL) allocTarget.mScopeData = mModule->mCurMethodState->mCurScope->GetTargetable(); } - else if (newToken->GetToken() == BfToken_Stack) - { - if (mModule->mCurMethodState != NULL) - allocTarget.mScopeData = &mModule->mCurMethodState->mHeadScope; - } - + if (attributeDirective != NULL) { auto customAttrs = mModule->GetCustomAttributes(attributeDirective, BfAttributeTargets_Alloc, BfGetCustomAttributesFlags_AllowNonConstArgs, allocTarget.mCaptureInfo); diff --git a/IDEHelper/Compiler/BfParser.cpp b/IDEHelper/Compiler/BfParser.cpp index c9e2751f..f6cc7d92 100644 --- a/IDEHelper/Compiler/BfParser.cpp +++ b/IDEHelper/Compiler/BfParser.cpp @@ -3308,11 +3308,7 @@ void BfParser::NextToken(int endIdx, bool outerIsInterpolate, bool disablePrepro case TOKEN_HASH('s', 'i', 'z', 'e'): if (SrcPtrHasToken("sizeof")) mToken = BfToken_SizeOf; - break; - case TOKEN_HASH('s', 't', 'a', 'c'): - if ((!mCompatMode) && (SrcPtrHasToken("stack"))) - mToken = BfToken_Stack; - break; + break; case TOKEN_HASH('s', 't', 'a', 't'): if (SrcPtrHasToken("static")) mToken = BfToken_Static; diff --git a/IDEHelper/Compiler/BfReducer.cpp b/IDEHelper/Compiler/BfReducer.cpp index 09b11340..200202a6 100644 --- a/IDEHelper/Compiler/BfReducer.cpp +++ b/IDEHelper/Compiler/BfReducer.cpp @@ -1824,13 +1824,9 @@ BfExpression* BfReducer::CreateExpression(BfAstNode* node, CreateExprFlags creat return nextExpr; } else if ((token == BfToken_New) || - (token == BfToken_Scope) || - (token == BfToken_Stack) || + (token == BfToken_Scope) || (token == BfToken_Append)) - { - if (token == BfToken_Stack) - Fail("'Stack' not supported. Use 'scope::' instead.", tokenNode); - + { auto allocNode = CreateAllocNode(tokenNode); bool isDelegateBind = false; @@ -4082,7 +4078,7 @@ BfAstNode* BfReducer::DoCreateStatement(BfAstNode* node, CreateStmtFlags createS MEMBER_SET(deferStmt, mOpenParen, nextTokenNode); mVisitorPos.MoveNext(); - nextTokenNode = ExpectTokenAfter(deferStmt, BfToken_Scope, BfToken_Stack); + nextTokenNode = ExpectTokenAfter(deferStmt, BfToken_Scope); MEMBER_SET_CHECKED(deferStmt, mScopeToken, nextTokenNode); nextTokenNode = ExpectTokenAfter(deferStmt, BfToken_RParen); @@ -4597,8 +4593,7 @@ bool BfReducer::IsTerminatingExpression(BfAstNode* node) case BfToken_AllocType: case BfToken_Append: case BfToken_Default: - case BfToken_Is: - case BfToken_Stack: + case BfToken_Is: case BfToken_Scope: case BfToken_New: case BfToken_RetType: