10000 Fix #5159: Register static module dependency on used lambda classes. · sjrd/scala-js@1e6540a · GitHub
[go: up one dir, main page]

Skip to content

Commit 1e6540a

Browse files
committed
Fix scala-js#5159: Register static module dependency on used lambda classes.
When we use a lambda class, we implicitly instantiate it. That constitutes a static dependency, which we previously failed to register.
1 parent b53a090 commit 1e6540a

File tree

2 files changed

+6
-0
lines changed

2 files changed

+6
-0
lines changed

Jenkinsfile

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -263,6 +263,11 @@ def Tasks = [
263263
'set scalaJSLinkerConfig in $testSuite.v$v ~= (_.withModuleSplitStyle(ModuleSplitStyle.SmallestModules))' \
264264
'set scalaJSLinkerConfig in $testSuite.v$v ~= (_.withModuleKind(ModuleKind.ESModule))' \
265265
$testSuite$v/test &&
266+
sbtretry ++$scala 'set Global/enableMinifyEverywhere := $testMinify' \
267+
'set scalaJSLinkerConfig in $testSuite.v$v ~= (_.withModuleSplitStyle(ModuleSplitStyle.SmallestModules))' \
268+
'set scalaJSLinkerConfig in $testSuite.v$v ~= (_.withModuleKind(ModuleKind.ESModule))' \
269+
'set scalaJSLinkerConfig in $testSuite.v$v ~= (_.withOptimizer(false))' \
270+
$testSuite$v/test &&
266271
sbtretry ++$scala 'set Global/enableMinifyEverywhere := $testMinify' \
267272
'set scalaJSLinkerConfig in $testSuite.v$v ~= (_.withModuleSplitStyle(ModuleSplitStyle.SmallModulesFor(List("org.scalajs.testsuite"))))' \
268273
'set scalaJSLinkerConfig in $testSuite.v$v ~= (_.withModuleKind(ModuleKind.ESModule))' \

linker/shared/src/main/scala/org/scalajs/linker/analyzer/Analyzer.scala

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1488,6 +1488,7 @@ private class AnalyzerRun(config: CommonPhaseConfig, initial: Boolean,
14881488
lookupOrSynthesizeClass(className, SyntheticClassKind.Lambda(descriptor)) { lambdaClassInfo =>
14891489
lambdaClassInfo.instantiated()
14901490
lambdaClassInfo.callMethodStatically(MemberNamespace.Constructor, ctorName)
1491+
moduleUnit.addStaticDependency(lambdaClassInfo.className)
14911492
}
14921493
}
14931494
}

0 commit comments

Comments
 (0)
0