/arkcompiler/ets_frontend/es2panda/parser/context/ |
H A D | parserContext.h | 27 enum class ParserStatus : uint64_t { class 70 DEFINE_BITOPS(ParserStatus) 75 explicit ParserContext(ParserContext *current, ParserStatus newStatus, util::StringView label = "") in ParserContext() 78 ParserStatus currentStatus = current->status_; in ParserContext() 79 currentStatus &= (ParserStatus::MODULE | ParserStatus::ALLOW_NEW_TARGET | ParserStatus::IN_EXTENDS | in ParserContext() 80 ParserStatus::ALLOW_THIS_TYPE | ParserStatus::IN_CLASS_BODY | ParserStatus in ParserContext() [all...] |
/arkcompiler/ets_frontend/ets2panda/parser/context/ |
H A D | parserContext.h | 28 enum class ParserStatus : uint64_t { class 73 struct enumbitops::IsAllowedType<ark::es2panda::parser::ParserStatus> : std::true_type { 83 explicit ParserContext(const Program *program, ParserStatus status); 85 explicit ParserContext(ParserContext *current, ParserStatus newStatus, util::StringView label = "") in ParserContext() 88 ParserStatus currentStatus = current->status_; in ParserContext() 89 currentStatus &= (ParserStatus::MODULE | ParserStatus::ALLOW_NEW_TARGET | ParserStatus::IN_EXTENDS | in ParserContext() 90 ParserStatus::ALLOW_THIS_TYPE | ParserStatus in ParserContext() [all...] |
H A D | parserContext.cpp | 21 ParserContext::ParserContext(const Program *program, ParserStatus status) in ParserContext()
|
/arkcompiler/ets_frontend/ets2panda/parser/ |
H A D | parserStatusContext.h | 23 template <ParserStatus STATUS> 28 : ctx_(ctx), savedStatus_(static_cast<ParserStatus>(ctx->Status() & STATUS)) in SavedStatusContext() 39 if (savedStatus_ == ParserStatus::NO_OPTS) { in ~SavedStatusContext() 46 ParserStatus savedStatus_; 49 class SwitchContext : public SavedStatusContext<ParserStatus::IN_SWITCH> { 57 class IterationContext : public SavedStatusContext<ParserStatus::IN_ITERATION> { 66 class FunctionParameterContext : public SavedStatusContext<ParserStatus::FUNCTION_PARAM> { 118 explicit FunctionContext(ParserImpl *parser, ParserStatus newStatus) : SavedParserContext(parser, newStatus) in FunctionContext() 120 if ((newStatus & ParserStatus::GENERATOR_FUNCTION) != 0) { in FunctionContext() 124 if ((newStatus & ParserStatus in FunctionContext() [all...] |
H A D | ASparser.h | 25 ASParser(Program *program, const CompilerOptions &options, ParserStatus status = ParserStatus::NO_OPTS) in ASParser() argument 76 const ArenaVector<ir::Expression *> ¶ms, ParserStatus newStatus, ParserStatus contextStatus) override; 100 ParserStatus ValidateArrowExprIdentifier(ir::Expression *expr, bool *seenOptional); 101 ParserStatus ValidateArrowAssignmentExpr(ir::Expression *expr); 102 ParserStatus ValidateArrowParameter(ir::Expression *expr, bool *seenOptional) override;
|
H A D | TypedParser.h | 28 TypedParser(Program *program, const CompilerOptions &options, ParserStatus status = ParserStatus::NO_OPTS) in TypedParser() argument 63 ir::TypeNode *ParseFunctionReturnType(ParserStatus status) override; 76 ParserStatus ValidateArrowParameter(ir::Expression *expr, bool *seenOptional) override; 152 ParserStatus ValidateArrowParameterAssignment(ir::AssignmentExpression *assignmentExpr); 153 ParserStatus ValidateArrowParameterArray(ir::ArrayExpression *arrayPattern); 154 ParserStatus ValidateArrowParameterObject(ir::ObjectExpression *objectPattern);
|
H A D | JSparser.h | 24 JSParser(Program *program, const CompilerOptions &options, ParserStatus status = ParserStatus::NO_OPTS) in JSParser() argument
|
H A D | parserImpl.h | 60 explicit ParserImpl(Program *program, const CompilerOptions &options, ParserStatus status = ParserStatus::NO_OPTS); 109 void CheckPropertyKeyAsyncModifier(ParserStatus *methodStatus); 111 void ParseGeneratorPropertyModifier(ExpressionParseFlags flags, ParserStatus *methodStatus); 112 bool ParsePropertyModifiers(ExpressionParseFlags flags, ir::PropertyKind *propertyKind, ParserStatus *methodStatus); 113 ir::Expression *ParsePropertyValue(const ir::PropertyKind *propertyKind, const ParserStatus *methodStatus, 224 ir::FunctionExpression *ParseFunctionExpression(ParserStatus newStatus = ParserStatus::NO_OPTS); 296 ir::ScriptFunction *ParseFunction(ParserStatus newStatus = ParserStatus [all...] |
H A D | ETSparserClasses.cpp | 235 if (((GetContext().Status() & ParserStatus::FUNCTION) != 0) && in ParseClassMemberAccessModifiers() 440 auto newStatus = ParserStatus::NEED_RETURN_TYPE | ParserStatus::ALLOW_SUPER; in ParseClassMethodDefinition() 445 newStatus |= ParserStatus::IN_EXTENSION_FUNCTION; in ParseClassMethodDefinition() 449 newStatus = ParserStatus::CONSTRUCTOR_FUNCTION | ParserStatus::ALLOW_SUPER | ParserStatus::ALLOW_SUPER_CALL; in ParseClassMethodDefinition() 454 newStatus |= ParserStatus::ASYNC_FUNCTION; in ParseClassMethodDefinition() 458 newStatus |= ParserStatus::ALLOW_THIS_TYPE; in ParseClassMethodDefinition() 482 (desc->newStatus & ParserStatus in ParseClassMethod() [all...] |
H A D | expressionParser.cpp | 238 ParserStatus ParserImpl::ValidateArrowParameter(ir::Expression *expr, [[maybe_unused]] bool *seenOptional) in ValidateArrowParameter() 250 return ParserStatus::HAS_COMPLEX_PARAM; in ValidateArrowParameter() 254 return ParserStatus::NO_OPTS; in ValidateArrowParameter() 263 return ParserStatus::HAS_COMPLEX_PARAM; in ValidateArrowParameter() 272 return ParserStatus::HAS_COMPLEX_PARAM; in ValidateArrowParameter() 277 return ParserStatus::HAS_COMPLEX_PARAM; in ValidateArrowParameter() 284 return ParserStatus::NO_OPTS; in ValidateArrowParameter() 350 auto arrowStatus = isAsync ? ParserStatus::ASYNC_FUNCTION : ParserStatus::NO_OPTS; in ConvertToArrowParameter() 836 if ((context_.Status() & ParserStatus in ParsePotentialNewTarget() [all...] |
H A D | forwardDeclForParserImpl.h | 108 ParserStatus newStatus {}; 129 explicit ArrowFunctionDescriptor(ArenaVector<ir::Expression *> &&p, lexer::SourcePosition sl, ParserStatus ns) in ArrowFunctionDescriptor() 137 ParserStatus newStatus;
|
H A D | TSparser.h | 30 TSParser(Program *program, const CompilerOptions &options, ParserStatus status = ParserStatus::NO_OPTS) in TSParser() argument 124 ir::TypeNode *ParseFunctionReturnType(ParserStatus status) override; 126 const ArenaVector<ir::Expression *> ¶ms, ParserStatus newStatus, ParserStatus contextStatus) override;
|
H A D | TypedParser.cpp | 180 GetContext().Status() |= ParserStatus::MODULE; in ParseModuleDeclaration() 216 ParserStatus arrowStatus = ParserStatus::NO_OPTS; in ParseGenericArrowFunction() 219 arrowStatus = ParserStatus::HAS_COMPLEX_PARAM; in ParseGenericArrowFunction() 333 GetContext().Status() |= ParserStatus::IN_AMBIENT_CONTEXT; in CheckDeclare() 365 ir::TypeNode *TypedParser::ParseFunctionReturnType(ParserStatus status) in ParseFunctionReturnType() 374 if ((status & ParserStatus::NEED_RETURN_TYPE) != 0) { in ParseFunctionReturnType() 442 GetContext().Status() |= ParserStatus::ALLOW_THIS_TYPE; in ParseInterfaceDeclaration() 476 GetContext().Status() &= ~ParserStatus::ALLOW_THIS_TYPE; in ParseInterfaceDeclaration() 991 GetContext().Status() &= ~ParserStatus in ParseProperty() [all...] |
H A D | statementParser.cpp | 230 return ParseFunctionDeclaration(false, ParserStatus::NO_OPTS); in ParseFunctionStatement() 233 auto *funcDecl = ParseFunctionDeclaration(false, ParserStatus::NO_OPTS); in ParseFunctionStatement() 377 const auto status = static_cast<ParserStatus>( in ParseDirective() 378 context_.Status() & (ParserStatus::CONSTRUCTOR_FUNCTION | ParserStatus::HAS_COMPLEX_PARAM)); in ParseDirective() 379 if (status == ParserStatus::HAS_COMPLEX_PARAM && str.Is("use strict")) { in ParseDirective() 441 bool allowBreak = (context_.Status() & (ParserStatus::IN_ITERATION | ParserStatus::IN_SWITCH)) != 0; in ParseBreakStatement() 494 ThrowPossibleOutOfBoundaryJumpError((context_.Status() & (ParserStatus::IN_ITERATION | ParserStatus in ParseContinueStatement() [all...] |
H A D | parserImpl.cpp | 50 ParserImpl::ParserImpl(Program *program, const CompilerOptions &options, ParserStatus status) in ParserImpl() 68 context_.Status() |= (ParserStatus::MODULE); in ParseScript() 94 return (context_.Status() & ParserStatus::IN_AMBIENT_CONTEXT) != 0; in InAmbientContext() 317 desc->newStatus |= ParserStatus::CONSTRUCTOR_FUNCTION; in ValidateClassKey() 320 desc->newStatus |= ParserStatus::ALLOW_SUPER_CALL; in ValidateClassKey() 410 desc->newStatus |= ParserStatus::ASYNC_FUNCTION; in ValidateClassMethodStart() 414 desc->newStatus |= ParserStatus::GENERATOR_FUNCTION; in ValidateClassMethodStart() 441 (desc->newStatus & ParserStatus::CONSTRUCTOR_FUNCTION) == 0) { in ParseClassMethod() 442 desc->newStatus |= ParserStatus::NEED_RETURN_TYPE; in ParseClassMethod() 553 SavedParserContext context(this, ParserStatus in ParseClassStaticBlock() [all...] |
H A D | ETSparser.cpp | 80 ETSParser::ETSParser(Program *program, const CompilerOptions &options, ParserStatus status) in ETSParser() 165 GetContext().Status() |= ParserStatus::IN_DEFAULT_IMPORTS; in ParseDefaultSources() 167 GetContext().Status() &= ~ParserStatus::IN_DEFAULT_IMPORTS; in ParseDefaultSources() 332 ir::ScriptFunction *ETSParser::ParseFunction(ParserStatus newStatus, ir::Identifier *className) in ParseFunction() 334 FunctionContext functionContext(this, newStatus | ParserStatus::FUNCTION); in ParseFunction() 341 bool isArrow = (newStatus & ParserStatus::ARROW_FUNCTION) != 0; in ParseFunction() 343 if ((newStatus & ParserStatus::ASYNC_FUNCTION) != 0) { in ParseFunction() 365 if ((GetContext().Status() & ParserStatus::FUNCTION_HAS_RETURN_STATEMENT) != 0) { in ParseFunction() 367 GetContext().Status() ^= ParserStatus::FUNCTION_HAS_RETURN_STATEMENT; in ParseFunction() 390 [[maybe_unused]] const ArenaVector<ir::Expression *> ¶ms, [[maybe_unused]] ParserStatus newStatu in ParseFunctionBody() [all...] |
H A D | ETSparserTypes.cpp | 80 ir::TypeNode *ETSParser::ParseFunctionReturnType([[maybe_unused]] ParserStatus status) in ParseFunctionReturnType() 83 if ((status & ParserStatus::CONSTRUCTOR_FUNCTION) != 0U) { in ParseFunctionReturnType() 337 GetContext().Status() |= ParserStatus::ALLOW_DEFAULT_VALUE; in ParsePotentialFunctionalType() 344 GetContext().Status() ^= ParserStatus::ALLOW_DEFAULT_VALUE; in ParsePotentialFunctionalType() 437 (((GetContext().Status() & ParserStatus::ALLOW_THIS_TYPE) == 0) || in ParseThisType() 439 ((GetContext().Status() & ParserStatus::ARROW_FUNCTION) != 0))) { in ParseThisType()
|
H A D | ETSparserNamespaces.cpp | 41 if ((GetContext().Status() & ParserStatus::IN_NAMESPACE) == 0) { in ParseNamespaceDeclaration() 80 auto savedCtx = SavedStatusContext<ParserStatus::IN_CLASS_BODY>(&GetContext()); in ParseNamespaceBody()
|
H A D | ASparser.cpp | 200 ParserStatus ASParser::ValidateArrowExprIdentifier(ir::Expression *expr, bool *seenOptional) in ValidateArrowExprIdentifier() 221 return ParserStatus::NO_OPTS; in ValidateArrowExprIdentifier() 224 ParserStatus ASParser::ValidateArrowAssignmentExpr(ir::Expression *expr) in ValidateArrowAssignmentExpr() 244 return ParserStatus::HAS_COMPLEX_PARAM; in ValidateArrowAssignmentExpr() 247 ParserStatus ASParser::ValidateArrowParameter(ir::Expression *expr, bool *seenOptional) in ValidateArrowParameter() 263 return ParserStatus::HAS_COMPLEX_PARAM; in ValidateArrowParameter() 276 return ParserStatus::NO_OPTS; in ValidateArrowParameter() 281 auto arrowStatus = isAsync ? ParserStatus::ASYNC_FUNCTION : ParserStatus::NO_OPTS; in ConvertToArrowParameter() 405 if (((GetContext().Status() & ParserStatus in ParsePatternElement() [all...] |
H A D | TSparser.cpp | 438 if (throwError && ((GetContext().Status() & ParserStatus::ALLOW_THIS_TYPE) == 0)) { in ParseThisType() 463 ParserStatus savedStatus = GetContext().Status(); in ParseConditionalType() 464 GetContext().Status() |= ParserStatus::IN_EXTENDS; in ParseConditionalType() 535 if ((GetContext().Status() & ParserStatus::IN_EXTENDS) == 0) { in ParseTypeOperatorOrTypeReference() 1752 GetContext().Status() |= ParserStatus::HAS_COMPLEX_PARAM; in ValidateFunctionParam() 1776 if ((GetContext().Status() & ParserStatus::CONSTRUCTOR_FUNCTION) != 0) { in ValidateFunctionParam() 1780 if ((GetContext().Status() & ParserStatus::ARROW_FUNCTION) != 0) { in ValidateFunctionParam() 1784 if ((GetContext().Status() & ParserStatus::ACCESSOR_FUNCTION) != 0) { in ValidateFunctionParam() 1789 if (paramName.Is("constructor") && ((GetContext().Status() & ParserStatus::CONSTRUCTOR_FUNCTION) != 0)) { in ValidateFunctionParam() 1807 if (!decorators.empty() && ((GetContext().Status() & ParserStatus in ParseFunctionParams() [all...] |
/arkcompiler/ets_frontend/es2panda/parser/ |
H A D | parserImpl.h | 131 ParserStatus newStatus {}; 148 lexer::SourcePosition sl, ParserStatus ns) in ArrowFunctionDescriptor() 156 ParserStatus newStatus; 352 void CheckPropertyKeyAsycModifier(ParserStatus *methodStatus); 354 void ParseGeneratorPropertyModifier(ExpressionParseFlags flags, ParserStatus *methodStatus); 355 bool ParsePropertyModifiers(ExpressionParseFlags flags, ir::PropertyKind *propertyKind, ParserStatus *methodStatus); 357 ir::Expression *ParsePropertyValue(const ir::PropertyKind *propertyKind, const ParserStatus *methodStatus, 369 ir::ScriptFunction *ParseFunction(ParserStatus newStatus = ParserStatus::NO_OPTS, 396 ParserStatus ValidateArrowParamete [all...] |
H A D | expressionParser.cpp | 286 context_.Status() |= ParserStatus::FUNCTION_PARAM; in ParseArrayExpression() 305 ParserStatus ParserImpl::ValidateArrowParameter(ir::Expression *expr) in ValidateArrowParameter() 317 return ParserStatus::HAS_COMPLEX_PARAM; in ValidateArrowParameter() 329 return ParserStatus::NO_OPTS; in ValidateArrowParameter() 339 return ParserStatus::HAS_COMPLEX_PARAM; in ValidateArrowParameter() 349 return ParserStatus::HAS_COMPLEX_PARAM; in ValidateArrowParameter() 366 return ParserStatus::HAS_COMPLEX_PARAM; in ValidateArrowParameter() 373 return ParserStatus::NO_OPTS; in ValidateArrowParameter() 428 auto arrowStatus = isAsync ? ParserStatus::ASYNC_FUNCTION : ParserStatus in ConvertToArrowParameter() [all...] |
H A D | parserImpl.cpp | 183 context_.Status() |= (ParserStatus::MODULE); in ParseModule() 752 if (throwError && !(context_.Status() & ParserStatus::ALLOW_THIS_TYPE)) { in ParseTsThisType() 777 ParserStatus savedStatus = context_.Status(); in ParseTsConditionalType() 778 context_.Status() |= ParserStatus::IN_EXTENDS; in ParseTsConditionalType() 896 if (!(context_.Status() & ParserStatus::IN_EXTENDS)) { in ParseTsTypeOperatorOrTypeReference() 2200 if ((context_.Status() & ParserStatus::CONSTRUCTOR_FUNCTION) && in ParseModifiers() 2356 desc->newStatus |= ParserStatus::CONSTRUCTOR_FUNCTION; in ValidateClassKey() 2359 desc->newStatus |= ParserStatus::ALLOW_SUPER_CALL; in ValidateClassKey() 2499 desc->newStatus |= ParserStatus::ASYNC_FUNCTION; in ValidateClassMethodStart() 2503 desc->newStatus |= ParserStatus in ValidateClassMethodStart() [all...] |
H A D | statementParser.cpp | 124 if (context_.Status() & ParserStatus::IN_AMBIENT_CONTEXT) { in CheckDeclare() 256 context_.Status() |= ParserStatus::IN_AMBIENT_CONTEXT; in ParseStatement() 339 context_.Status() |= ParserStatus::TS_MODULE; in ParseTsModuleDeclaration() 376 if (!isDeclare && !(context_.Status() & ParserStatus::IN_AMBIENT_CONTEXT)) { in ParseTsAmbientExternalModuleDeclaration() 441 context_.Status() |= ParserStatus::IN_AMBIENT_CONTEXT; in ParseTsModuleOrNamespaceDelaration() 646 return ParseFunctionDeclaration(false, ParserStatus::NO_OPTS, isDeclare); in ParseFunctionStatement() 651 auto *funcDecl = ParseFunctionDeclaration(false, ParserStatus::NO_OPTS, isDeclare); in ParseFunctionStatement() 781 context_.Status() |= ParserStatus::ALLOW_THIS_TYPE; in ParseTsInterfaceDeclaration() 835 context_.Status() &= ~ParserStatus::ALLOW_THIS_TYPE; in ParseTsInterfaceDeclaration() 957 const auto status = static_cast<ParserStatus>( in ParseDirective() [all...] |
H A D | commonjs.cpp | 75 FunctionContext functionContext(this, ParserStatus::FUNCTION | ParserStatus::ALLOW_NEW_TARGET); in ParseCommonjs()
|