@blockml/framework 0.9.3 → 0.9.5

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.
Files changed (75) hide show
  1. package/blocks/org/blockml/bml/framework/FrameworkType.bml +16 -20
  2. package/blocks/org/blockml/bml/framework/Library.bml +21 -29
  3. package/blocks/org/blockml/bml/framework/README.bml +15 -22
  4. package/blocks/org/blockml/bml/framework/capability/BootstrapFullProjectRegistry.bml +25 -23
  5. package/blocks/org/blockml/bml/framework/capability/BootstrapTypeRegistry.bml +19 -21
  6. package/blocks/org/blockml/bml/framework/capability/CollectBaseTypeChain.bml +22 -21
  7. package/blocks/org/blockml/bml/framework/capability/DefaultBootstrapPaths.bml +19 -20
  8. package/blocks/org/blockml/bml/framework/capability/EvaluateExpression.bml +19 -20
  9. package/blocks/org/blockml/bml/framework/capability/EvaluateInterpolatedText.bml +19 -20
  10. package/blocks/org/blockml/bml/framework/capability/EvaluateParseValue.bml +23 -23
  11. package/blocks/org/blockml/bml/framework/capability/FindLocalMember.bml +22 -22
  12. package/blocks/org/blockml/bml/framework/capability/ForkBom.bml +19 -21
  13. package/blocks/org/blockml/bml/framework/capability/GetExportedFqns.bml +25 -22
  14. package/blocks/org/blockml/bml/framework/capability/GetPropertyNumericValue.bml +19 -20
  15. package/blocks/org/blockml/bml/framework/capability/IsLiteralValue.bml +19 -20
  16. package/blocks/org/blockml/bml/framework/capability/MemberIdentityKey.bml +19 -20
  17. package/blocks/org/blockml/bml/framework/capability/ParseExpression.bml +19 -21
  18. package/blocks/org/blockml/bml/framework/capability/ParseInterpolatedText.bml +22 -21
  19. package/blocks/org/blockml/bml/framework/capability/PeekLibraryTypeFqn.bml +19 -21
  20. package/blocks/org/blockml/bml/framework/capability/ProjectLibraryPackageDirs.bml +19 -20
  21. package/blocks/org/blockml/bml/framework/capability/ProjectLibraryPackageRoots.bml +19 -20
  22. package/blocks/org/blockml/bml/framework/capability/ProjectSourceRoots.bml +22 -21
  23. package/blocks/org/blockml/bml/framework/capability/RegistryFilesUnderRoots.bml +22 -21
  24. package/blocks/org/blockml/bml/framework/capability/ResolveContracts.bml +22 -22
  25. package/blocks/org/blockml/bml/framework/capability/ResolveEffectiveMembers.bml +22 -22
  26. package/blocks/org/blockml/bml/framework/capability/ResolveLibrarySeeds.bml +22 -22
  27. package/blocks/org/blockml/bml/framework/capability/RootFqnByFilePath.bml +19 -20
  28. package/blocks/org/blockml/bml/framework/capability/RootFqns.bml +19 -20
  29. package/blocks/org/blockml/bml/framework/capability/TypeRegistry.bml +12 -19
  30. package/blocks/org/blockml/bml/framework/capability/ValidateConstraints.bml +22 -22
  31. package/blocks/org/blockml/bml/framework/capability/ValidateEmbeddedBlocks.bml +19 -20
  32. package/blocks/org/blockml/bml/framework/capability/ValidateGenerics.bml +25 -24
  33. package/blocks/org/blockml/bml/framework/capability/ValidateInstances.bml +22 -21
  34. package/blocks/org/blockml/bml/framework/capability/ValidatePresets.bml +22 -21
  35. package/blocks/org/blockml/bml/framework/capability/ValidateReadOnly.bml +22 -21
  36. package/blocks/org/blockml/bml/framework/capability/ValidateTypes.bml +30 -25
  37. package/blocks/org/blockml/bml/framework/capability/ValidateVersions.bml +22 -22
  38. package/blocks/org/blockml/bml/framework/capability/ValidateVisibility.bml +22 -21
  39. package/blocks/org/blockml/bml/framework/config/FrameworkDiagnosticCodes.bml +16 -19
  40. package/blocks/org/blockml/bml/framework/documentation/ArchitectureOverview.bml +16 -21
  41. package/blocks/org/blockml/bml/framework/documentation/ConstraintValidation.bml +17 -22
  42. package/blocks/org/blockml/bml/framework/documentation/Diagnostics.bml +23 -28
  43. package/blocks/org/blockml/bml/framework/documentation/EffectiveMembers.bml +18 -23
  44. package/blocks/org/blockml/bml/framework/documentation/ExpressionParsing.bml +23 -24
  45. package/blocks/org/blockml/bml/framework/documentation/Introduction.bml +17 -22
  46. package/blocks/org/blockml/bml/framework/documentation/LayerSeparation.bml +19 -24
  47. package/blocks/org/blockml/bml/framework/documentation/PackageOwnership.bml +19 -24
  48. package/blocks/org/blockml/bml/framework/documentation/PublicApi.bml +19 -22
  49. package/blocks/org/blockml/bml/framework/documentation/ScopeExclusions.bml +16 -21
  50. package/blocks/org/blockml/bml/framework/documentation/TypeRegistryBootstrap.bml +22 -27
  51. package/blocks/org/blockml/bml/framework/expression/ArrayExpressionNode.bml +19 -20
  52. package/blocks/org/blockml/bml/framework/expression/BinaryExpressionNode.bml +25 -22
  53. package/blocks/org/blockml/bml/framework/expression/CallExpressionNode.bml +22 -21
  54. package/blocks/org/blockml/bml/framework/expression/ExpressionNode.bml +16 -20
  55. package/blocks/org/blockml/bml/framework/expression/InterpolatedStringNode.bml +19 -20
  56. package/blocks/org/blockml/bml/framework/expression/LiteralExpressionNode.bml +19 -20
  57. package/blocks/org/blockml/bml/framework/expression/ObjectExpressionEntry.bml +19 -20
  58. package/blocks/org/blockml/bml/framework/expression/ObjectExpressionNode.bml +19 -20
  59. package/blocks/org/blockml/bml/framework/expression/ParseExpressionError.bml +19 -20
  60. package/blocks/org/blockml/bml/framework/expression/ParseExpressionOutcome.bml +22 -21
  61. package/blocks/org/blockml/bml/framework/expression/ParseExpressionResult.bml +19 -20
  62. package/blocks/org/blockml/bml/framework/expression/PropertyExpressionNode.bml +19 -20
  63. package/blocks/org/blockml/bml/framework/registry/BootstrapOptions.bml +22 -21
  64. package/blocks/org/blockml/bml/framework/registry/BootstrapResult.bml +25 -22
  65. package/blocks/org/blockml/bml/framework/registry/BootstrapTrace.bml +28 -23
  66. package/dist/expression/parse-expression.d.ts.map +1 -1
  67. package/dist/expression/parse-expression.js +4 -1
  68. package/dist/expression/parse-expression.js.map +1 -1
  69. package/dist/expression/parse-interpolated-text.d.ts.map +1 -1
  70. package/dist/expression/parse-interpolated-text.js +60 -30
  71. package/dist/expression/parse-interpolated-text.js.map +1 -1
  72. package/dist/validate/validate-types.d.ts.map +1 -1
  73. package/dist/validate/validate-types.js +17 -26
  74. package/dist/validate/validate-types.js.map +1 -1
  75. package/package.json +4 -4
