Lines Matching full:this
4 * you may not use this file except in compliance with the License.
39 this.iterRecord = iterRecord;
40 this.iterDone = iterDone;
41 this.iterValue = iterValue;
42 this.pandaGen = pandaGen;
43 this.node = node;
45 this.kind = kind;
49 this.funcBuilder = funcBuilder;
54 let pandaGen = this.pandaGen;
55 let iterator = this.iterRecord.iterator;
58 …this.kind == IteratorType.Normal ? pandaGen.getIterator(this.node) : pandaGen.getAsyncIterator(thi…
59 pandaGen.storeAccumulator(this.node, iterator);
62 pandaGen.loadObjProperty(this.node, iterator, "next");
63 pandaGen.storeAccumulator(this.node, this.iterRecord.nextMethod);
67 return this.iterRecord.nextMethod;
71 this.pandaGen.loadObjProperty(this.node, this.iterRecord.iterator, id);
72 this.pandaGen.storeAccumulator(this.node, this.iterRecord.nextMethod);
82 this.pandaGen.call(this.node, [this.iterRecord.nextMethod, this.iterRecord.iterator], true);
83 this.pandaGen.storeAccumulator(this.node, iterResult);
87 …this.pandaGen.call(this.node, [this.iterRecord.nextMethod, this.iterRecord.iterator, value], true);
91 this.pandaGen.loadObjProperty(this.node, iterResult, "done");
92 this.pandaGen.storeAccumulator(this.node, this.iterDone);
96 this.pandaGen.loadObjProperty(this.node, iterResult, "value");
97 this.pandaGen.storeAccumulator(this.node, this.iterValue);
101 let pg = this.pandaGen;
102 if (this.kind == IteratorType.Normal) {
103 pg.closeIterator(this.node, this.iterRecord.iterator);
122 pg.storeAccumulator(this.node, completion);
123 pg.storeConst(this.node, exception, CacheList.HOLE);
126 pg.label(this.node, tryBeginLabel);
129 this.getMethod("return");
134 pg.branchIfUndefined(this.node, noReturn);
135 this.callNext(res);
137 // if (this.kind == IteratorType.Async) {
138 // if (!this.funcBuilder) {
142 // (<AsyncGeneratorFunctionBuilder>this.funcBuilder).await(this.node);
144 (<AsyncGeneratorFunctionBuilder>this.funcBuilder).await(this.node);
145 pg.storeAccumulator(this.node, res);
147 pg.label(this.node, tryEndLabel);
148 pg.branch(this.node, catchEndLabel);
150 pg.label(this.node, catchBeginLabel);
151 pg.storeAccumulator(this.node, exception);
152 pg.label(this.node, catchEndLabel);
156 pg.loadAccumulator(this.node, getVregisterCache(pg, CacheList.HOLE));
157 pg.condition(this.node, ts.SyntaxKind.ExclamationEqualsToken, exception, skipThrow);
159 pg.label(this.node, doThrow);
160 pg.loadAccumulator(this.node, exception);
161 pg.throw(this.node);
163 pg.label(this.node, skipThrow);
165 pg.loadAccumulator(this.node, res);
166 pg.throwIfNotObject(this.node, res);
168 pg.label(this.node, noReturn);
169 pg.loadAccumulator(this.node, completion);
175 return this.iterValue;
179 return this.iterDone;