mirror of https://github.com/lukechilds/rollup.git
Rich Harris
8 years ago
committed by
GitHub
90 changed files with 484 additions and 66 deletions
@ -0,0 +1,7 @@ |
|||||
|
import Statement from './shared/Statement.js'; |
||||
|
|
||||
|
export default class EmptyStatement extends Statement { |
||||
|
render ( code ) { |
||||
|
code.remove( this.start, this.end ); |
||||
|
} |
||||
|
} |
@ -0,0 +1,31 @@ |
|||||
|
import Statement from './shared/Statement.js'; |
||||
|
|
||||
|
export default class ForStatement extends Statement { |
||||
|
bind () { |
||||
|
const scope = this.body.scope; |
||||
|
|
||||
|
this.init.bind( scope ); |
||||
|
this.test.bind( scope ); |
||||
|
this.update.bind( scope ); |
||||
|
this.body.bind( scope ); |
||||
|
} |
||||
|
|
||||
|
hasEffects () { |
||||
|
return super.hasEffects( this.body.scope ); |
||||
|
} |
||||
|
|
||||
|
initialise ( scope ) { |
||||
|
this.body.createScope( scope ); |
||||
|
scope = this.body.scope; |
||||
|
|
||||
|
// can't use super, because we need to control the order
|
||||
|
this.init.initialise( scope ); |
||||
|
this.test.initialise( scope ); |
||||
|
this.update.initialise( scope ); |
||||
|
this.body.initialise( scope ); |
||||
|
} |
||||
|
|
||||
|
run ( scope ) { |
||||
|
super.run( scope ); |
||||
|
} |
||||
|
} |
@ -0,0 +1,3 @@ |
|||||
|
module.exports = { |
||||
|
description: 'removes an empty block statement' |
||||
|
}; |
@ -0,0 +1,6 @@ |
|||||
|
define(function () { 'use strict'; |
||||
|
|
||||
|
console.log( 1 ); |
||||
|
console.log( 2 ); |
||||
|
|
||||
|
}); |
@ -0,0 +1,4 @@ |
|||||
|
'use strict'; |
||||
|
|
||||
|
console.log( 1 ); |
||||
|
console.log( 2 ); |
@ -0,0 +1,2 @@ |
|||||
|
console.log( 1 ); |
||||
|
console.log( 2 ); |
@ -0,0 +1,7 @@ |
|||||
|
(function () { |
||||
|
'use strict'; |
||||
|
|
||||
|
console.log( 1 ); |
||||
|
console.log( 2 ); |
||||
|
|
||||
|
}()); |
@ -0,0 +1,10 @@ |
|||||
|
(function (global, factory) { |
||||
|
typeof exports === 'object' && typeof module !== 'undefined' ? factory() : |
||||
|
typeof define === 'function' && define.amd ? define(factory) : |
||||
|
(factory()); |
||||
|
}(this, (function () { 'use strict'; |
||||
|
|
||||
|
console.log( 1 ); |
||||
|
console.log( 2 ); |
||||
|
|
||||
|
}))); |
@ -0,0 +1,5 @@ |
|||||
|
console.log( 1 ); |
||||
|
{ |
||||
|
// empty
|
||||
|
} |
||||
|
console.log( 2 ); |
@ -0,0 +1,3 @@ |
|||||
|
module.exports = { |
||||
|
description: 'removes an empty do-while statement' |
||||
|
}; |
@ -0,0 +1,6 @@ |
|||||
|
define(function () { 'use strict'; |
||||
|
|
||||
|
console.log( 1 ); |
||||
|
console.log( 2 ); |
||||
|
|
||||
|
}); |
@ -0,0 +1,4 @@ |
|||||
|
'use strict'; |
||||
|
|
||||
|
console.log( 1 ); |
||||
|
console.log( 2 ); |
@ -0,0 +1,2 @@ |
|||||
|
console.log( 1 ); |
||||
|
console.log( 2 ); |
@ -0,0 +1,7 @@ |
|||||
|
(function () { |
||||
|
'use strict'; |
||||
|
|
||||
|
console.log( 1 ); |
||||
|
console.log( 2 ); |
||||
|
|
||||
|
}()); |
@ -0,0 +1,10 @@ |
|||||
|
(function (global, factory) { |
||||
|
typeof exports === 'object' && typeof module !== 'undefined' ? factory() : |
||||
|
typeof define === 'function' && define.amd ? define(factory) : |
||||
|
(factory()); |
||||
|
}(this, (function () { 'use strict'; |
||||
|
|
||||
|
console.log( 1 ); |
||||
|
console.log( 2 ); |
||||
|
|
||||
|
}))); |
@ -0,0 +1,6 @@ |
|||||
|
console.log( 1 ); |
||||
|
var condition = true; |
||||
|
do { |
||||
|
condition = false; |
||||
|
} while ( condition ); |
||||
|
console.log( 2 ); |
@ -0,0 +1,3 @@ |
|||||
|
module.exports = { |
||||
|
description: 'removes an empty for-in statement' |
||||
|
}; |
@ -0,0 +1,6 @@ |
|||||
|
define(function () { 'use strict'; |
||||
|
|
||||
|
console.log( 1 ); |
||||
|
console.log( 2 ); |
||||
|
|
||||
|
}); |
@ -0,0 +1,4 @@ |
|||||
|
'use strict'; |
||||
|
|
||||
|
console.log( 1 ); |
||||
|
console.log( 2 ); |
@ -0,0 +1,2 @@ |
|||||
|
console.log( 1 ); |
||||
|
console.log( 2 ); |
@ -0,0 +1,7 @@ |
|||||
|
(function () { |
||||
|
'use strict'; |
||||
|
|
||||
|
console.log( 1 ); |
||||
|
console.log( 2 ); |
||||
|
|
||||
|
}()); |
@ -0,0 +1,10 @@ |
|||||
|
(function (global, factory) { |
||||
|
typeof exports === 'object' && typeof module !== 'undefined' ? factory() : |
||||
|
typeof define === 'function' && define.amd ? define(factory) : |
||||
|
(factory()); |
||||
|
}(this, (function () { 'use strict'; |
||||
|
|
||||
|
console.log( 1 ); |
||||
|
console.log( 2 ); |
||||
|
|
||||
|
}))); |
@ -0,0 +1,5 @@ |
|||||
|
console.log( 1 ); |
||||
|
for ( const i in whatever ) { |
||||
|
// do nothing
|
||||
|
} |
||||
|
console.log( 2 ); |
@ -0,0 +1,3 @@ |
|||||
|
module.exports = { |
||||
|
description: 'removes an empty for-of statement' |
||||
|
}; |
@ -0,0 +1,6 @@ |
|||||
|
define(function () { 'use strict'; |
||||
|
|
||||
|
console.log( 1 ); |
||||
|
console.log( 2 ); |
||||
|
|
||||
|
}); |
@ -0,0 +1,4 @@ |
|||||
|
'use strict'; |
||||
|
|
||||
|
console.log( 1 ); |
||||
|
console.log( 2 ); |
@ -0,0 +1,2 @@ |
|||||
|
console.log( 1 ); |
||||
|
console.log( 2 ); |
@ -0,0 +1,7 @@ |
|||||
|
(function () { |
||||
|
'use strict'; |
||||
|
|
||||
|
console.log( 1 ); |
||||
|
console.log( 2 ); |
||||
|
|
||||
|
}()); |
@ -0,0 +1,10 @@ |
|||||
|
(function (global, factory) { |
||||
|
typeof exports === 'object' && typeof module !== 'undefined' ? factory() : |
||||
|
typeof define === 'function' && define.amd ? define(factory) : |
||||
|
(factory()); |
||||
|
}(this, (function () { 'use strict'; |
||||
|
|
||||
|
console.log( 1 ); |
||||
|
console.log( 2 ); |
||||
|
|
||||
|
}))); |
@ -0,0 +1,5 @@ |
|||||
|
console.log( 1 ); |
||||
|
for ( const i of whatever ) { |
||||
|
// do nothing
|
||||
|
} |
||||
|
console.log( 2 ); |
@ -0,0 +1,3 @@ |
|||||
|
module.exports = { |
||||
|
description: 'removes an empty for statement' |
||||
|
}; |
@ -0,0 +1,6 @@ |
|||||
|
define(function () { 'use strict'; |
||||
|
|
||||
|
console.log( 1 ); |
||||
|
console.log( 2 ); |
||||
|
|
||||
|
}); |
@ -0,0 +1,4 @@ |
|||||
|
'use strict'; |
||||
|
|
||||
|
console.log( 1 ); |
||||
|
console.log( 2 ); |
@ -0,0 +1,2 @@ |
|||||
|
console.log( 1 ); |
||||
|
console.log( 2 ); |
@ -0,0 +1,7 @@ |
|||||
|
(function () { |
||||
|
'use strict'; |
||||
|
|
||||
|
console.log( 1 ); |
||||
|
console.log( 2 ); |
||||
|
|
||||
|
}()); |
@ -0,0 +1,10 @@ |
|||||
|
(function (global, factory) { |
||||
|
typeof exports === 'object' && typeof module !== 'undefined' ? factory() : |
||||
|
typeof define === 'function' && define.amd ? define(factory) : |
||||
|
(factory()); |
||||
|
}(this, (function () { 'use strict'; |
||||
|
|
||||
|
console.log( 1 ); |
||||
|
console.log( 2 ); |
||||
|
|
||||
|
}))); |
@ -0,0 +1,5 @@ |
|||||
|
console.log( 1 ); |
||||
|
for ( let i = 0; i < 10; i += 1 ) { |
||||
|
// do nothing
|
||||
|
} |
||||
|
console.log( 2 ); |
@ -0,0 +1,3 @@ |
|||||
|
module.exports = { |
||||
|
description: 'removes an empty if statement' |
||||
|
}; |
@ -0,0 +1,6 @@ |
|||||
|
define(function () { 'use strict'; |
||||
|
|
||||
|
console.log( 1 ); |
||||
|
console.log( 2 ); |
||||
|
|
||||
|
}); |
@ -0,0 +1,4 @@ |
|||||
|
'use strict'; |
||||
|
|
||||
|
console.log( 1 ); |
||||
|
console.log( 2 ); |
@ -0,0 +1,2 @@ |
|||||
|
console.log( 1 ); |
||||
|
console.log( 2 ); |
@ -0,0 +1,7 @@ |
|||||
|
(function () { |
||||
|
'use strict'; |
||||
|
|
||||
|
console.log( 1 ); |
||||
|
console.log( 2 ); |
||||
|
|
||||
|
}()); |
@ -0,0 +1,10 @@ |
|||||
|
(function (global, factory) { |
||||
|
typeof exports === 'object' && typeof module !== 'undefined' ? factory() : |
||||
|
typeof define === 'function' && define.amd ? define(factory) : |
||||
|
(factory()); |
||||
|
}(this, (function () { 'use strict'; |
||||
|
|
||||
|
console.log( 1 ); |
||||
|
console.log( 2 ); |
||||
|
|
||||
|
}))); |
@ -0,0 +1,5 @@ |
|||||
|
console.log( 1 ); |
||||
|
if ( nothing ) { |
||||
|
// empty
|
||||
|
} |
||||
|
console.log( 2 ); |
@ -0,0 +1,3 @@ |
|||||
|
module.exports = { |
||||
|
description: 'removes an empty statement' |
||||
|
}; |
@ -0,0 +1,7 @@ |
|||||
|
define(function () { 'use strict'; |
||||
|
|
||||
|
console.log( 1 ); |
||||
|
|
||||
|
console.log( 2 ); |
||||
|
|
||||
|
}); |
@ -0,0 +1,5 @@ |
|||||
|
'use strict'; |
||||
|
|
||||
|
console.log( 1 ); |
||||
|
|
||||
|
console.log( 2 ); |
@ -0,0 +1,3 @@ |
|||||
|
console.log( 1 ); |
||||
|
|
||||
|
console.log( 2 ); |
@ -0,0 +1,8 @@ |
|||||
|
(function () { |
||||
|
'use strict'; |
||||
|
|
||||
|
console.log( 1 ); |
||||
|
|
||||
|
console.log( 2 ); |
||||
|
|
||||
|
}()); |
@ -0,0 +1,11 @@ |
|||||
|
(function (global, factory) { |
||||
|
typeof exports === 'object' && typeof module !== 'undefined' ? factory() : |
||||
|
typeof define === 'function' && define.amd ? define(factory) : |
||||
|
(factory()); |
||||
|
}(this, (function () { 'use strict'; |
||||
|
|
||||
|
console.log( 1 ); |
||||
|
|
||||
|
console.log( 2 ); |
||||
|
|
||||
|
}))); |
@ -0,0 +1,4 @@ |
|||||
|
; |
||||
|
console.log( 1 );; |
||||
|
; |
||||
|
console.log( 2 );; |
@ -0,0 +1,3 @@ |
|||||
|
module.exports = { |
||||
|
description: 'removes an empty switch statement' |
||||
|
}; |
@ -0,0 +1,6 @@ |
|||||
|
define(function () { 'use strict'; |
||||
|
|
||||
|
console.log( 1 ); |
||||
|
console.log( 2 ); |
||||
|
|
||||
|
}); |
@ -0,0 +1,4 @@ |
|||||
|
'use strict'; |
||||
|
|
||||
|
console.log( 1 ); |
||||
|
console.log( 2 ); |
@ -0,0 +1,2 @@ |
|||||
|
console.log( 1 ); |
||||
|
console.log( 2 ); |
@ -0,0 +1,7 @@ |
|||||
|
(function () { |
||||
|
'use strict'; |
||||
|
|
||||
|
console.log( 1 ); |
||||
|
console.log( 2 ); |
||||
|
|
||||
|
}()); |
@ -0,0 +1,10 @@ |
|||||
|
(function (global, factory) { |
||||
|
typeof exports === 'object' && typeof module !== 'undefined' ? factory() : |
||||
|
typeof define === 'function' && define.amd ? define(factory) : |
||||
|
(factory()); |
||||
|
}(this, (function () { 'use strict'; |
||||
|
|
||||
|
console.log( 1 ); |
||||
|
console.log( 2 ); |
||||
|
|
||||
|
}))); |
@ -0,0 +1,11 @@ |
|||||
|
console.log( 1 ); |
||||
|
var result; |
||||
|
switch ( whatever ) { |
||||
|
case foo: |
||||
|
result = 'foo'; |
||||
|
break; |
||||
|
|
||||
|
default: |
||||
|
result = 'default'; |
||||
|
} |
||||
|
console.log( 2 ); |
@ -0,0 +1,3 @@ |
|||||
|
module.exports = { |
||||
|
description: 'removes an empty try-catch-finally statement' |
||||
|
}; |
@ -0,0 +1,6 @@ |
|||||
|
define(function () { 'use strict'; |
||||
|
|
||||
|
console.log( 1 ); |
||||
|
console.log( 2 ); |
||||
|
|
||||
|
}); |
@ -0,0 +1,4 @@ |
|||||
|
'use strict'; |
||||
|
|
||||
|
console.log( 1 ); |
||||
|
console.log( 2 ); |
@ -0,0 +1,2 @@ |
|||||
|
console.log( 1 ); |
||||
|
console.log( 2 ); |
@ -0,0 +1,7 @@ |
|||||
|
(function () { |
||||
|
'use strict'; |
||||
|
|
||||
|
console.log( 1 ); |
||||
|
console.log( 2 ); |
||||
|
|
||||
|
}()); |
@ -0,0 +1,10 @@ |
|||||
|
(function (global, factory) { |
||||
|
typeof exports === 'object' && typeof module !== 'undefined' ? factory() : |
||||
|
typeof define === 'function' && define.amd ? define(factory) : |
||||
|
(factory()); |
||||
|
}(this, (function () { 'use strict'; |
||||
|
|
||||
|
console.log( 1 ); |
||||
|
console.log( 2 ); |
||||
|
|
||||
|
}))); |
@ -0,0 +1,9 @@ |
|||||
|
console.log( 1 ); |
||||
|
try { |
||||
|
// do nothing
|
||||
|
} catch ( err ) { |
||||
|
// do nothing
|
||||
|
} finally { |
||||
|
// do nothing
|
||||
|
} |
||||
|
console.log( 2 ); |
@ -0,0 +1,3 @@ |
|||||
|
module.exports = { |
||||
|
description: 'removes an empty while statement' |
||||
|
}; |
@ -0,0 +1,6 @@ |
|||||
|
define(function () { 'use strict'; |
||||
|
|
||||
|
console.log( 1 ); |
||||
|
console.log( 2 ); |
||||
|
|
||||
|
}); |
@ -0,0 +1,4 @@ |
|||||
|
'use strict'; |
||||
|
|
||||
|
console.log( 1 ); |
||||
|
console.log( 2 ); |
@ -0,0 +1,2 @@ |
|||||
|
console.log( 1 ); |
||||
|
console.log( 2 ); |
@ -0,0 +1,7 @@ |
|||||
|
(function () { |
||||
|
'use strict'; |
||||
|
|
||||
|
console.log( 1 ); |
||||
|
console.log( 2 ); |
||||
|
|
||||
|
}()); |
@ -0,0 +1,10 @@ |
|||||
|
(function (global, factory) { |
||||
|
typeof exports === 'object' && typeof module !== 'undefined' ? factory() : |
||||
|
typeof define === 'function' && define.amd ? define(factory) : |
||||
|
(factory()); |
||||
|
}(this, (function () { 'use strict'; |
||||
|
|
||||
|
console.log( 1 ); |
||||
|
console.log( 2 ); |
||||
|
|
||||
|
}))); |
@ -0,0 +1,6 @@ |
|||||
|
console.log( 1 ); |
||||
|
var condition = true; |
||||
|
while ( condition ) { |
||||
|
condition = false; |
||||
|
} |
||||
|
console.log( 2 ); |
@ -1,5 +1,5 @@ |
|||||
'use strict'; |
'use strict'; |
||||
|
|
||||
function x () { return 'x' }; |
function x () { return 'x' } |
||||
|
|
||||
assert.equal( x(), 'x' ); |
assert.equal( x(), 'x' ); |
||||
|
@ -1,3 +1,3 @@ |
|||||
function x () { return 'x' }; |
function x () { return 'x' } |
||||
|
|
||||
assert.equal( x(), 'x' ); |
assert.equal( x(), 'x' ); |
||||
|
Loading…
Reference in new issue