Attributes
In version 4, attributes are explicit structures attached to Type and Value nodes, rather than generic parameters.
TypeAttributes
Attached to every Type node.
Structure:
{
"source": { "startLine": 1, "startColumn": 1, "endLine": 1, "endColumn": 10 },
"constraints": { ... },
"extensions": { ... }
}
- source: Optional
SourceLocation - constraints: Optional
TypeConstraints - extensions: Dictionary mapping
FQNamekeys to arbitrary extension values
ValueAttributes
Attached to every Value node.
Structure:
{
"source": { ... },
"inferredType": { ... },
"extensions": { ... }
}
- source: Optional
SourceLocation - inferredType: Optional
Typeexpression representing the inferred type of the value - extensions: Dictionary mapping
FQNamekeys to arbitrary extension values