@@ -282,7 +282,7 @@ exports.Block = Block = (function(superclass){
282
282
break ;
283
283
default :
284
284
this . lines . push ( it ) ;
285
- if ( that = it . back , delete it . back , that ) {
285
+ if ( that = ( ref$ = it . back , delete it . back , ref$ ) ) {
286
286
this . back = that ;
287
287
}
288
288
}
@@ -377,7 +377,7 @@ exports.Block = Block = (function(superclass){
377
377
scope : this . scope = Scope . root = new Scope
378
378
} , options ) ) ;
379
379
delete o . filename ;
380
- o . indent = ( bare = o . bare , delete o . bare , bare ) ? '' : TAB ;
380
+ o . indent = ( bare = ( ref$ = o . bare , delete o . bare , ref$ ) ) ? '' : TAB ;
381
381
if ( / ^ \s * (?: [ / # ] | j a v a s c r i p t : ) / . test ( ( ref$ = this . lines [ 0 ] ) != null ? ref$ . code : void 8 ) ) {
382
382
prefix = this . lines . shift ( ) . code + '\n' ;
383
383
}
@@ -659,7 +659,7 @@ exports.Chain = Chain = (function(superclass){
659
659
this . head . sproto = true ;
660
660
}
661
661
}
662
- if ( that = it . vivify , delete it . vivify , that ) {
662
+ if ( that = ( ref$ = it . vivify , delete it . vivify , ref$ ) ) {
663
663
this . head = Assign ( Chain ( this . head , this . tails . splice ( 0 , 9e9 ) ) , that ( ) , '=' , '||' ) ;
664
664
}
665
665
return this ;
@@ -1471,14 +1471,7 @@ exports.Unary = Unary = (function(superclass){
1471
1471
prototype . compilePluck = function ( o ) {
1472
1472
var ref$ , get , del , code , ref ;
1473
1473
ref$ = Chain ( this . it ) . cacheReference ( o ) , get = ref$ [ 0 ] , del = ref$ [ 1 ] ;
1474
- code = this . assigned
1475
- ? ''
1476
- : ( ref = o . scope . temporary ( ) ) + " = " ;
1477
- code += get . compile ( o , LEVEL_LIST ) + ", delete " + del . compile ( o , LEVEL_LIST ) ;
1478
- if ( this . assigned ) {
1479
- return code ;
1480
- }
1481
- code += ", " + o . scope . free ( ref ) ;
1474
+ code = ( ref = o . scope . temporary ( ) ) + " = " + get . compile ( o , LEVEL_LIST ) + ", delete " + del . compile ( o , LEVEL_LIST ) + ", " + o . scope . free ( ref ) ;
1482
1475
if ( o . level < LEVEL_LIST ) {
1483
1476
return code ;
1484
1477
} else {
@@ -1764,9 +1757,9 @@ exports.Assign = Assign = (function(superclass){
1764
1757
}
1765
1758
} ;
1766
1759
prototype . unfoldSoak = function ( o ) {
1767
- var that , ref$ , rite , temps ;
1760
+ var that , ref$ , ref1$ , rite , temps ;
1768
1761
if ( this . left instanceof Existence ) {
1769
- if ( that = ( ref$ = this . left = this . left . it ) . name , delete ref$ . name , that ) {
1762
+ if ( that = ( ref1$ = ( ref$ = this . left = this . left . it ) . name , delete ref$ . name , ref1$ ) ) {
1770
1763
rite = this . right ;
1771
1764
rite = Assign ( this . right = Var ( that ) , rite ) ;
1772
1765
} else {
@@ -1780,7 +1773,7 @@ exports.Assign = Assign = (function(superclass){
1780
1773
return this . access && this ;
1781
1774
} ;
1782
1775
prototype . compileNode = function ( o ) {
1783
- var left , ref$ , i$ , len$ , op , right , minmax , lefs , reft , ref , x0$ , code , name , lvar , del , that , res ;
1776
+ var left , ref$ , i$ , len$ , op , right , minmax , lefs , reft , ref , x0$ , code , name , lvar , that , res ;
1784
1777
left = this . left . expandSlice ( o , true ) . unwrap ( ) ;
1785
1778
if ( ! this . right ) {
1786
1779
left . isAssignable ( ) || left . carp ( 'invalid unary assign' ) ;
@@ -1833,7 +1826,6 @@ exports.Assign = Assign = (function(superclass){
1833
1826
( right = right . unparen ( ) ) . ripName ( left = left . unwrap ( ) ) ;
1834
1827
code = name = ( left . front = true , left ) . compile ( o , LEVEL_LIST ) ;
1835
1828
if ( lvar = left instanceof Var ) {
1836
- del = right . op === 'delete' ;
1837
1829
if ( op === '=' ) {
1838
1830
o . scope . declare ( name , left , this [ 'const' ] ) ;
1839
1831
} else if ( that = o . scope . checkReadOnly ( name ) ) {
@@ -1843,14 +1835,9 @@ exports.Assign = Assign = (function(superclass){
1843
1835
code += " " + ( replace$ . call ( op , ':' , '' ) ) + " " ;
1844
1836
code = ! o . level && right instanceof While && ! right [ 'else' ] && ( lvar || left instanceof Chain && left . isSimpleAccess ( ) )
1845
1837
? ( res = o . scope . temporary ( 'res' ) ) + " = [];\n" + this . tab + right . makeReturn ( res ) . compile ( o ) + "\n" + this . tab + code + o . scope . free ( res )
1846
- : code + ( right . assigned = true , right ) . compile ( o , LEVEL_LIST ) ;
1847
- if ( that = o . level ) {
1848
- if ( del ) {
1849
- code += ", " + name ;
1850
- }
1851
- if ( that > ( del ? LEVEL_PAREN : LEVEL_LIST ) ) {
1852
- code = "(" + code + ")" ;
1853
- }
1838
+ : code + right . compile ( o , LEVEL_LIST ) ;
1839
+ if ( o . level > LEVEL_LIST ) {
1840
+ code = "(" + code + ")" ;
1854
1841
}
1855
1842
return code ;
1856
1843
} ;
@@ -2212,7 +2199,7 @@ exports.Fun = Fun = (function(superclass){
2212
2199
this . name || ( this . name = it . varName ( ) ) ;
2213
2200
} ;
2214
2201
prototype . compileNode = function ( o ) {
2215
- var pscope , sscope , scope , that , loop , body , name , tab , code , ref$ ;
2202
+ var pscope , sscope , scope , that , loop , ref$ , body , name , tab , code ;
2216
2203
pscope = o . scope ;
2217
2204
sscope = pscope . shared || pscope ;
2218
2205
scope = o . scope = this . body . scope = new Scope ( this . wrapper ? pscope : sscope , this . wrapper && sscope ) ;
@@ -2223,7 +2210,7 @@ exports.Fun = Fun = (function(superclass){
2223
2210
if ( that = this . cname ) {
2224
2211
scope . assign ( 'constructor' , that ) ;
2225
2212
}
2226
- if ( loop = o . loop , delete o . loop , loop ) {
2213
+ if ( loop = ( ref$ = o . loop , delete o . loop , ref$ ) ) {
2227
2214
o . indent = this . tab = '' ;
2228
2215
}
2229
2216
o . indent += TAB ;
0 commit comments