@@ -1,12 +1,6 @@
1
- <!--
2
- Framework Capability — ValidateGenerics
3
- FQN: org.blockml.bml.framework.capability.ValidateGenerics
4
- -->
5
- <block
6
- xmlns="http://blockml.org/bml"
7
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
8
- xsi:schemaLocation="http://blockml.org/bml https://blockml.org/schemas/bml.xsd
9
- "
1
+ <!--Framework Capability — ValidateGenerics
2
+ FQN: org.blockml.bml.framework.capability.ValidateGenerics-->
3
+ <fwcap:ValidateGenerics xmlns="http://blockml.org/bml"
10
4
  xmlns:blockml="org.blockml.bml"
11
5
  xmlns:bom="org.blockml.bml.bom"
12
6
  xmlns:bomapi="org.blockml.bml.bom.api"
@@ -31,36 +25,43 @@
31
25
  xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
32
26
  xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
33
27
 
34
- <name>ValidateGenerics</name>
35
- <type>fwcap:ValidateGenerics</type>
36
- <baseType>core:Capability</baseType>
37
- <is>Open generic instance and bml:generics placement checks</is>
38
-
39
- <documentation>Open generic instance and bml:generics placement checks against
28
+ <baseType>
29
+ core:Capability
30
+ </baseType>
31
+ <is>
32
+ Open generic instance and bml:generics placement checks
33
+ </is>
34
+ <documentation>
35
+ Open generic instance and bml:generics placement checks against
40
36
  TypeRegistry. Emits BML_OPEN_GENERIC_INSTANCE, BML_GENERICS_DIRECTIVE_NOT_ALLOWED,
41
37
  BML_GENERICS_ARGUMENT_MISMATCH, and reuses BML_GENERIC_CONSTRAINT_VIOLATION /
42
38
  BML_MISSING_GENERIC_TYPE_ARGUMENT.
43
-
39
+
44
40
  bml:generics is allowed whenever the instance type declares genericTypes.
45
41
  Open parameters require a binding. Parameters with defaultType may omit it;
46
42
  authored arguments override defaultType.
47
-
43
+
48
44
  BML_OPEN_GENERIC_INSTANCE applies only to domain Block instances. Children of a
49
45
  TypeReferenceEntity aggregation (Library blocks, contracts, …) are type
50
46
  references — empty QName sugar or explicit TypeReferenceEntity — not instances
51
47
  of the named type. They must not carry bml:generics; if present, emit
52
- BML_GENERICS_DIRECTIVE_NOT_ALLOWED.</documentation>
53
-
48
+ BML_GENERICS_DIRECTIVE_NOT_ALLOWED.
49
+ </documentation>
54
50
  <properties>
