SeraphScript/src/integration_tests/test_cases/add_function/parsed_tree.json

182 lines
5.9 KiB
JSON

{
"data": {
"Script": {
"statements": [
{
"data": {
"FuncDeclaration": {
"modifiers": 0,
"field_mod": null,
"is_destructor": false,
"is_constructor": false,
"returns_reference": false,
"return_type": {
"data": {
"Type": {
"is_const": false,
"scope": null,
"datatype": {
"data": {
"DataTypePrimType": {
"prim_type": "Int32"
}
},
"span": {
"start": 0,
"end": 3
}
},
"modifiers": []
}
},
"span": {
"start": 0,
"end": 3
}
},
"name": "add",
"param_list": {
"data": {
"ParamList": {
"parameters": [
{
"parameter_type": {
"data": {
"Type": {
"is_const": false,
"scope": null,
"datatype": {
"data": {
"DataTypePrimType": {
"prim_type": "Int32"
}
},
"span": {
"start": 8,
"end": 11
}
},
"modifiers": []
}
},
"span": {
"start": 8,
"end": 11
}
},
"type_mod": null,
"identifier": "a",
"default": null
},
{
"parameter_type": {
"data": {
"Type": {
"is_const": false,
"scope": null,
"datatype": {
"data": {
"DataTypePrimType": {
"prim_type": "Int32"
}
},
"span": {
"start": 15,
"end": 18
}
},
"modifiers": []
}
},
"span": {
"start": 15,
"end": 18
}
},
"type_mod": null,
"identifier": "b",
"default": null
}
]
}
},
"span": {
"start": 7,
"end": 21
}
},
"is_const": false,
"func_attr": 0,
"block": {
"data": {
"StatBlock": {
"statements": [
{
"data": {
"ReturnStatement": {
"expression": {
"data": {
"BinaryExpr": {
"left": {
"data": {
"VarAccess": {
"scope": null,
"identifier": "a"
}
},
"span": {
"start": 35,
"end": 36
}
},
"operator": "Addition",
"right": {
"data": {
"VarAccess": {
"scope": null,
"identifier": "b"
}
},
"span": {
"start": 39,
"end": 40
}
}
}
},
"span": {
"start": 35,
"end": 40
}
}
}
},
"span": {
"start": 28,
"end": 41
}
}
]
}
},
"span": {
"start": 22,
"end": 43
}
}
}
},
"span": {
"start": 0,
"end": 43
}
}
]
}
},
"span": {
"start": 0,
"end": 43
}
}