Lines Matching full:virtual
58 virtual ~ParserImpl() = default;
64 [[nodiscard]] virtual bool IsETSParser() const noexcept in IsETSParser()
84 virtual void ParseProgram(ScriptKind kind);
125 virtual void ParseTrailingBlock([[maybe_unused]] ir::CallExpression *callExpr) {} in ParseTrailingBlock()
144 virtual ir::Expression *ParseCatchParam();
182 virtual bool IsExternal() const in IsExternal()
195 …virtual ir::Expression *ParsePotentialExpressionSequence(ir::Expression *expr, ExpressionParseFlag…
227 virtual ir::ThisExpression *ParseThisExpression();
237 virtual ir::Statement *ParseAssertStatement();
238 virtual void ValidateLabeledStatement(lexer::TokenType type);
243 virtual ir::Statement *ParseFunctionStatement(StatementParsingFlags flags);
245 virtual ir::ClassDeclaration *ParseClassStatement(StatementParsingFlags flags,
249 virtual ir::ETSStructDeclaration *ParseStructStatement(StatementParsingFlags flags,
262 virtual void ValidateRestParameter(ir::Expression *param);
263 virtual bool ValidateBreakLabel(util::StringView label);
264 virtual bool ValidateContinueLabel(util::StringView label);
270 …virtual void CreateImplicitConstructor(ir::MethodDefinition *&ctor, ArenaVector<ir::AstNode *> &pr…
302 [[nodiscard]] virtual std::unique_ptr<lexer::Lexer> InitLexer(const SourceFile &sourceFile);
304 … virtual ir::Statement *ParseStatement(StatementParsingFlags flags = StatementParsingFlags::NONE);
306 …virtual ir::Expression *ParseExpression(ExpressionParseFlags flags = ExpressionParseFlags::NO_OPTS…
308 …virtual ir::Expression *ParseExpressionOrTypeAnnotation(lexer::TokenType type, ExpressionParseFlag…
310 …virtual ir::Expression *ParsePatternElement(ExpressionParseFlags flags = ExpressionParseFlags::NO_…
313 …virtual bool ParsePotentialNonNullExpression(ir::Expression **returnExpression, lexer::SourcePosit…
314 virtual ir::AstNode *ParseImportSpecifiers(ArenaVector<ir::AstNode *> *specifiers);
315 virtual ir::Statement *ParseImportDeclaration(StatementParsingFlags flags);
317 virtual ir::Expression *ParsePropertyDefinition(
320 …virtual ir::ObjectExpression *ParseObjectExpression(ExpressionParseFlags flags = ExpressionParseFl…
322 …virtual ir::ArrayExpression *ParseArrayExpression(ExpressionParseFlags flags = ExpressionParseFlag…
325 …virtual ir::ArrowFunctionExpression *ParsePotentialArrowExpression(ir::Expression **returnExpressi…
327 …virtual bool ParsePotentialGenericFunctionCall(ir::Expression *primaryExpr, ir::Expression **retur…
329 virtual ir::Expression *ParsePotentialAsExpression(ir::Expression *primaryExpression);
330 virtual bool IsNamedFunctionExpression();
331 virtual ir::Identifier *ParsePrimaryExpressionIdent(ExpressionParseFlags flags);
332 virtual void ValidateArrowFunctionRestParameter(ir::SpreadElement *restElement);
333 virtual ir::Statement *ParsePotentialExpressionStatement(StatementParsingFlags flags);
334 virtual ArenaVector<ir::Expression *> ParseFunctionParams();
335 virtual ir::Expression *CreateParameterThis(util::StringView className);
336 virtual ir::Expression *ParseFunctionParameter();
337 virtual void ConvertThisKeywordToIdentIfNecessary() {} in ConvertThisKeywordToIdentIfNecessary()
338 virtual void ParseCatchParamTypeAnnotation(ir::AnnotatedExpression *param);
340 virtual ir::ClassDefinition *ParseClassDefinition(ir::ClassDefinitionModifiers modifiers,
342 virtual ir::Identifier *ParseClassIdent(ir::ClassDefinitionModifiers modifiers);
343 virtual ir::Statement *ParsePotentialConstEnum(VariableParsingFlags flags);
344 virtual ir::AstNode *ParseClassElement(const ArenaVector<ir::AstNode *> &properties,
346 virtual bool CheckClassElement(ir::AstNode *property, ir::MethodDefinition *&ctor,
348 … virtual void ValidateClassMethodStart(ClassElementDescriptor *desc, ir::TypeNode *typeAnnotation);
349 virtual ir::MethodDefinition *ParseClassMethod(ClassElementDescriptor *desc,
352 …virtual void ValidateClassSetter(ClassElementDescriptor *desc, const ArenaVector<ir::AstNode *> &p…
354 …virtual void ValidateClassGetter(ClassElementDescriptor *desc, const ArenaVector<ir::AstNode *> &p…
356 virtual ir::ModifierFlags ParseModifiers();
357 virtual ir::Statement *ParseConstStatement(StatementParsingFlags flags);
359 virtual ir::AnnotatedExpression *ParseVariableDeclaratorKey(VariableParsingFlags flags);
360 …virtual ir::VariableDeclarator *ParseVariableDeclarator(ir::Expression *init, lexer::SourcePositio…
362 …virtual ir::VariableDeclarator *ParseVariableDeclaratorInitializer(ir::Expression *init, VariableP…
364 virtual bool IsModifierKind(const lexer::Token &token);
365 virtual void ConsumeClassPrivateIdentifier(ClassElementDescriptor *desc, char32_t *nextCp);
366 virtual void ThrowPossibleOutOfBoundaryJumpError(bool allowBreak);
367 virtual void ThrowIllegalBreakError();
368 virtual void ThrowIllegalContinueError();
369 virtual void ThrowIfBodyEmptyError(ir::Statement *consequent);
370 virtual void ThrowMultipleDefaultError();
371 virtual void ThrowIllegalNewLineErrorAfterThrow();
372 virtual void ThrowIfVarDeclaration(VariableParsingFlags flags);
373 virtual ir::Expression *ParsePrefixAssertionExpression();
375 virtual ir::Expression *ParseCoverParenthesizedExpressionAndArrowParameterList(
377 virtual void ThrowErrorIfStaticConstructor(ir::ModifierFlags flags);
378 …virtual std::tuple<bool, bool, bool> ParseComputedClassFieldOrIndexSignature(ir::Expression **prop…
380 virtual ir::Expression *ParseUnaryOrPrefixUpdateExpression(
382 virtual ir::Expression *ParsePrimaryExpressionWithLiterals(ExpressionParseFlags flags);
387 …virtual ir::Expression *ParsePrimaryExpression(ExpressionParseFlags flags = ExpressionParseFlags::…
388 …virtual ir::Expression *ParsePostPrimaryExpression(ir::Expression *primaryExpr, lexer::SourcePosit…
394 virtual ir::ClassElement *ParseClassStaticBlock();
395 virtual ParserStatus ValidateArrowParameter(ir::Expression *expr, bool *seenOptional);
397 virtual ArrowFunctionDescriptor ConvertToArrowParameter(ir::Expression *expr, bool isAsync);
398 virtual ir::Expression *ParseNewExpression();
400 virtual ir::TSTypeParameterDeclaration *ParseFunctionTypeParameters() in ParseFunctionTypeParameters()
405 virtual ir::TypeNode *ParseFunctionReturnType([[maybe_unused]] ParserStatus status) in ParseFunctionReturnType()
410 …virtual ir::ScriptFunctionFlags ParseFunctionThrowMarker([[maybe_unused]] const bool isRethrowsAll… in ParseFunctionThrowMarker()
416 …virtual ir::Identifier *ParseIdentifierFormatPlaceholder(std::optional<NodeFormatType> nodeFormat)…
417 virtual ir::Statement *ParseStatementFormatPlaceholder() const;
418 virtual ir::AstNode *ParseTypeParametersFormatPlaceholder() const;
419 virtual ArenaVector<ir::AstNode *> &ParseAstNodesArrayFormatPlaceholder() const;
420 virtual ArenaVector<ir::Statement *> &ParseStatementsArrayFormatPlaceholder() const;
421 virtual ArenaVector<ir::Expression *> &ParseExpressionsArrayFormatPlaceholder() const;
423 virtual std::tuple<bool, ir::BlockStatement *, lexer::SourcePosition, bool> ParseFunctionBody(
425 virtual ir::AstNode *ParseImportDefaultSpecifier(ArenaVector<ir::AstNode *> *specifiers);
426 virtual ir::Statement *ParseExportDeclaration(StatementParsingFlags flags);
429 …virtual ir::ExportDefaultDeclaration *ParseExportDefaultDeclaration(const lexer::SourcePosition &s…
431 …virtual ir::ExportNamedDeclaration *ParseNamedExportDeclaration(const lexer::SourcePosition &start…
432 virtual void ValidateForInStatement() {}; in ValidateForInStatement()
433 virtual ir::Statement *ParseTryStatement();
434 virtual ir::ThrowStatement *ParseThrowStatement();
435 virtual ir::DebuggerStatement *ParseDebuggerStatement();
437 …virtual ir::Statement *ParseModuleDeclaration(StatementParsingFlags flags = StatementParsingFlags:…
442 virtual ir::Statement *ParseInterfaceDeclaration([[maybe_unused]] bool isStatic) in ParseInterfaceDeclaration()
448 virtual ir::Statement *ParseEnumDeclaration([[maybe_unused]] bool isConst = false,
454 virtual std::tuple<ir::Expression *, ir::TSTypeParameterInstantiation *> ParseSuperClass();
455 virtual ir::Expression *ParseSuperClassReference();