@@ -80,6 +80,10 @@ public structure ModuleImportInfo where
8080 allTransTrace : BuildTrace
8181 /-- Transitive import trace for an `import` of the module without the module system enabled. -/
8282 legacyTransTrace : BuildTrace
83+ /-- The trace produced by mixing the `leanir` traces of `directArts` with their transitive imports. -/
84+ irSigTrace : BuildTrace
85+ /-- Transitive import trace for a `leanir` run over an importer of the module. -/
86+ irSigTransTrace : BuildTrace
8387 deriving Inhabited
8488
8589/-- **For internal use only.** Information about the imports of this module. -/
@@ -93,28 +97,39 @@ public structure ModuleExportInfo where
9397 arts : ImportArtifacts
9498 /-- The trace of the module's public olean. -/
9599 artsTrace : BuildTrace
96- /-- The trace of the module's public olean and IR. -/
100+ /-- Transitive import trace for an `import` of the module with the module system enabled. -/
101+ transTrace : BuildTrace
102+ deriving Inhabited
103+
104+ /-- Information useful to importers of a module. Includes IR. -/
105+ public structure ModuleMetaExportInfo extends ModuleExportInfo where
106+ /-- The trace of the module's public olean and IR (i.e., what a `meta import` needs). -/
97107 metaArtsTrace : BuildTrace
108+ /-- The trace of the module's public olean and IR signature (i.e., what `leanir` needs). -/
109+ irSigArtsTrace : BuildTrace
98110 /--
99111 Artifacts directly needed for an `import` of the module from a module without the module
100112 system enabled or `import all` of the module from a module with it enabled.
101113 -/
102114 allArts : ImportArtifacts
103115 /-- The trace produced by mixing the traces of `allArts`. -/
104116 allArtsTrace : BuildTrace
105- /-- Transitive import trace for an `import` of the module with the module system enabled. -/
106- transTrace : BuildTrace
107117 /-- Transitive import trace for a `meta import` of the module. -/
108118 metaTransTrace : BuildTrace
109119 /-- Transitive import trace for an `import all` of the module. -/
110120 allTransTrace : BuildTrace
111121 /-- Transitive import trace for an `import` of the module without the module system enabled. -/
112122 legacyTransTrace : BuildTrace
123+ /-- Transitive import trace for a `leanir` run over an importer of the module. -/
124+ irSigTransTrace : BuildTrace
113125 deriving Inhabited
114126
115127/-- **For internal use only.** Information useful to importers of this module. -/
116128builtin_facet exportInfo : Module => ModuleExportInfo
117129
130+ /-- **For internal use only.** Information useful to `meta` importers of this module. -/
131+ builtin_facet metaExportInfo : Module => ModuleMetaExportInfo
132+
118133/-- Artifacts directly needed for an `import` of this module with the module system enabled. -/
119134builtin_facet importArts : Module => ImportArtifacts
120135
@@ -132,6 +147,9 @@ Its trace just includes its dependencies.
132147-/
133148builtin_facet leanArts : Module => ModuleOutputArtifacts
134149
150+ /-- The artifacts of a Lean module's code generation (e.g., `.ir.sig`, `.ir`, `.c`). -/
151+ builtin_facet irArts : Module => ModuleOutputArtifacts
152+
135153/-- A compressed archive (produced via `leantar`) of the module's build artifacts. -/
136154builtin_facet ltar : Module => FilePath
137155
0 commit comments