blob: b1bfef826d6af2d06d8e42500ef9ee2858ff8774 [file] [log] [blame]
{
"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"
}