xref: /aosp_15_r20/external/emboss/testdata/enum_case.emb (revision 99e0aae7469b87d12f0ad23e61142c2d74c1ef70)
1*99e0aae7SDavid Rees# Copyright 2023 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[$default byte_order: "LittleEndian"]
16*99e0aae7SDavid Rees[(cpp) namespace: "emboss::test"]
17*99e0aae7SDavid Rees[(cpp) $default enum_case: "kCamelCase"]
18*99e0aae7SDavid Rees
19*99e0aae7SDavid Reesenum EnumShouty:
20*99e0aae7SDavid Rees  [(cpp) $default enum_case: "SHOUTY_CASE"]
21*99e0aae7SDavid Rees  FIRST                = 0
22*99e0aae7SDavid Rees  SECOND               = 1
23*99e0aae7SDavid Rees  TWO_WORD             = 2
24*99e0aae7SDavid Rees  THREE_WORD_ENUM      = 4
25*99e0aae7SDavid Rees  LONG_ENUM_VALUE_NAME = 8
26*99e0aae7SDavid Rees
27*99e0aae7SDavid Reesenum EnumDefault:
28*99e0aae7SDavid Rees  FIRST                = 0
29*99e0aae7SDavid Rees  SECOND               = 1
30*99e0aae7SDavid Rees  TWO_WORD             = 2
31*99e0aae7SDavid Rees  THREE_WORD_ENUM      = 4
32*99e0aae7SDavid Rees  LONG_ENUM_VALUE_NAME = 8
33*99e0aae7SDavid Rees
34*99e0aae7SDavid Reesstruct UseKCamelEnumCase:
35*99e0aae7SDavid Rees  0 [+4] EnumDefault v
36*99e0aae7SDavid Rees  let first = EnumDefault.FIRST
37*99e0aae7SDavid Rees  let v_is_first = v == EnumDefault.FIRST
38*99e0aae7SDavid Rees
39*99e0aae7SDavid Reesenum EnumShoutyAndKCamel:
40*99e0aae7SDavid Rees  [(cpp) $default enum_case: "SHOUTY_CASE, kCamelCase"]
41*99e0aae7SDavid Rees  FIRST                = 0
42*99e0aae7SDavid Rees  SECOND               = 1
43*99e0aae7SDavid Rees  TWO_WORD             = 2
44*99e0aae7SDavid Rees  THREE_WORD_ENUM      = 4
45*99e0aae7SDavid Rees  LONG_ENUM_VALUE_NAME = 8
46*99e0aae7SDavid Rees
47*99e0aae7SDavid Reesenum EnumMixed:
48*99e0aae7SDavid Rees  -- Tests mixing various `enum_case` values in the same enum definition.
49*99e0aae7SDavid Rees  FIRST                = 0  [(cpp) enum_case: "SHOUTY_CASE, kCamelCase"]
50*99e0aae7SDavid Rees  SECOND               = 1  [(cpp) enum_case: "SHOUTY_CASE"]
51*99e0aae7SDavid Rees  TWO_WORD             = 2
52*99e0aae7SDavid Rees      [(cpp) enum_case: "kCamelCase"]
53*99e0aae7SDavid Rees  THREE_WORD_ENUM      = 4
54*99e0aae7SDavid Rees      [(cpp) enum_case: "kCamelCase, SHOUTY_CASE"]
55*99e0aae7SDavid Rees  LONG_ENUM_VALUE_NAME = 8
56