|
25 | 25 |
|
26 | 26 | namespace shape {
|
27 | 27 |
|
| 28 | +typedef unsigned long tag_variant_t; |
| 29 | +typedef unsigned long tag_align_t; |
28 | 30 |
|
29 | 31 | // Constants
|
30 | 32 |
|
@@ -234,7 +236,7 @@ class ctxt {
|
234 | 236 | void walk_reset();
|
235 | 237 |
|
236 | 238 | std::pair<const uint8_t *,const uint8_t *>
|
237 |
| - get_variant_sp(tag_info &info, uint32_t variant_id); |
| 239 | + get_variant_sp(tag_info &info, tag_variant_t variant_id); |
238 | 240 |
|
239 | 241 | protected:
|
240 | 242 | inline uint8_t peek() { return *sp; }
|
@@ -406,7 +408,7 @@ ctxt<T>::get_size_align(const uint8_t *&addr) {
|
406 | 408 | // the tag variant with the given ID.
|
407 | 409 | template<typename T>
|
408 | 410 | std::pair<const uint8_t *,const uint8_t *>
|
409 |
| -ctxt<T>::get_variant_sp(tag_info &tinfo, uint32_t variant_id) { |
| 411 | +ctxt<T>::get_variant_sp(tag_info &tinfo, tag_variant_t variant_id) { |
410 | 412 | uint16_t variant_offset = get_u16(tinfo.info_ptr +
|
411 | 413 | variant_id * sizeof(uint16_t));
|
412 | 414 | const uint8_t *variant_ptr = tables->tags + variant_offset;
|
@@ -816,7 +818,7 @@ class data : public ctxt< data<T,U> > {
|
816 | 818 | void walk_uniq_contents();
|
817 | 819 | void walk_fn_contents(ptr &dp);
|
818 | 820 | void walk_obj_contents(ptr &dp);
|
819 |
| - void walk_variant(tag_info &tinfo, uint32_t variant); |
| 821 | + void walk_variant(tag_info &tinfo, tag_variant_t variant); |
820 | 822 |
|
821 | 823 | static std::pair<uint8_t *,uint8_t *> get_vec_data_range(ptr dp);
|
822 | 824 | static std::pair<ptr_pair,ptr_pair> get_vec_data_range(ptr_pair &dp);
|
@@ -901,7 +903,7 @@ data<T,U>::walk_uniq_contents() {
|
901 | 903 |
|
902 | 904 | template<typename T,typename U>
|
903 | 905 | void
|
904 |
| -data<T,U>::walk_variant(tag_info &tinfo, uint32_t variant_id) { |
| 906 | +data<T,U>::walk_variant(tag_info &tinfo, tag_variant_t variant_id) { |
905 | 907 | std::pair<const uint8_t *,const uint8_t *> variant_ptr_and_end =
|
906 | 908 | this->get_variant_sp(tinfo, variant_id);
|
907 | 909 | static_cast<T *>(this)->walk_variant(tinfo, variant_id,
|
@@ -932,13 +934,13 @@ data<T,U>::walk_tag(tag_info &tinfo) {
|
932 | 934 | size_of::compute_tag_size(*this, tinfo);
|
933 | 935 |
|
934 | 936 | if (tinfo.variant_count > 1)
|
935 |
| - ALIGN_TO(alignof<uint32_t>()); |
| 937 | + ALIGN_TO(alignof<tag_align_t>()); |
936 | 938 |
|
937 | 939 | U end_dp = dp + tinfo.tag_sa.size;
|
938 | 940 |
|
939 |
| - typename U::template data<uint32_t>::t tag_variant; |
| 941 | + typename U::template data<tag_variant_t>::t tag_variant; |
940 | 942 | if (tinfo.variant_count > 1)
|
941 |
| - tag_variant = bump_dp<uint32_t>(dp); |
| 943 | + tag_variant = bump_dp<tag_variant_t>(dp); |
942 | 944 | else
|
943 | 945 | tag_variant = 0;
|
944 | 946 |
|
@@ -1047,7 +1049,7 @@ class log : public data<log,ptr> {
|
1047 | 1049 | walk_vec(is_pod, get_vec_data_range(dp));
|
1048 | 1050 | }
|
1049 | 1051 |
|
1050 |
| - void walk_tag(tag_info &tinfo, uint32_t tag_variant) { |
| 1052 | + void walk_tag(tag_info &tinfo, tag_variant_t tag_variant) { |
1051 | 1053 | out << prefix << "tag" << tag_variant;
|
1052 | 1054 | data<log,ptr>::walk_variant(tinfo, tag_variant);
|
1053 | 1055 | }
|
@@ -1096,7 +1098,7 @@ class log : public data<log,ptr> {
|
1096 | 1098 |
|
1097 | 1099 | void walk_struct(const uint8_t *end_sp);
|
1098 | 1100 | void walk_vec(bool is_pod, const std::pair<ptr,ptr> &data);
|
1099 |
| - void walk_variant(tag_info &tinfo, uint32_t variant_id, |
| 1101 | + void walk_variant(tag_info &tinfo, tag_variant_t variant_id, |
1100 | 1102 | const std::pair<const uint8_t *,const uint8_t *>
|
1101 | 1103 | variant_ptr_and_end);
|
1102 | 1104 | void walk_string(const std::pair<ptr,ptr> &data);
|
|
0 commit comments