Lines Matching refs:ir
46 namespace panda::es2panda::ir {
130 ir::MethodDefinitionKind methodKind {};
132 ir::ModifierFlags modifiers {};
147 …explicit ArrowFunctionDescriptor(ArenaVector<ir::Expression *> &&p, binder::FunctionParamScope *ps, in ArrowFunctionDescriptor()
153 ArenaVector<ir::Expression *> params;
209 [[noreturn]] void ThrowParameterModifierError(ir::ModifierFlags status) const; in DEFINE_BITOPS()
240 void AddCommonjsParams(ArenaVector<ir::Expression *> ¶ms); in DEFINE_BITOPS()
241 void AddReflectApplyArgs(ArenaVector<ir::Expression *> &args, ir::FunctionExpression *wrapper); in DEFINE_BITOPS()
243 bool CheckTopStatementsForRequiredDeclare(const ArenaVector<ir::Statement *> &statements); in DEFINE_BITOPS()
250 static bool IsPropertyKeysAreSame(const ir::Expression *exp1, const ir::Expression *exp2); in DEFINE_BITOPS()
251 …static bool IsMemberExpressionsAreSame(const ir::MemberExpression *mExp1, const ir::MemberExpressi… in DEFINE_BITOPS()
252 …static bool IsMethodDefinitionsAreSame(const ir::MethodDefinition *property, ir::MethodDefinition … in DEFINE_BITOPS()
253 ir::TSTypeReference *ParseTsConstExpression(); in DEFINE_BITOPS()
254 ir::Expression *ParseTsTypeOperatorOrTypeReference(bool throwError); in DEFINE_BITOPS()
255 ir::Expression *ParseTsIdentifierReference(TypeAnnotationParsingOptions options); in DEFINE_BITOPS()
256 ir::Expression *ParseTsBasicType(TypeAnnotationParsingOptions options); in DEFINE_BITOPS()
257 …ir::TSIntersectionType *ParseTsIntersectionType(ir::Expression *type, bool inUnion, bool restrictE… in DEFINE_BITOPS()
258 ir::TSUnionType *ParseTsUnionType(ir::Expression *type, bool restrictExtends); in DEFINE_BITOPS()
259 …ir::Expression *ParseTsParenthesizedOrFunctionType(ir::Expression *typeAnnotation, bool throwError… in DEFINE_BITOPS()
260 ir::TSArrayType *ParseTsArrayType(ir::Expression *elementType); in DEFINE_BITOPS()
262 …ir::Expression *ParseTsFunctionType(lexer::SourcePosition startLoc, bool isConstructionType, bool … in DEFINE_BITOPS()
264 ir::TSTypeParameter *ParseTsMappedTypeParameter(); in DEFINE_BITOPS()
265 ir::MappedOption ParseMappedOption(lexer::TokenType tokenType); in DEFINE_BITOPS()
266 ir::TSMappedType *ParseTsMappedType(); in DEFINE_BITOPS()
267 ir::TSTypePredicate *ParseTsTypePredicate(); in DEFINE_BITOPS()
269 …ir::Expression *ParseTsTypeLiteralOrInterfaceKey(bool *computed, bool *signature, bool *isIndexSig… in DEFINE_BITOPS()
270 void ValidateIndexSignatureParameterType(ir::Expression *typeAnnotation); in DEFINE_BITOPS()
271 ir::Expression *ParseTsConditionalType(ir::Expression *checkType, bool restrictExtends); in DEFINE_BITOPS()
272 ir::Expression *ParseTsTypeLiteralOrInterfaceMember(); in DEFINE_BITOPS()
273 ArenaVector<ir::Expression *> ParseTsTypeLiteralOrInterface(); in DEFINE_BITOPS()
274 ir::Expression *ParseTsThisType(bool throwError); in DEFINE_BITOPS()
275 ir::Expression *ParseTsIndexAccessType(ir::Expression *typeName, bool throwError); in DEFINE_BITOPS()
276 ir::Expression *ParseTsQualifiedReference(ir::Expression *typeName); in DEFINE_BITOPS()
277 …ir::Expression *ParseTsTypeReferenceOrQuery(TypeAnnotationParsingOptions options, bool parseQuery … in DEFINE_BITOPS()
279 void HandleRestType(ir::AstNodeType elementType, bool *hasRestType) const; in DEFINE_BITOPS()
280 … ir::Expression *ParseTsTupleElement(ir::TSTupleKind *kind, bool *seenOptional, bool *hasRestType); in DEFINE_BITOPS()
281 ir::TSTupleType *ParseTsTupleType(); in DEFINE_BITOPS()
282 … ir::TSImportType *ParseTsImportType(const lexer::SourcePosition &startLoc, bool isTypeof = false); in DEFINE_BITOPS()
283 ir::Expression *ParseTsTypeAnnotation(TypeAnnotationParsingOptions *options); in DEFINE_BITOPS()
284 ir::Expression *ParseTsTypeLiteralOrTsMappedType(ir::Expression *typeAnnotation); in DEFINE_BITOPS()
285 …ir::Expression *ParseTsTypeReferenceOrTsTypePredicate(ir::Expression *typeAnnotation, bool canBeTs… in DEFINE_BITOPS()
287 …ir::Expression *ParseTsThisTypeOrTsTypePredicate(ir::Expression *typeAnnotation, bool canBeTsTypeP… in DEFINE_BITOPS()
289 ir::Expression *ParseTsTemplateLiteralType(bool throwError); in DEFINE_BITOPS()
290 …ir::Expression *ParseTsTypeAnnotationElement(ir::Expression *typeAnnotation, TypeAnnotationParsing… in DEFINE_BITOPS()
291 ir::ModifierFlags ParseModifiers(); in DEFINE_BITOPS()
296 void ValidateClassMethodStart(ClassElmentDescriptor *desc, ir::Expression *typeAnnotation); in DEFINE_BITOPS()
297 ir::Expression *ParseClassKey(ClassElmentDescriptor *desc, bool isDeclare); in DEFINE_BITOPS()
299 …void ValidateClassSetter(ClassElmentDescriptor *desc, const ArenaVector<ir::Statement *> &properti… in DEFINE_BITOPS()
300 ir::Expression *propName, ir::ScriptFunction *func, bool hasDecorator, in DEFINE_BITOPS()
302 …void ValidateClassGetter(ClassElmentDescriptor *desc, const ArenaVector<ir::Statement *> &properti… in DEFINE_BITOPS()
303 ir::Expression *propName, ir::ScriptFunction *func, bool hasDecorator, in DEFINE_BITOPS()
305 …void ValidatePrivateProperty(ir::Statement *stmt, std::unordered_set<util::StringView> &privateNam… in DEFINE_BITOPS()
307 …ir::MethodDefinition *ParseClassMethod(ClassElmentDescriptor *desc, const ArenaVector<ir::Statemen… in DEFINE_BITOPS()
308 ir::Expression *propName, lexer::SourcePosition *propEnd, in DEFINE_BITOPS()
309 … ArenaVector<ir::Decorator *> &&decorators, bool isDeclare); in DEFINE_BITOPS()
310 ir::ClassStaticBlock *ParseStaticBlock(ClassElmentDescriptor *desc); in DEFINE_BITOPS()
311 …ir::Statement *ParseClassProperty(ClassElmentDescriptor *desc, const ArenaVector<ir::Statement *> … in DEFINE_BITOPS()
312 ir::Expression *propName, ir::Expression *typeAnnotation, in DEFINE_BITOPS()
313 ArenaVector<ir::Decorator *> &&decorators, bool isDeclare, in DEFINE_BITOPS()
318 void CheckFieldKey(ir::Expression *propName); in DEFINE_BITOPS()
319 ir::Expression *ParseClassKeyAnnotation(); in DEFINE_BITOPS()
320 ir::Decorator *ParseDecorator(); in DEFINE_BITOPS()
321 ArenaVector<ir::Decorator *> ParseDecorators(); in DEFINE_BITOPS()
322 ir::Statement *ParseClassElement(const ArenaVector<ir::Statement *> &properties, in DEFINE_BITOPS()
323 … ArenaVector<ir::TSIndexSignature *> *indexSignatures, bool hasSuperClass, in DEFINE_BITOPS()
326 ir::MethodDefinition *CreateImplicitMethod(ir::Expression *superClass, bool hasSuperClass, in DEFINE_BITOPS()
327 … ir::ScriptFunctionFlags funcFlag, bool isDeclare = false); in DEFINE_BITOPS()
328 …ir::MethodDefinition *CheckClassMethodOverload(ir::Statement *property, ir::MethodDefinition **cto… in DEFINE_BITOPS()
329 … lexer::SourcePosition errorInfo, ir::MethodDefinition *lastOverload, in DEFINE_BITOPS()
331 ir::Identifier *SetIdentNodeInClassDefinition(bool isDeclare, binder::ConstDecl **decl); in DEFINE_BITOPS()
332 …ir::ClassDefinition *ParseClassDefinition(bool isDeclaration, bool idRequired = true, bool isDecla… in DEFINE_BITOPS()
334 ir::Expression *ParseSuperClass(bool isDeclare, bool *hasSuperClass, bool *isExtendsFromNull); in DEFINE_BITOPS()
335 ArenaVector<ir::TSClassImplements *> ParseTSClassImplements(bool isDeclare); in DEFINE_BITOPS()
336 void ValidateClassConstructor(const ir::MethodDefinition *ctor, in DEFINE_BITOPS()
337 const ArenaVector<ir::Statement *> &properties, in DEFINE_BITOPS()
340 void FindSuperCall(const ir::AstNode *parent, bool *hasSuperCall); in DEFINE_BITOPS()
341 void FindSuperCallInCtorChildNode(const ir::AstNode *childNode, bool *hasSuperCall); in DEFINE_BITOPS()
342 …bool SuperCallShouldBeRootLevel(const ir::MethodDefinition *ctor, const ArenaVector<ir::Statement … in DEFINE_BITOPS()
343 … void ValidateSuperCallLocation(const ir::MethodDefinition *ctor, bool superCallShouldBeRootLevel); in DEFINE_BITOPS()
344 void FindThisOrSuperReference(const ir::AstNode *parent, bool *hasThisOrSuperReference); in DEFINE_BITOPS()
345 …void FindThisOrSuperReferenceInChildNode(const ir::AstNode *childNode, bool *hasThisOrSuperReferen… in DEFINE_BITOPS()
348 ir::Property *ParseShorthandProperty(const lexer::LexerPosition *startPos); in DEFINE_BITOPS()
350 …bool ParsePropertyModifiers(ExpressionParseFlags flags, ir::PropertyKind *propertyKind, ParserStat… in DEFINE_BITOPS()
351 ir::Expression *ParsePropertyKey(ExpressionParseFlags flags); in DEFINE_BITOPS()
352 …ir::Expression *ParsePropertyValue(const ir::PropertyKind *propertyKind, const ParserStatus *metho… in DEFINE_BITOPS()
356 …ir::Expression *ParsePostfixTypeOrHigher(ir::Expression *typeAnnotation, TypeAnnotationParsingOpti… in DEFINE_BITOPS()
357 ir::Expression *TryParseConstraintOfInferType(TypeAnnotationParsingOptions *options); in DEFINE_BITOPS()
358 …ir::Expression *ParsePropertyDefinition(ExpressionParseFlags flags = ExpressionParseFlags::NO_OPTS… in DEFINE_BITOPS()
360 …ir::TSTypeParameter *ParseTsTypeParameter(bool throwError, bool addBinding = false, bool isAllowIn… in DEFINE_BITOPS()
361 …ir::TSTypeParameterDeclaration *ParseTsTypeParameterDeclaration(bool throwError = true, bool isAll… in DEFINE_BITOPS()
362 ir::TSTypeParameterInstantiation *ParseTsTypeParameterInstantiation(bool throwError = true); in DEFINE_BITOPS()
363 ir::ScriptFunction *ParseFunction(ParserStatus newStatus = ParserStatus::NO_OPTS, in DEFINE_BITOPS()
365 ArenaVector<ir::ParamDecorators> *paramDecorators = nullptr); in DEFINE_BITOPS()
366 …void ValidateFunctionParam(const ArenaVector<ir::Expression *> ¶ms, const ir::Expression *para… in DEFINE_BITOPS()
368 void ValidateTsFunctionOverloadParams(const ArenaVector<ir::Expression *> ¶ms); in DEFINE_BITOPS()
369 …void CheckAccessorPair(const ArenaVector<ir::Statement *> &properties, const ir::Expression *propN… in DEFINE_BITOPS()
370 … ir::MethodDefinitionKind methodKind, ir::ModifierFlags access, bool hasDecorator, in DEFINE_BITOPS()
372 ArenaVector<ir::Expression *> ParseFunctionParams(bool isDeclare = false, in DEFINE_BITOPS()
373 … ArenaVector<ir::ParamDecorators> *paramDecorators = nullptr); in DEFINE_BITOPS()
374 … ir::SpreadElement *ParseSpreadElement(ExpressionParseFlags flags = ExpressionParseFlags::NO_OPTS); in DEFINE_BITOPS()
375 …ir::TSParameterProperty *CreateTsParameterProperty(ir::Expression *parameter, ir::ModifierFlags mo… in DEFINE_BITOPS()
376 ir::Expression *ParseFunctionParameter(bool isDeclare); in DEFINE_BITOPS()
377 …void CreateTSVariableForProperty(ir::AstNode *node, const ir::Expression *key, binder::VariableFla… in DEFINE_BITOPS()
378 …void CheckObjectTypeForDuplicatedProperties(ir::Expression *member, ArenaVector<ir::Expression *> … in DEFINE_BITOPS()
382 ir::Expression *ParseExpression(ExpressionParseFlags flags = ExpressionParseFlags::NO_OPTS); in DEFINE_BITOPS()
383 ir::ArrowFunctionExpression *ParseTsGenericArrowFunction(); in DEFINE_BITOPS()
384 …ir::TSTypeAssertion *ParseTsTypeAssertion(ExpressionParseFlags flags = ExpressionParseFlags::NO_OP… in DEFINE_BITOPS()
385 ir::TSAsExpression *ParseTsAsExpression(ir::Expression *expr, ExpressionParseFlags flags); in DEFINE_BITOPS()
386 ir::TSSatisfiesExpression *ParseTsSatisfiesExpression(ir::Expression *expr); in DEFINE_BITOPS()
387 … ir::Expression *ParseArrayExpression(ExpressionParseFlags flags = ExpressionParseFlags::NO_OPTS); in DEFINE_BITOPS()
388 ir::YieldExpression *ParseYieldExpression(); in DEFINE_BITOPS()
389 …ir::Expression *ParsePotentialExpressionSequence(ir::Expression *expr, ExpressionParseFlags flags); in DEFINE_BITOPS()
390 ParserStatus ValidateArrowParameter(ir::Expression *expr); in DEFINE_BITOPS()
392 ArrowFunctionDescriptor ConvertToArrowParameter(ir::Expression *expr, bool isAsync, in DEFINE_BITOPS()
394 …ir::ArrowFunctionExpression *ParseArrowFunctionExpressionBody(ArrowFunctionContext *arrowFunctionC… in DEFINE_BITOPS()
397 … ir::TSTypeParameterDeclaration *typeParamDecl, in DEFINE_BITOPS()
398 … ir::Expression *returnTypeAnnotation); in DEFINE_BITOPS()
399 ir::ArrowFunctionExpression *ParseArrowFunctionExpression(ir::Expression *expr, in DEFINE_BITOPS()
400 … ir::TSTypeParameterDeclaration *typeParamDecl, in DEFINE_BITOPS()
401 … ir::Expression *returnTypeAnnotation, bool isAsync); in DEFINE_BITOPS()
402 ir::Expression *ParseCoverParenthesizedExpressionAndArrowParameterList(); in DEFINE_BITOPS()
403 ir::Expression *ParseKeywordExpression(); in DEFINE_BITOPS()
404 ir::Expression *ParseBinaryExpression(ir::Expression *left); in DEFINE_BITOPS()
405 …ir::CallExpression *ParseCallExpression(ir::Expression *callee, bool isOptionalChain = false, bool… in DEFINE_BITOPS()
406 ir::ArrowFunctionExpression *ParsePotentialArrowExpression(ir::Expression **returnExpression, in DEFINE_BITOPS()
410 void ValidateUpdateExpression(ir::Expression *returnExpression, bool isChainExpression); in DEFINE_BITOPS()
412 …bool ParsePotentialTsGenericFunctionCall(ir::Expression **returnExpression, const lexer::SourcePos… in DEFINE_BITOPS()
414 …ir::Expression *ParsePostPrimaryExpression(ir::Expression *primaryExpr, lexer::SourcePosition star… in DEFINE_BITOPS()
416 ir::Expression *ParseMemberExpression(bool ignoreCallExpression = false, in DEFINE_BITOPS()
418 …ir::ObjectExpression *ParseObjectExpression(ExpressionParseFlags flags = ExpressionParseFlags::NO_… in DEFINE_BITOPS()
419 …ir::SequenceExpression *ParseSequenceExpression(ir::Expression *startExpr, bool acceptRest = false, in DEFINE_BITOPS()
421 …ir::Expression *ParseUnaryOrPrefixUpdateExpression(ExpressionParseFlags flags = ExpressionParseFla… in DEFINE_BITOPS()
422 …ir::Expression *ParseLeftHandSideExpression(ExpressionParseFlags flags = ExpressionParseFlags::NO_… in DEFINE_BITOPS()
423 ir::MetaProperty *ParsePotentialNewTarget(); in DEFINE_BITOPS()
424 void CheckInvalidDestructuring(const ir::AstNode *object) const; in DEFINE_BITOPS()
425 void ValidateParenthesizedExpression(ir::Expression *lhsExpression); in DEFINE_BITOPS()
426 ir::Expression *ParseAssignmentExpression(ir::Expression *lhsExpression, in DEFINE_BITOPS()
428 …ir::Expression *ParsePrimaryExpression(ExpressionParseFlags flags = ExpressionParseFlags::NO_OPTS); in DEFINE_BITOPS()
429 ir::NewExpression *ParseNewExpression(); in DEFINE_BITOPS()
430 void ParsePotentialTsFunctionParameter(ExpressionParseFlags flags, ir::Expression *returnNode, in DEFINE_BITOPS()
432 ir::Expression *ParsePatternElement(ExpressionParseFlags flags = ExpressionParseFlags::NO_OPTS, in DEFINE_BITOPS()
434 ir::TemplateLiteral *ParseTemplateLiteral(bool isTaggedTemplate = false); in DEFINE_BITOPS()
435 ir::Expression *ParseImportExpression(); in DEFINE_BITOPS()
436 ir::ObjectExpression *ParseImportAssertionForDynamicImport(); in DEFINE_BITOPS()
437 void ValidateImportAssertionForDynamicImport(ir::ObjectExpression *importAssertion); in DEFINE_BITOPS()
438 ir::AssertClause *ParseAssertClause(); in DEFINE_BITOPS()
439 ir::AssertEntry *ParseAssertEntry(); in DEFINE_BITOPS()
440 ir::FunctionExpression *ParseFunctionExpression(ParserStatus newStatus = ParserStatus::NO_OPTS); in DEFINE_BITOPS()
441 ir::Expression *ParseOptionalChain(ir::Expression *leftSideExpr); in DEFINE_BITOPS()
442 ir::Expression *ParseOptionalMemberExpression(ir::Expression *object); in DEFINE_BITOPS()
443 void ParseNameSpaceImport(ArenaVector<ir::AstNode *> *specifiers, bool isType); in DEFINE_BITOPS()
444 ir::Identifier *ParseNamedImport(const lexer::Token &importedToken); in DEFINE_BITOPS()
450 ir::StringLiteral *ParseFromClause(bool requireFrom = true); in DEFINE_BITOPS()
451 void ParseNamedImportSpecifiers(ArenaVector<ir::AstNode *> *specifiers, bool isType); in DEFINE_BITOPS()
452 ir::Expression *ParseModuleReference(); in DEFINE_BITOPS()
453 ir::AstNode *ParseImportDefaultSpecifier(ArenaVector<ir::AstNode *> *specifiers, bool isType); in DEFINE_BITOPS()
454 ir::AstNode *ParseImportSpecifiers(ArenaVector<ir::AstNode *> *specifiers, bool isType); in DEFINE_BITOPS()
455 void ValidateAssignmentTarget(ExpressionParseFlags flags, ir::Expression *node); in DEFINE_BITOPS()
456 void ValidateLvalueAssignmentTarget(ir::Expression *node) const; in DEFINE_BITOPS()
457 void ValidateArrowParameterBindings(const ir::Expression *node); in DEFINE_BITOPS()
459 … ir::ExportDefaultDeclaration *ParseExportDefaultDeclaration(const lexer::SourcePosition &startLoc, in DEFINE_BITOPS()
460 … ArenaVector<ir::Decorator *> decorators, in DEFINE_BITOPS()
462 ir::ExportAllDeclaration *ParseExportAllDeclaration(const lexer::SourcePosition &startLoc); in DEFINE_BITOPS()
463 …ir::ExportNamedDeclaration *ParseExportNamedSpecifiers(const lexer::SourcePosition &startLoc, bool… in DEFINE_BITOPS()
464 ir::ExportNamedDeclaration *ParseNamedExportDeclaration(const lexer::SourcePosition &startLoc, in DEFINE_BITOPS()
465 … ArenaVector<ir::Decorator *> &&decorators); in DEFINE_BITOPS()
466 ir::Identifier *ParseNamedExport(const lexer::Token &exportedToken); in DEFINE_BITOPS()
468 ir::PrivateIdentifier *ParsePrivateIdentifier(); in DEFINE_BITOPS()
472 ir::Expression *DoOutsideOfDisallowConditinalTypesContext(Function func, Args &&... args); in DEFINE_BITOPS()
476 ir::Expression *DoInsideOfDisallowConditinalTypesContext(Function func, Args &&... args); in DEFINE_BITOPS()
484 void ConsumeSemicolon(ir::Statement *statement); in DEFINE_BITOPS()
487 void CheckLabelledFunction(const ir::Statement *node); in DEFINE_BITOPS()
492 …void AddImportEntryItem(const ir::StringLiteral *source, const ArenaVector<ir::AstNode *> *specifi… in DEFINE_BITOPS()
493 …void AddImportEntryItemForImportSpecifier(const ir::StringLiteral *source, const ir::AstNode *spec… in DEFINE_BITOPS()
494 void AddImportEntryItemForImportDefaultOrNamespaceSpecifier(const ir::StringLiteral *source, in DEFINE_BITOPS()
495 … const ir::AstNode *specifier, bool isType); in DEFINE_BITOPS()
496 void AddExportNamedEntryItem(const ArenaVector<ir::ExportSpecifier *> &specifiers, in DEFINE_BITOPS()
497 const ir::StringLiteral *source, bool isType); in DEFINE_BITOPS()
498 …void AddExportStarEntryItem(const lexer::SourcePosition &startLoc, const ir::StringLiteral *source, in DEFINE_BITOPS()
499 const ir::Identifier *exported); in DEFINE_BITOPS()
500 void AddExportDefaultEntryItem(const ir::AstNode *declNode); in DEFINE_BITOPS()
501 void AddExportLocalEntryItem(const ir::Statement *declNode, bool isTsModule); in DEFINE_BITOPS()
502 void AddTsTypeExportLocalEntryItem(const ir::Statement *declNode, bool isTsModule, in DEFINE_BITOPS()
507 bool ParseDirective(ArenaVector<ir::Statement *> *statements); in DEFINE_BITOPS()
508 void ParseDirectivePrologue(ArenaVector<ir::Statement *> *statements); in DEFINE_BITOPS()
509 …ArenaVector<ir::Statement *> ParseStatementList(StatementParsingFlags flags = StatementParsingFlag… in DEFINE_BITOPS()
511 ir::Statement *ParseStatement(StatementParsingFlags flags = StatementParsingFlags::NONE); in DEFINE_BITOPS()
512 ir::TSModuleDeclaration *ParseTsModuleDeclaration(bool isDeclare, bool isExport = false); in DEFINE_BITOPS()
513 …ir::TSModuleDeclaration *ParseTsAmbientExternalModuleDeclaration(const lexer::SourcePosition &star… in DEFINE_BITOPS()
515 … ir::TSModuleDeclaration *ParseTsModuleOrNamespaceDelaration(const lexer::SourcePosition &startLoc, in DEFINE_BITOPS()
519 …ir::TSImportEqualsDeclaration *ParseTsImportEqualsDeclaration(const lexer::SourcePosition &startLo… in DEFINE_BITOPS()
521 …ir::TSNamespaceExportDeclaration *ParseTsNamespaceExportDeclaration(const lexer::SourcePosition &s… in DEFINE_BITOPS()
522 ir::TSModuleBlock *ParseTsModuleBlock(); in DEFINE_BITOPS()
523 ir::BlockStatement *ParseFunctionBody(); in DEFINE_BITOPS()
524 ir::BlockStatement *ParseBlockStatement(); in DEFINE_BITOPS()
525 ir::BlockStatement *ParseBlockStatement(binder::Scope *scope); in DEFINE_BITOPS()
526 ir::EmptyStatement *ParseEmptyStatement(); in DEFINE_BITOPS()
527 ir::DebuggerStatement *ParseDebuggerStatement(); in DEFINE_BITOPS()
528 ir::BreakStatement *ParseBreakStatement(); in DEFINE_BITOPS()
529 ir::ContinueStatement *ParseContinueStatement(); in DEFINE_BITOPS()
530 ir::DoWhileStatement *ParseDoWhileStatement(); in DEFINE_BITOPS()
531 ir::Statement *ParsePotentialExpressionStatement(StatementParsingFlags flags, bool isDeclare); in DEFINE_BITOPS()
532 ir::Statement *ParseVarStatement(bool isDeclare); in DEFINE_BITOPS()
533 ir::Statement *ParseLetStatement(StatementParsingFlags flags, bool isDeclare); in DEFINE_BITOPS()
534 ir::Statement *ParseConstStatement(StatementParsingFlags flags, bool isDeclare); in DEFINE_BITOPS()
535 …ir::Statement *ParseExpressionStatement(StatementParsingFlags flags = StatementParsingFlags::NONE); in DEFINE_BITOPS()
536 ir::Statement *ParseFunctionStatement(StatementParsingFlags flags, bool isDeclare); in DEFINE_BITOPS()
537 ir::FunctionDeclaration *ParseFunctionDeclaration(bool canBeAnonymous = false, in DEFINE_BITOPS()
540 void AddFunctionToBinder(ir::ScriptFunction *func, ParserStatus newStatus); in DEFINE_BITOPS()
541 void CheckOptionalBindingPatternParameter(ir::ScriptFunction *func) const; in DEFINE_BITOPS()
542 …ir::Statement *ParseExportDeclaration(StatementParsingFlags flags, ArenaVector<ir::Decorator *> &&… in DEFINE_BITOPS()
543 std::tuple<ForStatementKind, ir::AstNode *, ir::Expression *, ir::Expression *> ParseForInOf( in DEFINE_BITOPS()
544 ir::Expression *leftNode, ExpressionParseFlags exprFlags, bool isAwait); in DEFINE_BITOPS()
545 …std::tuple<ForStatementKind, ir::Expression *, ir::Expression *> ParseForInOf(ir::AstNode *initNod… in DEFINE_BITOPS()
548 std::tuple<ir::Expression *, ir::Expression *> ParseForUpdate(bool isAwait); in DEFINE_BITOPS()
549 ir::Statement *ParseForStatement(); in DEFINE_BITOPS()
550 ir::IfStatement *ParseIfStatement(); in DEFINE_BITOPS()
552 ir::Statement *ParseImportDeclaration(StatementParsingFlags flags); in DEFINE_BITOPS()
553 ir::LabelledStatement *ParseLabelledStatement(const lexer::LexerPosition &pos); in DEFINE_BITOPS()
554 ir::ReturnStatement *ParseReturnStatement(); in DEFINE_BITOPS()
555 ir::ClassDeclaration *ParseClassStatement(StatementParsingFlags flags, bool isDeclare, in DEFINE_BITOPS()
556 … ArenaVector<ir::Decorator *> &&decorators, bool isAbstract = false); in DEFINE_BITOPS()
557 …ir::ClassDeclaration *ParseClassDeclaration(bool idRequired, ArenaVector<ir::Decorator *> &&decora… in DEFINE_BITOPS()
560 ir::TSTypeAliasDeclaration *ParseTsTypeAliasDeclaration(bool isDeclare); in DEFINE_BITOPS()
561 …ir::TSEnumDeclaration *ParseEnumMembers(ir::Identifier *key, const lexer::SourcePosition &enumStar… in DEFINE_BITOPS()
563 …ir::TSEnumDeclaration *ParseEnumDeclaration(bool isExport = false, bool isDeclare = false, bool is… in DEFINE_BITOPS()
564 ir::TSInterfaceDeclaration *ParseTsInterfaceDeclaration(bool isDeclare); in DEFINE_BITOPS()
566 ArenaVector<ir::TSInterfaceHeritage *> ParseTsInterfaceExtends(); in DEFINE_BITOPS()
567 ir::SwitchCaseStatement *ParseSwitchCaseStatement(bool *seenDefault); in DEFINE_BITOPS()
568 ir::SwitchStatement *ParseSwitchStatement(); in DEFINE_BITOPS()
569 ir::ThrowStatement *ParseThrowStatement(); in DEFINE_BITOPS()
570 ir::Expression *ParseCatchParam(); in DEFINE_BITOPS()
571 ir::CatchClause *ParseCatchClause(); in DEFINE_BITOPS()
572 ir::TryStatement *ParseTryStatement(); in DEFINE_BITOPS()
574 …ir::VariableDeclarator *ParseVariableDeclaratorInitializer(ir::Expression *init, VariableParsingFl… in DEFINE_BITOPS()
576 ir::VariableDeclarator *ParseVariableDeclarator(VariableParsingFlags flags, bool isDeclare); in DEFINE_BITOPS()
577 …ir::Expression *ParseVariableDeclaratorKey(VariableParsingFlags flags, bool isDeclare, bool *isDef… in DEFINE_BITOPS()
578 …ir::Statement *ParseVariableDeclaration(VariableParsingFlags flags = VariableParsingFlags::NO_OPTS, in DEFINE_BITOPS()
580 ir::WhileStatement *ParseWhileStatement(); in DEFINE_BITOPS()
581 ir::VariableDeclaration *ParseContextualLet(VariableParsingFlags flags, in DEFINE_BITOPS()
745 flags_ |= ir::ScriptFunctionFlags::GENERATOR; in FunctionContext()
749 flags_ |= ir::ScriptFunctionFlags::ASYNC; in FunctionContext()
753 flags_ |= ir::ScriptFunctionFlags::CONSTRUCTOR; in FunctionContext()
757 ir::ScriptFunctionFlags Flags() const in Flags()
762 void AddFlag(ir::ScriptFunctionFlags flags) in AddFlag()
772 ir::ScriptFunctionFlags flags_ {ir::ScriptFunctionFlags::NONE};
781 AddFlag(ir::ScriptFunctionFlags::ASYNC); in ArrowFunctionContext()
784 AddFlag(ir::ScriptFunctionFlags::ARROW); in ArrowFunctionContext()