Avoid classloading deadlock by delaying computations of other passes (#7943)

Fixes #7850 by computing other passes lazily.
This commit is contained in:
Jaroslav Tulach 2023-10-02 14:43:56 +02:00 committed by GitHub
parent 63802544f7
commit 515e66052f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
44 changed files with 92 additions and 92 deletions

View File

@ -75,7 +75,7 @@ case object AliasAnalysis extends IRPass {
override type Metadata = Info
override type Config = Configuration
override val precursorPasses: Seq[IRPass] = List(
override lazy val precursorPasses: Seq[IRPass] = List(
FunctionBinding,
GenerateMethodBodies,
SectionsToBinOp,
@ -83,7 +83,7 @@ case object AliasAnalysis extends IRPass {
LambdaShorthandToLambda
)
override val invalidatedPasses: Seq[IRPass] =
override lazy val invalidatedPasses: Seq[IRPass] =
List(DataflowAnalysis, UnusedBindings)
/** Performs alias analysis on a module.

View File

@ -37,10 +37,10 @@ case object AmbiguousImportsAnalysis extends IRPass {
override type Config = IRPass.Configuration.Default
override val precursorPasses: Seq[IRPass] =
override lazy val precursorPasses: Seq[IRPass] =
Seq(BindingAnalysis, ImportSymbolAnalysis)
override val invalidatedPasses: Seq[IRPass] =
override lazy val invalidatedPasses: Seq[IRPass] =
Seq()
/** @inheritdoc

View File

@ -41,11 +41,11 @@ import scala.annotation.{tailrec, unused}
object AutomaticParallelism extends IRPass {
override type Metadata = IRPass.Metadata.Empty
override type Config = IRPass.Configuration.Default
override val precursorPasses: Seq[IRPass] = Seq(
override lazy val precursorPasses: Seq[IRPass] = Seq(
AliasAnalysis,
ComplexType
)
override val invalidatedPasses: Seq[IRPass] = Seq(
override lazy val invalidatedPasses: Seq[IRPass] = Seq(
AliasAnalysis,
DataflowAnalysis
)

View File

@ -31,11 +31,11 @@ case object BindingAnalysis extends IRPass {
override type Config = IRPass.Configuration.Default
/** The passes that this pass depends _directly_ on to run. */
override val precursorPasses: Seq[IRPass] =
override lazy val precursorPasses: Seq[IRPass] =
Seq(ComplexType, FunctionBinding, GenerateMethodBodies)
/** The passes that are invalidated by running this pass. */
override val invalidatedPasses: Seq[IRPass] =
override lazy val invalidatedPasses: Seq[IRPass] =
Seq(MethodDefinitions, Patterns)
/** Executes the pass on the provided `ir`, and returns a possibly transformed

View File

@ -35,7 +35,7 @@ case object CachePreferenceAnalysis extends IRPass {
override type Metadata = WeightInfo
/** Run desugaring passes first. */
override val precursorPasses: Seq[IRPass] = List(
override lazy val precursorPasses: Seq[IRPass] = List(
ComplexType,
FunctionBinding,
GenerateMethodBodies,
@ -44,7 +44,7 @@ case object CachePreferenceAnalysis extends IRPass {
SectionsToBinOp
)
override val invalidatedPasses: Seq[IRPass] = List()
override lazy val invalidatedPasses: Seq[IRPass] = List()
/** Performs the cache preference analysis on a module.
*

View File

@ -52,13 +52,13 @@ case object DataflowAnalysis extends IRPass {
override type Metadata = DependencyInfo
override type Config = IRPass.Configuration.Default
override val precursorPasses: Seq[IRPass] = List(
override lazy val precursorPasses: Seq[IRPass] = List(
AliasAnalysis,
DemandAnalysis,
TailCall
)
override val invalidatedPasses: Seq[IRPass] = List()
override lazy val invalidatedPasses: Seq[IRPass] = List()
/** Executes the dataflow analysis process on an Enso module.
*

View File

@ -41,13 +41,13 @@ case object DemandAnalysis extends IRPass {
override type Metadata = IRPass.Metadata.Empty
override type Config = IRPass.Configuration.Default
override val precursorPasses: Seq[IRPass] = List(
override lazy val precursorPasses: Seq[IRPass] = List(
AliasAnalysis,
LambdaConsolidate,
OverloadsResolution
)
override val invalidatedPasses: Seq[IRPass] = List(AliasAnalysis)
override lazy val invalidatedPasses: Seq[IRPass] = List(AliasAnalysis)
/** Executes the demand analysis process on an Enso module.
*

View File

@ -24,8 +24,8 @@ case object GatherDiagnostics extends IRPass {
override type Metadata = DiagnosticsMeta
override type Config = IRPass.Configuration.Default
override val precursorPasses: Seq[IRPass] = List(TypeSignatures)
override val invalidatedPasses: Seq[IRPass] = List()
override lazy val precursorPasses: Seq[IRPass] = List(TypeSignatures)
override lazy val invalidatedPasses: Seq[IRPass] = List()
/** Executes the pass on the provided `ir`, and attaches all the encountered
* diagnostics to its metadata storage.

View File

@ -19,10 +19,10 @@ case object ImportSymbolAnalysis extends IRPass {
override type Config = IRPass.Configuration.Default
override val precursorPasses: Seq[IRPass] =
override lazy val precursorPasses: Seq[IRPass] =
Seq(BindingAnalysis, GenerateMethodBodies)
override val invalidatedPasses: Seq[IRPass] =
override lazy val invalidatedPasses: Seq[IRPass] =
Seq()
/** @inheritdoc

View File

@ -49,7 +49,7 @@ case object TailCall extends IRPass {
override type Config = IRPass.Configuration.Default
override val precursorPasses: Seq[IRPass] = List(
override lazy val precursorPasses: Seq[IRPass] = List(
FunctionBinding,
GenerateMethodBodies,
SectionsToBinOp,
@ -58,7 +58,7 @@ case object TailCall extends IRPass {
GlobalNames
)
override val invalidatedPasses: Seq[IRPass] = List()
override lazy val invalidatedPasses: Seq[IRPass] = List()
/** Analyses tail call state for expressions in a module.
*

View File

@ -53,8 +53,8 @@ case object ComplexType extends IRPass {
override type Metadata = IRPass.Metadata.Empty
override type Config = IRPass.Configuration.Default
override val precursorPasses: Seq[IRPass] = List(ModuleAnnotations)
override val invalidatedPasses: Seq[IRPass] =
override lazy val precursorPasses: Seq[IRPass] = List(ModuleAnnotations)
override lazy val invalidatedPasses: Seq[IRPass] =
List(
AliasAnalysis,
ApplicationSaturation,

View File

@ -41,8 +41,8 @@ case object FunctionBinding extends IRPass {
override type Metadata = IRPass.Metadata.Empty
override type Config = IRPass.Configuration.Default
override val precursorPasses: Seq[IRPass] = List(ComplexType)
override val invalidatedPasses: Seq[IRPass] = List(
override lazy val precursorPasses: Seq[IRPass] = List(ComplexType)
override lazy val invalidatedPasses: Seq[IRPass] = List(
AliasAnalysis,
DataflowAnalysis,
DemandAnalysis,

View File

@ -48,9 +48,9 @@ case object GenerateMethodBodies extends IRPass {
override type Metadata = IRPass.Metadata.Empty
override type Config = IRPass.Configuration.Default
override val precursorPasses: Seq[IRPass] =
override lazy val precursorPasses: Seq[IRPass] =
List(ComplexType, FunctionBinding)
override val invalidatedPasses: Seq[IRPass] = List(
override lazy val invalidatedPasses: Seq[IRPass] = List(
AliasAnalysis,
DataflowAnalysis,
LambdaConsolidate,

View File

@ -18,10 +18,10 @@ case object Imports extends IRPass {
override type Config = IRPass.Configuration.Default
/** The passes that this pass depends _directly_ on to run. */
override val precursorPasses: Seq[IRPass] = Seq()
override lazy val precursorPasses: Seq[IRPass] = Seq()
/** The passes that are invalidated by running this pass. */
override val invalidatedPasses: Seq[IRPass] = Seq()
override lazy val invalidatedPasses: Seq[IRPass] = Seq()
val mainModuleName =
Name.Literal(

View File

@ -43,7 +43,7 @@ case object LambdaShorthandToLambda extends IRPass {
override type Metadata = IRPass.Metadata.Empty
override type Config = IRPass.Configuration.Default
override val precursorPasses: Seq[IRPass] = List(
override lazy val precursorPasses: Seq[IRPass] = List(
ComplexType,
DocumentationComments,
FunctionBinding,
@ -51,7 +51,7 @@ case object LambdaShorthandToLambda extends IRPass {
OperatorToFunction,
SectionsToBinOp
)
override val invalidatedPasses: Seq[IRPass] = List(
override lazy val invalidatedPasses: Seq[IRPass] = List(
AliasAnalysis,
ApplicationSaturation,
DataflowAnalysis,

View File

@ -72,14 +72,14 @@ case object NestedPatternMatch extends IRPass {
override type Metadata = IRPass.Metadata.Empty
override type Config = IRPass.Configuration.Default
override val precursorPasses: Seq[IRPass] = List(
override lazy val precursorPasses: Seq[IRPass] = List(
ComplexType,
DocumentationComments,
FunctionBinding,
GenerateMethodBodies,
LambdaShorthandToLambda
)
override val invalidatedPasses: Seq[IRPass] = List(
override lazy val invalidatedPasses: Seq[IRPass] = List(
AliasAnalysis,
DataflowAnalysis,
DemandAnalysis,

View File

@ -22,11 +22,11 @@ case object OperatorToFunction extends IRPass {
override type Metadata = IRPass.Metadata.Empty
override type Config = IRPass.Configuration.Default
override val precursorPasses: Seq[IRPass] = List(
override lazy val precursorPasses: Seq[IRPass] = List(
GenerateMethodBodies,
SectionsToBinOp
)
override val invalidatedPasses: Seq[IRPass] = List(
override lazy val invalidatedPasses: Seq[IRPass] = List(
AliasAnalysis,
DataflowAnalysis,
DemandAnalysis

View File

@ -27,10 +27,10 @@ case object SectionsToBinOp extends IRPass {
override type Metadata = IRPass.Metadata.Empty
override type Config = IRPass.Configuration.Default
override val precursorPasses: Seq[IRPass] = List(
override lazy val precursorPasses: Seq[IRPass] = List(
GenerateMethodBodies
)
override val invalidatedPasses: Seq[IRPass] = List(
override lazy val invalidatedPasses: Seq[IRPass] = List(
AliasAnalysis,
CachePreferenceAnalysis,
DataflowAnalysis,

View File

@ -16,10 +16,10 @@ case object ModuleNameConflicts extends IRPass {
override type Config = IRPass.Configuration.Default
/** The passes that this pass depends _directly_ on to run. */
override val precursorPasses: Seq[IRPass] = Seq(ComplexType)
override lazy val precursorPasses: Seq[IRPass] = Seq(ComplexType)
/** The passes that are invalidated by running this pass. */
override val invalidatedPasses: Seq[IRPass] = Seq()
override lazy val invalidatedPasses: Seq[IRPass] = Seq()
/** Lints a module
*

View File

@ -23,10 +23,10 @@ object NoSelfInStatic extends IRPass {
override type Metadata = IRPass.Metadata.Empty
override type Config = IRPass.Configuration.Default
override val precursorPasses: Seq[IRPass] =
override lazy val precursorPasses: Seq[IRPass] =
Seq(GenerateMethodBodies)
override val invalidatedPasses: Seq[IRPass] = List()
override lazy val invalidatedPasses: Seq[IRPass] = List()
override def runModule(
ir: Module,

View File

@ -33,10 +33,10 @@ case object ShadowedPatternFields extends IRPass {
override type Metadata = IRPass.Metadata.Empty
override type Config = IRPass.Configuration.Default
override val precursorPasses: Seq[IRPass] = List(
override lazy val precursorPasses: Seq[IRPass] = List(
GenerateMethodBodies
)
override val invalidatedPasses: Seq[IRPass] = List(
override lazy val invalidatedPasses: Seq[IRPass] = List(
AliasAnalysis,
DataflowAnalysis,
DemandAnalysis,

View File

@ -30,7 +30,7 @@ case object UnusedBindings extends IRPass {
override type Metadata = IRPass.Metadata.Empty
override type Config = IRPass.Configuration.Default
override val precursorPasses: Seq[IRPass] = List(
override lazy val precursorPasses: Seq[IRPass] = List(
ComplexType,
GenerateMethodBodies,
IgnoredBindings,
@ -40,7 +40,7 @@ case object UnusedBindings extends IRPass {
OperatorToFunction,
SectionsToBinOp
)
override val invalidatedPasses: Seq[IRPass] = List()
override lazy val invalidatedPasses: Seq[IRPass] = List()
/** Lints a module.
*

View File

@ -27,7 +27,7 @@ case object ApplicationSaturation extends IRPass {
override type Metadata = CallSaturation
override type Config = Configuration
override val precursorPasses: Seq[IRPass] = List(
override lazy val precursorPasses: Seq[IRPass] = List(
AliasAnalysis,
ComplexType,
FunctionBinding,
@ -38,7 +38,7 @@ case object ApplicationSaturation extends IRPass {
OperatorToFunction,
SectionsToBinOp
)
override val invalidatedPasses: Seq[IRPass] = List()
override lazy val invalidatedPasses: Seq[IRPass] = List()
/** Executes the analysis pass, marking functions with information about their
* argument saturation.

View File

@ -57,7 +57,7 @@ case object LambdaConsolidate extends IRPass {
override type Metadata = IRPass.Metadata.Empty
override type Config = IRPass.Configuration.Default
override val precursorPasses: Seq[IRPass] = List(
override lazy val precursorPasses: Seq[IRPass] = List(
AliasAnalysis,
ComplexType,
FunctionBinding,
@ -67,7 +67,7 @@ case object LambdaConsolidate extends IRPass {
OperatorToFunction,
SectionsToBinOp
)
override val invalidatedPasses: Seq[IRPass] = List(
override lazy val invalidatedPasses: Seq[IRPass] = List(
AliasAnalysis,
DataflowAnalysis,
DemandAnalysis,

View File

@ -46,14 +46,14 @@ case object UnreachableMatchBranches extends IRPass {
override type Metadata = IRPass.Metadata.Empty
override type Config = IRPass.Configuration.Default
override val precursorPasses: Seq[IRPass] = List(
override lazy val precursorPasses: Seq[IRPass] = List(
ComplexType,
DocumentationComments,
FunctionBinding,
GenerateMethodBodies,
LambdaShorthandToLambda
)
override val invalidatedPasses: Seq[IRPass] = List(
override lazy val invalidatedPasses: Seq[IRPass] = List(
AliasAnalysis,
DataflowAnalysis,
DemandAnalysis,

View File

@ -36,8 +36,8 @@ case object DocumentationComments extends IRPass {
override type Metadata = Doc
override type Config = IRPass.Configuration.Default
override val precursorPasses: Seq[IRPass] = Seq()
override val invalidatedPasses: Seq[IRPass] = Seq(
override lazy val precursorPasses: Seq[IRPass] = Seq()
override lazy val invalidatedPasses: Seq[IRPass] = Seq(
ComplexType,
GenerateMethodBodies
)

View File

@ -23,10 +23,10 @@ case object ExpressionAnnotations extends IRPass {
override type Config = IRPass.Configuration.Default
/** The passes that this pass depends _directly_ on to run. */
override val precursorPasses: Seq[IRPass] = Seq(ModuleAnnotations)
override lazy val precursorPasses: Seq[IRPass] = Seq(ModuleAnnotations)
/** The passes that are invalidated by running this pass. */
override val invalidatedPasses: Seq[IRPass] = Seq(AliasAnalysis)
override lazy val invalidatedPasses: Seq[IRPass] = Seq(AliasAnalysis)
/** Executes the pass on the provided `ir`, and returns a possibly transformed
* or annotated version of `ir`.

View File

@ -16,9 +16,9 @@ object FullyAppliedFunctionUses extends IRPass {
override type Metadata = BindingsMap.Resolution
override type Config = IRPass.Configuration.Default
override val precursorPasses: Seq[IRPass] =
override lazy val precursorPasses: Seq[IRPass] =
Seq(GlobalNames)
override val invalidatedPasses: Seq[IRPass] = Seq()
override lazy val invalidatedPasses: Seq[IRPass] = Seq()
/** Executes the pass on the provided `ir`, and returns a possibly transformed
* or annotated version of `ir`.

View File

@ -38,11 +38,11 @@ case object FullyQualifiedNames extends IRPass {
override type Config = IRPass.Configuration.Default
/** The passes that this pass depends _directly_ on to run. */
override val precursorPasses: Seq[IRPass] =
override lazy val precursorPasses: Seq[IRPass] =
Seq(AliasAnalysis, BindingAnalysis)
/** The passes that are invalidated by running this pass. */
override val invalidatedPasses: Seq[IRPass] = Nil
override lazy val invalidatedPasses: Seq[IRPass] = Nil
/** Executes the pass on the provided `ir`, and returns a possibly transformed
* or annotated version of `ir`.

View File

@ -24,8 +24,8 @@ import org.enso.compiler.pass.IRPass
case object GenericAnnotations extends IRPass {
override type Metadata = ModuleAnnotations.Annotations
override type Config = IRPass.Configuration.Default
override val precursorPasses: Seq[IRPass] = Seq()
override val invalidatedPasses: Seq[IRPass] = Seq()
override lazy val precursorPasses: Seq[IRPass] = Seq()
override lazy val invalidatedPasses: Seq[IRPass] = Seq()
/** Resolves annotations.
*

View File

@ -46,11 +46,11 @@ case object GlobalNames extends IRPass {
override type Config = IRPass.Configuration.Default
/** The passes that this pass depends _directly_ on to run. */
override val precursorPasses: Seq[IRPass] =
override lazy val precursorPasses: Seq[IRPass] =
Seq(AliasAnalysis, BindingAnalysis, FullyQualifiedNames)
/** The passes that are invalidated by running this pass. */
override val invalidatedPasses: Seq[IRPass] = Seq(AliasAnalysis)
override lazy val invalidatedPasses: Seq[IRPass] = Seq(AliasAnalysis)
/** Executes the pass on the provided `ir`, and returns a possibly transformed
* or annotated version of `ir`.

View File

@ -41,13 +41,13 @@ case object IgnoredBindings extends IRPass {
override type Metadata = State
override type Config = IRPass.Configuration.Default
override val precursorPasses: Seq[IRPass] = List(
override lazy val precursorPasses: Seq[IRPass] = List(
ComplexType,
GenerateMethodBodies,
LambdaShorthandToLambda,
NestedPatternMatch
)
override val invalidatedPasses: Seq[IRPass] = List(
override lazy val invalidatedPasses: Seq[IRPass] = List(
AliasAnalysis,
DataflowAnalysis,
DemandAnalysis,

View File

@ -18,9 +18,9 @@ object MethodCalls extends IRPass {
override type Metadata = BindingsMap.Resolution
override type Config = IRPass.Configuration.Default
override val precursorPasses: Seq[IRPass] =
override lazy val precursorPasses: Seq[IRPass] =
Seq(BindingAnalysis, GlobalNames)
override val invalidatedPasses: Seq[IRPass] = Seq()
override lazy val invalidatedPasses: Seq[IRPass] = Seq()
/** Executes the pass on the provided `ir`, and returns a possibly transformed
* or annotated version of `ir`.

View File

@ -31,10 +31,10 @@ case object MethodDefinitions extends IRPass {
override type Config = IRPass.Configuration.Default
override val precursorPasses: Seq[IRPass] =
override lazy val precursorPasses: Seq[IRPass] =
List(ComplexType, FunctionBinding, GenerateMethodBodies, BindingAnalysis)
override val invalidatedPasses: Seq[IRPass] = List()
override lazy val invalidatedPasses: Seq[IRPass] = List()
/** Executes the pass on the provided `ir`, and returns a possibly transformed
* or annotated version of `ir`.

View File

@ -19,8 +19,8 @@ import org.enso.compiler.pass.desugar.{
case object ModuleAnnotations extends IRPass {
override type Metadata = Annotations
override type Config = IRPass.Configuration.Default
override val precursorPasses: Seq[IRPass] = Seq()
override val invalidatedPasses: Seq[IRPass] = Seq(
override lazy val precursorPasses: Seq[IRPass] = Seq()
override lazy val invalidatedPasses: Seq[IRPass] = Seq(
DocumentationComments,
ComplexType,
FunctionBinding,

View File

@ -32,11 +32,11 @@ case object OverloadsResolution extends IRPass {
override type Metadata = IRPass.Metadata.Empty
override type Config = IRPass.Configuration.Default
override val precursorPasses: Seq[IRPass] = List(
override lazy val precursorPasses: Seq[IRPass] = List(
ComplexType,
GenerateMethodBodies
)
override val invalidatedPasses: Seq[IRPass] = List()
override lazy val invalidatedPasses: Seq[IRPass] = List()
/** Performs static detection of method overloads within a given module.
*

View File

@ -19,9 +19,9 @@ object Patterns extends IRPass {
override type Metadata = BindingsMap.Resolution
override type Config = IRPass.Configuration.Default
override val precursorPasses: Seq[IRPass] =
override lazy val precursorPasses: Seq[IRPass] =
Seq(NestedPatternMatch, GenerateMethodBodies, BindingAnalysis)
override val invalidatedPasses: Seq[IRPass] = Seq(AliasAnalysis)
override lazy val invalidatedPasses: Seq[IRPass] = Seq(AliasAnalysis)
/** Executes the pass on the provided `ir`, and returns a possibly transformed
* or annotated version of `ir`.

View File

@ -50,12 +50,12 @@ case object SuspendedArguments extends IRPass {
override type Metadata = IRPass.Metadata.Empty
override type Config = IRPass.Configuration.Default
override val precursorPasses: Seq[IRPass] = List(
override lazy val precursorPasses: Seq[IRPass] = List(
ComplexType,
TypeSignatures,
LambdaConsolidate
)
override val invalidatedPasses: Seq[IRPass] = List(
override lazy val invalidatedPasses: Seq[IRPass] = List(
AliasAnalysis,
CachePreferenceAnalysis,
DataflowAnalysis,

View File

@ -37,14 +37,14 @@ case object TypeFunctions extends IRPass {
override type Metadata = IRPass.Metadata.Empty
override type Config = IRPass.Configuration.Default
override val precursorPasses: Seq[IRPass] = List(
override lazy val precursorPasses: Seq[IRPass] = List(
IgnoredBindings,
LambdaShorthandToLambda,
OperatorToFunction,
SectionsToBinOp
)
override val invalidatedPasses: Seq[IRPass] = List(
override lazy val invalidatedPasses: Seq[IRPass] = List(
AliasAnalysis,
CachePreferenceAnalysis,
DataflowAnalysis,

View File

@ -24,11 +24,11 @@ case object TypeNames extends IRPass {
override type Config = IRPass.Configuration.Default
/** The passes that this pass depends _directly_ on to run. */
override val precursorPasses: Seq[IRPass] =
override lazy val precursorPasses: Seq[IRPass] =
Seq(BindingAnalysis)
/** The passes that are invalidated by running this pass. */
override val invalidatedPasses: Seq[IRPass] = Seq()
override lazy val invalidatedPasses: Seq[IRPass] = Seq()
/** Executes the pass on the provided `ir`, and returns a possibly transformed
* or annotated version of `ir`.

View File

@ -33,11 +33,11 @@ case object TypeSignatures extends IRPass {
override type Metadata = Signature
override type Config = IRPass.Configuration.Default
override val precursorPasses: Seq[IRPass] = List(
override lazy val precursorPasses: Seq[IRPass] = List(
TypeFunctions,
ModuleAnnotations
)
override val invalidatedPasses: Seq[IRPass] = List(
override lazy val invalidatedPasses: Seq[IRPass] = List(
AliasAnalysis,
CachePreferenceAnalysis,
DataflowAnalysis,

View File

@ -24,8 +24,8 @@ class PassesTest extends CompilerTest {
override type Metadata = IRPass.Metadata.Empty
override type Config = IRPass.Configuration.Default
override val precursorPasses: Seq[IRPass] = List()
override val invalidatedPasses: Seq[IRPass] = List()
override lazy val precursorPasses: Seq[IRPass] = List()
override lazy val invalidatedPasses: Seq[IRPass] = List()
override def runModule(
ir: Module,

View File

@ -18,8 +18,8 @@ class MetadataStorageTest extends CompilerTest {
override type Metadata = Metadata1
override type Config = IRPass.Configuration.Default
override val precursorPasses: Seq[IRPass] = List()
override val invalidatedPasses: Seq[IRPass] = List()
override lazy val precursorPasses: Seq[IRPass] = List()
override lazy val invalidatedPasses: Seq[IRPass] = List()
override def runModule(
ir: Module,
@ -50,8 +50,8 @@ class MetadataStorageTest extends CompilerTest {
override type Metadata = Metadata2
override type Config = IRPass.Configuration.Default
override val precursorPasses: Seq[IRPass] = List()
override val invalidatedPasses: Seq[IRPass] = List()
override lazy val precursorPasses: Seq[IRPass] = List()
override lazy val invalidatedPasses: Seq[IRPass] = List()
override def runModule(
ir: Module,

View File

@ -16,8 +16,8 @@ class PassConfigurationTest extends CompilerTest {
override type Metadata = IRPass.Metadata.Empty
override type Config = Configuration1
override val precursorPasses: Seq[IRPass] = List()
override val invalidatedPasses: Seq[IRPass] = List()
override lazy val precursorPasses: Seq[IRPass] = List()
override lazy val invalidatedPasses: Seq[IRPass] = List()
override def runModule(
ir: Module,
@ -38,8 +38,8 @@ class PassConfigurationTest extends CompilerTest {
override type Metadata = IRPass.Metadata.Empty
override type Config = Configuration2
override val precursorPasses: Seq[IRPass] = List()
override val invalidatedPasses: Seq[IRPass] = List()
override lazy val precursorPasses: Seq[IRPass] = List()
override lazy val invalidatedPasses: Seq[IRPass] = List()
override def runModule(
ir: Module,