mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-14 14:24:10 +02:00
Fixed IsTypeReference 'char*[]' cases
This commit is contained in:
parent
0c1ab7b668
commit
d6a447f915
1 changed files with 14 additions and 2 deletions
|
@ -716,6 +716,8 @@ bool BfReducer::IsTypeReference(BfAstNode* checkNode, BfToken successToken, int
|
||||||
}
|
}
|
||||||
else if ((checkToken == BfToken_Star) || (checkToken == BfToken_Question))
|
else if ((checkToken == BfToken_Star) || (checkToken == BfToken_Question))
|
||||||
{
|
{
|
||||||
|
bool keepParsing = false;
|
||||||
|
|
||||||
if (checkToken == BfToken_Star)
|
if (checkToken == BfToken_Star)
|
||||||
{
|
{
|
||||||
auto prevNode = mVisitorPos.Get(checkIdx - 1);
|
auto prevNode = mVisitorPos.Get(checkIdx - 1);
|
||||||
|
@ -738,6 +740,12 @@ bool BfReducer::IsTypeReference(BfAstNode* checkNode, BfToken successToken, int
|
||||||
{
|
{
|
||||||
auto nextNode = mVisitorPos.Get(checkIdx + 1);
|
auto nextNode = mVisitorPos.Get(checkIdx + 1);
|
||||||
auto nextToken = BfNodeDynCast<BfTokenNode>(nextNode);
|
auto nextToken = BfNodeDynCast<BfTokenNode>(nextNode);
|
||||||
|
if ((nextToken != NULL) && (nextToken->GetToken() == BfToken_LBracket))
|
||||||
|
{
|
||||||
|
keepParsing = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
if ((nextToken == NULL) || (nextToken->GetToken() != BfToken_Star))
|
if ((nextToken == NULL) || (nextToken->GetToken() != BfToken_Star))
|
||||||
break;
|
break;
|
||||||
checkTokenNode = nextToken;
|
checkTokenNode = nextToken;
|
||||||
|
@ -759,8 +767,12 @@ bool BfReducer::IsTypeReference(BfAstNode* checkNode, BfToken successToken, int
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Star or Question always end a TypeRef
|
// Star or Question normally end a TypeRef
|
||||||
if ((chevronDepth == 0) && (parenDepth == 0) && (bracketDepth == 0))
|
if (keepParsing)
|
||||||
|
{
|
||||||
|
// Keep going
|
||||||
|
}
|
||||||
|
else if ((chevronDepth == 0) && (parenDepth == 0) && (bracketDepth == 0))
|
||||||
{
|
{
|
||||||
if (hadTupleComma)
|
if (hadTupleComma)
|
||||||
return false;
|
return false;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue