mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-10 04:22:20 +02:00
Appended fields
This commit is contained in:
parent
52544e6782
commit
1d2811f50d
22 changed files with 596 additions and 52 deletions
|
@ -6319,6 +6319,7 @@ BfAstNode* BfReducer::ReadTypeMember(BfTokenNode* tokenNode, bool declStarted, i
|
|||
case BfToken_Override:
|
||||
case BfToken_Abstract:
|
||||
case BfToken_Concrete:
|
||||
case BfToken_Append:
|
||||
case BfToken_Extern:
|
||||
case BfToken_New:
|
||||
case BfToken_Implicit:
|
||||
|
@ -6575,6 +6576,30 @@ BfAstNode* BfReducer::ReadTypeMember(BfTokenNode* tokenNode, bool declStarted, i
|
|||
|
||||
if (token == BfToken_Extern)
|
||||
{
|
||||
if ((fieldDecl->mExternSpecifier != NULL) && (fieldDecl->mExternSpecifier->mToken == BfToken_Append))
|
||||
{
|
||||
Fail("Extern cannot be used with 'append' specified", tokenNode);
|
||||
}
|
||||
else if (fieldDecl->mExternSpecifier != NULL)
|
||||
{
|
||||
Fail("Extern already specified", tokenNode);
|
||||
}
|
||||
|
||||
MEMBER_SET(fieldDecl, mExternSpecifier, tokenNode);
|
||||
handled = true;
|
||||
}
|
||||
|
||||
if (token == BfToken_Append)
|
||||
{
|
||||
if ((fieldDecl->mExternSpecifier != NULL) && (fieldDecl->mExternSpecifier->mToken == BfToken_Extern))
|
||||
{
|
||||
Fail("Append cannot be used with 'extern' specified", tokenNode);
|
||||
}
|
||||
else if (fieldDecl->mExternSpecifier != NULL)
|
||||
{
|
||||
Fail("Append already specified", tokenNode);
|
||||
}
|
||||
|
||||
MEMBER_SET(fieldDecl, mExternSpecifier, tokenNode);
|
||||
handled = true;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue