xref: /aosp_15_r20/external/emboss/testdata/format/virtual_fields.emb (revision 99e0aae7469b87d12f0ad23e61142c2d74c1ef70)
1*99e0aae7SDavid Rees# Copyright 2019 Google LLC
2*99e0aae7SDavid Rees#
3*99e0aae7SDavid Rees# Licensed under the Apache License, Version 2.0 (the "License");
4*99e0aae7SDavid Rees# you may not use this file except in compliance with the License.
5*99e0aae7SDavid Rees# You may obtain a copy of the License at
6*99e0aae7SDavid Rees#
7*99e0aae7SDavid Rees#     https://www.apache.org/licenses/LICENSE-2.0
8*99e0aae7SDavid Rees#
9*99e0aae7SDavid Rees# Unless required by applicable law or agreed to in writing, software
10*99e0aae7SDavid Rees# distributed under the License is distributed on an "AS IS" BASIS,
11*99e0aae7SDavid Rees# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*99e0aae7SDavid Rees# See the License for the specific language governing permissions and
13*99e0aae7SDavid Rees# limitations under the License.
14*99e0aae7SDavid Rees
15*99e0aae7SDavid Rees-- Formatting of virtual fields, mixed in with nonvirtual fields.
16*99e0aae7SDavid Rees
17*99e0aae7SDavid Reesenum Values:
18*99e0aae7SDavid Rees  FOO = 1
19*99e0aae7SDavid Rees  BAR = 2
20*99e0aae7SDavid Rees
21*99e0aae7SDavid Reesstruct Foo:
22*99e0aae7SDavid Rees  let   important_constant = Values.FOO# comm
23*99e0aae7SDavid Rees  0 [+1]UInt len  # comment
24*99e0aae7SDavid Rees  # comment comment comment
25*99e0aae7SDavid Rees  1[+2]     LongTypeName long_value_name  # comment?
26*99e0aae7SDavid Rees  let   s = len - 2
27*99e0aae7SDavid Rees  if($size_in_bytes  )>        10	   :
28*99e0aae7SDavid Rees   2[+s]  SubMessage submessage
29*99e0aae7SDavid Rees  let   truth=Bar .   top
30*99e0aae7SDavid Rees  if  Bar  .$max_size_in_bits < 2:
31*99e0aae7SDavid Rees   Bar.  $min_size_in_bits [+1]  Int    x
32*99e0aae7SDavid Rees
33*99e0aae7SDavid Reesbits Bar:
34*99e0aae7SDavid Rees  let top = true
35*99e0aae7SDavid Rees  0 [+1]Flag allowed
36*99e0aae7SDavid Rees  if $size_in_bits>10:
37*99e0aae7SDavid Rees    let s = 100
38*99e0aae7SDavid Rees    2[+s]  SubMessage submessage
39*99e0aae7SDavid Rees  if  Foo  .$max_size_in_bytes < 2:
40*99e0aae7SDavid Rees   Foo.  $min_size_in_bytes [+1]  Int    x
41