| # Copyright 2019 Google LLC |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # https://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| -- Formatting of virtual fields, mixed in with nonvirtual fields. |
| |
| |
| enum Values: |
| FOO = 1 |
| BAR = 2 |
| |
| |
| struct Foo: |
| let important_constant = Values.FOO # comm |
| 0 [+1] UInt len # comment |
| # comment comment comment |
| 1 [+2] LongTypeName long_value_name # comment? |
| let s = len-2 |
| if ($size_in_bytes) > 10: |
| 2 [+s] SubMessage submessage |
| |
| let truth = Bar.top |
| if Bar.$max_size_in_bits < 2: |
| Bar.$min_size_in_bits [+1] Int x |
| |
| |
| bits Bar: |
| let top = true |
| 0 [+1] Flag allowed |
| if $size_in_bits > 10: |
| let s = 100 |
| 2 [+s] SubMessage submessage |
| |
| if Foo.$max_size_in_bytes < 2: |
| Foo.$min_size_in_bytes [+1] Int x |