Home
last modified time | relevance | path

Searched refs:expr (Results 1 – 25 of 223) sorted by relevance

123456789

/arkcompiler/ets_frontend/ets2panda/compiler/core/
DETSCompiler.cpp40 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 …]
DJSCompiler.cpp40 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/
DtemplateExpression.ts20 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 …]
DyieldExpression.ts23 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 …]
DcallExpression.ts27 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 …]
DnewExpression.ts22 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 …]
DparenthesizedExpression.ts18 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/
DgeneratorFunctionBuilder.ts84 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/
DETSAnalyzer.cpp39 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 …]
DTSAnalyzer.cpp34 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 …]
DTSchecker.cpp47 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/
Dmodule_tests.txt53 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/
Dcompiler.ts741 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/
Dcondition.cpp81 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()
88expr->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/
Dmeexpr_use_info.cpp22 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/
Dcgfunc.cpp33 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 &regReadNode = 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 …]
Disel.cpp304 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/
DunionLowering.cpp105 …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/
Dcast_opt.h39 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/
Dcondition.cpp24 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()
76expr->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/
Dmir_parser.h56 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/
DtsEnumDeclaration.cpp72 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/
Dutil.cpp25 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/
DreturnStatement.ts39 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/
Dutil.cpp37 …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()

123456789