|| Generated Sapl file for StringAppender.icl StringAppender.newAppender = StringAppender._StringAppender _predefined._Nil 0 StringAppender.append !_vtoString_0 !appender_1 a_2 = let !str_1_0 = StdOverloaded.get_toString_25 _vtoString_0 a_2, !new_length_1_1 = <{StdInt.+_6}> (StringAppender.get_full_length_2 appender_1) (_SystemArray.size_20 str_1_0) in StringAppender._StringAppender (_predefined._Cons str_1_0 (StringAppender.get_elements_1 appender_1)) new_length_1_1 StringAppender.append_11 !appender_0 !a_1 = let !str_1_0 = StdString.toString_9 a_1, !new_length_1_1 = <{StdInt.+_6}> (StringAppender.get_full_length_2 appender_0) (_SystemArray.size_20 str_1_0) in StringAppender._StringAppender (_predefined._Cons str_1_0 (StringAppender.get_elements_1 appender_0)) new_length_1_1 StringAppender.joinList !_vtoString_0 !sep_1 !_x_2 !a_3 = select _x_2 (\ t_1_0 _x_1_1 = select _x_1_1 (\ _uv1_2_0 _uv2_2_1 = StringAppender.joinList_def0 t_1_0 _x_1_1 _vtoString_0 sep_1 _x_2 a_3) (StringAppender.append _vtoString_0 a_3 t_1_0)) a_3 StringAppender.joinList_def0 t_0 _x_1 !_vtoString_2 !sep_3 !_x_4 !a_5 = StringAppender.joinList _vtoString_2 sep_3 _x_1 (StringAppender.append_11 (StringAppender.append _vtoString_2 a_5 t_0) sep_3) StringAppender.copyChars_10 !_vArray_0 !_vArray_1 offset_2 !i_3 !num_4 src_5 dst_6 = if (<{StdInt.==_16}> i_3 num_4) dst_6 (StringAppender.copyChars_10 _vArray_0 _vArray_1 offset_2 (<{StdInt.+_6}> i_3 1) num_4 src_5 (_SystemArray.get_update_5 _vArray_0 dst_6 (<{StdInt.+_6}> offset_2 i_3) (_SystemArray.get_select_3 _vArray_1 src_5 i_3))) <{StringAppender.concat`_9}> !_vArray_0 !_vArray_1 full_length_2 !_x_3 dst_4 _x_5 = select _x_3 (\ x_1_0 xs_1_1 = <{StringAppender.concat`_9}> _vArray_0 _vArray_1 full_length_2 xs_1_1 (StringAppender.copyChars_10 _vArray_1 _vArray_0 (<{StdInt.-_7}> (<{StdInt.-_7}> full_length_2 _x_5) (_SystemArray.get_size_4 _vArray_0 x_1_0)) 0 (_SystemArray.get_size_4 _vArray_0 x_1_0) x_1_0 dst_4) (<{StdInt.+_6}> _x_5 (_SystemArray.get_size_4 _vArray_0 x_1_0))) dst_4 StringAppender.copyChars_13 !_vArray_0 offset_1 !i_2 !num_3 src_4 dst_5 = if (<{StdInt.==_16}> i_2 num_3) dst_5 (StringAppender.copyChars_13 _vArray_0 offset_1 (<{StdInt.+_6}> i_2 1) num_3 src_4 (_SystemArray.get_update_5 _vArray_0 dst_5 (<{StdInt.+_6}> offset_1 i_2) (_SystemArray.select_19 src_4 i_2))) <{StringAppender.concat`_12}> !_vArray_0 full_length_1 !_x_2 dst_3 _x_4 = select _x_2 (\ x_1_0 xs_1_1 = <{StringAppender.concat`_12}> _vArray_0 full_length_1 xs_1_1 (StringAppender.copyChars_13 _vArray_0 (<{StdInt.-_7}> (<{StdInt.-_7}> full_length_1 _x_4) (_SystemArray.size_20 x_1_0)) 0 (_SystemArray.size_20 x_1_0) x_1_0 dst_3) (<{StdInt.+_6}> _x_4 (_SystemArray.size_20 x_1_0))) dst_3 StringAppender.copyChars_15 offset_0 !i_1 !num_2 src_3 !dst_4 = if (<{StdInt.==_16}> i_1 num_2) dst_4 (StringAppender.copyChars_15 offset_0 (<{StdInt.+_6}> i_1 1) num_2 src_3 (_SystemArray.update_21 dst_4 (<{StdInt.+_6}> offset_0 i_1) (_SystemArray.select_19 src_3 i_1))) <{StringAppender.concat`_14}> full_length_0 !_x_1 !dst_2 _x_3 = select _x_1 (\ x_1_0 xs_1_1 = <{StringAppender.concat`_14}> full_length_0 xs_1_1 (StringAppender.copyChars_15 (<{StdInt.-_7}> (<{StdInt.-_7}> full_length_0 _x_3) (_SystemArray.size_20 x_1_0)) 0 (_SystemArray.size_20 x_1_0) x_1_0 dst_2) (<{StdInt.+_6}> _x_3 (_SystemArray.size_20 x_1_0))) dst_2 StringAppender.concat_rev !xs_0 !full_length_1 = <{StringAppender.concat`_14}> full_length_1 xs_0 (_SystemArray.createArray_17 full_length_1 '\000') 0 StringAppender.toString_3 !appender_0 = StringAppender.concat_rev (StringAppender.get_elements_1 appender_0) (StringAppender.get_full_length_2 appender_0) <{StringAppender.<++_4}> !a_0 !b_1 = StringAppender.append_11 a_0 b_1 StringAppender.append_16 !appender_0 !a_1 = let !str_1_0 = StdString.toString_5 a_1, !new_length_1_1 = <{StdInt.+_6}> (StringAppender.get_full_length_2 appender_0) (_SystemArray.size_20 str_1_0) in StringAppender._StringAppender (_predefined._Cons str_1_0 (StringAppender.get_elements_1 appender_0)) new_length_1_1 <{StringAppender.<++_5}> !a_0 !b_1 = StringAppender.append_16 a_0 b_1 StringAppender.append_17 !appender_0 !a_1 = let !str_1_0 = StdString.toString_7 a_1, !new_length_1_1 = <{StdInt.+_6}> (StringAppender.get_full_length_2 appender_0) (_SystemArray.size_20 str_1_0) in StringAppender._StringAppender (_predefined._Cons str_1_0 (StringAppender.get_elements_1 appender_0)) new_length_1_1 <{StringAppender.<++_6}> !a_0 !b_1 = StringAppender.append_17 a_0 b_1 <{StringAppender.<++_7}> a_0 !f_1 = f_1 a_0 || Converted Records :: StringAppender._StringAppender = {StringAppender.elements, StringAppender.full_length} StringAppender.get_elements_1 rec = select rec (\ a1 a2 = a1) StringAppender.get_full_length_2 rec = select rec (\ a1 a2 = a2) StringAppender.set_elements_1 rec val = select rec (\ a1 a2 = StringAppender._StringAppender val a2) StringAppender.set_full_length_2 rec val = select rec (\ a1 a2 = StringAppender._StringAppender a1 val) :: <{StringAppender.Appendable;}> = {<{StringAppender.<++}>} <{StringAppender.get_<++_0}> rec = select rec (\ a1 = a1) <{StringAppender.set_<++_0}> rec val = select rec (\ a1 = <{StringAppender.Appendable;}> val)