Website Summary Files Commits Branches @commit @diff @stats
path: root / JSImpl / src / Parser.cpp
diff options
context:
space:
mode:
Commit202194341e3697d77077aa50652acf1042350997 (patch)
Author
 Martin Dobrev <martindobrev0@gmail.com>
2018-10-15 09:00:16 +0300
Committer
 GitHub <noreply@github.com>
2018-10-15 09:00:16 +0300
Filesd530d0243407e86be9e9116e3853bf7992757ebd /JSImpl/src/Parser.cpp
IPL-202194341e3697d77077aa50652acf1042350997.tar
IPL-202194341e3697d77077aa50652acf1042350997.tar.gz
IPL-202194341e3697d77077aa50652acf1042350997.zip
Parent6c7fc844cebe201408017602ff54bf442df0da25 (diff)
Parentf671c0492871418a7b6fed235196b85f79236cff (diff)
Merge branch 'master' into lexer-errors-handling
1 files changed, 7 insertions, 7 deletions
-rw-r--r--JSImpl/src/Parser.cpp14
diff --git a/JSImpl/src/Parser.cpp b/JSImpl/src/Parser.cpp
index 7fb690f..a2a46e2 100644
--- a/JSImpl/src/Parser.cpp
+++ b/JSImpl/src/Parser.cpp
@@ -248,29 +248,29 @@ ExpressionPtr Parser::SimpleExpression()
// | ArrayLiteral
if (Match(TokenType::Number))
{
- return IPLMakeSharePtr<LiteralExpression>(Prev().Number);
+ return IPLMakeSharePtr<LiteralNumber>(Prev().Number);
}
else if (Match(TokenType::String))
{
- return IPLMakeSharePtr<LiteralExpression>(Prev().Lexeme);
+ return IPLMakeSharePtr<LiteralString>(Prev().Lexeme);
}
else if (Match(TokenType::Null))
{
- return IPLMakeSharePtr<LiteralExpression>(Prev().Type);
+ return IPLMakeSharePtr<LiteralNull>();
}
else if (Match(TokenType::Undefined))
{
- return IPLMakeSharePtr<LiteralExpression>(Prev().Type);
+ return IPLMakeSharePtr<LiteralUndefined>();
}
else if (Match(TokenType::True))
{
bool t = true;
- return IPLMakeSharePtr<LiteralExpression>(t);
+ return IPLMakeSharePtr<LiteralBoolean>(t);
}
else if (Match(TokenType::False))
{
bool f = false;
- return IPLMakeSharePtr<LiteralExpression>(f);
+ return IPLMakeSharePtr<LiteralBoolean>(f);
}
else if (Match(TokenType::Identifier))
{
@@ -930,7 +930,7 @@ ExpressionPtr Parser::Parse()
ExpressionPtr Parser::FunctionDefinition()
{
- auto FormalParameters = [=](IPLVector<IPLString> identifiers) -> bool {
+ auto FormalParameters = [=](IPLVector<IPLString>& identifiers) -> bool {
if (Match(TokenType::LeftParen))
{
while (Match(TokenType::Identifier))