You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -231,21 +239,25 @@ export default class Renderer {
231
239
// to lazily create the node. TODO would be better if
232
240
// context was determined before rendering, so that
233
241
// this indirection was unnecessary
234
-
235
-
constbitmask=get_bitmask();
236
-
237
-
if(renderer.context_overflow){
238
-
constexpression=bitmask
239
-
.map((b,i)=>({ b, i }))
240
-
.filter(({ b })=>b)
241
-
.map(({ b, i })=>x`${dirty}[${i}] & /*${b.names.join(', ')}*/ ${b.n}`)
242
-
.reduce((lhs,rhs)=>x`${lhs} | ${rhs}`);
243
-
244
-
({ operator, left, right }=expression);
245
-
}else{
246
-
({ operator, left, right }=x`${dirty} & /*${names.join(', ')}*/ ${bitmask[0] ? bitmask[0].n : 0}`asBinaryExpression);// TODO the `: 0` case should never apply
242
+
if(!bitmask){
243
+
bitmask=get_bitmask();
244
+
245
+
if(!bitmask.length){
246
+
({ operator, left, right }=x`${dirty} & /*${names.join(', ')}*/ 0`asBinaryExpression);
247
+
}elseif(renderer.context_overflow){
248
+
constexpression=bitmask
249
+
.map((b,i)=>({ b, i }))
250
+
.filter(({ b })=>b)
251
+
.map(({ b, i })=>x`${dirty}[${i}] & /*${b.names.join(', ')}*/ ${b.n}`)
252
+
.reduce((lhs,rhs)=>x`${lhs} | ${rhs}`);
253
+
254
+
({ operator, left, right }=expressionasBinaryExpression);
255
+
}else{
256
+
({ operator, left, right }=x`${dirty} & /*${names.join(', ')}*/ ${bitmask[0].n}`asBinaryExpression);
0 commit comments