Update ast schema.

This commit is contained in:
Jesse Brault 2025-11-22 16:50:32 -06:00
parent 70aea0ba6f
commit 8d73a8ea73

View File

@ -37,6 +37,9 @@ $defs:
- $ref: "#/$defs/PolymorphicTypeDefinition"
- $ref: "#/$defs/PolymorphicEnumLoopBuildDefinition"
- $ref: "#/$defs/PolymorphicPassThroughDefinition"
- $ref: "#/$defs/PolymorphicTreeEnumDefinition"
- $ref: "#/$defs/PolymorphicLeafEnumDefinition"
- $ref: "#/$defs/PolymorphicEnumInnerBuildDefinition"
# Struct
StructNodeDefinition:
@ -606,4 +609,89 @@ $defs:
- kind
- with
required:
- node_production
- node_production
# Polymorphic Tree Enum
PolymorphicTreeEnumDefinition:
type: object
additionalProperties: false
properties:
polymorphic_tree_enum:
type: object
additionalProperties: false
properties:
kind:
type: string
rules:
type: array
items:
type: string
required:
- kind
- rules
required:
- polymorphic_tree_enum
# Polymorphic Leaf Enum
PolymorphicLeafEnumDefinition:
type: object
additionalProperties: false
properties:
polymorphic_leaf_enum:
type: object
additionalProperties: false
properties:
kind:
type: string
rules:
type: array
items:
type: string
required:
- kind
- rules
required:
- polymorphic_leaf_enum
# Polymorphic Enum Inner Build
PolymorphicEnumInnerBuildDefinition:
type: object
additionalProperties: false
properties:
polymorphic_enum_inner_build:
type: object
additionalProperties: false
properties:
members:
type: array
items:
$ref: "#/$defs/PolymorphicEnumInnerBuildMember"
rules:
type: array
items:
type: string
required:
- members
- rules
required:
- polymorphic_enum_inner_build
PolymorphicEnumInnerBuildMember:
type: object
oneOf:
- type: string
- $ref: "#/$defs/PolymorphicEnumInnerBuildAdvancedMember"
PolymorphicEnumInnerBuildAdvancedMember:
type: object
patternProperties:
"^([A-Z][a-z]*)*$":
type: object
additionalProperties: false
properties:
kind:
type: string
required:
- kind
minProperties: 1
maxProperties: 1