| 
									
										
										
										
											2013-01-31 01:49:25 +08:00
										 |  |  | /* | 
					
						
							|  |  |  | 	MIT License http://www.opensource.org/licenses/mit-license.php
 | 
					
						
							|  |  |  | 	Author Tobias Koppers @sokra | 
					
						
							|  |  |  | */ | 
					
						
							|  |  |  | var DependenciesBlock = require("./DependenciesBlock"); | 
					
						
							|  |  |  | var ModuleReason = require("./ModuleReason"); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | var debugId = 1000; | 
					
						
							|  |  |  | function Module() { | 
					
						
							|  |  |  | 	DependenciesBlock.call(this); | 
					
						
							|  |  |  | 	this.context = null; | 
					
						
							|  |  |  | 	this.reasons = []; | 
					
						
							|  |  |  | 	this.debugId = debugId++; | 
					
						
							| 
									
										
										
										
											2013-05-08 19:28:54 +08:00
										 |  |  | 	this.lastId = -1; | 
					
						
							| 
									
										
										
										
											2013-01-31 01:49:25 +08:00
										 |  |  | 	this.id = null; | 
					
						
							|  |  |  | 	this.chunks = []; | 
					
						
							|  |  |  | 	this.warnings = []; | 
					
						
							| 
									
										
										
										
											2013-05-18 20:42:11 +08:00
										 |  |  | 	this.dependenciesWarnings = []; | 
					
						
							| 
									
										
										
										
											2013-01-31 01:49:25 +08:00
										 |  |  | 	this.errors = []; | 
					
						
							| 
									
										
										
										
											2013-05-18 20:42:11 +08:00
										 |  |  | 	this.dependenciesErrors = []; | 
					
						
							| 
									
										
										
										
											2013-01-31 01:49:25 +08:00
										 |  |  | } | 
					
						
							|  |  |  | module.exports = Module; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Module.prototype = Object.create(DependenciesBlock.prototype); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Module.prototype.disconnect = function() { | 
					
						
							|  |  |  | 	this.reasons.length = 0; | 
					
						
							| 
									
										
										
										
											2013-05-08 19:28:54 +08:00
										 |  |  | 	this.lastId = this.id; | 
					
						
							| 
									
										
										
										
											2013-01-31 01:49:25 +08:00
										 |  |  | 	this.id = null; | 
					
						
							|  |  |  | 	this.chunks.length = 0; | 
					
						
							|  |  |  | 	DependenciesBlock.prototype.disconnect.call(this); | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Module.prototype.addChunk = function(chunk) { | 
					
						
							|  |  |  | 	var idx = this.chunks.indexOf(chunk); | 
					
						
							|  |  |  | 	if(idx < 0) | 
					
						
							|  |  |  | 		this.chunks.push(chunk); | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Module.prototype.removeChunk = function(chunk) { | 
					
						
							|  |  |  | 	var idx = this.chunks.indexOf(chunk); | 
					
						
							|  |  |  | 	if(idx >= 0) { | 
					
						
							|  |  |  | 		this.chunks.splice(idx, 1); | 
					
						
							|  |  |  | 		chunk.removeModule(this); | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Module.prototype.addReason = function(module, dependency) { | 
					
						
							|  |  |  | 	this.reasons.push(new ModuleReason(module, dependency)); | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Module.prototype.toString = function() { | 
					
						
							|  |  |  | 	return "Module[" + (this.id || this.debugId) + "]"; | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Module.prototype.needRebuild = function(fileTimestamps, contextTimestamps) { | 
					
						
							|  |  |  | 	return true; | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Module.prototype.identifier = null; | 
					
						
							|  |  |  | Module.prototype.readableIdentifier = null; | 
					
						
							|  |  |  | Module.prototype.build = null; | 
					
						
							|  |  |  | Module.prototype.source = null; | 
					
						
							|  |  |  | Module.prototype.size = null; |