diff --git a/lm-c99/tests/test_enum_doc/ig-c99/test_api.h.target b/lm-c99/tests/test_enum_doc/ig-c99/test_api.h.target index a36142c..431c360 100644 --- a/lm-c99/tests/test_enum_doc/ig-c99/test_api.h.target +++ b/lm-c99/tests/test_enum_doc/ig-c99/test_api.h.target @@ -1,35 +1,74 @@ -// IG_C99 1.0 +// IG_C99 version 1.0 // test_api.h // License text -// Copyleft text #pragma once - #ifdef __cplusplus extern "C" { #endif #include "idl_core.h" -// deftypes +// Deftypes // -------- + // Enums // ----- -typedef enum _IG_C99_GOOD { - IG_C99_GOOD_ITEM1 // oneline doc - IG_C99_GOOD_ITEM2 + +typedef enum _IG_C99_IMPLICIT_VALUE_ITEMS { + IG_C99_IMPLICIT_VALUE_ITEMS_ITEM1, + IG_C99_IMPLICIT_VALUE_ITEMS_ITEM2, + IG_C99_IMPLICIT_VALUE_ITEMS_ITEM3, + IG_C99_IMPLICIT_VALUE_ITEMS_ITEM4 +} IG_C99_IMPLICIT_VALUE_ITEMS; + +typedef enum _IG_C99_EXPLICIT_DEC_VALUE_ITEMS { + IG_C99_EXPLICIT_DEC_VALUE_ITEMS_ITEM1 = 0, + IG_C99_EXPLICIT_DEC_VALUE_ITEMS_ITEM2 = 2, + IG_C99_EXPLICIT_DEC_VALUE_ITEMS_ITEM3 = 987, + IG_C99_EXPLICIT_DEC_VALUE_ITEMS_ITEM4 = -3 +} IG_C99_EXPLICIT_DEC_VALUE_ITEMS; + +typedef enum _IG_C99_EXPLICIT_HEX_VALUE_ITEMS { + IG_C99_EXPLICIT_HEX_VALUE_ITEMS_ITEM1 = 0x0, + IG_C99_EXPLICIT_HEX_VALUE_ITEMS_ITEM2 = 0x2, + IG_C99_EXPLICIT_HEX_VALUE_ITEMS_ITEM2 = 0xFF, + IG_C99_EXPLICIT_HEX_VALUE_ITEMS_ITEM2 = 0xff, + IG_C99_EXPLICIT_HEX_VALUE_ITEMS_ITEM3 = 0x987, + IG_C99_EXPLICIT_HEX_VALUE_ITEMS_ITEM4 = 0x3 +} IG_C99_EXPLICIT_HEX_VALUE_ITEMS; + +typedef enum _IG_C99_DOC_WELL_FORMATTED { + IG_C99_DOC_WELL_FORMATTED_ITEM1, // oneline doc + IG_C99_DOC_WELL_FORMATTED_ITEM2, + + // item 3 + // ------ + // multiline + // doc + IG_C99_DOC_WELL_FORMATTED_ITEM3, + IG_C99_DOC_WELL_FORMATTED_DECITEM1 = 23, // oneline doc + IG_C99_DOC_WELL_FORMATTED_DECITEM2 = 42, + + // item 3 + // ------ + // multiline + // doc + IG_C99_DOC_WELL_FORMATTED_DECITEM3 = -9999, + IG_C99_DOC_WELL_FORMATTED_HEXITEM1 = 0x23, // oneline doc + IG_C99_DOC_WELL_FORMATTED_HEXITEM2 = 0x42, // item 3 // ------ // multiline // doc - IG_C99_GOOD_ITEM3 -} IG_C99_GOOD; + IG_C99_DOC_WELL_FORMATTED_HEXITEM3 = 0x99FF +} IG_C99_DOC_WELL_FORMATTED; typedef enum _IG_C99_DOC_BADLY_FORMATTTED { - IG_C99_DOC_BADLY_FORMATTTED_ITEM1 = 0 - IG_C99_DOC_BADLY_FORMATTTED_ITEM2 = 1 + IG_C99_DOC_BADLY_FORMATTTED_ITEM1 = 0, + IG_C99_DOC_BADLY_FORMATTTED_ITEM2 = 1, // item 3 // ------ @@ -38,24 +77,16 @@ typedef enum _IG_C99_DOC_BADLY_FORMATTTED { IG_C99_DOC_BADLY_FORMATTTED_ITEM3 = 2 } IG_C99_DOC_BADLY_FORMATTTED; -typedef enum _IG_C99_HEX_ITEMS { - IG_C99_HEX_ITEMS_ITEM1 = 0x00, - IG_C99_HEX_ITEMS_ITEM2 = 0x10, // oneline doc - - // item 3 - // ------ - // multi line - // doc - IG_C99_HEX_ITEMS_ITEM3 = 0xff -} IG_C99_HEX_ITEMS; - // Structs // ------- + // Functions // --------- + + #ifdef __cplusplus } // extern "C" #endif diff --git a/lm-c99/tests/test_enum_doc/test_enum.yml2 b/lm-c99/tests/test_enum_doc/test_enum.yml2 index e291e77..0d0214c 100644 --- a/lm-c99/tests/test_enum_doc/test_enum.yml2 +++ b/lm-c99/tests/test_enum_doc/test_enum.yml2 @@ -5,14 +5,14 @@ pEpACIDLang { version 1.0; license "License text"; - api test_enum { + api test { enum implicit_value_items { item item1; item item2; item item3; item item4; }; - + enum explicit_dec_value_items { item item1 0; item item2 2; @@ -28,9 +28,7 @@ pEpACIDLang { item item3 "0x987"; item item4 "0x3"; }; - }; - api test_enum_doc { enum doc_well_formatted { item item1 doc="oneline doc"; item item2 doc=""; @@ -42,6 +40,26 @@ pEpACIDLang { multiline doc """; + item decitem1 23 doc="oneline doc"; + item decitem2 42 doc=""; + item decitem3 -9999 + doc= + """ + item 3 + ------ + multiline + doc + """; + item hexitem1 "0x23" doc="oneline doc"; + item hexitem2 "0x42" doc=""; + item hexitem3 "0x99FF" + doc= + """ + item 3 + ------ + multiline + doc + """; }; enum doc_badly_formattted { @@ -61,18 +79,6 @@ pEpACIDLang { doc with bad formattting """; }; - enum item_items_with_doc { - item item1 0x00; - item item2 0x10 doc="oneline doc"; - item item3 0xff - doc= - """ - item 3 - ------ - multi line - doc - """; - }; }; }; -} +};