mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-10 04:22:20 +02:00
Allow anonymous 'using' fields
This commit is contained in:
parent
613f9c743a
commit
854122cb46
9 changed files with 323 additions and 256 deletions
|
@ -6309,11 +6309,13 @@ BfFieldDeclaration* BfReducer::CreateFieldDeclaration(BfTokenNode* tokenNode, Bf
|
|||
else
|
||||
{
|
||||
ReplaceNode(typeRef, fieldDeclaration);
|
||||
fieldDeclaration->mTypeRef = typeRef;
|
||||
fieldDeclaration->mNameNode = nameIdentifier;
|
||||
fieldDeclaration->mTypeRef = typeRef;
|
||||
fieldDeclaration->mInitializer = NULL;
|
||||
MoveNode(fieldDeclaration->mNameNode, fieldDeclaration);
|
||||
//mVisitorPos.MoveNext();
|
||||
if (nameIdentifier != NULL)
|
||||
{
|
||||
fieldDeclaration->mNameNode = nameIdentifier;
|
||||
MoveNode(fieldDeclaration->mNameNode, fieldDeclaration);
|
||||
}
|
||||
}
|
||||
CheckMultiuseAttributeTypeRef(fieldDeclaration->mTypeRef);
|
||||
|
||||
|
@ -7407,7 +7409,7 @@ BfAstNode* BfReducer::ReadTypeMember(BfAstNode* node, bool declStarted, int dept
|
|||
}
|
||||
else if (auto nextToken = BfNodeDynCast<BfTokenNode>(nextNode))
|
||||
{
|
||||
if (nextToken->GetToken() == BfToken_Operator)
|
||||
if (nextToken->mToken == BfToken_Operator)
|
||||
{
|
||||
auto operatorDecl = mAlloc->Alloc<BfOperatorDeclaration>();
|
||||
BfDeferredAstSizedArray<BfParameterDeclaration*> params(operatorDecl->mParams, mAlloc);
|
||||
|
@ -7493,7 +7495,7 @@ BfAstNode* BfReducer::ReadTypeMember(BfAstNode* node, bool declStarted, int dept
|
|||
|
||||
return operatorDecl;
|
||||
}
|
||||
else if (nextToken->GetToken() == BfToken_LParen)
|
||||
else if (nextToken->mToken == BfToken_LParen)
|
||||
{
|
||||
Fail("Method return type expected", node);
|
||||
|
||||
|
@ -7505,6 +7507,10 @@ BfAstNode* BfReducer::ReadTypeMember(BfAstNode* node, bool declStarted, int dept
|
|||
typeRef = NULL;
|
||||
}
|
||||
}
|
||||
else if (nextToken->mToken == BfToken_Semicolon)
|
||||
{
|
||||
forceIsMethod = true;
|
||||
}
|
||||
}
|
||||
|
||||
if ((nameIdentifier != NULL) || (forceIsMethod) || (indexerThisToken != NULL))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue