blob: 5547e426eef9886960931087a314ba16745ef4a0 [file] [edit]
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [],
"$defs": {
"Argument": {
"type": "object",
"description": "",
"properties": {
"type": {
"type": "string"
},
"value": {
"oneOf": [
{
"$ref": "#/$defs/PositionalArgument"
},
{
"$ref": "#/$defs/NamedArgument"
}
]
},
"required": [
"type",
"value"
]
}
},
"Element": {
"type": "object",
"description": "",
"properties": {
"type": {
"type": "string"
},
"value": {
"oneOf": [
{
"$ref": "#/$defs/ExpressionElement"
},
{
"$ref": "#/$defs/MapEntryElement"
},
{
"$ref": "#/$defs/SpreadElement"
},
{
"$ref": "#/$defs/IfElement"
}
]
},
"required": [
"type",
"value"
]
}
},
"Expression": {
"type": "object",
"description": "",
"properties": {
"type": {
"type": "string"
},
"value": {
"oneOf": [
{
"$ref": "#/$defs/InvalidExpression"
},
{
"$ref": "#/$defs/StaticGet"
},
{
"$ref": "#/$defs/FunctionTearOff"
},
{
"$ref": "#/$defs/ConstructorTearOff"
},
{
"$ref": "#/$defs/ConstructorInvocation"
},
{
"$ref": "#/$defs/IntegerLiteral"
},
{
"$ref": "#/$defs/DoubleLiteral"
},
{
"$ref": "#/$defs/BooleanLiteral"
},
{
"$ref": "#/$defs/NullLiteral"
},
{
"$ref": "#/$defs/SymbolLiteral"
},
{
"$ref": "#/$defs/StringLiteral"
},
{
"$ref": "#/$defs/AdjacentStringLiterals"
},
{
"$ref": "#/$defs/ImplicitInvocation"
},
{
"$ref": "#/$defs/StaticInvocation"
},
{
"$ref": "#/$defs/Instantiation"
},
{
"$ref": "#/$defs/MethodInvocation"
},
{
"$ref": "#/$defs/PropertyGet"
},
{
"$ref": "#/$defs/NullAwarePropertyGet"
},
{
"$ref": "#/$defs/TypeLiteral"
},
{
"$ref": "#/$defs/ParenthesizedExpression"
},
{
"$ref": "#/$defs/ConditionalExpression"
},
{
"$ref": "#/$defs/ListLiteral"
},
{
"$ref": "#/$defs/SetOrMapLiteral"
},
{
"$ref": "#/$defs/RecordLiteral"
},
{
"$ref": "#/$defs/IfNull"
},
{
"$ref": "#/$defs/LogicalExpression"
},
{
"$ref": "#/$defs/EqualityExpression"
},
{
"$ref": "#/$defs/BinaryExpression"
},
{
"$ref": "#/$defs/UnaryExpression"
},
{
"$ref": "#/$defs/IsTest"
},
{
"$ref": "#/$defs/AsExpression"
},
{
"$ref": "#/$defs/NullCheck"
},
{
"$ref": "#/$defs/UnresolvedExpression"
}
]
},
"required": [
"type",
"value"
]
}
},
"RecordField": {
"type": "object",
"description": "",
"properties": {
"type": {
"type": "string"
},
"value": {
"oneOf": [
{
"$ref": "#/$defs/RecordNamedField"
},
{
"$ref": "#/$defs/RecordPositionalField"
}
]
},
"required": [
"type",
"value"
]
}
},
"Reference": {
"type": "object",
"description": "",
"properties": {
"type": {
"type": "string"
},
"value": {
"oneOf": [
{
"$ref": "#/$defs/FieldReference"
},
{
"$ref": "#/$defs/FunctionReference"
},
{
"$ref": "#/$defs/ConstructorReference"
},
{
"$ref": "#/$defs/TypeReference"
},
{
"$ref": "#/$defs/ClassReference"
},
{
"$ref": "#/$defs/TypedefReference"
},
{
"$ref": "#/$defs/ExtensionReference"
},
{
"$ref": "#/$defs/ExtensionTypeReference"
},
{
"$ref": "#/$defs/EnumReference"
},
{
"$ref": "#/$defs/FunctionTypeParameterReference"
}
]
},
"required": [
"type",
"value"
]
}
},
"StringLiteralPart": {
"type": "object",
"description": "",
"properties": {
"type": {
"type": "string"
},
"value": {
"oneOf": [
{
"$ref": "#/$defs/StringPart"
},
{
"$ref": "#/$defs/InterpolationPart"
}
]
},
"required": [
"type",
"value"
]
}
},
"TypeAnnotation": {
"type": "object",
"description": "",
"properties": {
"type": {
"type": "string"
},
"value": {
"oneOf": [
{
"$ref": "#/$defs/NamedTypeAnnotation"
},
{
"$ref": "#/$defs/NullableTypeAnnotation"
},
{
"$ref": "#/$defs/VoidTypeAnnotation"
},
{
"$ref": "#/$defs/DynamicTypeAnnotation"
},
{
"$ref": "#/$defs/InvalidTypeAnnotation"
},
{
"$ref": "#/$defs/UnresolvedTypeAnnotation"
},
{
"$ref": "#/$defs/FunctionTypeAnnotation"
},
{
"$ref": "#/$defs/FunctionTypeParameterType"
},
{
"$ref": "#/$defs/RecordTypeAnnotation"
}
]
},
"required": [
"type",
"value"
]
}
},
"BinaryOperator": {
"type": "string",
"description": ""
},
"LogicalOperator": {
"type": "string",
"description": ""
},
"UnaryOperator": {
"type": "string",
"description": ""
},
"AsExpression": {
"type": "object",
"description": "",
"properties": {
"expression": {
"$comment": "",
"$ref": "#/$defs/Expression"
},
"type": {
"$comment": "",
"$ref": "#/$defs/TypeAnnotation"
}
}
},
"BinaryExpression": {
"type": "object",
"description": "",
"properties": {
"left": {
"$comment": "",
"$ref": "#/$defs/Expression"
},
"operator": {
"$comment": "",
"$ref": "#/$defs/BinaryOperator"
},
"right": {
"$comment": "",
"$ref": "#/$defs/Expression"
}
}
},
"BooleanLiteral": {
"type": "object",
"description": "",
"properties": {
"text": {
"type": "string",
"description": ""
}
}
},
"ClassReference": {
"type": "object",
"description": "",
"properties": {}
},
"ConditionalExpression": {
"type": "object",
"description": "",
"properties": {
"condition": {
"$comment": "",
"$ref": "#/$defs/Expression"
},
"then": {
"$comment": "",
"$ref": "#/$defs/Expression"
},
"otherwise": {
"$comment": "",
"$ref": "#/$defs/Expression"
}
}
},
"ConstructorInvocation": {
"type": "object",
"description": "",
"properties": {
"type": {
"$comment": "",
"$ref": "#/$defs/TypeAnnotation"
},
"constructor": {
"$comment": "",
"$ref": "#/$defs/Reference"
},
"arguments": {
"type": "array",
"description": "",
"items": {
"$ref": "#/$defs/Argument"
}
}
}
},
"ConstructorReference": {
"type": "object",
"description": "",
"properties": {}
},
"ConstructorTearOff": {
"type": "object",
"description": "",
"properties": {
"type": {
"$comment": "",
"$ref": "#/$defs/TypeAnnotation"
},
"reference": {
"$comment": "",
"$ref": "#/$defs/ConstructorReference"
}
}
},
"DoubleLiteral": {
"type": "object",
"description": "",
"properties": {
"text": {
"type": "string",
"description": ""
}
}
},
"DynamicTypeAnnotation": {
"type": "object",
"description": "",
"properties": {
"reference": {
"$comment": "",
"$ref": "#/$defs/Reference"
}
}
},
"EnumReference": {
"type": "object",
"description": "",
"properties": {}
},
"EqualityExpression": {
"type": "object",
"description": "",
"properties": {
"left": {
"$comment": "",
"$ref": "#/$defs/Expression"
},
"right": {
"$comment": "",
"$ref": "#/$defs/Expression"
},
"isNotEquals": {
"type": "boolean",
"description": ""
}
}
},
"ExpressionElement": {
"type": "object",
"description": "",
"properties": {
"expression": {
"$comment": "",
"$ref": "#/$defs/Expression"
},
"isNullAware": {
"type": "boolean",
"description": ""
}
}
},
"ExtensionReference": {
"type": "object",
"description": "",
"properties": {}
},
"ExtensionTypeReference": {
"type": "object",
"description": "",
"properties": {}
},
"FieldReference": {
"type": "object",
"description": "",
"properties": {}
},
"FormalParameter": {
"type": "object",
"description": "",
"properties": {}
},
"FormalParameterGroup": {
"type": "object",
"description": "",
"properties": {}
},
"FunctionReference": {
"type": "object",
"description": "",
"properties": {}
},
"FunctionTearOff": {
"type": "object",
"description": "",
"properties": {
"reference": {
"$comment": "",
"$ref": "#/$defs/FunctionReference"
}
}
},
"FunctionTypeAnnotation": {
"type": "object",
"description": "",
"properties": {
"returnType": {
"$comment": "",
"$ref": "#/$defs/TypeAnnotation"
},
"typeParameters": {
"type": "array",
"description": "",
"items": {
"$ref": "#/$defs/FunctionTypeParameter"
}
},
"formalParameters": {
"type": "array",
"description": "",
"items": {
"$ref": "#/$defs/FormalParameter"
}
}
}
},
"FunctionTypeParameter": {
"type": "object",
"description": "",
"properties": {}
},
"FunctionTypeParameterReference": {
"type": "object",
"description": "",
"properties": {}
},
"FunctionTypeParameterType": {
"type": "object",
"description": "",
"properties": {
"functionTypeParameter": {
"$comment": "",
"$ref": "#/$defs/FunctionTypeParameter"
}
}
},
"IfElement": {
"type": "object",
"description": "",
"properties": {
"condition": {
"$comment": "",
"$ref": "#/$defs/Expression"
},
"then": {
"$comment": "",
"$ref": "#/$defs/Element"
},
"otherwise": {
"$comment": "",
"$ref": "#/$defs/Element"
}
}
},
"IfNull": {
"type": "object",
"description": "",
"properties": {
"left": {
"$comment": "",
"$ref": "#/$defs/Expression"
},
"right": {
"$comment": "",
"$ref": "#/$defs/Expression"
}
}
},
"ImplicitInvocation": {
"type": "object",
"description": "",
"properties": {
"receiver": {
"$comment": "",
"$ref": "#/$defs/Expression"
},
"typeArguments": {
"type": "array",
"description": "",
"items": {
"$ref": "#/$defs/TypeAnnotation"
}
},
"arguments": {
"type": "array",
"description": "",
"items": {
"$ref": "#/$defs/Argument"
}
}
}
},
"Instantiation": {
"type": "object",
"description": "",
"properties": {
"receiver": {
"$comment": "",
"$ref": "#/$defs/Expression"
},
"typeArguments": {
"type": "array",
"description": "",
"items": {
"$ref": "#/$defs/TypeAnnotation"
}
}
}
},
"IntegerLiteral": {
"type": "object",
"description": "",
"properties": {
"text": {
"type": "string",
"description": ""
}
}
},
"InterpolationPart": {
"type": "object",
"description": "",
"properties": {
"expression": {
"$comment": "",
"$ref": "#/$defs/Expression"
}
}
},
"InvalidExpression": {
"type": "object",
"description": "",
"properties": {}
},
"InvalidTypeAnnotation": {
"type": "object",
"description": "",
"properties": {}
},
"IsTest": {
"type": "object",
"description": "",
"properties": {
"expression": {
"$comment": "",
"$ref": "#/$defs/Expression"
},
"type": {
"$comment": "",
"$ref": "#/$defs/TypeAnnotation"
},
"isNot": {
"type": "boolean",
"description": ""
}
}
},
"ListLiteral": {
"type": "object",
"description": "",
"properties": {
"typeArguments": {
"type": "array",
"description": "",
"items": {
"$ref": "#/$defs/TypeAnnotation"
}
},
"elements": {
"type": "array",
"description": "",
"items": {
"$ref": "#/$defs/Element"
}
}
}
},
"LogicalExpression": {
"type": "object",
"description": "",
"properties": {
"left": {
"$comment": "",
"$ref": "#/$defs/Expression"
},
"operator": {
"$comment": "",
"$ref": "#/$defs/LogicalOperator"
},
"right": {
"$comment": "",
"$ref": "#/$defs/Expression"
}
}
},
"MapEntryElement": {
"type": "object",
"description": "",
"properties": {
"key": {
"$comment": "",
"$ref": "#/$defs/Expression"
},
"value": {
"$comment": "",
"$ref": "#/$defs/Expression"
},
"isNullAwareKey": {
"type": "boolean",
"description": ""
},
"isNullAwareValue": {
"type": "boolean",
"description": ""
}
}
},
"MethodInvocation": {
"type": "object",
"description": "",
"properties": {
"receiver": {
"$comment": "",
"$ref": "#/$defs/Expression"
},
"name": {
"type": "string",
"description": ""
},
"typeArguments": {
"type": "array",
"description": "",
"items": {
"$ref": "#/$defs/TypeAnnotation"
}
},
"arguments": {
"type": "array",
"description": "",
"items": {
"$ref": "#/$defs/Argument"
}
}
}
},
"NamedArgument": {
"type": "object",
"description": "",
"properties": {
"name": {
"type": "string",
"description": ""
},
"expression": {
"$comment": "",
"$ref": "#/$defs/Expression"
}
}
},
"NamedTypeAnnotation": {
"type": "object",
"description": "",
"properties": {
"reference": {
"$comment": "",
"$ref": "#/$defs/Reference"
},
"typeArguments": {
"type": "array",
"description": "",
"items": {
"$ref": "#/$defs/TypeAnnotation"
}
}
}
},
"NullableTypeAnnotation": {
"type": "object",
"description": "",
"properties": {
"typeAnnotation": {
"$comment": "",
"$ref": "#/$defs/TypeAnnotation"
}
}
},
"NullAwarePropertyGet": {
"type": "object",
"description": "",
"properties": {
"receiver": {
"$comment": "",
"$ref": "#/$defs/Expression"
},
"name": {
"type": "string",
"description": ""
}
}
},
"NullCheck": {
"type": "object",
"description": "",
"properties": {
"expression": {
"$comment": "",
"$ref": "#/$defs/Expression"
}
}
},
"NullLiteral": {
"type": "object",
"description": "",
"properties": {}
},
"ParenthesizedExpression": {
"type": "object",
"description": "",
"properties": {
"expression": {
"$comment": "",
"$ref": "#/$defs/Expression"
}
}
},
"PositionalArgument": {
"type": "object",
"description": "",
"properties": {
"expression": {
"$comment": "",
"$ref": "#/$defs/Expression"
}
}
},
"PropertyGet": {
"type": "object",
"description": "",
"properties": {
"receiver": {
"$comment": "",
"$ref": "#/$defs/Expression"
},
"name": {
"type": "string",
"description": ""
}
}
},
"RecordLiteral": {
"type": "object",
"description": "",
"properties": {
"fields": {
"type": "array",
"description": "",
"items": {
"$ref": "#/$defs/RecordField"
}
}
}
},
"RecordNamedField": {
"type": "object",
"description": "",
"properties": {
"name": {
"type": "string",
"description": ""
},
"expression": {
"$comment": "",
"$ref": "#/$defs/Expression"
}
}
},
"RecordPositionalField": {
"type": "object",
"description": "",
"properties": {
"expression": {
"$comment": "",
"$ref": "#/$defs/Expression"
}
}
},
"RecordTypeAnnotation": {
"type": "object",
"description": "",
"properties": {
"positional": {
"type": "array",
"description": "",
"items": {
"$ref": "#/$defs/RecordTypeEntry"
}
},
"named": {
"type": "array",
"description": "",
"items": {
"$ref": "#/$defs/RecordTypeEntry"
}
}
}
},
"RecordTypeEntry": {
"type": "object",
"description": "",
"properties": {}
},
"References": {
"type": "object",
"description": "",
"properties": {}
},
"SetOrMapLiteral": {
"type": "object",
"description": "",
"properties": {
"typeArguments": {
"type": "array",
"description": "",
"items": {
"$ref": "#/$defs/TypeAnnotation"
}
},
"elements": {
"type": "array",
"description": "",
"items": {
"$ref": "#/$defs/Element"
}
}
}
},
"SpreadElement": {
"type": "object",
"description": "",
"properties": {
"expression": {
"$comment": "",
"$ref": "#/$defs/Expression"
},
"isNullAware": {
"type": "boolean",
"description": ""
}
}
},
"StaticGet": {
"type": "object",
"description": "",
"properties": {
"reference": {
"$comment": "",
"$ref": "#/$defs/FieldReference"
}
}
},
"StaticInvocation": {
"type": "object",
"description": "",
"properties": {
"function": {
"$comment": "",
"$ref": "#/$defs/FunctionReference"
},
"typeArguments": {
"type": "array",
"description": "",
"items": {
"$ref": "#/$defs/TypeAnnotation"
}
},
"arguments": {
"type": "array",
"description": "",
"items": {
"$ref": "#/$defs/Argument"
}
}
}
},
"AdjacentStringLiterals": {
"type": "object",
"description": "",
"properties": {
"expressions": {
"type": "array",
"description": "",
"items": {
"$ref": "#/$defs/Expression"
}
}
}
},
"StringLiteral": {
"type": "object",
"description": "",
"properties": {
"parts": {
"type": "array",
"description": "",
"items": {
"$ref": "#/$defs/StringLiteralPart"
}
}
}
},
"StringPart": {
"type": "object",
"description": "",
"properties": {
"text": {
"type": "string",
"description": ""
}
}
},
"SymbolLiteral": {
"type": "object",
"description": "",
"properties": {
"parts": {
"type": "array",
"description": "",
"items": {
"type": "string"
}
}
}
},
"TypedefReference": {
"type": "object",
"description": "",
"properties": {}
},
"TypeLiteral": {
"type": "object",
"description": "",
"properties": {
"typeAnnotation": {
"$comment": "",
"$ref": "#/$defs/TypeAnnotation"
}
}
},
"TypeReference": {
"type": "object",
"description": "",
"properties": {}
},
"UnaryExpression": {
"type": "object",
"description": "",
"properties": {
"operator": {
"$comment": "",
"$ref": "#/$defs/UnaryOperator"
},
"expression": {
"$comment": "",
"$ref": "#/$defs/Expression"
}
}
},
"UnresolvedExpression": {
"type": "object",
"description": "",
"properties": {}
},
"UnresolvedTypeAnnotation": {
"type": "object",
"description": "",
"properties": {}
},
"VoidTypeAnnotation": {
"type": "object",
"description": "",
"properties": {
"reference": {
"$comment": "",
"$ref": "#/$defs/Reference"
}
}
}
}
}