mirror of
https://github.com/nasa/fpp.git
synced 2025-12-11 11:16:42 -06:00
Revise ComputeDependencies
Revise User's Guide
This commit is contained in:
parent
31e8a358ab
commit
24b348cffd
@ -13,10 +13,14 @@ object AddDependencies extends BasicUseAnalyzer {
|
|||||||
node: Ast.Annotated[AstNode[Ast.DefTopology]]
|
node: Ast.Annotated[AstNode[Ast.DefTopology]]
|
||||||
) = {
|
) = {
|
||||||
for {
|
for {
|
||||||
|
// Add dependencies based on explicit and implicit uses in the topology
|
||||||
a <- super.defTopologyAnnotatedNode(a, node)
|
a <- super.defTopologyAnnotatedNode(a, node)
|
||||||
|
// Add dependencies on all dictionary definitions
|
||||||
|
// Every topology has all dictionary definitions in its dictionary
|
||||||
a <- {
|
a <- {
|
||||||
val specLocs = a.locationSpecifierMap.values.map(_.data).filter(_.isDictionaryDef)
|
val dictionarySpecLocs =
|
||||||
Result.foldLeft (specLocs.toList) (a) {
|
a.locationSpecifierMap.values.map(_.data).filter(_.isDictionaryDef)
|
||||||
|
Result.foldLeft (dictionarySpecLocs.toList) (a) {
|
||||||
case (a, s) => addDependencies (a) (s)
|
case (a, s) => addDependencies (a) (s)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -12037,7 +12037,7 @@ equivalent.</p>
|
|||||||
</div>
|
</div>
|
||||||
<div id="footer">
|
<div id="footer">
|
||||||
<div id="footer-text">
|
<div id="footer-text">
|
||||||
Last updated 2025-11-06 15:59:49 -0800
|
Last updated 2025-11-18 16:22:40 -0800
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="code-prettify/run_prettify.js"></script>
|
<script src="code-prettify/run_prettify.js"></script>
|
||||||
|
|||||||
@ -12748,8 +12748,12 @@ locate dictionary constant b at "b.fpp"</code></pre>
|
|||||||
</div>
|
</div>
|
||||||
<div class="paragraph">
|
<div class="paragraph">
|
||||||
<p>The <code>dictionary</code> keyword tells the analyzer that the definition is a dictionary
|
<p>The <code>dictionary</code> keyword tells the analyzer that the definition is a dictionary
|
||||||
definition and so should be included in the dependency files of the model,
|
definition.
|
||||||
regardless of whether the definition is used in the model.</p>
|
This fact is important when the model includes a topology definition.
|
||||||
|
In this case, the analyzer includes all dictionary definitions as
|
||||||
|
dependencies of the model.
|
||||||
|
That way the definitions are available
|
||||||
|
when generating the dictionary for the topology.</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="paragraph">
|
<div class="paragraph">
|
||||||
<p>If a definition is a dictionary definition and the corresponding location
|
<p>If a definition is a dictionary definition and the corresponding location
|
||||||
@ -16220,7 +16224,7 @@ serialized according to its
|
|||||||
</div>
|
</div>
|
||||||
<div id="footer">
|
<div id="footer">
|
||||||
<div id="footer-text">
|
<div id="footer-text">
|
||||||
Last updated 2025-11-06 16:00:29 -0800
|
Last updated 2025-11-18 16:24:17 -0800
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="code-prettify/run_prettify.js"></script>
|
<script src="code-prettify/run_prettify.js"></script>
|
||||||
|
|||||||
@ -464,8 +464,12 @@ locate dictionary constant b at "b.fpp"
|
|||||||
----
|
----
|
||||||
|
|
||||||
The `dictionary` keyword tells the analyzer that the definition is a dictionary
|
The `dictionary` keyword tells the analyzer that the definition is a dictionary
|
||||||
definition and so should be included in the dependency files of the model,
|
definition.
|
||||||
regardless of whether the definition is used in the model.
|
This fact is important when the model includes a topology definition.
|
||||||
|
In this case, the analyzer includes all dictionary definitions as
|
||||||
|
dependencies of the model.
|
||||||
|
That way the definitions are available
|
||||||
|
when generating the dictionary for the topology.
|
||||||
|
|
||||||
If a definition is a dictionary definition and the corresponding location
|
If a definition is a dictionary definition and the corresponding location
|
||||||
specifier does not specify `dictionary` (or vice versa), then the analyzer
|
specifier does not specify `dictionary` (or vice versa), then the analyzer
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user