MCPcopy
hub / github.com/webpack/webpack / _analyseModule

Method _analyseModule

lib/optimize/ConcatenatedModule.js:2391–2489  ·  lib/optimize/ConcatenatedModule.js::ConcatenatedModule._analyseModule

* @param {ModuleToInfoMap} modulesMap modulesMap * @param {ModuleInfo} info info * @param {DependencyTemplates} dependencyTemplates dependencyTemplates * @param {RuntimeTemplate} runtimeTemplate runtimeTemplate * @param {ModuleGraph} moduleGraph moduleGraph * @param {ChunkGraph} chunkGraph

(
		modulesMap,
		info,
		dependencyTemplates,
		runtimeTemplate,
		moduleGraph,
		chunkGraph,
		runtime,
		runtimes,
		codeGenerationResults,
		usedNames
	)

Source from the content-addressed store, hash-verified

2389 * @param {UsedNames} usedNames used names
2390 */
2391 _analyseModule(
2392 modulesMap,
2393 info,
2394 dependencyTemplates,
2395 runtimeTemplate,
2396 moduleGraph,
2397 chunkGraph,
2398 runtime,
2399 runtimes,
2400 codeGenerationResults,
2401 usedNames
2402 ) {
2403 if (info.type === class="st">"concatenated") {
2404 const m = info.module;
2405 try {
2406 class="cm">// Create a concatenation scope to track and capture information
2407 const concatenationScope = new ConcatenationScope(
2408 modulesMap,
2409 info,
2410 usedNames
2411 );
2412
2413 class="cm">// Not cached: Compilation memoizes the outer codeGeneration per
2414 class="cm">// (module, runtime), so inner generation never recomputes usefully.
2415 const codeGenResult = m.codeGeneration({
2416 dependencyTemplates,
2417 runtimeTemplate,
2418 moduleGraph,
2419 chunkGraph,
2420 runtime,
2421 runtimes,
2422 concatenationScope,
2423 codeGenerationResults,
2424 sourceTypes: JAVASCRIPT_TYPES
2425 });
2426 const source =
2427 /** @type {Source} */
2428 (codeGenResult.sources.get(JAVASCRIPT_TYPE));
2429 const data = codeGenResult.data;
2430 const chunkInitFragments = data && data.get(class="st">"chunkInitFragments");
2431 const code = source.source().toString();
2432
2433 /** @type {Program} */
2434 let ast;
2435
2436 try {
2437 ({ ast } = JavascriptParser._parse(
2438 code,
2439 {
2440 sourceType: class="st">"module",
2441 ranges: true
2442 },
2443 JavascriptParser._getModuleParseFunction(this.compilation, m)
2444 ));
2445 } catch (_err) {
2446 const err =
2447 /** @type {Error & { loc?: { line: number, column: number } }} */
2448 (_err);

Callers 1

codeGenerationMethod · 0.95

Calls 10

sourceMethod · 0.80
_parseMethod · 0.80
splitMethod · 0.80
sliceMethod · 0.80
acquireMethod · 0.80
codeGenerationMethod · 0.45
getMethod · 0.45
toStringMethod · 0.45
identifierMethod · 0.45

Tested by

no test coverage detected