| /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 …]
|
| /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 …]
|
| /arkcompiler/ets_frontend/ets2panda/parser/ |
| D | ETSparser.h | 23 #include "ir/base/classDefinition.h" 24 #include "ir/module/importDeclaration.h" 27 namespace ark::es2panda::ir { 31 } // namespace ark::es2panda::ir 36 ArenaVector<ir::ImportSpecifier *> result; 37 ArenaVector<ir::ImportDefaultSpecifier *> resultDefault; 38 ArenaVector<ir::ExportSpecifier *> resultExportDefault; 73 …ArenaVector<ir::ETSImportDeclaration *> ParseDefaultSources(std::string_view srcFile, std::string_… 90 ir::TypeNode *CreateFormattedTypeAnnotation(std::string_view const sourceCode); 91 …ir::TypeNode *CreateFormattedTypeAnnotation(std::string_view sourceCode, std::vector<ir::AstNode *… [all …]
|
| D | TSparser.h | 22 namespace ark::es2panda::ir { 25 } // namespace ark::es2panda::ir 42 …ir::TypeNode *ParseTypeAnnotationElement(ir::TypeNode *typeAnnotation, TypeAnnotationParsingOption… 45 ir::TypeNode *ParseTypeOperatorOrTypeReference(); 46 ir::TypeNode *ParseIdentifierReference(); 48 ir::TypeNode *ParseBasicType(); 49 ir::TSTypeReference *ParseConstExpression(); 50 …ir::TSIntersectionType *ParseIntersectionType(ir::Expression *type, bool inUnion, bool restrictExt… 51 ir::TSUnionType *ParseUnionType(ir::TypeNode *type, bool restrictExtends); 52 ir::TypeNode *ParseParenthesizedOrFunctionType(ir::TypeNode *typeAnnotation, bool throwError); [all …]
|
| D | parserImpl.h | 20 #include "ir/base/scriptFunctionSignature.h" 129 ir::VariableDeclaratorFlag GetFlag(VariableParsingFlags flags); 133 ir::Property *ParseShorthandProperty(const lexer::LexerPosition *startPos); 135 …bool ParsePropertyModifiers(ExpressionParseFlags flags, ir::PropertyKind *propertyKind, ParserStat… 136 …ir::Expression *ParsePropertyValue(const ir::PropertyKind *propertyKind, const ParserStatus *metho… 143 ir::Expression *ParseKeywordExpression(); 144 … ir::Expression *ParseBinaryExpression(ir::Expression *left, const lexer::TokenType operatorType); 145 void ValidateUpdateExpression(ir::Expression *returnExpression, bool isChainExpression); 146 ir::Expression *ParseMemberExpression(bool ignoreCallExpression = false, 148 ir::Expression *SetupChainExpr(ir::Expression *const top, lexer::SourcePosition startLoc); [all …]
|
| D | TypedParser.h | 21 namespace ark::es2panda::ir { 23 } // namespace ark::es2panda::ir 35 void ParseDecorators(ArenaVector<ir::Decorator *> &decorators); 37 …ir::TSModuleDeclaration *ParseAmbientExternalModuleDeclaration(const lexer::SourcePosition &startL… 38 ir::TSModuleBlock *ParseTsModuleBlock(); 39 … ir::TSModuleDeclaration *ParseModuleOrNamespaceDeclaration(const lexer::SourcePosition &startLoc); 40 ArenaVector<ir::AstNode *> ParseTypeLiteralOrInterface(); 41 ArenaVector<ir::AstNode *> ParseTypeLiteralOrInterfaceBody(); 42 …void CheckObjectTypeForDuplicatedProperties(ir::Expression *key, ArenaVector<ir::AstNode *> &membe… 44 ir::ArrowFunctionExpression *ParseGenericArrowFunction(); [all …]
|
| D | ASparser.h | 33 ir::TypeNode *ParseParenthesizedOrFunctionType(bool throwError); 34 ir::TypeNode *ParseFunctionType(lexer::SourcePosition startLoc); 35 void ParseOptionalFunctionParameter(ir::AnnotatedExpression *returnNode, bool inRest = false); 38 … ir::Statement *ParseStatement(StatementParsingFlags flags = StatementParsingFlags::NONE) override; 39 … std::tuple<ir::AnnotatedExpression *, bool> ParsePatternElementToken(ExpressionParseFlags flags); 40 ir::Expression *ParsePatternElement(ExpressionParseFlags flags, bool allowDefault) override; 42 ir::Expression *ParsePropertyDefinition( 45 …ir::TypeNode *ParseTypeAnnotationLiteralIdentHelper(ir::TypeNode *type, TypeAnnotationParsingOptio… 46 …ir::TypeNode *ParseTypeAnnotationTokens(ir::TypeNode *type, bool throwError, TypeAnnotationParsing… 47 …ir::TypeNode *ParseTypeAnnotationTokensBitwiseOr(ir::TypeNode *type, bool throwError, bool isNulla… [all …]
|
| D | ETSparserEnums.cpp | 30 #include "ir/astNode.h" 31 #include "ir/base/classDefinition.h" 32 #include "ir/base/decorator.h" 33 #include "ir/base/catchClause.h" 34 #include "ir/base/classProperty.h" 35 #include "ir/base/scriptFunction.h" 36 #include "ir/base/methodDefinition.h" 37 #include "ir/base/classStaticBlock.h" 38 #include "ir/base/spreadElement.h" 39 #include "ir/expressions/identifier.h" [all …]
|
| D | ETSparserStatements.cpp | 27 #include "ir/astNode.h" 28 #include "ir/base/classDefinition.h" 29 #include "ir/base/decorator.h" 30 #include "ir/base/catchClause.h" 31 #include "ir/base/classProperty.h" 32 #include "ir/base/scriptFunction.h" 33 #include "ir/base/methodDefinition.h" 34 #include "ir/base/classStaticBlock.h" 35 #include "ir/base/spreadElement.h" 36 #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/lsp/include/ |
| D | get_adjusted_location.h | 22 #include "ir/astNode.h" 23 #include "ir/astNodeFlags.h" 30 std::optional<ir::AstNode *> GetAdjustedLocation(ir::AstNode *node, bool forRename, ArenaAllocator … 31 std::optional<ir::AstNode *> GetAdjustedLocationForClass(ir::AstNode *node, ArenaAllocator *allocat… 32 std::optional<ir::AstNode *> GetAdjustedLocationForFunction(ir::AstNode *node, ArenaAllocator *allo… 33 std::optional<ir::AstNode *> GetAdjustedLocationForDeclaration(ir::AstNode *node, bool forRename, 34 … const ArenaVector<ir::AstNode *> &children, 36 std::optional<ir::AstNode *> GetAdjustedLocationForImportDeclaration(ir::AstNode *node, bool forRen… 37 … const ArenaVector<ir::AstNode *> &children); 38 std::optional<ir::AstNode *> GetAdjustedLocationForExportDeclaration(ir::AstNode *node, bool forRen… [all …]
|
| D | quick_info.h | 19 #include "ir/astNode.h" 26 bool IsIncludedToken(const ir::AstNode *node); 27 ir::AstNode *GetTokenForQuickInfo(es2panda_Context *context, size_t position); 28 bool IsObjectLiteralElement(ir::AstNode *node); 29 ir::AstNode *GetContainingObjectLiteralNode(ir::AstNode *node); 30 ir::AstNode *GetContextualTypeNode(ir::AstNode *node); 31 ir::AstNode *GetPropertyNodeFromContextualType(ir::AstNode *node, ir::AstNode *contextualTypeNode); 32 ir::AstNode *GetNodeAtLocationForQuickInfo(ir::AstNode *node); 33 std::vector<SymbolDisplayPart> CreateDisplayForClass(ir::AstNode *node); 34 std::vector<SymbolDisplayPart> CreateDisplayForInterface(ir::AstNode *node); [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 …]
|
| /arkcompiler/ets_frontend/ets2panda/lsp/src/ |
| D | script_element_kind.cpp | 23 std::tuple<bool, CompletionEntryKind> GetTargetTokenKindIfETSType(ir::AstNodeType type) in GetTargetTokenKindIfETSType() 26 case ir::AstNodeType::ETS_NULL_TYPE: in GetTargetTokenKindIfETSType() 27 case ir::AstNodeType::ETS_UNDEFINED_TYPE: in GetTargetTokenKindIfETSType() 28 case ir::AstNodeType::ETS_NEVER_TYPE: in GetTargetTokenKindIfETSType() 29 case ir::AstNodeType::ETS_STRING_LITERAL_TYPE: in GetTargetTokenKindIfETSType() 31 case ir::AstNodeType::ETS_PRIMITIVE_TYPE: in GetTargetTokenKindIfETSType() 32 case ir::AstNodeType::ETS_CLASS_LITERAL: in GetTargetTokenKindIfETSType() 33 case ir::AstNodeType::ETS_KEYOF_TYPE: in GetTargetTokenKindIfETSType() 35 case ir::AstNodeType::ETS_NEW_ARRAY_INSTANCE_EXPRESSION: in GetTargetTokenKindIfETSType() 36 case ir::AstNodeType::ETS_NEW_MULTI_DIM_ARRAY_INSTANCE_EXPRESSION: in GetTargetTokenKindIfETSType() [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/compiler/lowering/ets/ |
| D | constantExpressionLowering.h | 45 ir::AstNode *FoldTernaryConstant(ir::ConditionalExpression *cond); 50 bool HandleRelationOperator(ir::Literal *left, ir::Literal *right, lexer::TokenType opType); 52 … bool HandleBitwiseLogicalOperator(ir::Literal *left, ir::Literal *right, lexer::TokenType opType); 54 ir::AstNode *HandleLogicalOperator(ir::BinaryExpression *expr, lexer::TokenType opType); 56 ir::AstNode *FoldBinaryBooleanConstant(ir::BinaryExpression *expr); 66 …TargetType HandleArithmeticOperation(TargetType leftNum, TargetType rightNum, ir::BinaryExpression… 69 ir::AstNode *FoldBinaryNumericConstantHelper(ir::BinaryExpression *expr, TypeRank targetRank); 71 ir::AstNode *FoldBinaryNumericConstant(ir::BinaryExpression *expr); 73 ir::AstNode *FoldBinaryStringConstant(ir::BinaryExpression *expr); 75 ir::AstNode *FoldBinaryConstant(ir::BinaryExpression *expr); [all …]
|
| D | enumLowering.h | 72 ArenaVector<ir::Expression *> &¶ms; 73 ArenaVector<ir::Statement *> &&body; 74 ir::TypeNode *returnTypeAnnotation; 75 const ir::TSEnumDeclaration *enumDecl; 76 ir::ModifierFlags flags; 84 bool CheckEnumMemberType(const ArenaVector<ir::AstNode *> &enumMembers, bool &hasLoggedError, 88 [[nodiscard]] ir::ScriptFunction *MakeFunction(FunctionInfo &&functionInfo); 89 …ir::ClassDeclaration *CreateClass(ir::TSEnumDeclaration *const enumDecl, const DeclarationFlags fl… 91 ir::ClassProperty *CreateOrdinalField(ir::ClassDefinition *const enumClass); 92 ir::MemberExpression *CreateOrdinalAccessExpression(); [all …]
|
| /arkcompiler/ets_frontend/ets2panda/ |
| D | BUILD.gn | 285 "ir/as/namedType.cpp", 286 "ir/as/prefixAssertionExpression.cpp", 287 "ir/astDump.cpp", 288 "ir/astNode.cpp", 289 "ir/astNodeHistory.cpp", 290 "ir/base/catchClause.cpp", 291 "ir/base/classDefinition.cpp", 292 "ir/base/classElement.cpp", 293 "ir/base/classProperty.cpp", 294 "ir/base/classStaticBlock.cpp", [all …]
|
| /arkcompiler/ets_frontend/ets2panda/public/ |
| D | CMakeLists.txt | 34 ${ES2PANDA_ROOT}/ir/astNodeFlags.h 35 ${ES2PANDA_ROOT}/ir/astNodeMapping.h 36 ${ES2PANDA_ROOT}/ir/module/exportDefaultDeclaration.h 37 ${ES2PANDA_ROOT}/ir/statements/forInStatement.h 39 ${ES2PANDA_ROOT}/ir/expressions/classExpression.h 40 ${ES2PANDA_ROOT}/ir/ts/tsConditionalType.h 41 ${ES2PANDA_ROOT}/ir/expressions/templateLiteral.h 42 ${ES2PANDA_ROOT}/ir/statements/breakStatement.h 43 ${ES2PANDA_ROOT}/ir/ets/etsImportDeclaration.h 44 ${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() 265 void InitializeLexEnv(const ir::AstNode *node); 266 void CopyFunctionArguments(const ir::AstNode *node); 267 void GetFunctionObject(const ir::AstNode *node); 268 void GetNewTarget(const ir::AstNode *node); 269 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); 97 void VisitFunctionExpression(ir::FunctionExpression *funcExpr) override; 98 void VisitScriptFunction(ir::ScriptFunction *scriptFunction) override; [all …]
|
| /arkcompiler/ets_frontend/ets2panda/lsp/include/services/text_change/ |
| D | change_tracker.h | 25 #include <ir/typeNode.h> 27 #include "ir/astNode.h" 82 const ir::AstNode *node; 90 std::vector<ir::AstNode *> nodes; 102 std::vector<const ir::Statement *> statements; 109 const std::variant<const ir::AstNode *, const std::vector<const ir::AstNode *>> &node; 115 std::vector<std::variant<ir::Statement *, int>> statements; 118 using ValidateNonFormattedText = std::function<void(ir::AstNode *node, const std::string &text)>; 121 ir::AstNode *node; 133 ir::AstNode *GetAstFromContext(const es2panda_Context *context); [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, bool isInitialConstr… in AssignPendingExit() 85 using NodeIdMap = ArenaMap<const ir::AstNode *, NodeId>; 90 void Analyze(const ir::AstNode *node); 96 void AnalyzeNodes(const ir::AstNode *node); 97 void AnalyzeNode(const ir::AstNode *node); 98 bool AnalyzeStmtNode1(const ir::AstNode *node); 99 bool AnalyzeStmtNode2(const ir::AstNode *node); 100 bool AnalyzeExprNode1(const ir::AstNode *node); [all …]
|