| /arkcompiler/ets_frontend/ets2panda/compiler/core/ |
| D | ETSCompiler.cpp | 40 void ETSCompiler::Compile([[maybe_unused]] const ir::PrefixAssertionExpression *expr) const in Compile() 92 void ETSCompiler::Compile([[maybe_unused]] const ir::MetaProperty *expr) const in Compile() 102 void ETSCompiler::Compile([[maybe_unused]] const ir::Property *expr) const in Compile() 112 void ETSCompiler::Compile([[maybe_unused]] const ir::SpreadElement *expr) const in Compile() 117 void ETSCompiler::Compile(const ir::TemplateElement *expr) const in Compile() 120 etsg->LoadAccumulatorString(expr, expr->Raw()); in Compile() 148 void ETSCompiler::Compile(const ir::ETSClassLiteral *expr) const in Compile() 151 if (expr->expr_->TsType()->HasTypeFlag(checker::TypeFlag::ETS_ARRAY_OR_OBJECT)) { in Compile() 152 expr->expr_->Compile(etsg); in Compile() 153 etsg->GetType(expr, false); in Compile() [all …]
|
| D | JSCompiler.cpp | 40 void JSCompiler::Compile([[maybe_unused]] const ir::PrefixAssertionExpression *expr) const in Compile() 413 void JSCompiler::Compile(const ir::MetaProperty *expr) const in Compile() 416 if (expr->Kind() == ir::MetaProperty::MetaPropertyKind::NEW_TARGET) { in Compile() 417 pg->GetNewTarget(expr); in Compile() 421 if (expr->Kind() == ir::MetaProperty::MetaPropertyKind::IMPORT_META) { in Compile() 432 void JSCompiler::Compile([[maybe_unused]] const ir::Property *expr) const in Compile() 442 void JSCompiler::Compile([[maybe_unused]] const ir::SpreadElement *expr) const in Compile() 447 void JSCompiler::Compile([[maybe_unused]] const ir::TemplateElement *expr) const in Compile() 472 void JSCompiler::Compile([[maybe_unused]] const ir::ETSScript *expr) const in Compile() 477 void JSCompiler::Compile([[maybe_unused]] const ir::ETSClassLiteral *expr) const in Compile() [all …]
|
| /arkcompiler/ets_frontend/ts2panda/src/expression/ |
| D | templateExpression.ts | 20 function genRawString(pandaGen: PandaGen, expr: ts.TemplateExpression | ts.NoSubstitutionTemplateLi… 22 if (ts.isTemplateExpression(expr)) { 23 text = expr.head.rawText!; 25 text = expr.rawText!; 29 pandaGen.loadAccumulatorString(expr, text); 32 function genCookedString(pandaGen: PandaGen, expr: ts.TemplateExpression | ts.NoSubstitutionTemplat… 34 if (ts.isTemplateExpression(expr)) { 35 text = expr.head.text; 37 text = expr.text; 45 pandaGen.loadAccumulatorString(expr, text); [all …]
|
| D | yieldExpression.ts | 23 export function compileYieldExpression(compiler: Compiler, expr: ts.YieldExpression): void { 25 …throw new DiagnosticError(expr.parent, DiagnosticCode.A_yield_expression_is_only_allowed_in_a_gene… 28 expr.asteriskToken ? genYieldStarExpr(compiler, expr) : genYieldExpr(compiler, expr); 31 function genYieldExpr(compiler: Compiler, expr: ts.YieldExpression): void { 34 if (expr.expression) { 35 compiler.compileExpression(expr.expression); 36 funcBuilder.yield(expr); 38 pandaGen.loadAccumulator(expr, getVregisterCache(pandaGen, CacheList.UNDEFINED)); 39 funcBuilder.yield(expr); 43 function genYieldStarExpr(compiler: Compiler, expr: ts.YieldExpression): void { [all …]
|
| D | callExpression.ts | 27 export function compileCallExpression(expr: ts.CallExpression, compiler: Compiler, inTailPos?: bool… 30 let innerExpression = ts.skipPartiallyEmittedExpressions(expr.expression); 33 compiler.compileExpression(expr.arguments[0]); 34 pandaGen.dynamicImportCall(expr); 47 let hasSpread = emitCallArguments(compiler, expr, args); 48 compileSuperCall(compiler, expr, args, hasSpread); 56 emitCall(expr, args, passThis, compiler); 60 export function getHiddenParameters(expr: ts.Expression, compiler: Compiler) { 65 if (isMemberExpression(expr)) { 70 …= getObjAndProp(<ts.PropertyAccessExpression | ts.ElementAccessExpression>expr, thisReg, propReg, … [all …]
|
| D | newExpression.ts | 22 export function compileNewExpression(expr: ts.NewExpression, compiler: Compiler): void { 27 compiler.compileExpression(expr.expression); 28 pandaGen.storeAccumulator(expr, ctorReg); 30 if (containSpreadElement(expr.arguments)) { 32 … createArrayFromElements(expr, compiler, <ts.NodeArray<ts.Expression>>expr.arguments, argRegs); 34 pandaGen.newObjSpread(expr, ctorReg); 42 if (expr.arguments) { 43 numArgs += expr.arguments.length; 50 if (expr.arguments) { 52 expr.arguments.forEach((argExpr: ts.Expression) => { [all …]
|
| D | parenthesizedExpression.ts | 18 export function findInnerExprOfParenthesis(expr: ts.ParenthesizedExpression): ts.Expression { 19 while (expr.expression.kind === ts.SyntaxKind.ParenthesizedExpression) { 20 expr = <ts.ParenthesizedExpression>expr.expression; 22 return expr.expression; 25 export function findOuterNodeOfParenthesis(expr: ts.Node): ts.Node { 26 let parent = expr.parent;
|
| /arkcompiler/ets_frontend/ts2panda/src/function/ |
| D | generatorFunctionBuilder.ts | 84 yieldStar(expr: ts.YieldExpression): void { 103 let iterator: IteratorRecord = getIteratorRecord(pandaGen, expr, method, object, type); 106 pandaGen.moveVreg(expr, receivedValue, getVregisterCache(pandaGen, CacheList.UNDEFINED)); 109 pandaGen.loadAccumulatorInt(expr, ResumeMode.NEXT); 110 pandaGen.storeAccumulator(expr, modeType); 113 pandaGen.label(expr, loopStartLabel); 114 pandaGen.loadAccumulatorInt(expr, ResumeMode.NEXT); 115 pandaGen.condition(expr, ts.SyntaxKind.EqualsEqualsToken, modeType, callreturnLabel); 118 pandaGen.call(expr, [iterator.getNextMethod(), iterator.getObject(), receivedValue], true); 119 pandaGen.branch(expr, iteratorCompletionLabel); [all …]
|
| /arkcompiler/ets_frontend/ets2panda/checker/ |
| D | ETSAnalyzer.cpp | 39 checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::PrefixAssertionExpression *expr) const in Check() 121 checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::MetaProperty *expr) const in Check() 344 checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::Property *expr) const in Check() 354 checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::SpreadElement *expr) const in Check() 359 checker::Type *ETSAnalyzer::Check(ir::TemplateElement *expr) const in Check() 362 expr->SetTsType(checker->CreateETSStringLiteralType(expr->Raw())); in Check() 363 return expr->TsType(); in Check() 391 checker::Type *ETSAnalyzer::Check(ir::ETSClassLiteral *expr) const in Check() 394 checker->ThrowTypeError("Class literal is not yet supported.", expr->expr_->Start()); in Check() 396 expr->expr_->Check(checker); in Check() [all …]
|
| D | TSAnalyzer.cpp | 34 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::PrefixAssertionExpression *expr) const in Check() 80 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::MetaProperty *expr) const in Check() 92 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::Property *expr) const in Check() 102 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::SpreadElement *expr) const in Check() 107 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::TemplateElement *expr) const in Check() 228 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::ETSScript *expr) const in Check() 233 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::ETSClassLiteral *expr) const in Check() 248 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::ETSLaunchExpression *expr) const in Check() 253 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::ETSNewArrayInstanceExpression *expr) const in Check() 258 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::ETSNewClassInstanceExpression *expr) const in Check() [all …]
|
| D | TSchecker.cpp | 47 Type *TSChecker::CheckTypeCached(ir::Expression *expr) in CheckTypeCached() argument 49 if (expr->TsType() == nullptr) { in CheckTypeCached() 50 expr->SetTsType(expr->Check(this)); in CheckTypeCached() 53 return expr->TsType(); in CheckTypeCached()
|
| /arkcompiler/ets_frontend/test262/ |
| D | module_tests.txt | 53 eval-export-dflt-expr-cls-anon.js 54 eval-export-dflt-expr-cls-named.js 55 eval-export-dflt-expr-cls-name-meth.js 56 eval-export-dflt-expr-err-eval.js 57 eval-export-dflt-expr-err-get-value.js 58 eval-export-dflt-expr-fn-anon.js 59 eval-export-dflt-expr-fn-named.js 60 eval-export-dflt-expr-gen-anon.js 61 eval-export-dflt-expr-gen-named.js 62 eval-export-dflt-expr-in.js [all …]
|
| /arkcompiler/ets_frontend/ts2panda/src/ |
| D | compiler.ts | 741 compileCondition(expr: ts.Expression, ifFalseLabel: Label): void { 743 if (expr.kind === ts.SyntaxKind.BinaryExpression) { 744 let binExpr = <ts.BinaryExpression>expr; 790 this.compileExpression(expr); 791 pandaGen.jumpIfFalse(expr, ifFalseLabel); 794 compileExpression(expr: ts.Expression): void { 796 LOGD(this.debugTag, "compile expr: " + ts.SyntaxKind[expr.kind] + " " + expr.kind); 797 switch (expr.kind) { 799 compileNumericLiteral(this.pandaGen, <ts.NumericLiteral>expr); 802 compileBigIntLiteral(this.pandaGen, <ts.BigIntLiteral>expr); [all …]
|
| /arkcompiler/ets_frontend/ets2panda/compiler/base/ |
| D | condition.cpp | 81 void Condition::Compile(PandaGen *pg, const ir::Expression *expr, Label *falseLabel) in Compile() argument 83 if (expr->IsBinaryExpression()) { in Compile() 84 if (CompileBinaryExpr(pg, expr->AsBinaryExpression(), falseLabel)) { in Compile() 87 } else if (expr->IsUnaryExpression() && in Compile() 88 … expr->AsUnaryExpression()->OperatorType() == lexer::TokenType::PUNCTUATOR_EXCLAMATION_MARK) { in Compile() 89 expr->AsUnaryExpression()->Argument()->Compile(pg); in Compile() 91 pg->Negate(expr); in Compile() 92 pg->BranchIfFalse(expr, falseLabel); in Compile() 97 expr->Compile(pg); in Compile() 98 pg->ToBoolean(expr); in Compile() [all …]
|
| /arkcompiler/ets_runtime/ecmascript/compiler/codegen/maple/maple_me/src/ |
| D | meexpr_use_info.cpp | 22 void MeExprUseInfo::AddUseSiteOfExpr(MeExpr *expr, T *useSite) in AddUseSiteOfExpr() argument 24 if (expr->GetExprID() == kInvalidExprID) { in AddUseSiteOfExpr() 28 auto uintExprID = static_cast<uint32>(expr->GetExprID()); in AddUseSiteOfExpr() 36 (*useSites)[uintExprID] = {expr, newList}; in AddUseSiteOfExpr() 45 MapleList<UseItem> *MeExprUseInfo::GetUseSitesOfExpr(const MeExpr *expr) const in GetUseSitesOfExpr() 49 } else if (!expr->IsScalar()) { in GetUseSitesOfExpr() 53 if (expr->GetExprID() == kInvalidExprID) { in GetUseSitesOfExpr() 57 auto uintExprID = static_cast<uint32>(expr->GetExprID()); in GetUseSitesOfExpr() 64 void MeExprUseInfo::CollectUseInfoInExpr(MeExpr *expr, MeStmt *stmt) in CollectUseInfoInExpr() argument 66 if (expr == nullptr) { in CollectUseInfoInExpr() [all …]
|
| /arkcompiler/ets_runtime/ecmascript/compiler/codegen/maple/maple_be/src/cg/ |
| D | cgfunc.cpp | 33 Operand *HandleDread(const BaseNode &parent, BaseNode &expr, CGFunc &cgFunc) in HandleDread() argument 35 auto &dreadNode = static_cast<AddrofNode &>(expr); in HandleDread() 39 Operand *HandleRegread(const BaseNode &parent, BaseNode &expr, CGFunc &cgFunc) in HandleRegread() argument 42 auto ®ReadNode = static_cast<RegreadNode &>(expr); in HandleRegread() 49 Operand *HandleConstVal(const BaseNode &parent, BaseNode &expr, CGFunc &cgFunc) in HandleConstVal() argument 51 auto &constValNode = static_cast<ConstvalNode &>(expr); in HandleConstVal() 69 Operand *HandleConstStr(const BaseNode &parent, BaseNode &expr, CGFunc &cgFunc) in HandleConstStr() argument 72 auto &constStrNode = static_cast<ConststrNode &>(expr); in HandleConstStr() 87 Operand *HandleConstStr16(const BaseNode &parent, BaseNode &expr, CGFunc &cgFunc) in HandleConstStr16() argument 90 auto &constStr16Node = static_cast<Conststr16Node &>(expr); in HandleConstStr16() [all …]
|
| D | isel.cpp | 304 Operand *HandleAddrof(const BaseNode &parent, BaseNode &expr, MPISel &iSel) in HandleAddrof() argument 306 auto &addrofNode = static_cast<AddrofNode &>(expr); in HandleAddrof() 310 Operand *HandleAddroffunc(const BaseNode &parent, BaseNode &expr, MPISel &iSel) in HandleAddroffunc() argument 312 auto &addrofNode = static_cast<AddroffuncNode &>(expr); in HandleAddroffunc() 316 Operand *HandleAddrofLabel(const BaseNode &parent, BaseNode &expr, MPISel &iSel) in HandleAddrofLabel() argument 318 auto &addrofLabelNode = static_cast<AddroflabelNode &>(expr); in HandleAddrofLabel() 322 Operand *HandleShift(const BaseNode &parent, BaseNode &expr, MPISel &iSel) in HandleShift() argument 324 return iSel.SelectShift(static_cast<BinaryNode &>(expr), *iSel.HandleExpr(expr, *expr.Opnd(0)), in HandleShift() 325 *iSel.HandleExpr(expr, *expr.Opnd(1)), parent); in HandleShift() 328 Operand *HandleCvt(const BaseNode &parent, BaseNode &expr, MPISel &iSel) in HandleCvt() argument [all …]
|
| /arkcompiler/ets_frontend/ets2panda/compiler/lowering/ets/ |
| D | unionLowering.cpp | 105 …opertyAccess(checker::ETSChecker *checker, varbinder::VarBinder *vbind, ir::MemberExpression *expr) in HandleUnionPropertyAccess() argument 107 ASSERT(expr->PropVar() == nullptr); in HandleUnionPropertyAccess() 108 expr->SetPropVar( in HandleUnionPropertyAccess() 109 …CreateUnionFieldClassProperty(checker, vbind, expr->TsType(), expr->Property()->AsIdentifier()->Na… in HandleUnionPropertyAccess() 110 ASSERT(expr->PropVar() != nullptr); in HandleUnionPropertyAccess() 143 …:TSAsExpression *HandleUnionCastToPrimitive(checker::ETSChecker *checker, ir::TSAsExpression *expr) in HandleUnionCastToPrimitive() argument 145 auto *const unionType = expr->Expr()->TsType()->AsETSUnionType(); in HandleUnionCastToPrimitive() 146 auto *sourceType = unionType->FindExactOrBoxedType(checker, expr->TsType()); in HandleUnionCastToPrimitive() 148 …sourceType = unionType->AsETSUnionType()->FindTypeIsCastableToSomeType(expr->Expr(), checker->Rela… in HandleUnionCastToPrimitive() 149 expr->TsType()); in HandleUnionCastToPrimitive() [all …]
|
| /arkcompiler/ets_runtime/ecmascript/compiler/codegen/maple/maple_me/include/ |
| D | cast_opt.h | 39 explicit CastInfo(T *expr) : expr(expr) {} in CastInfo() argument 47 return expr->GetPrimType(); in GetPrimType() 69 T *expr = nullptr; // expr's type must be MeExpr* or BaseNode* variable 74 explicit BaseNodeCastInfo(BaseNode *expr) : CastInfo(expr) {} in BaseNodeCastInfo() argument 79 return expr->GetOpCode(); in GetOp() 87 return static_cast<const ExtractbitsNode *>(expr)->GetBitsSize(); in GetBitsSize() 96 return expr->Opnd(index); in GetOpnd() 106 return static_cast<const TypeCvtNode *>(expr)->FromType(); in GetOpndType() 108 const auto *regread = static_cast<const RegreadNode *>(expr); in GetOpndType() 114 const auto *iread = static_cast<const IreadNode *>(expr); in GetOpndType() [all …]
|
| /arkcompiler/ets_frontend/es2panda/compiler/base/ |
| D | condition.cpp | 24 void Condition::Compile(PandaGen *pg, const ir::Expression *expr, Label *falseLabel) in Compile() argument 26 if (expr->IsBinaryExpression()) { in Compile() 27 const auto *binExpr = expr->AsBinaryExpression(); in Compile() 75 } else if (expr->IsUnaryExpression() && in Compile() 76 … expr->AsUnaryExpression()->OperatorType() == lexer::TokenType::PUNCTUATOR_EXCLAMATION_MARK) { in Compile() 77 expr->AsUnaryExpression()->Argument()->Compile(pg); in Compile() 79 pg->Negate(expr); in Compile() 80 pg->BranchIfFalse(expr, falseLabel); in Compile() 85 expr->Compile(pg); in Compile() 86 pg->BranchIfFalse(expr, falseLabel); in Compile()
|
| /arkcompiler/ets_runtime/ecmascript/compiler/codegen/maple/maple_ir/include/ |
| D | mir_parser.h | 56 bool ParseExprOneOperand(BaseNodePtr &expr); 182 bool ParseExpression(BaseNodePtr &expr); 183 bool ParseExprDread(BaseNodePtr &expr); 184 bool ParseExprDreadoff(BaseNodePtr &expr); 185 bool ParseExprRegread(BaseNodePtr &expr); 186 bool ParseExprBinary(BaseNodePtr &expr); 187 bool ParseExprCompare(BaseNodePtr &expr); 188 bool ParseExprDepositbits(BaseNodePtr &expr); 189 bool ParseExprConstval(BaseNodePtr &expr); 190 bool ParseExprConststr(BaseNodePtr &expr); [all …]
|
| /arkcompiler/ets_frontend/es2panda/ir/ts/ |
| D | tsEnumDeclaration.cpp | 72 const ir::Identifier *expr) in EvaluateIdentifier() argument 74 if (expr->Name() == "NaN") { in EvaluateIdentifier() 77 if (expr->Name() == "Infinity") { in EvaluateIdentifier() 81 binder::Variable *enumMember = expr->AsIdentifier()->Variable(); in EvaluateIdentifier() 84 checker->ThrowTypeError({"Cannot find name ", expr->AsIdentifier()->Name()}, in EvaluateIdentifier() 105 const ir::UnaryExpression *expr) in EvaluateUnaryExpression() argument 107 …binder::EnumMemberResult value = TSEnumDeclaration::EvaluateEnumMember(checker, enumVar, expr->Arg… in EvaluateUnaryExpression() 112 switch (expr->OperatorType()) { in EvaluateUnaryExpression() 132 const ir::MemberExpression *expr) in EvaluateMemberExpression() argument 134 if (checker::Checker::IsConstantMemberAccess(expr->AsExpression())) { in EvaluateMemberExpression() [all …]
|
| /arkcompiler/ets_frontend/ets2panda/checker/ts/ |
| D | util.cpp | 25 ir::MemberExpression *TSChecker::ResolveLeftMostMemberExpression(ir::MemberExpression *expr) in ResolveLeftMostMemberExpression() argument 27 ir::MemberExpression *iter = expr; in ResolveLeftMostMemberExpression() 155 bool TSChecker::IsConstantMemberAccess(ir::Expression *expr) in IsConstantMemberAccess() argument 157 switch (expr->Type()) { in IsConstantMemberAccess() 162 bool res = IsConstantMemberAccess(expr->AsMemberExpression()->Object()); in IsConstantMemberAccess() 163 return !expr->AsMemberExpression()->IsComputed() in IsConstantMemberAccess() 165 : (res && IsStringLike(expr->AsMemberExpression()->Property())); in IsConstantMemberAccess() 172 bool TSChecker::IsStringLike(ir::Expression *expr) in IsStringLike() argument 174 if (expr->IsStringLiteral()) { in IsStringLike() 178 if (expr->IsTemplateLiteral() && expr->AsTemplateLiteral()->Quasis().empty()) { in IsStringLike()
|
| /arkcompiler/ets_frontend/ts2panda/src/statement/ |
| D | returnStatement.ts | 39 let expr = stmt.expression; 43 if (!expr) { 46 if (ts.isCallExpression(expr) && expr.expression.kind === ts.SyntaxKind.SuperKeyword) { 52 if (expr.kind === ts.SyntaxKind.ThisKeyword) { 55 compiler.compileExpression(expr); 74 if (expr) { 75 compiler.compileExpression(expr); 108 let expr = stmt.expression; 112 if (expr) { 113 compiler.compileExpression(expr);
|
| /arkcompiler/ets_frontend/es2panda/typescript/core/ |
| D | util.cpp | 37 …st ir::MemberExpression *Checker::ResolveLeftMostMemberExpression(const ir::MemberExpression *expr) in ResolveLeftMostMemberExpression() argument 39 const ir::MemberExpression *iter = expr; in ResolveLeftMostMemberExpression() 183 bool Checker::IsConstantMemberAccess(const ir::Expression *expr) in IsConstantMemberAccess() argument 185 switch (expr->Type()) { in IsConstantMemberAccess() 190 bool res = IsConstantMemberAccess(expr->AsMemberExpression()->Object()); in IsConstantMemberAccess() 191 return !expr->AsMemberExpression()->IsComputed() in IsConstantMemberAccess() 193 : (res && IsStringLike(expr->AsMemberExpression()->Property())); in IsConstantMemberAccess() 200 bool Checker::IsStringLike(const ir::Expression *expr) in IsStringLike() argument 202 if (expr->IsStringLiteral()) { in IsStringLike() 206 if (expr->IsTemplateLiteral() && expr->AsTemplateLiteral()->Quasis().empty()) { in IsStringLike()
|