| /arkcompiler/ets_frontend/ets2panda/checker/ |
| D | SemanticAnalyzer.h | 20 #include "ir/opaqueTypeNode.h" 21 #include "ir/as/namedType.h" 22 #include "ir/as/prefixAssertionExpression.h" 23 #include "ir/base/catchClause.h" 24 #include "ir/base/classDefinition.h" 25 #include "ir/base/classProperty.h" 26 #include "ir/base/classStaticBlock.h" 27 #include "ir/base/decorator.h" 28 #include "ir/base/metaProperty.h" 29 #include "ir/base/methodDefinition.h" [all …]
|
| D | ETSchecker.h | 26 #include "ir/ts/tsInterfaceDeclaration.h" 27 #include "ir/visitor/AstVisitor.h" 59 using DynamicCallIntrinsicsMap = ArenaUnorderedMap<Language, ArenaUnorderedMap<util::StringView, ir… 60 using DynamicClassIntrinsicsMap = ArenaUnorderedMap<Language, ir::ClassDeclaration *>; 133 ETSObjectType *GlobalBuiltinFunctionType(size_t nargs, ir::ScriptFunctionFlags flags) const; 142 [[nodiscard]] Type *InvalidateType(ir::Typed<ir::AstNode> *node); 143 [[nodiscard]] Type *TypeError(ir::Typed<ir::AstNode> *node, std::string_view message, 150 Type *CheckTypeCached(ir::Expression *expr) override; 164 ETSObjectType *BuildBasicClassProperties(ir::ClassDefinition *classDef); 165 …ETSObjectType *BuildAnonymousClassProperties(ir::ClassDefinition *classDef, ETSObjectType *superTy… [all …]
|
| /arkcompiler/ets_frontend/ets2panda/compiler/core/ |
| D | ASTCompiler.h | 20 #include "ir/opaqueTypeNode.h" 21 #include "ir/as/namedType.h" 22 #include "ir/as/prefixAssertionExpression.h" 23 #include "ir/base/catchClause.h" 24 #include "ir/base/classDefinition.h" 25 #include "ir/base/classProperty.h" 26 #include "ir/base/classStaticBlock.h" 27 #include "ir/base/decorator.h" 28 #include "ir/base/metaProperty.h" 29 #include "ir/base/methodDefinition.h" [all …]
|
| D | pandagen.h | 26 #include "ir/irnode.h" 37 namespace ark::es2panda::ir { 43 } // namespace ark::es2panda::ir 70 void StoreAccumulator(const ir::AstNode *node, VReg vreg); 71 void LoadAccumulator(const ir::AstNode *node, VReg reg); 73 [[nodiscard]] IRNode *AllocMov(const ir::AstNode *node, VReg vd, VReg vs) override; 74 [[nodiscard]] IRNode *AllocMov(const ir::AstNode *node, OutVReg vd, VReg vs) override; 75 void MoveVreg(const ir::AstNode *node, VReg vd, VReg vs); 77 void LoadAccumulatorDouble(const ir::AstNode *node, double num); 78 void LoadAccumulatorInt(const ir::AstNode *node, size_t num); [all …]
|
| D | JSCompilerUnreachable.cpp | 21 void JSCompiler::Compile([[maybe_unused]] const ir::NamedType *node) const in Compile() 26 void JSCompiler::Compile([[maybe_unused]] const ir::PrefixAssertionExpression *expr) const in Compile() 31 void JSCompiler::Compile([[maybe_unused]] const ir::ClassProperty *st) const in Compile() 36 void JSCompiler::Compile([[maybe_unused]] const ir::ClassStaticBlock *st) const in Compile() 41 void JSCompiler::Compile([[maybe_unused]] const ir::Decorator *st) const in Compile() 46 void JSCompiler::Compile([[maybe_unused]] const ir::MethodDefinition *node) const in Compile() 51 void JSCompiler::Compile([[maybe_unused]] const ir::Property *expr) const in Compile() 56 void JSCompiler::Compile([[maybe_unused]] const ir::ScriptFunction *node) const in Compile() 61 void JSCompiler::Compile([[maybe_unused]] const ir::SpreadElement *expr) const in Compile() 66 void JSCompiler::Compile([[maybe_unused]] const ir::TemplateElement *expr) const in Compile() [all …]
|
| D | ETSCompilerUnrechable.cpp | 20 void ETSCompiler::Compile([[maybe_unused]] const ir::NamedType *node) const in Compile() 25 void ETSCompiler::Compile([[maybe_unused]] const ir::PrefixAssertionExpression *expr) const in Compile() 30 void ETSCompiler::Compile([[maybe_unused]] const ir::ClassDefinition *node) const in Compile() 35 void ETSCompiler::Compile([[maybe_unused]] const ir::ClassStaticBlock *st) const in Compile() 40 void ETSCompiler::Compile([[maybe_unused]] const ir::Decorator *st) const in Compile() 45 void ETSCompiler::Compile([[maybe_unused]] const ir::MetaProperty *expr) const in Compile() 50 void ETSCompiler::Compile([[maybe_unused]] const ir::MethodDefinition *node) const in Compile() 55 void ETSCompiler::Compile([[maybe_unused]] const ir::Property *expr) const in Compile() 60 void ETSCompiler::Compile([[maybe_unused]] const ir::ScriptFunction *node) const in Compile() 65 void ETSCompiler::Compile([[maybe_unused]] const ir::SpreadElement *expr) const in Compile() [all …]
|
| /arkcompiler/ets_frontend/es2panda/ |
| D | CMakeLists.txt | 101 ir/astDump.cpp 102 ir/base/annotation.cpp 103 ir/base/catchClause.cpp 104 ir/base/classDefinition.cpp 105 ir/base/classProperty.cpp 106 ir/base/decorator.cpp 107 ir/base/metaProperty.cpp 108 ir/base/methodDefinition.cpp 109 ir/base/property.cpp 110 ir/base/scriptFunction.cpp [all …]
|
| D | BUILD.gn | 53 "ir/astDump.cpp", 54 "ir/base/annotation.cpp", 55 "ir/base/catchClause.cpp", 56 "ir/base/classDefinition.cpp", 57 "ir/base/classProperty.cpp", 58 "ir/base/classStaticBlock.cpp", 59 "ir/base/decorator.cpp", 60 "ir/base/metaProperty.cpp", 61 "ir/base/methodDefinition.cpp", 62 "ir/base/property.cpp", [all …]
|
| /arkcompiler/ets_frontend/ets2panda/parser/ |
| D | parserImpl.h | 21 #include "ir/base/scriptFunctionSignature.h" 105 static ir::VariableDeclaratorFlag GetFlag(VariableParsingFlags flags); 111 ir::Property *ParseShorthandProperty(const lexer::LexerPosition *startPos); 113 …bool ParsePropertyModifiers(ExpressionParseFlags flags, ir::PropertyKind *propertyKind, ParserStat… 114 …ir::Expression *ParsePropertyValue(const ir::PropertyKind *propertyKind, const ParserStatus *metho… 121 ir::Expression *ParseKeywordExpression(); 122 ir::Expression *ParseBinaryExpression(ir::Expression *left, 124 void ValidateUpdateExpression(ir::Expression *returnExpression, bool isChainExpression); 125 ir::Expression *ParseMemberExpression(bool ignoreCallExpression = false, 127 ir::Expression *SetupChainExpr(ir::Expression *const top, lexer::SourcePosition startLoc); [all …]
|
| D | TSparser.h | 22 namespace ark::es2panda::ir { 25 } // namespace ark::es2panda::ir 41 …ir::TypeNode *ParseTypeAnnotationElement(ir::TypeNode *typeAnnotation, TypeAnnotationParsingOption… 44 ir::TypeNode *ParseTypeOperatorOrTypeReference(); 45 ir::TypeNode *ParseIdentifierReference(); 47 ir::TypeNode *ParseBasicType(); 48 ir::TSTypeReference *ParseConstExpression(); 49 …ir::TSIntersectionType *ParseIntersectionType(ir::Expression *type, bool inUnion, bool restrictExt… 50 ir::TSUnionType *ParseUnionType(ir::TypeNode *type, bool restrictExtends); 51 ir::TypeNode *ParseParenthesizedOrFunctionType(ir::TypeNode *typeAnnotation, bool throwError); [all …]
|
| D | ETSparser.h | 22 #include "ir/base/classDefinition.h" 25 namespace ark::es2panda::ir { 29 } // namespace ark::es2panda::ir 47 …ArenaVector<ir::ETSImportDeclaration *> ParseDefaultSources(std::string_view srcFile, std::string_… 70 void ProcessFormattedArg(std::vector<ir::AstNode *> &nodes, T &&arg) in ProcessFormattedArg() 72 if constexpr (std::is_convertible_v<std::decay_t<T>, ir::AstNode *>) { in ProcessFormattedArg() 75 nodes.emplace_back(AllocNode<ir::Identifier>(std::forward<T>(arg), Allocator())); in ProcessFormattedArg() 77 nodes.emplace_back(AllocNode<ir::Identifier>(arg.View(), Allocator())); in ProcessFormattedArg() 80 … AllocNode<ir::Identifier>(util::UString(std::forward<T>(arg), Allocator()).View(), Allocator())); in ProcessFormattedArg() 82 nodes.emplace_back(AllocNode<ir::Identifier>( in ProcessFormattedArg() [all …]
|
| D | TypedParser.h | 21 namespace ark::es2panda::ir { 23 } // namespace ark::es2panda::ir 34 void ParseDecorators(ArenaVector<ir::Decorator *> &decorators); 36 …ir::TSModuleDeclaration *ParseAmbientExternalModuleDeclaration(const lexer::SourcePosition &startL… 37 ir::TSModuleBlock *ParseTsModuleBlock(); 38 … ir::TSModuleDeclaration *ParseModuleOrNamespaceDeclaration(const lexer::SourcePosition &startLoc); 39 ArenaVector<ir::AstNode *> ParseTypeLiteralOrInterface(); 40 ArenaVector<ir::AstNode *> ParseTypeLiteralOrInterfaceBody(); 41 …void CheckObjectTypeForDuplicatedProperties(ir::Expression *key, ArenaVector<ir::AstNode *> &membe… 43 ir::ArrowFunctionExpression *ParseGenericArrowFunction(); [all …]
|
| D | ASparser.h | 32 ir::TypeNode *ParseParenthesizedOrFunctionType(bool throwError); 33 ir::TypeNode *ParseFunctionType(lexer::SourcePosition startLoc); 34 void ParseOptionalFunctionParameter(ir::AnnotatedExpression *returnNode, bool inRest = false); 37 … ir::Statement *ParseStatement(StatementParsingFlags flags = StatementParsingFlags::NONE) override; 38 … std::tuple<ir::AnnotatedExpression *, bool> ParsePatternElementToken(ExpressionParseFlags flags); 39 ir::Expression *ParsePatternElement(ExpressionParseFlags flags, bool allowDefault) override; 41 ir::Expression *ParsePropertyDefinition( 44 …ir::TypeNode *ParseTypeAnnotationLiteralIdentHelper(ir::TypeNode *type, TypeAnnotationParsingOptio… 45 …ir::TypeNode *ParseTypeAnnotationTokens(ir::TypeNode *type, bool throwError, TypeAnnotationParsing… 46 …ir::TypeNode *ParseTypeAnnotationTokensBitwiseOr(ir::TypeNode *type, bool throwError, bool isNulla… [all …]
|
| D | ETSparserStatements.cpp | 32 #include "ir/astNode.h" 33 #include "ir/base/classDefinition.h" 34 #include "ir/base/decorator.h" 35 #include "ir/base/catchClause.h" 36 #include "ir/base/classProperty.h" 37 #include "ir/base/scriptFunction.h" 38 #include "ir/base/methodDefinition.h" 39 #include "ir/base/classStaticBlock.h" 40 #include "ir/base/spreadElement.h" 41 #include "ir/expressions/identifier.h" [all …]
|
| D | statementTSParser.cpp | 24 #include "ir/base/spreadElement.h" 25 #include "ir/base/decorator.h" 26 #include "ir/base/classElement.h" 27 #include "ir/base/classDefinition.h" 28 #include "ir/base/methodDefinition.h" 29 #include "ir/base/scriptFunction.h" 30 #include "ir/module/importDefaultSpecifier.h" 31 #include "ir/module/exportDefaultDeclaration.h" 32 #include "ir/module/exportAllDeclaration.h" 33 #include "ir/module/exportNamedDeclaration.h" [all …]
|
| /arkcompiler/ets_frontend/ets2panda/ |
| D | BUILD.gn | 258 "ir/as/namedType.cpp", 259 "ir/as/prefixAssertionExpression.cpp", 260 "ir/astDump.cpp", 261 "ir/astNode.cpp", 262 "ir/base/catchClause.cpp", 263 "ir/base/classDefinition.cpp", 264 "ir/base/classElement.cpp", 265 "ir/base/classProperty.cpp", 266 "ir/base/classStaticBlock.cpp", 267 "ir/base/decorator.cpp", [all …]
|
| D | CMakeLists.txt | 239 ir/astDump.cpp 240 ir/srcDump.cpp 241 ir/astNode.cpp 242 ir/irnode.cpp 243 ir/typeNode.cpp 244 ir/opaqueTypeNode.cpp 245 ir/base/catchClause.cpp 246 ir/base/classElement.cpp 247 ir/base/classDefinition.cpp 248 ir/base/classProperty.cpp [all …]
|
| /arkcompiler/ets_frontend/ets2panda/compiler/lowering/ets/ |
| D | enumLowering.h | 32 …static util::UString GetEnumClassName(checker::ETSChecker *checker, const ir::TSEnumDeclaration *c… 45 ArenaVector<ir::Expression *> &¶ms; 46 ArenaVector<ir::Statement *> &&body; 47 ir::TypeNode *returnTypeAnnotation; 48 const ir::TSEnumDeclaration *enumDecl; 49 ir::ModifierFlags flags; 52 [[nodiscard]] ir::ScriptFunction *MakeFunction(FunctionInfo &&functionInfo); 53 ir::ClassDeclaration *CreateClass(ir::TSEnumDeclaration *const enumDecl); 54 ir::ClassProperty *CreateOrdinalField(ir::ClassDefinition *const enumClass); 55 void CreateCCtorForEnumClass(ir::ClassDefinition *const enumClass); [all …]
|
| D | enumLowering.cpp | 29 [[nodiscard]] ir::ETSParameterExpression *MakeFunctionParam(checker::ETSChecker *const checker, in MakeFunctionParam() 31 ir::TypeNode *const typeAnnotation) in MakeFunctionParam() 33 …auto *const paramIdent = checker->AllocNode<ir::Identifier>(name, typeAnnotation, checker->Allocat… in MakeFunctionParam() 34 auto *const param = checker->AllocNode<ir::ETSParameterExpression>(paramIdent, nullptr); in MakeFunctionParam() 39 [[nodiscard]] ir::Identifier *MakeParamRefIdent(checker::ETSChecker *const checker, in MakeParamRefIdent() 40 ir::ETSParameterExpression *paramExpr) in MakeParamRefIdent() 42 …auto *const refIdent = checker->AllocNode<ir::Identifier>(paramExpr->Ident()->Name(), checker->All… in MakeParamRefIdent() 47 [[nodiscard]] ir::ETSTypeReference *MakeTypeReference(checker::ETSChecker *const checker, const uti… in MakeTypeReference() 49 auto *const ident = checker->AllocNode<ir::Identifier>(name, checker->Allocator()); in MakeTypeReference() 50 auto *const referencePart = checker->AllocNode<ir::ETSTypeReferencePart>(ident); in MakeTypeReference() [all …]
|
| /arkcompiler/ets_frontend/es2panda/parser/ |
| D | parserImpl.h | 21 #include <ir/astNode.h> 22 #include <ir/base/methodDefinition.h> 46 namespace panda::es2panda::ir { 121 } // 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; 207 ir::Expression* SetupChainExpr(ir::Expression *const top, lexer::SourcePosition startLoc); in DEFINE_BITOPS() 210 [[noreturn]] void ThrowParameterModifierError(ir::ModifierFlags status) const; in DEFINE_BITOPS() [all …]
|
| /arkcompiler/ets_frontend/ets2panda/public/ |
| D | CMakeLists.txt | 31 ${ES2PANDA_ROOT}/ir/astNodeFlags.h 32 ${ES2PANDA_ROOT}/ir/astNodeMapping.h 33 ${ES2PANDA_ROOT}/ir/module/exportDefaultDeclaration.h 34 ${ES2PANDA_ROOT}/ir/statements/forInStatement.h 36 ${ES2PANDA_ROOT}/ir/expressions/classExpression.h 37 ${ES2PANDA_ROOT}/ir/ts/tsConditionalType.h 38 ${ES2PANDA_ROOT}/ir/expressions/templateLiteral.h 39 ${ES2PANDA_ROOT}/ir/statements/breakStatement.h 40 ${ES2PANDA_ROOT}/ir/ets/etsImportDeclaration.h 41 ${ES2PANDA_ROOT}/ir/ts/tsArrayType.h [all …]
|
| /arkcompiler/ets_frontend/es2panda/compiler/core/ |
| D | pandagen.h | 24 #include <ir/irnode.h> 39 namespace panda::es2panda::ir { 45 } // namespace panda::es2panda::ir 76 const ir::Statement *firstStmt {}; 130 const ir::AstNode *RootNode() const in RootNode() 264 void InitializeLexEnv(const ir::AstNode *node); 265 void CopyFunctionArguments(const ir::AstNode *node); 266 void GetFunctionObject(const ir::AstNode *node); 267 void GetNewTarget(const ir::AstNode *node); 268 void GetThis(const ir::AstNode *node); [all …]
|
| /arkcompiler/ets_frontend/es2panda/parser/transformer/ |
| D | transformer.h | 23 #include "ir/astNode.h" 24 #include "ir/base/classDefinition.h" 25 #include "ir/base/methodDefinition.h" 43 using ComputedPropertyMap = std::unordered_map<ir::Statement *, util::StringView>; 48 const ir::ClassDefinition *node; 55 ir::Expression *key; 57 ir::MethodDefinitionKind kind; 58 ir::ModifierFlags modifiers; 65 util::StringView aliasName, ir::ClassDefinition *node) in DuringClass() 112 void PushVariablesToNearestStatements(ir::BlockStatement *ast); [all …]
|
| /arkcompiler/ets_frontend/ets2panda/compiler/lowering/scopesInit/ |
| D | scopesInitPhase.h | 26 #include "ir/visitor/IterateAstVisitor.h" 27 #include "ir/expressions/literals/undefinedLiteral.h" 28 #include "ir/expressions/blockExpression.h" 29 #include "ir/ets/etsUnionType.h" 30 #include "ir/ets/etsTuple.h" 38 class ScopesInitPhase : public Phase, public ir::visitor::IterateAstVisitor { 85 void CallFuncParams(const ArenaVector<ir::Expression *> ¶ms); 86 void IterateNoTParams(ir::ClassDefinition *classDef); 91 void VisitFunctionExpression(ir::FunctionExpression *funcExpr) override; 92 void VisitScriptFunction(ir::ScriptFunction *scriptFunction) override; [all …]
|
| /arkcompiler/ets_frontend/ets2panda/checker/ets/ |
| D | assignAnalyzer.h | 24 namespace ark::es2panda::ir { 26 } // namespace ark::es2panda::ir 60 explicit AssignPendingExit(const ir::AstNode *node, Set &inits, Set &uninits) in AssignPendingExit() 86 using NodeIdMap = ArenaMap<const ir::AstNode *, NodeId>; 91 void Analyze(const ir::AstNode *node); 97 void AnalyzeNodes(const ir::AstNode *node); 98 void AnalyzeNode(const ir::AstNode *node); 99 bool AnalyzeStmtNode1(const ir::AstNode *node); 100 bool AnalyzeStmtNode2(const ir::AstNode *node); 101 bool AnalyzeExprNode1(const ir::AstNode *node); [all …]
|