diff --git a/compiled/cpp_stl_11/bits_enum.cpp b/compiled/cpp_stl_11/bits_enum.cpp index 17c0b880..c1e41427 100644 --- a/compiled/cpp_stl_11/bits_enum.cpp +++ b/compiled/cpp_stl_11/bits_enum.cpp @@ -1,6 +1,7 @@ // This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild #include "bits_enum.h" +const std::set::type> bits_enum_t::_values_animal_t{0, 1, 4, 5}; bits_enum_t::bits_enum_t(kaitai::kstream* p__io, kaitai::kstruct* p__parent, bits_enum_t* p__root) : kaitai::kstruct(p__io) { m__parent = p__parent; diff --git a/compiled/cpp_stl_11/bits_enum.h b/compiled/cpp_stl_11/bits_enum.h index 41e16653..324fcf57 100644 --- a/compiled/cpp_stl_11/bits_enum.h +++ b/compiled/cpp_stl_11/bits_enum.h @@ -7,6 +7,8 @@ class bits_enum_t; #include "kaitai/kaitaistruct.h" #include #include +#include +#include #if KAITAI_STRUCT_VERSION < 11000L #error "Incompatible Kaitai Struct C++/STL API: version 0.11 or later is required" @@ -22,6 +24,7 @@ class bits_enum_t : public kaitai::kstruct { ANIMAL_HORSE = 4, ANIMAL_PLATYPUS = 5 }; + static const std::set::type> _values_animal_t; bits_enum_t(kaitai::kstream* p__io, kaitai::kstruct* p__parent = nullptr, bits_enum_t* p__root = nullptr); diff --git a/compiled/cpp_stl_11/combine_enum.cpp b/compiled/cpp_stl_11/combine_enum.cpp index aafad151..62bc39f8 100644 --- a/compiled/cpp_stl_11/combine_enum.cpp +++ b/compiled/cpp_stl_11/combine_enum.cpp @@ -1,6 +1,7 @@ // This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild #include "combine_enum.h" +const std::set::type> combine_enum_t::_values_animal_t{7, 12}; combine_enum_t::combine_enum_t(kaitai::kstream* p__io, kaitai::kstruct* p__parent, combine_enum_t* p__root) : kaitai::kstruct(p__io) { m__parent = p__parent; diff --git a/compiled/cpp_stl_11/combine_enum.h b/compiled/cpp_stl_11/combine_enum.h index 7ca95056..e2d7dd9f 100644 --- a/compiled/cpp_stl_11/combine_enum.h +++ b/compiled/cpp_stl_11/combine_enum.h @@ -7,6 +7,8 @@ class combine_enum_t; #include "kaitai/kaitaistruct.h" #include #include +#include +#include #if KAITAI_STRUCT_VERSION < 11000L #error "Incompatible Kaitai Struct C++/STL API: version 0.11 or later is required" @@ -20,6 +22,7 @@ class combine_enum_t : public kaitai::kstruct { ANIMAL_PIG = 7, ANIMAL_HORSE = 12 }; + static const std::set::type> _values_animal_t; combine_enum_t(kaitai::kstream* p__io, kaitai::kstruct* p__parent = nullptr, combine_enum_t* p__root = nullptr); diff --git a/compiled/cpp_stl_11/debug_enum_name.cpp b/compiled/cpp_stl_11/debug_enum_name.cpp index c3a2d886..7c039070 100644 --- a/compiled/cpp_stl_11/debug_enum_name.cpp +++ b/compiled/cpp_stl_11/debug_enum_name.cpp @@ -1,6 +1,8 @@ // This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild #include "debug_enum_name.h" +const std::set::type> debug_enum_name_t::_values_test_enum1_t{80}; +const std::set::type> debug_enum_name_t::_values_test_enum2_t{65}; debug_enum_name_t::debug_enum_name_t(kaitai::kstream* p__io, kaitai::kstruct* p__parent, debug_enum_name_t* p__root) : kaitai::kstruct(p__io) { m__parent = p__parent; @@ -26,6 +28,8 @@ debug_enum_name_t::~debug_enum_name_t() { void debug_enum_name_t::_clean_up() { } +const std::set::type> debug_enum_name_t::test_subtype_t::_values_inner_enum1_t{67}; +const std::set::type> debug_enum_name_t::test_subtype_t::_values_inner_enum2_t{11}; debug_enum_name_t::test_subtype_t::test_subtype_t(kaitai::kstream* p__io, debug_enum_name_t* p__parent, debug_enum_name_t* p__root) : kaitai::kstruct(p__io) { m__parent = p__parent; diff --git a/compiled/cpp_stl_11/debug_enum_name.h b/compiled/cpp_stl_11/debug_enum_name.h index 2cc37973..88893eb7 100644 --- a/compiled/cpp_stl_11/debug_enum_name.h +++ b/compiled/cpp_stl_11/debug_enum_name.h @@ -7,6 +7,8 @@ class debug_enum_name_t; #include "kaitai/kaitaistruct.h" #include #include +#include +#include #include #if KAITAI_STRUCT_VERSION < 11000L @@ -21,10 +23,12 @@ class debug_enum_name_t : public kaitai::kstruct { enum test_enum1_t { TEST_ENUM1_ENUM_VALUE_80 = 80 }; + static const std::set::type> _values_test_enum1_t; enum test_enum2_t { TEST_ENUM2_ENUM_VALUE_65 = 65 }; + static const std::set::type> _values_test_enum2_t; debug_enum_name_t(kaitai::kstream* p__io, kaitai::kstruct* p__parent = nullptr, debug_enum_name_t* p__root = nullptr); void _read(); @@ -42,10 +46,12 @@ class debug_enum_name_t : public kaitai::kstruct { enum inner_enum1_t { INNER_ENUM1_ENUM_VALUE_67 = 67 }; + static const std::set::type> _values_inner_enum1_t; enum inner_enum2_t { INNER_ENUM2_ENUM_VALUE_11 = 11 }; + static const std::set::type> _values_inner_enum2_t; test_subtype_t(kaitai::kstream* p__io, debug_enum_name_t* p__parent = nullptr, debug_enum_name_t* p__root = nullptr); void _read(); diff --git a/compiled/cpp_stl_11/enum_0.cpp b/compiled/cpp_stl_11/enum_0.cpp index 45e15176..67506a87 100644 --- a/compiled/cpp_stl_11/enum_0.cpp +++ b/compiled/cpp_stl_11/enum_0.cpp @@ -1,6 +1,7 @@ // This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild #include "enum_0.h" +const std::set::type> enum_0_t::_values_animal_t{4, 7, 12}; enum_0_t::enum_0_t(kaitai::kstream* p__io, kaitai::kstruct* p__parent, enum_0_t* p__root) : kaitai::kstruct(p__io) { m__parent = p__parent; diff --git a/compiled/cpp_stl_11/enum_0.h b/compiled/cpp_stl_11/enum_0.h index 4938652f..87a4a9bd 100644 --- a/compiled/cpp_stl_11/enum_0.h +++ b/compiled/cpp_stl_11/enum_0.h @@ -7,6 +7,8 @@ class enum_0_t; #include "kaitai/kaitaistruct.h" #include #include +#include +#include #if KAITAI_STRUCT_VERSION < 11000L #error "Incompatible Kaitai Struct C++/STL API: version 0.11 or later is required" @@ -21,6 +23,7 @@ class enum_0_t : public kaitai::kstruct { ANIMAL_CAT = 7, ANIMAL_CHICKEN = 12 }; + static const std::set::type> _values_animal_t; enum_0_t(kaitai::kstream* p__io, kaitai::kstruct* p__parent = nullptr, enum_0_t* p__root = nullptr); diff --git a/compiled/cpp_stl_11/enum_1.cpp b/compiled/cpp_stl_11/enum_1.cpp index 731c981e..d90d64a4 100644 --- a/compiled/cpp_stl_11/enum_1.cpp +++ b/compiled/cpp_stl_11/enum_1.cpp @@ -19,6 +19,7 @@ enum_1_t::~enum_1_t() { void enum_1_t::_clean_up() { } +const std::set::type> enum_1_t::main_obj_t::_values_animal_t{4, 7, 12}; enum_1_t::main_obj_t::main_obj_t(kaitai::kstream* p__io, enum_1_t* p__parent, enum_1_t* p__root) : kaitai::kstruct(p__io) { m__parent = p__parent; diff --git a/compiled/cpp_stl_11/enum_1.h b/compiled/cpp_stl_11/enum_1.h index 1e608871..ec87a7df 100644 --- a/compiled/cpp_stl_11/enum_1.h +++ b/compiled/cpp_stl_11/enum_1.h @@ -7,6 +7,8 @@ class enum_1_t; #include "kaitai/kaitaistruct.h" #include #include +#include +#include #if KAITAI_STRUCT_VERSION < 11000L #error "Incompatible Kaitai Struct C++/STL API: version 0.11 or later is required" @@ -36,6 +38,7 @@ class enum_1_t : public kaitai::kstruct { ANIMAL_CAT = 7, ANIMAL_CHICKEN = 12 }; + static const std::set::type> _values_animal_t; main_obj_t(kaitai::kstream* p__io, enum_1_t* p__parent = nullptr, enum_1_t* p__root = nullptr); diff --git a/compiled/cpp_stl_11/enum_deep.cpp b/compiled/cpp_stl_11/enum_deep.cpp index 99b70009..995ce2c8 100644 --- a/compiled/cpp_stl_11/enum_deep.cpp +++ b/compiled/cpp_stl_11/enum_deep.cpp @@ -19,6 +19,7 @@ enum_deep_t::~enum_deep_t() { void enum_deep_t::_clean_up() { } +const std::set::type> enum_deep_t::container1_t::_values_animal_t{4, 7, 12}; enum_deep_t::container1_t::container1_t(kaitai::kstream* p__io, kaitai::kstruct* p__parent, enum_deep_t* p__root) : kaitai::kstruct(p__io) { m__parent = p__parent; @@ -35,6 +36,7 @@ enum_deep_t::container1_t::~container1_t() { void enum_deep_t::container1_t::_clean_up() { } +const std::set::type> enum_deep_t::container1_t::container2_t::_values_animal_t{4, 7, 12}; enum_deep_t::container1_t::container2_t::container2_t(kaitai::kstream* p__io, kaitai::kstruct* p__parent, enum_deep_t* p__root) : kaitai::kstruct(p__io) { m__parent = p__parent; diff --git a/compiled/cpp_stl_11/enum_deep.h b/compiled/cpp_stl_11/enum_deep.h index 64498e06..604bf39e 100644 --- a/compiled/cpp_stl_11/enum_deep.h +++ b/compiled/cpp_stl_11/enum_deep.h @@ -7,6 +7,8 @@ class enum_deep_t; #include "kaitai/kaitaistruct.h" #include #include +#include +#include #if KAITAI_STRUCT_VERSION < 11000L #error "Incompatible Kaitai Struct C++/STL API: version 0.11 or later is required" @@ -36,6 +38,7 @@ class enum_deep_t : public kaitai::kstruct { ANIMAL_CAT = 7, ANIMAL_CHICKEN = 12 }; + static const std::set::type> _values_animal_t; container1_t(kaitai::kstream* p__io, kaitai::kstruct* p__parent = nullptr, enum_deep_t* p__root = nullptr); @@ -55,6 +58,7 @@ class enum_deep_t : public kaitai::kstruct { ANIMAL_TURTLE = 7, ANIMAL_HARE = 12 }; + static const std::set::type> _values_animal_t; container2_t(kaitai::kstream* p__io, kaitai::kstruct* p__parent = nullptr, enum_deep_t* p__root = nullptr); diff --git a/compiled/cpp_stl_11/enum_deep_literals.cpp b/compiled/cpp_stl_11/enum_deep_literals.cpp index 54e1218c..20c7b849 100644 --- a/compiled/cpp_stl_11/enum_deep_literals.cpp +++ b/compiled/cpp_stl_11/enum_deep_literals.cpp @@ -21,6 +21,7 @@ enum_deep_literals_t::~enum_deep_literals_t() { void enum_deep_literals_t::_clean_up() { } +const std::set::type> enum_deep_literals_t::container1_t::_values_animal_t{4, 7, 12}; enum_deep_literals_t::container1_t::container1_t(kaitai::kstream* p__io, kaitai::kstruct* p__parent, enum_deep_literals_t* p__root) : kaitai::kstruct(p__io) { m__parent = p__parent; @@ -37,6 +38,7 @@ enum_deep_literals_t::container1_t::~container1_t() { void enum_deep_literals_t::container1_t::_clean_up() { } +const std::set::type> enum_deep_literals_t::container1_t::container2_t::_values_animal_t{4, 7, 12}; enum_deep_literals_t::container1_t::container2_t::container2_t(kaitai::kstream* p__io, kaitai::kstruct* p__parent, enum_deep_literals_t* p__root) : kaitai::kstruct(p__io) { m__parent = p__parent; diff --git a/compiled/cpp_stl_11/enum_deep_literals.h b/compiled/cpp_stl_11/enum_deep_literals.h index ce75c511..625bf395 100644 --- a/compiled/cpp_stl_11/enum_deep_literals.h +++ b/compiled/cpp_stl_11/enum_deep_literals.h @@ -7,6 +7,8 @@ class enum_deep_literals_t; #include "kaitai/kaitaistruct.h" #include #include +#include +#include #if KAITAI_STRUCT_VERSION < 11000L #error "Incompatible Kaitai Struct C++/STL API: version 0.11 or later is required" @@ -36,6 +38,7 @@ class enum_deep_literals_t : public kaitai::kstruct { ANIMAL_CAT = 7, ANIMAL_CHICKEN = 12 }; + static const std::set::type> _values_animal_t; container1_t(kaitai::kstream* p__io, kaitai::kstruct* p__parent = nullptr, enum_deep_literals_t* p__root = nullptr); @@ -55,6 +58,7 @@ class enum_deep_literals_t : public kaitai::kstruct { ANIMAL_TURTLE = 7, ANIMAL_HARE = 12 }; + static const std::set::type> _values_animal_t; container2_t(kaitai::kstream* p__io, kaitai::kstruct* p__parent = nullptr, enum_deep_literals_t* p__root = nullptr); diff --git a/compiled/cpp_stl_11/enum_fancy.cpp b/compiled/cpp_stl_11/enum_fancy.cpp index 096e791b..29b3181a 100644 --- a/compiled/cpp_stl_11/enum_fancy.cpp +++ b/compiled/cpp_stl_11/enum_fancy.cpp @@ -1,6 +1,7 @@ // This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild #include "enum_fancy.h" +const std::set::type> enum_fancy_t::_values_animal_t{4, 7, 12}; enum_fancy_t::enum_fancy_t(kaitai::kstream* p__io, kaitai::kstruct* p__parent, enum_fancy_t* p__root) : kaitai::kstruct(p__io) { m__parent = p__parent; diff --git a/compiled/cpp_stl_11/enum_fancy.h b/compiled/cpp_stl_11/enum_fancy.h index 1bad890e..f7b311b2 100644 --- a/compiled/cpp_stl_11/enum_fancy.h +++ b/compiled/cpp_stl_11/enum_fancy.h @@ -7,6 +7,8 @@ class enum_fancy_t; #include "kaitai/kaitaistruct.h" #include #include +#include +#include #if KAITAI_STRUCT_VERSION < 11000L #error "Incompatible Kaitai Struct C++/STL API: version 0.11 or later is required" @@ -21,6 +23,7 @@ class enum_fancy_t : public kaitai::kstruct { ANIMAL_CAT = 7, ANIMAL_CHICKEN = 12 }; + static const std::set::type> _values_animal_t; enum_fancy_t(kaitai::kstream* p__io, kaitai::kstruct* p__parent = nullptr, enum_fancy_t* p__root = nullptr); diff --git a/compiled/cpp_stl_11/enum_if.cpp b/compiled/cpp_stl_11/enum_if.cpp index 191c8725..91d990bb 100644 --- a/compiled/cpp_stl_11/enum_if.cpp +++ b/compiled/cpp_stl_11/enum_if.cpp @@ -1,6 +1,7 @@ // This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild #include "enum_if.h" +const std::set::type> enum_if_t::_values_opcodes_t{83, 84}; enum_if_t::enum_if_t(kaitai::kstream* p__io, kaitai::kstruct* p__parent, enum_if_t* p__root) : kaitai::kstruct(p__io) { m__parent = p__parent; diff --git a/compiled/cpp_stl_11/enum_if.h b/compiled/cpp_stl_11/enum_if.h index db9ce319..64821fa7 100644 --- a/compiled/cpp_stl_11/enum_if.h +++ b/compiled/cpp_stl_11/enum_if.h @@ -7,6 +7,8 @@ class enum_if_t; #include "kaitai/kaitaistruct.h" #include #include +#include +#include #if KAITAI_STRUCT_VERSION < 11000L #error "Incompatible Kaitai Struct C++/STL API: version 0.11 or later is required" @@ -23,6 +25,7 @@ class enum_if_t : public kaitai::kstruct { OPCODES_A_STRING = 83, OPCODES_A_TUPLE = 84 }; + static const std::set::type> _values_opcodes_t; enum_if_t(kaitai::kstream* p__io, kaitai::kstruct* p__parent = nullptr, enum_if_t* p__root = nullptr); diff --git a/compiled/cpp_stl_11/enum_int_range_s.cpp b/compiled/cpp_stl_11/enum_int_range_s.cpp index 7fe729c7..2a1d8d0b 100644 --- a/compiled/cpp_stl_11/enum_int_range_s.cpp +++ b/compiled/cpp_stl_11/enum_int_range_s.cpp @@ -1,6 +1,7 @@ // This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild #include "enum_int_range_s.h" +const std::set::type> enum_int_range_s_t::_values_constants_t{-2147483648, 0, 2147483647}; enum_int_range_s_t::enum_int_range_s_t(kaitai::kstream* p__io, kaitai::kstruct* p__parent, enum_int_range_s_t* p__root) : kaitai::kstruct(p__io) { m__parent = p__parent; diff --git a/compiled/cpp_stl_11/enum_int_range_s.h b/compiled/cpp_stl_11/enum_int_range_s.h index 8818691c..8df38e47 100644 --- a/compiled/cpp_stl_11/enum_int_range_s.h +++ b/compiled/cpp_stl_11/enum_int_range_s.h @@ -7,6 +7,8 @@ class enum_int_range_s_t; #include "kaitai/kaitaistruct.h" #include #include +#include +#include #if KAITAI_STRUCT_VERSION < 11000L #error "Incompatible Kaitai Struct C++/STL API: version 0.11 or later is required" @@ -21,6 +23,7 @@ class enum_int_range_s_t : public kaitai::kstruct { CONSTANTS_ZERO = 0, CONSTANTS_INT_MAX = 2147483647 }; + static const std::set::type> _values_constants_t; enum_int_range_s_t(kaitai::kstream* p__io, kaitai::kstruct* p__parent = nullptr, enum_int_range_s_t* p__root = nullptr); diff --git a/compiled/cpp_stl_11/enum_int_range_u.cpp b/compiled/cpp_stl_11/enum_int_range_u.cpp index 2baa70e7..b6214989 100644 --- a/compiled/cpp_stl_11/enum_int_range_u.cpp +++ b/compiled/cpp_stl_11/enum_int_range_u.cpp @@ -1,6 +1,7 @@ // This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild #include "enum_int_range_u.h" +const std::set::type> enum_int_range_u_t::_values_constants_t{0, 4294967295}; enum_int_range_u_t::enum_int_range_u_t(kaitai::kstream* p__io, kaitai::kstruct* p__parent, enum_int_range_u_t* p__root) : kaitai::kstruct(p__io) { m__parent = p__parent; diff --git a/compiled/cpp_stl_11/enum_int_range_u.h b/compiled/cpp_stl_11/enum_int_range_u.h index 455b1977..6d79dbe9 100644 --- a/compiled/cpp_stl_11/enum_int_range_u.h +++ b/compiled/cpp_stl_11/enum_int_range_u.h @@ -7,6 +7,8 @@ class enum_int_range_u_t; #include "kaitai/kaitaistruct.h" #include #include +#include +#include #if KAITAI_STRUCT_VERSION < 11000L #error "Incompatible Kaitai Struct C++/STL API: version 0.11 or later is required" @@ -20,6 +22,7 @@ class enum_int_range_u_t : public kaitai::kstruct { CONSTANTS_ZERO = 0, CONSTANTS_INT_MAX = 4294967295UL }; + static const std::set::type> _values_constants_t; enum_int_range_u_t(kaitai::kstream* p__io, kaitai::kstruct* p__parent = nullptr, enum_int_range_u_t* p__root = nullptr); diff --git a/compiled/cpp_stl_11/enum_invalid.cpp b/compiled/cpp_stl_11/enum_invalid.cpp index bde53245..bd1175eb 100644 --- a/compiled/cpp_stl_11/enum_invalid.cpp +++ b/compiled/cpp_stl_11/enum_invalid.cpp @@ -1,6 +1,7 @@ // This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild #include "enum_invalid.h" +const std::set::type> enum_invalid_t::_values_animal_t{102, 124}; enum_invalid_t::enum_invalid_t(kaitai::kstream* p__io, kaitai::kstruct* p__parent, enum_invalid_t* p__root) : kaitai::kstruct(p__io) { m__parent = p__parent; diff --git a/compiled/cpp_stl_11/enum_invalid.h b/compiled/cpp_stl_11/enum_invalid.h index 946c4bec..57012641 100644 --- a/compiled/cpp_stl_11/enum_invalid.h +++ b/compiled/cpp_stl_11/enum_invalid.h @@ -7,6 +7,8 @@ class enum_invalid_t; #include "kaitai/kaitaistruct.h" #include #include +#include +#include #if KAITAI_STRUCT_VERSION < 11000L #error "Incompatible Kaitai Struct C++/STL API: version 0.11 or later is required" @@ -20,6 +22,7 @@ class enum_invalid_t : public kaitai::kstruct { ANIMAL_DOG = 102, ANIMAL_CAT = 124 }; + static const std::set::type> _values_animal_t; enum_invalid_t(kaitai::kstream* p__io, kaitai::kstruct* p__parent = nullptr, enum_invalid_t* p__root = nullptr); diff --git a/compiled/cpp_stl_11/enum_long_range_s.cpp b/compiled/cpp_stl_11/enum_long_range_s.cpp index 3ccec89a..7d34579f 100644 --- a/compiled/cpp_stl_11/enum_long_range_s.cpp +++ b/compiled/cpp_stl_11/enum_long_range_s.cpp @@ -1,6 +1,7 @@ // This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild #include "enum_long_range_s.h" +const std::set::type> enum_long_range_s_t::_values_constants_t{-9223372036854775808, -2147483649, -2147483648, 0, 2147483647, 2147483648, 9223372036854775807}; enum_long_range_s_t::enum_long_range_s_t(kaitai::kstream* p__io, kaitai::kstruct* p__parent, enum_long_range_s_t* p__root) : kaitai::kstruct(p__io) { m__parent = p__parent; diff --git a/compiled/cpp_stl_11/enum_long_range_s.h b/compiled/cpp_stl_11/enum_long_range_s.h index 808aba95..b4939c0f 100644 --- a/compiled/cpp_stl_11/enum_long_range_s.h +++ b/compiled/cpp_stl_11/enum_long_range_s.h @@ -7,6 +7,8 @@ class enum_long_range_s_t; #include "kaitai/kaitaistruct.h" #include #include +#include +#include #if KAITAI_STRUCT_VERSION < 11000L #error "Incompatible Kaitai Struct C++/STL API: version 0.11 or later is required" @@ -25,6 +27,7 @@ class enum_long_range_s_t : public kaitai::kstruct { CONSTANTS_INT_OVER_MAX = 2147483648UL, CONSTANTS_LONG_MAX = 9223372036854775807LL }; + static const std::set::type> _values_constants_t; enum_long_range_s_t(kaitai::kstream* p__io, kaitai::kstruct* p__parent = nullptr, enum_long_range_s_t* p__root = nullptr); diff --git a/compiled/cpp_stl_11/enum_long_range_u.cpp b/compiled/cpp_stl_11/enum_long_range_u.cpp index 8b8eb692..ebee0adc 100644 --- a/compiled/cpp_stl_11/enum_long_range_u.cpp +++ b/compiled/cpp_stl_11/enum_long_range_u.cpp @@ -1,6 +1,7 @@ // This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild #include "enum_long_range_u.h" +const std::set::type> enum_long_range_u_t::_values_constants_t{0, 4294967295, 4294967296, 9223372036854775807}; enum_long_range_u_t::enum_long_range_u_t(kaitai::kstream* p__io, kaitai::kstruct* p__parent, enum_long_range_u_t* p__root) : kaitai::kstruct(p__io) { m__parent = p__parent; diff --git a/compiled/cpp_stl_11/enum_long_range_u.h b/compiled/cpp_stl_11/enum_long_range_u.h index c0c697bd..59398fbf 100644 --- a/compiled/cpp_stl_11/enum_long_range_u.h +++ b/compiled/cpp_stl_11/enum_long_range_u.h @@ -7,6 +7,8 @@ class enum_long_range_u_t; #include "kaitai/kaitaistruct.h" #include #include +#include +#include #if KAITAI_STRUCT_VERSION < 11000L #error "Incompatible Kaitai Struct C++/STL API: version 0.11 or later is required" @@ -22,6 +24,7 @@ class enum_long_range_u_t : public kaitai::kstruct { CONSTANTS_INT_OVER_MAX = 4294967296LL, CONSTANTS_LONG_MAX = 9223372036854775807LL }; + static const std::set::type> _values_constants_t; enum_long_range_u_t(kaitai::kstream* p__io, kaitai::kstruct* p__parent = nullptr, enum_long_range_u_t* p__root = nullptr); diff --git a/compiled/cpp_stl_11/enum_negative.cpp b/compiled/cpp_stl_11/enum_negative.cpp index c80458d1..8a90a839 100644 --- a/compiled/cpp_stl_11/enum_negative.cpp +++ b/compiled/cpp_stl_11/enum_negative.cpp @@ -1,6 +1,7 @@ // This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild #include "enum_negative.h" +const std::set::type> enum_negative_t::_values_constants_t{-1, 1}; enum_negative_t::enum_negative_t(kaitai::kstream* p__io, kaitai::kstruct* p__parent, enum_negative_t* p__root) : kaitai::kstruct(p__io) { m__parent = p__parent; diff --git a/compiled/cpp_stl_11/enum_negative.h b/compiled/cpp_stl_11/enum_negative.h index 12cc4141..26649c45 100644 --- a/compiled/cpp_stl_11/enum_negative.h +++ b/compiled/cpp_stl_11/enum_negative.h @@ -7,6 +7,8 @@ class enum_negative_t; #include "kaitai/kaitaistruct.h" #include #include +#include +#include #if KAITAI_STRUCT_VERSION < 11000L #error "Incompatible Kaitai Struct C++/STL API: version 0.11 or later is required" @@ -20,6 +22,7 @@ class enum_negative_t : public kaitai::kstruct { CONSTANTS_NEGATIVE_ONE = -1, CONSTANTS_POSITIVE_ONE = 1 }; + static const std::set::type> _values_constants_t; enum_negative_t(kaitai::kstream* p__io, kaitai::kstruct* p__parent = nullptr, enum_negative_t* p__root = nullptr); diff --git a/compiled/cpp_stl_11/enum_of_value_inst.cpp b/compiled/cpp_stl_11/enum_of_value_inst.cpp index f1cad750..c7403fc0 100644 --- a/compiled/cpp_stl_11/enum_of_value_inst.cpp +++ b/compiled/cpp_stl_11/enum_of_value_inst.cpp @@ -1,6 +1,7 @@ // This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild #include "enum_of_value_inst.h" +const std::set::type> enum_of_value_inst_t::_values_animal_t{4, 7, 12}; enum_of_value_inst_t::enum_of_value_inst_t(kaitai::kstream* p__io, kaitai::kstruct* p__parent, enum_of_value_inst_t* p__root) : kaitai::kstruct(p__io) { m__parent = p__parent; diff --git a/compiled/cpp_stl_11/enum_of_value_inst.h b/compiled/cpp_stl_11/enum_of_value_inst.h index fd9776c2..e907651c 100644 --- a/compiled/cpp_stl_11/enum_of_value_inst.h +++ b/compiled/cpp_stl_11/enum_of_value_inst.h @@ -7,6 +7,8 @@ class enum_of_value_inst_t; #include "kaitai/kaitaistruct.h" #include #include +#include +#include #if KAITAI_STRUCT_VERSION < 11000L #error "Incompatible Kaitai Struct C++/STL API: version 0.11 or later is required" @@ -21,6 +23,7 @@ class enum_of_value_inst_t : public kaitai::kstruct { ANIMAL_CAT = 7, ANIMAL_CHICKEN = 12 }; + static const std::set::type> _values_animal_t; enum_of_value_inst_t(kaitai::kstream* p__io, kaitai::kstruct* p__parent = nullptr, enum_of_value_inst_t* p__root = nullptr); diff --git a/compiled/cpp_stl_11/enum_to_i.cpp b/compiled/cpp_stl_11/enum_to_i.cpp index e0a3d741..6b97ba8a 100644 --- a/compiled/cpp_stl_11/enum_to_i.cpp +++ b/compiled/cpp_stl_11/enum_to_i.cpp @@ -1,6 +1,7 @@ // This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild #include "enum_to_i.h" +const std::set::type> enum_to_i_t::_values_animal_t{4, 7, 12}; enum_to_i_t::enum_to_i_t(kaitai::kstream* p__io, kaitai::kstruct* p__parent, enum_to_i_t* p__root) : kaitai::kstruct(p__io) { m__parent = p__parent; diff --git a/compiled/cpp_stl_11/enum_to_i.h b/compiled/cpp_stl_11/enum_to_i.h index 875bdf83..f4f4b821 100644 --- a/compiled/cpp_stl_11/enum_to_i.h +++ b/compiled/cpp_stl_11/enum_to_i.h @@ -7,6 +7,8 @@ class enum_to_i_t; #include "kaitai/kaitaistruct.h" #include #include +#include +#include #if KAITAI_STRUCT_VERSION < 11000L #error "Incompatible Kaitai Struct C++/STL API: version 0.11 or later is required" @@ -21,6 +23,7 @@ class enum_to_i_t : public kaitai::kstruct { ANIMAL_CAT = 7, ANIMAL_CHICKEN = 12 }; + static const std::set::type> _values_animal_t; enum_to_i_t(kaitai::kstream* p__io, kaitai::kstruct* p__parent = nullptr, enum_to_i_t* p__root = nullptr); diff --git a/compiled/cpp_stl_11/enum_to_i_class_border_1.cpp b/compiled/cpp_stl_11/enum_to_i_class_border_1.cpp index 38ab0454..f04e9b2d 100644 --- a/compiled/cpp_stl_11/enum_to_i_class_border_1.cpp +++ b/compiled/cpp_stl_11/enum_to_i_class_border_1.cpp @@ -1,6 +1,7 @@ // This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild #include "enum_to_i_class_border_1.h" +const std::set::type> enum_to_i_class_border_1_t::_values_animal_t{4, 7, 12}; enum_to_i_class_border_1_t::enum_to_i_class_border_1_t(kaitai::kstream* p__io, kaitai::kstruct* p__parent, enum_to_i_class_border_1_t* p__root) : kaitai::kstruct(p__io) { m__parent = p__parent; diff --git a/compiled/cpp_stl_11/enum_to_i_class_border_1.h b/compiled/cpp_stl_11/enum_to_i_class_border_1.h index eefd6658..26ddff2c 100644 --- a/compiled/cpp_stl_11/enum_to_i_class_border_1.h +++ b/compiled/cpp_stl_11/enum_to_i_class_border_1.h @@ -8,6 +8,8 @@ class enum_to_i_class_border_1_t; #include #include #include "enum_to_i_class_border_2.h" +#include +#include #if KAITAI_STRUCT_VERSION < 11000L #error "Incompatible Kaitai Struct C++/STL API: version 0.11 or later is required" @@ -22,6 +24,7 @@ class enum_to_i_class_border_1_t : public kaitai::kstruct { ANIMAL_CAT = 7, ANIMAL_CHICKEN = 12 }; + static const std::set::type> _values_animal_t; enum_to_i_class_border_1_t(kaitai::kstream* p__io, kaitai::kstruct* p__parent = nullptr, enum_to_i_class_border_1_t* p__root = nullptr); diff --git a/compiled/cpp_stl_11/enum_to_i_invalid.cpp b/compiled/cpp_stl_11/enum_to_i_invalid.cpp index 2b8f3561..2a9a1d81 100644 --- a/compiled/cpp_stl_11/enum_to_i_invalid.cpp +++ b/compiled/cpp_stl_11/enum_to_i_invalid.cpp @@ -1,6 +1,7 @@ // This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild #include "enum_to_i_invalid.h" +const std::set::type> enum_to_i_invalid_t::_values_animal_t{102, 124}; enum_to_i_invalid_t::enum_to_i_invalid_t(kaitai::kstream* p__io, kaitai::kstruct* p__parent, enum_to_i_invalid_t* p__root) : kaitai::kstruct(p__io) { m__parent = p__parent; diff --git a/compiled/cpp_stl_11/enum_to_i_invalid.h b/compiled/cpp_stl_11/enum_to_i_invalid.h index 0014e5d4..30cee387 100644 --- a/compiled/cpp_stl_11/enum_to_i_invalid.h +++ b/compiled/cpp_stl_11/enum_to_i_invalid.h @@ -7,6 +7,8 @@ class enum_to_i_invalid_t; #include "kaitai/kaitaistruct.h" #include #include +#include +#include #if KAITAI_STRUCT_VERSION < 11000L #error "Incompatible Kaitai Struct C++/STL API: version 0.11 or later is required" @@ -20,6 +22,7 @@ class enum_to_i_invalid_t : public kaitai::kstruct { ANIMAL_DOG = 102, ANIMAL_CAT = 124 }; + static const std::set::type> _values_animal_t; enum_to_i_invalid_t(kaitai::kstream* p__io, kaitai::kstruct* p__parent = nullptr, enum_to_i_invalid_t* p__root = nullptr); diff --git a/compiled/cpp_stl_11/expr_bits.cpp b/compiled/cpp_stl_11/expr_bits.cpp index 12d701da..c5911919 100644 --- a/compiled/cpp_stl_11/expr_bits.cpp +++ b/compiled/cpp_stl_11/expr_bits.cpp @@ -2,6 +2,7 @@ #include "expr_bits.h" #include "kaitai/exceptions.h" +const std::set::type> expr_bits_t::_values_items_t{1, 2}; expr_bits_t::expr_bits_t(kaitai::kstream* p__io, kaitai::kstruct* p__parent, expr_bits_t* p__root) : kaitai::kstruct(p__io) { m__parent = p__parent; diff --git a/compiled/cpp_stl_11/expr_bits.h b/compiled/cpp_stl_11/expr_bits.h index a5741f2d..64e7be2a 100644 --- a/compiled/cpp_stl_11/expr_bits.h +++ b/compiled/cpp_stl_11/expr_bits.h @@ -7,6 +7,8 @@ class expr_bits_t; #include "kaitai/kaitaistruct.h" #include #include +#include +#include #include #if KAITAI_STRUCT_VERSION < 11000L @@ -22,6 +24,7 @@ class expr_bits_t : public kaitai::kstruct { ITEMS_FOO = 1, ITEMS_BAR = 2 }; + static const std::set::type> _values_items_t; expr_bits_t(kaitai::kstream* p__io, kaitai::kstruct* p__parent = nullptr, expr_bits_t* p__root = nullptr); diff --git a/compiled/cpp_stl_11/expr_enum.cpp b/compiled/cpp_stl_11/expr_enum.cpp index b2789a4c..bfab41a5 100644 --- a/compiled/cpp_stl_11/expr_enum.cpp +++ b/compiled/cpp_stl_11/expr_enum.cpp @@ -1,6 +1,7 @@ // This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild #include "expr_enum.h" +const std::set::type> expr_enum_t::_values_animal_t{4, 7, 12, 102}; expr_enum_t::expr_enum_t(kaitai::kstream* p__io, kaitai::kstruct* p__parent, expr_enum_t* p__root) : kaitai::kstruct(p__io) { m__parent = p__parent; diff --git a/compiled/cpp_stl_11/expr_enum.h b/compiled/cpp_stl_11/expr_enum.h index 9c8c4941..0f3c56aa 100644 --- a/compiled/cpp_stl_11/expr_enum.h +++ b/compiled/cpp_stl_11/expr_enum.h @@ -7,6 +7,8 @@ class expr_enum_t; #include "kaitai/kaitaistruct.h" #include #include +#include +#include #if KAITAI_STRUCT_VERSION < 11000L #error "Incompatible Kaitai Struct C++/STL API: version 0.11 or later is required" @@ -22,6 +24,7 @@ class expr_enum_t : public kaitai::kstruct { ANIMAL_CHICKEN = 12, ANIMAL_BOOM = 102 }; + static const std::set::type> _values_animal_t; expr_enum_t(kaitai::kstream* p__io, kaitai::kstruct* p__parent = nullptr, expr_enum_t* p__root = nullptr); diff --git a/compiled/cpp_stl_11/params_enum.cpp b/compiled/cpp_stl_11/params_enum.cpp index c53732ad..72f68b06 100644 --- a/compiled/cpp_stl_11/params_enum.cpp +++ b/compiled/cpp_stl_11/params_enum.cpp @@ -1,6 +1,7 @@ // This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild #include "params_enum.h" +const std::set::type> params_enum_t::_values_animal_t{4, 7, 12}; params_enum_t::params_enum_t(kaitai::kstream* p__io, kaitai::kstruct* p__parent, params_enum_t* p__root) : kaitai::kstruct(p__io) { m__parent = p__parent; diff --git a/compiled/cpp_stl_11/params_enum.h b/compiled/cpp_stl_11/params_enum.h index f9a4f0a1..6a2405ad 100644 --- a/compiled/cpp_stl_11/params_enum.h +++ b/compiled/cpp_stl_11/params_enum.h @@ -7,6 +7,8 @@ class params_enum_t; #include "kaitai/kaitaistruct.h" #include #include +#include +#include #if KAITAI_STRUCT_VERSION < 11000L #error "Incompatible Kaitai Struct C++/STL API: version 0.11 or later is required" @@ -22,6 +24,7 @@ class params_enum_t : public kaitai::kstruct { ANIMAL_CAT = 7, ANIMAL_CHICKEN = 12 }; + static const std::set::type> _values_animal_t; params_enum_t(kaitai::kstream* p__io, kaitai::kstruct* p__parent = nullptr, params_enum_t* p__root = nullptr); diff --git a/compiled/cpp_stl_11/switch_manual_enum.cpp b/compiled/cpp_stl_11/switch_manual_enum.cpp index e48bc590..dfc820d4 100644 --- a/compiled/cpp_stl_11/switch_manual_enum.cpp +++ b/compiled/cpp_stl_11/switch_manual_enum.cpp @@ -26,6 +26,7 @@ switch_manual_enum_t::~switch_manual_enum_t() { void switch_manual_enum_t::_clean_up() { } +const std::set::type> switch_manual_enum_t::opcode_t::_values_code_enum_t{73, 83}; switch_manual_enum_t::opcode_t::opcode_t(kaitai::kstream* p__io, switch_manual_enum_t* p__parent, switch_manual_enum_t* p__root) : kaitai::kstruct(p__io) { m__parent = p__parent; diff --git a/compiled/cpp_stl_11/switch_manual_enum.h b/compiled/cpp_stl_11/switch_manual_enum.h index f2cea672..243cc7d9 100644 --- a/compiled/cpp_stl_11/switch_manual_enum.h +++ b/compiled/cpp_stl_11/switch_manual_enum.h @@ -8,6 +8,8 @@ class switch_manual_enum_t; #include #include #include +#include +#include #if KAITAI_STRUCT_VERSION < 11000L #error "Incompatible Kaitai Struct C++/STL API: version 0.11 or later is required" @@ -37,6 +39,7 @@ class switch_manual_enum_t : public kaitai::kstruct { CODE_ENUM_INTVAL = 73, CODE_ENUM_STRVAL = 83 }; + static const std::set::type> _values_code_enum_t; opcode_t(kaitai::kstream* p__io, switch_manual_enum_t* p__parent = nullptr, switch_manual_enum_t* p__root = nullptr); diff --git a/compiled/cpp_stl_11/switch_manual_enum_invalid.cpp b/compiled/cpp_stl_11/switch_manual_enum_invalid.cpp index 07b68546..9d185654 100644 --- a/compiled/cpp_stl_11/switch_manual_enum_invalid.cpp +++ b/compiled/cpp_stl_11/switch_manual_enum_invalid.cpp @@ -26,6 +26,7 @@ switch_manual_enum_invalid_t::~switch_manual_enum_invalid_t() { void switch_manual_enum_invalid_t::_clean_up() { } +const std::set::type> switch_manual_enum_invalid_t::opcode_t::_values_code_enum_t{73, 83}; switch_manual_enum_invalid_t::opcode_t::opcode_t(kaitai::kstream* p__io, switch_manual_enum_invalid_t* p__parent, switch_manual_enum_invalid_t* p__root) : kaitai::kstruct(p__io) { m__parent = p__parent; diff --git a/compiled/cpp_stl_11/switch_manual_enum_invalid.h b/compiled/cpp_stl_11/switch_manual_enum_invalid.h index 396e013a..4c4092d8 100644 --- a/compiled/cpp_stl_11/switch_manual_enum_invalid.h +++ b/compiled/cpp_stl_11/switch_manual_enum_invalid.h @@ -8,6 +8,8 @@ class switch_manual_enum_invalid_t; #include #include #include +#include +#include #if KAITAI_STRUCT_VERSION < 11000L #error "Incompatible Kaitai Struct C++/STL API: version 0.11 or later is required" @@ -37,6 +39,7 @@ class switch_manual_enum_invalid_t : public kaitai::kstruct { CODE_ENUM_INTVAL = 73, CODE_ENUM_STRVAL = 83 }; + static const std::set::type> _values_code_enum_t; opcode_t(kaitai::kstream* p__io, switch_manual_enum_invalid_t* p__parent = nullptr, switch_manual_enum_invalid_t* p__root = nullptr); diff --git a/compiled/cpp_stl_11/switch_manual_enum_invalid_else.cpp b/compiled/cpp_stl_11/switch_manual_enum_invalid_else.cpp index e463b4e6..fa942c77 100644 --- a/compiled/cpp_stl_11/switch_manual_enum_invalid_else.cpp +++ b/compiled/cpp_stl_11/switch_manual_enum_invalid_else.cpp @@ -26,6 +26,7 @@ switch_manual_enum_invalid_else_t::~switch_manual_enum_invalid_else_t() { void switch_manual_enum_invalid_else_t::_clean_up() { } +const std::set::type> switch_manual_enum_invalid_else_t::opcode_t::_values_code_enum_t{73, 83}; switch_manual_enum_invalid_else_t::opcode_t::opcode_t(kaitai::kstream* p__io, switch_manual_enum_invalid_else_t* p__parent, switch_manual_enum_invalid_else_t* p__root) : kaitai::kstruct(p__io) { m__parent = p__parent; diff --git a/compiled/cpp_stl_11/switch_manual_enum_invalid_else.h b/compiled/cpp_stl_11/switch_manual_enum_invalid_else.h index 3a27c652..1b2a8cbb 100644 --- a/compiled/cpp_stl_11/switch_manual_enum_invalid_else.h +++ b/compiled/cpp_stl_11/switch_manual_enum_invalid_else.h @@ -8,6 +8,8 @@ class switch_manual_enum_invalid_else_t; #include #include #include +#include +#include #if KAITAI_STRUCT_VERSION < 11000L #error "Incompatible Kaitai Struct C++/STL API: version 0.11 or later is required" @@ -38,6 +40,7 @@ class switch_manual_enum_invalid_else_t : public kaitai::kstruct { CODE_ENUM_INTVAL = 73, CODE_ENUM_STRVAL = 83 }; + static const std::set::type> _values_code_enum_t; opcode_t(kaitai::kstream* p__io, switch_manual_enum_invalid_else_t* p__parent = nullptr, switch_manual_enum_invalid_else_t* p__root = nullptr); diff --git a/compiled/cpp_stl_11/ts_packet_header.cpp b/compiled/cpp_stl_11/ts_packet_header.cpp index 9f109bb1..36a384e7 100644 --- a/compiled/cpp_stl_11/ts_packet_header.cpp +++ b/compiled/cpp_stl_11/ts_packet_header.cpp @@ -1,6 +1,7 @@ // This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild #include "ts_packet_header.h" +const std::set::type> ts_packet_header_t::_values_adaptation_field_control_enum_t{0, 1, 2, 3}; ts_packet_header_t::ts_packet_header_t(kaitai::kstream* p__io, kaitai::kstruct* p__parent, ts_packet_header_t* p__root) : kaitai::kstruct(p__io) { m__parent = p__parent; diff --git a/compiled/cpp_stl_11/ts_packet_header.h b/compiled/cpp_stl_11/ts_packet_header.h index 0a26e43f..f6291850 100644 --- a/compiled/cpp_stl_11/ts_packet_header.h +++ b/compiled/cpp_stl_11/ts_packet_header.h @@ -7,6 +7,8 @@ class ts_packet_header_t; #include "kaitai/kaitaistruct.h" #include #include +#include +#include #if KAITAI_STRUCT_VERSION < 11000L #error "Incompatible Kaitai Struct C++/STL API: version 0.11 or later is required" @@ -26,6 +28,7 @@ class ts_packet_header_t : public kaitai::kstruct { ADAPTATION_FIELD_CONTROL_ENUM_ADAPTATION_FIELD_ONLY = 2, ADAPTATION_FIELD_CONTROL_ENUM_ADAPTATION_FIELD_AND_PAYLOAD = 3 }; + static const std::set::type> _values_adaptation_field_control_enum_t; ts_packet_header_t(kaitai::kstream* p__io, kaitai::kstruct* p__parent = nullptr, ts_packet_header_t* p__root = nullptr); diff --git a/compiled/go/src/test_formats/bits_enum.go b/compiled/go/src/test_formats/bits_enum.go index 52ccfb01..1c8a370a 100644 --- a/compiled/go/src/test_formats/bits_enum.go +++ b/compiled/go/src/test_formats/bits_enum.go @@ -12,6 +12,11 @@ const ( BitsEnum_Animal__Horse BitsEnum_Animal = 4 BitsEnum_Animal__Platypus BitsEnum_Animal = 5 ) +var values_BitsEnum_Animal = map[BitsEnum_Animal]struct{}{0: {}, 1: {}, 4: {}, 5: {}} +func (v BitsEnum_Animal) isDefined() bool { + _, ok := values_BitsEnum_Animal[v] + return ok +} type BitsEnum struct { One BitsEnum_Animal Two BitsEnum_Animal diff --git a/compiled/go/src/test_formats/combine_enum.go b/compiled/go/src/test_formats/combine_enum.go index 8ca0ab20..46794ffd 100644 --- a/compiled/go/src/test_formats/combine_enum.go +++ b/compiled/go/src/test_formats/combine_enum.go @@ -10,6 +10,11 @@ const ( CombineEnum_Animal__Pig CombineEnum_Animal = 7 CombineEnum_Animal__Horse CombineEnum_Animal = 12 ) +var values_CombineEnum_Animal = map[CombineEnum_Animal]struct{}{7: {}, 12: {}} +func (v CombineEnum_Animal) isDefined() bool { + _, ok := values_CombineEnum_Animal[v] + return ok +} type CombineEnum struct { EnumU4 CombineEnum_Animal EnumU2 CombineEnum_Animal diff --git a/compiled/go/src/test_formats/debug_enum_name.go b/compiled/go/src/test_formats/debug_enum_name.go index 3b2ea32d..ee27b53e 100644 --- a/compiled/go/src/test_formats/debug_enum_name.go +++ b/compiled/go/src/test_formats/debug_enum_name.go @@ -9,11 +9,21 @@ type DebugEnumName_TestEnum1 int const ( DebugEnumName_TestEnum1__EnumValue80 DebugEnumName_TestEnum1 = 80 ) +var values_DebugEnumName_TestEnum1 = map[DebugEnumName_TestEnum1]struct{}{80: {}} +func (v DebugEnumName_TestEnum1) isDefined() bool { + _, ok := values_DebugEnumName_TestEnum1[v] + return ok +} type DebugEnumName_TestEnum2 int const ( DebugEnumName_TestEnum2__EnumValue65 DebugEnumName_TestEnum2 = 65 ) +var values_DebugEnumName_TestEnum2 = map[DebugEnumName_TestEnum2]struct{}{65: {}} +func (v DebugEnumName_TestEnum2) isDefined() bool { + _, ok := values_DebugEnumName_TestEnum2[v] + return ok +} type DebugEnumName struct { One DebugEnumName_TestEnum1 ArrayOfInts []DebugEnumName_TestEnum2 @@ -62,11 +72,21 @@ type DebugEnumName_TestSubtype_InnerEnum1 int const ( DebugEnumName_TestSubtype_InnerEnum1__EnumValue67 DebugEnumName_TestSubtype_InnerEnum1 = 67 ) +var values_DebugEnumName_TestSubtype_InnerEnum1 = map[DebugEnumName_TestSubtype_InnerEnum1]struct{}{67: {}} +func (v DebugEnumName_TestSubtype_InnerEnum1) isDefined() bool { + _, ok := values_DebugEnumName_TestSubtype_InnerEnum1[v] + return ok +} type DebugEnumName_TestSubtype_InnerEnum2 int const ( DebugEnumName_TestSubtype_InnerEnum2__EnumValue11 DebugEnumName_TestSubtype_InnerEnum2 = 11 ) +var values_DebugEnumName_TestSubtype_InnerEnum2 = map[DebugEnumName_TestSubtype_InnerEnum2]struct{}{11: {}} +func (v DebugEnumName_TestSubtype_InnerEnum2) isDefined() bool { + _, ok := values_DebugEnumName_TestSubtype_InnerEnum2[v] + return ok +} type DebugEnumName_TestSubtype struct { Field1 DebugEnumName_TestSubtype_InnerEnum1 Field2 uint8 diff --git a/compiled/go/src/test_formats/enum_0.go b/compiled/go/src/test_formats/enum_0.go index d8608163..2b42c2f4 100644 --- a/compiled/go/src/test_formats/enum_0.go +++ b/compiled/go/src/test_formats/enum_0.go @@ -11,6 +11,11 @@ const ( Enum0_Animal__Cat Enum0_Animal = 7 Enum0_Animal__Chicken Enum0_Animal = 12 ) +var values_Enum0_Animal = map[Enum0_Animal]struct{}{4: {}, 7: {}, 12: {}} +func (v Enum0_Animal) isDefined() bool { + _, ok := values_Enum0_Animal[v] + return ok +} type Enum0 struct { Pet1 Enum0_Animal Pet2 Enum0_Animal diff --git a/compiled/go/src/test_formats/enum_1.go b/compiled/go/src/test_formats/enum_1.go index a2098b92..ed225321 100644 --- a/compiled/go/src/test_formats/enum_1.go +++ b/compiled/go/src/test_formats/enum_1.go @@ -39,6 +39,11 @@ const ( Enum1_MainObj_Animal__Cat Enum1_MainObj_Animal = 7 Enum1_MainObj_Animal__Chicken Enum1_MainObj_Animal = 12 ) +var values_Enum1_MainObj_Animal = map[Enum1_MainObj_Animal]struct{}{4: {}, 7: {}, 12: {}} +func (v Enum1_MainObj_Animal) isDefined() bool { + _, ok := values_Enum1_MainObj_Animal[v] + return ok +} type Enum1_MainObj struct { Submain *Enum1_MainObj_SubmainObj _io *kaitai.Stream diff --git a/compiled/go/src/test_formats/enum_deep.go b/compiled/go/src/test_formats/enum_deep.go index fc6fb48b..849dd506 100644 --- a/compiled/go/src/test_formats/enum_deep.go +++ b/compiled/go/src/test_formats/enum_deep.go @@ -44,6 +44,11 @@ const ( EnumDeep_Container1_Animal__Cat EnumDeep_Container1_Animal = 7 EnumDeep_Container1_Animal__Chicken EnumDeep_Container1_Animal = 12 ) +var values_EnumDeep_Container1_Animal = map[EnumDeep_Container1_Animal]struct{}{4: {}, 7: {}, 12: {}} +func (v EnumDeep_Container1_Animal) isDefined() bool { + _, ok := values_EnumDeep_Container1_Animal[v] + return ok +} type EnumDeep_Container1 struct { _io *kaitai.Stream _root *EnumDeep @@ -72,6 +77,11 @@ const ( EnumDeep_Container1_Container2_Animal__Turtle EnumDeep_Container1_Container2_Animal = 7 EnumDeep_Container1_Container2_Animal__Hare EnumDeep_Container1_Container2_Animal = 12 ) +var values_EnumDeep_Container1_Container2_Animal = map[EnumDeep_Container1_Container2_Animal]struct{}{4: {}, 7: {}, 12: {}} +func (v EnumDeep_Container1_Container2_Animal) isDefined() bool { + _, ok := values_EnumDeep_Container1_Container2_Animal[v] + return ok +} type EnumDeep_Container1_Container2 struct { _io *kaitai.Stream _root *EnumDeep diff --git a/compiled/go/src/test_formats/enum_deep_literals.go b/compiled/go/src/test_formats/enum_deep_literals.go index 38ff3bb1..9eada767 100644 --- a/compiled/go/src/test_formats/enum_deep_literals.go +++ b/compiled/go/src/test_formats/enum_deep_literals.go @@ -64,6 +64,11 @@ const ( EnumDeepLiterals_Container1_Animal__Cat EnumDeepLiterals_Container1_Animal = 7 EnumDeepLiterals_Container1_Animal__Chicken EnumDeepLiterals_Container1_Animal = 12 ) +var values_EnumDeepLiterals_Container1_Animal = map[EnumDeepLiterals_Container1_Animal]struct{}{4: {}, 7: {}, 12: {}} +func (v EnumDeepLiterals_Container1_Animal) isDefined() bool { + _, ok := values_EnumDeepLiterals_Container1_Animal[v] + return ok +} type EnumDeepLiterals_Container1 struct { _io *kaitai.Stream _root *EnumDeepLiterals @@ -92,6 +97,11 @@ const ( EnumDeepLiterals_Container1_Container2_Animal__Turtle EnumDeepLiterals_Container1_Container2_Animal = 7 EnumDeepLiterals_Container1_Container2_Animal__Hare EnumDeepLiterals_Container1_Container2_Animal = 12 ) +var values_EnumDeepLiterals_Container1_Container2_Animal = map[EnumDeepLiterals_Container1_Container2_Animal]struct{}{4: {}, 7: {}, 12: {}} +func (v EnumDeepLiterals_Container1_Container2_Animal) isDefined() bool { + _, ok := values_EnumDeepLiterals_Container1_Container2_Animal[v] + return ok +} type EnumDeepLiterals_Container1_Container2 struct { _io *kaitai.Stream _root *EnumDeepLiterals diff --git a/compiled/go/src/test_formats/enum_fancy.go b/compiled/go/src/test_formats/enum_fancy.go index 1c31fa60..945da8ef 100644 --- a/compiled/go/src/test_formats/enum_fancy.go +++ b/compiled/go/src/test_formats/enum_fancy.go @@ -11,6 +11,11 @@ const ( EnumFancy_Animal__Cat EnumFancy_Animal = 7 EnumFancy_Animal__Chicken EnumFancy_Animal = 12 ) +var values_EnumFancy_Animal = map[EnumFancy_Animal]struct{}{4: {}, 7: {}, 12: {}} +func (v EnumFancy_Animal) isDefined() bool { + _, ok := values_EnumFancy_Animal[v] + return ok +} type EnumFancy struct { Pet1 EnumFancy_Animal Pet2 EnumFancy_Animal diff --git a/compiled/go/src/test_formats/enum_if.go b/compiled/go/src/test_formats/enum_if.go index 70a5a86e..9dd837ea 100644 --- a/compiled/go/src/test_formats/enum_if.go +++ b/compiled/go/src/test_formats/enum_if.go @@ -10,6 +10,11 @@ const ( EnumIf_Opcodes__AString EnumIf_Opcodes = 83 EnumIf_Opcodes__ATuple EnumIf_Opcodes = 84 ) +var values_EnumIf_Opcodes = map[EnumIf_Opcodes]struct{}{83: {}, 84: {}} +func (v EnumIf_Opcodes) isDefined() bool { + _, ok := values_EnumIf_Opcodes[v] + return ok +} type EnumIf struct { Op1 *EnumIf_Operation Op2 *EnumIf_Operation diff --git a/compiled/go/src/test_formats/enum_int_range_s.go b/compiled/go/src/test_formats/enum_int_range_s.go index f71e9460..fc5216bf 100644 --- a/compiled/go/src/test_formats/enum_int_range_s.go +++ b/compiled/go/src/test_formats/enum_int_range_s.go @@ -11,6 +11,11 @@ const ( EnumIntRangeS_Constants__Zero EnumIntRangeS_Constants = 0 EnumIntRangeS_Constants__IntMax EnumIntRangeS_Constants = 2147483647 ) +var values_EnumIntRangeS_Constants = map[EnumIntRangeS_Constants]struct{}{-2147483648: {}, 0: {}, 2147483647: {}} +func (v EnumIntRangeS_Constants) isDefined() bool { + _, ok := values_EnumIntRangeS_Constants[v] + return ok +} type EnumIntRangeS struct { F1 EnumIntRangeS_Constants F2 EnumIntRangeS_Constants diff --git a/compiled/go/src/test_formats/enum_int_range_u.go b/compiled/go/src/test_formats/enum_int_range_u.go index 9d3c9c58..8f8ee379 100644 --- a/compiled/go/src/test_formats/enum_int_range_u.go +++ b/compiled/go/src/test_formats/enum_int_range_u.go @@ -10,6 +10,11 @@ const ( EnumIntRangeU_Constants__Zero EnumIntRangeU_Constants = 0 EnumIntRangeU_Constants__IntMax EnumIntRangeU_Constants = 4294967295 ) +var values_EnumIntRangeU_Constants = map[EnumIntRangeU_Constants]struct{}{0: {}, 4294967295: {}} +func (v EnumIntRangeU_Constants) isDefined() bool { + _, ok := values_EnumIntRangeU_Constants[v] + return ok +} type EnumIntRangeU struct { F1 EnumIntRangeU_Constants F2 EnumIntRangeU_Constants diff --git a/compiled/go/src/test_formats/enum_invalid.go b/compiled/go/src/test_formats/enum_invalid.go index 00b35ccb..f9ff17e6 100644 --- a/compiled/go/src/test_formats/enum_invalid.go +++ b/compiled/go/src/test_formats/enum_invalid.go @@ -10,6 +10,11 @@ const ( EnumInvalid_Animal__Dog EnumInvalid_Animal = 102 EnumInvalid_Animal__Cat EnumInvalid_Animal = 124 ) +var values_EnumInvalid_Animal = map[EnumInvalid_Animal]struct{}{102: {}, 124: {}} +func (v EnumInvalid_Animal) isDefined() bool { + _, ok := values_EnumInvalid_Animal[v] + return ok +} type EnumInvalid struct { Pet1 EnumInvalid_Animal Pet2 EnumInvalid_Animal diff --git a/compiled/go/src/test_formats/enum_long_range_s.go b/compiled/go/src/test_formats/enum_long_range_s.go index e74fba19..42eb4e17 100644 --- a/compiled/go/src/test_formats/enum_long_range_s.go +++ b/compiled/go/src/test_formats/enum_long_range_s.go @@ -15,6 +15,11 @@ const ( EnumLongRangeS_Constants__IntOverMax EnumLongRangeS_Constants = 2147483648 EnumLongRangeS_Constants__LongMax EnumLongRangeS_Constants = 9223372036854775807 ) +var values_EnumLongRangeS_Constants = map[EnumLongRangeS_Constants]struct{}{-9223372036854775808: {}, -2147483649: {}, -2147483648: {}, 0: {}, 2147483647: {}, 2147483648: {}, 9223372036854775807: {}} +func (v EnumLongRangeS_Constants) isDefined() bool { + _, ok := values_EnumLongRangeS_Constants[v] + return ok +} type EnumLongRangeS struct { F1 EnumLongRangeS_Constants F2 EnumLongRangeS_Constants diff --git a/compiled/go/src/test_formats/enum_long_range_u.go b/compiled/go/src/test_formats/enum_long_range_u.go index 786e8e71..194a3c7d 100644 --- a/compiled/go/src/test_formats/enum_long_range_u.go +++ b/compiled/go/src/test_formats/enum_long_range_u.go @@ -12,6 +12,11 @@ const ( EnumLongRangeU_Constants__IntOverMax EnumLongRangeU_Constants = 4294967296 EnumLongRangeU_Constants__LongMax EnumLongRangeU_Constants = 9223372036854775807 ) +var values_EnumLongRangeU_Constants = map[EnumLongRangeU_Constants]struct{}{0: {}, 4294967295: {}, 4294967296: {}, 9223372036854775807: {}} +func (v EnumLongRangeU_Constants) isDefined() bool { + _, ok := values_EnumLongRangeU_Constants[v] + return ok +} type EnumLongRangeU struct { F1 EnumLongRangeU_Constants F2 EnumLongRangeU_Constants diff --git a/compiled/go/src/test_formats/enum_negative.go b/compiled/go/src/test_formats/enum_negative.go index 71623f6d..4dde8cf8 100644 --- a/compiled/go/src/test_formats/enum_negative.go +++ b/compiled/go/src/test_formats/enum_negative.go @@ -10,6 +10,11 @@ const ( EnumNegative_Constants__NegativeOne EnumNegative_Constants = -1 EnumNegative_Constants__PositiveOne EnumNegative_Constants = 1 ) +var values_EnumNegative_Constants = map[EnumNegative_Constants]struct{}{-1: {}, 1: {}} +func (v EnumNegative_Constants) isDefined() bool { + _, ok := values_EnumNegative_Constants[v] + return ok +} type EnumNegative struct { F1 EnumNegative_Constants F2 EnumNegative_Constants diff --git a/compiled/go/src/test_formats/enum_of_value_inst.go b/compiled/go/src/test_formats/enum_of_value_inst.go index 7fee27a9..39d61d77 100644 --- a/compiled/go/src/test_formats/enum_of_value_inst.go +++ b/compiled/go/src/test_formats/enum_of_value_inst.go @@ -11,6 +11,11 @@ const ( EnumOfValueInst_Animal__Cat EnumOfValueInst_Animal = 7 EnumOfValueInst_Animal__Chicken EnumOfValueInst_Animal = 12 ) +var values_EnumOfValueInst_Animal = map[EnumOfValueInst_Animal]struct{}{4: {}, 7: {}, 12: {}} +func (v EnumOfValueInst_Animal) isDefined() bool { + _, ok := values_EnumOfValueInst_Animal[v] + return ok +} type EnumOfValueInst struct { Pet1 EnumOfValueInst_Animal Pet2 EnumOfValueInst_Animal diff --git a/compiled/go/src/test_formats/enum_to_i.go b/compiled/go/src/test_formats/enum_to_i.go index 49bf0b40..e0940667 100644 --- a/compiled/go/src/test_formats/enum_to_i.go +++ b/compiled/go/src/test_formats/enum_to_i.go @@ -14,6 +14,11 @@ const ( EnumToI_Animal__Cat EnumToI_Animal = 7 EnumToI_Animal__Chicken EnumToI_Animal = 12 ) +var values_EnumToI_Animal = map[EnumToI_Animal]struct{}{4: {}, 7: {}, 12: {}} +func (v EnumToI_Animal) isDefined() bool { + _, ok := values_EnumToI_Animal[v] + return ok +} type EnumToI struct { Pet1 EnumToI_Animal Pet2 EnumToI_Animal diff --git a/compiled/go/src/test_formats/enum_to_i_class_border_1.go b/compiled/go/src/test_formats/enum_to_i_class_border_1.go index fb5e3592..563fa112 100644 --- a/compiled/go/src/test_formats/enum_to_i_class_border_1.go +++ b/compiled/go/src/test_formats/enum_to_i_class_border_1.go @@ -14,6 +14,11 @@ const ( EnumToIClassBorder1_Animal__Cat EnumToIClassBorder1_Animal = 7 EnumToIClassBorder1_Animal__Chicken EnumToIClassBorder1_Animal = 12 ) +var values_EnumToIClassBorder1_Animal = map[EnumToIClassBorder1_Animal]struct{}{4: {}, 7: {}, 12: {}} +func (v EnumToIClassBorder1_Animal) isDefined() bool { + _, ok := values_EnumToIClassBorder1_Animal[v] + return ok +} type EnumToIClassBorder1 struct { Pet1 EnumToIClassBorder1_Animal Pet2 EnumToIClassBorder1_Animal diff --git a/compiled/go/src/test_formats/enum_to_i_invalid.go b/compiled/go/src/test_formats/enum_to_i_invalid.go index ea491ca8..b55da824 100644 --- a/compiled/go/src/test_formats/enum_to_i_invalid.go +++ b/compiled/go/src/test_formats/enum_to_i_invalid.go @@ -13,6 +13,11 @@ const ( EnumToIInvalid_Animal__Dog EnumToIInvalid_Animal = 102 EnumToIInvalid_Animal__Cat EnumToIInvalid_Animal = 124 ) +var values_EnumToIInvalid_Animal = map[EnumToIInvalid_Animal]struct{}{102: {}, 124: {}} +func (v EnumToIInvalid_Animal) isDefined() bool { + _, ok := values_EnumToIInvalid_Animal[v] + return ok +} type EnumToIInvalid struct { Pet1 EnumToIInvalid_Animal Pet2 EnumToIInvalid_Animal diff --git a/compiled/go/src/test_formats/expr_bits.go b/compiled/go/src/test_formats/expr_bits.go index ba2ae8ca..2b3d935d 100644 --- a/compiled/go/src/test_formats/expr_bits.go +++ b/compiled/go/src/test_formats/expr_bits.go @@ -13,6 +13,11 @@ const ( ExprBits_Items__Foo ExprBits_Items = 1 ExprBits_Items__Bar ExprBits_Items = 2 ) +var values_ExprBits_Items = map[ExprBits_Items]struct{}{1: {}, 2: {}} +func (v ExprBits_Items) isDefined() bool { + _, ok := values_ExprBits_Items[v] + return ok +} type ExprBits struct { EnumSeq ExprBits_Items A uint64 diff --git a/compiled/go/src/test_formats/expr_enum.go b/compiled/go/src/test_formats/expr_enum.go index 43a95e0d..7e11dfcf 100644 --- a/compiled/go/src/test_formats/expr_enum.go +++ b/compiled/go/src/test_formats/expr_enum.go @@ -12,6 +12,11 @@ const ( ExprEnum_Animal__Chicken ExprEnum_Animal = 12 ExprEnum_Animal__Boom ExprEnum_Animal = 102 ) +var values_ExprEnum_Animal = map[ExprEnum_Animal]struct{}{4: {}, 7: {}, 12: {}, 102: {}} +func (v ExprEnum_Animal) isDefined() bool { + _, ok := values_ExprEnum_Animal[v] + return ok +} type ExprEnum struct { One uint8 _io *kaitai.Stream diff --git a/compiled/go/src/test_formats/params_enum.go b/compiled/go/src/test_formats/params_enum.go index c1a43dc1..0bd440e0 100644 --- a/compiled/go/src/test_formats/params_enum.go +++ b/compiled/go/src/test_formats/params_enum.go @@ -11,6 +11,11 @@ const ( ParamsEnum_Animal__Cat ParamsEnum_Animal = 7 ParamsEnum_Animal__Chicken ParamsEnum_Animal = 12 ) +var values_ParamsEnum_Animal = map[ParamsEnum_Animal]struct{}{4: {}, 7: {}, 12: {}} +func (v ParamsEnum_Animal) isDefined() bool { + _, ok := values_ParamsEnum_Animal[v] + return ok +} type ParamsEnum struct { One ParamsEnum_Animal InvokeWithParam *ParamsEnum_WithParam diff --git a/compiled/go/src/test_formats/switch_manual_enum.go b/compiled/go/src/test_formats/switch_manual_enum.go index cb09aa9a..8becc023 100644 --- a/compiled/go/src/test_formats/switch_manual_enum.go +++ b/compiled/go/src/test_formats/switch_manual_enum.go @@ -47,6 +47,11 @@ const ( SwitchManualEnum_Opcode_CodeEnum__Intval SwitchManualEnum_Opcode_CodeEnum = 73 SwitchManualEnum_Opcode_CodeEnum__Strval SwitchManualEnum_Opcode_CodeEnum = 83 ) +var values_SwitchManualEnum_Opcode_CodeEnum = map[SwitchManualEnum_Opcode_CodeEnum]struct{}{73: {}, 83: {}} +func (v SwitchManualEnum_Opcode_CodeEnum) isDefined() bool { + _, ok := values_SwitchManualEnum_Opcode_CodeEnum[v] + return ok +} type SwitchManualEnum_Opcode struct { Code SwitchManualEnum_Opcode_CodeEnum Body kaitai.Struct diff --git a/compiled/go/src/test_formats/switch_manual_enum_invalid.go b/compiled/go/src/test_formats/switch_manual_enum_invalid.go index b144bba9..dba9db06 100644 --- a/compiled/go/src/test_formats/switch_manual_enum_invalid.go +++ b/compiled/go/src/test_formats/switch_manual_enum_invalid.go @@ -47,6 +47,11 @@ const ( SwitchManualEnumInvalid_Opcode_CodeEnum__Intval SwitchManualEnumInvalid_Opcode_CodeEnum = 73 SwitchManualEnumInvalid_Opcode_CodeEnum__Strval SwitchManualEnumInvalid_Opcode_CodeEnum = 83 ) +var values_SwitchManualEnumInvalid_Opcode_CodeEnum = map[SwitchManualEnumInvalid_Opcode_CodeEnum]struct{}{73: {}, 83: {}} +func (v SwitchManualEnumInvalid_Opcode_CodeEnum) isDefined() bool { + _, ok := values_SwitchManualEnumInvalid_Opcode_CodeEnum[v] + return ok +} type SwitchManualEnumInvalid_Opcode struct { Code SwitchManualEnumInvalid_Opcode_CodeEnum Body kaitai.Struct diff --git a/compiled/go/src/test_formats/switch_manual_enum_invalid_else.go b/compiled/go/src/test_formats/switch_manual_enum_invalid_else.go index 037c1715..ddc86267 100644 --- a/compiled/go/src/test_formats/switch_manual_enum_invalid_else.go +++ b/compiled/go/src/test_formats/switch_manual_enum_invalid_else.go @@ -47,6 +47,11 @@ const ( SwitchManualEnumInvalidElse_Opcode_CodeEnum__Intval SwitchManualEnumInvalidElse_Opcode_CodeEnum = 73 SwitchManualEnumInvalidElse_Opcode_CodeEnum__Strval SwitchManualEnumInvalidElse_Opcode_CodeEnum = 83 ) +var values_SwitchManualEnumInvalidElse_Opcode_CodeEnum = map[SwitchManualEnumInvalidElse_Opcode_CodeEnum]struct{}{73: {}, 83: {}} +func (v SwitchManualEnumInvalidElse_Opcode_CodeEnum) isDefined() bool { + _, ok := values_SwitchManualEnumInvalidElse_Opcode_CodeEnum[v] + return ok +} type SwitchManualEnumInvalidElse_Opcode struct { Code SwitchManualEnumInvalidElse_Opcode_CodeEnum Body kaitai.Struct diff --git a/compiled/go/src/test_formats/ts_packet_header.go b/compiled/go/src/test_formats/ts_packet_header.go index 02535cc8..3b2b6a31 100644 --- a/compiled/go/src/test_formats/ts_packet_header.go +++ b/compiled/go/src/test_formats/ts_packet_header.go @@ -16,6 +16,11 @@ const ( TsPacketHeader_AdaptationFieldControlEnum__AdaptationFieldOnly TsPacketHeader_AdaptationFieldControlEnum = 2 TsPacketHeader_AdaptationFieldControlEnum__AdaptationFieldAndPayload TsPacketHeader_AdaptationFieldControlEnum = 3 ) +var values_TsPacketHeader_AdaptationFieldControlEnum = map[TsPacketHeader_AdaptationFieldControlEnum]struct{}{0: {}, 1: {}, 2: {}, 3: {}} +func (v TsPacketHeader_AdaptationFieldControlEnum) isDefined() bool { + _, ok := values_TsPacketHeader_AdaptationFieldControlEnum[v] + return ok +} type TsPacketHeader struct { SyncByte uint8 TransportErrorIndicator bool diff --git a/compiled/graphviz/bits_byte_aligned.dot b/compiled/graphviz/bits_byte_aligned.dot index 8759f817..a0b4c359 100644 --- a/compiled/graphviz/bits_byte_aligned.dot +++ b/compiled/graphviz/bits_byte_aligned.dot @@ -7,14 +7,14 @@ digraph { bits_byte_aligned__seq [label=< - + - - + + - + - +
possizetypeid
06bb6one
06bb6beone
0:61u1byte_1
1:63bb3two
2:11bBitsType1(BigBitEndian)three
1:63bb3betwo
2:11bb1be→boolthree
2:21u1byte_2
3:214bb14four
3:214bb14befour
51byte_3
61b8full_byte
61b8befull_byte
71u1byte_4
>]; } diff --git a/compiled/graphviz/bits_enum.dot b/compiled/graphviz/bits_enum.dot index 1a26b687..26932fc2 100644 --- a/compiled/graphviz/bits_enum.dot +++ b/compiled/graphviz/bits_enum.dot @@ -7,9 +7,9 @@ digraph { bits_enum__seq [label=< - - - + + +
possizetypeid
04bb4→Animalone
0:41b8→Animaltwo
1:41bb1→Animalthree
04bb4be→Animalone
0:41b8be→Animaltwo
1:41bb1be→Animalthree
>]; } } diff --git a/compiled/graphviz/bits_seq_endian_combo.dot b/compiled/graphviz/bits_seq_endian_combo.dot index be78a413..59c94d3d 100644 --- a/compiled/graphviz/bits_seq_endian_combo.dot +++ b/compiled/graphviz/bits_seq_endian_combo.dot @@ -7,14 +7,14 @@ digraph { bits_seq_endian_combo__seq [label=< - - - - - - - - + + + + + + + +
possizetypeid
06bb6be1
0:610bb10be2
21b8le3
31b8be4
45bb5le5
4:56bb6le6
5:35bb5le7
61bBitsType1(BigBitEndian)be8
06bb6bebe1
0:610bb10bebe2
21b8lele3
31b8bebe4
45bb5lele5
4:56bb6lele6
5:35bb5lele7
61bb1be→boolbe8
>]; } } diff --git a/compiled/graphviz/bits_shift_by_b32_le.dot b/compiled/graphviz/bits_shift_by_b32_le.dot index ba1b3ef6..6cbee44b 100644 --- a/compiled/graphviz/bits_shift_by_b32_le.dot +++ b/compiled/graphviz/bits_shift_by_b32_le.dot @@ -7,8 +7,8 @@ digraph { bits_shift_by_b32_le__seq [label=< - - + +
possizetypeid
04b32a
41b8b
04b32lea
41b8leb
>]; } } diff --git a/compiled/graphviz/bits_shift_by_b64_le.dot b/compiled/graphviz/bits_shift_by_b64_le.dot index da57b936..821c6554 100644 --- a/compiled/graphviz/bits_shift_by_b64_le.dot +++ b/compiled/graphviz/bits_shift_by_b64_le.dot @@ -7,8 +7,8 @@ digraph { bits_shift_by_b64_le__seq [label=< - - + +
possizetypeid
08b64a
81b8b
08b64lea
81b8leb
>]; } } diff --git a/compiled/graphviz/bits_signed_res_b32_be.dot b/compiled/graphviz/bits_signed_res_b32_be.dot index 85b8a5f6..702f6353 100644 --- a/compiled/graphviz/bits_signed_res_b32_be.dot +++ b/compiled/graphviz/bits_signed_res_b32_be.dot @@ -7,7 +7,7 @@ digraph { bits_signed_res_b32_be__seq [label=< - +
possizetypeid
04b32a
04b32bea
>]; } } diff --git a/compiled/graphviz/bits_signed_res_b32_le.dot b/compiled/graphviz/bits_signed_res_b32_le.dot index 1896e67b..ce566292 100644 --- a/compiled/graphviz/bits_signed_res_b32_le.dot +++ b/compiled/graphviz/bits_signed_res_b32_le.dot @@ -7,7 +7,7 @@ digraph { bits_signed_res_b32_le__seq [label=< - +
possizetypeid
04b32a
04b32lea
>]; } } diff --git a/compiled/graphviz/bits_signed_shift_b32_le.dot b/compiled/graphviz/bits_signed_shift_b32_le.dot index 328472cd..020e68c7 100644 --- a/compiled/graphviz/bits_signed_shift_b32_le.dot +++ b/compiled/graphviz/bits_signed_shift_b32_le.dot @@ -7,8 +7,8 @@ digraph { bits_signed_shift_b32_le__seq [label=< - - + +
possizetypeid
031bb31a
3:79bb9b
031bb31lea
3:79bb9leb
>]; } } diff --git a/compiled/graphviz/bits_signed_shift_b64_le.dot b/compiled/graphviz/bits_signed_shift_b64_le.dot index 2c885976..56d36463 100644 --- a/compiled/graphviz/bits_signed_shift_b64_le.dot +++ b/compiled/graphviz/bits_signed_shift_b64_le.dot @@ -7,8 +7,8 @@ digraph { bits_signed_shift_b64_le__seq [label=< - - + +
possizetypeid
063bb63a
7:79bb9b
063bb63lea
7:79bb9leb
>]; } } diff --git a/compiled/graphviz/bits_simple.dot b/compiled/graphviz/bits_simple.dot index 3bcfb4e6..2bf544b8 100644 --- a/compiled/graphviz/bits_simple.dot +++ b/compiled/graphviz/bits_simple.dot @@ -7,19 +7,19 @@ digraph { bits_simple__seq [label=< - - - - - - - - + + + + + + + + - - - - + + + +
possizetypeid
01b8byte_1
11b8byte_2
21bBitsType1(BigBitEndian)bits_a
2:13bb3bits_b
2:44bb4bits_c
310bb10large_bits_1
4:23bb3spacer
4:511bb11large_bits_2
01b8bebyte_1
11b8bebyte_2
21bb1be→boolbits_a
2:13bb3bebits_b
2:44bb4bebits_c
310bb10belarge_bits_1
4:23bb3bespacer
4:511bb11belarge_bits_2
62s2benormal_s2
83b24byte_8_9_10
114b32byte_11_to_14
155b40byte_15_to_19
208b64byte_20_to_27
83b24bebyte_8_9_10
114b32bebyte_11_to_14
155b40bebyte_15_to_19
208b64bebyte_20_to_27
>]; bits_simple__inst__test_if_b1 [label=< diff --git a/compiled/graphviz/bits_simple_le.dot b/compiled/graphviz/bits_simple_le.dot index 381e76ac..3c871c32 100644 --- a/compiled/graphviz/bits_simple_le.dot +++ b/compiled/graphviz/bits_simple_le.dot @@ -7,19 +7,19 @@ digraph { bits_simple_le__seq [label=<
idvalue
- - - - - - - - + + + + + + + + - - - - + + + +
possizetypeid
01b8byte_1
11b8byte_2
21bBitsType1(LittleBitEndian)bits_a
2:13bb3bits_b
2:44bb4bits_c
310bb10large_bits_1
4:23bb3spacer
4:511bb11large_bits_2
01b8lebyte_1
11b8lebyte_2
21bb1le→boolbits_a
2:13bb3lebits_b
2:44bb4lebits_c
310bb10lelarge_bits_1
4:23bb3lespacer
4:511bb11lelarge_bits_2
62s2benormal_s2
83b24byte_8_9_10
114b32byte_11_to_14
155b40byte_15_to_19
208b64byte_20_to_27
83b24lebyte_8_9_10
114b32lebyte_11_to_14
155b40lebyte_15_to_19
208b64lebyte_20_to_27
>]; bits_simple_le__inst__test_if_b1 [label=< diff --git a/compiled/graphviz/bits_unaligned_b32_be.dot b/compiled/graphviz/bits_unaligned_b32_be.dot index 133b6611..38aa48f5 100644 --- a/compiled/graphviz/bits_unaligned_b32_be.dot +++ b/compiled/graphviz/bits_unaligned_b32_be.dot @@ -7,9 +7,9 @@ digraph { bits_unaligned_b32_be__seq [label=<
idvalue
- - - + + +
possizetypeid
01bBitsType1(BigBitEndian)a
0:14b32b
4:17bb7c
01bb1be→boola
0:14b32beb
4:17bb7bec
>]; } } diff --git a/compiled/graphviz/bits_unaligned_b32_le.dot b/compiled/graphviz/bits_unaligned_b32_le.dot index 723d9129..3b7046d7 100644 --- a/compiled/graphviz/bits_unaligned_b32_le.dot +++ b/compiled/graphviz/bits_unaligned_b32_le.dot @@ -7,9 +7,9 @@ digraph { bits_unaligned_b32_le__seq [label=< - - - + + +
possizetypeid
01bBitsType1(LittleBitEndian)a
0:14b32b
4:17bb7c
01bb1le→boola
0:14b32leb
4:17bb7lec
>]; } } diff --git a/compiled/graphviz/bits_unaligned_b64_be.dot b/compiled/graphviz/bits_unaligned_b64_be.dot index 02efea2b..19685aca 100644 --- a/compiled/graphviz/bits_unaligned_b64_be.dot +++ b/compiled/graphviz/bits_unaligned_b64_be.dot @@ -7,9 +7,9 @@ digraph { bits_unaligned_b64_be__seq [label=< - - - + + +
possizetypeid
01bBitsType1(BigBitEndian)a
0:18b64b
8:17bb7c
01bb1be→boola
0:18b64beb
8:17bb7bec
>]; } } diff --git a/compiled/graphviz/bits_unaligned_b64_le.dot b/compiled/graphviz/bits_unaligned_b64_le.dot index f994afe3..3c717b7d 100644 --- a/compiled/graphviz/bits_unaligned_b64_le.dot +++ b/compiled/graphviz/bits_unaligned_b64_le.dot @@ -7,9 +7,9 @@ digraph { bits_unaligned_b64_le__seq [label=< - - - + + +
possizetypeid
01bBitsType1(LittleBitEndian)a
0:18b64b
8:17bb7c
01bb1le→boola
0:18b64leb
8:17bb7lec
>]; } } diff --git a/compiled/graphviz/cast_nested.dot b/compiled/graphviz/cast_nested.dot new file mode 100644 index 00000000..e0197050 --- /dev/null +++ b/compiled/graphviz/cast_nested.dot @@ -0,0 +1,72 @@ +digraph { + rankdir=LR; + node [shape=plaintext]; + subgraph cluster__cast_nested { + label="CastNested"; + graph[style=dotted]; + + cast_nested__seq [label=< + + + +
possizetypeid
0...Opcodeopcodes
repeat to end of stream
>]; + cast_nested__inst__opcodes_0_str [label=< + + +
idvalue
opcodes_0_stropcodes[0].body
>]; + cast_nested__inst__opcodes_0_str_value [label=< + + +
idvalue
opcodes_0_str_valueopcodes[0].body.value
>]; + cast_nested__inst__opcodes_1_int [label=< + + +
idvalue
opcodes_1_intopcodes[1].body
>]; + cast_nested__inst__opcodes_1_int_value [label=< + + +
idvalue
opcodes_1_int_valueopcodes[1].body.value
>]; + subgraph cluster__opcode { + label="CastNested::Opcode"; + graph[style=dotted]; + + opcode__seq [label=< + + + +
possizetypeid
01u1code
1...switch (code)body
>]; +opcode__seq_body_switch [label=< + + + +
casetype
73Intval
83Strval
>]; + subgraph cluster__intval { + label="CastNested::Opcode::Intval"; + graph[style=dotted]; + + intval__seq [label=< + + +
possizetypeid
01u1value
>]; + } + subgraph cluster__strval { + label="CastNested::Opcode::Strval"; + graph[style=dotted]; + + strval__seq [label=< + + +
possizetypeid
0...str(term=0, ASCII)value
>]; + } + } + } + cast_nested__seq:opcodes_type -> opcode__seq [style=bold]; + opcode__seq:body_type -> cast_nested__inst__opcodes_0_str [color="#404040"]; + strval__seq:value_type -> cast_nested__inst__opcodes_0_str_value [color="#404040"]; + opcode__seq:body_type -> cast_nested__inst__opcodes_1_int [color="#404040"]; + intval__seq:value_type -> cast_nested__inst__opcodes_1_int_value [color="#404040"]; + opcode__seq:body_type -> opcode__seq_body_switch [style=bold]; + opcode__seq_body_switch:case0 -> intval__seq [style=bold]; + opcode__seq_body_switch:case1 -> strval__seq [style=bold]; + opcode__seq:code_type -> opcode__seq:body_type [color="#404040"]; +} diff --git a/compiled/graphviz/cast_to_imported2.dot b/compiled/graphviz/cast_to_imported2.dot new file mode 100644 index 00000000..1cd37668 --- /dev/null +++ b/compiled/graphviz/cast_to_imported2.dot @@ -0,0 +1,17 @@ +digraph { + rankdir=LR; + node [shape=plaintext]; + subgraph cluster__cast_to_imported2 { + label="CastToImported2"; + graph[style=dotted]; + + cast_to_imported2__seq [label=< + +
possizetypeid
>]; + cast_to_imported2__inst__hw [label=< + + +
idvalue
hwhw_param
>]; + } + cast_to_imported2__params:hw_param_type -> cast_to_imported2__inst__hw [color="#404040"]; +} diff --git a/compiled/graphviz/cast_to_top.dot b/compiled/graphviz/cast_to_top.dot new file mode 100644 index 00000000..c17ba8ff --- /dev/null +++ b/compiled/graphviz/cast_to_top.dot @@ -0,0 +1,23 @@ +digraph { + rankdir=LR; + node [shape=plaintext]; + subgraph cluster__cast_to_top { + label="CastToTop"; + graph[style=dotted]; + + cast_to_top__seq [label=< + + +
possizetypeid
01u1code
>]; + cast_to_top__inst__header [label=< + + +
possizetypeid
11CastToTopheader
>]; + cast_to_top__inst__header_casted [label=< + + +
idvalue
header_castedheader
>]; + } + cast_to_top__inst__header:header_type -> cast_to_top__seq [style=bold]; + cast_to_top__inst__header:header_type -> cast_to_top__inst__header_casted [color="#404040"]; +} diff --git a/compiled/graphviz/combine_bool.dot b/compiled/graphviz/combine_bool.dot index 2cca49a0..e0b5f844 100644 --- a/compiled/graphviz/combine_bool.dot +++ b/compiled/graphviz/combine_bool.dot @@ -7,7 +7,7 @@ digraph { combine_bool__seq [label=< - +
possizetypeid
01bBitsType1(BigBitEndian)bool_bit
01bb1be→boolbool_bit
>]; combine_bool__inst__bool_calc [label=< diff --git a/compiled/graphviz/default_bit_endian_mod.dot b/compiled/graphviz/default_bit_endian_mod.dot index 55725976..a5f1dc1c 100644 --- a/compiled/graphviz/default_bit_endian_mod.dot +++ b/compiled/graphviz/default_bit_endian_mod.dot @@ -15,8 +15,8 @@ digraph { main_obj__seq [label=<
idvalue
- - + +
possizetypeid
09bb9one
1:115bb15two
09bb9leone
1:115bb15letwo
32Subnestnest
52SubnestBenest_be
>]; @@ -26,7 +26,7 @@ digraph { subnest__seq [label=< - +
possizetypeid
02b16two
02b16letwo
>]; } subgraph cluster__subnest_be { @@ -35,7 +35,7 @@ digraph { subnest_be__seq [label=< - +
possizetypeid
02b16two
02b16betwo
>]; } } diff --git a/compiled/graphviz/enum_if.dot b/compiled/graphviz/enum_if.dot index a7ea3afe..332a4608 100644 --- a/compiled/graphviz/enum_if.dot +++ b/compiled/graphviz/enum_if.dot @@ -39,7 +39,9 @@ digraph { possizetypeid 01u1→Opcodesopcode 12ArgTuplearg_tuple + if opcode == :opcodes_a_tuple 3...ArgStrarg_str + if opcode == :opcodes_a_string >]; } } @@ -48,5 +50,7 @@ digraph { enum_if__seq:op3_type -> operation__seq [style=bold]; arg_str__seq:len_type -> arg_str__seq:str_size [color="#404040"]; operation__seq:arg_tuple_type -> arg_tuple__seq [style=bold]; + operation__seq:opcode_type -> operation__seq:arg_tuple__if [color="#404040"]; operation__seq:arg_str_type -> arg_str__seq [style=bold]; + operation__seq:opcode_type -> operation__seq:arg_str__if [color="#404040"]; } diff --git a/compiled/graphviz/expr_bits.dot b/compiled/graphviz/expr_bits.dot index b51623aa..6cda2f9b 100644 --- a/compiled/graphviz/expr_bits.dot +++ b/compiled/graphviz/expr_bits.dot @@ -7,8 +7,8 @@ digraph { expr_bits__seq [label=< - - + + diff --git a/compiled/graphviz/expr_bytes_non_literal.dot b/compiled/graphviz/expr_bytes_non_literal.dot new file mode 100644 index 00000000..5be29045 --- /dev/null +++ b/compiled/graphviz/expr_bytes_non_literal.dot @@ -0,0 +1,20 @@ +digraph { + rankdir=LR; + node [shape=plaintext]; + subgraph cluster__expr_bytes_non_literal { + label="ExprBytesNonLiteral"; + graph[style=dotted]; + + expr_bytes_non_literal__seq [label=<
possizetypeid
02bb2→Itemsenum_seq
0:23bb3a
02bb2be→Itemsenum_seq
0:23bb3bea
0:5abyte_size
...1s1repeat_expr
repeat a times
+ + + +
possizetypeid
01u1one
11u1two
>]; + expr_bytes_non_literal__inst__calc_bytes [label=< + + +
idvalue
calc_bytes[one, two].pack('C*')
>]; + } + expr_bytes_non_literal__seq:one_type -> expr_bytes_non_literal__inst__calc_bytes [color="#404040"]; + expr_bytes_non_literal__seq:two_type -> expr_bytes_non_literal__inst__calc_bytes [color="#404040"]; +} diff --git a/compiled/graphviz/expr_if_int_ops.dot b/compiled/graphviz/expr_if_int_ops.dot index dc48a001..03fda7a1 100644 --- a/compiled/graphviz/expr_if_int_ops.dot +++ b/compiled/graphviz/expr_if_int_ops.dot @@ -9,7 +9,9 @@ digraph { possizetypeid 02skip 22s2leit + if true 42s2leboxed + if true >]; expr_if_int_ops__inst__is_eq_boxed [label=< diff --git a/compiled/graphviz/expr_io_eof.dot b/compiled/graphviz/expr_io_eof.dot index 16e0a9b2..6d448a98 100644 --- a/compiled/graphviz/expr_io_eof.dot +++ b/compiled/graphviz/expr_io_eof.dot @@ -18,6 +18,7 @@ digraph { +
idvalue
possizetypeid
04u4leone
44u4letwo
if !(_io.eof?)
>]; one_or_two__inst__reflect_eof [label=< diff --git a/compiled/graphviz/expr_sizeof_type_0.dot b/compiled/graphviz/expr_sizeof_type_0.dot new file mode 100644 index 00000000..3699f459 --- /dev/null +++ b/compiled/graphviz/expr_sizeof_type_0.dot @@ -0,0 +1,27 @@ +digraph { + rankdir=LR; + node [shape=plaintext]; + subgraph cluster__expr_sizeof_type_0 { + label="ExprSizeofType0"; + graph[style=dotted]; + + expr_sizeof_type_0__seq [label=<
idvalue
+ +
possizetypeid
>]; + expr_sizeof_type_0__inst__sizeof_block [label=< + + +
idvalue
sizeof_block7
>]; + subgraph cluster__block { + label="ExprSizeofType0::Block"; + graph[style=dotted]; + + block__seq [label=< + + + + +
possizetypeid
01u1a
14u4leb
52c
>]; + } + } +} diff --git a/compiled/graphviz/expr_sizeof_type_1.dot b/compiled/graphviz/expr_sizeof_type_1.dot new file mode 100644 index 00000000..898ec9c2 --- /dev/null +++ b/compiled/graphviz/expr_sizeof_type_1.dot @@ -0,0 +1,42 @@ +digraph { + rankdir=LR; + node [shape=plaintext]; + subgraph cluster__expr_sizeof_type_1 { + label="ExprSizeofType1"; + graph[style=dotted]; + + expr_sizeof_type_1__seq [label=< + +
possizetypeid
>]; + expr_sizeof_type_1__inst__sizeof_block [label=< + + +
idvalue
sizeof_block11
>]; + expr_sizeof_type_1__inst__sizeof_subblock [label=< + + +
idvalue
sizeof_subblock4
>]; + subgraph cluster__block { + label="ExprSizeofType1::Block"; + graph[style=dotted]; + + block__seq [label=< + + + + + +
possizetypeid
01u1a
14u4leb
52c
74Subblockd
>]; + subgraph cluster__subblock { + label="ExprSizeofType1::Block::Subblock"; + graph[style=dotted]; + + subblock__seq [label=< + + +
possizetypeid
04a
>]; + } + } + } + block__seq:d_type -> subblock__seq [style=bold]; +} diff --git a/compiled/graphviz/expr_sizeof_value_0.dot b/compiled/graphviz/expr_sizeof_value_0.dot new file mode 100644 index 00000000..a74407fa --- /dev/null +++ b/compiled/graphviz/expr_sizeof_value_0.dot @@ -0,0 +1,50 @@ +digraph { + rankdir=LR; + node [shape=plaintext]; + subgraph cluster__expr_sizeof_value_0 { + label="ExprSizeofValue0"; + graph[style=dotted]; + + expr_sizeof_value_0__seq [label=< + + + +
possizetypeid
07Blockblock1
72u2lemore
>]; + expr_sizeof_value_0__inst__self_sizeof [label=< + + +
idvalue
self_sizeof9
>]; + expr_sizeof_value_0__inst__sizeof_block [label=< + + +
idvalue
sizeof_block7
>]; + expr_sizeof_value_0__inst__sizeof_block_a [label=< + + +
idvalue
sizeof_block_a1
>]; + expr_sizeof_value_0__inst__sizeof_block_b [label=< + + +
idvalue
sizeof_block_b4
>]; + expr_sizeof_value_0__inst__sizeof_block_c [label=< + + +
idvalue
sizeof_block_c2
>]; + subgraph cluster__block { + label="ExprSizeofValue0::Block"; + graph[style=dotted]; + + block__seq [label=< + + + + +
possizetypeid
01u1a
14u4leb
52c
>]; + } + } + expr_sizeof_value_0__seq:block1_type -> block__seq [style=bold]; + expr_sizeof_value_0__seq:block1_size -> expr_sizeof_value_0__inst__sizeof_block [color="#404040"]; + block__seq:a_size -> expr_sizeof_value_0__inst__sizeof_block_a [color="#404040"]; + block__seq:b_size -> expr_sizeof_value_0__inst__sizeof_block_b [color="#404040"]; + block__seq:c_size -> expr_sizeof_value_0__inst__sizeof_block_c [color="#404040"]; +} diff --git a/compiled/graphviz/expr_sizeof_value_sized.dot b/compiled/graphviz/expr_sizeof_value_sized.dot new file mode 100644 index 00000000..746c3ae0 --- /dev/null +++ b/compiled/graphviz/expr_sizeof_value_sized.dot @@ -0,0 +1,50 @@ +digraph { + rankdir=LR; + node [shape=plaintext]; + subgraph cluster__expr_sizeof_value_sized { + label="ExprSizeofValueSized"; + graph[style=dotted]; + + expr_sizeof_value_sized__seq [label=< + + + +
possizetypeid
012Blockblock1
122u2lemore
>]; + expr_sizeof_value_sized__inst__self_sizeof [label=< + + +
idvalue
self_sizeof14
>]; + expr_sizeof_value_sized__inst__sizeof_block [label=< + + +
idvalue
sizeof_block12
>]; + expr_sizeof_value_sized__inst__sizeof_block_a [label=< + + +
idvalue
sizeof_block_a1
>]; + expr_sizeof_value_sized__inst__sizeof_block_b [label=< + + +
idvalue
sizeof_block_b4
>]; + expr_sizeof_value_sized__inst__sizeof_block_c [label=< + + +
idvalue
sizeof_block_c2
>]; + subgraph cluster__block { + label="ExprSizeofValueSized::Block"; + graph[style=dotted]; + + block__seq [label=< + + + + +
possizetypeid
01u1a
14u4leb
52c
>]; + } + } + expr_sizeof_value_sized__seq:block1_type -> block__seq [style=bold]; + expr_sizeof_value_sized__seq:block1_size -> expr_sizeof_value_sized__inst__sizeof_block [color="#404040"]; + block__seq:a_size -> expr_sizeof_value_sized__inst__sizeof_block_a [color="#404040"]; + block__seq:b_size -> expr_sizeof_value_sized__inst__sizeof_block_b [color="#404040"]; + block__seq:c_size -> expr_sizeof_value_sized__inst__sizeof_block_c [color="#404040"]; +} diff --git a/compiled/graphviz/fixed_contents.dot b/compiled/graphviz/fixed_contents.dot index 305b1771..695b8b33 100644 --- a/compiled/graphviz/fixed_contents.dot +++ b/compiled/graphviz/fixed_contents.dot @@ -7,8 +7,8 @@ digraph { fixed_contents__seq [label=< - - + +
possizetypeid
06normal
62high_bit_8
0650 41 43 4B 2D 31normal
62FF FFhigh_bit_8
>]; } } diff --git a/compiled/graphviz/fixed_struct.dot b/compiled/graphviz/fixed_struct.dot index be11d009..a4beba9d 100644 --- a/compiled/graphviz/fixed_struct.dot +++ b/compiled/graphviz/fixed_struct.dot @@ -18,30 +18,30 @@ digraph { header__seq [label=< - + - + - + - + - + - + - + diff --git a/compiled/graphviz/if_instances.dot b/compiled/graphviz/if_instances.dot index e187cb35..a2e37e24 100644 --- a/compiled/graphviz/if_instances.dot +++ b/compiled/graphviz/if_instances.dot @@ -11,6 +11,7 @@ digraph { if_instances__inst__never_happens [label=<
possizetypeid
06magic1
0650 41 43 4B 2D 31magic1
61u1uint8
71s1sint8
810magic_uint
81050 41 43 4B 2D 55 2D 44 45 46magic_uint
182u2leuint16
204u4leuint32
248u8leuint64
3210magic_sint
321050 41 43 4B 2D 53 2D 44 45 46magic_sint
422s2lesint16
444s4lesint32
488s8lesint64
569magic_uint_le
56950 41 43 4B 2D 55 2D 4C 45magic_uint_le
652u2leuint16le
674u4leuint32le
718u8leuint64le
799magic_sint_le
79950 41 43 4B 2D 53 2D 4C 45magic_sint_le
882s2lesint16le
904s4lesint32le
948s8lesint64le
1029magic_uint_be
102950 41 43 4B 2D 55 2D 42 45magic_uint_be
1112u2beuint16be
1134u4beuint32be
1178u8beuint64be
1259magic_sint_be
125950 41 43 4B 2D 53 2D 42 45magic_sint_be
1342s2besint16be
1364s4besint32be
1408s8besint64be
+
possizetypeid
1005001u1never_happens
if false
>]; } } diff --git a/compiled/graphviz/if_struct.dot b/compiled/graphviz/if_struct.dot index 480879e8..4ffe4570 100644 --- a/compiled/graphviz/if_struct.dot +++ b/compiled/graphviz/if_struct.dot @@ -39,7 +39,9 @@ digraph { possizetypeid 01u1opcode 12ArgTuplearg_tuple + if opcode == 84 3...ArgStrarg_str + if opcode == 83 >]; } } @@ -48,5 +50,7 @@ digraph { if_struct__seq:op3_type -> operation__seq [style=bold]; arg_str__seq:len_type -> arg_str__seq:str_size [color="#404040"]; operation__seq:arg_tuple_type -> arg_tuple__seq [style=bold]; + operation__seq:opcode_type -> operation__seq:arg_tuple__if [color="#404040"]; operation__seq:arg_str_type -> arg_str__seq [style=bold]; + operation__seq:opcode_type -> operation__seq:arg_str__if [color="#404040"]; } diff --git a/compiled/graphviz/imports_circular_b.dot b/compiled/graphviz/imports_circular_b.dot index f46f7eff..6d80876b 100644 --- a/compiled/graphviz/imports_circular_b.dot +++ b/compiled/graphviz/imports_circular_b.dot @@ -9,7 +9,9 @@ digraph { possizetypeid 01u1initial 1...ImportsCircularAback_ref + if initial == 65 >]; } imports_circular_b__seq:back_ref_type -> imports_circular_a__seq [style=bold]; + imports_circular_b__seq:initial_type -> imports_circular_b__seq:back_ref__if [color="#404040"]; } diff --git a/compiled/graphviz/instance_user_array.dot b/compiled/graphviz/instance_user_array.dot index b63dfebc..d76322f6 100644 --- a/compiled/graphviz/instance_user_array.dot +++ b/compiled/graphviz/instance_user_array.dot @@ -15,6 +15,7 @@ digraph { possizetypeid ofsentry_sizeEntryuser_entries repeat qty_entries times + if ofs > 0 >]; subgraph cluster__entry { label="InstanceUserArray::Entry"; @@ -31,4 +32,5 @@ digraph { instance_user_array__seq:entry_size_type -> instance_user_array__inst__user_entries:user_entries_size [color="#404040"]; instance_user_array__inst__user_entries:user_entries_type -> entry__seq [style=bold]; instance_user_array__seq:qty_entries_type -> instance_user_array__inst__user_entries:user_entries__repeat [color="#404040"]; + instance_user_array__seq:ofs_type -> instance_user_array__inst__user_entries:user_entries__if [color="#404040"]; } diff --git a/compiled/graphviz/integers.dot b/compiled/graphviz/integers.dot index f95482b2..31b08529 100644 --- a/compiled/graphviz/integers.dot +++ b/compiled/graphviz/integers.dot @@ -7,30 +7,30 @@ digraph { integers__seq [label=< - + - + - + - + - + - + - + diff --git a/compiled/graphviz/io_local_var.dot b/compiled/graphviz/io_local_var.dot index 0c1ee4a2..c9a41b33 100644 --- a/compiled/graphviz/io_local_var.dot +++ b/compiled/graphviz/io_local_var.dot @@ -9,6 +9,7 @@ digraph { +
possizetypeid
06magic1
0650 41 43 4B 2D 31magic1
61u1uint8
71s1sint8
810magic_uint
81050 41 43 4B 2D 55 2D 44 45 46magic_uint
182u2leuint16
204u4leuint32
248u8leuint64
3210magic_sint
321050 41 43 4B 2D 53 2D 44 45 46magic_sint
422s2lesint16
444s4lesint32
488s8lesint64
569magic_uint_le
56950 41 43 4B 2D 55 2D 4C 45magic_uint_le
652u2leuint16le
674u4leuint32le
718u8leuint64le
799magic_sint_le
79950 41 43 4B 2D 53 2D 4C 45magic_sint_le
882s2lesint16le
904s4lesint32le
948s8lesint64le
1029magic_uint_be
102950 41 43 4B 2D 55 2D 42 45magic_uint_be
1112u2beuint16be
1134u4beuint32be
1178u8beuint64be
1259magic_sint_be
125950 41 43 4B 2D 53 2D 42 45magic_sint_be
1342s2besint16be
1364s4besint32be
1408s8besint64be
possizetypeid
020skip
201u1always_null
if mess_up._io.pos < 0
211u1followup
>]; io_local_var__inst__mess_up [label=< @@ -29,6 +30,7 @@ io_local_var__inst__mess_up_mess_up_switch [label=<
>]; } } + io_local_var__inst__mess_up:mess_up_type -> io_local_var__seq:always_null__if [color="#404040"]; io_local_var__inst__mess_up:mess_up_type -> io_local_var__inst__mess_up_mess_up_switch [style=bold]; io_local_var__inst__mess_up_mess_up_switch:case0 -> dummy__seq [style=bold]; io_local_var__inst__mess_up_mess_up_switch:case1 -> dummy__seq [style=bold]; diff --git a/compiled/graphviz/nav_parent_false.dot b/compiled/graphviz/nav_parent_false.dot index 7788683c..a01aff29 100644 --- a/compiled/graphviz/nav_parent_false.dot +++ b/compiled/graphviz/nav_parent_false.dot @@ -19,6 +19,7 @@ digraph { +
possizetypeid
01u1code
1_parent._parent.child_sizemore
if code == 73
>]; } subgraph cluster__parent_a { @@ -44,6 +45,7 @@ digraph { nav_parent_false__seq:element_a_type -> parent_a__seq [style=bold]; nav_parent_false__seq:element_b_type -> parent_b__seq [style=bold]; nav_parent_false__seq:child_size_type -> child__seq:more_size [color="#404040"]; + child__seq:code_type -> child__seq:more__if [color="#404040"]; parent_a__seq:foo_type -> child__seq [style=bold]; parent_a__seq:bar_type -> parent_b__seq [style=bold]; parent_b__seq:foo_type -> child__seq [style=bold]; diff --git a/compiled/graphviz/nav_parent_recursive.dot b/compiled/graphviz/nav_parent_recursive.dot index 7afff740..e7476b72 100644 --- a/compiled/graphviz/nav_parent_recursive.dot +++ b/compiled/graphviz/nav_parent_recursive.dot @@ -9,6 +9,7 @@ digraph { possizetypeid 01u1value 1...NavParentRecursivenext + if value == 255 >]; nav_parent_recursive__inst__parent_value [label=< @@ -16,5 +17,6 @@ digraph {
idvalue
>]; } nav_parent_recursive__seq:next_type -> nav_parent_recursive__seq [style=bold]; + nav_parent_recursive__seq:value_type -> nav_parent_recursive__seq:next__if [color="#404040"]; nav_parent_recursive__seq:value_type -> nav_parent_recursive__inst__parent_value [color="#404040"]; } diff --git a/compiled/graphviz/nav_parent_switch.dot b/compiled/graphviz/nav_parent_switch.dot index bb664255..0806ec8c 100644 --- a/compiled/graphviz/nav_parent_switch.dot +++ b/compiled/graphviz/nav_parent_switch.dot @@ -31,6 +31,7 @@ nav_parent_switch__seq_content_switch [label=< +
possizetypeid
01u1bar
if _parent.foo == 66
>]; } } @@ -38,4 +39,5 @@ nav_parent_switch__seq_content_switch [label=< element_1__seq [style=bold]; nav_parent_switch__seq:category_type -> nav_parent_switch__seq:content_type [color="#404040"]; element_1__seq:subelement_type -> subelement_1__seq [style=bold]; + element_1__seq:foo_type -> subelement_1__seq:bar__if [color="#404040"]; } diff --git a/compiled/graphviz/nav_root_recursive.dot b/compiled/graphviz/nav_root_recursive.dot index 18b3774b..fbb06d87 100644 --- a/compiled/graphviz/nav_root_recursive.dot +++ b/compiled/graphviz/nav_root_recursive.dot @@ -9,6 +9,7 @@ digraph { +
possizetypeid
01u1value
1...NavRootRecursivenext
if value == 255
>]; nav_root_recursive__inst__root_value [label=< @@ -16,5 +17,6 @@ digraph {
idvalue
>]; } nav_root_recursive__seq:next_type -> nav_root_recursive__seq [style=bold]; + nav_root_recursive__seq:value_type -> nav_root_recursive__seq:next__if [color="#404040"]; nav_root_recursive__seq:value_type -> nav_root_recursive__inst__root_value [color="#404040"]; } diff --git a/compiled/graphviz/opaque_external_type_02_child.dot b/compiled/graphviz/opaque_external_type_02_child.dot index b100b1eb..545f9ee1 100644 --- a/compiled/graphviz/opaque_external_type_02_child.dot +++ b/compiled/graphviz/opaque_external_type_02_child.dot @@ -22,8 +22,10 @@ digraph { opaque_external_type_02_child_child__seq [label=< +
possizetypeid
0...str(term=64, include, UTF-8)s3
if _root.some_method
>]; } } opaque_external_type_02_child__seq:s3_type -> opaque_external_type_02_child_child__seq [style=bold]; + opaque_external_type_02_child__inst__some_method:some_method_type -> opaque_external_type_02_child_child__seq:s3__if [color="#404040"]; } diff --git a/compiled/graphviz/params_call.dot b/compiled/graphviz/params_call.dot index 55a9c466..40cb608c 100644 --- a/compiled/graphviz/params_call.dot +++ b/compiled/graphviz/params_call.dot @@ -27,6 +27,7 @@ digraph { possizetypeid 0lenstr(UTF-8)body ...1u1trailer + if has_trailer >]; } } @@ -34,4 +35,5 @@ digraph { params_call__seq:buf2_type -> my_str2__seq [style=bold]; my_str1__params:len_type -> my_str1__seq:body_size [color="#404040"]; my_str2__params:len_type -> my_str2__seq:body_size [color="#404040"]; + my_str2__params:has_trailer_type -> my_str2__seq:trailer__if [color="#404040"]; } diff --git a/compiled/graphviz/params_def.dot b/compiled/graphviz/params_def.dot index 98f924f2..32b810e5 100644 --- a/compiled/graphviz/params_def.dot +++ b/compiled/graphviz/params_def.dot @@ -9,7 +9,9 @@ digraph { possizetypeid 0lenstr(UTF-8)buf ...1u1trailer + if has_trailer >]; } params_def__params:len_type -> params_def__seq:buf_size [color="#404040"]; + params_def__params:has_trailer_type -> params_def__seq:trailer__if [color="#404040"]; } diff --git a/compiled/graphviz/params_pass_array_int.dot b/compiled/graphviz/params_pass_array_int.dot new file mode 100644 index 00000000..c1f0c4c5 --- /dev/null +++ b/compiled/graphviz/params_pass_array_int.dot @@ -0,0 +1,30 @@ +digraph { + rankdir=LR; + node [shape=plaintext]; + subgraph cluster__params_pass_array_int { + label="ParamsPassArrayInt"; + graph[style=dotted]; + + params_pass_array_int__seq [label=< + + + + + +
possizetypeid
02u2leints
repeat 3 times
60WantsIntspass_ints
60WantsIntspass_ints_calc
>]; + params_pass_array_int__inst__ints_calc [label=< + + +
idvalue
ints_calc[27643, 7]
>]; + subgraph cluster__wants_ints { + label="ParamsPassArrayInt::WantsInts"; + graph[style=dotted]; + + wants_ints__seq [label=< + +
possizetypeid
>]; + } + } + params_pass_array_int__seq:pass_ints_type -> wants_ints__seq [style=bold]; + params_pass_array_int__seq:pass_ints_calc_type -> wants_ints__seq [style=bold]; +} diff --git a/compiled/graphviz/params_pass_bool.dot b/compiled/graphviz/params_pass_bool.dot index dfdf8a5b..28ea4db6 100644 --- a/compiled/graphviz/params_pass_bool.dot +++ b/compiled/graphviz/params_pass_bool.dot @@ -7,8 +7,8 @@ digraph { params_pass_bool__seq [label=< - - + + diff --git a/compiled/graphviz/process_coerce_bytes.dot b/compiled/graphviz/process_coerce_bytes.dot index 33e6d941..dccb7845 100644 --- a/compiled/graphviz/process_coerce_bytes.dot +++ b/compiled/graphviz/process_coerce_bytes.dot @@ -18,7 +18,9 @@ digraph { + +
possizetypeid
01bBitsType1(BigBitEndian)s_false
0:11bBitsType1(BigBitEndian)s_true
01bb1be→bools_false
0:11bb1be→bools_true
0:2...ParamTypeB1seq_b1
......ParamTypeBoolseq_bool
......ParamTypeB1literal_b1
possizetypeid
01u1flag
14buf_unproc
if flag == 0
54buf_proc
if flag != 0
>]; record__inst__buf [label=< @@ -27,6 +29,8 @@ digraph { } } process_coerce_bytes__seq:records_type -> record__seq [style=bold]; + record__seq:flag_type -> record__seq:buf_unproc__if [color="#404040"]; + record__seq:flag_type -> record__seq:buf_proc__if [color="#404040"]; record__seq:flag_type -> record__inst__buf [color="#404040"]; record__seq:buf_unproc_type -> record__inst__buf [color="#404040"]; record__seq:buf_proc_type -> record__inst__buf [color="#404040"]; diff --git a/compiled/graphviz/process_coerce_switch.dot b/compiled/graphviz/process_coerce_switch.dot index 7d27909e..23842b2c 100644 --- a/compiled/graphviz/process_coerce_switch.dot +++ b/compiled/graphviz/process_coerce_switch.dot @@ -10,7 +10,9 @@ digraph { + +
idvalue
01u1buf_type
11u1flag
2...switch (buf_type)buf_unproc
if flag == 0
......switch (buf_type)buf_proc
if flag != 0
>]; process_coerce_switch__inst__buf [label=< @@ -37,9 +39,11 @@ process_coerce_switch__seq_buf_proc_switch [label=<
idvalue
process_coerce_switch__seq_buf_unproc_switch [style=bold]; process_coerce_switch__seq_buf_unproc_switch:case0 -> foo__seq [style=bold]; process_coerce_switch__seq:buf_type_type -> process_coerce_switch__seq:buf_unproc_type [color="#404040"]; + process_coerce_switch__seq:flag_type -> process_coerce_switch__seq:buf_unproc__if [color="#404040"]; process_coerce_switch__seq:buf_proc_type -> process_coerce_switch__seq_buf_proc_switch [style=bold]; process_coerce_switch__seq_buf_proc_switch:case0 -> foo__seq [style=bold]; process_coerce_switch__seq:buf_type_type -> process_coerce_switch__seq:buf_proc_type [color="#404040"]; + process_coerce_switch__seq:flag_type -> process_coerce_switch__seq:buf_proc__if [color="#404040"]; process_coerce_switch__seq:flag_type -> process_coerce_switch__inst__buf [color="#404040"]; process_coerce_switch__seq:buf_unproc_type -> process_coerce_switch__inst__buf [color="#404040"]; process_coerce_switch__seq:buf_proc_type -> process_coerce_switch__inst__buf [color="#404040"]; diff --git a/compiled/graphviz/process_coerce_usertype1.dot b/compiled/graphviz/process_coerce_usertype1.dot index 8dbef52c..2a1dd686 100644 --- a/compiled/graphviz/process_coerce_usertype1.dot +++ b/compiled/graphviz/process_coerce_usertype1.dot @@ -27,7 +27,9 @@ digraph { + +
possizetypeid
01u1flag
14Foobuf_unproc
if flag == 0
54Foobuf_proc
if flag != 0
>]; record__inst__buf [label=< @@ -37,7 +39,9 @@ digraph { } process_coerce_usertype1__seq:records_type -> record__seq [style=bold]; record__seq:buf_unproc_type -> foo__seq [style=bold]; + record__seq:flag_type -> record__seq:buf_unproc__if [color="#404040"]; record__seq:buf_proc_type -> foo__seq [style=bold]; + record__seq:flag_type -> record__seq:buf_proc__if [color="#404040"]; record__seq:flag_type -> record__inst__buf [color="#404040"]; record__seq:buf_unproc_type -> record__inst__buf [color="#404040"]; record__seq:buf_proc_type -> record__inst__buf [color="#404040"]; diff --git a/compiled/graphviz/process_coerce_usertype2.dot b/compiled/graphviz/process_coerce_usertype2.dot index c8387707..2ded0b4b 100644 --- a/compiled/graphviz/process_coerce_usertype2.dot +++ b/compiled/graphviz/process_coerce_usertype2.dot @@ -27,7 +27,9 @@ digraph { + +
idvalue
possizetypeid
01u1flag
14Foobuf_unproc
if flag == 0
54Foobuf_proc
if flag != 0
>]; record__inst__buf [label=< @@ -37,7 +39,9 @@ digraph { } process_coerce_usertype2__seq:records_type -> record__seq [style=bold]; record__seq:buf_unproc_type -> foo__seq [style=bold]; + record__seq:flag_type -> record__seq:buf_unproc__if [color="#404040"]; record__seq:buf_proc_type -> foo__seq [style=bold]; + record__seq:flag_type -> record__seq:buf_proc__if [color="#404040"]; record__seq:flag_type -> record__inst__buf [color="#404040"]; record__seq:buf_unproc_type -> record__inst__buf [color="#404040"]; record__seq:buf_proc_type -> record__inst__buf [color="#404040"]; diff --git a/compiled/graphviz/repeat_eos_bit.dot b/compiled/graphviz/repeat_eos_bit.dot index 2500f215..35a99541 100644 --- a/compiled/graphviz/repeat_eos_bit.dot +++ b/compiled/graphviz/repeat_eos_bit.dot @@ -7,7 +7,7 @@ digraph { repeat_eos_bit__seq [label=<
idvalue
- +
possizetypeid
04bb4nibbles
04bb4benibbles
repeat to end of stream
>]; } diff --git a/compiled/graphviz/switch_cast.dot b/compiled/graphviz/switch_cast.dot new file mode 100644 index 00000000..288c51d6 --- /dev/null +++ b/compiled/graphviz/switch_cast.dot @@ -0,0 +1,67 @@ +digraph { + rankdir=LR; + node [shape=plaintext]; + subgraph cluster__switch_cast { + label="SwitchCast"; + graph[style=dotted]; + + switch_cast__seq [label=< + + + +
possizetypeid
0...Opcodeopcodes
repeat to end of stream
>]; + switch_cast__inst__err_cast [label=< + + +
idvalue
err_castopcodes[2].body
>]; + switch_cast__inst__first_obj [label=< + + +
idvalue
first_objopcodes[0].body
>]; + switch_cast__inst__second_val [label=< + + +
idvalue
second_valopcodes[1].body.value
>]; + subgraph cluster__intval { + label="SwitchCast::Intval"; + graph[style=dotted]; + + intval__seq [label=< + + +
possizetypeid
01u1value
>]; + } + subgraph cluster__opcode { + label="SwitchCast::Opcode"; + graph[style=dotted]; + + opcode__seq [label=< + + + +
possizetypeid
01u1code
1...switch (code)body
>]; +opcode__seq_body_switch [label=< + + + +
casetype
73Intval
83Strval
>]; + } + subgraph cluster__strval { + label="SwitchCast::Strval"; + graph[style=dotted]; + + strval__seq [label=< + + +
possizetypeid
0...str(term=0, ASCII)value
>]; + } + } + switch_cast__seq:opcodes_type -> opcode__seq [style=bold]; + opcode__seq:body_type -> switch_cast__inst__err_cast [color="#404040"]; + opcode__seq:body_type -> switch_cast__inst__first_obj [color="#404040"]; + intval__seq:value_type -> switch_cast__inst__second_val [color="#404040"]; + opcode__seq:body_type -> opcode__seq_body_switch [style=bold]; + opcode__seq_body_switch:case0 -> intval__seq [style=bold]; + opcode__seq_body_switch:case1 -> strval__seq [style=bold]; + opcode__seq:code_type -> opcode__seq:body_type [color="#404040"]; +} diff --git a/compiled/graphviz/switch_integers2.dot b/compiled/graphviz/switch_integers2.dot index dc357b01..c4930e11 100644 --- a/compiled/graphviz/switch_integers2.dot +++ b/compiled/graphviz/switch_integers2.dot @@ -11,6 +11,7 @@ digraph { 1...switch (code)len ...lenham ...1u1padding + if len > 3 >]; switch_integers2__inst__len_mod_str [label=< @@ -23,5 +24,6 @@ switch_integers2__seq_len_switch [label=<
idvalue
switch_integers2__seq_len_switch [style=bold]; switch_integers2__seq:code_type -> switch_integers2__seq:len_type [color="#404040"]; switch_integers2__seq:len_type -> switch_integers2__seq:ham_size [color="#404040"]; + switch_integers2__seq:len_type -> switch_integers2__seq:padding__if [color="#404040"]; switch_integers2__seq:len_type -> switch_integers2__inst__len_mod_str [color="#404040"]; } diff --git a/compiled/graphviz/switch_multi_bool_ops.dot b/compiled/graphviz/switch_multi_bool_ops.dot index 030f1834..1f238ed0 100644 --- a/compiled/graphviz/switch_multi_bool_ops.dot +++ b/compiled/graphviz/switch_multi_bool_ops.dot @@ -27,7 +27,4 @@ opcode__seq_body_switch [label=<
opcode__seq [style=bold]; opcode__seq:body_type -> opcode__seq_body_switch [style=bold]; opcode__seq:code_type -> opcode__seq:body_type [color="#404040"]; - opcode__seq:code_type -> opcode__seq:body_type [color="#404040"]; - opcode__seq:code_type -> opcode__seq:body_type [color="#404040"]; - opcode__seq:code_type -> opcode__seq:body_type [color="#404040"]; } diff --git a/compiled/graphviz/ts_packet_header.dot b/compiled/graphviz/ts_packet_header.dot index 8bc68cb8..c8616027 100644 --- a/compiled/graphviz/ts_packet_header.dot +++ b/compiled/graphviz/ts_packet_header.dot @@ -8,13 +8,13 @@ digraph { ts_packet_header__seq [label=<
- - - - - - - + + + + + + +
possizetypeid
01u1sync_byte
11bBitsType1(BigBitEndian)transport_error_indicator
1:11bBitsType1(BigBitEndian)payload_unit_start_indicator
1:21bBitsType1(BigBitEndian)transport_priority
1:313bb13pid
32bb2transport_scrambling_control
3:22bb2→AdaptationFieldControlEnumadaptation_field_control
3:44bb4continuity_counter
11bb1be→booltransport_error_indicator
1:11bb1be→boolpayload_unit_start_indicator
1:21bb1be→booltransport_priority
1:313bb13bepid
32bb2betransport_scrambling_control
3:22bb2be→AdaptationFieldControlEnumadaptation_field_control
3:44bb4becontinuity_counter
4184ts_packet_remain
>]; } diff --git a/compiled/graphviz/type_ternary.dot b/compiled/graphviz/type_ternary.dot index 4409d7d2..bfa0a113 100644 --- a/compiled/graphviz/type_ternary.dot +++ b/compiled/graphviz/type_ternary.dot @@ -8,6 +8,7 @@ digraph { type_ternary__seq [label=< +
possizetypeid
01Dummydif_wo_hack
if !(is_hack)
11Dummydif_with_hack
>]; type_ternary__inst__dif [label=< @@ -33,6 +34,7 @@ digraph { } } type_ternary__seq:dif_wo_hack_type -> dummy__seq [style=bold]; + type_ternary__inst__is_hack:is_hack_type -> type_ternary__seq:dif_wo_hack__if [color="#404040"]; type_ternary__seq:dif_with_hack_type -> dummy__seq [style=bold]; type_ternary__inst__is_hack:is_hack_type -> type_ternary__inst__dif [color="#404040"]; type_ternary__seq:dif_wo_hack_type -> type_ternary__inst__dif [color="#404040"]; diff --git a/compiled/graphviz/type_ternary_opaque.dot b/compiled/graphviz/type_ternary_opaque.dot index 3fc219bb..0a948206 100644 --- a/compiled/graphviz/type_ternary_opaque.dot +++ b/compiled/graphviz/type_ternary_opaque.dot @@ -8,7 +8,9 @@ digraph { type_ternary_opaque__seq [label=<
+ +
possizetypeid
012TermStrzdif_wo_hack
if !(is_hack)
1212TermStrzdif_with_hack
if is_hack
>]; type_ternary_opaque__inst__dif [label=< @@ -20,7 +22,9 @@ digraph {
idvalue
>]; } type_ternary_opaque__seq:dif_wo_hack_type -> term_strz__seq [style=bold]; + type_ternary_opaque__inst__is_hack:is_hack_type -> type_ternary_opaque__seq:dif_wo_hack__if [color="#404040"]; type_ternary_opaque__seq:dif_with_hack_type -> term_strz__seq [style=bold]; + type_ternary_opaque__inst__is_hack:is_hack_type -> type_ternary_opaque__seq:dif_with_hack__if [color="#404040"]; type_ternary_opaque__inst__is_hack:is_hack_type -> type_ternary_opaque__inst__dif [color="#404040"]; type_ternary_opaque__seq:dif_wo_hack_type -> type_ternary_opaque__inst__dif [color="#404040"]; type_ternary_opaque__seq:dif_with_hack_type -> type_ternary_opaque__inst__dif [color="#404040"]; diff --git a/compiled/graphviz/valid_eq_str_encodings.dot b/compiled/graphviz/valid_eq_str_encodings.dot index 8a0ef720..7ea4d996 100644 --- a/compiled/graphviz/valid_eq_str_encodings.dot +++ b/compiled/graphviz/valid_eq_str_encodings.dot @@ -9,12 +9,16 @@ digraph { possizetypeid 02u2lelen_of_1 2len_of_1str(ASCII)str1 + must be equal to "Some ASCII" ...2u2lelen_of_2 ...len_of_2str(UTF-8)str2 + must be equal to "\u3053\u3093\u306b\u3061\u306f" ...2u2lelen_of_3 ...len_of_3str(SJIS)str3 + must be equal to "\u3053\u3093\u306b\u3061\u306f" ...2u2lelen_of_4 ...len_of_4str(IBM437)str4 + must be equal to "\u2591\u2592\u2593" >]; } valid_eq_str_encodings__seq:len_of_1_type -> valid_eq_str_encodings__seq:str1_size [color="#404040"]; diff --git a/compiled/graphviz/valid_fail_anyof_int.dot b/compiled/graphviz/valid_fail_anyof_int.dot index e9ca2c2f..00da0cfd 100644 --- a/compiled/graphviz/valid_fail_anyof_int.dot +++ b/compiled/graphviz/valid_fail_anyof_int.dot @@ -8,6 +8,7 @@ digraph { valid_fail_anyof_int__seq [label=< +
possizetypeid
01u1foo
must be any of 5, 6, 7, 8, 10, 11, 12, 47
>]; } } diff --git a/compiled/graphviz/valid_fail_contents.dot b/compiled/graphviz/valid_fail_contents.dot index 5f82ee15..d5c10719 100644 --- a/compiled/graphviz/valid_fail_contents.dot +++ b/compiled/graphviz/valid_fail_contents.dot @@ -7,7 +7,7 @@ digraph { valid_fail_contents__seq [label=< - +
possizetypeid
02foo
0251 41foo
>]; } } diff --git a/compiled/graphviz/valid_fail_eq_bytes.dot b/compiled/graphviz/valid_fail_eq_bytes.dot index 8deb7dff..a1383734 100644 --- a/compiled/graphviz/valid_fail_eq_bytes.dot +++ b/compiled/graphviz/valid_fail_eq_bytes.dot @@ -7,7 +7,7 @@ digraph { valid_fail_eq_bytes__seq [label=< - +
possizetypeid
02foo
0251 41foo
>]; } } diff --git a/compiled/graphviz/valid_fail_eq_int.dot b/compiled/graphviz/valid_fail_eq_int.dot index 9ca65956..2de48b02 100644 --- a/compiled/graphviz/valid_fail_eq_int.dot +++ b/compiled/graphviz/valid_fail_eq_int.dot @@ -8,6 +8,7 @@ digraph { valid_fail_eq_int__seq [label=< +
possizetypeid
01u1foo
must be equal to 123
>]; } } diff --git a/compiled/graphviz/valid_fail_eq_str.dot b/compiled/graphviz/valid_fail_eq_str.dot index 7fe3c18f..1f2fb411 100644 --- a/compiled/graphviz/valid_fail_eq_str.dot +++ b/compiled/graphviz/valid_fail_eq_str.dot @@ -8,6 +8,7 @@ digraph { valid_fail_eq_str__seq [label=< +
possizetypeid
04str(ASCII)foo
must be equal to "BACK"
>]; } } diff --git a/compiled/graphviz/valid_fail_expr.dot b/compiled/graphviz/valid_fail_expr.dot index 697273b3..5819c8b3 100644 --- a/compiled/graphviz/valid_fail_expr.dot +++ b/compiled/graphviz/valid_fail_expr.dot @@ -8,7 +8,9 @@ digraph { valid_fail_expr__seq [label=< + +
possizetypeid
01u1foo
must satisfy _ == 1
12s2lebar
must satisfy ((_ < -190) || (_ > -190))
>]; } } diff --git a/compiled/graphviz/valid_fail_inst.dot b/compiled/graphviz/valid_fail_inst.dot index 4d9cee06..701979e6 100644 --- a/compiled/graphviz/valid_fail_inst.dot +++ b/compiled/graphviz/valid_fail_inst.dot @@ -8,10 +8,13 @@ digraph { valid_fail_inst__seq [label=< +
possizetypeid
01u1a
if inst >= 0
>]; valid_fail_inst__inst__inst [label=< +
possizetypeid
51u1inst
must be equal to 80
>]; } + valid_fail_inst__inst__inst:inst_type -> valid_fail_inst__seq:a__if [color="#404040"]; } diff --git a/compiled/graphviz/valid_fail_max_int.dot b/compiled/graphviz/valid_fail_max_int.dot index 2a9668c2..f59a799c 100644 --- a/compiled/graphviz/valid_fail_max_int.dot +++ b/compiled/graphviz/valid_fail_max_int.dot @@ -8,6 +8,7 @@ digraph { valid_fail_max_int__seq [label=< +
possizetypeid
01u1foo
must be at most 12
>]; } } diff --git a/compiled/graphviz/valid_fail_min_int.dot b/compiled/graphviz/valid_fail_min_int.dot index 99e2761e..27a102df 100644 --- a/compiled/graphviz/valid_fail_min_int.dot +++ b/compiled/graphviz/valid_fail_min_int.dot @@ -8,6 +8,7 @@ digraph { valid_fail_min_int__seq [label=< +
possizetypeid
01u1foo
must be at least 123
>]; } } diff --git a/compiled/graphviz/valid_fail_range_bytes.dot b/compiled/graphviz/valid_fail_range_bytes.dot index 72a1b5d5..3c499edb 100644 --- a/compiled/graphviz/valid_fail_range_bytes.dot +++ b/compiled/graphviz/valid_fail_range_bytes.dot @@ -8,6 +8,7 @@ digraph { valid_fail_range_bytes__seq [label=< +
possizetypeid
02foo
must be between [80].pack('C*') and [80, 49].pack('C*')
>]; } } diff --git a/compiled/graphviz/valid_fail_range_float.dot b/compiled/graphviz/valid_fail_range_float.dot index c523000a..8fad2023 100644 --- a/compiled/graphviz/valid_fail_range_float.dot +++ b/compiled/graphviz/valid_fail_range_float.dot @@ -8,6 +8,7 @@ digraph { valid_fail_range_float__seq [label=< +
possizetypeid
04f4lefoo
must be between 0.2 and 0.4
>]; } } diff --git a/compiled/graphviz/valid_fail_range_int.dot b/compiled/graphviz/valid_fail_range_int.dot index f331b9b3..379baf2f 100644 --- a/compiled/graphviz/valid_fail_range_int.dot +++ b/compiled/graphviz/valid_fail_range_int.dot @@ -8,6 +8,7 @@ digraph { valid_fail_range_int__seq [label=< +
possizetypeid
01u1foo
must be between 5 and 10
>]; } } diff --git a/compiled/graphviz/valid_fail_range_str.dot b/compiled/graphviz/valid_fail_range_str.dot index 6687d6b7..4c8a2ecf 100644 --- a/compiled/graphviz/valid_fail_range_str.dot +++ b/compiled/graphviz/valid_fail_range_str.dot @@ -8,6 +8,7 @@ digraph { valid_fail_range_str__seq [label=< +
possizetypeid
02str(ASCII)foo
must be between "P" and "P1"
>]; } } diff --git a/compiled/graphviz/valid_fail_repeat_anyof_int.dot b/compiled/graphviz/valid_fail_repeat_anyof_int.dot index 816d9aeb..4ad81064 100644 --- a/compiled/graphviz/valid_fail_repeat_anyof_int.dot +++ b/compiled/graphviz/valid_fail_repeat_anyof_int.dot @@ -8,6 +8,7 @@ digraph { valid_fail_repeat_anyof_int__seq [label=< +
possizetypeid
01u1foo
must be any of 0, 1, 65
repeat to end of stream
>]; } diff --git a/compiled/graphviz/valid_fail_repeat_contents.dot b/compiled/graphviz/valid_fail_repeat_contents.dot index 6d0f8eb4..ff7eec55 100644 --- a/compiled/graphviz/valid_fail_repeat_contents.dot +++ b/compiled/graphviz/valid_fail_repeat_contents.dot @@ -7,7 +7,7 @@ digraph { valid_fail_repeat_contents__seq [label=< - +
possizetypeid
04foo
0412 34 56 78foo
repeat to end of stream
>]; } diff --git a/compiled/graphviz/valid_fail_repeat_eq_int.dot b/compiled/graphviz/valid_fail_repeat_eq_int.dot index 42ce844e..acca64ee 100644 --- a/compiled/graphviz/valid_fail_repeat_eq_int.dot +++ b/compiled/graphviz/valid_fail_repeat_eq_int.dot @@ -8,6 +8,7 @@ digraph { valid_fail_repeat_eq_int__seq [label=< +
possizetypeid
04u4befoo
must be equal to 305419896
repeat to end of stream
>]; } diff --git a/compiled/graphviz/valid_fail_repeat_expr.dot b/compiled/graphviz/valid_fail_repeat_expr.dot index 4c35e5b5..61d847d4 100644 --- a/compiled/graphviz/valid_fail_repeat_expr.dot +++ b/compiled/graphviz/valid_fail_repeat_expr.dot @@ -8,6 +8,7 @@ digraph { valid_fail_repeat_expr__seq [label=< +
possizetypeid
04foo
must satisfy _ != [0, 18, 52, 86].pack('C*')
repeat to end of stream
>]; } diff --git a/compiled/graphviz/valid_fail_repeat_inst.dot b/compiled/graphviz/valid_fail_repeat_inst.dot index b2c0def3..f3f7b19f 100644 --- a/compiled/graphviz/valid_fail_repeat_inst.dot +++ b/compiled/graphviz/valid_fail_repeat_inst.dot @@ -8,11 +8,14 @@ digraph { valid_fail_repeat_inst__seq [label=< +
possizetypeid
00a
if inst.length == 0
>]; valid_fail_repeat_inst__inst__inst [label=< +
possizetypeid
04u4beinst
must be equal to 305419896
repeat to end of stream
>]; } + valid_fail_repeat_inst__inst__inst:inst_type -> valid_fail_repeat_inst__seq:a__if [color="#404040"]; } diff --git a/compiled/graphviz/valid_fail_repeat_max_int.dot b/compiled/graphviz/valid_fail_repeat_max_int.dot index 921aae59..42b17ac6 100644 --- a/compiled/graphviz/valid_fail_repeat_max_int.dot +++ b/compiled/graphviz/valid_fail_repeat_max_int.dot @@ -8,6 +8,7 @@ digraph { valid_fail_repeat_max_int__seq [label=< +
possizetypeid
01u1foo
must be at most 254
repeat to end of stream
>]; } diff --git a/compiled/graphviz/valid_fail_repeat_min_int.dot b/compiled/graphviz/valid_fail_repeat_min_int.dot index ba3a14ac..165a1fcd 100644 --- a/compiled/graphviz/valid_fail_repeat_min_int.dot +++ b/compiled/graphviz/valid_fail_repeat_min_int.dot @@ -8,6 +8,7 @@ digraph { valid_fail_repeat_min_int__seq [label=< +
possizetypeid
01s1foo
must be at least 0
repeat to end of stream
>]; } diff --git a/compiled/graphviz/valid_long.dot b/compiled/graphviz/valid_long.dot index 4877f6ba..c14e369b 100644 --- a/compiled/graphviz/valid_long.dot +++ b/compiled/graphviz/valid_long.dot @@ -7,17 +7,27 @@ digraph { valid_long__seq [label=< - + + + + + + + + + + +
possizetypeid
06magic1
0650 41 43 4B 2D 31magic1
61u1uint8
must be equal to 255
71s1sint8
must be equal to -1
810str(UTF-8)magic_uint
must be equal to "PACK-U-DEF"
182u2leuint16
must be equal to 65535
204u4leuint32
must be equal to 4294967295
248u8leuint64
must be equal to 18446744073709551615
3210str(UTF-8)magic_sint
must be equal to "PACK-S-DEF"
422s2lesint16
must be equal to -1
444s4lesint32
must be equal to -1
488s8lesint64
must be equal to -1
>]; } } diff --git a/compiled/graphviz/valid_not_parsed_if.dot b/compiled/graphviz/valid_not_parsed_if.dot index 0899055a..f2304499 100644 --- a/compiled/graphviz/valid_not_parsed_if.dot +++ b/compiled/graphviz/valid_not_parsed_if.dot @@ -8,7 +8,11 @@ digraph { valid_not_parsed_if__seq [label=< + + + +
possizetypeid
01u1not_parsed
must be equal to 42
if false
11u1parsed
must be equal to 80
if true
>]; } } diff --git a/compiled/graphviz/valid_optional_id.dot b/compiled/graphviz/valid_optional_id.dot index 76aed3e2..97bc559d 100644 --- a/compiled/graphviz/valid_optional_id.dot +++ b/compiled/graphviz/valid_optional_id.dot @@ -7,9 +7,11 @@ digraph { valid_optional_id__seq [label=< - + + +
possizetypeid
06_unnamed0
0650 41 43 4B 2D 31_unnamed0
61u1_unnamed1
must be equal to 255
71s1_unnamed2
must satisfy _ == -1
>]; } } diff --git a/compiled/graphviz/valid_short.dot b/compiled/graphviz/valid_short.dot index 4e303ce9..f64c562d 100644 --- a/compiled/graphviz/valid_short.dot +++ b/compiled/graphviz/valid_short.dot @@ -7,17 +7,27 @@ digraph { valid_short__seq [label=< - + + + + + + + + + + +
possizetypeid
06magic1
0650 41 43 4B 2D 31magic1
61u1uint8
must be equal to 255
71s1sint8
must be equal to -1
810str(UTF-8)magic_uint
must be equal to "PACK-U-DEF"
182u2leuint16
must be equal to 65535
204u4leuint32
must be equal to 4294967295
248u8leuint64
must be equal to 18446744073709551615
3210str(UTF-8)magic_sint
must be equal to "PACK-S-DEF"
422s2lesint16
must be equal to -1
444s4lesint32
must be equal to -1
488s8lesint64
must be equal to -1
>]; } } diff --git a/compiled/graphviz/valid_switch.dot b/compiled/graphviz/valid_switch.dot index 1bdb3666..5ef189ec 100644 --- a/compiled/graphviz/valid_switch.dot +++ b/compiled/graphviz/valid_switch.dot @@ -8,7 +8,9 @@ digraph { valid_switch__seq [label=< + +
possizetypeid
01u1a
must be equal to 80
1...switch (a)b
must be equal to 17217
>]; valid_switch__seq_b_switch [label=< diff --git a/compiled/graphviz/vlq_base128_le.dot b/compiled/graphviz/vlq_base128_le.dot new file mode 100644 index 00000000..919c2810 --- /dev/null +++ b/compiled/graphviz/vlq_base128_le.dot @@ -0,0 +1,48 @@ +digraph { + rankdir=LR; + node [shape=plaintext]; + subgraph cluster__vlq_base128_le { + label="VlqBase128Le"; + graph[style=dotted]; + + vlq_base128_le__seq [label=<
casetype
+ + + +
possizetypeid
01Groupgroups
repeat until !(_.has_next)
>]; + vlq_base128_le__inst__len [label=< + + +
idvalue
lengroups.length
>]; + vlq_base128_le__inst__sign_bit [label=< + + +
idvalue
sign_bit1 << 7 * len - 1
>]; + vlq_base128_le__inst__value [label=< + + +
idvalue
value((((((groups[0].value + (len >= 2 ? groups[1].value << 7 : 0)) + (len >= 3 ? groups[2].value << 14 : 0)) + (len >= 4 ? groups[3].value << 21 : 0)) + (len >= 5 ? groups[4].value << 28 : 0)) + (len >= 6 ? groups[5].value << 35 : 0)) + (len >= 7 ? groups[6].value << 42 : 0)) + (len >= 8 ? groups[7].value << 49 : 0)
>]; + vlq_base128_le__inst__value_signed [label=< + + +
idvalue
value_signedvalue ^ sign_bit - sign_bit
>]; + subgraph cluster__group { + label="VlqBase128Le::Group"; + graph[style=dotted]; + + group__seq [label=< + + + +
possizetypeid
01bb1be→boolhas_next
0:17bb7bevalue
>]; + } + } + vlq_base128_le__seq:groups_type -> group__seq [style=bold]; + group__seq:has_next_type -> vlq_base128_le__seq:groups__repeat [color="#404040"]; + vlq_base128_le__seq:groups_type -> vlq_base128_le__inst__len [color="#404040"]; + vlq_base128_le__inst__len:len_type -> vlq_base128_le__inst__sign_bit [color="#404040"]; + group__seq:value_type -> vlq_base128_le__inst__value [color="#404040"]; + vlq_base128_le__inst__len:len_type -> vlq_base128_le__inst__value [color="#404040"]; + vlq_base128_le__inst__value:value_type -> vlq_base128_le__inst__value_signed [color="#404040"]; + vlq_base128_le__inst__sign_bit:sign_bit_type -> vlq_base128_le__inst__value_signed [color="#404040"]; +} diff --git a/compiled/html/bits_byte_aligned.html b/compiled/html/bits_byte_aligned.html index bf73373e..1e0fe40a 100644 --- a/compiled/html/bits_byte_aligned.html +++ b/compiled/html/bits_byte_aligned.html @@ -25,7 +25,7 @@

Type: BitsByteAligned

0 ... one -b6 +b6be @@ -39,14 +39,14 @@

Type: BitsByteAligned

1:6 ... two -b3 +b3be 2:1 ... three -BitsType1(BigBitEndian) +b1be→bool @@ -60,7 +60,7 @@

Type: BitsByteAligned

3:2 ... four -b14 +b14be @@ -74,7 +74,7 @@

Type: BitsByteAligned

6 ... full_byte -b8 +b8be diff --git a/compiled/html/bits_enum.html b/compiled/html/bits_enum.html index c07f268b..4eb541d0 100644 --- a/compiled/html/bits_enum.html +++ b/compiled/html/bits_enum.html @@ -25,21 +25,21 @@

Type: BitsEnum

0 ... one -b4→Animal +b4be→Animal 0:4 ... two -b8→Animal +b8be→Animal 1:4 ... three -b1→Animal +b1be→Animal diff --git a/compiled/html/bits_seq_endian_combo.html b/compiled/html/bits_seq_endian_combo.html index 1e2fe643..b7a3f69b 100644 --- a/compiled/html/bits_seq_endian_combo.html +++ b/compiled/html/bits_seq_endian_combo.html @@ -25,56 +25,56 @@

Type: BitsSeqEndianCombo

0 ... be1 -b6 +b6be 0:6 ... be2 -b10 +b10be 2 ... le3 -b8 +b8le 3 ... be4 -b8 +b8be 4 ... le5 -b5 +b5le 4:5 ... le6 -b6 +b6le 5:3 ... le7 -b5 +b5le 6 ... be8 -BitsType1(BigBitEndian) +b1be→bool diff --git a/compiled/html/bits_shift_by_b32_le.html b/compiled/html/bits_shift_by_b32_le.html index cc111518..19641f54 100644 --- a/compiled/html/bits_shift_by_b32_le.html +++ b/compiled/html/bits_shift_by_b32_le.html @@ -25,14 +25,14 @@

Type: BitsShiftByB32Le

0 ... a -b32 +b32le 4 ... b -b8 +b8le diff --git a/compiled/html/bits_shift_by_b64_le.html b/compiled/html/bits_shift_by_b64_le.html index 71079a25..67261843 100644 --- a/compiled/html/bits_shift_by_b64_le.html +++ b/compiled/html/bits_shift_by_b64_le.html @@ -25,14 +25,14 @@

Type: BitsShiftByB64Le

0 ... a -b64 +b64le 8 ... b -b8 +b8le diff --git a/compiled/html/bits_signed_res_b32_be.html b/compiled/html/bits_signed_res_b32_be.html index b722487a..af03d7ac 100644 --- a/compiled/html/bits_signed_res_b32_be.html +++ b/compiled/html/bits_signed_res_b32_be.html @@ -25,7 +25,7 @@

Type: BitsSignedResB32Be

0 ... a -b32 +b32be diff --git a/compiled/html/bits_signed_res_b32_le.html b/compiled/html/bits_signed_res_b32_le.html index 6189c77f..7a379f30 100644 --- a/compiled/html/bits_signed_res_b32_le.html +++ b/compiled/html/bits_signed_res_b32_le.html @@ -25,7 +25,7 @@

Type: BitsSignedResB32Le

0 ... a -b32 +b32le diff --git a/compiled/html/bits_signed_shift_b32_le.html b/compiled/html/bits_signed_shift_b32_le.html index e7c9f2b0..290100ed 100644 --- a/compiled/html/bits_signed_shift_b32_le.html +++ b/compiled/html/bits_signed_shift_b32_le.html @@ -25,14 +25,14 @@

Type: BitsSignedShiftB32Le

0 ... a -b31 +b31le 3:7 ... b -b9 +b9le diff --git a/compiled/html/bits_signed_shift_b64_le.html b/compiled/html/bits_signed_shift_b64_le.html index 5e96f893..6018db13 100644 --- a/compiled/html/bits_signed_shift_b64_le.html +++ b/compiled/html/bits_signed_shift_b64_le.html @@ -25,14 +25,14 @@

Type: BitsSignedShiftB64Le

0 ... a -b63 +b63le 7:7 ... b -b9 +b9le diff --git a/compiled/html/bits_simple.html b/compiled/html/bits_simple.html index 8acb5f70..f34a9987 100644 --- a/compiled/html/bits_simple.html +++ b/compiled/html/bits_simple.html @@ -25,56 +25,56 @@

Type: BitsSimple

0 ... byte_1 -b8 +b8be 1 ... byte_2 -b8 +b8be 2 ... bits_a -BitsType1(BigBitEndian) +b1be→bool 2:1 ... bits_b -b3 +b3be 2:4 ... bits_c -b4 +b4be 3 ... large_bits_1 -b10 +b10be 4:2 ... spacer -b3 +b3be 4:5 ... large_bits_2 -b11 +b11be @@ -88,28 +88,28 @@

Type: BitsSimple

8 ... byte_8_9_10 -b24 +b24be 11 ... byte_11_to_14 -b32 +b32be 15 ... byte_15_to_19 -b40 +b40be 20 ... byte_20_to_27 -b64 +b64be diff --git a/compiled/html/bits_simple_le.html b/compiled/html/bits_simple_le.html index 5e1622e5..8a96cafd 100644 --- a/compiled/html/bits_simple_le.html +++ b/compiled/html/bits_simple_le.html @@ -25,56 +25,56 @@

Type: BitsSimpleLe

0 ... byte_1 -b8 +b8le 1 ... byte_2 -b8 +b8le 2 ... bits_a -BitsType1(LittleBitEndian) +b1le→bool 2:1 ... bits_b -b3 +b3le 2:4 ... bits_c -b4 +b4le 3 ... large_bits_1 -b10 +b10le 4:2 ... spacer -b3 +b3le 4:5 ... large_bits_2 -b11 +b11le @@ -88,28 +88,28 @@

Type: BitsSimpleLe

8 ... byte_8_9_10 -b24 +b24le 11 ... byte_11_to_14 -b32 +b32le 15 ... byte_15_to_19 -b40 +b40le 20 ... byte_20_to_27 -b64 +b64le diff --git a/compiled/html/bits_unaligned_b32_be.html b/compiled/html/bits_unaligned_b32_be.html index 6cea3159..05f990a2 100644 --- a/compiled/html/bits_unaligned_b32_be.html +++ b/compiled/html/bits_unaligned_b32_be.html @@ -25,21 +25,21 @@

Type: BitsUnalignedB32Be

0 ... a -BitsType1(BigBitEndian) +b1be→bool 0:1 ... b -b32 +b32be 4:1 ... c -b7 +b7be diff --git a/compiled/html/bits_unaligned_b32_le.html b/compiled/html/bits_unaligned_b32_le.html index 7781ce38..3ea837e0 100644 --- a/compiled/html/bits_unaligned_b32_le.html +++ b/compiled/html/bits_unaligned_b32_le.html @@ -25,21 +25,21 @@

Type: BitsUnalignedB32Le

0 ... a -BitsType1(LittleBitEndian) +b1le→bool 0:1 ... b -b32 +b32le 4:1 ... c -b7 +b7le diff --git a/compiled/html/bits_unaligned_b64_be.html b/compiled/html/bits_unaligned_b64_be.html index 67b21cd4..59fb8740 100644 --- a/compiled/html/bits_unaligned_b64_be.html +++ b/compiled/html/bits_unaligned_b64_be.html @@ -25,21 +25,21 @@

Type: BitsUnalignedB64Be

0 ... a -BitsType1(BigBitEndian) +b1be→bool 0:1 ... b -b64 +b64be 8:1 ... c -b7 +b7be diff --git a/compiled/html/bits_unaligned_b64_le.html b/compiled/html/bits_unaligned_b64_le.html index 93972e0e..bb14a257 100644 --- a/compiled/html/bits_unaligned_b64_le.html +++ b/compiled/html/bits_unaligned_b64_le.html @@ -25,21 +25,21 @@

Type: BitsUnalignedB64Le

0 ... a -BitsType1(LittleBitEndian) +b1le→bool 0:1 ... b -b64 +b64le 8:1 ... c -b7 +b7le diff --git a/compiled/html/combine_bool.html b/compiled/html/combine_bool.html index 61b2f8ab..c8ac9e93 100644 --- a/compiled/html/combine_bool.html +++ b/compiled/html/combine_bool.html @@ -25,7 +25,7 @@

Type: CombineBool

0 ... bool_bit -BitsType1(BigBitEndian) +b1be→bool diff --git a/compiled/html/default_bit_endian_mod.html b/compiled/html/default_bit_endian_mod.html index 8ebbdb49..8cec8a9d 100644 --- a/compiled/html/default_bit_endian_mod.html +++ b/compiled/html/default_bit_endian_mod.html @@ -38,14 +38,14 @@

Type: MainObj

0 ... one -b9 +b9le 1:1 ... two -b15 +b15le @@ -72,7 +72,7 @@

Type: Subnest

0 ... two -b16 +b16le @@ -85,7 +85,7 @@

Type: SubnestBe

0 ... two -b16 +b16be diff --git a/compiled/html/expr_bits.html b/compiled/html/expr_bits.html index 8aa8c9bf..23f7c793 100644 --- a/compiled/html/expr_bits.html +++ b/compiled/html/expr_bits.html @@ -25,14 +25,14 @@

Type: ExprBits

0 ... enum_seq -b2→Items +b2be→Items 0:2 ... a -b3 +b3be diff --git a/compiled/html/params_pass_bool.html b/compiled/html/params_pass_bool.html index c50b045d..5529f4e9 100644 --- a/compiled/html/params_pass_bool.html +++ b/compiled/html/params_pass_bool.html @@ -25,14 +25,14 @@

Type: ParamsPassBool

0 ... s_false -BitsType1(BigBitEndian) +b1be→bool 0:1 ... s_true -BitsType1(BigBitEndian) +b1be→bool diff --git a/compiled/html/repeat_eos_bit.html b/compiled/html/repeat_eos_bit.html index abaac3bb..2d59b4ed 100644 --- a/compiled/html/repeat_eos_bit.html +++ b/compiled/html/repeat_eos_bit.html @@ -25,7 +25,7 @@

Type: RepeatEosBit

0 ... nibbles -b4 +b4be diff --git a/compiled/html/ts_packet_header.html b/compiled/html/ts_packet_header.html index 00f60835..507d7a62 100644 --- a/compiled/html/ts_packet_header.html +++ b/compiled/html/ts_packet_header.html @@ -34,49 +34,49 @@

Type: TsPacketHeader

1 ... transport_error_indicator -BitsType1(BigBitEndian) +b1be→bool 1:1 ... payload_unit_start_indicator -BitsType1(BigBitEndian) +b1be→bool 1:2 ... transport_priority -BitsType1(BigBitEndian) +b1be→bool 1:3 ... pid -b13 +b13be 3 ... transport_scrambling_control -b2 +b2be 3:2 ... adaptation_field_control -b2→AdaptationFieldControlEnum +b2be→AdaptationFieldControlEnum 3:4 ... continuity_counter -b4 +b4be diff --git a/compiled/html/vlq_base128_le.html b/compiled/html/vlq_base128_le.html index e7c8e3ec..9330be61 100644 --- a/compiled/html/vlq_base128_le.html +++ b/compiled/html/vlq_base128_le.html @@ -64,14 +64,14 @@

Type: Group

0 ... has_next -BitsType1(BigBitEndian) +b1be→bool If true, then we have more bytes to read 0:1 ... value -b7 +b7be The 7-bit (base128) numeric value chunk of this group diff --git a/compiled/php/BitsEnum.php b/compiled/php/BitsEnum.php index f56e438b..74ddd042 100644 --- a/compiled/php/BitsEnum.php +++ b/compiled/php/BitsEnum.php @@ -28,5 +28,11 @@ class Animal { const DOG = 1; const HORSE = 4; const PLATYPUS = 5; + + private const _VALUES = [0 => true, 1 => true, 4 => true, 5 => true]; + + public static function isDefined(int $v): bool { + return isset(self::_VALUES[$v]); + } } } diff --git a/compiled/php/CombineEnum.php b/compiled/php/CombineEnum.php index 27024da0..3505c3cb 100644 --- a/compiled/php/CombineEnum.php +++ b/compiled/php/CombineEnum.php @@ -30,5 +30,11 @@ public function enumU2() { return $this->_m_enumU2; } class Animal { const PIG = 7; const HORSE = 12; + + private const _VALUES = [7 => true, 12 => true]; + + public static function isDefined(int $v): bool { + return isset(self::_VALUES[$v]); + } } } diff --git a/compiled/php/DebugEnumName.php b/compiled/php/DebugEnumName.php index e63519c1..bf97bb51 100644 --- a/compiled/php/DebugEnumName.php +++ b/compiled/php/DebugEnumName.php @@ -53,23 +53,47 @@ public function field2() { return $this->_m_field2; } namespace Kaitai\Struct\Tests\DebugEnumName\TestSubtype { class InnerEnum1 { const ENUM_VALUE_67 = 67; + + private const _VALUES = [67 => true]; + + public static function isDefined(int $v): bool { + return isset(self::_VALUES[$v]); + } } } namespace Kaitai\Struct\Tests\DebugEnumName\TestSubtype { class InnerEnum2 { const ENUM_VALUE_11 = 11; + + private const _VALUES = [11 => true]; + + public static function isDefined(int $v): bool { + return isset(self::_VALUES[$v]); + } } } namespace Kaitai\Struct\Tests\DebugEnumName { class TestEnum1 { const ENUM_VALUE_80 = 80; + + private const _VALUES = [80 => true]; + + public static function isDefined(int $v): bool { + return isset(self::_VALUES[$v]); + } } } namespace Kaitai\Struct\Tests\DebugEnumName { class TestEnum2 { const ENUM_VALUE_65 = 65; + + private const _VALUES = [65 => true]; + + public static function isDefined(int $v): bool { + return isset(self::_VALUES[$v]); + } } } diff --git a/compiled/php/Enum0.php b/compiled/php/Enum0.php index 2404c0a5..5523fd9e 100644 --- a/compiled/php/Enum0.php +++ b/compiled/php/Enum0.php @@ -24,5 +24,11 @@ class Animal { const DOG = 4; const CAT = 7; const CHICKEN = 12; + + private const _VALUES = [4 => true, 7 => true, 12 => true]; + + public static function isDefined(int $v): bool { + return isset(self::_VALUES[$v]); + } } } diff --git a/compiled/php/Enum1.php b/compiled/php/Enum1.php index dbd27324..fb732f47 100644 --- a/compiled/php/Enum1.php +++ b/compiled/php/Enum1.php @@ -54,5 +54,11 @@ class Animal { const DOG = 4; const CAT = 7; const CHICKEN = 12; + + private const _VALUES = [4 => true, 7 => true, 12 => true]; + + public static function isDefined(int $v): bool { + return isset(self::_VALUES[$v]); + } } } diff --git a/compiled/php/EnumDeep.php b/compiled/php/EnumDeep.php index f227b880..f0221e0b 100644 --- a/compiled/php/EnumDeep.php +++ b/compiled/php/EnumDeep.php @@ -48,6 +48,12 @@ class Animal { const CANARY = 4; const TURTLE = 7; const HARE = 12; + + private const _VALUES = [4 => true, 7 => true, 12 => true]; + + public static function isDefined(int $v): bool { + return isset(self::_VALUES[$v]); + } } } @@ -56,5 +62,11 @@ class Animal { const DOG = 4; const CAT = 7; const CHICKEN = 12; + + private const _VALUES = [4 => true, 7 => true, 12 => true]; + + public static function isDefined(int $v): bool { + return isset(self::_VALUES[$v]); + } } } diff --git a/compiled/php/EnumDeepLiterals.php b/compiled/php/EnumDeepLiterals.php index 2baebac4..70c3f626 100644 --- a/compiled/php/EnumDeepLiterals.php +++ b/compiled/php/EnumDeepLiterals.php @@ -62,6 +62,12 @@ class Animal { const CANARY = 4; const TURTLE = 7; const HARE = 12; + + private const _VALUES = [4 => true, 7 => true, 12 => true]; + + public static function isDefined(int $v): bool { + return isset(self::_VALUES[$v]); + } } } @@ -70,5 +76,11 @@ class Animal { const DOG = 4; const CAT = 7; const CHICKEN = 12; + + private const _VALUES = [4 => true, 7 => true, 12 => true]; + + public static function isDefined(int $v): bool { + return isset(self::_VALUES[$v]); + } } } diff --git a/compiled/php/EnumFancy.php b/compiled/php/EnumFancy.php index 42063f67..c8310cee 100644 --- a/compiled/php/EnumFancy.php +++ b/compiled/php/EnumFancy.php @@ -32,5 +32,11 @@ class Animal { */ const CAT = 7; const CHICKEN = 12; + + private const _VALUES = [4 => true, 7 => true, 12 => true]; + + public static function isDefined(int $v): bool { + return isset(self::_VALUES[$v]); + } } } diff --git a/compiled/php/EnumIf.php b/compiled/php/EnumIf.php index de08d3bf..8c793e76 100644 --- a/compiled/php/EnumIf.php +++ b/compiled/php/EnumIf.php @@ -87,5 +87,11 @@ public function argStr() { return $this->_m_argStr; } class Opcodes { const A_STRING = 83; const A_TUPLE = 84; + + private const _VALUES = [83 => true, 84 => true]; + + public static function isDefined(int $v): bool { + return isset(self::_VALUES[$v]); + } } } diff --git a/compiled/php/EnumIntRangeS.php b/compiled/php/EnumIntRangeS.php index 870cf376..b90e2bd3 100644 --- a/compiled/php/EnumIntRangeS.php +++ b/compiled/php/EnumIntRangeS.php @@ -27,5 +27,11 @@ class Constants { const INT_MIN = -2147483647 - 1; const ZERO = 0; const INT_MAX = 2147483647; + + private const _VALUES = [-2147483648 => true, 0 => true, 2147483647 => true]; + + public static function isDefined(int $v): bool { + return isset(self::_VALUES[$v]); + } } } diff --git a/compiled/php/EnumIntRangeU.php b/compiled/php/EnumIntRangeU.php index 75aeac23..4096165b 100644 --- a/compiled/php/EnumIntRangeU.php +++ b/compiled/php/EnumIntRangeU.php @@ -23,5 +23,11 @@ public function f2() { return $this->_m_f2; } class Constants { const ZERO = 0; const INT_MAX = 4294967295; + + private const _VALUES = [0 => true, 4294967295 => true]; + + public static function isDefined(int $v): bool { + return isset(self::_VALUES[$v]); + } } } diff --git a/compiled/php/EnumInvalid.php b/compiled/php/EnumInvalid.php index 8b2e57ce..121ba4a5 100644 --- a/compiled/php/EnumInvalid.php +++ b/compiled/php/EnumInvalid.php @@ -23,5 +23,11 @@ public function pet2() { return $this->_m_pet2; } class Animal { const DOG = 102; const CAT = 124; + + private const _VALUES = [102 => true, 124 => true]; + + public static function isDefined(int $v): bool { + return isset(self::_VALUES[$v]); + } } } diff --git a/compiled/php/EnumLongRangeS.php b/compiled/php/EnumLongRangeS.php index a3ec5123..8be0acf4 100644 --- a/compiled/php/EnumLongRangeS.php +++ b/compiled/php/EnumLongRangeS.php @@ -43,5 +43,11 @@ class Constants { const INT_MAX = 2147483647; const INT_OVER_MAX = 2147483648; const LONG_MAX = 9223372036854775807; + + private const _VALUES = [-9223372036854775808 => true, -2147483649 => true, -2147483648 => true, 0 => true, 2147483647 => true, 2147483648 => true, 9223372036854775807 => true]; + + public static function isDefined(int $v): bool { + return isset(self::_VALUES[$v]); + } } } diff --git a/compiled/php/EnumLongRangeU.php b/compiled/php/EnumLongRangeU.php index 1d0fbd03..09c0e265 100644 --- a/compiled/php/EnumLongRangeU.php +++ b/compiled/php/EnumLongRangeU.php @@ -31,5 +31,11 @@ class Constants { const INT_MAX = 4294967295; const INT_OVER_MAX = 4294967296; const LONG_MAX = 9223372036854775807; + + private const _VALUES = [0 => true, 4294967295 => true, 4294967296 => true, 9223372036854775807 => true]; + + public static function isDefined(int $v): bool { + return isset(self::_VALUES[$v]); + } } } diff --git a/compiled/php/EnumNegative.php b/compiled/php/EnumNegative.php index d3022430..39498acb 100644 --- a/compiled/php/EnumNegative.php +++ b/compiled/php/EnumNegative.php @@ -23,5 +23,11 @@ public function f2() { return $this->_m_f2; } class Constants { const NEGATIVE_ONE = -1; const POSITIVE_ONE = 1; + + private const _VALUES = [-1 => true, 1 => true]; + + public static function isDefined(int $v): bool { + return isset(self::_VALUES[$v]); + } } } diff --git a/compiled/php/EnumOfValueInst.php b/compiled/php/EnumOfValueInst.php index 3c4aa65e..bc6e2901 100644 --- a/compiled/php/EnumOfValueInst.php +++ b/compiled/php/EnumOfValueInst.php @@ -38,5 +38,11 @@ class Animal { const DOG = 4; const CAT = 7; const CHICKEN = 12; + + private const _VALUES = [4 => true, 7 => true, 12 => true]; + + public static function isDefined(int $v): bool { + return isset(self::_VALUES[$v]); + } } } diff --git a/compiled/php/EnumToI.php b/compiled/php/EnumToI.php index 04395534..2c7f3978 100644 --- a/compiled/php/EnumToI.php +++ b/compiled/php/EnumToI.php @@ -66,5 +66,11 @@ class Animal { const DOG = 4; const CAT = 7; const CHICKEN = 12; + + private const _VALUES = [4 => true, 7 => true, 12 => true]; + + public static function isDefined(int $v): bool { + return isset(self::_VALUES[$v]); + } } } diff --git a/compiled/php/EnumToIClassBorder1.php b/compiled/php/EnumToIClassBorder1.php index d478e902..e0438a61 100644 --- a/compiled/php/EnumToIClassBorder1.php +++ b/compiled/php/EnumToIClassBorder1.php @@ -41,5 +41,11 @@ class Animal { const DOG = 4; const CAT = 7; const CHICKEN = 12; + + private const _VALUES = [4 => true, 7 => true, 12 => true]; + + public static function isDefined(int $v): bool { + return isset(self::_VALUES[$v]); + } } } diff --git a/compiled/php/EnumToIInvalid.php b/compiled/php/EnumToIInvalid.php index fc38f7bb..9f6f863d 100644 --- a/compiled/php/EnumToIInvalid.php +++ b/compiled/php/EnumToIInvalid.php @@ -65,5 +65,11 @@ public function pet2() { return $this->_m_pet2; } class Animal { const DOG = 102; const CAT = 124; + + private const _VALUES = [102 => true, 124 => true]; + + public static function isDefined(int $v): bool { + return isset(self::_VALUES[$v]); + } } } diff --git a/compiled/php/ExprBits.php b/compiled/php/ExprBits.php index 9ae405c5..72b1b028 100644 --- a/compiled/php/ExprBits.php +++ b/compiled/php/ExprBits.php @@ -101,5 +101,11 @@ public function foo() { return $this->_m_foo; } class Items { const FOO = 1; const BAR = 2; + + private const _VALUES = [1 => true, 2 => true]; + + public static function isDefined(int $v): bool { + return isset(self::_VALUES[$v]); + } } } diff --git a/compiled/php/ExprEnum.php b/compiled/php/ExprEnum.php index 935351c8..6919cf98 100644 --- a/compiled/php/ExprEnum.php +++ b/compiled/php/ExprEnum.php @@ -43,5 +43,11 @@ class Animal { const CAT = 7; const CHICKEN = 12; const BOOM = 102; + + private const _VALUES = [4 => true, 7 => true, 12 => true, 102 => true]; + + public static function isDefined(int $v): bool { + return isset(self::_VALUES[$v]); + } } } diff --git a/compiled/php/ParamsEnum.php b/compiled/php/ParamsEnum.php index 2527d4a5..73f6e70e 100644 --- a/compiled/php/ParamsEnum.php +++ b/compiled/php/ParamsEnum.php @@ -46,5 +46,11 @@ class Animal { const DOG = 4; const CAT = 7; const CHICKEN = 12; + + private const _VALUES = [4 => true, 7 => true, 12 => true]; + + public static function isDefined(int $v): bool { + return isset(self::_VALUES[$v]); + } } } diff --git a/compiled/php/SwitchManualEnum.php b/compiled/php/SwitchManualEnum.php index c1753e41..4d2e4214 100644 --- a/compiled/php/SwitchManualEnum.php +++ b/compiled/php/SwitchManualEnum.php @@ -80,5 +80,11 @@ public function value() { return $this->_m_value; } class CodeEnum { const INTVAL = 73; const STRVAL = 83; + + private const _VALUES = [73 => true, 83 => true]; + + public static function isDefined(int $v): bool { + return isset(self::_VALUES[$v]); + } } } diff --git a/compiled/php/SwitchManualEnumInvalid.php b/compiled/php/SwitchManualEnumInvalid.php index 14342f39..4044510c 100644 --- a/compiled/php/SwitchManualEnumInvalid.php +++ b/compiled/php/SwitchManualEnumInvalid.php @@ -80,5 +80,11 @@ public function value() { return $this->_m_value; } class CodeEnum { const INTVAL = 73; const STRVAL = 83; + + private const _VALUES = [73 => true, 83 => true]; + + public static function isDefined(int $v): bool { + return isset(self::_VALUES[$v]); + } } } diff --git a/compiled/php/SwitchManualEnumInvalidElse.php b/compiled/php/SwitchManualEnumInvalidElse.php index 3511fa4c..b0adbdc3 100644 --- a/compiled/php/SwitchManualEnumInvalidElse.php +++ b/compiled/php/SwitchManualEnumInvalidElse.php @@ -102,5 +102,11 @@ public function value() { return $this->_m_value; } class CodeEnum { const INTVAL = 73; const STRVAL = 83; + + private const _VALUES = [73 => true, 83 => true]; + + public static function isDefined(int $v): bool { + return isset(self::_VALUES[$v]); + } } } diff --git a/compiled/php/TsPacketHeader.php b/compiled/php/TsPacketHeader.php index 270ea93f..b79da7ae 100644 --- a/compiled/php/TsPacketHeader.php +++ b/compiled/php/TsPacketHeader.php @@ -51,5 +51,11 @@ class AdaptationFieldControlEnum { const PAYLOAD_ONLY = 1; const ADAPTATION_FIELD_ONLY = 2; const ADAPTATION_FIELD_AND_PAYLOAD = 3; + + private const _VALUES = [0 => true, 1 => true, 2 => true, 3 => true]; + + public static function isDefined(int $v): bool { + return isset(self::_VALUES[$v]); + } } }