Lines Matching full:virtual
76 virtual ~ParserImpl() = default;
80 [[nodiscard]] virtual bool IsETSParser() const noexcept in IsETSParser()
120 virtual void ParseProgram(ScriptKind kind);
154 virtual ir::Expression *ParsePropertyKey(ExpressionParseFlags flags);
159 virtual void ParseTrailingBlock([[maybe_unused]] ir::CallExpression *callExpr) {} in ParseTrailingBlock()
180 virtual ir::Expression *ParseCatchParam();
240 virtual bool IsExternal() const in IsExternal()
254 …virtual ir::Expression *ParsePotentialExpressionSequence(ir::Expression *expr, ExpressionParseFlag…
287 virtual ir::ThisExpression *ParseThisExpression();
297 virtual bool ValidateLabeledStatement(lexer::TokenType type);
302 virtual ir::Statement *ParseFunctionStatement(StatementParsingFlags flags);
304 …virtual ir::Statement *ParseClassStatement(StatementParsingFlags flags, ir::ClassDefinitionModifie…
307 …virtual ir::Statement *ParseStructStatement(StatementParsingFlags flags, ir::ClassDefinitionModifi…
310 virtual ir::Statement *ParseInterfaceStatement(StatementParsingFlags flags);
322 virtual void ValidateRestParameter(ir::Expression *param);
323 virtual bool ValidateBreakLabel(util::StringView label);
324 virtual bool ValidateContinueLabel(util::StringView label);
330 …virtual void CreateImplicitConstructor(ir::MethodDefinition *&ctor, ArenaVector<ir::AstNode *> &pr…
362 [[nodiscard]] virtual std::unique_ptr<lexer::Lexer> InitLexer(const SourceFile &sourceFile);
370 … virtual ir::Statement *ParseStatement(StatementParsingFlags flags = StatementParsingFlags::NONE);
372 …virtual ir::Expression *ParseExpression(ExpressionParseFlags flags = ExpressionParseFlags::NO_OPTS…
374 …virtual ir::Expression *ParseExpressionOrTypeAnnotation(lexer::TokenType type, ExpressionParseFlag…
376 …virtual ir::Expression *ParsePatternElement(ExpressionParseFlags flags = ExpressionParseFlags::NO_…
379 …virtual bool ParsePotentialNonNullExpression(ir::Expression **returnExpression, lexer::SourcePosit…
380 virtual ir::AstNode *ParseImportSpecifiers(ArenaVector<ir::AstNode *> *specifiers);
381 virtual ir::Statement *ParseImportDeclaration(StatementParsingFlags flags);
383 virtual ir::Expression *ParsePropertyDefinition(
386 …virtual ir::ObjectExpression *ParseObjectExpression(ExpressionParseFlags flags = ExpressionParseFl…
389 … virtual ir::ArrayExpression *ParseArrayExpression(ExpressionParseFlags flags, bool allowOmitted);
390 virtual ir::ArrayExpression *ParseArrayExpression(ExpressionParseFlags flags);
393 …virtual ir::ArrowFunctionExpression *ParsePotentialArrowExpression(ir::Expression **returnExpressi…
395 …virtual bool ParsePotentialGenericFunctionCall(ir::Expression *primaryExpr, ir::Expression **retur…
397 virtual ir::Expression *ParsePotentialAsExpression(ir::Expression *primaryExpression);
398 virtual bool IsNamedFunctionExpression();
399 virtual ir::Identifier *ParsePrimaryExpressionIdent(ExpressionParseFlags flags);
400 virtual bool ValidateArrowFunctionRestParameter(ir::SpreadElement *restElement);
401 virtual ir::Statement *ParsePotentialExpressionStatement(StatementParsingFlags flags);
402 virtual ArenaVector<ir::Expression *> ParseFunctionParams();
403 virtual ir::Expression *CreateParameterThis(ir::TypeNode *typeAnnotation);
404 virtual ir::Expression *ParseFunctionParameter();
405 virtual void ConvertThisKeywordToIdentIfNecessary() {} in ConvertThisKeywordToIdentIfNecessary()
406 virtual void ParseCatchParamTypeAnnotation(ir::AnnotatedExpression *param);
408 virtual ir::ClassDefinition *ParseClassDefinition(ir::ClassDefinitionModifiers modifiers,
410 virtual ir::Identifier *ParseClassIdent(ir::ClassDefinitionModifiers modifiers);
411 virtual ir::Statement *ParsePotentialConstEnum(VariableParsingFlags flags);
412 virtual ir::AstNode *ParseClassElement(const ArenaVector<ir::AstNode *> &properties,
414 virtual bool CheckClassElement(ir::AstNode *property, ir::MethodDefinition *&ctor,
416 … virtual void ValidateClassMethodStart(ClassElementDescriptor *desc, ir::TypeNode *typeAnnotation);
417 virtual ir::MethodDefinition *ParseClassMethod(ClassElementDescriptor *desc,
421 …virtual void ValidateClassSetter(ClassElementDescriptor *desc, const ArenaVector<ir::AstNode *> &p…
423 …virtual void ValidateClassGetter(ClassElementDescriptor *desc, const ArenaVector<ir::AstNode *> &p…
425 virtual ir::ModifierFlags ParseModifiers();
426 virtual ir::Statement *ParseConstStatement(StatementParsingFlags flags);
428 virtual ir::AnnotatedExpression *ParseVariableDeclaratorKey(VariableParsingFlags flags);
429 virtual ir::Statement *ParseAnnotationsInStatement(StatementParsingFlags flags);
430 …virtual ir::VariableDeclarator *ParseVariableDeclarator(ir::Expression *init, lexer::SourcePositio…
432 …virtual ir::VariableDeclarator *ParseVariableDeclaratorInitializer(ir::Expression *init, VariableP…
434 virtual bool IsModifierKind(const lexer::Token &token);
435 virtual void ConsumeClassPrivateIdentifier(ClassElementDescriptor *desc, char32_t *nextCp);
436 virtual void ReportPossibleOutOfBoundaryJumpError(bool allowBreak);
437 virtual void ReportIllegalBreakError(const lexer::SourcePosition &startLoc);
438 virtual void ReportIllegalContinueError();
439 virtual void ReportIfBodyEmptyError(ir::Statement *consequent);
440 virtual void ReportMultipleDefaultError();
441 virtual void ReportIllegalNewLineErrorAfterThrow();
442 virtual void ReportIfVarDeclaration(VariableParsingFlags flags);
443 virtual ir::Expression *ParsePrefixAssertionExpression();
445 virtual ir::Expression *ParseCoverParenthesizedExpressionAndArrowParameterList(
447 virtual void CheckIfStaticConstructor(ir::ModifierFlags flags);
448 …virtual std::tuple<bool, bool, bool> ParseComputedClassFieldOrIndexSignature(ir::Expression **prop…
450 virtual ir::Expression *ParseUnaryOrPrefixUpdateExpression(
452 virtual ir::Expression *ParsePrimaryExpressionWithLiterals(ExpressionParseFlags flags);
457 …virtual ir::Expression *ParsePrimaryExpression(ExpressionParseFlags flags = ExpressionParseFlags::…
458 …virtual ir::Expression *ParsePostPrimaryExpression(ir::Expression *primaryExpr, lexer::SourcePosit…
464 virtual ir::ClassElement *ParseClassStaticBlock();
465 virtual ParserStatus ValidateArrowParameter(ir::Expression *expr, bool *seenOptional);
467 virtual ArrowFunctionDescriptor ConvertToArrowParameter(ir::Expression *expr, bool isAsync);
468 virtual ir::Expression *ParseNewExpression();
470 virtual ir::TSTypeParameterDeclaration *ParseFunctionTypeParameters() in ParseFunctionTypeParameters()
475 virtual ir::TypeNode *ParseFunctionReturnType([[maybe_unused]] ParserStatus status) in ParseFunctionReturnType()
480 …virtual ir::ScriptFunctionFlags ParseFunctionThrowMarker([[maybe_unused]] const bool isRethrowsAll… in ParseFunctionThrowMarker()
486 …virtual ir::Identifier *ParseIdentifierFormatPlaceholder(std::optional<NodeFormatType> nodeFormat);
487 virtual ir::Statement *ParseStatementFormatPlaceholder();
488 virtual ir::AstNode *ParseTypeParametersFormatPlaceholder();
489 virtual ArenaVector<ir::AstNode *> &ParseAstNodesArrayFormatPlaceholder();
490 virtual ArenaVector<ir::Statement *> &ParseStatementsArrayFormatPlaceholder();
491 virtual ArenaVector<ir::Expression *> &ParseExpressionsArrayFormatPlaceholder();
493 virtual std::tuple<bool, ir::BlockStatement *, lexer::SourcePosition, bool> ParseFunctionBody(
495 virtual ir::AstNode *ParseImportDefaultSpecifier(ArenaVector<ir::AstNode *> *specifiers);
496 virtual ir::Statement *ParseExportDeclaration(StatementParsingFlags flags);
499 …virtual ir::ExportDefaultDeclaration *ParseExportDefaultDeclaration(const lexer::SourcePosition &s…
501 virtual ir::Statement *ParseNamedExportDeclaration(const lexer::SourcePosition &startLoc);
502 virtual bool ValidateForInStatement() in ValidateForInStatement()
507 virtual ir::Statement *ParseTryStatement();
508 virtual ir::Statement *ParseThrowStatement();
509 virtual ir::Statement *ParseDebuggerStatement();
511 …virtual ir::Statement *ParseModuleDeclaration(StatementParsingFlags flags = StatementParsingFlags:…
516 virtual ir::Statement *ParseInterfaceDeclaration([[maybe_unused]] bool isStatic) in ParseInterfaceDeclaration()
523 virtual ir::Statement *ParseEnumDeclaration([[maybe_unused]] bool isConst = false,
530 virtual std::tuple<ir::Expression *, ir::TSTypeParameterInstantiation *> ParseSuperClass();
531 virtual ir::Expression *ParseSuperClassReference();