LibJS: Implement typeof operator

This commit is contained in:
Conrad Pankoff 2020-03-18 06:33:32 +11:00 committed by Andreas Kling
parent 0a71533aff
commit 46a897b59b
Notes: sideshowbarker 2024-07-19 08:16:15 +09:00
4 changed files with 27 additions and 1 deletions

View file

@ -254,6 +254,9 @@ NonnullOwnPtr<Expression> Parser::parse_unary_prefixed_expression()
case TokenType::Tilde:
consume();
return make<UnaryExpression>(UnaryOp::BitwiseNot, parse_primary_expression());
case TokenType::Typeof:
consume();
return make<UnaryExpression>(UnaryOp::Typeof, parse_primary_expression());
default:
m_has_errors = true;
expected("primary expression (missing switch case)");
@ -532,7 +535,8 @@ bool Parser::match_unary_prefixed_expression() const
return type == TokenType::PlusPlus
|| type == TokenType::MinusMinus
|| type == TokenType::ExclamationMark
|| type == TokenType::Tilde;
|| type == TokenType::Tilde
|| type == TokenType::Typeof;
}
bool Parser::match_secondary_expression() const