(N1, N2)
| 1313 | this._nodes.push(node); |
| 1314 | } |
| 1315 | _endBlockNode(N1, N2) { |
| 1316 | const n = this._currNode; |
| 1317 | if (n instanceof N1 || (N2 && n instanceof N2)) { |
| 1318 | this._nodes.pop(); |
| 1319 | return this; |
| 1320 | } |
| 1321 | throw new Error(`CodeGen: not in block "${N2 ? `${N1.kind}/${N2.kind}` : N1.kind}"`); |
| 1322 | } |
| 1323 | _elseNode(node) { |
| 1324 | const n = this._currNode; |
| 1325 | if (!(n instanceof If)) { |