aboutsummaryrefslogtreecommitdiffstats
path: root/Parser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Parser.cpp')
-rw-r--r--Parser.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/Parser.cpp b/Parser.cpp
index 5cfc8f46..812b3263 100644
--- a/Parser.cpp
+++ b/Parser.cpp
@@ -189,7 +189,11 @@ ASTPointer<FunctionDefinition> Parser::parseFunctionDefinition(bool _isPublic, A
docstring = make_shared<ASTString>(m_scanner->getCurrentCommentLiteral());
expectToken(Token::FUNCTION);
- ASTPointer<ASTString> name(expectIdentifierToken());
+ ASTPointer<ASTString> name;
+ if (m_scanner->getCurrentToken() == Token::LPAREN)
+ name = make_shared<ASTString>(); // anonymous function
+ else
+ name = expectIdentifierToken();
ASTPointer<ParameterList> parameters(parseParameterList());
bool isDeclaredConst = false;
vector<ASTPointer<ModifierInvocation>> modifiers;