Skip to content

Commit 9acf3b0

Browse files
committed
Fix unsupported allow_discard modifiers.
1 parent 149f31e commit 9acf3b0

File tree

2 files changed

+14
-7
lines changed

2 files changed

+14
-7
lines changed

UnrealAngelscriptParser/Grammar/UnrealAngelscriptLexer.g4

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,10 @@ Check: 'check';
109109

110110
Auto: 'auto';
111111

112+
NoDiscard: 'no_discard';
113+
114+
AllowDiscard: 'allow_discard';
115+
112116
AcceptTemporaryThis: 'accept_temporary_this';
113117

114118
Access: 'access';
@@ -153,8 +157,6 @@ Inherited: 'inherited';
153157

154158
Namespace: 'namespace';
155159

156-
NoDiscard: 'no_discard';
157-
158160
Nullptr: 'nullptr';
159161

160162
Operator: 'operator';

UnrealAngelscriptParser/Grammar/UnrealAngelscriptParser.g4

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ ufunction:
5858

5959
moduleImport:
6060
Import Identifier (Dot Identifier)* Semi
61-
| Import declSpecifierSeq? declarator postFuncSpecifierSeq? From StringLiteral Semi
61+
| Import declSpecifierSeq? declarator virtualSpecifierSeq? From StringLiteral Semi
6262
;
6363

6464
asGeneric:
@@ -432,7 +432,7 @@ declaratorDef:
432432
declaratorid | declaratorDef (parametersAndQualifiers | LeftBracket constantExpression? RightBracket);
433433

434434
parametersAndQualifiers:
435-
LeftParen parameterDeclarationClause? RightParen thisModifier? refqualifier? NoDiscard?;
435+
LeftParen parameterDeclarationClause? RightParen thisModifier? refqualifier?;
436436

437437
thisModifier: Const | AcceptTemporaryThis;
438438

@@ -451,7 +451,7 @@ parameterDeclaration:
451451
declSpecifierSeq Identifier? (Assign initializerClause)?;
452452

453453
functionDefinition:
454-
ufunction? (accessSpecifier | accessPattern)? Mixin? declSpecifierSeq? declarator postFuncSpecifierSeq? functionBody;
454+
ufunction? (accessSpecifier | accessPattern)? Mixin? declSpecifierSeq? declarator virtualSpecifierSeq? angelscriptModifierSeq? functionBody;
455455

456456
functionBody:
457457
compoundStatement
@@ -514,16 +514,21 @@ memberDeclaratorList:
514514

515515
memberDeclarator:
516516
declarator (
517-
postFuncSpecifierSeq?
517+
virtualSpecifierSeq? angelscriptModifierSeq?
518518
| braceOrEqualInitializer?
519519
)
520520
| Identifier? Colon constantExpression
521521
| Identifier;
522522

523-
postFuncSpecifierSeq: virtualSpecifier+;
523+
virtualSpecifierSeq: virtualSpecifier+;
524524

525525
virtualSpecifier: Override | Final | Property;
526526

527+
angelscriptModifier:
528+
NoDiscard | AllowDiscard | AcceptTemporaryThis;
529+
530+
angelscriptModifierSeq: angelscriptModifier+;
531+
527532
/*Derived classes*/
528533

529534
baseClause: Colon baseSpecifierList;

0 commit comments

Comments
 (0)