macro_rules! gb18030_decoder_functions {
    (
        $first_body:block,
        $second_body:block,
        $third_body:block,
        $fourth_body:block,
        $slf:ident,
        $non_ascii:ident,
        $first_minus_offset:ident,
        $second:ident,
        $second_minus_offset:ident,
        $unread_handle_second:ident,
        $third:ident,
        $third_minus_offset:ident,
        $unread_handle_third:ident,
        $fourth:ident,
        $fourth_minus_offset:ident,
        $unread_handle_fourth:ident,
        $source:ident,
        $handle:ident,
        $outermost:tt
    ) => { ... };
}