Browse Source

Remove 'stack' keyword

Brian Fiete 8 months ago
parent
commit
b784f4f39d

+ 1 - 3
IDEHelper/Compiler/BfAst.cpp

@@ -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";
-	case BfToken_Stack:
-		return "stack";
+		return "sizeof";	
 	case BfToken_Static:
 	case BfToken_Static:
 		return "static";
 		return "static";
 	case BfToken_StrideOf:
 	case BfToken_StrideOf:

+ 1 - 2
IDEHelper/Compiler/BfAst.h

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

+ 2 - 7
IDEHelper/Compiler/BfExprEvaluator.cpp

@@ -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);

+ 1 - 5
IDEHelper/Compiler/BfParser.cpp

@@ -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;
-					case TOKEN_HASH('s', 't', 'a', 'c'):
-						if ((!mCompatMode) && (SrcPtrHasToken("stack")))
-							mToken = BfToken_Stack;
-						break;
+						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;

+ 4 - 9
IDEHelper/Compiler/BfReducer.cpp

@@ -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_Stack) ||
+				(token == BfToken_Scope) ||				
 				(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_Stack:
+			case BfToken_Is:			
 			case BfToken_Scope:
 			case BfToken_Scope:
 			case BfToken_New:
 			case BfToken_New:
 			case BfToken_RetType:
 			case BfToken_RetType: