remove return value of ChunkGraph.connectChunkAndModule

This commit is contained in:
Tobias Koppers 2019-11-08 13:21:21 +01:00
parent c9f15d654c
commit 14e901225c
4 changed files with 17 additions and 13 deletions

View File

@ -132,10 +132,13 @@ class Chunk {
* @returns {boolean} true, if the chunk could be added * @returns {boolean} true, if the chunk could be added
*/ */
addModule(module) { addModule(module) {
return ChunkGraph.getChunkGraphForChunk( const chunkGraph = ChunkGraph.getChunkGraphForChunk(
this, this,
"Chunk.addModule" "Chunk.addModule"
).connectChunkAndModule(this, module); );
if (chunkGraph.isModuleInChunk(module, this)) return false;
chunkGraph.connectChunkAndModule(this, module);
return true;
} }
/** /**

View File

@ -256,16 +256,13 @@ class ChunkGraph {
/** /**
* @param {Chunk} chunk the new chunk * @param {Chunk} chunk the new chunk
* @param {Module} module the module * @param {Module} module the module
* @returns {boolean} true, if the chunk could be added. false if it was already added * @returns {void}
*/ */
connectChunkAndModule(chunk, module) { connectChunkAndModule(chunk, module) {
const cgm = this._getChunkGraphModule(module); const cgm = this._getChunkGraphModule(module);
const cgc = this._getChunkGraphChunk(chunk); const cgc = this._getChunkGraphChunk(chunk);
// TODO refactor to remove return value
if (cgm.chunks.has(chunk) && cgc.modules.has(module)) return false;
cgm.chunks.add(chunk); cgm.chunks.add(chunk);
cgc.modules.add(module); cgc.modules.add(module);
return true;
} }
/** /**

View File

@ -248,10 +248,13 @@ class Module extends DependenciesBlock {
} }
addChunk(chunk) { addChunk(chunk) {
return ChunkGraph.getChunkGraphForModule( const chunkGraph = ChunkGraph.getChunkGraphForModule(
this, this,
"Module.addChunk" "Module.addChunk"
).connectChunkAndModule(chunk, this); );
if (chunkGraph.isModuleInChunk(this, chunk)) return false;
chunkGraph.connectChunkAndModule(chunk, this);
return true;
} }
removeChunk(chunk) { removeChunk(chunk) {

View File

@ -303,17 +303,18 @@ const visitModules = (
switch (queueItem.action) { switch (queueItem.action) {
case ADD_AND_ENTER_MODULE: { case ADD_AND_ENTER_MODULE: {
if (chunkGraph.isModuleInChunk(module, chunk)) {
// already connected, skip it
break;
}
if (minAvailableModules.has(module)) { if (minAvailableModules.has(module)) {
// already in parent chunks // already in parent chunks
// skip it for now, but enqueue for rechecking when minAvailableModules shrinks // skip it for now, but enqueue for rechecking when minAvailableModules shrinks
skippedItems.push(queueItem); skippedItems.push(queueItem);
break; break;
} }
// We connect Module and Chunk when not already done // We connect Module and Chunk
if (!chunkGraph.connectChunkAndModule(chunk, module)) { chunkGraph.connectChunkAndModule(chunk, module);
// already connected, skip it
break;
}
} }
// fallthrough // fallthrough
case ENTER_MODULE: { case ENTER_MODULE: {