| /arkcompiler/ets_frontend/ts2panda/src/statement/ |
| D | labelTarget.ts | 22 export class LabelTarget { class 23 private static name2LabelTarget: Map<string, LabelTarget> = new Map<string, LabelTarget>(); 24 private static labelTargetStack: LabelTarget[] = []; 25 private static curLoopLabelTarget: LabelTarget | undefined = undefined; 29 private preLoopLabelTarget: LabelTarget | undefined = undefined; 42 this.preLoopLabelTarget = LabelTarget.curLoopLabelTarget; 43 LabelTarget.curLoopLabelTarget = this; 67 getPreLoopLabelTarget(): LabelTarget { 84 if (LabelTarget.labelTargetStack.length === 0) { 90 static getCloseLabelTarget(): LabelTarget | undefined { [all …]
|
| D | loopStatement.ts | 33 import { LabelTarget } from "./labelTarget"; 45 let labelTarget = new LabelTarget(stmt, loopEndLabel, conditionLabel, needCreateLoopEnv); 46 LabelTarget.pushLabelTarget(labelTarget); 47 LabelTarget.updateName2LabelTarget(stmt.parent, labelTarget); 71 LabelTarget.popLabelTarget(); 84 let labelTarget = new LabelTarget(stmt, loopEndLabel, loopStartLabel, needCreateLoopEnv); 85 LabelTarget.pushLabelTarget(labelTarget); 86 LabelTarget.updateName2LabelTarget(stmt.parent, labelTarget); 108 LabelTarget.popLabelTarget(); 134 let labelTarget = new LabelTarget(stmt, loopEndLabel, incLabel, needCreateLoopEnv); [all …]
|
| D | forOfStatement.ts | 22 import { LabelTarget } from "./labelTarget"; 89 let labelTarget = new LabelTarget(stmt, endLabel, nextLabel, needCreateLoopEnv); 90 LabelTarget.pushLabelTarget(labelTarget); 91 LabelTarget.updateName2LabelTarget(stmt.parent, labelTarget); 99 LabelTarget.popLabelTarget();
|
| D | switchStatement.ts | 27 import { LabelTarget } from "./labelTarget"; 44 let labelTarget = new LabelTarget(stmt, switchEndLabel, undefined); 45 LabelTarget.pushLabelTarget(labelTarget); 46 LabelTarget.updateName2LabelTarget(stmt.parent, labelTarget); 132 LabelTarget.popLabelTarget();
|
| D | tryStatement.ts | 23 import { LabelTarget } from "./labelTarget"; 257 private labelTarget: LabelTarget; 264 labelTarget: LabelTarget, hasLoopEnv: boolean, loopEnv?: VReg) {
|
| /arkcompiler/ets_frontend/es2panda/compiler/core/ |
| D | labelTarget.h | 31 class LabelTarget; variable 39 class LabelTarget : public LabelPair { 41 explicit LabelTarget(PandaGen *pg); 42 explicit LabelTarget(const util::StringView &label) : LabelTarget(nullptr, label) {} in LabelTarget() function 43 explicit LabelTarget(Label *target, const util::StringView &label) in LabelTarget() function 47 LabelTarget() : LabelPair(nullptr, nullptr) {}; in LabelTarget() function 49 ~LabelTarget() = default; 50 DEFAULT_COPY_SEMANTIC(LabelTarget); 51 DEFAULT_MOVE_SEMANTIC(LabelTarget);
|
| D | labelTarget.cpp | 22 LabelTarget::LabelTarget(PandaGen *pg) in LabelTarget() function in panda::es2panda::compiler::LabelTarget
|
| D | dynamicContext.h | 72 const LabelTarget &Target() const in Target() 78 explicit DynamicContext(PandaGen *pg, LabelTarget target); 81 LabelTarget target_; 87 explicit LabelContext(PandaGen *pg, LabelTarget target) : DynamicContext(pg, target) {} in LabelContext() 105 explicit LexEnvContext(LoopEnvScope *envScope, PandaGen *pg, LabelTarget target); 126 explicit IteratorContext(PandaGen *pg, const Iterator &iterator, LabelTarget target);
|
| D | switchBuilder.cpp | 29 …: pg_(pg), end_(pg->AllocLabel()), labelCtx_(pg, LabelTarget(end_, LabelTarget::BREAK_LABEL)), stm… in SwitchBuilder()
|
| D | dynamicContext.cpp | 26 DynamicContext::DynamicContext(PandaGen *pg, LabelTarget target) : pg_(pg), target_(target), prev_(… in DynamicContext() 37 : DynamicContext(pg, LabelTarget(labelledStmt->Ident()->Name())), labelledStmt_(labelledStmt) in LabelContext() 56 LexEnvContext::LexEnvContext(LoopEnvScope *envScope, PandaGen *pg, LabelTarget target) in LexEnvContext() 109 IteratorContext::IteratorContext(PandaGen *pg, const Iterator &iterator, LabelTarget target) in IteratorContext()
|
| D | envScope.h | 71 explicit LoopEnvScope(PandaGen *pg, binder::LoopScope *scope, LabelTarget target) in LoopEnvScope() 77 explicit LoopEnvScope(PandaGen *pg, LabelTarget target, binder::LoopScope *scope) in LoopEnvScope()
|
| D | pandagen.cpp | 749 util::StringView labelName = label ? label->Name() : LabelTarget::BREAK_LABEL; in ControlFlowChangeBreak() 774 util::StringView labelName = label ? label->Name() : LabelTarget::CONTINUE_LABEL; in ControlFlowChangeContinue() 800 iter->AbortContext(ControlFlowChange::BREAK, LabelTarget::RETURN_LABEL); in ControlFlowChangeReturn()
|
| /arkcompiler/ets_frontend/es2panda/ir/statements/ |
| D | whileStatement.cpp | 43 compiler::LabelTarget labelTarget(pg); in Compile()
|
| D | doWhileStatement.cpp | 43 compiler::LabelTarget labelTarget(pg); in Compile()
|
| D | forUpdateStatement.cpp | 58 compiler::LabelTarget labelTarget(pg); in Compile()
|
| D | forInStatement.cpp | 81 compiler::LabelTarget labelTarget(pg); in Compile()
|
| D | forOfStatement.cpp | 74 compiler::LabelTarget labelTarget(pg); in Compile()
|
| /arkcompiler/ets_frontend/ts2panda/src/ |
| D | compiler.ts | 95 import { LabelTarget } from "./statement/labelTarget"; 523 private popLoopEnvWhenContinueOrBreak(labelTarget: LabelTarget, isContinue: boolean): void { 557 let continueLabelTarget = LabelTarget.getLabelTarget(stmt); 574 let breakLabelTarget = LabelTarget.getLabelTarget(stmt); 599 let labelTarget = new LabelTarget(stmt, blockEndLabel, undefined); 601 LabelTarget.updateName2LabelTarget(stmt, labelTarget); 611 LabelTarget.deleteName2LabelTarget(labelName);
|