1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-10 04:22:20 +02:00

Accidentally didn't require () for allocations

This commit is contained in:
Brian Fiete 2020-05-11 10:14:07 -07:00
parent 5de6373b99
commit 5928ac4e7e

View file

@ -7302,14 +7302,21 @@ BfObjectCreateExpression* BfReducer::CreateObjectCreateExpression(BfAstNode* all
if (typeRef == NULL)
return objectCreateExpr;
bool isArray = false;
if (auto ptrType = BfNodeDynCast<BfPointerTypeRef>(typeRef))
{
if (auto arrayType = BfNodeDynCast<BfArrayTypeRef>(ptrType->mElementType))
{
MEMBER_SET(objectCreateExpr, mStarToken, ptrType->mStarNode);
typeRef = ptrType->mElementType;
isArray = true;
}
}
else if (auto arrayType = BfNodeDynCast<BfArrayTypeRef>(typeRef))
{
isArray = true;
}
MEMBER_SET(objectCreateExpr, mTypeRef, typeRef);
@ -7324,16 +7331,28 @@ BfObjectCreateExpression* BfReducer::CreateObjectCreateExpression(BfAstNode* all
}
MEMBER_SET(objectCreateExpr, mCloseToken, block->mCloseBrace);
return objectCreateExpr;
}
if (isArray)
{
tokenNode = BfNodeDynCast<BfTokenNode>(mVisitorPos.GetNext());
if (tokenNode == NULL)
return objectCreateExpr;
if (tokenNode->GetToken() != BfToken_LParen)
return objectCreateExpr;
mVisitorPos.MoveNext();
}
tokenNode = BfNodeDynCast<BfTokenNode>(mVisitorPos.GetNext());
if (tokenNode == NULL)
return objectCreateExpr;
if (tokenNode->GetToken() != BfToken_LParen)
return objectCreateExpr;
mVisitorPos.MoveNext();
else
{
// Note- if there WERE an LBracket here then we'd have an 'isArray' case. We pass this in here for
// error display purposes
tokenNode = ExpectTokenAfter(objectCreateExpr, BfToken_LParen, BfToken_LBracket);
if (tokenNode == NULL)
return objectCreateExpr;
}
MEMBER_SET(objectCreateExpr, mOpenToken, tokenNode);
BfToken endToken = (BfToken)(tokenNode->GetToken() + 1);