Improve composition diagnostics
This commit is contained in:
@@ -36,7 +36,11 @@ object は concrete structure として扱う。
|
||||
|
||||
```text
|
||||
ObjectValue:
|
||||
fields: Map<Symbol, ThunkId>
|
||||
fields: Map<Symbol, ObjectField>
|
||||
|
||||
ObjectField:
|
||||
value: ThunkId
|
||||
span: Span
|
||||
```
|
||||
|
||||
例えば以下の schema object は、object 自体は concrete だが、field の値は abstract value になる。
|
||||
@@ -61,9 +65,14 @@ Concrete(Object {
|
||||
|
||||
```text
|
||||
AbstractValue {
|
||||
constraints: Vec<Constraint>
|
||||
constraints: Vec<ConstraintEntry>
|
||||
default: Option<ThunkId>
|
||||
}
|
||||
|
||||
ConstraintEntry {
|
||||
constraint: Constraint
|
||||
span: Span
|
||||
}
|
||||
```
|
||||
|
||||
`default` は `AbstractValue` にだけ存在する。
|
||||
|
||||
Reference in New Issue
Block a user