Packages
gpb
5.0.0
5.0.0
4.21.7
4.21.6
4.21.5
4.21.4
4.21.3
4.21.2
4.21.1
4.21.0
4.20.0
4.19.9
4.19.8
4.19.7
4.19.6
4.19.5
4.19.4
4.19.3
4.19.2
4.19.1
4.19.0
4.18.0
4.17.7
4.17.6
4.17.5
4.17.3
4.17.2
4.17.1
4.17.0
4.16.2
4.16.1
4.16.0
4.15.2
4.15.1
4.14.2
4.14.1
4.14.0
4.13.0
4.12.0
4.11.2
4.11.1
4.11.0
4.10.6
4.10.5
4.10.4
4.10.3
4.10.2
4.10.1
4.10.0
4.9.3
4.9.2
4.9.1
4.9.0
4.8.0
4.7.3
4.7.2
4.7.1
4.7.0
4.6.0
4.5.1
4.5.0
4.4.1
4.4.0
4.3.3
4.3.2
4.3.1
4.3.0
4.2.3
4.2.2
4.2.1
4.2.0
4.1.9
4.1.8
4.1.7
4.1.6
4.1.5
4.1.4
4.1.3
4.1.2
4.1.1
4.1.0
4.0.2
4.0.1
4.0.0
3.28.1
3.28.0
3.27.7
3.27.6
3.27.5
3.27.4
3.27.3
3.27.2
3.27.1
3.27.0
3.26.8
3.26.7
3.26.6
3.26.5
3.26.4
3.26.3
3.26.2
3.26.1
3.26.0
3.25.2
3.25.1
3.25.0
3.24.4
3.24.3
3.24.2
3.24.1
3.24.0
3.23.2
3.23.1
3.23.0
3.22.5
3.22.4
3.22.3
3.22.2
3.22.1
3.22.0
3.21.3
3.21.2
3.21.1
3.21.0
3.20.3
3.20.2
3.20.0
3.19.0
3.18.10
3.18.9
3.18.8
3.18.7
3.18.6
3.18.5
3.18.4
3.18.3
3.18.2
3.18.1
3.18.0
3.17.13
3.17.12
3.17.11
3.17.10
3.17.9
3.17.8
3.17.5
3.17.4
3.17.3
3.17.2
3.17.1
3.17.0
3.16.0
3.15.0
3.14.0
3.13.0
3.12.2
3.12.1
3.12.0
3.11.0
A compiler for Google protocol buffer definitions files for Erlang.
Current section
Files
Jump to
Current section
Files
src/gpb_compile.hrl
-ifndef(gpb_compile_hrl).
-define(gpb_compile_hrl, true).
-record(ft, {type, occurrence, is_packed}).
-record(anres, %% result of analysis
{
source_filenames :: [string()],
used_types :: sets:set(gpb_field_type()),
known_msg_size :: #{MsgName::atom() => Size::non_neg_integer() |
undefined},
fixlen_types :: sets:set(#ft{}),
num_packed_fields :: integer(),
num_fields :: #{MsgName::atom() => integer()},
d_field_pass_method :: #{MsgName::atom() => pass_as_record |
pass_as_params},
maps_as_msgs :: gpb_defs:defs(),
dec_maps_as_msgs :: gpb_defs:defs(),
translations :: #{FieldPath::[atom() | []] =>
[{Op::atom(),
[{module(), atom(), [term()]}] |
'$default'}]},
types_only_via_translations :: sets:set(gpb_field_type()),
map_types :: sets:set({map,_,_}),
map_value_types :: {boolean(), boolean()}, % submsgs?/nonsubmsgs?
group_occurrences :: #{GroupName::atom() => repeated |
optional |
required},
has_p3_opt_strings :: boolean(),
unknowns_info :: both_with_and_without_field_for_unknowns |
all_are_without_field_for_unknowns |
all_are_with_field_for_unknowns |
no_msgs,
renamings :: no_renamings | gpb_names:renamings()
}).
-record(maps, {
unset_optional :: omitted | present_undefined,
oneof :: tuples | flat
}).
-record(natrecs, {
unset_value :: term(),
required_default :: unset_value | none
}).
-define(f(Fmt), io_lib:format(Fmt, [])).
-define(f(Fmt, Args), io_lib:format(Fmt, Args)).
-define(ff(Fmt, Args), lists:flatten(io_lib:format(Fmt, Args))).
-endif. % gpb_compile_hrl