1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-09 20:12:21 +02:00

Fixed parsing case ie: foo[ComponentType<int>.ID]

This commit is contained in:
Brian Fiete 2021-07-19 11:54:39 -07:00
parent b662b2ac48
commit 14e79b7949

View file

@ -368,7 +368,7 @@ bool BfReducer::IsTypeReference(BfAstNode* checkNode, BfToken successToken, int*
} }
int chevronDepth = 0; int chevronDepth = 0;
bool identifierExpected = true; bool identifierExpected = true;
bool hadEndBracket = false; int endBracket = -1;
int bracketDepth = 0; int bracketDepth = 0;
int parenDepth = 0; int parenDepth = 0;
bool hadTupleComma = false; bool hadTupleComma = false;
@ -388,8 +388,12 @@ bool BfReducer::IsTypeReference(BfAstNode* checkNode, BfToken successToken, int*
auto checkTokenNode = BfNodeDynCast<BfTokenNode>(checkNode); auto checkTokenNode = BfNodeDynCast<BfTokenNode>(checkNode);
if (checkTokenNode != NULL) if (checkTokenNode != NULL)
{ {
if (hadEndBracket) if (endBracket != -1)
{
if (outEndNode)
*outEndNode = endBracket;
return false; return false;
}
BfToken checkToken = checkTokenNode->GetToken(); BfToken checkToken = checkTokenNode->GetToken();
if (bracketDepth > 0) if (bracketDepth > 0)
@ -650,7 +654,7 @@ bool BfReducer::IsTypeReference(BfAstNode* checkNode, BfToken successToken, int*
} }
else if (checkToken == BfToken_RBracket) else if (checkToken == BfToken_RBracket)
{ {
hadEndBracket = true; endBracket = checkIdx;
} }
else if ((checkToken == BfToken_Star) || (checkToken == BfToken_Question)) else if ((checkToken == BfToken_Star) || (checkToken == BfToken_Question))
{ {