Improve errors raising by parser

This commit is contained in:
Bartłomiej Pluta
2019-07-06 18:04:05 +02:00
parent 6fd49ba54a
commit fbb3f79731
22 changed files with 125 additions and 118 deletions

View File

@@ -48,10 +48,10 @@ class ExtendNode(StatementNode):
return Parser.allOf(
Parser.terminalParser(TokenType.EXTEND),
TypeNode.parse,
Parser.terminalParser(TokenType.AS),
IdentifierNode.identifierParser(),
cls._methodsDeclarationsParser(),
Parser.doAssert(TypeNode.parse, "type being extended"),
Parser.terminalParser(TokenType.AS, doAssert=True),
Parser.doAssert(IdentifierNode.identifierParser(), "variable name"),
Parser.doAssert(cls._methodsDeclarationsParser(), "methods declarations"),
createNode=createNode
)(input)
@@ -64,7 +64,7 @@ class ExtendNode(StatementNode):
return Parser.loop(
Parser.terminalParser(TokenType.OPEN_BRACKET),
FunctionDefinitionNode.parse,
Parser.doAssert(FunctionDefinitionNode.parse, f"method declaration or '{TokenType.CLOSE_BRACKET.key}'"),
Parser.terminalParser(TokenType.CLOSE_BRACKET),
createNode=createNode
)