| { | |
| "attribute": [ | |
| { | |
| "name": { | |
| "text": "byte_order", | |
| "source_location": { | |
| "start": { | |
| "line": 17, | |
| "column": 11 | |
| }, | |
| "end": { | |
| "line": 17, | |
| "column": 21 | |
| }, | |
| "is_synthetic": false | |
| } | |
| }, | |
| "value": { | |
| "string_constant": { | |
| "text": "LittleEndian", | |
| "source_location": { | |
| "start": { | |
| "line": 17, | |
| "column": 23 | |
| }, | |
| "end": { | |
| "line": 17, | |
| "column": 37 | |
| }, | |
| "is_synthetic": false | |
| } | |
| }, | |
| "source_location": { | |
| "start": { | |
| "line": 17, | |
| "column": 23 | |
| }, | |
| "end": { | |
| "line": 17, | |
| "column": 37 | |
| }, | |
| "is_synthetic": false | |
| } | |
| }, | |
| "is_default": true, | |
| "source_location": { | |
| "start": { | |
| "line": 17, | |
| "column": 1 | |
| }, | |
| "end": { | |
| "line": 17, | |
| "column": 38 | |
| }, | |
| "is_synthetic": false | |
| } | |
| }, | |
| { | |
| "name": { | |
| "text": "namespace", | |
| "source_location": { | |
| "start": { | |
| "line": 18, | |
| "column": 8 | |
| }, | |
| "end": { | |
| "line": 18, | |
| "column": 17 | |
| }, | |
| "is_synthetic": false | |
| } | |
| }, | |
| "value": { | |
| "string_constant": { | |
| "text": "emboss::test", | |
| "source_location": { | |
| "start": { | |
| "line": 18, | |
| "column": 19 | |
| }, | |
| "end": { | |
| "line": 18, | |
| "column": 33 | |
| }, | |
| "is_synthetic": false | |
| } | |
| }, | |
| "source_location": { | |
| "start": { | |
| "line": 18, | |
| "column": 19 | |
| }, | |
| "end": { | |
| "line": 18, | |
| "column": 33 | |
| }, | |
| "is_synthetic": false | |
| } | |
| }, | |
| "is_default": false, | |
| "back_end": { | |
| "text": "cpp", | |
| "source_location": { | |
| "start": { | |
| "line": 18, | |
| "column": 2 | |
| }, | |
| "end": { | |
| "line": 18, | |
| "column": 7 | |
| }, | |
| "is_synthetic": false | |
| } | |
| }, | |
| "source_location": { | |
| "start": { | |
| "line": 18, | |
| "column": 1 | |
| }, | |
| "end": { | |
| "line": 20, | |
| "column": 1 | |
| }, | |
| "is_synthetic": false | |
| } | |
| } | |
| ], | |
| "type": [ | |
| { | |
| "structure": { | |
| "field": [ | |
| { | |
| "location": { | |
| "start": { | |
| "constant": { | |
| "value": "0", | |
| "source_location": { | |
| "start": { | |
| "line": 22, | |
| "column": 3 | |
| }, | |
| "end": { | |
| "line": 22, | |
| "column": 4 | |
| }, | |
| "is_synthetic": false | |
| } | |
| }, | |
| "source_location": { | |
| "start": { | |
| "line": 22, | |
| "column": 3 | |
| }, | |
| "end": { | |
| "line": 22, | |
| "column": 4 | |
| }, | |
| "is_synthetic": false | |
| } | |
| }, | |
| "size": { | |
| "constant": { | |
| "value": "4", | |
| "source_location": { | |
| "start": { | |
| "line": 22, | |
| "column": 8 | |
| }, | |
| "end": { | |
| "line": 22, | |
| "column": 9 | |
| }, | |
| "is_synthetic": false | |
| } | |
| }, | |
| "source_location": { | |
| "start": { | |
| "line": 22, | |
| "column": 8 | |
| }, | |
| "end": { | |
| "line": 22, | |
| "column": 9 | |
| }, | |
| "is_synthetic": false | |
| } | |
| }, | |
| "source_location": { | |
| "start": { | |
| "line": 22, | |
| "column": 3 | |
| }, | |
| "end": { | |
| "line": 22, | |
| "column": 10 | |
| }, | |
| "is_synthetic": false | |
| } | |
| }, | |
| "type": { | |
| "atomic_type": { | |
| "reference": { | |
| "source_name": [ | |
| { | |
| "text": "UInt", | |
| "source_location": { | |
| "start": { | |
| "line": 22, | |
| "column": 13 | |
| }, | |
| "end": { | |
| "line": 22, | |
| "column": 17 | |
| }, | |
| "is_synthetic": false | |
| } | |
| } | |
| ], | |
| "source_location": { | |
| "start": { | |
| "line": 22, | |
| "column": 13 | |
| }, | |
| "end": { | |
| "line": 22, | |
| "column": 17 | |
| }, | |
| "is_synthetic": false | |
| } | |
| }, | |
| "source_location": { | |
| "start": { | |
| "line": 22, | |
| "column": 13 | |
| }, | |
| "end": { | |
| "line": 22, | |
| "column": 17 | |
| }, | |
| "is_synthetic": false | |
| } | |
| }, | |
| "source_location": { | |
| "start": { | |
| "line": 22, | |
| "column": 13 | |
| }, | |
| "end": { | |
| "line": 22, | |
| "column": 17 | |
| }, | |
| "is_synthetic": false | |
| } | |
| }, | |
| "name": { | |
| "name": { | |
| "text": "file_state", | |
| "source_location": { | |
| "start": { | |
| "line": 22, | |
| "column": 25 | |
| }, | |
| "end": { | |
| "line": 22, | |
| "column": 35 | |
| }, | |
| "is_synthetic": false | |
| } | |
| }, | |
| "source_location": { | |
| "start": { | |
| "line": 22, | |
| "column": 25 | |
| }, | |
| "end": { | |
| "line": 22, | |
| "column": 35 | |
| }, | |
| "is_synthetic": false | |
| } | |
| }, | |
| "source_location": { | |
| "start": { | |
| "line": 22, | |
| "column": 3 | |
| }, | |
| "end": { | |
| "line": 22, | |
| "column": 35 | |
| } | |
| }, | |
| "existence_condition": { | |
| "source_location": { | |
| "start": { | |
| "line": 22, | |
| "column": 3 | |
| }, | |
| "end": { | |
| "line": 22, | |
| "column": 35 | |
| }, | |
| "is_synthetic": false | |
| }, | |
| "boolean_constant": { | |
| "source_location": { | |
| "start": { | |
| "line": 22, | |
| "column": 3 | |
| }, | |
| "end": { | |
| "line": 22, | |
| "column": 35 | |
| }, | |
| "is_synthetic": false | |
| }, | |
| "value": true | |
| } | |
| } | |
| }, | |
| { | |
| "location": { | |
| "start": { | |
| "constant": { | |
| "value": "4", | |
| "source_location": { | |
| "start": { | |
| "line": 23, | |
| "column": 3 | |
| }, | |
| "end": { | |
| "line": 23, | |
| "column": 4 | |
| }, | |
| "is_synthetic": false | |
| } | |
| }, | |
| "source_location": { | |
| "start": { | |
| "line": 23, | |
| "column": 3 | |
| }, | |
| "end": { | |
| "line": 23, | |
| "column": 4 | |
| }, | |
| "is_synthetic": false | |
| } | |
| }, | |
| "size": { | |
| "constant": { | |
| "value": "12", | |
| "source_location": { | |
| "start": { | |
| "line": 23, | |
| "column": 8 | |
| }, | |
| "end": { | |
| "line": 23, | |
| "column": 10 | |
| }, | |
| "is_synthetic": false | |
| } | |
| }, | |
| "source_location": { | |
| "start": { | |
| "line": 23, | |
| "column": 8 | |
| }, | |
| "end": { | |
| "line": 23, | |
| "column": 10 | |
| }, | |
| "is_synthetic": false | |
| } | |
| }, | |
| "source_location": { | |
| "start": { | |
| "line": 23, | |
| "column": 3 | |
| }, | |
| "end": { | |
| "line": 23, | |
| "column": 11 | |
| }, | |
| "is_synthetic": false | |
| } | |
| }, | |
| "type": { | |
| "array_type": { | |
| "base_type": { | |
| "atomic_type": { | |
| "reference": { | |
| "source_name": [ | |
| { | |
| "text": "UInt", | |
| "source_location": { | |
| "start": { | |
| "line": 23, | |
| "column": 13 | |
| }, | |
| "end": { | |
| "line": 23, | |
| "column": 17 | |
| }, | |
| "is_synthetic": false | |
| } | |
| } | |
| ], | |
| "source_location": { | |
| "start": { | |
| "line": 23, | |
| "column": 13 | |
| }, | |
| "end": { | |
| "line": 23, | |
| "column": 17 | |
| }, | |
| "is_synthetic": false | |
| } | |
| }, | |
| "source_location": { | |
| "start": { | |
| "line": 23, | |
| "column": 13 | |
| }, | |
| "end": { | |
| "line": 23, | |
| "column": 17 | |
| }, | |
| "is_synthetic": false | |
| } | |
| }, | |
| "size_in_bits": { | |
| "constant": { | |
| "value": "8", | |
| "source_location": { | |
| "start": { | |
| "line": 23, | |
| "column": 18 | |
| }, | |
| "end": { | |
| "line": 23, | |
| "column": 19 | |
| }, | |
| "is_synthetic": false | |
| } | |
| }, | |
| "source_location": { | |
| "start": { | |
| "line": 23, | |
| "column": 17 | |
| }, | |
| "end": { | |
| "line": 23, | |
| "column": 19 | |
| }, | |
| "is_synthetic": false | |
| } | |
| }, | |
| "source_location": { | |
| "start": { | |
| "line": 23, | |
| "column": 13 | |
| }, | |
| "end": { | |
| "line": 23, | |
| "column": 19 | |
| }, | |
| "is_synthetic": false | |
| } | |
| }, | |
| "element_count": { | |
| "constant": { | |
| "value": "12", | |
| "source_location": { | |
| "start": { | |
| "line": 23, | |
| "column": 20 | |
| }, | |
| "end": { | |
| "line": 23, | |
| "column": 22 | |
| }, | |
| "is_synthetic": false | |
| } | |
| }, | |
| "source_location": { | |
| "start": { | |
| "line": 23, | |
| "column": 19 | |
| }, | |
| "end": { | |
| "line": 23, | |
| "column": 23 | |
| }, | |
| "is_synthetic": false | |
| } | |
| }, | |
| "source_location": { | |
| "start": { | |
| "line": 23, | |
| "column": 13 | |
| }, | |
| "end": { | |
| "line": 23, | |
| "column": 23 | |
| }, | |
| "is_synthetic": false | |
| } | |
| }, | |
| "source_location": { | |
| "start": { | |
| "line": 23, | |
| "column": 13 | |
| }, | |
| "end": { | |
| "line": 23, | |
| "column": 23 | |
| }, | |
| "is_synthetic": false | |
| } | |
| }, | |
| "name": { | |
| "name": { | |
| "text": "file_name", | |
| "source_location": { | |
| "start": { | |
| "line": 23, | |
| "column": 25 | |
| }, | |
| "end": { | |
| "line": 23, | |
| "column": 34 | |
| }, | |
| "is_synthetic": false | |
| } | |
| }, | |
| "source_location": { | |
| "start": { | |
| "line": 23, | |
| "column": 25 | |
| }, | |
| "end": { | |
| "line": 23, | |
| "column": 34 | |
| }, | |
| "is_synthetic": false | |
| } | |
| }, | |
| "source_location": { | |
| "start": { | |
| "line": 23, | |
| "column": 3 | |
| }, | |
| "end": { | |
| "line": 23, | |
| "column": 34 | |
| } | |
| }, | |
| "existence_condition": { | |
| "source_location": { | |
| "start": { | |
| "line": 23, | |
| "column": 3 | |
| }, | |
| "end": { | |
| "line": 23, | |
| "column": 34 | |
| }, | |
| "is_synthetic": false | |
| }, | |
| "boolean_constant": { | |
| "source_location": { | |
| "start": { | |
| "line": 23, | |
| "column": 3 | |
| }, | |
| "end": { | |
| "line": 23, | |
| "column": 34 | |
| }, | |
| "is_synthetic": false | |
| }, | |
| "value": true | |
| } | |
| } | |
| }, | |
| { | |
| "location": { | |
| "start": { | |
| "constant": { | |
| "value": "16", | |
| "source_location": { | |
| "start": { | |
| "line": 24, | |
| "column": 3 | |
| }, | |
| "end": { | |
| "line": 24, | |
| "column": 5 | |
| }, | |
| "is_synthetic": false | |
| } | |
| }, | |
| "source_location": { | |
| "start": { | |
| "line": 24, | |
| "column": 3 | |
| }, | |
| "end": { | |
| "line": 24, | |
| "column": 5 | |
| }, | |
| "is_synthetic": false | |
| } | |
| }, | |
| "size": { | |
| "constant": { | |
| "value": "4", | |
| "source_location": { | |
| "start": { | |
| "line": 24, | |
| "column": 8 | |
| }, | |
| "end": { | |
| "line": 24, | |
| "column": 9 | |
| }, | |
| "is_synthetic": false | |
| } | |
| }, | |
| "source_location": { | |
| "start": { | |
| "line": 24, | |
| "column": 8 | |
| }, | |
| "end": { | |
| "line": 24, | |
| "column": 9 | |
| }, | |
| "is_synthetic": false | |
| } | |
| }, | |
| "source_location": { | |
| "start": { | |
| "line": 24, | |
| "column": 3 | |
| }, | |
| "end": { | |
| "line": 24, | |
| "column": 10 | |
| }, | |
| "is_synthetic": false | |
| } | |
| }, | |
| "type": { | |
| "atomic_type": { | |
| "reference": { | |
| "source_name": [ | |
| { | |
| "text": "UInt", | |
| "source_location": { | |
| "start": { | |
| "line": 24, | |
| "column": 13 | |
| }, | |
| "end": { | |
| "line": 24, | |
| "column": 17 | |
| }, | |
| "is_synthetic": false | |
| } | |
| } | |
| ], | |
| "source_location": { | |
| "start": { | |
| "line": 24, | |
| "column": 13 | |
| }, | |
| "end": { | |
| "line": 24, | |
| "column": 17 | |
| }, | |
| "is_synthetic": false | |
| } | |
| }, | |
| "source_location": { | |
| "start": { | |
| "line": 24, | |
| "column": 13 | |
| }, | |
| "end": { | |
| "line": 24, | |
| "column": 17 | |
| }, | |
| "is_synthetic": false | |
| } | |
| }, | |
| "source_location": { | |
| "start": { | |
| "line": 24, | |
| "column": 13 | |
| }, | |
| "end": { | |
| "line": 24, | |
| "column": 17 | |
| }, | |
| "is_synthetic": false | |
| } | |
| }, | |
| "name": { | |
| "name": { | |
| "text": "file_size_kb", | |
| "source_location": { | |
| "start": { | |
| "line": 24, | |
| "column": 25 | |
| }, | |
| "end": { | |
| "line": 24, | |
| "column": 37 | |
| }, | |
| "is_synthetic": false | |
| } | |
| }, | |
| "source_location": { | |
| "start": { | |
| "line": 24, | |
| "column": 25 | |
| }, | |
| "end": { | |
| "line": 24, | |
| "column": 37 | |
| }, | |
| "is_synthetic": false | |
| } | |
| }, | |
| "source_location": { | |
| "start": { | |
| "line": 24, | |
| "column": 3 | |
| }, | |
| "end": { | |
| "line": 24, | |
| "column": 37 | |
| } | |
| }, | |
| "existence_condition": { | |
| "source_location": { | |
| "start": { | |
| "line": 24, | |
| "column": 3 | |
| }, | |
| "end": { | |
| "line": 24, | |
| "column": 37 | |
| }, | |
| "is_synthetic": false | |
| }, | |
| "boolean_constant": { | |
| "source_location": { | |
| "start": { | |
| "line": 24, | |
| "column": 3 | |
| }, | |
| "end": { | |
| "line": 24, | |
| "column": 37 | |
| }, | |
| "is_synthetic": false | |
| }, | |
| "value": true | |
| } | |
| } | |
| }, | |
| { | |
| "location": { | |
| "start": { | |
| "constant": { | |
| "value": "20", | |
| "source_location": { | |
| "start": { | |
| "line": 25, | |
| "column": 3 | |
| }, | |
| "end": { | |
| "line": 25, | |
| "column": 5 | |
| }, | |
| "is_synthetic": false | |
| } | |
| }, | |
| "source_location": { | |
| "start": { | |
| "line": 25, | |
| "column": 3 | |
| }, | |
| "end": { | |
| "line": 25, | |
| "column": 5 | |
| }, | |
| "is_synthetic": false | |
| } | |
| }, | |
| "size": { | |
| "constant": { | |
| "value": "4", | |
| "source_location": { | |
| "start": { | |
| "line": 25, | |
| "column": 8 | |
| }, | |
| "end": { | |
| "line": 25, | |
| "column": 9 | |
| }, | |
| "is_synthetic": false | |
| } | |
| }, | |
| "source_location": { | |
| "start": { | |
| "line": 25, | |
| "column": 8 | |
| }, | |
| "end": { | |
| "line": 25, | |
| "column": 9 | |
| }, | |
| "is_synthetic": false | |
| } | |
| }, | |
| "source_location": { | |
| "start": { | |
| "line": 25, | |
| "column": 3 | |
| }, | |
| "end": { | |
| "line": 25, | |
| "column": 10 | |
| }, | |
| "is_synthetic": false | |
| } | |
| }, | |
| "type": { | |
| "atomic_type": { | |
| "reference": { | |
| "source_name": [ | |
| { | |
| "text": "UInt", | |
| "source_location": { | |
| "start": { | |
| "line": 25, | |
| "column": 13 | |
| }, | |
| "end": { | |
| "line": 25, | |
| "column": 17 | |
| }, | |
| "is_synthetic": false | |
| } | |
| } | |
| ], | |
| "source_location": { | |
| "start": { | |
| "line": 25, | |
| "column": 13 | |
| }, | |
| "end": { | |
| "line": 25, | |
| "column": 17 | |
| }, | |
| "is_synthetic": false | |
| } | |
| }, | |
| "source_location": { | |
| "start": { | |
| "line": 25, | |
| "column": 13 | |
| }, | |
| "end": { | |
| "line": 25, | |
| "column": 17 | |
| }, | |
| "is_synthetic": false | |
| } | |
| }, | |
| "source_location": { | |
| "start": { | |
| "line": 25, | |
| "column": 13 | |
| }, | |
| "end": { | |
| "line": 25, | |
| "column": 17 | |
| }, | |
| "is_synthetic": false | |
| } | |
| }, | |
| "name": { | |
| "name": { | |
| "text": "media", | |
| "source_location": { | |
| "start": { | |
| "line": 25, | |
| "column": 25 | |
| }, | |
| "end": { | |
| "line": 25, | |
| "column": 30 | |
| }, | |
| "is_synthetic": false | |
| } | |
| }, | |
| "source_location": { | |
| "start": { | |
| "line": 25, | |
| "column": 25 | |
| }, | |
| "end": { | |
| "line": 25, | |
| "column": 30 | |
| }, | |
| "is_synthetic": false | |
| } | |
| }, | |
| "source_location": { | |
| "start": { | |
| "line": 25, | |
| "column": 3 | |
| }, | |
| "end": { | |
| "line": 25, | |
| "column": 30 | |
| } | |
| }, | |
| "existence_condition": { | |
| "source_location": { | |
| "start": { | |
| "line": 25, | |
| "column": 3 | |
| }, | |
| "end": { | |
| "line": 25, | |
| "column": 30 | |
| }, | |
| "is_synthetic": false | |
| }, | |
| "boolean_constant": { | |
| "source_location": { | |
| "start": { | |
| "line": 25, | |
| "column": 3 | |
| }, | |
| "end": { | |
| "line": 25, | |
| "column": 30 | |
| }, | |
| "is_synthetic": false | |
| }, | |
| "value": true | |
| } | |
| } | |
| } | |
| ], | |
| "source_location": { | |
| "start": { | |
| "line": 21, | |
| "column": 1 | |
| }, | |
| "end": { | |
| "line": 26, | |
| "column": 1 | |
| } | |
| } | |
| }, | |
| "addressable_unit": 8, | |
| "source_location": { | |
| "start": { | |
| "line": 21, | |
| "column": 1 | |
| }, | |
| "end": { | |
| "line": 26, | |
| "column": 1 | |
| }, | |
| "is_synthetic": false | |
| }, | |
| "name": { | |
| "name": { | |
| "text": "LogFileStatus", | |
| "source_location": { | |
| "start": { | |
| "line": 21, | |
| "column": 8 | |
| }, | |
| "end": { | |
| "line": 21, | |
| "column": 21 | |
| }, | |
| "is_synthetic": false | |
| } | |
| }, | |
| "source_location": { | |
| "start": { | |
| "line": 21, | |
| "column": 8 | |
| }, | |
| "end": { | |
| "line": 21, | |
| "column": 21 | |
| }, | |
| "is_synthetic": false | |
| } | |
| } | |
| } | |
| ], | |
| "documentation": [ | |
| { | |
| "text": "This is a simple, real-world example structure.", | |
| "source_location": { | |
| "start": { | |
| "line": 15, | |
| "column": 1 | |
| }, | |
| "end": { | |
| "line": 16, | |
| "column": 1 | |
| }, | |
| "is_synthetic": false | |
| } | |
| } | |
| ], | |
| "foreign_import": [ | |
| { | |
| "file_name": { | |
| "text": "", | |
| "source_location": { | |
| "start": { | |
| "line": 16, | |
| "column": 1 | |
| }, | |
| "end": { | |
| "line": 16, | |
| "column": 1 | |
| }, | |
| "is_synthetic": false | |
| } | |
| }, | |
| "local_name": { | |
| "text": "", | |
| "source_location": { | |
| "start": { | |
| "line": 16, | |
| "column": 1 | |
| }, | |
| "end": { | |
| "line": 16, | |
| "column": 1 | |
| }, | |
| "is_synthetic": false | |
| } | |
| }, | |
| "source_location": { | |
| "start": { | |
| "line": 16, | |
| "column": 1 | |
| }, | |
| "end": { | |
| "line": 16, | |
| "column": 1 | |
| }, | |
| "is_synthetic": false | |
| } | |
| } | |
| ], | |
| "source_location": { | |
| "start": { | |
| "line": 1, | |
| "column": 1 | |
| }, | |
| "end": { | |
| "line": 26, | |
| "column": 1 | |
| }, | |
| "is_synthetic": false | |
| }, | |
| "source_text": "# Copyright 2019 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# https://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n-- This is a simple, real-world example structure.\n\n[$default byte_order: \"LittleEndian\"]\n[(cpp) namespace: \"emboss::test\"]\n\n\nstruct LogFileStatus:\n 0 [+4] UInt file_state\n 4 [+12] UInt:8[12] file_name\n 16 [+4] UInt file_size_kb\n 20 [+4] UInt media\n" | |
| } |