mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-14 14:24:10 +02:00
Fixed typeref memberReferenceExpression parsing
This commit is contained in:
parent
96e00fc7d8
commit
970ac9add2
1 changed files with 4 additions and 0 deletions
|
@ -4564,6 +4564,8 @@ BfTypeReference* BfReducer::DoCreateTypeRef(BfAstNode* firstNode, CreateTypeRefF
|
||||||
{
|
{
|
||||||
if (auto memberReferenceExpression = BfNodeDynCast<BfMemberReferenceExpression>(firstNode))
|
if (auto memberReferenceExpression = BfNodeDynCast<BfMemberReferenceExpression>(firstNode))
|
||||||
{
|
{
|
||||||
|
SetAndRestoreValue<bool> prevSkipCurrentNodeAssert(mSkipCurrentNodeAssert, true);
|
||||||
|
|
||||||
auto qualifiedTypeRef = mAlloc->Alloc<BfQualifiedTypeReference>();
|
auto qualifiedTypeRef = mAlloc->Alloc<BfQualifiedTypeReference>();
|
||||||
ReplaceNode(firstNode, qualifiedTypeRef);
|
ReplaceNode(firstNode, qualifiedTypeRef);
|
||||||
BF_ASSERT(memberReferenceExpression->mTarget != NULL);
|
BF_ASSERT(memberReferenceExpression->mTarget != NULL);
|
||||||
|
@ -4574,6 +4576,8 @@ BfTypeReference* BfReducer::DoCreateTypeRef(BfAstNode* firstNode, CreateTypeRefF
|
||||||
MEMBER_SET(qualifiedTypeRef, mLeft, leftTypeRef);
|
MEMBER_SET(qualifiedTypeRef, mLeft, leftTypeRef);
|
||||||
}
|
}
|
||||||
MEMBER_SET(qualifiedTypeRef, mDot, memberReferenceExpression->mDotToken);
|
MEMBER_SET(qualifiedTypeRef, mDot, memberReferenceExpression->mDotToken);
|
||||||
|
if (memberReferenceExpression->mDotToken->mToken == BfToken_DotDot)
|
||||||
|
Fail("Invalid use of '..' in type reference", memberReferenceExpression->mDotToken);
|
||||||
if (memberReferenceExpression->mMemberName != NULL)
|
if (memberReferenceExpression->mMemberName != NULL)
|
||||||
{
|
{
|
||||||
MoveNode(memberReferenceExpression->mMemberName, memberReferenceExpression);
|
MoveNode(memberReferenceExpression->mMemberName, memberReferenceExpression);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue