Altered tree to separate object and blind type definitions

This commit is contained in:
Sasha Koshka 2022-08-20 02:46:40 -04:00
parent da6d587a48
commit 222c47ced9
1 changed files with 19 additions and 6 deletions

View File

@ -161,19 +161,32 @@ type DataSection struct {
value Argument value Argument
} }
// TypeNode represents a part of a type. // TypeSection represents a blind type definition.
type TypeNode struct { type TypeSection struct {
location file.Location location file.Location
name string name string
what Type what Type
permission types.Permission permission types.Permission
defaultValue Argument defaultValue Argument
children map[string] TypeNode
} }
// TypeSection represents a type definition. // ObjtSection represents an object type definition
type TypeSection struct { type ObjtSection struct {
location file.Location location file.Location
root TypeNode name string
what Type
permission types.Permission
children map[string] ObjtMember
}
// ObjtMember represents a part of an object type definition.
type ObjtMember struct {
location file.Location
name string
what Type
permission types.Permission
defaultValue Argument
} }