dont recompute dependencies

pull/490/head
Rich-Harris 9 years ago
parent f8f32a13ba
commit 49bea1b489

@ -66,10 +66,9 @@ export default class Generator {
this.addSourcemapLocations( expression ); this.addSourcemapLocations( expression );
const usedContexts = []; const usedContexts = [];
const dependencies = [];
const { code, helpers } = this; const { code, helpers } = this;
const { contextDependencies, contexts, indexes } = block; const { contexts, indexes } = block;
let scope = annotateWithScopes( expression ); // TODO this already happens in findDependencies let scope = annotateWithScopes( expression ); // TODO this already happens in findDependencies
let lexicalDepth = 0; let lexicalDepth = 0;
@ -108,7 +107,6 @@ export default class Generator {
code.overwrite( node.start, node.start + name.length, contextName, true ); code.overwrite( node.start, node.start + name.length, contextName, true );
} }
dependencies.push( ...contextDependencies.get( name ) );
if ( !~usedContexts.indexOf( name ) ) usedContexts.push( name ); if ( !~usedContexts.indexOf( name ) ) usedContexts.push( name );
} }
@ -133,7 +131,6 @@ export default class Generator {
code.prependRight( node.start, `root.` ); code.prependRight( node.start, `root.` );
} }
dependencies.push( name );
if ( !~usedContexts.indexOf( 'root' ) ) usedContexts.push( 'root' ); if ( !~usedContexts.indexOf( 'root' ) ) usedContexts.push( 'root' );
} }
@ -147,22 +144,17 @@ export default class Generator {
} }
}); });
dependencies.forEach( name => {
if ( !globalWhitelist.has( name ) ) {
this.expectedProperties.add( name );
}
});
return { return {
dependencies, dependencies: expression._dependencies, // TODO probably a better way to do this
contexts: usedContexts, contexts: usedContexts,
snippet: `[✂${expression.start}-${expression.end}✂]` snippet: `[✂${expression.start}-${expression.end}✂]`
}; };
} }
findDependencies ( block, expression, isEventHandler ) { findDependencies ( block, expression, isEventHandler ) {
const dependencies = []; if ( expression._dependencies ) return expression._dependencies;
const dependencies = [];
const { contextDependencies, contexts } = block; const { contextDependencies, contexts } = block;
let scope = annotateWithScopes( expression ); let scope = annotateWithScopes( expression );
@ -195,7 +187,13 @@ export default class Generator {
} }
}); });
return dependencies; dependencies.forEach( name => {
if ( !globalWhitelist.has( name ) ) {
this.expectedProperties.add( name );
}
});
return ( expression._dependencies = dependencies );
} }
generate ( result, options, { name, format } ) { generate ( result, options, { name, format } ) {

Loading…
Cancel
Save