55
51
  <document type="bomdoc:BomDocument">
56
- <documentation>document. TS type: bomdoc:BomDocument. (required)</documentation>
52
+ <documentation>
53
+ document. TS type: bomdoc:BomDocument. (required)
54
+ </documentation>
57
55
  </document>
58
56
  <registry type="fwcap:TypeRegistry">
59
- <documentation>registry. TS type: fwcap:TypeRegistry. (required)</documentation>
57
+ <documentation>
58
+ registry. TS type: fwcap:TypeRegistry. (required)
59
+ </documentation>
60
60
  </registry>
61
61
  <diagnostics type="bomcommon:Diagnostic[]">
62
- <documentation>diagnostics. TS type: bomcommon:Diagnostic[]. (required)</documentation>
62
+ <documentation>
63
+ diagnostics. TS type: bomcommon:Diagnostic[]. (required)
64
+ </documentation>
63
65
  </diagnostics>
64
66
  </properties>
65
-
66
- </block>
67
+ </fwcap:ValidateGenerics>
@@ -1,12 +1,6 @@
1
- <!--
2
- Framework Capability — ValidateInstances
3
- FQN: org.blockml.bml.framework.capability.ValidateInstances
4
- -->
5
- <block
6
- xmlns="http://blockml.org/bml"
7
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
8
- xsi:schemaLocation="http://blockml.org/bml https://blockml.org/schemas/bml.xsd
9
- "
1
+ <!--Framework Capability — ValidateInstances
2
+ FQN: org.blockml.bml.framework.capability.ValidateInstances-->
3
+ <fwcap:ValidateInstances xmlns="http://blockml.org/bml"
10
4
  xmlns:blockml="org.blockml.bml"
11
5
  xmlns:bom="org.blockml.bml.bom"
12
6
  xmlns:bomapi="org.blockml.bml.bom.api"
@@ -31,23 +25,30 @@
31
25
  xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
32
26
  xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
33
27
 
34
- <name>ValidateInstances</name>
35
- <type>fwcap:ValidateInstances</type>
36
- <baseType>core:Capability</baseType>
37
- <is>Instance member rules against TypeRegistry</is>
38
-
39
- <documentation>Instance member rules against TypeRegistry</documentation>
40
-
28
+ <baseType>
29
+ core:Capability
30
+ </baseType>
31
+ <is>
32
+ Instance member rules against TypeRegistry
33
+ </is>
34
+ <documentation>
35
+ Instance member rules against TypeRegistry
36
+ </documentation>
41
37
  <properties>
42
38
  <document type="bomdoc:BomDocument">
43
- <documentation>document. TS type: bomdoc:BomDocument. (required)</documentation>
39
+ <documentation>
40
+ document. TS type: bomdoc:BomDocument. (required)
41
+ </documentation>
44
42
  </document>
45
43
  <registry type="fwcap:TypeRegistry">
46
- <documentation>registry. TS type: fwcap:TypeRegistry. (required)</documentation>
44
+ <documentation>
45
+ registry. TS type: fwcap:TypeRegistry. (required)
46
+ </documentation>
47
47
  </registry>
48
48
  <diagnostics type="bomcommon:Diagnostic[]">
49
- <documentation>diagnostics. TS type: bomcommon:Diagnostic[]. (required)</documentation>
49
+ <documentation>
50
+ diagnostics. TS type: bomcommon:Diagnostic[]. (required)
51
+ </documentation>
50
52
  </diagnostics>
51
53
  </properties>
52
-
53
- </block>
54
+ </fwcap:ValidateInstances>
@@ -1,12 +1,6 @@
1
- <!--
2
- Framework Capability — ValidatePresets
3
- FQN: org.blockml.bml.framework.capability.ValidatePresets
4
- -->
5
- <block
6
- xmlns="http://blockml.org/bml"
7
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
8
- xsi:schemaLocation="http://blockml.org/bml https://blockml.org/schemas/bml.xsd
9
- "
1
+ <!--Framework Capability — ValidatePresets
2
+ FQN: org.blockml.bml.framework.capability.ValidatePresets-->
3
+ <fwcap:ValidatePresets xmlns="http://blockml.org/bml"
10
4
  xmlns:blockml="org.blockml.bml"
11
5
  xmlns:bom="org.blockml.bml.bom"
12
6
  xmlns:bomapi="org.blockml.bml.bom.api"
@@ -31,23 +25,30 @@
31
25
  xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
32
26
  xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
33
27
 
34
- <name>ValidatePresets</name>
35
- <type>fwcap:ValidatePresets</type>
36
- <baseType>core:Capability</baseType>
37
- <is>Preset member rules against TypeRegistry</is>
38
-
39
- <documentation>Preset member rules against TypeRegistry</documentation>
40
-
28
+ <baseType>
29
+ core:Capability
30
+ </baseType>
31
+ <is>
32
+ Preset member rules against TypeRegistry
33
+ </is>
34
+ <documentation>
35
+ Preset member rules against TypeRegistry
36
+ </documentation>
41
37
  <properties>
42
38
  <document type="bomdoc:BomDocument">
