@blockml/framework 0.9.9 → 0.9.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/blocks/org/blockml/bml/framework/FrameworkType.bml +1 -21
- package/blocks/org/blockml/bml/framework/Library.bml +2 -15
- package/blocks/org/blockml/bml/framework/README.bml +0 -17
- package/blocks/org/blockml/bml/framework/capability/BootstrapFullProjectRegistry.bml +1 -20
- package/blocks/org/blockml/bml/framework/capability/BootstrapTypeRegistry.bml +1 -20
- package/blocks/org/blockml/bml/framework/capability/CollectBaseTypeChain.bml +1 -21
- package/blocks/org/blockml/bml/framework/capability/DefaultBootstrapPaths.bml +1 -21
- package/blocks/org/blockml/bml/framework/capability/EvaluateCapability.bml +1 -21
- package/blocks/org/blockml/bml/framework/capability/EvaluateExpression.bml +1 -20
- package/blocks/org/blockml/bml/framework/capability/EvaluateInterpolatedText.bml +1 -21
- package/blocks/org/blockml/bml/framework/capability/EvaluateParseValue.bml +1 -21
- package/blocks/org/blockml/bml/framework/capability/FindLocalMember.bml +1 -20
- package/blocks/org/blockml/bml/framework/capability/ForkBom.bml +1 -20
- package/blocks/org/blockml/bml/framework/capability/GetExportedFqns.bml +1 -20
- package/blocks/org/blockml/bml/framework/capability/GetPropertyNumericValue.bml +1 -20
- package/blocks/org/blockml/bml/framework/capability/IsLiteralValue.bml +1 -20
- package/blocks/org/blockml/bml/framework/capability/MemberIdentityKey.bml +1 -20
- package/blocks/org/blockml/bml/framework/capability/ParseExpression.bml +1 -19
- package/blocks/org/blockml/bml/framework/capability/ParseInterpolatedText.bml +1 -19
- package/blocks/org/blockml/bml/framework/capability/PeekLibraryTypeFqn.bml +1 -21
- package/blocks/org/blockml/bml/framework/capability/ProjectLibraryPackageDirs.bml +1 -21
- package/blocks/org/blockml/bml/framework/capability/ProjectLibraryPackageRoots.bml +1 -21
- package/blocks/org/blockml/bml/framework/capability/ProjectSourceRoots.bml +1 -21
- package/blocks/org/blockml/bml/framework/capability/RegistryFilesUnderRoots.bml +1 -21
- package/blocks/org/blockml/bml/framework/capability/ResolveContracts.bml +1 -20
- package/blocks/org/blockml/bml/framework/capability/ResolveEffectiveMembers.bml +1 -20
- package/blocks/org/blockml/bml/framework/capability/ResolveLibrarySeeds.bml +1 -21
- package/blocks/org/blockml/bml/framework/capability/RootFqnByFilePath.bml +1 -21
- package/blocks/org/blockml/bml/framework/capability/RootFqns.bml +1 -21
- package/blocks/org/blockml/bml/framework/capability/ScanPackages.bml +1 -21
- package/blocks/org/blockml/bml/framework/capability/ScanTypes.bml +1 -21
- package/blocks/org/blockml/bml/framework/capability/TypeRegistry.bml +1 -20
- package/blocks/org/blockml/bml/framework/capability/ValidateConstraints.bml +1 -19
- package/blocks/org/blockml/bml/framework/capability/ValidateEmbeddedBlocks.bml +1 -20
- package/blocks/org/blockml/bml/framework/capability/ValidateGenerics.bml +1 -20
- package/blocks/org/blockml/bml/framework/capability/ValidateInstances.bml +4 -21
- package/blocks/org/blockml/bml/framework/capability/ValidatePresets.bml +1 -20
- package/blocks/org/blockml/bml/framework/capability/ValidateReadOnly.bml +1 -20
- package/blocks/org/blockml/bml/framework/capability/ValidateTypes.bml +13 -23
- package/blocks/org/blockml/bml/framework/capability/ValidateVersions.bml +1 -19
- package/blocks/org/blockml/bml/framework/capability/ValidateVisibility.bml +1 -20
- package/blocks/org/blockml/bml/framework/config/FrameworkDiagnosticCodes.bml +1 -21
- package/blocks/org/blockml/bml/framework/documentation/ArchitectureOverview.bml +1 -22
- package/blocks/org/blockml/bml/framework/documentation/ConstraintValidation.bml +1 -22
- package/blocks/org/blockml/bml/framework/documentation/Diagnostics.bml +7 -26
- package/blocks/org/blockml/bml/framework/documentation/EffectiveMembers.bml +1 -22
- package/blocks/org/blockml/bml/framework/documentation/ExpressionParsing.bml +1 -22
- package/blocks/org/blockml/bml/framework/documentation/Introduction.bml +1 -22
- package/blocks/org/blockml/bml/framework/documentation/LayerSeparation.bml +1 -22
- package/blocks/org/blockml/bml/framework/documentation/PackageOwnership.bml +1 -22
- package/blocks/org/blockml/bml/framework/documentation/PublicApi.bml +1 -22
- package/blocks/org/blockml/bml/framework/documentation/ScopeExclusions.bml +1 -23
- package/blocks/org/blockml/bml/framework/documentation/TypeRegistryBootstrap.bml +1 -22
- package/blocks/org/blockml/bml/framework/expression/ArrayExpressionNode.bml +1 -22
- package/blocks/org/blockml/bml/framework/expression/BinaryExpressionNode.bml +1 -22
- package/blocks/org/blockml/bml/framework/expression/CallExpressionNode.bml +1 -22
- package/blocks/org/blockml/bml/framework/expression/ExpressionNode.bml +1 -22
- package/blocks/org/blockml/bml/framework/expression/InterpolatedStringNode.bml +1 -22
- package/blocks/org/blockml/bml/framework/expression/LiteralExpressionNode.bml +1 -22
- package/blocks/org/blockml/bml/framework/expression/ObjectExpressionEntry.bml +1 -21
- package/blocks/org/blockml/bml/framework/expression/ObjectExpressionNode.bml +1 -22
- package/blocks/org/blockml/bml/framework/expression/ParseExpressionError.bml +1 -21
- package/blocks/org/blockml/bml/framework/expression/ParseExpressionOutcome.bml +1 -21
- package/blocks/org/blockml/bml/framework/expression/ParseExpressionResult.bml +1 -21
- package/blocks/org/blockml/bml/framework/expression/PropertyExpressionNode.bml +1 -22
- package/blocks/org/blockml/bml/framework/registry/BootstrapOptions.bml +1 -21
- package/blocks/org/blockml/bml/framework/registry/BootstrapResult.bml +1 -19
- package/blocks/org/blockml/bml/framework/registry/BootstrapTrace.bml +1 -21
- package/dist/validate/validate-instances.d.ts.map +1 -1
- package/dist/validate/validate-instances.js +5 -0
- package/dist/validate/validate-instances.js.map +1 -1
- package/dist/validate/validate-parse-values.d.ts.map +1 -1
- package/dist/validate/validate-parse-values.js +18 -2
- package/dist/validate/validate-parse-values.js.map +1 -1
- package/dist/validate/validate-references.d.ts.map +1 -1
- package/dist/validate/validate-references.js +51 -7
- package/dist/validate/validate-references.js.map +1 -1
- package/package.json +4 -4
|
@@ -1,29 +1,8 @@
|
|
|
1
1
|
<!--Framework — LiteralExpressionNode
|
|
2
2
|
FQN: org.blockml.bml.framework.expression.LiteralExpressionNode-->
|
|
3
3
|
<fwexpression:LiteralExpressionNode xmlns="http://blockml.org/bml"
|
|
4
|
-
xmlns:blockml="org.blockml.bml"
|
|
5
|
-
xmlns:bom="org.blockml.bml.bom"
|
|
6
|
-
xmlns:bomapi="org.blockml.bml.bom.api"
|
|
7
|
-
xmlns:bomblock="org.blockml.bml.bom.block"
|
|
8
|
-
xmlns:bomcommon="org.blockml.bml.bom.common"
|
|
9
|
-
xmlns:bomcomp="org.blockml.bml.bom.composition"
|
|
10
|
-
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
11
|
-
xmlns:bommember="org.blockml.bml.bom.member"
|
|
12
|
-
xmlns:bomtype="org.blockml.bml.bom.type"
|
|
13
|
-
xmlns:bomvalue="org.blockml.bml.bom.value"
|
|
14
|
-
xmlns:core="org.blockml.bml.core"
|
|
15
|
-
xmlns:def="org.blockml.bml.definition"
|
|
16
|
-
xmlns:framework="org.blockml.bml.framework"
|
|
17
|
-
xmlns:fwcap="org.blockml.bml.framework.capability"
|
|
18
|
-
xmlns:fwconfig="org.blockml.bml.framework.config"
|
|
19
|
-
xmlns:fwdocumentation="org.blockml.bml.framework.documentation"
|
|
20
4
|
xmlns:fwexpression="org.blockml.bml.framework.expression"
|
|
21
|
-
xmlns:
|
|
22
|
-
xmlns:parser="org.blockml.bml.compiler.parser"
|
|
23
|
-
xmlns:type="org.blockml.bml.type"
|
|
24
|
-
xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
|
|
25
|
-
xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
|
|
26
|
-
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
|
|
5
|
+
xmlns:type="org.blockml.bml.type">
|
|
27
6
|
|
|
28
7
|
<baseType>
|
|
29
8
|
fwexpression:ExpressionNode
|
|
@@ -1,29 +1,9 @@
|
|
|
1
1
|
<!--Framework — ObjectExpressionEntry
|
|
2
2
|
FQN: org.blockml.bml.framework.expression.ObjectExpressionEntry-->
|
|
3
3
|
<fwexpression:ObjectExpressionEntry xmlns="http://blockml.org/bml"
|
|
4
|
-
xmlns:blockml="org.blockml.bml"
|
|
5
|
-
xmlns:bom="org.blockml.bml.bom"
|
|
6
|
-
xmlns:bomapi="org.blockml.bml.bom.api"
|
|
7
|
-
xmlns:bomblock="org.blockml.bml.bom.block"
|
|
8
|
-
xmlns:bomcommon="org.blockml.bml.bom.common"
|
|
9
|
-
xmlns:bomcomp="org.blockml.bml.bom.composition"
|
|
10
|
-
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
11
|
-
xmlns:bommember="org.blockml.bml.bom.member"
|
|
12
|
-
xmlns:bomtype="org.blockml.bml.bom.type"
|
|
13
|
-
xmlns:bomvalue="org.blockml.bml.bom.value"
|
|
14
|
-
xmlns:core="org.blockml.bml.core"
|
|
15
|
-
xmlns:def="org.blockml.bml.definition"
|
|
16
4
|
xmlns:framework="org.blockml.bml.framework"
|
|
17
|
-
xmlns:fwcap="org.blockml.bml.framework.capability"
|
|
18
|
-
xmlns:fwconfig="org.blockml.bml.framework.config"
|
|
19
|
-
xmlns:fwdocumentation="org.blockml.bml.framework.documentation"
|
|
20
5
|
xmlns:fwexpression="org.blockml.bml.framework.expression"
|
|
21
|
-
xmlns:
|
|
22
|
-
xmlns:parser="org.blockml.bml.compiler.parser"
|
|
23
|
-
xmlns:type="org.blockml.bml.type"
|
|
24
|
-
xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
|
|
25
|
-
xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
|
|
26
|
-
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
|
|
6
|
+
xmlns:type="org.blockml.bml.type">
|
|
27
7
|
|
|
28
8
|
<baseType>
|
|
29
9
|
framework:FrameworkType
|
|
@@ -1,29 +1,8 @@
|
|
|
1
1
|
<!--Framework — ObjectExpressionNode
|
|
2
2
|
FQN: org.blockml.bml.framework.expression.ObjectExpressionNode-->
|
|
3
3
|
<fwexpression:ObjectExpressionNode xmlns="http://blockml.org/bml"
|
|
4
|
-
xmlns:blockml="org.blockml.bml"
|
|
5
|
-
xmlns:bom="org.blockml.bml.bom"
|
|
6
|
-
xmlns:bomapi="org.blockml.bml.bom.api"
|
|
7
|
-
xmlns:bomblock="org.blockml.bml.bom.block"
|
|
8
|
-
xmlns:bomcommon="org.blockml.bml.bom.common"
|
|
9
|
-
xmlns:bomcomp="org.blockml.bml.bom.composition"
|
|
10
|
-
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
11
|
-
xmlns:bommember="org.blockml.bml.bom.member"
|
|
12
|
-
xmlns:bomtype="org.blockml.bml.bom.type"
|
|
13
|
-
xmlns:bomvalue="org.blockml.bml.bom.value"
|
|
14
|
-
xmlns:core="org.blockml.bml.core"
|
|
15
|
-
xmlns:def="org.blockml.bml.definition"
|
|
16
|
-
xmlns:framework="org.blockml.bml.framework"
|
|
17
|
-
xmlns:fwcap="org.blockml.bml.framework.capability"
|
|
18
|
-
xmlns:fwconfig="org.blockml.bml.framework.config"
|
|
19
|
-
xmlns:fwdocumentation="org.blockml.bml.framework.documentation"
|
|
20
4
|
xmlns:fwexpression="org.blockml.bml.framework.expression"
|
|
21
|
-
xmlns:
|
|
22
|
-
xmlns:parser="org.blockml.bml.compiler.parser"
|
|
23
|
-
xmlns:type="org.blockml.bml.type"
|
|
24
|
-
xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
|
|
25
|
-
xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
|
|
26
|
-
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
|
|
5
|
+
xmlns:type="org.blockml.bml.type">
|
|
27
6
|
|
|
28
7
|
<baseType>
|
|
29
8
|
fwexpression:ExpressionNode
|
|
@@ -1,29 +1,9 @@
|
|
|
1
1
|
<!--Framework — ParseExpressionError
|
|
2
2
|
FQN: org.blockml.bml.framework.expression.ParseExpressionError-->
|
|
3
3
|
<fwexpression:ParseExpressionError xmlns="http://blockml.org/bml"
|
|
4
|
-
xmlns:blockml="org.blockml.bml"
|
|
5
|
-
xmlns:bom="org.blockml.bml.bom"
|
|
6
|
-
xmlns:bomapi="org.blockml.bml.bom.api"
|
|
7
|
-
xmlns:bomblock="org.blockml.bml.bom.block"
|
|
8
|
-
xmlns:bomcommon="org.blockml.bml.bom.common"
|
|
9
|
-
xmlns:bomcomp="org.blockml.bml.bom.composition"
|
|
10
|
-
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
11
|
-
xmlns:bommember="org.blockml.bml.bom.member"
|
|
12
|
-
xmlns:bomtype="org.blockml.bml.bom.type"
|
|
13
|
-
xmlns:bomvalue="org.blockml.bml.bom.value"
|
|
14
|
-
xmlns:core="org.blockml.bml.core"
|
|
15
|
-
xmlns:def="org.blockml.bml.definition"
|
|
16
4
|
xmlns:framework="org.blockml.bml.framework"
|
|
17
|
-
xmlns:fwcap="org.blockml.bml.framework.capability"
|
|
18
|
-
xmlns:fwconfig="org.blockml.bml.framework.config"
|
|
19
|
-
xmlns:fwdocumentation="org.blockml.bml.framework.documentation"
|
|
20
5
|
xmlns:fwexpression="org.blockml.bml.framework.expression"
|
|
21
|
-
xmlns:
|
|
22
|
-
xmlns:parser="org.blockml.bml.compiler.parser"
|
|
23
|
-
xmlns:type="org.blockml.bml.type"
|
|
24
|
-
xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
|
|
25
|
-
xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
|
|
26
|
-
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
|
|
6
|
+
xmlns:type="org.blockml.bml.type">
|
|
27
7
|
|
|
28
8
|
<baseType>
|
|
29
9
|
framework:FrameworkType
|
|
@@ -1,29 +1,9 @@
|
|
|
1
1
|
<!--Framework — ParseExpressionOutcome
|
|
2
2
|
FQN: org.blockml.bml.framework.expression.ParseExpressionOutcome-->
|
|
3
3
|
<fwexpression:ParseExpressionOutcome xmlns="http://blockml.org/bml"
|
|
4
|
-
xmlns:blockml="org.blockml.bml"
|
|
5
|
-
xmlns:bom="org.blockml.bml.bom"
|
|
6
|
-
xmlns:bomapi="org.blockml.bml.bom.api"
|
|
7
|
-
xmlns:bomblock="org.blockml.bml.bom.block"
|
|
8
|
-
xmlns:bomcommon="org.blockml.bml.bom.common"
|
|
9
|
-
xmlns:bomcomp="org.blockml.bml.bom.composition"
|
|
10
|
-
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
11
|
-
xmlns:bommember="org.blockml.bml.bom.member"
|
|
12
|
-
xmlns:bomtype="org.blockml.bml.bom.type"
|
|
13
|
-
xmlns:bomvalue="org.blockml.bml.bom.value"
|
|
14
|
-
xmlns:core="org.blockml.bml.core"
|
|
15
|
-
xmlns:def="org.blockml.bml.definition"
|
|
16
4
|
xmlns:framework="org.blockml.bml.framework"
|
|
17
|
-
xmlns:fwcap="org.blockml.bml.framework.capability"
|
|
18
|
-
xmlns:fwconfig="org.blockml.bml.framework.config"
|
|
19
|
-
xmlns:fwdocumentation="org.blockml.bml.framework.documentation"
|
|
20
5
|
xmlns:fwexpression="org.blockml.bml.framework.expression"
|
|
21
|
-
xmlns:
|
|
22
|
-
xmlns:parser="org.blockml.bml.compiler.parser"
|
|
23
|
-
xmlns:type="org.blockml.bml.type"
|
|
24
|
-
xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
|
|
25
|
-
xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
|
|
26
|
-
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
|
|
6
|
+
xmlns:type="org.blockml.bml.type">
|
|
27
7
|
|
|
28
8
|
<baseType>
|
|
29
9
|
framework:FrameworkType
|
|
@@ -1,29 +1,9 @@
|
|
|
1
1
|
<!--Framework — ParseExpressionResult
|
|
2
2
|
FQN: org.blockml.bml.framework.expression.ParseExpressionResult-->
|
|
3
3
|
<fwexpression:ParseExpressionResult xmlns="http://blockml.org/bml"
|
|
4
|
-
xmlns:blockml="org.blockml.bml"
|
|
5
|
-
xmlns:bom="org.blockml.bml.bom"
|
|
6
|
-
xmlns:bomapi="org.blockml.bml.bom.api"
|
|
7
|
-
xmlns:bomblock="org.blockml.bml.bom.block"
|
|
8
|
-
xmlns:bomcommon="org.blockml.bml.bom.common"
|
|
9
|
-
xmlns:bomcomp="org.blockml.bml.bom.composition"
|
|
10
|
-
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
11
|
-
xmlns:bommember="org.blockml.bml.bom.member"
|
|
12
|
-
xmlns:bomtype="org.blockml.bml.bom.type"
|
|
13
|
-
xmlns:bomvalue="org.blockml.bml.bom.value"
|
|
14
|
-
xmlns:core="org.blockml.bml.core"
|
|
15
|
-
xmlns:def="org.blockml.bml.definition"
|
|
16
4
|
xmlns:framework="org.blockml.bml.framework"
|
|
17
|
-
xmlns:fwcap="org.blockml.bml.framework.capability"
|
|
18
|
-
xmlns:fwconfig="org.blockml.bml.framework.config"
|
|
19
|
-
xmlns:fwdocumentation="org.blockml.bml.framework.documentation"
|
|
20
5
|
xmlns:fwexpression="org.blockml.bml.framework.expression"
|
|
21
|
-
xmlns:
|
|
22
|
-
xmlns:parser="org.blockml.bml.compiler.parser"
|
|
23
|
-
xmlns:type="org.blockml.bml.type"
|
|
24
|
-
xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
|
|
25
|
-
xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
|
|
26
|
-
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
|
|
6
|
+
xmlns:type="org.blockml.bml.type">
|
|
27
7
|
|
|
28
8
|
<baseType>
|
|
29
9
|
framework:FrameworkType
|
|
@@ -1,29 +1,8 @@
|
|
|
1
1
|
<!--Framework — PropertyExpressionNode
|
|
2
2
|
FQN: org.blockml.bml.framework.expression.PropertyExpressionNode-->
|
|
3
3
|
<fwexpression:PropertyExpressionNode xmlns="http://blockml.org/bml"
|
|
4
|
-
xmlns:blockml="org.blockml.bml"
|
|
5
|
-
xmlns:bom="org.blockml.bml.bom"
|
|
6
|
-
xmlns:bomapi="org.blockml.bml.bom.api"
|
|
7
|
-
xmlns:bomblock="org.blockml.bml.bom.block"
|
|
8
|
-
xmlns:bomcommon="org.blockml.bml.bom.common"
|
|
9
|
-
xmlns:bomcomp="org.blockml.bml.bom.composition"
|
|
10
|
-
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
11
|
-
xmlns:bommember="org.blockml.bml.bom.member"
|
|
12
|
-
xmlns:bomtype="org.blockml.bml.bom.type"
|
|
13
|
-
xmlns:bomvalue="org.blockml.bml.bom.value"
|
|
14
|
-
xmlns:core="org.blockml.bml.core"
|
|
15
|
-
xmlns:def="org.blockml.bml.definition"
|
|
16
|
-
xmlns:framework="org.blockml.bml.framework"
|
|
17
|
-
xmlns:fwcap="org.blockml.bml.framework.capability"
|
|
18
|
-
xmlns:fwconfig="org.blockml.bml.framework.config"
|
|
19
|
-
xmlns:fwdocumentation="org.blockml.bml.framework.documentation"
|
|
20
4
|
xmlns:fwexpression="org.blockml.bml.framework.expression"
|
|
21
|
-
xmlns:
|
|
22
|
-
xmlns:parser="org.blockml.bml.compiler.parser"
|
|
23
|
-
xmlns:type="org.blockml.bml.type"
|
|
24
|
-
xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
|
|
25
|
-
xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
|
|
26
|
-
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
|
|
5
|
+
xmlns:type="org.blockml.bml.type">
|
|
27
6
|
|
|
28
7
|
<baseType>
|
|
29
8
|
fwexpression:ExpressionNode
|
|
@@ -1,29 +1,9 @@
|
|
|
1
1
|
<!--Framework — BootstrapOptions
|
|
2
2
|
FQN: org.blockml.bml.framework.registry.BootstrapOptions-->
|
|
3
3
|
<fwregistry:BootstrapOptions xmlns="http://blockml.org/bml"
|
|
4
|
-
xmlns:blockml="org.blockml.bml"
|
|
5
|
-
xmlns:bom="org.blockml.bml.bom"
|
|
6
|
-
xmlns:bomapi="org.blockml.bml.bom.api"
|
|
7
|
-
xmlns:bomblock="org.blockml.bml.bom.block"
|
|
8
|
-
xmlns:bomcommon="org.blockml.bml.bom.common"
|
|
9
|
-
xmlns:bomcomp="org.blockml.bml.bom.composition"
|
|
10
|
-
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
11
|
-
xmlns:bommember="org.blockml.bml.bom.member"
|
|
12
|
-
xmlns:bomtype="org.blockml.bml.bom.type"
|
|
13
|
-
xmlns:bomvalue="org.blockml.bml.bom.value"
|
|
14
|
-
xmlns:core="org.blockml.bml.core"
|
|
15
|
-
xmlns:def="org.blockml.bml.definition"
|
|
16
4
|
xmlns:framework="org.blockml.bml.framework"
|
|
17
|
-
xmlns:fwcap="org.blockml.bml.framework.capability"
|
|
18
|
-
xmlns:fwconfig="org.blockml.bml.framework.config"
|
|
19
|
-
xmlns:fwdocumentation="org.blockml.bml.framework.documentation"
|
|
20
|
-
xmlns:fwexpression="org.blockml.bml.framework.expression"
|
|
21
5
|
xmlns:fwregistry="org.blockml.bml.framework.registry"
|
|
22
|
-
xmlns:
|
|
23
|
-
xmlns:type="org.blockml.bml.type"
|
|
24
|
-
xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
|
|
25
|
-
xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
|
|
26
|
-
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
|
|
6
|
+
xmlns:type="org.blockml.bml.type">
|
|
27
7
|
|
|
28
8
|
<baseType>
|
|
29
9
|
framework:FrameworkType
|
|
@@ -1,29 +1,11 @@
|
|
|
1
1
|
<!--Framework — BootstrapResult
|
|
2
2
|
FQN: org.blockml.bml.framework.registry.BootstrapResult-->
|
|
3
3
|
<fwregistry:BootstrapResult xmlns="http://blockml.org/bml"
|
|
4
|
-
xmlns:blockml="org.blockml.bml"
|
|
5
|
-
xmlns:bom="org.blockml.bml.bom"
|
|
6
|
-
xmlns:bomapi="org.blockml.bml.bom.api"
|
|
7
|
-
xmlns:bomblock="org.blockml.bml.bom.block"
|
|
8
4
|
xmlns:bomcommon="org.blockml.bml.bom.common"
|
|
9
|
-
xmlns:bomcomp="org.blockml.bml.bom.composition"
|
|
10
|
-
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
11
|
-
xmlns:bommember="org.blockml.bml.bom.member"
|
|
12
|
-
xmlns:bomtype="org.blockml.bml.bom.type"
|
|
13
|
-
xmlns:bomvalue="org.blockml.bml.bom.value"
|
|
14
|
-
xmlns:core="org.blockml.bml.core"
|
|
15
|
-
xmlns:def="org.blockml.bml.definition"
|
|
16
5
|
xmlns:framework="org.blockml.bml.framework"
|
|
17
6
|
xmlns:fwcap="org.blockml.bml.framework.capability"
|
|
18
|
-
xmlns:fwconfig="org.blockml.bml.framework.config"
|
|
19
|
-
xmlns:fwdocumentation="org.blockml.bml.framework.documentation"
|
|
20
|
-
xmlns:fwexpression="org.blockml.bml.framework.expression"
|
|
21
7
|
xmlns:fwregistry="org.blockml.bml.framework.registry"
|
|
22
|
-
xmlns:
|
|
23
|
-
xmlns:type="org.blockml.bml.type"
|
|
24
|
-
xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
|
|
25
|
-
xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
|
|
26
|
-
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
|
|
8
|
+
xmlns:type="org.blockml.bml.type">
|
|
27
9
|
|
|
28
10
|
<baseType>
|
|
29
11
|
framework:FrameworkType
|
|
@@ -1,29 +1,9 @@
|
|
|
1
1
|
<!--Framework — BootstrapTrace
|
|
2
2
|
FQN: org.blockml.bml.framework.registry.BootstrapTrace-->
|
|
3
3
|
<fwregistry:BootstrapTrace xmlns="http://blockml.org/bml"
|
|
4
|
-
xmlns:blockml="org.blockml.bml"
|
|
5
|
-
xmlns:bom="org.blockml.bml.bom"
|
|
6
|
-
xmlns:bomapi="org.blockml.bml.bom.api"
|
|
7
|
-
xmlns:bomblock="org.blockml.bml.bom.block"
|
|
8
|
-
xmlns:bomcommon="org.blockml.bml.bom.common"
|
|
9
|
-
xmlns:bomcomp="org.blockml.bml.bom.composition"
|
|
10
|
-
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
11
|
-
xmlns:bommember="org.blockml.bml.bom.member"
|
|
12
|
-
xmlns:bomtype="org.blockml.bml.bom.type"
|
|
13
|
-
xmlns:bomvalue="org.blockml.bml.bom.value"
|
|
14
|
-
xmlns:core="org.blockml.bml.core"
|
|
15
|
-
xmlns:def="org.blockml.bml.definition"
|
|
16
4
|
xmlns:framework="org.blockml.bml.framework"
|
|
17
|
-
xmlns:fwcap="org.blockml.bml.framework.capability"
|
|
18
|
-
xmlns:fwconfig="org.blockml.bml.framework.config"
|
|
19
|
-
xmlns:fwdocumentation="org.blockml.bml.framework.documentation"
|
|
20
|
-
xmlns:fwexpression="org.blockml.bml.framework.expression"
|
|
21
5
|
xmlns:fwregistry="org.blockml.bml.framework.registry"
|
|
22
|
-
xmlns:
|
|
23
|
-
xmlns:type="org.blockml.bml.type"
|
|
24
|
-
xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
|
|
25
|
-
xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
|
|
26
|
-
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
|
|
6
|
+
xmlns:type="org.blockml.bml.type">
|
|
27
7
|
|
|
28
8
|
<baseType>
|
|
29
9
|
framework:FrameworkType
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-instances.d.ts","sourceRoot":"","sources":["../../src/validate/validate-instances.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,WAAW,EAEX,UAAU,EACX,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"validate-instances.d.ts","sourceRoot":"","sources":["../../src/validate/validate-instances.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,WAAW,EAEX,UAAU,EACX,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AA2LjE,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,WAAW,EACrB,QAAQ,EAAE,YAAY,GACrB,UAAU,EAAE,CAMd"}
|
|
@@ -20,6 +20,11 @@ function validateInstanceSemantics(instance, registry, file, diagnostics) {
|
|
|
20
20
|
diagnostics.push(diag("BML_UNKNOWN_PROPERTY", `Unknown property: ${key} on ${instance.typeFqn}`, file, instance.source?.line, instance.source?.column));
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
|
+
for (const agg of instance.aggregationCompositions ?? []) {
|
|
24
|
+
if (!names.has(agg.aggregationName)) {
|
|
25
|
+
diagnostics.push(diag("BML_UNKNOWN_PROPERTY", `Unknown property: ${agg.aggregationName} on ${instance.typeFqn}`, file, agg.composition.source?.line ?? instance.source?.line, agg.composition.source?.column ?? instance.source?.column));
|
|
26
|
+
}
|
|
27
|
+
}
|
|
23
28
|
}
|
|
24
29
|
function validateInstanceRefs(instance, ids, file, diagnostics) {
|
|
25
30
|
if (instance.basePresets && !resolveInstanceRef(instance.basePresets, ids)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-instances.js","sourceRoot":"","sources":["../../src/validate/validate-instances.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validate-instances.js","sourceRoot":"","sources":["../../src/validate/validate-instances.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-parse-values.d.ts","sourceRoot":"","sources":["../../src/validate/validate-parse-values.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,WAAW,EAEX,UAAU,EAMX,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"validate-parse-values.d.ts","sourceRoot":"","sources":["../../src/validate/validate-parse-values.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,WAAW,EAEX,UAAU,EAMX,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AA8OjE,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,GAAG,UAAU,EAAE,CAK/F"}
|
|
@@ -27,6 +27,18 @@ function isUnion(expr) {
|
|
|
27
27
|
}
|
|
28
28
|
return false;
|
|
29
29
|
}
|
|
30
|
+
function isAnonymousStruct(expr) {
|
|
31
|
+
if (!expr) {
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
if (expr.kind === "anonymousStruct") {
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
37
|
+
if (expr.kind === "grouped") {
|
|
38
|
+
return isAnonymousStruct(expr.expression);
|
|
39
|
+
}
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
30
42
|
function hasMultiplicity(expr, fallbackFqn) {
|
|
31
43
|
if (expr) {
|
|
32
44
|
if (expr.kind === "named" || expr.kind === "grouped") {
|
|
@@ -56,11 +68,12 @@ function checkLiteral(val, type, typeFqn, ctx, loc) {
|
|
|
56
68
|
if (!val || val.kind !== "literal") {
|
|
57
69
|
return;
|
|
58
70
|
}
|
|
59
|
-
if (isUnion(type)
|
|
71
|
+
if (isUnion(type)) {
|
|
60
72
|
return;
|
|
61
73
|
}
|
|
62
74
|
const named = namedTypeFqn(type, typeFqn);
|
|
63
|
-
|
|
75
|
+
const anonymous = isAnonymousStruct(type);
|
|
76
|
+
if (!named && !anonymous) {
|
|
64
77
|
return;
|
|
65
78
|
}
|
|
66
79
|
const list = hasMultiplicity(type, typeFqn);
|
|
@@ -68,6 +81,9 @@ function checkLiteral(val, type, typeFqn, ctx, loc) {
|
|
|
68
81
|
ctx.diagnostics.push(diag("BML_INVALID_VALUE", "collection value on a non-list type", ctx.file, loc));
|
|
69
82
|
return;
|
|
70
83
|
}
|
|
84
|
+
if (anonymous || !named) {
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
71
87
|
const items = Array.isArray(val.value) ? val.value : [val.value];
|
|
72
88
|
for (const item of items) {
|
|
73
89
|
const raw = rawFromUnknown(item);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-parse-values.js","sourceRoot":"","sources":["../../src/validate/validate-parse-values.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAQpE,SAAS,IAAI,CACX,IAAY,EACZ,OAAe,EACf,IAAY,EACZ,GAAgF;IAEhF,MAAM,MAAM,GAAmB;QAC7B,IAAI,EAAE,GAAG,EAAE,IAAI,IAAI,IAAI;QACvB,IAAI,EAAE,GAAG,EAAE,IAAI,IAAI,CAAC;QACpB,MAAM,EAAE,GAAG,EAAE,MAAM,IAAI,CAAC;KACzB,CAAC;IACF,IAAI,GAAG,EAAE,OAAO,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;IAC/B,CAAC;IACD,IAAI,GAAG,EAAE,SAAS,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;IACnC,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AACtD,CAAC;AAED,SAAS,OAAO,CAAC,IAAgC;IAC/C,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,eAAe,CAAC,IAAgC,EAAE,WAAoB;IAC7E,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACrD,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;gBACpC,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,WAAW,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;AAC7C,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QAC5D,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,QAAQ,CACf,OAAe,EACf,GAAW,EACX,GAAa,EACb,GAA+B;IAE/B,MAAM,MAAM,GAAG,kBAAkB,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC9D,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IACjF,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CACnB,GAA4B,EAC5B,IAAgC,EAChC,OAA2B,EAC3B,GAAa,EACb,GAA+B;IAE/B,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACnC,OAAO;IACT,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"validate-parse-values.js","sourceRoot":"","sources":["../../src/validate/validate-parse-values.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-references.d.ts","sourceRoot":"","sources":["../../src/validate/validate-references.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,WAAW,EAEX,UAAU,EAMV,cAAc,EAEf,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AA6DjE,wBAAgB,cAAc,CAAC,IAAI,EAAE,cAAc,GAAG,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CA2BnG;
|
|
1
|
+
{"version":3,"file":"validate-references.d.ts","sourceRoot":"","sources":["../../src/validate/validate-references.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,WAAW,EAEX,UAAU,EAMV,cAAc,EAEf,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AA6DjE,wBAAgB,cAAc,CAAC,IAAI,EAAE,cAAc,GAAG,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CA2BnG;AA0hBD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,GAAG,UAAU,EAAE,CAY9F"}
|
|
@@ -105,6 +105,37 @@ function packageIsKnown(pkg, registry) {
|
|
|
105
105
|
const prefix = `${pkg}.`;
|
|
106
106
|
return registry.keys().some((fqn) => fqn.startsWith(prefix));
|
|
107
107
|
}
|
|
108
|
+
function formatTypeExpression(expr) {
|
|
109
|
+
switch (expr.kind) {
|
|
110
|
+
case "named":
|
|
111
|
+
return expr.fqn;
|
|
112
|
+
case "union":
|
|
113
|
+
return expr.alternatives.map(formatTypeExpression).join(" | ");
|
|
114
|
+
case "grouped":
|
|
115
|
+
return `(${formatTypeExpression(expr.expression)})`;
|
|
116
|
+
default:
|
|
117
|
+
return namedTypeFqn(expr) ?? "unknown";
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
function isReferenceEntityAggregation(classified) {
|
|
121
|
+
return classified?.role === "reference" && classified.isEntity === true;
|
|
122
|
+
}
|
|
123
|
+
function childSatisfiesAggregationPayload(childFqn, payload, registry) {
|
|
124
|
+
if (payload.kind === "union") {
|
|
125
|
+
return payload.alternatives.some((alt) => childSatisfiesAggregationPayload(childFqn, alt, registry));
|
|
126
|
+
}
|
|
127
|
+
if (payload.kind === "grouped") {
|
|
128
|
+
return childSatisfiesAggregationPayload(childFqn, payload.expression, registry);
|
|
129
|
+
}
|
|
130
|
+
const named = namedTypeFqn(payload);
|
|
131
|
+
if (!named) {
|
|
132
|
+
return true;
|
|
133
|
+
}
|
|
134
|
+
if (!registry.has(childFqn) || !registry.has(named)) {
|
|
135
|
+
return true;
|
|
136
|
+
}
|
|
137
|
+
return satisfiesTypeBound(childFqn, named, registry);
|
|
138
|
+
}
|
|
108
139
|
function reportUnknownType(fqn, ctx, loc, code, message) {
|
|
109
140
|
if (typeIsKnown(fqn, ctx.registry)) {
|
|
110
141
|
return true;
|
|
@@ -326,16 +357,17 @@ function walkInstance(instance, ctx) {
|
|
|
326
357
|
}
|
|
327
358
|
for (const agg of instance.aggregationCompositions ?? []) {
|
|
328
359
|
const member = members.find((m) => m.kind === "aggregation" && m.name === agg.aggregationName);
|
|
329
|
-
const
|
|
330
|
-
|
|
360
|
+
const payloadType = member && member.kind === "aggregation" ? member.type : undefined;
|
|
361
|
+
const classified = payloadType
|
|
362
|
+
? classifyDeclaredType(payloadType, ctx.registry)
|
|
331
363
|
: undefined;
|
|
332
|
-
walkCompositionNodes(agg.composition.children, ctx, classified);
|
|
364
|
+
walkCompositionNodes(agg.composition.children, ctx, classified, payloadType);
|
|
333
365
|
}
|
|
334
366
|
}
|
|
335
|
-
function walkCompositionNodes(nodes, ctx, aggregationDeclared) {
|
|
367
|
+
function walkCompositionNodes(nodes, ctx, aggregationDeclared, payloadType) {
|
|
336
368
|
for (const child of nodes) {
|
|
337
369
|
if (child.kind === "blockInstance") {
|
|
338
|
-
if (aggregationDeclared
|
|
370
|
+
if (isReferenceEntityAggregation(aggregationDeclared)) {
|
|
339
371
|
if (aggregationDeclared.kind === "type") {
|
|
340
372
|
checkTypeFqn(child.instance.typeFqn, ctx, child.instance.source ?? child.source, "BML_UNKNOWN_TYPE", "Unknown type", aggregationDeclared.boundFqn);
|
|
341
373
|
}
|
|
@@ -344,10 +376,16 @@ function walkCompositionNodes(nodes, ctx, aggregationDeclared) {
|
|
|
344
376
|
checkReferenceValue(aggregationDeclared, value, ctx, child.instance.source ?? child.source);
|
|
345
377
|
}
|
|
346
378
|
}
|
|
379
|
+
else if (payloadType) {
|
|
380
|
+
const childFqn = child.instance.typeFqn;
|
|
381
|
+
if (!childSatisfiesAggregationPayload(childFqn, payloadType, ctx.registry)) {
|
|
382
|
+
ctx.diagnostics.push(diag("BML_TYPE_BOUND_NOT_SATISFIED", `Type ${childFqn} does not satisfy bound ${formatTypeExpression(payloadType)}`, ctx.file, child.instance.source ?? child.source));
|
|
383
|
+
}
|
|
384
|
+
}
|
|
347
385
|
walkInstance(child.instance, ctx);
|
|
348
386
|
}
|
|
349
387
|
else {
|
|
350
|
-
walkCompositionNodes(child.children, ctx, aggregationDeclared);
|
|
388
|
+
walkCompositionNodes(child.children, ctx, aggregationDeclared, payloadType);
|
|
351
389
|
}
|
|
352
390
|
}
|
|
353
391
|
}
|
|
@@ -395,8 +433,14 @@ function walkBlockDefinition(block, ctx) {
|
|
|
395
433
|
for (const member of block.members) {
|
|
396
434
|
checkMemberTypes(member, ctx);
|
|
397
435
|
}
|
|
436
|
+
const effective = resolveEffectiveMembers(block, ctx.registry);
|
|
398
437
|
for (const template of block.compositions) {
|
|
399
|
-
|
|
438
|
+
const member = effective.find((candidate) => candidate.kind === "aggregation" && candidate.name === template.aggregationName);
|
|
439
|
+
const payloadType = member && member.kind === "aggregation" ? member.type : undefined;
|
|
440
|
+
const classified = payloadType
|
|
441
|
+
? classifyDeclaredType(payloadType, ctx.registry)
|
|
442
|
+
: undefined;
|
|
443
|
+
walkCompositionNodes(template.children, ctx, classified, payloadType);
|
|
400
444
|
}
|
|
401
445
|
for (const sub of block.subBlocks) {
|
|
402
446
|
walkBlockDefinition(sub, ctx);
|