43
- <documentation>document. TS type: bomdoc:BomDocument. (required)</documentation>
39
+ <documentation>
40
+ document. TS type: bomdoc:BomDocument. (required)
41
+ </documentation>
44
42
  </document>
45
43
  <registry type="fwcap:TypeRegistry">
46
- <documentation>registry. TS type: fwcap:TypeRegistry. (required)</documentation>
44
+ <documentation>
45
+ registry. TS type: fwcap:TypeRegistry. (required)
46
+ </documentation>
47
47
  </registry>
48
48
  <diagnostics type="bomcommon:Diagnostic[]">
49
- <documentation>diagnostics. TS type: bomcommon:Diagnostic[]. (required)</documentation>
49
+ <documentation>
50
+ diagnostics. TS type: bomcommon:Diagnostic[]. (required)
51
+ </documentation>
50
52
  </diagnostics>
51
53
  </properties>
52
-
53
- </block>
54
+ </fwcap:ValidatePresets>
@@ -1,12 +1,6 @@
1
- <!--
2
- Framework Capability — ValidateReadOnly
3
- FQN: org.blockml.bml.framework.capability.ValidateReadOnly
4
- -->
5
- <block
6
- xmlns="http://blockml.org/bml"
7
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
8
- xsi:schemaLocation="http://blockml.org/bml https://blockml.org/schemas/bml.xsd
9
- "
1
+ <!--Framework Capability — ValidateReadOnly
2
+ FQN: org.blockml.bml.framework.capability.ValidateReadOnly-->
3
+ <fwcap:ValidateReadOnly xmlns="http://blockml.org/bml"
10
4
  xmlns:blockml="org.blockml.bml"
11
5
  xmlns:bom="org.blockml.bml.bom"
12
6
  xmlns:bomapi="org.blockml.bml.bom.api"
@@ -31,23 +25,30 @@
31
25
  xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
32
26
  xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
33
27
 
34
- <name>ValidateReadOnly</name>
35
- <type>fwcap:ValidateReadOnly</type>
36
- <baseType>core:Capability</baseType>
37
- <is>Read-only member rules against TypeRegistry</is>
38
-
39
- <documentation>Read-only member rules against TypeRegistry</documentation>
40
-
28
+ <baseType>
29
+ core:Capability
30
+ </baseType>
31
+ <is>
32
+ Read-only member rules against TypeRegistry
33
+ </is>
34
+ <documentation>
35
+ Read-only member rules against TypeRegistry
36
+ </documentation>
41
37
  <properties>
42
38
  <document type="bomdoc:BomDocument">
43
- <documentation>document. TS type: bomdoc:BomDocument. (required)</documentation>
39
+ <documentation>
40
+ document. TS type: bomdoc:BomDocument. (required)
41
+ </documentation>
44
42
  </document>
45
43
  <registry type="fwcap:TypeRegistry">
46
- <documentation>registry. TS type: fwcap:TypeRegistry. (required)</documentation>
44
+ <documentation>
45
+ registry. TS type: fwcap:TypeRegistry. (required)
46
+ </documentation>
47
47
  </registry>
48
48
  <diagnostics type="bomcommon:Diagnostic[]">
49
- <documentation>diagnostics. TS type: bomcommon:Diagnostic[]. (required)</documentation>
49
+ <documentation>
50
+ diagnostics. TS type: bomcommon:Diagnostic[]. (required)
51
+ </documentation>
50
52
  </diagnostics>
51
53
  </properties>
52
-
53
- </block>
54
+ </fwcap:ValidateReadOnly>
@@ -1,12 +1,6 @@
1
- <!--
2
- Framework Capability — ValidateTypes
3
- FQN: org.blockml.bml.framework.capability.ValidateTypes
4
- -->
5
- <block
6
- xmlns="http://blockml.org/bml"
7
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
8
- xsi:schemaLocation="http://blockml.org/bml https://blockml.org/schemas/bml.xsd
9
- "
1
+ <!--Framework Capability — ValidateTypes
2
+ FQN: org.blockml.bml.framework.capability.ValidateTypes-->
3
+ <fwcap:ValidateTypes xmlns="http://blockml.org/bml"
10
4
  xmlns:blockml="org.blockml.bml"
11
5
  xmlns:bom="org.blockml.bml.bom"
12
6
  xmlns:bomapi="org.blockml.bml.bom.api"
@@ -31,28 +25,29 @@
31
25
  xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
32
26
  xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
33
27
 
34
- <name>ValidateTypes</name>
35
- <type>fwcap:ValidateTypes</type>
36
- <baseType>core:Capability</baseType>
37
- <is>Semantic type checks on BomDocument using TypeRegistry</is>
38
-
28
+ <baseType>
29
+ core:Capability
30
+ </baseType>
31
+ <is>
32
+ Semantic type checks on BomDocument using TypeRegistry
33
+ </is>
39
34
  <documentation>
40
35
  Semantic type checks on BomDocument using TypeRegistry.
41
-
36
+
42
37
  Existence is classified per declared ValueType — there is no shared MemberReference parent:
43
-
38
+
44
39
  - TypeReference, PackageReference, InstanceReference, PropertyReference, AggregationReference,
45
40
  AssociationReference, CapabilityReference, and the matching *ReferenceEntity wrappers
46
41
  - Identifier types (`TypeIdentifier`, `MemberIdentifier`, …) are syntax-only and are not
47
42
  existence-checked
48
-
43
+
49
44
  TypeReference / TypeReferenceEntity literals stay authored text (QName or
50
45
  TypeExpression). The reference walk re-parses them with
51
46
  document.source.namespaceBindings — the same xmlns map as type attributes —
52
47
  then existence-checks the resolved FQNs. Canonical default is checked once
53
48
  (property.value; values[namespace=""] is the same entry). Prefixed
54
49
  PropertyValueEntry facets are not existence-checked.
55
-
50
+
56
51
  After the reference walk, canonical BML literals with a declared PrimitiveType are
57
52
  checked via fwcap:EvaluateParseValue (property.value / values[namespace=""]).
58
53
  Prefixed / annotation-namespaced PropertyValueEntry values (scad:value and other
@@ -60,24 +55,34 @@
60
55
  BML lexical values. TODO: a matching prefixed type (for example scad:type for
61
56
  scad:value) so each facet can be parseValue-checked in its own language.
62
57
  Failure → BML_INVALID_VALUE. Existence stays on the reference walk.
58
+
59
+ Local redeclarations that merge with a member from the baseType chain or from
60
+ contracts[] must set override="true" on every member kind — property, aggregation,
61
+ association, and capability. Filling an inherited aggregation with composition
62
+ or default="true" is still a merge. Omission → BML_OVERRIDE_REQUIRED.
63
+ override="true" without a matching inherited or contract member →
64
+ BML_OVERRIDE_WITHOUT_PARENT. Override is not inherited; each layer must set it.
63
65
  </documentation>
64
-
65
66
  <references>
66
67
  <see type="fwcap:ResolveEffectiveMembers" relation="SeeAlso" />
67
68
  <see type="fwcap:ParseExpression" relation="SeeAlso" />
68
69
  <see type="fwcap:EvaluateParseValue" relation="SeeAlso" />
69
70
  </references>
70
-
71
71
  <properties>
72
72
  <document type="bomdoc:BomDocument">
73
- <documentation>document. TS type: bomdoc:BomDocument. (required)</documentation>
73
+ <documentation>
74
+ document. TS type: bomdoc:BomDocument. (required)
75
+ </documentation>
74
76
  </document>
75
77
  <registry type="fwcap:TypeRegistry">
76
- <documentation>registry. TS type: fwcap:TypeRegistry. (required)</documentation>
78
+ <documentation>
79
+ registry. TS type: fwcap:TypeRegistry. (required)
80
+ </documentation>
77
81
  </registry>
78
82
  <diagnostics type="bomcommon:Diagnostic[]">
79
- <documentation>diagnostics. TS type: bomcommon:Diagnostic[]. (required)</documentation>
83
+ <documentation>
84
+ diagnostics. TS type: bomcommon:Diagnostic[]. (required)
85
+ </documentation>
80
86
  </diagnostics>
81
87
  </properties>
82
-
83
- </block>
88
+ </fwcap:ValidateTypes>
@@ -1,12 +1,6 @@
1
- <!--
2
- Framework Capability — ValidateVersions
3
- FQN: org.blockml.bml.framework.capability.ValidateVersions
4
- -->
5
- <block
6
- xmlns="http://blockml.org/bml"
7
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
8
- xsi:schemaLocation="http://blockml.org/bml https://blockml.org/schemas/bml.xsd
9
- "
1
+ <!--Framework Capability — ValidateVersions
2
+ FQN: org.blockml.bml.framework.capability.ValidateVersions-->
3
+ <fwcap:ValidateVersions xmlns="http://blockml.org/bml"
10
4
  xmlns:blockml="org.blockml.bml"
11
5
  xmlns:bom="org.blockml.bml.bom"
12
6
  xmlns:bomapi="org.blockml.bml.bom.api"
@@ -31,27 +25,33 @@
31
25
  xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
32
26
  xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
33
27
 
34
- <name>ValidateVersions</name>
35
- <type>fwcap:ValidateVersions</type>
36
- <baseType>core:Capability</baseType>
37
- <is>Minimal effectiveBlockVersion and bml:version assert checks</is>
38
-
39
- <documentation>BML_MISSING_VERSION on standalone root blocks outside framework library convention. BML_UNKNOWN_VERSION when bml:version pin does not match a registered block version.</documentation>
40
-
28
+ <baseType>
29
+ core:Capability
30
+ </baseType>
31
+ <is>
32
+ Minimal effectiveBlockVersion and bml:version assert checks
33
+ </is>
34
+ <documentation>
35
+ BML_MISSING_VERSION on standalone root blocks outside framework library convention. BML_UNKNOWN_VERSION when bml:version pin does not match a registered block version.
36
+ </documentation>
41
37
  <references>
42
38
  <see type="bomdocumentation:VersionRules" relation="SeeAlso" />
43
39
  </references>
44
-
45
40
  <properties>
46
41
  <document type="bomdoc:BomDocument">
47
- <documentation>document. TS type: bomdoc:BomDocument. (required)</documentation>
42
+ <documentation>
43
+ document. TS type: bomdoc:BomDocument. (required)
44
+ </documentation>
48
45
  </document>
49
46
  <registry type="fwcap:TypeRegistry">
50
- <documentation>registry. TS type: fwcap:TypeRegistry. (required)</documentation>
47
+ <documentation>
48
+ registry. TS type: fwcap:TypeRegistry. (required)
49
+ </documentation>
51
50
  </registry>
52
51
  <diagnostics type="bomcommon:Diagnostic[]">
53
- <documentation>diagnostics. TS type: bomcommon:Diagnostic[]. (required)</documentation>
52
+ <documentation>
53
+ diagnostics. TS type: bomcommon:Diagnostic[]. (required)
54
+ </documentation>
54
55
  </diagnostics>
55
56
  </properties>
56
-
57
- </block>
57
+ </fwcap:ValidateVersions>
@@ -1,12 +1,6 @@
1
- <!--
2
- Framework Capability — ValidateVisibility
3
- FQN: org.blockml.bml.framework.capability.ValidateVisibility
4
- -->
5
- <block
6
- xmlns="http://blockml.org/bml"
7
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
8
- xsi:schemaLocation="http://blockml.org/bml https://blockml.org/schemas/bml.xsd
9
- "
1
+ <!--Framework Capability — ValidateVisibility
2
+ FQN: org.blockml.bml.framework.capability.ValidateVisibility-->
3
+ <fwcap:ValidateVisibility xmlns="http://blockml.org/bml"
10
4
  xmlns:blockml="org.blockml.bml"
11
5
  xmlns:bom="org.blockml.bml.bom"
12
6
  xmlns:bomapi="org.blockml.bml.bom.api"
@@ -31,23 +25,30 @@
31
25
  xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
32
26
  xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
33
27
 
34
- <name>ValidateVisibility</name>
35
- <type>fwcap:ValidateVisibility</type>
36
- <baseType>core:Capability</baseType>
37
- <is>Visibility member rules against TypeRegistry</is>
38
-
39
- <documentation>Visibility member rules against TypeRegistry</documentation>
40
-
28
+ <baseType>
29
+ core:Capability
30
+ </baseType>
31
+ <is>
32
+ Visibility member rules against TypeRegistry
33
+ </is>
34
+ <documentation>
35
+ Visibility member rules against TypeRegistry
36
+ </documentation>
41
37
  <properties>
42
38
  <document type="bomdoc:BomDocument">
43
- <documentation>document. TS type: bomdoc:BomDocument. (required)</documentation>
39
+ <documentation>
40
+ document. TS type: bomdoc:BomDocument. (required)
41
+ </documentation>
44
42
  </document>
45
43
  <registry type="fwcap:TypeRegistry">
46
- <documentation>registry. TS type: fwcap:TypeRegistry. (required)</documentation>
44
+ <documentation>
45
+ registry. TS type: fwcap:TypeRegistry. (required)
46
+ </documentation>
47
47
  </registry>
48
48
  <diagnostics type="bomcommon:Diagnostic[]">
49
- <documentation>diagnostics. TS type: bomcommon:Diagnostic[]. (required)</documentation>
49
+ <documentation>
50
+ diagnostics. TS type: bomcommon:Diagnostic[]. (required)
51
+ </documentation>
50
52
  </diagnostics>
51
53
  </properties>
52
-
53
- </block>
54
+ </fwcap:ValidateVisibility>
@@ -1,12 +1,6 @@
1
- <!--
2
- Framework FrameworkDiagnosticCodes
3
- FQN: org.blockml.bml.framework.config.FrameworkDiagnosticCodes
4
- -->
5
- <block
6
- xmlns="http://blockml.org/bml"
7
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
8
- xsi:schemaLocation="http://blockml.org/bml https://blockml.org/schemas/bml.xsd
9
- "
1
+ <!--Framework — FrameworkDiagnosticCodes
2
+ FQN: org.blockml.bml.framework.config.FrameworkDiagnosticCodes-->
3
+ <fwconfig:FrameworkDiagnosticCodes xmlns="http://blockml.org/bml"
10
4
  xmlns:blockml="org.blockml.bml"
11
5
  xmlns:bom="org.blockml.bml.bom"
12
6
  xmlns:bomapi="org.blockml.bml.bom.api"
@@ -31,17 +25,20 @@
31
25
  xmlns:pardocumentation="org.blockml.bml.compiler.parser.documentation"
32
26
  xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
33
27
 
34
- <name>FrameworkDiagnosticCodes</name>
35
- <type>fwconfig:FrameworkDiagnosticCodes</type>
36
- <baseType>framework:FrameworkType</baseType>
37
- <is>Diagnostic codes emitted by framework utilities</is>
38
-
39
- <documentation>Used by validateTypes, validateConstraints, and bootstrapTypeRegistry.</documentation>
40
-
28
+ <baseType>
29
+ framework:FrameworkType
30
+ </baseType>
31
+ <is>
32
+ Diagnostic codes emitted by framework utilities
33
+ </is>
34
+ <documentation>
35
+ Used by validateTypes, validateConstraints, and bootstrapTypeRegistry.
36
+ </documentation>
41
37
  <properties>
42
38
  <codes type="type:Text[]">
43
- <documentation>Ordered: BML_BOOTSTRAP_READ_ERROR, BML_CONSTRAINT_INFORMATION, BML_CONSTRAINT_TARGET_MISMATCH, BML_CONSTRAINT_UNKNOWN, BML_CONSTRAINT_VIOLATION, BML_CONSTRAINT_WARNING, BML_DUPLICATE_EMBEDDED_BLOCK, BML_DUPLICATE_MEMBER_VISIBILITY_VARIANT, BML_EMBEDDED_BLOCKS_ON_SUBBLOCK, BML_EXPRESSION_PARSE_ERROR, BML_EXPR_NOT_ALLOWED_IN_INTERPOLATION, BML_EXPR_SYNTAX_ERROR, BML_EXPR_TYPE_MISMATCH, BML_GENERIC_CONSTRAINT_VIOLATION, BML_GENERICS_ARGUMENT_MISMATCH, BML_GENERICS_DIRECTIVE_NOT_ALLOWED, BML_INVALID_VALUE, BML_LIBRARY_NESTING_VIOLATION, BML_LIBRARY_RESOLVE_ERROR, BML_MEMBER_COLLISION, BML_MISSING_GENERIC_TYPE_ARGUMENT, BML_MISSING_ID, BML_MISSING_VERSION, BML_NESTED_EMBEDDED_BLOCKS, BML_OPEN_GENERIC_INSTANCE, BML_OVERRIDE_REQUIRED, BML_OVERRIDE_WITHOUT_PARENT, BML_PRESET_CYCLE, BML_READONLY_MEMBER_WRITE, BML_SUBBLOCK_TYPE_MISMATCH, BML_TYPE_BOUND_NOT_SATISFIED, BML_UNRESOLVABLE_INSTANCE_REF, BML_UNKNOWN_BASE_TYPE, BML_UNKNOWN_CONTRACT, BML_UNKNOWN_TYPE, BML_UNKNOWN_PROPERTY, BML_UNKNOWN_VERSION, BML_VISIBILITY_PRIVATE_OVERRIDE (required)</documentation>
39
+ <documentation>
40
+ Ordered: BML_BOOTSTRAP_READ_ERROR, BML_CONSTRAINT_INFORMATION, BML_CONSTRAINT_TARGET_MISMATCH, BML_CONSTRAINT_UNKNOWN, BML_CONSTRAINT_VIOLATION, BML_CONSTRAINT_WARNING, BML_DUPLICATE_EMBEDDED_BLOCK, BML_DUPLICATE_MEMBER_VISIBILITY_VARIANT, BML_EMBEDDED_BLOCKS_ON_SUBBLOCK, BML_EXPRESSION_PARSE_ERROR, BML_EXPR_NOT_ALLOWED_IN_INTERPOLATION, BML_EXPR_SYNTAX_ERROR, BML_EXPR_TYPE_MISMATCH, BML_GENERIC_CONSTRAINT_VIOLATION, BML_GENERICS_ARGUMENT_MISMATCH, BML_GENERICS_DIRECTIVE_NOT_ALLOWED, BML_INVALID_VALUE, BML_LIBRARY_NESTING_VIOLATION, BML_LIBRARY_RESOLVE_ERROR, BML_MEMBER_COLLISION, BML_MISSING_GENERIC_TYPE_ARGUMENT, BML_MISSING_ID, BML_MISSING_VERSION, BML_NESTED_EMBEDDED_BLOCKS, BML_OPEN_GENERIC_INSTANCE, BML_OVERRIDE_REQUIRED, BML_OVERRIDE_WITHOUT_PARENT, BML_PRESET_CYCLE, BML_READONLY_MEMBER_WRITE, BML_SUBBLOCK_TYPE_MISMATCH, BML_TYPE_BOUND_NOT_SATISFIED, BML_UNRESOLVABLE_INSTANCE_REF, BML_UNKNOWN_BASE_TYPE, BML_UNKNOWN_CONTRACT, BML_UNKNOWN_TYPE, BML_UNKNOWN_PROPERTY, BML_UNKNOWN_VERSION, BML_VISIBILITY_PRIVATE_OVERRIDE (required)
41
+ </documentation>
44
42
  </codes>
45
43
  </properties>
46
-
47
- </block>
44
+ </fwconfig:FrameworkDiagnosticCodes>
@@ -1,12 +1,6 @@
1
- <!--
2
- Framework Documentation — ArchitectureOverview
3
- FQN: org.blockml.bml.framework.documentation.ArchitectureOverview
4
- -->
5
- <block
6
- xmlns="http://blockml.org/bml"
7
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
8
- xsi:schemaLocation="http://blockml.org/bml https://blockml.org/schemas/bml.xsd
9
- "
1
+ <!--Framework Documentation — ArchitectureOverview
2
+ FQN: org.blockml.bml.framework.documentation.ArchitectureOverview-->
3
+ <fwdocumentation:ArchitectureOverview xmlns="http://blockml.org/bml"
10
4
  xmlns:blockml="org.blockml.bml"
11
5
  xmlns:bom="org.blockml.bml.bom"
12
6
  xmlns:bomapi="org.blockml.bml.bom.api"
@@ -32,13 +26,15 @@
32
26
  xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation"
33
27
  xmlns:doc="org.blockml.bml.documentation">
34
28
 
35
- <name>ArchitectureOverview</name>
36
- <type>fwdocumentation:ArchitectureOverview</type>
37
- <baseType>core:Documentation</baseType>
38
- <is>Module decomposition for framework utilities</is>
39
-
40
- <documentation>Module decomposition (packages/framework/src/):
41
-
29
+ <baseType>
30
+ core:Documentation
31
+ </baseType>
32
+ <is>
33
+ Module decomposition for framework utilities
34
+ </is>
35
+ <documentation>
36
+ Module decomposition (packages/framework/src/):
37
+
42
38
  registry/type-registry.ts — fwcap:TypeRegistry (register, get, has, keys, size)
43
39
  registry/bootstrap.ts — fwcap:BootstrapTypeRegistry, fwcap:DefaultBootstrapPaths
44
40
  registry/library-bootstrap.ts — library graph resolution (Library.bml dependencies),
@@ -52,13 +48,12 @@
52
48
  fwcap:IsLiteralValue
53
49
  validate/validate-versions.ts — fwcap:ValidateVersions
54
50
  validate/validate-constraints.ts — fwcap:ValidateConstraints
55
-
51
+
56
52
  Internal data-structure types extend framework:FrameworkType.
57
- Public operations are fwcap:* capabilities.</documentation>
58
-
53
+ Public operations are fwcap:* capabilities.
54
+ </documentation>
59
55
  <references>
60
56
  <see type="fwdocumentation:PublicApi" relation="ReadNext" />
61
57
  <see type="fwcap:TypeRegistry" relation="Defines" />
62
58
  </references>
63
-
64
- </block>
59
+ </fwdocumentation:ArchitectureOverview>
@@ -1,12 +1,6 @@
1
- <!--
2
- Framework Documentation — ConstraintValidation
3
- FQN: org.blockml.bml.framework.documentation.ConstraintValidation
4
- -->
5
- <block
6
- xmlns="http://blockml.org/bml"
7
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
8
- xsi:schemaLocation="http://blockml.org/bml https://blockml.org/schemas/bml.xsd
9
- "
1
+ <!--Framework Documentation — ConstraintValidation
2
+ FQN: org.blockml.bml.framework.documentation.ConstraintValidation-->
3
+ <fwdocumentation:ConstraintValidation xmlns="http://blockml.org/bml"
10
4
  xmlns:blockml="org.blockml.bml"
11
5
  xmlns:bom="org.blockml.bml.bom"
12
6
  xmlns:bomapi="org.blockml.bml.bom.api"
@@ -32,31 +26,32 @@
32
26
  xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation"
33
27
  xmlns:doc="org.blockml.bml.documentation">
34
28
 
35
- <name>ConstraintValidation</name>
36
- <type>fwdocumentation:ConstraintValidation</type>
37
- <baseType>core:Documentation</baseType>
38
- <is>validateConstraints branch dispatch and embed contexts</is>
39
-
40
- <documentation>validateConstraints evaluates constraints on the effective member set from
29
+ <baseType>
30
+ core:Documentation
31
+ </baseType>
32
+ <is>
33
+ validateConstraints branch dispatch and embed contexts
34
+ </is>
35
+ <documentation>
36
+ validateConstraints evaluates constraints on the effective member set from
41
37
  resolveEffectiveMembers (baseType + contracts + local). Property ValuePresent and other
42
38
  ValueConstraints on effective PropertyDefinition are checked against authored local values.
43
-
39
+
44
40
  Embed contexts for directly declared constraint BlockInstances:
45
41
  block — BlockConstraint (RequiresMember), ValueConstraint (Min/Max/ValuePresent)
46
42
  property — PropertyConstraint (MustBeReadOnly), ValueConstraint
47
43
  aggregation — AggregationConstraint (AllowedChildType)
48
44
  association — AssociationConstraint (NoSelfReference)
49
45
  capability — CapabilityConstraint (RequiresImplementation)
50
-
46
+
51
47
  Wrong branch for context → BML_CONSTRAINT_TARGET_MISMATCH.
52
48
  Unknown constraint type → BML_CONSTRAINT_UNKNOWN.
53
49
  Violation → BML_CONSTRAINT_VIOLATION.
54
-
55
- Fixtures: packages/framework/test/constraints/fixtures/*.bml</documentation>
56
-
50
+
51
+ Fixtures: packages/framework/test/constraints/fixtures/*.bml
52
+ </documentation>
57
53
  <references>
58
54
  <see type="fwdocumentation:Diagnostics" relation="ReadNext" />
59
55
  <see type="fwcap:ValidateConstraints" relation="Defines" />
60
56
  </references>
61
-
62
- </block>
57
+ </fwdocumentation:ConstraintValidation>