2015-06-12 Basile Starynkevitch <basile@starynkevitch.net>
[official-gcc.git] / gcc / melt / generated / warmelt-base+02.cc
blob6cf319bcc4ce327279ffc7f739a691fa76a593d3
1 /* GCC MELT GENERATED C++ FILE warmelt-base+02.cc - DO NOT EDIT - see http://gcc-melt.org/ */
2 /* secondary MELT generated C++ file of rank #2 */
3 #include "melt-run.h"
6 /* used hash from melt-run.h when compiling this file: */
7 MELT_EXTERN const char meltrun_used_md5_melt_f2[] = MELT_RUN_HASHMD5 /* from melt-run.h */;
10 /**** warmelt-base+02.cc declarations ****/
11 /**** MELT GENERATED DECLARATIONS for warmelt-base ** DO NOT EDIT ; see gcc-melt.org ****/
13 /****++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
14 ***
15 Copyright 2008 - 2015 Free Software Foundation, Inc.
16 Contributed by Basile Starynkevitch <basile@starynkevitch.net>
17 and Pierre Vittet <piervit@pvittet.com>
19 This file is part of GCC.
21 GCC is free software; you can redistribute it and/or modify
22 it under the terms of the GNU General Public License as published by
23 the Free Software Foundation; either version 3, or (at your option)
24 any later version.
26 GCC is distributed in the hope that it will be useful,
27 but WITHOUT ANY WARRANTY; without even the implied warranty of
28 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
29 GNU General Public License for more details.
31 You should have received a copy of the GNU General Public License
32 along with GCC; see the file COPYING3. If not see
33 <http://www.gnu.org/licenses/>.
34 ***
35 ----------------------------------------------------------------****/
38 /** ordinary MELT module meltbuild-sources/warmelt-base**/
39 #define MELT_HAS_INITIAL_ENVIRONMENT 1 /*usualmodule*/
43 class Melt_InitialClassyFrame_WARMELTmiBASE_h1045706295; // forward declaration fromline 6691
44 typedef Melt_InitialClassyFrame_WARMELTmiBASE_h1045706295 Melt_InitialFrame;
45 /**** no MELT module variables ****/
47 /*** 4 MELT called hook declarations ***/
49 /*declare MELT called hook #0 HOOK_FRESH_ENVIRONMENT_REFERENCE_MAKER **/
50 MELT_EXTERN melt_ptr_t melthook_HOOK_FRESH_ENVIRONMENT_REFERENCE_MAKER (melt_ptr_t melthookdatap, melt_ptr_t meltinp0_PREVENV, const char* meltinp1_MODULNAME);
52 /*declare MELT called hook #1 HOOK_MELT_MAKE_LOCATION **/
53 MELT_EXTERN melt_ptr_t melthook_HOOK_MELT_MAKE_LOCATION (melt_ptr_t melthookdatap, const char* meltinp0_FILENAME, long meltinp1_LINENO);
55 /*declare MELT called hook #2 HOOK_SYMBOL_IMPORTER **/
56 MELT_EXTERN melt_ptr_t melthook_HOOK_SYMBOL_IMPORTER (melt_ptr_t melthookdatap, const char* meltinp0_SYMNAMESTR, const char* meltinp1_MODULENAMESTR, melt_ptr_t meltinp2_PARENV);
58 /*declare MELT called hook #3 HOOK_VALUE_EXPORTER **/
59 MELT_EXTERN void melthook_HOOK_VALUE_EXPORTER (melt_ptr_t melthookdatap, melt_ptr_t meltinp0_SYM, melt_ptr_t meltinp1_VAL, melt_ptr_t meltinp2_CONTENV);
61 /*** end of 4 MELT called hook declarations ***/
63 /*** 2 extra MELT c-headers ***/
66 /** MELT extra c-header 1 : h966007662 **/
69 /* C++ standard headers for multiple_sort */
70 #include <vector>
71 #include <algorithm>
76 /** MELT extra c-header 2 : h611433 **/
79 /* A compare structure used in multiple_sort for std::stable_sort;
80 it has to be a compilation-unit global type;
81 it cannot be a struct inside multiple_sort;
82 see http://stackoverflow.com/q/21201685/841108
83 and ISO/IEC 14882 C++03 standard section 14.3.1
85 class Melt_Sort_Compare_Index
87 struct meltmultiple_st** melttup_ad;
88 melt_ptr_t* meltcmp_ad;
89 public:
90 Melt_Sort_Compare_Index (struct meltmultiple_st**tup_ad, melt_ptr_t* cmp_ad)
91 : melttup_ad(tup_ad), meltcmp_ad(cmp_ad) {};
92 ~Melt_Sort_Compare_Index()
94 meltcmp_ad=NULL;
95 melttup_ad=NULL;
97 bool operator () (int meltleftix, int meltrightix)
99 return (bool)
100 melthookproc_HOOK_SORT_COMPARE_LESS((*melttup_ad)->tabval[meltleftix],
101 (*melttup_ad)->tabval[meltrightix],
102 *meltcmp_ad);
104 }; /* end class Melt_Sort_Compare_Index */
107 /*** end of 2 extra MELT c-headers ***/
112 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_1_WARMELTmiBASE_MELT_MAKE_SEXPR(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
117 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_2_WARMELTmiBASE_plIV(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
122 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_3_WARMELTmiBASE_miIV(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
127 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_4_WARMELTmiBASE_stIV(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
132 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_5_WARMELTmiBASE_diIV(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
137 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_6_WARMELTmiBASE_pcIV(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
139 /** start of declaration for hook melthook_HOOK_MELT_MAKE_LOCATION**/
141 /** declaration of hook melthook_HOOK_MELT_MAKE_LOCATION */
142 MELT_EXTERN
143 melt_ptr_t melthook_HOOK_MELT_MAKE_LOCATION(melt_ptr_t melthookdatap,
144 const char* meltinp0_FILENAME,
145 long meltinp1_LINENO)
150 /** end of declaration for hook melthook_HOOK_MELT_MAKE_LOCATION**/
157 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_8_WARMELTmiBASE_LIST_NTH_ELEMENT(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
162 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_9_WARMELTmiBASE_LIST_CLONE(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
167 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_10_WARMELTmiBASE_COMPARE_NAMED_ALPHA(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
172 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_11_WARMELTmiBASE_ADD2OUT(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
177 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_12_WARMELTmiBASE_ADD2LIST(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
182 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_13_WARMELTmiBASE_STRING4OUT(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
187 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_14_WARMELTmiBASE_ADD2OUT4NULL(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
192 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_15_WARMELTmiBASE_ADD2OUT4INTEGER(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
197 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_16_WARMELTmiBASE_ADD2OUT4STRING(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
202 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_17_WARMELTmiBASE_ADD2OUT4STRBUF(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
207 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_18_WARMELTmiBASE_OUTPUT_JSON(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
212 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_19_WARMELTmiBASE_ADD2OUT4CLONEDSYMB(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
217 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_20_WARMELTmiBASE_ADD2OUT4NAMED(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
222 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_21_WARMELTmiBASE_ADD2OUT4ROOTOBJECT(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
227 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_22_WARMELTmiBASE_ADD2OUT4ANY(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
232 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_23_WARMELTmiBASE_MAPSTRING_EVERY(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
237 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_24_WARMELTmiBASE_MAPSTRING_ITERATE_TEST(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
242 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_25_WARMELTmiBASE_MULTIPLE_EVERY(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
247 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_26_WARMELTmiBASE_MULTIPLE_BACKWARD_EVERY(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
252 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_27_WARMELTmiBASE_MULTIPLE_EVERY_BOTH(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
257 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_28_WARMELTmiBASE_SET_REFERENCE(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
262 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_29_WARMELTmiBASE_INSTALL_VALUE_DESCRIPTOR(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
267 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_30_WARMELTmiBASE_RETRIEVE_VALUE_DESCRIPTOR_LIST(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
272 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_31_WARMELTmiBASE_LIST_REMOVE_LAST_ELEMENT(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
277 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_32_WARMELTmiBASE_COMPLETE_SEQUENCE_AS_TUPLE(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
282 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_33_WARMELTmiBASE_COMPLETE_SEQUENCE_AS_LIST(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
287 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_34_WARMELTmiBASE_MELT_PREDEFINED_GET(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
292 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_35_WARMELTmiBASE_SYMBOL_CNAME(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
294 /** start of declaration for hook melthook_HOOK_SORT_COMPARE_LESS**/
296 /** declaration of hook melthook_HOOK_SORT_COMPARE_LESS */
297 MELT_EXTERN
298 long melthook_HOOK_SORT_COMPARE_LESS(melt_ptr_t melthookdatap,
299 melt_ptr_t meltinp0_LEFT,
300 melt_ptr_t meltinp1_RIGHT,
301 melt_ptr_t meltinp2_CMP)
306 /** end of declaration for hook melthook_HOOK_SORT_COMPARE_LESS**/
313 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_37_WARMELTmiBASE_MULTIPLE_SORT(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
318 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_38_WARMELTmiBASE_MAPOBJECT_SORTED_ATTRIBUTE_TUPLE(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
323 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_39_WARMELTmiBASE_LAMBDA_cl1(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
328 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_40_WARMELTmiBASE_LAMBDA_cl2(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
333 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_41_WARMELTmiBASE_LAMBDA_cl3(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
338 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_42_WARMELTmiBASE_JSON_NAME_LESS(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
343 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_43_WARMELTmiBASE_JSON_NAME_EQUAL(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
348 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_44_WARMELTmiBASE_JSON_CANONICAL_NAME(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
353 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_45_WARMELTmiBASE_MAKE_JSONOBJECT(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
358 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_46_WARMELTmiBASE_LAMBDA_cl4(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
363 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_47_WARMELTmiBASE_JSONOBJECT_GET_NAMED(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
368 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_48_WARMELTmiBASE_OUTJSON_JSONOBJ_METHOD(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
373 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_49_WARMELTmiBASE_OUTJSON_MULTIPLE_METHOD(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
378 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_50_WARMELTmiBASE_OUTJSON_NAMED_METHOD(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
381 MELT_EXTERN MELT_LOW_OPTIMIZATION void* melt_start_this_module (void*); /*mandatory start of module*/
383 MELT_EXTERN const char melt_module_is_gpl_compatible[];
385 /*declare opaque initial frame: */
387 typedef Melt_InitialClassyFrame_WARMELTmiBASE_h1045706295 /*opaqueinitialclassy*/ meltinitial_frame_t;
390 /* define different names when debugging or not */
391 #if MELT_HAVE_DEBUG
392 MELT_EXTERN const char meltmodule_WARMELTmiBASE__melt_have_debug_enabled[];
393 #define melt_have_debug_string meltmodule_WARMELTmiBASE__melt_have_debug_enabled
394 #else /*!MELT_HAVE_DEBUG*/
395 MELT_EXTERN const char meltmodule_WARMELTmiBASE__melt_have_debug_disabled[];
396 #define melt_have_debug_string meltmodule_WARMELTmiBASE__melt_have_debug_disabled
397 #endif /*!MELT_HAVE_DEBUG*/
401 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_0 (meltinitial_frame_t*, char*); //declare
403 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_1 (meltinitial_frame_t*, char*); //declare
405 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_2 (meltinitial_frame_t*, char*); //declare
407 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_3 (meltinitial_frame_t*, char*); //declare
409 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_4 (meltinitial_frame_t*, char*); //declare
411 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_5 (meltinitial_frame_t*, char*); //declare
413 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_6 (meltinitial_frame_t*, char*); //declare
415 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_7 (meltinitial_frame_t*, char*); //declare
417 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_8 (meltinitial_frame_t*, char*); //declare
419 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_9 (meltinitial_frame_t*, char*); //declare
421 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_10 (meltinitial_frame_t*, char*); //declare
423 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_11 (meltinitial_frame_t*, char*); //declare
425 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_12 (meltinitial_frame_t*, char*); //declare
427 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_13 (meltinitial_frame_t*, char*); //declare
429 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_14 (meltinitial_frame_t*, char*); //declare
431 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_15 (meltinitial_frame_t*, char*); //declare
433 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_16 (meltinitial_frame_t*, char*); //declare
435 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_17 (meltinitial_frame_t*, char*); //declare
437 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_18 (meltinitial_frame_t*, char*); //declare
439 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_19 (meltinitial_frame_t*, char*); //declare
441 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_20 (meltinitial_frame_t*, char*); //declare
443 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_21 (meltinitial_frame_t*, char*); //declare
445 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_22 (meltinitial_frame_t*, char*); //declare
447 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_23 (meltinitial_frame_t*, char*); //declare
449 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_24 (meltinitial_frame_t*, char*); //declare
451 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_25 (meltinitial_frame_t*, char*); //declare
453 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_26 (meltinitial_frame_t*, char*); //declare
455 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_27 (meltinitial_frame_t*, char*); //declare
457 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_28 (meltinitial_frame_t*, char*); //declare
459 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_29 (meltinitial_frame_t*, char*); //declare
461 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_30 (meltinitial_frame_t*, char*); //declare
463 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_31 (meltinitial_frame_t*, char*); //declare
465 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_32 (meltinitial_frame_t*, char*); //declare
467 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_33 (meltinitial_frame_t*, char*); //declare
469 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_34 (meltinitial_frame_t*, char*); //declare
471 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_35 (meltinitial_frame_t*, char*); //declare
473 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_36 (meltinitial_frame_t*, char*); //declare
475 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_37 (meltinitial_frame_t*, char*); //declare
477 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_38 (meltinitial_frame_t*, char*); //declare
479 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_39 (meltinitial_frame_t*, char*); //declare
481 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_40 (meltinitial_frame_t*, char*); //declare
483 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_41 (meltinitial_frame_t*, char*); //declare
485 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_42 (meltinitial_frame_t*, char*); //declare
487 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_43 (meltinitial_frame_t*, char*); //declare
489 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_44 (meltinitial_frame_t*, char*); //declare
491 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_45 (meltinitial_frame_t*, char*); //declare
493 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_46 (meltinitial_frame_t*, char*); //declare
495 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_47 (meltinitial_frame_t*, char*); //declare
497 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_48 (meltinitial_frame_t*, char*); //declare
499 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_49 (meltinitial_frame_t*, char*); //declare
501 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_50 (meltinitial_frame_t*, char*); //declare
503 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_51 (meltinitial_frame_t*, char*); //declare
505 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_52 (meltinitial_frame_t*, char*); //declare
507 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_53 (meltinitial_frame_t*, char*); //declare
509 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_54 (meltinitial_frame_t*, char*); //declare
511 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_55 (meltinitial_frame_t*, char*); //declare
513 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_56 (meltinitial_frame_t*, char*); //declare
515 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_57 (meltinitial_frame_t*, char*); //declare
517 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_58 (meltinitial_frame_t*, char*); //declare
519 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_59 (meltinitial_frame_t*, char*); //declare
521 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_60 (meltinitial_frame_t*, char*); //declare
525 /**** warmelt-base+02.cc implementations ****/
530 melt_ptr_t MELT_MODULE_VISIBILITY
531 meltrout_29_WARMELTmiBASE_INSTALL_VALUE_DESCRIPTOR(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
532 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
534 long current_blocklevel_signals_meltrout_29_WARMELTmiBASE_INSTALL_VALUE_DESCRIPTOR_melt = melt_blocklevel_signals;
536 #if MELT_HAVE_DEBUG
537 static long melt_call_counter__;
538 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
539 #undef meltcallcount
540 #define meltcallcount melt_thiscallcounter__
541 #else
542 #undef meltcallcount
543 #define meltcallcount 0L
544 #endif
545 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
547 /* start of frame for routine meltrout_29_WARMELTmiBASE_INSTALL_VALUE_DESCRIPTOR fromline 1752 */
549 /** start of frame for meltrout_29_WARMELTmiBASE_INSTALL_VALUE_DESCRIPTOR of CLASS_PROCROUTINEOBJ from 1555**/
551 /*curframdeclclassy*/ class MeltFrame_meltrout_29_WARMELTmiBASE_INSTALL_VALUE_DESCRIPTOR// fromline 1568
552 : public Melt_CallFrameWithValues<6>
554 public: /* fromline 1572*/
555 long mcfr_varnum[1];
556 /*classy others*/
557 long _meltsparel;
558 void melt_mark_stuff (void)
560 } /*end melt_mark_stuff*/
561 virtual void melt_mark_ggc_data (void)
563 melt_mark_values ();
564 melt_mark_stuff ();
565 }; /*end melt_mark_ggc_data*/
566 MeltFrame_meltrout_29_WARMELTmiBASE_INSTALL_VALUE_DESCRIPTOR(meltclosure_ptr_t clos) //the closure constructor fromline 1630
567 : Melt_CallFrameWithValues<6> (
568 #if ENABLE_CHECKING /*fromline 1634*/
569 __FILE__, __LINE__,
570 #endif /* ENABLE_CHECKING fromline 1638*/
571 sizeof(MeltFrame_meltrout_29_WARMELTmiBASE_INSTALL_VALUE_DESCRIPTOR), clos) {};
572 MeltFrame_meltrout_29_WARMELTmiBASE_INSTALL_VALUE_DESCRIPTOR() //the constructor fromline 1642
573 : Melt_CallFrameWithValues<6> (
574 #if ENABLE_CHECKING /*fromline 1646*/
575 __FILE__, __LINE__,
576 #endif /* ENABLE_CHECKING fromline 1650*/
577 sizeof(MeltFrame_meltrout_29_WARMELTmiBASE_INSTALL_VALUE_DESCRIPTOR)) {};
578 #if ENABLE_CHECKING /*fromline 1654*/
579 MeltFrame_meltrout_29_WARMELTmiBASE_INSTALL_VALUE_DESCRIPTOR(const char*fil, int lin) //the constructor fromline 1656
580 : Melt_CallFrameWithValues<6> (fil,lin, sizeof(MeltFrame_meltrout_29_WARMELTmiBASE_INSTALL_VALUE_DESCRIPTOR)) {};
581 MeltFrame_meltrout_29_WARMELTmiBASE_INSTALL_VALUE_DESCRIPTOR(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
582 : Melt_CallFrameWithValues<6> (fil,lin, sizeof(MeltFrame_meltrout_29_WARMELTmiBASE_INSTALL_VALUE_DESCRIPTOR), clos) {};
583 #endif /* ENABLE_CHECKING fromline 1666*/
585 }; // end class MeltFrame_meltrout_29_WARMELTmiBASE_INSTALL_VALUE_DESCRIPTOR
588 /** end of frame for meltrout_29_WARMELTmiBASE_INSTALL_VALUE_DESCRIPTOR fromline 1697**/
590 /* end of frame for routine meltrout_29_WARMELTmiBASE_INSTALL_VALUE_DESCRIPTOR fromline 1756 */
592 /* classy proc frame meltrout_29_WARMELTmiBASE_INSTALL_VALUE_DESCRIPTOR */
593 MeltFrame_meltrout_29_WARMELTmiBASE_INSTALL_VALUE_DESCRIPTOR
594 meltfram__ /*declfrastruct fromline 1780*/
595 /*classyprocarg meltrout_29_WARMELTmiBASE_INSTALL_VALUE_DESCRIPTOR fromline 1785*/
596 #if ENABLE_CHECKING
597 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
598 #else /*ENABLE_CHECKING */
599 (meltclosp_) /* fromline 1793*/
600 #endif /*ENABLE_CHECKING */
603 #define meltframe meltfram__
605 melt_trace_start("INSTALL_VALUE_DESCRIPTOR", meltcallcount);
606 /*use arguments*/
607 (void) meltclosp_;
608 (void)meltfirstargp_;
609 (void)meltxargdescr_;
610 (void)meltxargtab_;
611 (void)meltxresdescr_;
612 (void)meltxrestab_;
613 /*getargs*/
615 /*getarg#0*/
616 MELT_LOCATION("warmelt-base.melt:2065:/ getarg");
617 /*_.VD__V2*/
618 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
620 goto meltlab_endgetargs;
621 meltlab_endgetargs:
623 /*body*/
624 /*^block*/
625 /*anyblock*/
629 #if MELT_HAVE_DEBUG
630 MELT_LOCATION("warmelt-base.melt:2066:/ cppif.then");
631 /*^block*/
632 /*anyblock*/
636 MELT_CHECK_SIGNAL();
638 /*_#IS_A__L1*/
639 meltfnum[0] =
640 melt_is_instance_of((melt_ptr_t)(/*_.VD__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_VALUE_DESCRIPTOR*/ meltfrout->tabval[0])));;
641 MELT_LOCATION("warmelt-base.melt:2066:/ cond");
642 /*cond*/
643 if (/*_#IS_A__L1*/ meltfnum[0]) /*then*/
645 /*^cond.then*/
646 /*_._IFELSE___V4*/ meltfptr[3] = (/*nil*/NULL);;
648 else
650 MELT_LOCATION("warmelt-base.melt:2066:/ cond.else");
652 /*^block*/
653 /*anyblock*/
657 MELT_CHECK_SIGNAL();
659 /*^apply*/
660 /*apply*/
662 union meltparam_un argtab[4];
663 memset(&argtab, 0, sizeof(argtab));
664 /*^apply.arg*/
665 argtab[0].meltbp_cstring = "check vd";
666 /*^apply.arg*/
667 argtab[1].meltbp_cstring = "warmelt-base.melt";
668 /*^apply.arg*/
669 argtab[2].meltbp_long = 2066;
670 /*^apply.arg*/
671 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.VD__V2*/ meltfptr[1];
672 /*_.MELT_ASSERT_FAILURE_FUN__V5*/
673 meltfptr[4] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[1])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
676 /*_._IFELSE___V4*/
677 meltfptr[3] = /*_.MELT_ASSERT_FAILURE_FUN__V5*/ meltfptr[4];;
678 /*epilog*/
680 MELT_LOCATION("warmelt-base.melt:2066:/ clear");
681 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V5*/
682 meltfptr[4] = 0 ;
687 /*_.IFCPP___V3*/
688 meltfptr[2] = /*_._IFELSE___V4*/ meltfptr[3];;
689 /*epilog*/
691 MELT_LOCATION("warmelt-base.melt:2066:/ clear");
692 /*clear*/ /*_#IS_A__L1*/
693 meltfnum[0] = 0 ;
694 /*^clear*/
695 /*clear*/ /*_._IFELSE___V4*/
696 meltfptr[3] = 0 ;
699 #else /*MELT_HAVE_DEBUG*/
700 /*^cppif.else*/
701 /*_.IFCPP___V3*/ meltfptr[2] = (/*nil*/NULL);
702 #endif /*MELT_HAVE_DEBUG*/
704 MELT_LOCATION("warmelt-base.melt:2067:/ cond");
705 /*cond*/
706 if (
707 /*ifisa*/ melt_is_instance_of((melt_ptr_t)((/*!VALUE_DESCRIPTOR_LIST_REFERENCE*/ meltfrout->tabval[2])),
708 (melt_ptr_t)((/*!CLASS_REFERENCE*/ meltfrout->tabval[3])))
709 ) /*then*/
711 /*^cond.then*/
712 /*^getslot*/
714 melt_ptr_t slot=NULL, obj=NULL;
715 obj = (melt_ptr_t)((/*!VALUE_DESCRIPTOR_LIST_REFERENCE*/ meltfrout->tabval[2])) /*=obj*/;
716 melt_object_get_field(slot,obj, 0, "REFERENCED_VALUE");
717 /*_.REFERENCED_VALUE__V6*/
718 meltfptr[4] = slot;
722 else /*^cond.else*/
725 /*_.REFERENCED_VALUE__V6*/ meltfptr[4] = /*reallynil*/ NULL ;;
730 MELT_LOCATION("warmelt-base.melt:2067:/ locexp");
731 meltgc_append_list((melt_ptr_t)(/*_.REFERENCED_VALUE__V6*/ meltfptr[4]), (melt_ptr_t)(/*_.VD__V2*/ meltfptr[1]));
735 MELT_CHECK_SIGNAL();
737 /*epilog*/
739 MELT_LOCATION("warmelt-base.melt:2065:/ clear");
740 /*clear*/ /*_.IFCPP___V3*/
741 meltfptr[2] = 0 ;
742 /*^clear*/
743 /*clear*/ /*_.REFERENCED_VALUE__V6*/
744 meltfptr[4] = 0 ;
748 goto meltlabend_rout;
749 meltlabend_rout:
750 melt_trace_end("INSTALL_VALUE_DESCRIPTOR", meltcallcount);
751 melt_blocklevel_signals = current_blocklevel_signals_meltrout_29_WARMELTmiBASE_INSTALL_VALUE_DESCRIPTOR_melt;
752 return (melt_ptr_t)(/*noretval*/ NULL);
753 #undef meltcallcount
754 #undef meltfram__
755 #undef MELTFRAM_NBVARNUM
756 #undef MELTFRAM_NBVARPTR
757 } /*end meltrout_29_WARMELTmiBASE_INSTALL_VALUE_DESCRIPTOR*/
764 melt_ptr_t MELT_MODULE_VISIBILITY
765 meltrout_30_WARMELTmiBASE_RETRIEVE_VALUE_DESCRIPTOR_LIST(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
766 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
768 long current_blocklevel_signals_meltrout_30_WARMELTmiBASE_RETRIEVE_VALUE_DESCRIPTOR_LIST_melt = melt_blocklevel_signals;
770 #if MELT_HAVE_DEBUG
771 static long melt_call_counter__;
772 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
773 #undef meltcallcount
774 #define meltcallcount melt_thiscallcounter__
775 #else
776 #undef meltcallcount
777 #define meltcallcount 0L
778 #endif
779 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
781 /* start of frame for routine meltrout_30_WARMELTmiBASE_RETRIEVE_VALUE_DESCRIPTOR_LIST fromline 1752 */
783 /** start of frame for meltrout_30_WARMELTmiBASE_RETRIEVE_VALUE_DESCRIPTOR_LIST of CLASS_PROCROUTINEOBJ from 1555**/
785 /*curframdeclclassy*/ class MeltFrame_meltrout_30_WARMELTmiBASE_RETRIEVE_VALUE_DESCRIPTOR_LIST// fromline 1568
786 : public Melt_CallFrameWithValues<2>
788 public: /* fromline 1572*/
789 // no classy longs
790 /*classy others*/
791 long _meltsparel;
792 void melt_mark_stuff (void)
794 } /*end melt_mark_stuff*/
795 virtual void melt_mark_ggc_data (void)
797 melt_mark_values ();
798 melt_mark_stuff ();
799 }; /*end melt_mark_ggc_data*/
800 MeltFrame_meltrout_30_WARMELTmiBASE_RETRIEVE_VALUE_DESCRIPTOR_LIST(meltclosure_ptr_t clos) //the closure constructor fromline 1630
801 : Melt_CallFrameWithValues<2> (
802 #if ENABLE_CHECKING /*fromline 1634*/
803 __FILE__, __LINE__,
804 #endif /* ENABLE_CHECKING fromline 1638*/
805 sizeof(MeltFrame_meltrout_30_WARMELTmiBASE_RETRIEVE_VALUE_DESCRIPTOR_LIST), clos) {};
806 MeltFrame_meltrout_30_WARMELTmiBASE_RETRIEVE_VALUE_DESCRIPTOR_LIST() //the constructor fromline 1642
807 : Melt_CallFrameWithValues<2> (
808 #if ENABLE_CHECKING /*fromline 1646*/
809 __FILE__, __LINE__,
810 #endif /* ENABLE_CHECKING fromline 1650*/
811 sizeof(MeltFrame_meltrout_30_WARMELTmiBASE_RETRIEVE_VALUE_DESCRIPTOR_LIST)) {};
812 #if ENABLE_CHECKING /*fromline 1654*/
813 MeltFrame_meltrout_30_WARMELTmiBASE_RETRIEVE_VALUE_DESCRIPTOR_LIST(const char*fil, int lin) //the constructor fromline 1656
814 : Melt_CallFrameWithValues<2> (fil,lin, sizeof(MeltFrame_meltrout_30_WARMELTmiBASE_RETRIEVE_VALUE_DESCRIPTOR_LIST)) {};
815 MeltFrame_meltrout_30_WARMELTmiBASE_RETRIEVE_VALUE_DESCRIPTOR_LIST(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
816 : Melt_CallFrameWithValues<2> (fil,lin, sizeof(MeltFrame_meltrout_30_WARMELTmiBASE_RETRIEVE_VALUE_DESCRIPTOR_LIST), clos) {};
817 #endif /* ENABLE_CHECKING fromline 1666*/
819 }; // end class MeltFrame_meltrout_30_WARMELTmiBASE_RETRIEVE_VALUE_DESCRIPTOR_LIST
822 /** end of frame for meltrout_30_WARMELTmiBASE_RETRIEVE_VALUE_DESCRIPTOR_LIST fromline 1697**/
824 /* end of frame for routine meltrout_30_WARMELTmiBASE_RETRIEVE_VALUE_DESCRIPTOR_LIST fromline 1756 */
826 /* classy proc frame meltrout_30_WARMELTmiBASE_RETRIEVE_VALUE_DESCRIPTOR_LIST */
827 MeltFrame_meltrout_30_WARMELTmiBASE_RETRIEVE_VALUE_DESCRIPTOR_LIST
828 meltfram__ /*declfrastruct fromline 1780*/
829 /*classyprocarg meltrout_30_WARMELTmiBASE_RETRIEVE_VALUE_DESCRIPTOR_LIST fromline 1785*/
830 #if ENABLE_CHECKING
831 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
832 #else /*ENABLE_CHECKING */
833 (meltclosp_) /* fromline 1793*/
834 #endif /*ENABLE_CHECKING */
837 #define meltframe meltfram__
839 melt_trace_start("RETRIEVE_VALUE_DESCRIPTOR_LIST", meltcallcount);
840 /*use arguments*/
841 (void) meltclosp_;
842 (void)meltfirstargp_;
843 (void)meltxargdescr_;
844 (void)meltxargtab_;
845 (void)meltxresdescr_;
846 (void)meltxrestab_;
847 /*getargs*/
849 goto meltlab_endgetargs;
850 meltlab_endgetargs:
852 /*body*/
853 MELT_LOCATION("warmelt-base.melt:2070:/ block");
854 /*anyblock*/
857 MELT_LOCATION("warmelt-base.melt:2071:/ cond");
858 /*cond*/
859 if (
860 /*ifisa*/ melt_is_instance_of((melt_ptr_t)((/*!VALUE_DESCRIPTOR_LIST_REFERENCE*/ meltfrout->tabval[0])),
861 (melt_ptr_t)((/*!CLASS_REFERENCE*/ meltfrout->tabval[1])))
862 ) /*then*/
864 /*^cond.then*/
865 /*^getslot*/
867 melt_ptr_t slot=NULL, obj=NULL;
868 obj = (melt_ptr_t)((/*!VALUE_DESCRIPTOR_LIST_REFERENCE*/ meltfrout->tabval[0])) /*=obj*/;
869 melt_object_get_field(slot,obj, 0, "REFERENCED_VALUE");
870 /*_.REFERENCED_VALUE__V2*/
871 meltfptr[1] = slot;
875 else /*^cond.else*/
878 /*_.REFERENCED_VALUE__V2*/ meltfptr[1] = /*reallynil*/ NULL ;;
881 MELT_LOCATION("warmelt-base.melt:2070:/ quasiblock");
884 /*_._RETVAL___V1*/
885 meltfptr[0] = /*_.REFERENCED_VALUE__V2*/ meltfptr[1];;
888 MELT_LOCATION("warmelt-base.melt:2070:/ locexp");
889 /*ochecknores compilobj_nrep_return*/
890 #if MELT_HAVE_DEBUG
891 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
892 melt_warn_for_no_expected_secondary_results();
893 /* we warned when secondary results are expected but not returned. */
894 #endif /*MELT_HAVE_DEBUG*/
898 /*^finalreturn*/
900 /*finalret*/
901 goto meltlabend_rout ;
902 /*epilog*/
904 /*^clear*/
905 /*clear*/ /*_.REFERENCED_VALUE__V2*/
906 meltfptr[1] = 0 ;
910 goto meltlabend_rout;
911 meltlabend_rout:
912 melt_trace_end("RETRIEVE_VALUE_DESCRIPTOR_LIST", meltcallcount);
913 melt_blocklevel_signals = current_blocklevel_signals_meltrout_30_WARMELTmiBASE_RETRIEVE_VALUE_DESCRIPTOR_LIST_melt;
914 return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]);
915 #undef meltcallcount
916 #undef meltfram__
917 #undef MELTFRAM_NBVARNUM
918 #undef MELTFRAM_NBVARPTR
919 } /*end meltrout_30_WARMELTmiBASE_RETRIEVE_VALUE_DESCRIPTOR_LIST*/
926 melt_ptr_t MELT_MODULE_VISIBILITY
927 meltrout_31_WARMELTmiBASE_LIST_REMOVE_LAST_ELEMENT(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
928 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
930 long current_blocklevel_signals_meltrout_31_WARMELTmiBASE_LIST_REMOVE_LAST_ELEMENT_melt = melt_blocklevel_signals;
932 #if MELT_HAVE_DEBUG
933 static long melt_call_counter__;
934 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
935 #undef meltcallcount
936 #define meltcallcount melt_thiscallcounter__
937 #else
938 #undef meltcallcount
939 #define meltcallcount 0L
940 #endif
941 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
943 /* start of frame for routine meltrout_31_WARMELTmiBASE_LIST_REMOVE_LAST_ELEMENT fromline 1752 */
945 /** start of frame for meltrout_31_WARMELTmiBASE_LIST_REMOVE_LAST_ELEMENT of CLASS_PROCROUTINEOBJ from 1555**/
947 /*curframdeclclassy*/ class MeltFrame_meltrout_31_WARMELTmiBASE_LIST_REMOVE_LAST_ELEMENT// fromline 1568
948 : public Melt_CallFrameWithValues<20>
950 public: /* fromline 1572*/
951 long mcfr_varnum[6];
952 /*classy others*/
953 long _meltsparel;
954 void melt_mark_stuff (void)
956 } /*end melt_mark_stuff*/
957 virtual void melt_mark_ggc_data (void)
959 melt_mark_values ();
960 melt_mark_stuff ();
961 }; /*end melt_mark_ggc_data*/
962 MeltFrame_meltrout_31_WARMELTmiBASE_LIST_REMOVE_LAST_ELEMENT(meltclosure_ptr_t clos) //the closure constructor fromline 1630
963 : Melt_CallFrameWithValues<20> (
964 #if ENABLE_CHECKING /*fromline 1634*/
965 __FILE__, __LINE__,
966 #endif /* ENABLE_CHECKING fromline 1638*/
967 sizeof(MeltFrame_meltrout_31_WARMELTmiBASE_LIST_REMOVE_LAST_ELEMENT), clos) {};
968 MeltFrame_meltrout_31_WARMELTmiBASE_LIST_REMOVE_LAST_ELEMENT() //the constructor fromline 1642
969 : Melt_CallFrameWithValues<20> (
970 #if ENABLE_CHECKING /*fromline 1646*/
971 __FILE__, __LINE__,
972 #endif /* ENABLE_CHECKING fromline 1650*/
973 sizeof(MeltFrame_meltrout_31_WARMELTmiBASE_LIST_REMOVE_LAST_ELEMENT)) {};
974 #if ENABLE_CHECKING /*fromline 1654*/
975 MeltFrame_meltrout_31_WARMELTmiBASE_LIST_REMOVE_LAST_ELEMENT(const char*fil, int lin) //the constructor fromline 1656
976 : Melt_CallFrameWithValues<20> (fil,lin, sizeof(MeltFrame_meltrout_31_WARMELTmiBASE_LIST_REMOVE_LAST_ELEMENT)) {};
977 MeltFrame_meltrout_31_WARMELTmiBASE_LIST_REMOVE_LAST_ELEMENT(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
978 : Melt_CallFrameWithValues<20> (fil,lin, sizeof(MeltFrame_meltrout_31_WARMELTmiBASE_LIST_REMOVE_LAST_ELEMENT), clos) {};
979 #endif /* ENABLE_CHECKING fromline 1666*/
981 }; // end class MeltFrame_meltrout_31_WARMELTmiBASE_LIST_REMOVE_LAST_ELEMENT
984 /** end of frame for meltrout_31_WARMELTmiBASE_LIST_REMOVE_LAST_ELEMENT fromline 1697**/
986 /* end of frame for routine meltrout_31_WARMELTmiBASE_LIST_REMOVE_LAST_ELEMENT fromline 1756 */
988 /* classy proc frame meltrout_31_WARMELTmiBASE_LIST_REMOVE_LAST_ELEMENT */
989 MeltFrame_meltrout_31_WARMELTmiBASE_LIST_REMOVE_LAST_ELEMENT
990 meltfram__ /*declfrastruct fromline 1780*/
991 /*classyprocarg meltrout_31_WARMELTmiBASE_LIST_REMOVE_LAST_ELEMENT fromline 1785*/
992 #if ENABLE_CHECKING
993 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
994 #else /*ENABLE_CHECKING */
995 (meltclosp_) /* fromline 1793*/
996 #endif /*ENABLE_CHECKING */
999 #define meltframe meltfram__
1001 melt_trace_start("LIST_REMOVE_LAST_ELEMENT", meltcallcount);
1002 /*use arguments*/
1003 (void) meltclosp_;
1004 (void)meltfirstargp_;
1005 (void)meltxargdescr_;
1006 (void)meltxargtab_;
1007 (void)meltxresdescr_;
1008 (void)meltxrestab_;
1009 /*getargs*/
1011 /*getarg#0*/
1012 MELT_LOCATION("warmelt-base.melt:3580:/ getarg");
1013 /*_.LIS__V2*/
1014 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
1016 goto meltlab_endgetargs;
1017 meltlab_endgetargs:
1019 /*body*/
1020 /*^block*/
1021 /*anyblock*/
1025 MELT_CHECK_SIGNAL();
1027 /*_#IS_LIST__L1*/
1028 meltfnum[0] =
1029 (melt_magic_discr((melt_ptr_t)(/*_.LIS__V2*/ meltfptr[1])) == MELTOBMAG_LIST);;
1030 /*^compute*/
1031 /*_#NOT__L2*/
1032 meltfnum[1] =
1033 (!(/*_#IS_LIST__L1*/ meltfnum[0]));;
1034 MELT_LOCATION("warmelt-base.melt:3584:/ cond");
1035 /*cond*/
1036 if (/*_#NOT__L2*/ meltfnum[1]) /*then*/
1038 /*^cond.then*/
1039 /*^block*/
1040 /*anyblock*/
1044 MELT_CHECK_SIGNAL();
1046 MELT_LOCATION("warmelt-base.melt:3585:/ quasiblock");
1049 /*_._RETVAL___V1*/
1050 meltfptr[0] = (/*nil*/NULL);;
1053 MELT_LOCATION("warmelt-base.melt:3585:/ locexp");
1054 /*ochecknores compilobj_nrep_return*/
1055 #if MELT_HAVE_DEBUG
1056 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
1057 melt_warn_for_no_expected_secondary_results();
1058 /* we warned when secondary results are expected but not returned. */
1059 #endif /*MELT_HAVE_DEBUG*/
1063 /*^finalreturn*/
1065 /*finalret*/
1066 goto meltlabend_rout ;
1067 /*_._IF___V3*/
1068 meltfptr[2] = /*_.RETURN___V4*/ meltfptr[3];;
1069 /*epilog*/
1071 MELT_LOCATION("warmelt-base.melt:3584:/ clear");
1072 /*clear*/ /*_.RETURN___V4*/
1073 meltfptr[3] = 0 ;
1077 else /*^cond.else*/
1080 /*_._IF___V3*/ meltfptr[2] = /*reallynil*/ NULL ;;
1083 MELT_LOCATION("warmelt-base.melt:3586:/ quasiblock");
1086 /*_.LASTPAIR__V5*/
1087 meltfptr[3] =
1088 (melt_list_last((melt_ptr_t)(/*_.LIS__V2*/ meltfptr[1])));;
1089 /*^compute*/
1090 /*_.PREVPAIR__V6*/
1091 meltfptr[5] = (/*nil*/NULL);;
1093 MELT_CHECK_SIGNAL();
1095 MELT_LOCATION("warmelt-base.melt:3589:/ cond");
1096 /*cond*/
1097 if (/*_.LASTPAIR__V5*/ meltfptr[3]) /*then*/
1099 /*^cond.then*/
1100 /*^block*/
1101 /*anyblock*/
1105 #if MELT_HAVE_DEBUG
1106 /*^cppif.then*/
1107 /*^block*/
1108 /*anyblock*/
1112 MELT_CHECK_SIGNAL();
1114 /*_#IS_PAIR__L3*/
1115 meltfnum[2] =
1116 (melt_magic_discr((melt_ptr_t)(/*_.LASTPAIR__V5*/ meltfptr[3])) == MELTOBMAG_PAIR);;
1117 MELT_LOCATION("warmelt-base.melt:3589:/ cond");
1118 /*cond*/
1119 if (/*_#IS_PAIR__L3*/ meltfnum[2]) /*then*/
1121 /*^cond.then*/
1122 /*_._IFELSE___V9*/ meltfptr[8] = (/*nil*/NULL);;
1124 else {
1125 MELT_LOCATION("warmelt-base.melt:3589:/ cond.else");
1127 /*^block*/
1128 /*anyblock*/
1132 MELT_CHECK_SIGNAL();
1134 /*^apply*/
1135 /*apply*/
1137 union meltparam_un argtab[3];
1138 memset(&argtab, 0, sizeof(argtab));
1139 /*^apply.arg*/
1140 argtab[0].meltbp_cstring = "check lastpair";
1141 /*^apply.arg*/
1142 argtab[1].meltbp_cstring = "warmelt-base.melt";
1143 /*^apply.arg*/
1144 argtab[2].meltbp_long = 3589;
1145 /*_.MELT_ASSERT_FAILURE_FUN__V10*/
1146 meltfptr[9] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG ""), argtab, "", (union meltparam_un*)0);
1149 /*_._IFELSE___V9*/
1150 meltfptr[8] = /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9];;
1151 /*epilog*/
1153 MELT_LOCATION("warmelt-base.melt:3589:/ clear");
1154 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V10*/
1155 meltfptr[9] = 0 ;
1160 /*_.IFCPP___V8*/
1161 meltfptr[7] = /*_._IFELSE___V9*/ meltfptr[8];;
1162 /*epilog*/
1164 MELT_LOCATION("warmelt-base.melt:3589:/ clear");
1165 /*clear*/ /*_#IS_PAIR__L3*/
1166 meltfnum[2] = 0 ;
1167 /*^clear*/
1168 /*clear*/ /*_._IFELSE___V9*/
1169 meltfptr[8] = 0 ;
1172 #else /*MELT_HAVE_DEBUG*/
1173 /*^cppif.else*/
1174 /*_.IFCPP___V8*/ meltfptr[7] = (/*nil*/NULL);
1175 #endif /*MELT_HAVE_DEBUG*/
1177 /*^compute*/
1178 /*_._IFELSE___V7*/
1179 meltfptr[6] = /*_.IFCPP___V8*/ meltfptr[7];;
1180 /*epilog*/
1182 MELT_LOCATION("warmelt-base.melt:3589:/ clear");
1183 /*clear*/ /*_.IFCPP___V8*/
1184 meltfptr[7] = 0 ;
1188 else /*^cond.else*/
1191 /*_._IFELSE___V7*/ meltfptr[6] = /*_.LASTPAIR__V5*/ meltfptr[3];;
1194 /*citerblock FOREACH_PAIR_COMPONENT_IN_LIST*/
1196 /* start foreach_pair_component_in_list meltcit1__EACHLIST */
1197 for (/*_.CURPAIR__V11*/ meltfptr[9] = melt_list_first( (melt_ptr_t)/*_.LIS__V2*/ meltfptr[1]);
1198 melt_magic_discr((melt_ptr_t) /*_.CURPAIR__V11*/ meltfptr[9]) == MELTOBMAG_PAIR;
1199 /*_.CURPAIR__V11*/ meltfptr[9] = melt_pair_tail((melt_ptr_t) /*_.CURPAIR__V11*/ meltfptr[9]))
1201 /*_.CURELEM__V12*/ meltfptr[8] = melt_pair_head((melt_ptr_t) /*_.CURPAIR__V11*/ meltfptr[9]);
1205 #if MELT_HAVE_DEBUG
1206 MELT_LOCATION("warmelt-base.melt:3593:/ cppif.then");
1207 /*^block*/
1208 /*anyblock*/
1212 MELT_CHECK_SIGNAL();
1214 /*_#IS_PAIR__L4*/
1215 meltfnum[2] =
1216 (melt_magic_discr((melt_ptr_t)(/*_.CURPAIR__V11*/ meltfptr[9])) == MELTOBMAG_PAIR);;
1217 MELT_LOCATION("warmelt-base.melt:3593:/ cond");
1218 /*cond*/
1219 if (/*_#IS_PAIR__L4*/ meltfnum[2]) /*then*/
1221 /*^cond.then*/
1222 /*_._IFELSE___V14*/ meltfptr[13] = (/*nil*/NULL);;
1224 else
1226 MELT_LOCATION("warmelt-base.melt:3593:/ cond.else");
1228 /*^block*/
1229 /*anyblock*/
1233 MELT_CHECK_SIGNAL();
1235 /*^apply*/
1236 /*apply*/
1238 union meltparam_un argtab[4];
1239 memset(&argtab, 0, sizeof(argtab));
1240 /*^apply.arg*/
1241 argtab[0].meltbp_cstring = "check curpair";
1242 /*^apply.arg*/
1243 argtab[1].meltbp_cstring = "warmelt-base.melt";
1244 /*^apply.arg*/
1245 argtab[2].meltbp_long = 3593;
1246 /*^apply.arg*/
1247 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.CURPAIR__V11*/ meltfptr[9];
1248 /*_.MELT_ASSERT_FAILURE_FUN__V15*/
1249 meltfptr[14] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
1252 /*_._IFELSE___V14*/
1253 meltfptr[13] = /*_.MELT_ASSERT_FAILURE_FUN__V15*/ meltfptr[14];;
1254 /*epilog*/
1256 MELT_LOCATION("warmelt-base.melt:3593:/ clear");
1257 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V15*/
1258 meltfptr[14] = 0 ;
1263 /*_.IFCPP___V13*/
1264 meltfptr[7] = /*_._IFELSE___V14*/ meltfptr[13];;
1265 /*epilog*/
1267 MELT_LOCATION("warmelt-base.melt:3593:/ clear");
1268 /*clear*/ /*_#IS_PAIR__L4*/
1269 meltfnum[2] = 0 ;
1270 /*^clear*/
1271 /*clear*/ /*_._IFELSE___V14*/
1272 meltfptr[13] = 0 ;
1275 #else /*MELT_HAVE_DEBUG*/
1276 /*^cppif.else*/
1277 /*_.IFCPP___V13*/ meltfptr[7] = (/*nil*/NULL);
1278 #endif /*MELT_HAVE_DEBUG*/
1281 MELT_CHECK_SIGNAL();
1283 /*^compute*/
1284 /*_#eqeq__L5*/
1285 meltfnum[2] =
1286 ((/*_.CURPAIR__V11*/ meltfptr[9]) == (/*_.LASTPAIR__V5*/ meltfptr[3]));;
1287 MELT_LOCATION("warmelt-base.melt:3594:/ cond");
1288 /*cond*/
1289 if (/*_#eqeq__L5*/ meltfnum[2]) /*then*/
1291 /*^cond.then*/
1292 /*^block*/
1293 /*anyblock*/
1296 MELT_LOCATION("warmelt-base.melt:3595:/ compute");
1297 /*_.CURPAIR__V11*/
1298 meltfptr[9] = /*_.SETQ___V17*/ meltfptr[13] = (/*nil*/NULL);;
1300 MELT_CHECK_SIGNAL();
1302 /*_#IS_PAIR__L6*/
1303 meltfnum[5] =
1304 (melt_magic_discr((melt_ptr_t)(/*_.PREVPAIR__V6*/ meltfptr[5])) == MELTOBMAG_PAIR);;
1305 MELT_LOCATION("warmelt-base.melt:3596:/ cond");
1306 /*cond*/
1307 if (/*_#IS_PAIR__L6*/ meltfnum[5]) /*then*/
1309 /*^cond.then*/
1310 /*^block*/
1311 /*anyblock*/
1316 MELT_LOCATION("warmelt-base.melt:3597:/ locexp");
1317 /* list_remove_last_element UPDATEPAIR_CHK__1 */
1318 ((struct meltpair_st*)/*_.PREVPAIR__V6*/ meltfptr[5])->tl = NULL;
1319 ((struct meltlist_st*)/*_.LIS__V2*/ meltfptr[1])->last
1320 = (struct meltpair_st*) /*_.PREVPAIR__V6*/ meltfptr[5];
1321 meltgc_touch_dest (/*_.LIS__V2*/ meltfptr[1], /*_.PREVPAIR__V6*/ meltfptr[5]);
1325 /*epilog*/
1329 else
1331 MELT_LOCATION("warmelt-base.melt:3596:/ cond.else");
1333 /*^block*/
1334 /*anyblock*/
1339 MELT_LOCATION("warmelt-base.melt:3604:/ locexp");
1340 /* list_remove_last_element EMPTYLIST_CHK__1 */
1341 ((struct meltlist_st*)/*_.LIS__V2*/ meltfptr[1])->first = NULL;
1342 ((struct meltlist_st*)/*_.LIS__V2*/ meltfptr[1])->last = NULL;
1343 meltgc_touch (/*_.LIS__V2*/ meltfptr[1]);
1347 /*epilog*/
1353 MELT_CHECK_SIGNAL();
1355 MELT_LOCATION("warmelt-base.melt:3610:/ quasiblock");
1358 /*_._RETVAL___V1*/
1359 meltfptr[0] = /*_.CURELEM__V12*/ meltfptr[8];;
1362 MELT_LOCATION("warmelt-base.melt:3610:/ locexp");
1363 /*ochecknores compilobj_nrep_return*/
1364 #if MELT_HAVE_DEBUG
1365 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
1366 melt_warn_for_no_expected_secondary_results();
1367 /* we warned when secondary results are expected but not returned. */
1368 #endif /*MELT_HAVE_DEBUG*/
1372 /*^finalreturn*/
1374 /*finalret*/
1375 goto meltlabend_rout ;
1376 MELT_LOCATION("warmelt-base.melt:3594:/ quasiblock");
1379 /*_.PROGN___V19*/
1380 meltfptr[18] = /*_.RETURN___V18*/ meltfptr[17];;
1381 /*^compute*/
1382 /*_._IF___V16*/
1383 meltfptr[14] = /*_.PROGN___V19*/ meltfptr[18];;
1384 /*epilog*/
1386 MELT_LOCATION("warmelt-base.melt:3594:/ clear");
1387 /*clear*/ /*_.SETQ___V17*/
1388 meltfptr[13] = 0 ;
1389 /*^clear*/
1390 /*clear*/ /*_#IS_PAIR__L6*/
1391 meltfnum[5] = 0 ;
1392 /*^clear*/
1393 /*clear*/ /*_.RETURN___V18*/
1394 meltfptr[17] = 0 ;
1395 /*^clear*/
1396 /*clear*/ /*_.PROGN___V19*/
1397 meltfptr[18] = 0 ;
1401 else /*^cond.else*/
1404 /*_._IF___V16*/ meltfptr[14] = /*reallynil*/ NULL ;;
1407 MELT_LOCATION("warmelt-base.melt:3611:/ compute");
1408 /*_.PREVPAIR__V6*/
1409 meltfptr[5] = /*_.SETQ___V20*/ meltfptr[13] = /*_.CURPAIR__V11*/ meltfptr[9];;
1410 } /* end foreach_pair_component_in_list meltcit1__EACHLIST */
1411 /*_.CURPAIR__V11*/ meltfptr[9] = NULL;
1412 /*_.CURELEM__V12*/
1413 meltfptr[8] = NULL;
1416 /*citerepilog*/
1418 MELT_LOCATION("warmelt-base.melt:3590:/ clear");
1419 /*clear*/ /*_.CURPAIR__V11*/
1420 meltfptr[9] = 0 ;
1421 /*^clear*/
1422 /*clear*/ /*_.CURELEM__V12*/
1423 meltfptr[8] = 0 ;
1424 /*^clear*/
1425 /*clear*/ /*_.IFCPP___V13*/
1426 meltfptr[7] = 0 ;
1427 /*^clear*/
1428 /*clear*/ /*_#eqeq__L5*/
1429 meltfnum[2] = 0 ;
1430 /*^clear*/
1431 /*clear*/ /*_._IF___V16*/
1432 meltfptr[14] = 0 ;
1433 /*^clear*/
1434 /*clear*/ /*_.SETQ___V20*/
1435 meltfptr[13] = 0 ;
1436 } /*endciterblock FOREACH_PAIR_COMPONENT_IN_LIST*/
1439 MELT_LOCATION("warmelt-base.melt:3586:/ clear");
1440 /*clear*/ /*_.LASTPAIR__V5*/
1441 meltfptr[3] = 0 ;
1442 /*^clear*/
1443 /*clear*/ /*_.PREVPAIR__V6*/
1444 meltfptr[5] = 0 ;
1445 /*^clear*/
1446 /*clear*/ /*_._IFELSE___V7*/
1447 meltfptr[6] = 0 ;
1449 MELT_CHECK_SIGNAL();
1451 /*epilog*/
1453 MELT_LOCATION("warmelt-base.melt:3580:/ clear");
1454 /*clear*/ /*_#IS_LIST__L1*/
1455 meltfnum[0] = 0 ;
1456 /*^clear*/
1457 /*clear*/ /*_#NOT__L2*/
1458 meltfnum[1] = 0 ;
1459 /*^clear*/
1460 /*clear*/ /*_._IF___V3*/
1461 meltfptr[2] = 0 ;
1465 goto meltlabend_rout;
1466 meltlabend_rout:
1467 melt_trace_end("LIST_REMOVE_LAST_ELEMENT", meltcallcount);
1468 melt_blocklevel_signals = current_blocklevel_signals_meltrout_31_WARMELTmiBASE_LIST_REMOVE_LAST_ELEMENT_melt;
1469 return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]);
1470 #undef meltcallcount
1471 #undef meltfram__
1472 #undef MELTFRAM_NBVARNUM
1473 #undef MELTFRAM_NBVARPTR
1474 } /*end meltrout_31_WARMELTmiBASE_LIST_REMOVE_LAST_ELEMENT*/
1481 melt_ptr_t MELT_MODULE_VISIBILITY
1482 meltrout_32_WARMELTmiBASE_COMPLETE_SEQUENCE_AS_TUPLE(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
1483 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
1485 /*variadic*/ int variad_COMPLETE_SEQUENCE_AS_TUPLE_ix = 0, variad_COMPLETE_SEQUENCE_AS_TUPLE_len = melt_argdescr_length (meltxargdescr_);
1486 #define melt_variadic_length (0+variad_COMPLETE_SEQUENCE_AS_TUPLE_len)
1487 #define melt_variadic_index variad_COMPLETE_SEQUENCE_AS_TUPLE_ix
1489 long current_blocklevel_signals_meltrout_32_WARMELTmiBASE_COMPLETE_SEQUENCE_AS_TUPLE_melt = melt_blocklevel_signals;
1491 #if MELT_HAVE_DEBUG
1492 static long melt_call_counter__;
1493 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
1494 #undef meltcallcount
1495 #define meltcallcount melt_thiscallcounter__
1496 #else
1497 #undef meltcallcount
1498 #define meltcallcount 0L
1499 #endif
1500 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
1502 /* start of frame for routine meltrout_32_WARMELTmiBASE_COMPLETE_SEQUENCE_AS_TUPLE fromline 1752 */
1504 /** start of frame for meltrout_32_WARMELTmiBASE_COMPLETE_SEQUENCE_AS_TUPLE of CLASS_PROCROUTINEOBJ from 1555**/
1506 /*curframdeclclassy*/ class MeltFrame_meltrout_32_WARMELTmiBASE_COMPLETE_SEQUENCE_AS_TUPLE// fromline 1568
1507 : public Melt_CallFrameWithValues<19>
1509 public: /* fromline 1572*/
1510 long mcfr_varnum[3];
1511 /*classy others*/
1512 long _meltsparel;
1513 void melt_mark_stuff (void)
1515 } /*end melt_mark_stuff*/
1516 virtual void melt_mark_ggc_data (void)
1518 melt_mark_values ();
1519 melt_mark_stuff ();
1520 }; /*end melt_mark_ggc_data*/
1521 MeltFrame_meltrout_32_WARMELTmiBASE_COMPLETE_SEQUENCE_AS_TUPLE(meltclosure_ptr_t clos) //the closure constructor fromline 1630
1522 : Melt_CallFrameWithValues<19> (
1523 #if ENABLE_CHECKING /*fromline 1634*/
1524 __FILE__, __LINE__,
1525 #endif /* ENABLE_CHECKING fromline 1638*/
1526 sizeof(MeltFrame_meltrout_32_WARMELTmiBASE_COMPLETE_SEQUENCE_AS_TUPLE), clos) {};
1527 MeltFrame_meltrout_32_WARMELTmiBASE_COMPLETE_SEQUENCE_AS_TUPLE() //the constructor fromline 1642
1528 : Melt_CallFrameWithValues<19> (
1529 #if ENABLE_CHECKING /*fromline 1646*/
1530 __FILE__, __LINE__,
1531 #endif /* ENABLE_CHECKING fromline 1650*/
1532 sizeof(MeltFrame_meltrout_32_WARMELTmiBASE_COMPLETE_SEQUENCE_AS_TUPLE)) {};
1533 #if ENABLE_CHECKING /*fromline 1654*/
1534 MeltFrame_meltrout_32_WARMELTmiBASE_COMPLETE_SEQUENCE_AS_TUPLE(const char*fil, int lin) //the constructor fromline 1656
1535 : Melt_CallFrameWithValues<19> (fil,lin, sizeof(MeltFrame_meltrout_32_WARMELTmiBASE_COMPLETE_SEQUENCE_AS_TUPLE)) {};
1536 MeltFrame_meltrout_32_WARMELTmiBASE_COMPLETE_SEQUENCE_AS_TUPLE(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
1537 : Melt_CallFrameWithValues<19> (fil,lin, sizeof(MeltFrame_meltrout_32_WARMELTmiBASE_COMPLETE_SEQUENCE_AS_TUPLE), clos) {};
1538 #endif /* ENABLE_CHECKING fromline 1666*/
1540 }; // end class MeltFrame_meltrout_32_WARMELTmiBASE_COMPLETE_SEQUENCE_AS_TUPLE
1543 /** end of frame for meltrout_32_WARMELTmiBASE_COMPLETE_SEQUENCE_AS_TUPLE fromline 1697**/
1545 /* end of frame for routine meltrout_32_WARMELTmiBASE_COMPLETE_SEQUENCE_AS_TUPLE fromline 1756 */
1547 /* classy proc frame meltrout_32_WARMELTmiBASE_COMPLETE_SEQUENCE_AS_TUPLE */
1548 MeltFrame_meltrout_32_WARMELTmiBASE_COMPLETE_SEQUENCE_AS_TUPLE
1549 meltfram__ /*declfrastruct fromline 1780*/
1550 /*classyprocarg meltrout_32_WARMELTmiBASE_COMPLETE_SEQUENCE_AS_TUPLE fromline 1785*/
1551 #if ENABLE_CHECKING
1552 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
1553 #else /*ENABLE_CHECKING */
1554 (meltclosp_) /* fromline 1793*/
1555 #endif /*ENABLE_CHECKING */
1558 #define meltframe meltfram__
1560 melt_trace_start("COMPLETE_SEQUENCE_AS_TUPLE", meltcallcount);
1561 /*use arguments*/
1562 (void) meltclosp_;
1563 (void)meltfirstargp_;
1564 (void)meltxargdescr_;
1565 (void)meltxargtab_;
1566 (void)meltxresdescr_;
1567 (void)meltxrestab_;
1568 /*getargs*/
1570 /*getarg#0*/
1571 MELT_LOCATION("warmelt-base.melt:3615:/ getarg");
1572 /*_.SRC__V2*/
1573 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
1575 goto meltlab_endgetargs;
1576 meltlab_endgetargs:
1578 /*body*/
1579 /*^block*/
1580 /*anyblock*/
1583 MELT_LOCATION("warmelt-base.melt:3619:/ quasiblock");
1586 /*_.NEWLIST__V4*/
1587 meltfptr[3] =
1588 (meltgc_new_list((meltobject_ptr_t)((/*!DISCR_LIST*/ meltfrout->tabval[0]))));;
1590 MELT_CHECK_SIGNAL();
1592 /*^compute*/
1593 /*_#IS_MULTIPLE__L1*/
1594 meltfnum[0] =
1595 (melt_magic_discr((melt_ptr_t)(/*_.SRC__V2*/ meltfptr[1])) == MELTOBMAG_MULTIPLE);;
1596 MELT_LOCATION("warmelt-base.melt:3621:/ cond");
1597 /*cond*/
1598 if (/*_#IS_MULTIPLE__L1*/ meltfnum[0]) /*then*/
1600 /*^cond.then*/
1601 /*^block*/
1602 /*anyblock*/
1605 /*citerblock FOREACH_IN_MULTIPLE*/
1607 /* start foreach_in_multiple meltcit1__EACHTUP */
1608 long meltcit1__EACHTUP_ln = melt_multiple_length((melt_ptr_t)/*_.SRC__V2*/ meltfptr[1]);
1609 for (/*_#IX__L2*/ meltfnum[1] = 0;
1610 (/*_#IX__L2*/ meltfnum[1] >= 0) && (/*_#IX__L2*/ meltfnum[1] < meltcit1__EACHTUP_ln);
1611 /*_#IX__L2*/ meltfnum[1]++)
1613 /*_.COMP__V5*/ meltfptr[4] = melt_multiple_nth((melt_ptr_t)(/*_.SRC__V2*/ meltfptr[1]), /*_#IX__L2*/ meltfnum[1]);
1619 MELT_LOCATION("warmelt-base.melt:3625:/ locexp");
1620 meltgc_append_list((melt_ptr_t)(/*_.NEWLIST__V4*/ meltfptr[3]), (melt_ptr_t)(/*_.COMP__V5*/ meltfptr[4]));
1623 if (/*_#IX__L2*/ meltfnum[1]<0) break;
1624 } /* end foreach_in_multiple meltcit1__EACHTUP */
1626 /*citerepilog*/
1628 MELT_LOCATION("warmelt-base.melt:3622:/ clear");
1629 /*clear*/ /*_.COMP__V5*/
1630 meltfptr[4] = 0 ;
1631 /*^clear*/
1632 /*clear*/ /*_#IX__L2*/
1633 meltfnum[1] = 0 ;
1634 } /*endciterblock FOREACH_IN_MULTIPLE*/
1636 /*epilog*/
1640 else
1642 MELT_LOCATION("warmelt-base.melt:3621:/ cond.else");
1644 /*^block*/
1645 /*anyblock*/
1649 MELT_CHECK_SIGNAL();
1651 /*_#IS_LIST__L3*/
1652 meltfnum[2] =
1653 (melt_magic_discr((melt_ptr_t)(/*_.SRC__V2*/ meltfptr[1])) == MELTOBMAG_LIST);;
1654 MELT_LOCATION("warmelt-base.melt:3627:/ cond");
1655 /*cond*/
1656 if (/*_#IS_LIST__L3*/ meltfnum[2]) /*then*/
1658 /*^cond.then*/
1659 /*^block*/
1660 /*anyblock*/
1663 /*citerblock FOREACH_PAIR_COMPONENT_IN_LIST*/
1665 /* start foreach_pair_component_in_list meltcit2__EACHLIST */
1666 for (/*_.CURPAIR__V6*/ meltfptr[5] = melt_list_first( (melt_ptr_t)/*_.SRC__V2*/ meltfptr[1]);
1667 melt_magic_discr((melt_ptr_t) /*_.CURPAIR__V6*/ meltfptr[5]) == MELTOBMAG_PAIR;
1668 /*_.CURPAIR__V6*/ meltfptr[5] = melt_pair_tail((melt_ptr_t) /*_.CURPAIR__V6*/ meltfptr[5]))
1670 /*_.CURCOMP__V7*/ meltfptr[6] = melt_pair_head((melt_ptr_t) /*_.CURPAIR__V6*/ meltfptr[5]);
1675 MELT_LOCATION("warmelt-base.melt:3631:/ locexp");
1676 meltgc_append_list((melt_ptr_t)(/*_.NEWLIST__V4*/ meltfptr[3]), (melt_ptr_t)(/*_.CURCOMP__V7*/ meltfptr[6]));
1679 } /* end foreach_pair_component_in_list meltcit2__EACHLIST */
1680 /*_.CURPAIR__V6*/ meltfptr[5] = NULL;
1681 /*_.CURCOMP__V7*/
1682 meltfptr[6] = NULL;
1685 /*citerepilog*/
1687 MELT_LOCATION("warmelt-base.melt:3628:/ clear");
1688 /*clear*/ /*_.CURPAIR__V6*/
1689 meltfptr[5] = 0 ;
1690 /*^clear*/
1691 /*clear*/ /*_.CURCOMP__V7*/
1692 meltfptr[6] = 0 ;
1693 } /*endciterblock FOREACH_PAIR_COMPONENT_IN_LIST*/
1695 /*epilog*/
1699 else
1701 MELT_LOCATION("warmelt-base.melt:3627:/ cond.else");
1703 /*^block*/
1704 /*anyblock*/
1709 MELT_LOCATION("warmelt-base.melt:3634:/ locexp");
1710 meltgc_append_list((melt_ptr_t)(/*_.NEWLIST__V4*/ meltfptr[3]), (melt_ptr_t)(/*_.SRC__V2*/ meltfptr[1]));
1713 MELT_LOCATION("warmelt-base.melt:3633:/ quasiblock");
1716 /*epilog*/
1721 /*epilog*/
1723 MELT_LOCATION("warmelt-base.melt:3621:/ clear");
1724 /*clear*/ /*_#IS_LIST__L3*/
1725 meltfnum[2] = 0 ;
1730 MELT_LOCATION("warmelt-base.melt:3635:/ loop");
1731 /*loop*/
1733 meltlabloop_ARGLOOP_5:;/*^loopbody*/
1735 /*^block*/
1736 /*anyblock*/
1740 MELT_CHECK_SIGNAL();
1742 MELT_LOCATION("warmelt-base.melt:3638:/ cond");
1743 /*cond*/
1744 if (/*ifvariadic nomore*/ variad_COMPLETE_SEQUENCE_AS_TUPLE_ix == variad_COMPLETE_SEQUENCE_AS_TUPLE_len) /*then*/
1746 /*^cond.then*/
1747 /*^block*/
1748 /*anyblock*/
1751 /*^compute*/
1753 /*consume variadic !*/ variad_COMPLETE_SEQUENCE_AS_TUPLE_ix += 0;;
1754 MELT_LOCATION("warmelt-base.melt:3639:/ quasiblock");
1757 /*^compute*/
1758 /*_.ARGLOOP__V9*/
1759 meltfptr[8] = /*reallynil*/ NULL ;;
1761 /*^exit*/
1762 /*exit*/
1764 goto meltlabexit_ARGLOOP_5;
1767 /*epilog*/
1771 else
1773 MELT_LOCATION("warmelt-base.melt:3638:/ cond.else");
1775 /*^block*/
1776 /*anyblock*/
1779 MELT_LOCATION("warmelt-base.melt:3640:/ cond");
1780 /*cond*/
1781 if (/*ifvariadic arg#1*/ variad_COMPLETE_SEQUENCE_AS_TUPLE_ix>=0 && variad_COMPLETE_SEQUENCE_AS_TUPLE_ix + 1 <= variad_COMPLETE_SEQUENCE_AS_TUPLE_len && meltxargdescr_[variad_COMPLETE_SEQUENCE_AS_TUPLE_ix]== MELTBPAR_PTR) /*then*/
1783 /*^cond.then*/
1784 /*^block*/
1785 /*anyblock*/
1788 /*^compute*/
1789 /*_.V__V10*/ meltfptr[9] =
1790 /*variadic argument value*/ ((meltxargtab_[variad_COMPLETE_SEQUENCE_AS_TUPLE_ix + 0].meltbp_aptr) ? (*(meltxargtab_[variad_COMPLETE_SEQUENCE_AS_TUPLE_ix + 0].meltbp_aptr)) : NULL);;
1791 /*^compute*/
1793 /*consume variadic Value !*/
1794 variad_COMPLETE_SEQUENCE_AS_TUPLE_ix += 1;;
1797 MELT_LOCATION("warmelt-base.melt:3641:/ locexp");
1798 meltgc_append_list((melt_ptr_t)(/*_.NEWLIST__V4*/ meltfptr[3]), (melt_ptr_t)(/*_.V__V10*/ meltfptr[9]));
1801 /*epilog*/
1803 MELT_LOCATION("warmelt-base.melt:3640:/ clear");
1804 /*clear*/ /*_.V__V10*/
1805 meltfptr[9] = 0 ;
1809 else /*^cond.else*/
1812 /*^block*/
1813 /*anyblock*/
1816 MELT_LOCATION("warmelt-base.melt:3643:/ quasiblock");
1819 /*_.VCTY__V12*/
1820 meltfptr[11] =
1821 /*variadic_type_code*/
1822 #ifdef melt_variadic_index
1823 (((melt_variadic_index + 0) >= 0
1824 && (melt_variadic_index + 0) < melt_variadic_length)
1825 ? melt_code_to_ctype (meltxargdescr_[melt_variadic_index + 0]
1826 & MELT_ARGDESCR_MAX)
1827 : NULL)
1828 #else
1829 NULL /* no variadic_ctype outside of variadic functions */
1830 #endif /*melt_variadic_index*/
1832 MELT_LOCATION("warmelt-base.melt:3646:/ cond");
1833 /*cond*/
1834 if (
1835 /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.VCTY__V12*/ meltfptr[11]),
1836 (melt_ptr_t)((/*!CLASS_NAMED*/ meltfrout->tabval[1])))
1837 ) /*then*/
1839 /*^cond.then*/
1840 /*^getslot*/
1842 melt_ptr_t slot=NULL, obj=NULL;
1843 obj = (melt_ptr_t)(/*_.VCTY__V12*/ meltfptr[11]) /*=obj*/;
1844 melt_object_get_field(slot,obj, 1, "NAMED_NAME");
1845 /*_.NAMED_NAME__V13*/
1846 meltfptr[12] = slot;
1850 else /*^cond.else*/
1853 /*_.NAMED_NAME__V13*/ meltfptr[12] = /*reallynil*/ NULL ;;
1858 MELT_LOCATION("warmelt-base.melt:3645:/ locexp");
1859 error ("MELT ERROR MSG [#%ld]::: %s - %s", melt_dbgcounter, ( "COMPLETE_SEQUENCE_AS_TUPLE with unsupported ctype"),
1860 melt_string_str((melt_ptr_t)(/*_.NAMED_NAME__V13*/ meltfptr[12])));
1864 #if MELT_HAVE_DEBUG
1865 MELT_LOCATION("warmelt-base.melt:3647:/ cppif.then");
1866 /*^block*/
1867 /*anyblock*/
1871 MELT_CHECK_SIGNAL();
1873 /*^cond*/
1874 /*cond*/
1875 if ((/*nil*/NULL)) /*then*/
1877 /*^cond.then*/
1878 /*_._IFELSE___V15*/ meltfptr[14] = (/*nil*/NULL);;
1880 else
1882 MELT_LOCATION("warmelt-base.melt:3647:/ cond.else");
1884 /*^block*/
1885 /*anyblock*/
1889 MELT_CHECK_SIGNAL();
1891 /*^apply*/
1892 /*apply*/
1894 union meltparam_un argtab[4];
1895 memset(&argtab, 0, sizeof(argtab));
1896 /*^apply.arg*/
1897 argtab[0].meltbp_cstring = "invalid variadic argument to COMPLETE_SEQUENCE_AS_TUPLE";
1898 /*^apply.arg*/
1899 argtab[1].meltbp_cstring = "warmelt-base.melt";
1900 /*^apply.arg*/
1901 argtab[2].meltbp_long = 3647;
1902 /*^apply.arg*/
1903 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.VCTY__V12*/ meltfptr[11];
1904 /*_.MELT_ASSERT_FAILURE_FUN__V16*/
1905 meltfptr[15] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
1908 /*_._IFELSE___V15*/
1909 meltfptr[14] = /*_.MELT_ASSERT_FAILURE_FUN__V16*/ meltfptr[15];;
1910 /*epilog*/
1912 MELT_LOCATION("warmelt-base.melt:3647:/ clear");
1913 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V16*/
1914 meltfptr[15] = 0 ;
1919 /*_.IFCPP___V14*/
1920 meltfptr[13] = /*_._IFELSE___V15*/ meltfptr[14];;
1921 /*epilog*/
1923 MELT_LOCATION("warmelt-base.melt:3647:/ clear");
1924 /*clear*/ /*_._IFELSE___V15*/
1925 meltfptr[14] = 0 ;
1928 #else /*MELT_HAVE_DEBUG*/
1929 /*^cppif.else*/
1930 /*_.IFCPP___V14*/ meltfptr[13] = (/*nil*/NULL);
1931 #endif /*MELT_HAVE_DEBUG*/
1933 /*^compute*/
1934 /*_.LET___V11*/
1935 meltfptr[9] = /*_.IFCPP___V14*/ meltfptr[13];;
1937 MELT_LOCATION("warmelt-base.melt:3643:/ clear");
1938 /*clear*/ /*_.VCTY__V12*/
1939 meltfptr[11] = 0 ;
1940 /*^clear*/
1941 /*clear*/ /*_.NAMED_NAME__V13*/
1942 meltfptr[12] = 0 ;
1943 /*^clear*/
1944 /*clear*/ /*_.IFCPP___V14*/
1945 meltfptr[13] = 0 ;
1946 /*epilog*/
1948 MELT_LOCATION("warmelt-base.melt:3640:/ clear");
1949 /*clear*/ /*_.LET___V11*/
1950 meltfptr[9] = 0 ;
1955 /*epilog*/
1960 /*epilog*/
1964 goto meltlabloop_ARGLOOP_5;
1965 meltlabexit_ARGLOOP_5:
1967 MELT_LOCATION("warmelt-base.melt:3635:/ loopepilog");
1968 /*loopepilog*/
1969 /*_.FOREVER___V8*/
1970 meltfptr[7] = /*_.ARGLOOP__V9*/ meltfptr[8];;
1973 MELT_LOCATION("warmelt-base.melt:3649:/ quasiblock");
1977 MELT_CHECK_SIGNAL();
1979 /*^apply*/
1980 /*apply*/
1982 /*_.RES__V18*/ meltfptr[14] = melt_apply ((meltclosure_ptr_t)((/*!LIST_TO_MULTIPLE*/ meltfrout->tabval[3])), (melt_ptr_t)(/*_.NEWLIST__V4*/ meltfptr[3]), (""), (union meltparam_un*)0, "", (union meltparam_un*)0);
1986 MELT_CHECK_SIGNAL();
1988 MELT_LOCATION("warmelt-base.melt:3651:/ quasiblock");
1991 /*_._RETVAL___V1*/
1992 meltfptr[0] = /*_.RES__V18*/ meltfptr[14];;
1995 MELT_LOCATION("warmelt-base.melt:3651:/ locexp");
1996 /*ochecknores compilobj_nrep_return*/
1997 #if MELT_HAVE_DEBUG
1998 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
1999 melt_warn_for_no_expected_secondary_results();
2000 /* we warned when secondary results are expected but not returned. */
2001 #endif /*MELT_HAVE_DEBUG*/
2005 /*^finalreturn*/
2007 /*finalret*/
2008 goto meltlabend_rout ;
2009 /*_.LET___V17*/
2010 meltfptr[15] = /*_.RETURN___V19*/ meltfptr[11];;
2012 MELT_LOCATION("warmelt-base.melt:3649:/ clear");
2013 /*clear*/ /*_.RES__V18*/
2014 meltfptr[14] = 0 ;
2015 /*^clear*/
2016 /*clear*/ /*_.RETURN___V19*/
2017 meltfptr[11] = 0 ;
2018 /*_.LET___V3*/
2019 meltfptr[2] = /*_.LET___V17*/ meltfptr[15];;
2021 MELT_LOCATION("warmelt-base.melt:3619:/ clear");
2022 /*clear*/ /*_.NEWLIST__V4*/
2023 meltfptr[3] = 0 ;
2024 /*^clear*/
2025 /*clear*/ /*_#IS_MULTIPLE__L1*/
2026 meltfnum[0] = 0 ;
2027 /*^clear*/
2028 /*clear*/ /*_.FOREVER___V8*/
2029 meltfptr[7] = 0 ;
2030 /*^clear*/
2031 /*clear*/ /*_.LET___V17*/
2032 meltfptr[15] = 0 ;
2033 MELT_LOCATION("warmelt-base.melt:3615:/ quasiblock");
2036 /*_._RETVAL___V1*/
2037 meltfptr[0] = /*_.LET___V3*/ meltfptr[2];;
2040 MELT_LOCATION("warmelt-base.melt:3615:/ locexp");
2041 /*ochecknores compilobj_nrep_return*/
2042 #if MELT_HAVE_DEBUG
2043 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
2044 melt_warn_for_no_expected_secondary_results();
2045 /* we warned when secondary results are expected but not returned. */
2046 #endif /*MELT_HAVE_DEBUG*/
2050 /*^finalreturn*/
2052 /*finalret*/
2053 goto meltlabend_rout ;
2054 /*epilog*/
2056 /*^clear*/
2057 /*clear*/ /*_.LET___V3*/
2058 meltfptr[2] = 0 ;
2062 goto meltlabend_rout;
2063 meltlabend_rout:
2064 melt_trace_end("COMPLETE_SEQUENCE_AS_TUPLE", meltcallcount);
2065 melt_blocklevel_signals = current_blocklevel_signals_meltrout_32_WARMELTmiBASE_COMPLETE_SEQUENCE_AS_TUPLE_melt;
2066 return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]);
2067 #undef melt_variadic_length
2068 #undef melt_variadic_index
2070 #undef meltcallcount
2071 #undef meltfram__
2072 #undef MELTFRAM_NBVARNUM
2073 #undef MELTFRAM_NBVARPTR
2074 } /*end meltrout_32_WARMELTmiBASE_COMPLETE_SEQUENCE_AS_TUPLE*/
2081 melt_ptr_t MELT_MODULE_VISIBILITY
2082 meltrout_33_WARMELTmiBASE_COMPLETE_SEQUENCE_AS_LIST(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
2083 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
2085 /*variadic*/ int variad_COMPLETE_SEQUENCE_AS_LIST_ix = 0, variad_COMPLETE_SEQUENCE_AS_LIST_len = melt_argdescr_length (meltxargdescr_);
2086 #define melt_variadic_length (0+variad_COMPLETE_SEQUENCE_AS_LIST_len)
2087 #define melt_variadic_index variad_COMPLETE_SEQUENCE_AS_LIST_ix
2089 long current_blocklevel_signals_meltrout_33_WARMELTmiBASE_COMPLETE_SEQUENCE_AS_LIST_melt = melt_blocklevel_signals;
2091 #if MELT_HAVE_DEBUG
2092 static long melt_call_counter__;
2093 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
2094 #undef meltcallcount
2095 #define meltcallcount melt_thiscallcounter__
2096 #else
2097 #undef meltcallcount
2098 #define meltcallcount 0L
2099 #endif
2100 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
2102 /* start of frame for routine meltrout_33_WARMELTmiBASE_COMPLETE_SEQUENCE_AS_LIST fromline 1752 */
2104 /** start of frame for meltrout_33_WARMELTmiBASE_COMPLETE_SEQUENCE_AS_LIST of CLASS_PROCROUTINEOBJ from 1555**/
2106 /*curframdeclclassy*/ class MeltFrame_meltrout_33_WARMELTmiBASE_COMPLETE_SEQUENCE_AS_LIST// fromline 1568
2107 : public Melt_CallFrameWithValues<17>
2109 public: /* fromline 1572*/
2110 long mcfr_varnum[3];
2111 /*classy others*/
2112 long _meltsparel;
2113 void melt_mark_stuff (void)
2115 } /*end melt_mark_stuff*/
2116 virtual void melt_mark_ggc_data (void)
2118 melt_mark_values ();
2119 melt_mark_stuff ();
2120 }; /*end melt_mark_ggc_data*/
2121 MeltFrame_meltrout_33_WARMELTmiBASE_COMPLETE_SEQUENCE_AS_LIST(meltclosure_ptr_t clos) //the closure constructor fromline 1630
2122 : Melt_CallFrameWithValues<17> (
2123 #if ENABLE_CHECKING /*fromline 1634*/
2124 __FILE__, __LINE__,
2125 #endif /* ENABLE_CHECKING fromline 1638*/
2126 sizeof(MeltFrame_meltrout_33_WARMELTmiBASE_COMPLETE_SEQUENCE_AS_LIST), clos) {};
2127 MeltFrame_meltrout_33_WARMELTmiBASE_COMPLETE_SEQUENCE_AS_LIST() //the constructor fromline 1642
2128 : Melt_CallFrameWithValues<17> (
2129 #if ENABLE_CHECKING /*fromline 1646*/
2130 __FILE__, __LINE__,
2131 #endif /* ENABLE_CHECKING fromline 1650*/
2132 sizeof(MeltFrame_meltrout_33_WARMELTmiBASE_COMPLETE_SEQUENCE_AS_LIST)) {};
2133 #if ENABLE_CHECKING /*fromline 1654*/
2134 MeltFrame_meltrout_33_WARMELTmiBASE_COMPLETE_SEQUENCE_AS_LIST(const char*fil, int lin) //the constructor fromline 1656
2135 : Melt_CallFrameWithValues<17> (fil,lin, sizeof(MeltFrame_meltrout_33_WARMELTmiBASE_COMPLETE_SEQUENCE_AS_LIST)) {};
2136 MeltFrame_meltrout_33_WARMELTmiBASE_COMPLETE_SEQUENCE_AS_LIST(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
2137 : Melt_CallFrameWithValues<17> (fil,lin, sizeof(MeltFrame_meltrout_33_WARMELTmiBASE_COMPLETE_SEQUENCE_AS_LIST), clos) {};
2138 #endif /* ENABLE_CHECKING fromline 1666*/
2140 }; // end class MeltFrame_meltrout_33_WARMELTmiBASE_COMPLETE_SEQUENCE_AS_LIST
2143 /** end of frame for meltrout_33_WARMELTmiBASE_COMPLETE_SEQUENCE_AS_LIST fromline 1697**/
2145 /* end of frame for routine meltrout_33_WARMELTmiBASE_COMPLETE_SEQUENCE_AS_LIST fromline 1756 */
2147 /* classy proc frame meltrout_33_WARMELTmiBASE_COMPLETE_SEQUENCE_AS_LIST */
2148 MeltFrame_meltrout_33_WARMELTmiBASE_COMPLETE_SEQUENCE_AS_LIST
2149 meltfram__ /*declfrastruct fromline 1780*/
2150 /*classyprocarg meltrout_33_WARMELTmiBASE_COMPLETE_SEQUENCE_AS_LIST fromline 1785*/
2151 #if ENABLE_CHECKING
2152 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
2153 #else /*ENABLE_CHECKING */
2154 (meltclosp_) /* fromline 1793*/
2155 #endif /*ENABLE_CHECKING */
2158 #define meltframe meltfram__
2160 melt_trace_start("COMPLETE_SEQUENCE_AS_LIST", meltcallcount);
2161 /*use arguments*/
2162 (void) meltclosp_;
2163 (void)meltfirstargp_;
2164 (void)meltxargdescr_;
2165 (void)meltxargtab_;
2166 (void)meltxresdescr_;
2167 (void)meltxrestab_;
2168 /*getargs*/
2170 /*getarg#0*/
2171 MELT_LOCATION("warmelt-base.melt:3655:/ getarg");
2172 /*_.SRC__V2*/
2173 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
2175 goto meltlab_endgetargs;
2176 meltlab_endgetargs:
2178 /*body*/
2179 /*^block*/
2180 /*anyblock*/
2183 MELT_LOCATION("warmelt-base.melt:3659:/ quasiblock");
2186 /*_.NEWLIST__V4*/
2187 meltfptr[3] =
2188 (meltgc_new_list((meltobject_ptr_t)((/*!DISCR_LIST*/ meltfrout->tabval[0]))));;
2190 MELT_CHECK_SIGNAL();
2192 /*^compute*/
2193 /*_#IS_MULTIPLE__L1*/
2194 meltfnum[0] =
2195 (melt_magic_discr((melt_ptr_t)(/*_.SRC__V2*/ meltfptr[1])) == MELTOBMAG_MULTIPLE);;
2196 MELT_LOCATION("warmelt-base.melt:3661:/ cond");
2197 /*cond*/
2198 if (/*_#IS_MULTIPLE__L1*/ meltfnum[0]) /*then*/
2200 /*^cond.then*/
2201 /*^block*/
2202 /*anyblock*/
2205 /*citerblock FOREACH_IN_MULTIPLE*/
2207 /* start foreach_in_multiple meltcit1__EACHTUP */
2208 long meltcit1__EACHTUP_ln = melt_multiple_length((melt_ptr_t)/*_.SRC__V2*/ meltfptr[1]);
2209 for (/*_#IX__L2*/ meltfnum[1] = 0;
2210 (/*_#IX__L2*/ meltfnum[1] >= 0) && (/*_#IX__L2*/ meltfnum[1] < meltcit1__EACHTUP_ln);
2211 /*_#IX__L2*/ meltfnum[1]++)
2213 /*_.COMP__V5*/ meltfptr[4] = melt_multiple_nth((melt_ptr_t)(/*_.SRC__V2*/ meltfptr[1]), /*_#IX__L2*/ meltfnum[1]);
2219 MELT_LOCATION("warmelt-base.melt:3665:/ locexp");
2220 meltgc_append_list((melt_ptr_t)(/*_.NEWLIST__V4*/ meltfptr[3]), (melt_ptr_t)(/*_.COMP__V5*/ meltfptr[4]));
2223 if (/*_#IX__L2*/ meltfnum[1]<0) break;
2224 } /* end foreach_in_multiple meltcit1__EACHTUP */
2226 /*citerepilog*/
2228 MELT_LOCATION("warmelt-base.melt:3662:/ clear");
2229 /*clear*/ /*_.COMP__V5*/
2230 meltfptr[4] = 0 ;
2231 /*^clear*/
2232 /*clear*/ /*_#IX__L2*/
2233 meltfnum[1] = 0 ;
2234 } /*endciterblock FOREACH_IN_MULTIPLE*/
2236 /*epilog*/
2240 else
2242 MELT_LOCATION("warmelt-base.melt:3661:/ cond.else");
2244 /*^block*/
2245 /*anyblock*/
2249 MELT_CHECK_SIGNAL();
2251 /*_#IS_LIST__L3*/
2252 meltfnum[2] =
2253 (melt_magic_discr((melt_ptr_t)(/*_.SRC__V2*/ meltfptr[1])) == MELTOBMAG_LIST);;
2254 MELT_LOCATION("warmelt-base.melt:3667:/ cond");
2255 /*cond*/
2256 if (/*_#IS_LIST__L3*/ meltfnum[2]) /*then*/
2258 /*^cond.then*/
2259 /*^block*/
2260 /*anyblock*/
2263 /*citerblock FOREACH_PAIR_COMPONENT_IN_LIST*/
2265 /* start foreach_pair_component_in_list meltcit2__EACHLIST */
2266 for (/*_.CURPAIR__V6*/ meltfptr[5] = melt_list_first( (melt_ptr_t)/*_.SRC__V2*/ meltfptr[1]);
2267 melt_magic_discr((melt_ptr_t) /*_.CURPAIR__V6*/ meltfptr[5]) == MELTOBMAG_PAIR;
2268 /*_.CURPAIR__V6*/ meltfptr[5] = melt_pair_tail((melt_ptr_t) /*_.CURPAIR__V6*/ meltfptr[5]))
2270 /*_.CURCOMP__V7*/ meltfptr[6] = melt_pair_head((melt_ptr_t) /*_.CURPAIR__V6*/ meltfptr[5]);
2275 MELT_LOCATION("warmelt-base.melt:3671:/ locexp");
2276 meltgc_append_list((melt_ptr_t)(/*_.NEWLIST__V4*/ meltfptr[3]), (melt_ptr_t)(/*_.CURCOMP__V7*/ meltfptr[6]));
2279 } /* end foreach_pair_component_in_list meltcit2__EACHLIST */
2280 /*_.CURPAIR__V6*/ meltfptr[5] = NULL;
2281 /*_.CURCOMP__V7*/
2282 meltfptr[6] = NULL;
2285 /*citerepilog*/
2287 MELT_LOCATION("warmelt-base.melt:3668:/ clear");
2288 /*clear*/ /*_.CURPAIR__V6*/
2289 meltfptr[5] = 0 ;
2290 /*^clear*/
2291 /*clear*/ /*_.CURCOMP__V7*/
2292 meltfptr[6] = 0 ;
2293 } /*endciterblock FOREACH_PAIR_COMPONENT_IN_LIST*/
2295 /*epilog*/
2299 else
2301 MELT_LOCATION("warmelt-base.melt:3667:/ cond.else");
2303 /*^block*/
2304 /*anyblock*/
2309 MELT_LOCATION("warmelt-base.melt:3674:/ locexp");
2310 meltgc_append_list((melt_ptr_t)(/*_.NEWLIST__V4*/ meltfptr[3]), (melt_ptr_t)(/*_.SRC__V2*/ meltfptr[1]));
2313 MELT_LOCATION("warmelt-base.melt:3673:/ quasiblock");
2316 /*epilog*/
2321 /*epilog*/
2323 MELT_LOCATION("warmelt-base.melt:3661:/ clear");
2324 /*clear*/ /*_#IS_LIST__L3*/
2325 meltfnum[2] = 0 ;
2330 MELT_LOCATION("warmelt-base.melt:3675:/ loop");
2331 /*loop*/
2333 meltlabloop_ARGLOOP_6:;/*^loopbody*/
2335 /*^block*/
2336 /*anyblock*/
2340 MELT_CHECK_SIGNAL();
2342 MELT_LOCATION("warmelt-base.melt:3678:/ cond");
2343 /*cond*/
2344 if (/*ifvariadic nomore*/ variad_COMPLETE_SEQUENCE_AS_LIST_ix == variad_COMPLETE_SEQUENCE_AS_LIST_len) /*then*/
2346 /*^cond.then*/
2347 /*^block*/
2348 /*anyblock*/
2351 /*^compute*/
2353 /*consume variadic !*/ variad_COMPLETE_SEQUENCE_AS_LIST_ix += 0;;
2354 MELT_LOCATION("warmelt-base.melt:3679:/ quasiblock");
2357 /*^compute*/
2358 /*_.ARGLOOP__V9*/
2359 meltfptr[8] = /*reallynil*/ NULL ;;
2361 /*^exit*/
2362 /*exit*/
2364 goto meltlabexit_ARGLOOP_6;
2367 /*epilog*/
2371 else
2373 MELT_LOCATION("warmelt-base.melt:3678:/ cond.else");
2375 /*^block*/
2376 /*anyblock*/
2379 MELT_LOCATION("warmelt-base.melt:3680:/ cond");
2380 /*cond*/
2381 if (/*ifvariadic arg#1*/ variad_COMPLETE_SEQUENCE_AS_LIST_ix>=0 && variad_COMPLETE_SEQUENCE_AS_LIST_ix + 1 <= variad_COMPLETE_SEQUENCE_AS_LIST_len && meltxargdescr_[variad_COMPLETE_SEQUENCE_AS_LIST_ix]== MELTBPAR_PTR) /*then*/
2383 /*^cond.then*/
2384 /*^block*/
2385 /*anyblock*/
2388 /*^compute*/
2389 /*_.V__V10*/ meltfptr[9] =
2390 /*variadic argument value*/ ((meltxargtab_[variad_COMPLETE_SEQUENCE_AS_LIST_ix + 0].meltbp_aptr) ? (*(meltxargtab_[variad_COMPLETE_SEQUENCE_AS_LIST_ix + 0].meltbp_aptr)) : NULL);;
2391 /*^compute*/
2393 /*consume variadic Value !*/
2394 variad_COMPLETE_SEQUENCE_AS_LIST_ix += 1;;
2397 MELT_LOCATION("warmelt-base.melt:3681:/ locexp");
2398 meltgc_append_list((melt_ptr_t)(/*_.NEWLIST__V4*/ meltfptr[3]), (melt_ptr_t)(/*_.V__V10*/ meltfptr[9]));
2401 /*epilog*/
2403 MELT_LOCATION("warmelt-base.melt:3680:/ clear");
2404 /*clear*/ /*_.V__V10*/
2405 meltfptr[9] = 0 ;
2409 else /*^cond.else*/
2412 /*^block*/
2413 /*anyblock*/
2416 MELT_LOCATION("warmelt-base.melt:3683:/ quasiblock");
2419 /*_.VCTY__V12*/
2420 meltfptr[11] =
2421 /*variadic_type_code*/
2422 #ifdef melt_variadic_index
2423 (((melt_variadic_index + 0) >= 0
2424 && (melt_variadic_index + 0) < melt_variadic_length)
2425 ? melt_code_to_ctype (meltxargdescr_[melt_variadic_index + 0]
2426 & MELT_ARGDESCR_MAX)
2427 : NULL)
2428 #else
2429 NULL /* no variadic_ctype outside of variadic functions */
2430 #endif /*melt_variadic_index*/
2432 MELT_LOCATION("warmelt-base.melt:3686:/ cond");
2433 /*cond*/
2434 if (
2435 /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.VCTY__V12*/ meltfptr[11]),
2436 (melt_ptr_t)((/*!CLASS_NAMED*/ meltfrout->tabval[1])))
2437 ) /*then*/
2439 /*^cond.then*/
2440 /*^getslot*/
2442 melt_ptr_t slot=NULL, obj=NULL;
2443 obj = (melt_ptr_t)(/*_.VCTY__V12*/ meltfptr[11]) /*=obj*/;
2444 melt_object_get_field(slot,obj, 1, "NAMED_NAME");
2445 /*_.NAMED_NAME__V13*/
2446 meltfptr[12] = slot;
2450 else /*^cond.else*/
2453 /*_.NAMED_NAME__V13*/ meltfptr[12] = /*reallynil*/ NULL ;;
2458 MELT_LOCATION("warmelt-base.melt:3685:/ locexp");
2459 error ("MELT ERROR MSG [#%ld]::: %s - %s", melt_dbgcounter, ( "COMPLETE_SEQUENCE_AS_LIST with unsupported ctype"),
2460 melt_string_str((melt_ptr_t)(/*_.NAMED_NAME__V13*/ meltfptr[12])));
2464 #if MELT_HAVE_DEBUG
2465 MELT_LOCATION("warmelt-base.melt:3687:/ cppif.then");
2466 /*^block*/
2467 /*anyblock*/
2471 MELT_CHECK_SIGNAL();
2473 /*^cond*/
2474 /*cond*/
2475 if ((/*nil*/NULL)) /*then*/
2477 /*^cond.then*/
2478 /*_._IFELSE___V15*/ meltfptr[14] = (/*nil*/NULL);;
2480 else
2482 MELT_LOCATION("warmelt-base.melt:3687:/ cond.else");
2484 /*^block*/
2485 /*anyblock*/
2489 MELT_CHECK_SIGNAL();
2491 /*^apply*/
2492 /*apply*/
2494 union meltparam_un argtab[4];
2495 memset(&argtab, 0, sizeof(argtab));
2496 /*^apply.arg*/
2497 argtab[0].meltbp_cstring = "invalid variadic argument to COMPLETE_SEQUENCE_AS_LIST";
2498 /*^apply.arg*/
2499 argtab[1].meltbp_cstring = "warmelt-base.melt";
2500 /*^apply.arg*/
2501 argtab[2].meltbp_long = 3687;
2502 /*^apply.arg*/
2503 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.VCTY__V12*/ meltfptr[11];
2504 /*_.MELT_ASSERT_FAILURE_FUN__V16*/
2505 meltfptr[15] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
2508 /*_._IFELSE___V15*/
2509 meltfptr[14] = /*_.MELT_ASSERT_FAILURE_FUN__V16*/ meltfptr[15];;
2510 /*epilog*/
2512 MELT_LOCATION("warmelt-base.melt:3687:/ clear");
2513 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V16*/
2514 meltfptr[15] = 0 ;
2519 /*_.IFCPP___V14*/
2520 meltfptr[13] = /*_._IFELSE___V15*/ meltfptr[14];;
2521 /*epilog*/
2523 MELT_LOCATION("warmelt-base.melt:3687:/ clear");
2524 /*clear*/ /*_._IFELSE___V15*/
2525 meltfptr[14] = 0 ;
2528 #else /*MELT_HAVE_DEBUG*/
2529 /*^cppif.else*/
2530 /*_.IFCPP___V14*/ meltfptr[13] = (/*nil*/NULL);
2531 #endif /*MELT_HAVE_DEBUG*/
2533 /*^compute*/
2534 /*_.LET___V11*/
2535 meltfptr[9] = /*_.IFCPP___V14*/ meltfptr[13];;
2537 MELT_LOCATION("warmelt-base.melt:3683:/ clear");
2538 /*clear*/ /*_.VCTY__V12*/
2539 meltfptr[11] = 0 ;
2540 /*^clear*/
2541 /*clear*/ /*_.NAMED_NAME__V13*/
2542 meltfptr[12] = 0 ;
2543 /*^clear*/
2544 /*clear*/ /*_.IFCPP___V14*/
2545 meltfptr[13] = 0 ;
2546 /*epilog*/
2548 MELT_LOCATION("warmelt-base.melt:3680:/ clear");
2549 /*clear*/ /*_.LET___V11*/
2550 meltfptr[9] = 0 ;
2555 /*epilog*/
2560 /*epilog*/
2564 goto meltlabloop_ARGLOOP_6;
2565 meltlabexit_ARGLOOP_6:
2567 MELT_LOCATION("warmelt-base.melt:3675:/ loopepilog");
2568 /*loopepilog*/
2569 /*_.FOREVER___V8*/
2570 meltfptr[7] = /*_.ARGLOOP__V9*/ meltfptr[8];;
2574 MELT_CHECK_SIGNAL();
2576 MELT_LOCATION("warmelt-base.melt:3689:/ quasiblock");
2579 /*_._RETVAL___V1*/
2580 meltfptr[0] = /*_.NEWLIST__V4*/ meltfptr[3];;
2583 MELT_LOCATION("warmelt-base.melt:3689:/ locexp");
2584 /*ochecknores compilobj_nrep_return*/
2585 #if MELT_HAVE_DEBUG
2586 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
2587 melt_warn_for_no_expected_secondary_results();
2588 /* we warned when secondary results are expected but not returned. */
2589 #endif /*MELT_HAVE_DEBUG*/
2593 /*^finalreturn*/
2595 /*finalret*/
2596 goto meltlabend_rout ;
2597 /*_.LET___V3*/
2598 meltfptr[2] = /*_.RETURN___V17*/ meltfptr[15];;
2600 MELT_LOCATION("warmelt-base.melt:3659:/ clear");
2601 /*clear*/ /*_.NEWLIST__V4*/
2602 meltfptr[3] = 0 ;
2603 /*^clear*/
2604 /*clear*/ /*_#IS_MULTIPLE__L1*/
2605 meltfnum[0] = 0 ;
2606 /*^clear*/
2607 /*clear*/ /*_.FOREVER___V8*/
2608 meltfptr[7] = 0 ;
2609 /*^clear*/
2610 /*clear*/ /*_.RETURN___V17*/
2611 meltfptr[15] = 0 ;
2612 MELT_LOCATION("warmelt-base.melt:3655:/ quasiblock");
2615 /*_._RETVAL___V1*/
2616 meltfptr[0] = /*_.LET___V3*/ meltfptr[2];;
2619 MELT_LOCATION("warmelt-base.melt:3655:/ locexp");
2620 /*ochecknores compilobj_nrep_return*/
2621 #if MELT_HAVE_DEBUG
2622 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
2623 melt_warn_for_no_expected_secondary_results();
2624 /* we warned when secondary results are expected but not returned. */
2625 #endif /*MELT_HAVE_DEBUG*/
2629 /*^finalreturn*/
2631 /*finalret*/
2632 goto meltlabend_rout ;
2633 /*epilog*/
2635 /*^clear*/
2636 /*clear*/ /*_.LET___V3*/
2637 meltfptr[2] = 0 ;
2641 goto meltlabend_rout;
2642 meltlabend_rout:
2643 melt_trace_end("COMPLETE_SEQUENCE_AS_LIST", meltcallcount);
2644 melt_blocklevel_signals = current_blocklevel_signals_meltrout_33_WARMELTmiBASE_COMPLETE_SEQUENCE_AS_LIST_melt;
2645 return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]);
2646 #undef melt_variadic_length
2647 #undef melt_variadic_index
2649 #undef meltcallcount
2650 #undef meltfram__
2651 #undef MELTFRAM_NBVARNUM
2652 #undef MELTFRAM_NBVARPTR
2653 } /*end meltrout_33_WARMELTmiBASE_COMPLETE_SEQUENCE_AS_LIST*/
2660 melt_ptr_t MELT_MODULE_VISIBILITY
2661 meltrout_34_WARMELTmiBASE_MELT_PREDEFINED_GET(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
2662 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
2664 long current_blocklevel_signals_meltrout_34_WARMELTmiBASE_MELT_PREDEFINED_GET_melt = melt_blocklevel_signals;
2666 #if MELT_HAVE_DEBUG
2667 static long melt_call_counter__;
2668 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
2669 #undef meltcallcount
2670 #define meltcallcount melt_thiscallcounter__
2671 #else
2672 #undef meltcallcount
2673 #define meltcallcount 0L
2674 #endif
2675 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
2677 /* start of frame for routine meltrout_34_WARMELTmiBASE_MELT_PREDEFINED_GET fromline 1752 */
2679 /** start of frame for meltrout_34_WARMELTmiBASE_MELT_PREDEFINED_GET of CLASS_PROCROUTINEOBJ from 1555**/
2681 /*curframdeclclassy*/ class MeltFrame_meltrout_34_WARMELTmiBASE_MELT_PREDEFINED_GET// fromline 1568
2682 : public Melt_CallFrameWithValues<12>
2684 public: /* fromline 1572*/
2685 long mcfr_varnum[4];
2686 /*classy others*/
2687 long _meltsparel;
2688 void melt_mark_stuff (void)
2690 } /*end melt_mark_stuff*/
2691 virtual void melt_mark_ggc_data (void)
2693 melt_mark_values ();
2694 melt_mark_stuff ();
2695 }; /*end melt_mark_ggc_data*/
2696 MeltFrame_meltrout_34_WARMELTmiBASE_MELT_PREDEFINED_GET(meltclosure_ptr_t clos) //the closure constructor fromline 1630
2697 : Melt_CallFrameWithValues<12> (
2698 #if ENABLE_CHECKING /*fromline 1634*/
2699 __FILE__, __LINE__,
2700 #endif /* ENABLE_CHECKING fromline 1638*/
2701 sizeof(MeltFrame_meltrout_34_WARMELTmiBASE_MELT_PREDEFINED_GET), clos) {};
2702 MeltFrame_meltrout_34_WARMELTmiBASE_MELT_PREDEFINED_GET() //the constructor fromline 1642
2703 : Melt_CallFrameWithValues<12> (
2704 #if ENABLE_CHECKING /*fromline 1646*/
2705 __FILE__, __LINE__,
2706 #endif /* ENABLE_CHECKING fromline 1650*/
2707 sizeof(MeltFrame_meltrout_34_WARMELTmiBASE_MELT_PREDEFINED_GET)) {};
2708 #if ENABLE_CHECKING /*fromline 1654*/
2709 MeltFrame_meltrout_34_WARMELTmiBASE_MELT_PREDEFINED_GET(const char*fil, int lin) //the constructor fromline 1656
2710 : Melt_CallFrameWithValues<12> (fil,lin, sizeof(MeltFrame_meltrout_34_WARMELTmiBASE_MELT_PREDEFINED_GET)) {};
2711 MeltFrame_meltrout_34_WARMELTmiBASE_MELT_PREDEFINED_GET(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
2712 : Melt_CallFrameWithValues<12> (fil,lin, sizeof(MeltFrame_meltrout_34_WARMELTmiBASE_MELT_PREDEFINED_GET), clos) {};
2713 #endif /* ENABLE_CHECKING fromline 1666*/
2715 }; // end class MeltFrame_meltrout_34_WARMELTmiBASE_MELT_PREDEFINED_GET
2718 /** end of frame for meltrout_34_WARMELTmiBASE_MELT_PREDEFINED_GET fromline 1697**/
2720 /* end of frame for routine meltrout_34_WARMELTmiBASE_MELT_PREDEFINED_GET fromline 1756 */
2722 /* classy proc frame meltrout_34_WARMELTmiBASE_MELT_PREDEFINED_GET */
2723 MeltFrame_meltrout_34_WARMELTmiBASE_MELT_PREDEFINED_GET
2724 meltfram__ /*declfrastruct fromline 1780*/
2725 /*classyprocarg meltrout_34_WARMELTmiBASE_MELT_PREDEFINED_GET fromline 1785*/
2726 #if ENABLE_CHECKING
2727 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
2728 #else /*ENABLE_CHECKING */
2729 (meltclosp_) /* fromline 1793*/
2730 #endif /*ENABLE_CHECKING */
2733 #define meltframe meltfram__
2735 melt_trace_start("MELT_PREDEFINED_GET", meltcallcount);
2736 /*use arguments*/
2737 (void) meltclosp_;
2738 (void)meltfirstargp_;
2739 (void)meltxargdescr_;
2740 (void)meltxargtab_;
2741 (void)meltxresdescr_;
2742 (void)meltxrestab_;
2743 /*getargs*/
2745 /*getarg#0*/
2746 MELT_LOCATION("warmelt-base.melt:3716:/ getarg");
2747 /*_.NAMV__V2*/
2748 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
2750 goto meltlab_endgetargs;
2751 meltlab_endgetargs:
2753 /*body*/
2754 /*^block*/
2755 /*anyblock*/
2759 MELT_CHECK_SIGNAL();
2761 /*_#IS_STRING__L1*/
2762 meltfnum[0] =
2763 (melt_magic_discr((melt_ptr_t)(/*_.NAMV__V2*/ meltfptr[1])) == MELTOBMAG_STRING);;
2764 MELT_LOCATION("warmelt-base.melt:3718:/ cond");
2765 /*cond*/
2766 if (/*_#IS_STRING__L1*/ meltfnum[0]) /*then*/
2768 /*^cond.then*/
2769 /*^block*/
2770 /*anyblock*/
2773 /*_.PREDEFSTR_CHK__V4*/ meltfptr[3] =
2774 /*melt_predefined_get PREDEFSTR_CHK__1 */
2775 melt_fetch_predefined (melt_predefined_index_by_name (melt_string_str ((melt_ptr_t)(/*_.NAMV__V2*/ meltfptr[1])))) ;;
2776 /*^compute*/
2777 /*_._IFELSE___V3*/
2778 meltfptr[2] = /*_.PREDEFSTR_CHK__V4*/ meltfptr[3];;
2779 /*epilog*/
2781 MELT_LOCATION("warmelt-base.melt:3718:/ clear");
2782 /*clear*/ /*_.PREDEFSTR_CHK__V4*/
2783 meltfptr[3] = 0 ;
2787 else /*^cond.else*/
2790 /*^block*/
2791 /*anyblock*/
2795 MELT_CHECK_SIGNAL();
2797 /*_#IS_A__L2*/
2798 meltfnum[1] =
2799 melt_is_instance_of((melt_ptr_t)(/*_.NAMV__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_NAMED*/ meltfrout->tabval[0])));;
2800 MELT_LOCATION("warmelt-base.melt:3721:/ cond");
2801 /*cond*/
2802 if (/*_#IS_A__L2*/ meltfnum[1]) /*then*/
2804 /*^cond.then*/
2805 /*^block*/
2806 /*anyblock*/
2809 MELT_LOCATION("warmelt-base.melt:3722:/ quasiblock");
2812 /*^cond*/
2813 /*cond*/
2814 if (
2815 /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.NAMV__V2*/ meltfptr[1]),
2816 (melt_ptr_t)((/*!CLASS_NAMED*/ meltfrout->tabval[0])))
2817 ) /*then*/
2819 /*^cond.then*/
2820 /*^getslot*/
2822 melt_ptr_t slot=NULL, obj=NULL;
2823 obj = (melt_ptr_t)(/*_.NAMV__V2*/ meltfptr[1]) /*=obj*/;
2824 melt_object_get_field(slot,obj, 1, "NAMED_NAME");
2825 /*_.NAMSTR__V7*/
2826 meltfptr[6] = slot;
2830 else /*^cond.else*/
2833 /*_.NAMSTR__V7*/ meltfptr[6] = /*reallynil*/ NULL ;;
2836 /*^compute*/
2837 /*_.PREDEFNAM_CHK__V8*/
2838 meltfptr[7] =
2839 /*melt_predefined_get PREDEFNAM_CHK__1 */
2840 melt_fetch_predefined (melt_predefined_index_by_name (melt_string_str ((melt_ptr_t)(/*_.NAMSTR__V7*/ meltfptr[6])))) ;;
2841 /*^compute*/
2842 /*_.LET___V6*/
2843 meltfptr[5] = /*_.PREDEFNAM_CHK__V8*/ meltfptr[7];;
2845 MELT_LOCATION("warmelt-base.melt:3722:/ clear");
2846 /*clear*/ /*_.NAMSTR__V7*/
2847 meltfptr[6] = 0 ;
2848 /*^clear*/
2849 /*clear*/ /*_.PREDEFNAM_CHK__V8*/
2850 meltfptr[7] = 0 ;
2851 /*_._IFELSE___V5*/
2852 meltfptr[3] = /*_.LET___V6*/ meltfptr[5];;
2853 /*epilog*/
2855 MELT_LOCATION("warmelt-base.melt:3721:/ clear");
2856 /*clear*/ /*_.LET___V6*/
2857 meltfptr[5] = 0 ;
2861 else /*^cond.else*/
2864 /*^block*/
2865 /*anyblock*/
2869 MELT_CHECK_SIGNAL();
2871 /*_#IS_INTEGERBOX__L3*/
2872 meltfnum[2] =
2873 (melt_magic_discr((melt_ptr_t)(/*_.NAMV__V2*/ meltfptr[1])) == MELTOBMAG_INT);;
2874 MELT_LOCATION("warmelt-base.melt:3727:/ cond");
2875 /*cond*/
2876 if (/*_#IS_INTEGERBOX__L3*/ meltfnum[2]) /*then*/
2878 /*^cond.then*/
2879 /*^block*/
2880 /*anyblock*/
2883 MELT_LOCATION("warmelt-base.melt:3728:/ quasiblock");
2886 /*_#NUM__L4*/
2887 meltfnum[3] =
2888 (melt_get_int((melt_ptr_t)(/*_.NAMV__V2*/ meltfptr[1])));;
2889 /*^compute*/
2890 /*_.PREDEFNAM_CHK__V11*/
2891 meltfptr[5] =
2892 /*melt_predefined_get PREDEFNAM_CHK__2 */
2893 melt_fetch_predefined (/*_#NUM__L4*/ meltfnum[3]) ;;
2894 /*^compute*/
2895 /*_.LET___V10*/
2896 meltfptr[7] = /*_.PREDEFNAM_CHK__V11*/ meltfptr[5];;
2898 MELT_LOCATION("warmelt-base.melt:3728:/ clear");
2899 /*clear*/ /*_#NUM__L4*/
2900 meltfnum[3] = 0 ;
2901 /*^clear*/
2902 /*clear*/ /*_.PREDEFNAM_CHK__V11*/
2903 meltfptr[5] = 0 ;
2904 /*_._IFELSE___V9*/
2905 meltfptr[6] = /*_.LET___V10*/ meltfptr[7];;
2906 /*epilog*/
2908 MELT_LOCATION("warmelt-base.melt:3727:/ clear");
2909 /*clear*/ /*_.LET___V10*/
2910 meltfptr[7] = 0 ;
2914 else /*^cond.else*/
2917 /*^block*/
2918 /*anyblock*/
2921 MELT_LOCATION("warmelt-base.melt:3732:/ quasiblock");
2924 /*_.PROGN___V12*/
2925 meltfptr[5] = (/*nil*/NULL);;
2926 /*^compute*/
2927 /*_._IFELSE___V9*/
2928 meltfptr[6] = /*_.PROGN___V12*/ meltfptr[5];;
2929 /*epilog*/
2931 MELT_LOCATION("warmelt-base.melt:3727:/ clear");
2932 /*clear*/ /*_.PROGN___V12*/
2933 meltfptr[5] = 0 ;
2938 /*_._IFELSE___V5*/
2939 meltfptr[3] = /*_._IFELSE___V9*/ meltfptr[6];;
2940 /*epilog*/
2942 MELT_LOCATION("warmelt-base.melt:3721:/ clear");
2943 /*clear*/ /*_#IS_INTEGERBOX__L3*/
2944 meltfnum[2] = 0 ;
2945 /*^clear*/
2946 /*clear*/ /*_._IFELSE___V9*/
2947 meltfptr[6] = 0 ;
2952 /*_._IFELSE___V3*/
2953 meltfptr[2] = /*_._IFELSE___V5*/ meltfptr[3];;
2954 /*epilog*/
2956 MELT_LOCATION("warmelt-base.melt:3718:/ clear");
2957 /*clear*/ /*_#IS_A__L2*/
2958 meltfnum[1] = 0 ;
2959 /*^clear*/
2960 /*clear*/ /*_._IFELSE___V5*/
2961 meltfptr[3] = 0 ;
2966 MELT_LOCATION("warmelt-base.melt:3716:/ quasiblock");
2969 /*_._RETVAL___V1*/
2970 meltfptr[0] = /*_._IFELSE___V3*/ meltfptr[2];;
2973 MELT_LOCATION("warmelt-base.melt:3716:/ locexp");
2974 /*ochecknores compilobj_nrep_return*/
2975 #if MELT_HAVE_DEBUG
2976 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
2977 melt_warn_for_no_expected_secondary_results();
2978 /* we warned when secondary results are expected but not returned. */
2979 #endif /*MELT_HAVE_DEBUG*/
2983 /*^finalreturn*/
2985 /*finalret*/
2986 goto meltlabend_rout ;
2987 /*epilog*/
2989 /*^clear*/
2990 /*clear*/ /*_#IS_STRING__L1*/
2991 meltfnum[0] = 0 ;
2992 /*^clear*/
2993 /*clear*/ /*_._IFELSE___V3*/
2994 meltfptr[2] = 0 ;
2998 goto meltlabend_rout;
2999 meltlabend_rout:
3000 melt_trace_end("MELT_PREDEFINED_GET", meltcallcount);
3001 melt_blocklevel_signals = current_blocklevel_signals_meltrout_34_WARMELTmiBASE_MELT_PREDEFINED_GET_melt;
3002 return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]);
3003 #undef meltcallcount
3004 #undef meltfram__
3005 #undef MELTFRAM_NBVARNUM
3006 #undef MELTFRAM_NBVARPTR
3007 } /*end meltrout_34_WARMELTmiBASE_MELT_PREDEFINED_GET*/
3014 melt_ptr_t MELT_MODULE_VISIBILITY
3015 meltrout_35_WARMELTmiBASE_SYMBOL_CNAME(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
3016 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
3018 long current_blocklevel_signals_meltrout_35_WARMELTmiBASE_SYMBOL_CNAME_melt = melt_blocklevel_signals;
3020 #if MELT_HAVE_DEBUG
3021 static long melt_call_counter__;
3022 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
3023 #undef meltcallcount
3024 #define meltcallcount melt_thiscallcounter__
3025 #else
3026 #undef meltcallcount
3027 #define meltcallcount 0L
3028 #endif
3029 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
3031 /* start of frame for routine meltrout_35_WARMELTmiBASE_SYMBOL_CNAME fromline 1752 */
3033 /** start of frame for meltrout_35_WARMELTmiBASE_SYMBOL_CNAME of CLASS_PROCROUTINEOBJ from 1555**/
3035 /*curframdeclclassy*/ class MeltFrame_meltrout_35_WARMELTmiBASE_SYMBOL_CNAME// fromline 1568
3036 : public Melt_CallFrameWithValues<20>
3038 public: /* fromline 1572*/
3039 long mcfr_varnum[3];
3040 /*classy others*/
3041 long _meltsparel;
3042 void melt_mark_stuff (void)
3044 } /*end melt_mark_stuff*/
3045 virtual void melt_mark_ggc_data (void)
3047 melt_mark_values ();
3048 melt_mark_stuff ();
3049 }; /*end melt_mark_ggc_data*/
3050 MeltFrame_meltrout_35_WARMELTmiBASE_SYMBOL_CNAME(meltclosure_ptr_t clos) //the closure constructor fromline 1630
3051 : Melt_CallFrameWithValues<20> (
3052 #if ENABLE_CHECKING /*fromline 1634*/
3053 __FILE__, __LINE__,
3054 #endif /* ENABLE_CHECKING fromline 1638*/
3055 sizeof(MeltFrame_meltrout_35_WARMELTmiBASE_SYMBOL_CNAME), clos) {};
3056 MeltFrame_meltrout_35_WARMELTmiBASE_SYMBOL_CNAME() //the constructor fromline 1642
3057 : Melt_CallFrameWithValues<20> (
3058 #if ENABLE_CHECKING /*fromline 1646*/
3059 __FILE__, __LINE__,
3060 #endif /* ENABLE_CHECKING fromline 1650*/
3061 sizeof(MeltFrame_meltrout_35_WARMELTmiBASE_SYMBOL_CNAME)) {};
3062 #if ENABLE_CHECKING /*fromline 1654*/
3063 MeltFrame_meltrout_35_WARMELTmiBASE_SYMBOL_CNAME(const char*fil, int lin) //the constructor fromline 1656
3064 : Melt_CallFrameWithValues<20> (fil,lin, sizeof(MeltFrame_meltrout_35_WARMELTmiBASE_SYMBOL_CNAME)) {};
3065 MeltFrame_meltrout_35_WARMELTmiBASE_SYMBOL_CNAME(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
3066 : Melt_CallFrameWithValues<20> (fil,lin, sizeof(MeltFrame_meltrout_35_WARMELTmiBASE_SYMBOL_CNAME), clos) {};
3067 #endif /* ENABLE_CHECKING fromline 1666*/
3069 }; // end class MeltFrame_meltrout_35_WARMELTmiBASE_SYMBOL_CNAME
3072 /** end of frame for meltrout_35_WARMELTmiBASE_SYMBOL_CNAME fromline 1697**/
3074 /* end of frame for routine meltrout_35_WARMELTmiBASE_SYMBOL_CNAME fromline 1756 */
3076 /* classy proc frame meltrout_35_WARMELTmiBASE_SYMBOL_CNAME */
3077 MeltFrame_meltrout_35_WARMELTmiBASE_SYMBOL_CNAME
3078 meltfram__ /*declfrastruct fromline 1780*/
3079 /*classyprocarg meltrout_35_WARMELTmiBASE_SYMBOL_CNAME fromline 1785*/
3080 #if ENABLE_CHECKING
3081 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
3082 #else /*ENABLE_CHECKING */
3083 (meltclosp_) /* fromline 1793*/
3084 #endif /*ENABLE_CHECKING */
3087 #define meltframe meltfram__
3089 melt_trace_start("SYMBOL_CNAME", meltcallcount);
3090 /*use arguments*/
3091 (void) meltclosp_;
3092 (void)meltfirstargp_;
3093 (void)meltxargdescr_;
3094 (void)meltxargtab_;
3095 (void)meltxresdescr_;
3096 (void)meltxrestab_;
3097 /*getargs*/
3099 /*getarg#0*/
3100 MELT_LOCATION("warmelt-base.melt:3736:/ getarg");
3101 /*_.SY__V2*/
3102 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
3104 goto meltlab_endgetargs;
3105 meltlab_endgetargs:
3107 /*body*/
3108 /*^block*/
3109 /*anyblock*/
3113 MELT_CHECK_SIGNAL();
3115 /*_#IS_A__L1*/
3116 meltfnum[0] =
3117 melt_is_instance_of((melt_ptr_t)(/*_.SY__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_CLONED_SYMBOL*/ meltfrout->tabval[0])));;
3118 MELT_LOCATION("warmelt-base.melt:3738:/ cond");
3119 /*cond*/
3120 if (/*_#IS_A__L1*/ meltfnum[0]) /*then*/
3122 /*^cond.then*/
3123 /*^block*/
3124 /*anyblock*/
3127 MELT_LOCATION("warmelt-base.melt:3739:/ quasiblock");
3130 /*_.SBUF__V5*/
3131 meltfptr[4] =
3132 (melt_ptr_t) meltgc_new_strbuf((meltobject_ptr_t)((/*!DISCR_STRBUF*/ meltfrout->tabval[1])), (const char*)0);;
3133 MELT_LOCATION("warmelt-base.melt:3740:/ cond");
3134 /*cond*/
3135 if (
3136 /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.SY__V2*/ meltfptr[1]),
3137 (melt_ptr_t)((/*!CLASS_NAMED*/ meltfrout->tabval[2])))
3138 ) /*then*/
3140 /*^cond.then*/
3141 /*^getslot*/
3143 melt_ptr_t slot=NULL, obj=NULL;
3144 obj = (melt_ptr_t)(/*_.SY__V2*/ meltfptr[1]) /*=obj*/;
3145 melt_object_get_field(slot,obj, 1, "NAMED_NAME");
3146 /*_.NAMED_NAME__V6*/
3147 meltfptr[5] = slot;
3151 else /*^cond.else*/
3154 /*_.NAMED_NAME__V6*/ meltfptr[5] = /*reallynil*/ NULL ;;
3159 MELT_LOCATION("warmelt-base.melt:3740:/ locexp");
3160 meltgc_add_strbuf_cident((melt_ptr_t)(/*_.SBUF__V5*/ meltfptr[4]),
3161 melt_string_str((melt_ptr_t)(/*_.NAMED_NAME__V6*/ meltfptr[5])));
3164 MELT_LOCATION("warmelt-base.melt:3741:/ cond");
3165 /*cond*/
3166 if (
3167 /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.SY__V2*/ meltfptr[1]),
3168 (melt_ptr_t)((/*!CLASS_CLONED_SYMBOL*/ meltfrout->tabval[0])))
3169 ) /*then*/
3171 /*^cond.then*/
3172 /*^getslot*/
3174 melt_ptr_t slot=NULL, obj=NULL;
3175 obj = (melt_ptr_t)(/*_.SY__V2*/ meltfptr[1]) /*=obj*/;
3176 melt_object_get_field(slot,obj, 3, "CSYM_URANK");
3177 /*_.CSYM_URANK__V7*/
3178 meltfptr[6] = slot;
3182 else /*^cond.else*/
3185 /*_.CSYM_URANK__V7*/ meltfptr[6] = /*reallynil*/ NULL ;;
3189 MELT_CHECK_SIGNAL();
3191 MELT_LOCATION("warmelt-base.melt:3741:/ apply");
3192 /*apply*/
3194 union meltparam_un argtab[2];
3195 memset(&argtab, 0, sizeof(argtab));
3196 /*^apply.arg*/
3197 argtab[0].meltbp_cstring = "cl";
3198 /*^apply.arg*/
3199 argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.CSYM_URANK__V7*/ meltfptr[6];
3200 /*_.ADD2OUT__V8*/
3201 meltfptr[7] = melt_apply ((meltclosure_ptr_t)((/*!ADD2OUT*/ meltfrout->tabval[3])), (melt_ptr_t)(/*_.SBUF__V5*/ meltfptr[4]), (MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
3204 /*_.STRBUF2STRING__V9*/
3205 meltfptr[8] =
3206 (meltgc_new_stringdup((meltobject_ptr_t)((/*!DISCR_VERBATIM_STRING*/ meltfrout->tabval[4])), melt_strbuf_str((melt_ptr_t)(/*_.SBUF__V5*/ meltfptr[4]))));;
3207 /*^compute*/
3208 /*_.LET___V4*/
3209 meltfptr[3] = /*_.STRBUF2STRING__V9*/ meltfptr[8];;
3211 MELT_LOCATION("warmelt-base.melt:3739:/ clear");
3212 /*clear*/ /*_.SBUF__V5*/
3213 meltfptr[4] = 0 ;
3214 /*^clear*/
3215 /*clear*/ /*_.NAMED_NAME__V6*/
3216 meltfptr[5] = 0 ;
3217 /*^clear*/
3218 /*clear*/ /*_.CSYM_URANK__V7*/
3219 meltfptr[6] = 0 ;
3220 /*^clear*/
3221 /*clear*/ /*_.ADD2OUT__V8*/
3222 meltfptr[7] = 0 ;
3223 /*^clear*/
3224 /*clear*/ /*_.STRBUF2STRING__V9*/
3225 meltfptr[8] = 0 ;
3226 /*_._IFELSE___V3*/
3227 meltfptr[2] = /*_.LET___V4*/ meltfptr[3];;
3228 /*epilog*/
3230 MELT_LOCATION("warmelt-base.melt:3738:/ clear");
3231 /*clear*/ /*_.LET___V4*/
3232 meltfptr[3] = 0 ;
3236 else /*^cond.else*/
3239 /*^block*/
3240 /*anyblock*/
3244 MELT_CHECK_SIGNAL();
3246 /*_#IS_A__L2*/
3247 meltfnum[1] =
3248 melt_is_instance_of((melt_ptr_t)(/*_.SY__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_KEYWORD*/ meltfrout->tabval[5])));;
3249 MELT_LOCATION("warmelt-base.melt:3744:/ cond");
3250 /*cond*/
3251 if (/*_#IS_A__L2*/ meltfnum[1]) /*then*/
3253 /*^cond.then*/
3254 /*^block*/
3255 /*anyblock*/
3258 MELT_LOCATION("warmelt-base.melt:3745:/ quasiblock");
3261 /*_.SBUF__V12*/
3262 meltfptr[6] =
3263 (melt_ptr_t) meltgc_new_strbuf((meltobject_ptr_t)((/*!DISCR_STRBUF*/ meltfrout->tabval[1])), (const char*)0);;
3264 MELT_LOCATION("warmelt-base.melt:3746:/ cond");
3265 /*cond*/
3266 if (
3267 /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.SY__V2*/ meltfptr[1]),
3268 (melt_ptr_t)((/*!CLASS_NAMED*/ meltfrout->tabval[2])))
3269 ) /*then*/
3271 /*^cond.then*/
3272 /*^getslot*/
3274 melt_ptr_t slot=NULL, obj=NULL;
3275 obj = (melt_ptr_t)(/*_.SY__V2*/ meltfptr[1]) /*=obj*/;
3276 melt_object_get_field(slot,obj, 1, "NAMED_NAME");
3277 /*_.NAMED_NAME__V13*/
3278 meltfptr[7] = slot;
3282 else /*^cond.else*/
3285 /*_.NAMED_NAME__V13*/ meltfptr[7] = /*reallynil*/ NULL ;;
3290 MELT_LOCATION("warmelt-base.melt:3746:/ locexp");
3291 meltgc_add_strbuf_cident((melt_ptr_t)(/*_.SBUF__V12*/ meltfptr[6]),
3292 melt_string_str((melt_ptr_t)(/*_.NAMED_NAME__V13*/ meltfptr[7])));
3297 MELT_LOCATION("warmelt-base.melt:3747:/ locexp");
3298 /*add2sbuf_strconst*/
3299 meltgc_add_strbuf((melt_ptr_t)(/*_.SBUF__V12*/ meltfptr[6]), ( "kw"));
3302 /*_.STRBUF2STRING__V14*/
3303 meltfptr[8] =
3304 (meltgc_new_stringdup((meltobject_ptr_t)((/*!DISCR_VERBATIM_STRING*/ meltfrout->tabval[4])), melt_strbuf_str((melt_ptr_t)(/*_.SBUF__V12*/ meltfptr[6]))));;
3305 /*^compute*/
3306 /*_.LET___V11*/
3307 meltfptr[5] = /*_.STRBUF2STRING__V14*/ meltfptr[8];;
3309 MELT_LOCATION("warmelt-base.melt:3745:/ clear");
3310 /*clear*/ /*_.SBUF__V12*/
3311 meltfptr[6] = 0 ;
3312 /*^clear*/
3313 /*clear*/ /*_.NAMED_NAME__V13*/
3314 meltfptr[7] = 0 ;
3315 /*^clear*/
3316 /*clear*/ /*_.STRBUF2STRING__V14*/
3317 meltfptr[8] = 0 ;
3318 /*_._IFELSE___V10*/
3319 meltfptr[4] = /*_.LET___V11*/ meltfptr[5];;
3320 /*epilog*/
3322 MELT_LOCATION("warmelt-base.melt:3744:/ clear");
3323 /*clear*/ /*_.LET___V11*/
3324 meltfptr[5] = 0 ;
3328 else /*^cond.else*/
3331 /*^block*/
3332 /*anyblock*/
3336 MELT_CHECK_SIGNAL();
3338 /*_#IS_A__L3*/
3339 meltfnum[2] =
3340 melt_is_instance_of((melt_ptr_t)(/*_.SY__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_SYMBOL*/ meltfrout->tabval[6])));;
3341 MELT_LOCATION("warmelt-base.melt:3750:/ cond");
3342 /*cond*/
3343 if (/*_#IS_A__L3*/ meltfnum[2]) /*then*/
3345 /*^cond.then*/
3346 /*^block*/
3347 /*anyblock*/
3350 MELT_LOCATION("warmelt-base.melt:3751:/ quasiblock");
3353 /*_.SBUF__V17*/
3354 meltfptr[7] =
3355 (melt_ptr_t) meltgc_new_strbuf((meltobject_ptr_t)((/*!DISCR_STRBUF*/ meltfrout->tabval[1])), (const char*)0);;
3356 MELT_LOCATION("warmelt-base.melt:3752:/ cond");
3357 /*cond*/
3358 if (
3359 /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.SY__V2*/ meltfptr[1]),
3360 (melt_ptr_t)((/*!CLASS_NAMED*/ meltfrout->tabval[2])))
3361 ) /*then*/
3363 /*^cond.then*/
3364 /*^getslot*/
3366 melt_ptr_t slot=NULL, obj=NULL;
3367 obj = (melt_ptr_t)(/*_.SY__V2*/ meltfptr[1]) /*=obj*/;
3368 melt_object_get_field(slot,obj, 1, "NAMED_NAME");
3369 /*_.NAMED_NAME__V18*/
3370 meltfptr[8] = slot;
3374 else /*^cond.else*/
3377 /*_.NAMED_NAME__V18*/ meltfptr[8] = /*reallynil*/ NULL ;;
3382 MELT_LOCATION("warmelt-base.melt:3752:/ locexp");
3383 meltgc_add_strbuf_cident((melt_ptr_t)(/*_.SBUF__V17*/ meltfptr[7]),
3384 melt_string_str((melt_ptr_t)(/*_.NAMED_NAME__V18*/ meltfptr[8])));
3387 /*_.STRBUF2STRING__V19*/
3388 meltfptr[5] =
3389 (meltgc_new_stringdup((meltobject_ptr_t)((/*!DISCR_VERBATIM_STRING*/ meltfrout->tabval[4])), melt_strbuf_str((melt_ptr_t)(/*_.SBUF__V17*/ meltfptr[7]))));;
3390 /*^compute*/
3391 /*_.LET___V16*/
3392 meltfptr[6] = /*_.STRBUF2STRING__V19*/ meltfptr[5];;
3394 MELT_LOCATION("warmelt-base.melt:3751:/ clear");
3395 /*clear*/ /*_.SBUF__V17*/
3396 meltfptr[7] = 0 ;
3397 /*^clear*/
3398 /*clear*/ /*_.NAMED_NAME__V18*/
3399 meltfptr[8] = 0 ;
3400 /*^clear*/
3401 /*clear*/ /*_.STRBUF2STRING__V19*/
3402 meltfptr[5] = 0 ;
3403 /*_._IFELSE___V15*/
3404 meltfptr[3] = /*_.LET___V16*/ meltfptr[6];;
3405 /*epilog*/
3407 MELT_LOCATION("warmelt-base.melt:3750:/ clear");
3408 /*clear*/ /*_.LET___V16*/
3409 meltfptr[6] = 0 ;
3413 else /*^cond.else*/
3416 /*^block*/
3417 /*anyblock*/
3420 MELT_LOCATION("warmelt-base.melt:3755:/ quasiblock");
3423 /*_.PROGN___V20*/
3424 meltfptr[7] = (/*nil*/NULL);;
3425 /*^compute*/
3426 /*_._IFELSE___V15*/
3427 meltfptr[3] = /*_.PROGN___V20*/ meltfptr[7];;
3428 /*epilog*/
3430 MELT_LOCATION("warmelt-base.melt:3750:/ clear");
3431 /*clear*/ /*_.PROGN___V20*/
3432 meltfptr[7] = 0 ;
3437 /*_._IFELSE___V10*/
3438 meltfptr[4] = /*_._IFELSE___V15*/ meltfptr[3];;
3439 /*epilog*/
3441 MELT_LOCATION("warmelt-base.melt:3744:/ clear");
3442 /*clear*/ /*_#IS_A__L3*/
3443 meltfnum[2] = 0 ;
3444 /*^clear*/
3445 /*clear*/ /*_._IFELSE___V15*/
3446 meltfptr[3] = 0 ;
3451 /*_._IFELSE___V3*/
3452 meltfptr[2] = /*_._IFELSE___V10*/ meltfptr[4];;
3453 /*epilog*/
3455 MELT_LOCATION("warmelt-base.melt:3738:/ clear");
3456 /*clear*/ /*_#IS_A__L2*/
3457 meltfnum[1] = 0 ;
3458 /*^clear*/
3459 /*clear*/ /*_._IFELSE___V10*/
3460 meltfptr[4] = 0 ;
3465 MELT_LOCATION("warmelt-base.melt:3736:/ quasiblock");
3468 /*_._RETVAL___V1*/
3469 meltfptr[0] = /*_._IFELSE___V3*/ meltfptr[2];;
3472 MELT_LOCATION("warmelt-base.melt:3736:/ locexp");
3473 /*ochecknores compilobj_nrep_return*/
3474 #if MELT_HAVE_DEBUG
3475 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
3476 melt_warn_for_no_expected_secondary_results();
3477 /* we warned when secondary results are expected but not returned. */
3478 #endif /*MELT_HAVE_DEBUG*/
3482 /*^finalreturn*/
3484 /*finalret*/
3485 goto meltlabend_rout ;
3486 /*epilog*/
3488 /*^clear*/
3489 /*clear*/ /*_#IS_A__L1*/
3490 meltfnum[0] = 0 ;
3491 /*^clear*/
3492 /*clear*/ /*_._IFELSE___V3*/
3493 meltfptr[2] = 0 ;
3497 goto meltlabend_rout;
3498 meltlabend_rout:
3499 melt_trace_end("SYMBOL_CNAME", meltcallcount);
3500 melt_blocklevel_signals = current_blocklevel_signals_meltrout_35_WARMELTmiBASE_SYMBOL_CNAME_melt;
3501 return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]);
3502 #undef meltcallcount
3503 #undef meltfram__
3504 #undef MELTFRAM_NBVARNUM
3505 #undef MELTFRAM_NBVARPTR
3506 } /*end meltrout_35_WARMELTmiBASE_SYMBOL_CNAME*/
3513 melt_ptr_t MELT_MODULE_VISIBILITY
3514 meltrout_37_WARMELTmiBASE_MULTIPLE_SORT(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
3515 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
3517 long current_blocklevel_signals_meltrout_37_WARMELTmiBASE_MULTIPLE_SORT_melt = melt_blocklevel_signals;
3519 #if MELT_HAVE_DEBUG
3520 static long melt_call_counter__;
3521 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
3522 #undef meltcallcount
3523 #define meltcallcount melt_thiscallcounter__
3524 #else
3525 #undef meltcallcount
3526 #define meltcallcount 0L
3527 #endif
3528 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
3530 /* start of frame for routine meltrout_37_WARMELTmiBASE_MULTIPLE_SORT fromline 1752 */
3532 /** start of frame for meltrout_37_WARMELTmiBASE_MULTIPLE_SORT of CLASS_PROCROUTINEOBJ from 1555**/
3534 /*curframdeclclassy*/ class MeltFrame_meltrout_37_WARMELTmiBASE_MULTIPLE_SORT// fromline 1568
3535 : public Melt_CallFrameWithValues<30>
3537 public: /* fromline 1572*/
3538 long mcfr_varnum[11];
3539 /*classy others*/
3540 long _meltsparel;
3541 void melt_mark_stuff (void)
3543 } /*end melt_mark_stuff*/
3544 virtual void melt_mark_ggc_data (void)
3546 melt_mark_values ();
3547 melt_mark_stuff ();
3548 }; /*end melt_mark_ggc_data*/
3549 MeltFrame_meltrout_37_WARMELTmiBASE_MULTIPLE_SORT(meltclosure_ptr_t clos) //the closure constructor fromline 1630
3550 : Melt_CallFrameWithValues<30> (
3551 #if ENABLE_CHECKING /*fromline 1634*/
3552 __FILE__, __LINE__,
3553 #endif /* ENABLE_CHECKING fromline 1638*/
3554 sizeof(MeltFrame_meltrout_37_WARMELTmiBASE_MULTIPLE_SORT), clos) {};
3555 MeltFrame_meltrout_37_WARMELTmiBASE_MULTIPLE_SORT() //the constructor fromline 1642
3556 : Melt_CallFrameWithValues<30> (
3557 #if ENABLE_CHECKING /*fromline 1646*/
3558 __FILE__, __LINE__,
3559 #endif /* ENABLE_CHECKING fromline 1650*/
3560 sizeof(MeltFrame_meltrout_37_WARMELTmiBASE_MULTIPLE_SORT)) {};
3561 #if ENABLE_CHECKING /*fromline 1654*/
3562 MeltFrame_meltrout_37_WARMELTmiBASE_MULTIPLE_SORT(const char*fil, int lin) //the constructor fromline 1656
3563 : Melt_CallFrameWithValues<30> (fil,lin, sizeof(MeltFrame_meltrout_37_WARMELTmiBASE_MULTIPLE_SORT)) {};
3564 MeltFrame_meltrout_37_WARMELTmiBASE_MULTIPLE_SORT(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
3565 : Melt_CallFrameWithValues<30> (fil,lin, sizeof(MeltFrame_meltrout_37_WARMELTmiBASE_MULTIPLE_SORT), clos) {};
3566 #endif /* ENABLE_CHECKING fromline 1666*/
3568 }; // end class MeltFrame_meltrout_37_WARMELTmiBASE_MULTIPLE_SORT
3571 /** end of frame for meltrout_37_WARMELTmiBASE_MULTIPLE_SORT fromline 1697**/
3573 /* end of frame for routine meltrout_37_WARMELTmiBASE_MULTIPLE_SORT fromline 1756 */
3575 /* classy proc frame meltrout_37_WARMELTmiBASE_MULTIPLE_SORT */
3576 MeltFrame_meltrout_37_WARMELTmiBASE_MULTIPLE_SORT
3577 meltfram__ /*declfrastruct fromline 1780*/
3578 /*classyprocarg meltrout_37_WARMELTmiBASE_MULTIPLE_SORT fromline 1785*/
3579 #if ENABLE_CHECKING
3580 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
3581 #else /*ENABLE_CHECKING */
3582 (meltclosp_) /* fromline 1793*/
3583 #endif /*ENABLE_CHECKING */
3586 #define meltframe meltfram__
3588 melt_trace_start("MULTIPLE_SORT", meltcallcount);
3589 /*use arguments*/
3590 (void) meltclosp_;
3591 (void)meltfirstargp_;
3592 (void)meltxargdescr_;
3593 (void)meltxargtab_;
3594 (void)meltxresdescr_;
3595 (void)meltxrestab_;
3596 /*getargs*/
3598 /*getarg#0*/
3599 MELT_LOCATION("warmelt-base.melt:3823:/ getarg");
3600 /*_.MUL__V2*/
3601 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
3603 /*getarg#1*/
3604 /*^getarg*/
3605 if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs;
3606 /*_.CMP__V3*/
3607 meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL;
3608 gcc_assert(melt_discr((melt_ptr_t)(/*_.CMP__V3*/ meltfptr[2])) != NULL);
3611 /*getarg#2*/
3612 /*^getarg*/
3613 if (meltxargdescr_[1] != MELTBPAR_PTR) goto meltlab_endgetargs;
3614 /*_.DIS__V4*/
3615 meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL;
3616 gcc_assert(melt_discr((melt_ptr_t)(/*_.DIS__V4*/ meltfptr[3])) != NULL);
3619 goto meltlab_endgetargs;
3620 meltlab_endgetargs:
3622 /*body*/
3623 /*^block*/
3624 /*anyblock*/
3628 MELT_CHECK_SIGNAL();
3630 /*_#IS_MULTIPLE__L1*/
3631 meltfnum[0] =
3632 (melt_magic_discr((melt_ptr_t)(/*_.MUL__V2*/ meltfptr[1])) == MELTOBMAG_MULTIPLE);;
3633 MELT_LOCATION("warmelt-base.melt:3833:/ cond");
3634 /*cond*/
3635 if (/*_#IS_MULTIPLE__L1*/ meltfnum[0]) /*then*/
3637 /*^cond.then*/
3638 /*^block*/
3639 /*anyblock*/
3646 MELT_LOCATION("warmelt-base.melt:3834:/ locexp");
3647 /*void*/
3648 (void)0;
3651 /*clear*/ /*_._IFELSE___V5*/
3652 meltfptr[4] = 0 ;
3653 /*epilog*/
3657 else
3659 MELT_LOCATION("warmelt-base.melt:3833:/ cond.else");
3661 /*^block*/
3662 /*anyblock*/
3666 MELT_CHECK_SIGNAL();
3668 MELT_LOCATION("warmelt-base.melt:3835:/ quasiblock");
3671 /*_._RETVAL___V1*/
3672 meltfptr[0] = (/*nil*/NULL);;
3675 MELT_LOCATION("warmelt-base.melt:3835:/ locexp");
3676 /*ochecknores compilobj_nrep_return*/
3677 #if MELT_HAVE_DEBUG
3678 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
3679 melt_warn_for_no_expected_secondary_results();
3680 /* we warned when secondary results are expected but not returned. */
3681 #endif /*MELT_HAVE_DEBUG*/
3685 /*^finalreturn*/
3687 /*finalret*/
3688 goto meltlabend_rout ;
3689 /*_._IFELSE___V5*/
3690 meltfptr[4] = /*_.RETURN___V6*/ meltfptr[5];;
3691 /*epilog*/
3693 MELT_LOCATION("warmelt-base.melt:3833:/ clear");
3694 /*clear*/ /*_.RETURN___V6*/
3695 meltfptr[5] = 0 ;
3701 MELT_CHECK_SIGNAL();
3703 /*_#IS_HOOK__L2*/
3704 meltfnum[1] =
3705 (melt_magic_discr((melt_ptr_t)((/*!HOOK_SORT_COMPARE_LESS*/ meltfrout->tabval[0]))) == MELTOBMAG_HOOK);;
3706 MELT_LOCATION("warmelt-base.melt:3836:/ cond");
3707 /*cond*/
3708 if (/*_#IS_HOOK__L2*/ meltfnum[1]) /*then*/
3710 /*^cond.then*/
3711 /*_._IFELSE___V7*/ meltfptr[5] = (/*nil*/NULL);;
3713 else
3715 MELT_LOCATION("warmelt-base.melt:3836:/ cond.else");
3717 /*^block*/
3718 /*anyblock*/
3722 #if MELT_HAVE_DEBUG
3723 MELT_LOCATION("warmelt-base.melt:3837:/ cppif.then");
3724 /*^block*/
3725 /*anyblock*/
3729 MELT_CHECK_SIGNAL();
3731 /*_#IS_HOOK__L3*/
3732 meltfnum[2] =
3733 (melt_magic_discr((melt_ptr_t)((/*!HOOK_SORT_COMPARE_LESS*/ meltfrout->tabval[0]))) == MELTOBMAG_HOOK);;
3734 MELT_LOCATION("warmelt-base.melt:3837:/ cond");
3735 /*cond*/
3736 if (/*_#IS_HOOK__L3*/ meltfnum[2]) /*then*/
3738 /*^cond.then*/
3739 /*_._IFELSE___V9*/ meltfptr[8] = (/*nil*/NULL);;
3741 else
3743 MELT_LOCATION("warmelt-base.melt:3837:/ cond.else");
3745 /*^block*/
3746 /*anyblock*/
3750 MELT_CHECK_SIGNAL();
3752 /*^apply*/
3753 /*apply*/
3755 union meltparam_un argtab[6];
3756 memset(&argtab, 0, sizeof(argtab));
3757 /*^apply.arg*/
3758 argtab[0].meltbp_cstring = "multiple_sort check hook_sort_compare_less";
3759 /*^apply.arg*/
3760 argtab[1].meltbp_cstring = "warmelt-base.melt";
3761 /*^apply.arg*/
3762 argtab[2].meltbp_long = 3837;
3763 /*^apply.arg*/
3764 argtab[3].meltbp_aptr = (melt_ptr_t*) &(/*!HOOK_SORT_COMPARE_LESS*/ meltfrout->tabval[0]);
3765 /*^apply.arg*/
3766 argtab[4].meltbp_aptr = (melt_ptr_t*) &(/*!MULTIPLE_SORT*/ meltfrout->tabval[2]);
3767 /*^apply.arg*/
3768 argtab[5].meltbp_aptr = (melt_ptr_t*) &/*_.MUL__V2*/ meltfptr[1];
3769 /*_.MELT_ASSERT_FAILURE_FUN__V10*/
3770 meltfptr[9] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[1])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
3773 /*_._IFELSE___V9*/
3774 meltfptr[8] = /*_.MELT_ASSERT_FAILURE_FUN__V10*/ meltfptr[9];;
3775 /*epilog*/
3777 MELT_LOCATION("warmelt-base.melt:3837:/ clear");
3778 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V10*/
3779 meltfptr[9] = 0 ;
3784 /*_.IFCPP___V8*/
3785 meltfptr[7] = /*_._IFELSE___V9*/ meltfptr[8];;
3786 /*epilog*/
3788 MELT_LOCATION("warmelt-base.melt:3837:/ clear");
3789 /*clear*/ /*_#IS_HOOK__L3*/
3790 meltfnum[2] = 0 ;
3791 /*^clear*/
3792 /*clear*/ /*_._IFELSE___V9*/
3793 meltfptr[8] = 0 ;
3796 #else /*MELT_HAVE_DEBUG*/
3797 /*^cppif.else*/
3798 /*_.IFCPP___V8*/ meltfptr[7] = (/*nil*/NULL);
3799 #endif /*MELT_HAVE_DEBUG*/
3802 MELT_CHECK_SIGNAL();
3804 MELT_LOCATION("warmelt-base.melt:3840:/ apply");
3805 /*apply*/
3807 union meltparam_un argtab[1];
3808 memset(&argtab, 0, sizeof(argtab));
3809 /*^apply.arg*/
3810 argtab[0].meltbp_cstring = "multiple_sort with corrupted hook_sort_compare_less";
3811 /*_.FATAL_ERROR_AT__V11*/
3812 meltfptr[9] = melt_apply ((meltclosure_ptr_t)((/*!FATAL_ERROR_AT*/ meltfrout->tabval[3])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0);
3815 MELT_LOCATION("warmelt-base.melt:3836:/ quasiblock");
3818 /*_.PROGN___V12*/
3819 meltfptr[8] = /*_.FATAL_ERROR_AT__V11*/ meltfptr[9];;
3820 /*^compute*/
3821 /*_._IFELSE___V7*/
3822 meltfptr[5] = /*_.PROGN___V12*/ meltfptr[8];;
3823 /*epilog*/
3825 MELT_LOCATION("warmelt-base.melt:3836:/ clear");
3826 /*clear*/ /*_.IFCPP___V8*/
3827 meltfptr[7] = 0 ;
3828 /*^clear*/
3829 /*clear*/ /*_.FATAL_ERROR_AT__V11*/
3830 meltfptr[9] = 0 ;
3831 /*^clear*/
3832 /*clear*/ /*_.PROGN___V12*/
3833 meltfptr[8] = 0 ;
3839 MELT_CHECK_SIGNAL();
3841 /*_#IS_CLOSURE__L4*/
3842 meltfnum[2] =
3843 (melt_magic_discr((melt_ptr_t)(/*_.CMP__V3*/ meltfptr[2])) == MELTOBMAG_CLOSURE);;
3844 MELT_LOCATION("warmelt-base.melt:3841:/ cond");
3845 /*cond*/
3846 if (/*_#IS_CLOSURE__L4*/ meltfnum[2]) /*then*/
3848 /*^cond.then*/
3849 /*^block*/
3850 /*anyblock*/
3857 MELT_LOCATION("warmelt-base.melt:3842:/ locexp");
3858 /*void*/
3859 (void)0;
3862 /*clear*/ /*_._IFELSE___V13*/
3863 meltfptr[7] = 0 ;
3864 /*epilog*/
3868 else
3870 MELT_LOCATION("warmelt-base.melt:3841:/ cond.else");
3872 /*^block*/
3873 /*anyblock*/
3877 MELT_CHECK_SIGNAL();
3879 MELT_LOCATION("warmelt-base.melt:3843:/ quasiblock");
3882 /*_._RETVAL___V1*/
3883 meltfptr[0] = (/*nil*/NULL);;
3886 MELT_LOCATION("warmelt-base.melt:3843:/ locexp");
3887 /*ochecknores compilobj_nrep_return*/
3888 #if MELT_HAVE_DEBUG
3889 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
3890 melt_warn_for_no_expected_secondary_results();
3891 /* we warned when secondary results are expected but not returned. */
3892 #endif /*MELT_HAVE_DEBUG*/
3896 /*^finalreturn*/
3898 /*finalret*/
3899 goto meltlabend_rout ;
3900 /*_._IFELSE___V13*/
3901 meltfptr[7] = /*_.RETURN___V14*/ meltfptr[9];;
3902 /*epilog*/
3904 MELT_LOCATION("warmelt-base.melt:3841:/ clear");
3905 /*clear*/ /*_.RETURN___V14*/
3906 meltfptr[9] = 0 ;
3912 MELT_CHECK_SIGNAL();
3914 /*_#NULL__L5*/
3915 meltfnum[4] =
3916 (/*null*/(/*_.DIS__V4*/ meltfptr[3]) == NULL);;
3917 MELT_LOCATION("warmelt-base.melt:3844:/ cond");
3918 /*cond*/
3919 if (/*_#NULL__L5*/ meltfnum[4]) /*then*/
3921 /*^cond.then*/
3922 /*^block*/
3923 /*anyblock*/
3926 MELT_LOCATION("warmelt-base.melt:3845:/ compute");
3927 /*_.DIS__V4*/
3928 meltfptr[3] = /*_.SETQ___V16*/ meltfptr[9] = (/*!DISCR_MULTIPLE*/ meltfrout->tabval[4]);;
3929 /*_._IF___V15*/
3930 meltfptr[8] = /*_.SETQ___V16*/ meltfptr[9];;
3931 /*epilog*/
3933 MELT_LOCATION("warmelt-base.melt:3844:/ clear");
3934 /*clear*/ /*_.SETQ___V16*/
3935 meltfptr[9] = 0 ;
3939 else /*^cond.else*/
3942 /*_._IF___V15*/ meltfptr[8] = /*reallynil*/ NULL ;;
3946 MELT_CHECK_SIGNAL();
3948 /*^compute*/
3949 /*_#IS_A__L6*/
3950 meltfnum[5] =
3951 melt_is_instance_of((melt_ptr_t)(/*_.DIS__V4*/ meltfptr[3]), (melt_ptr_t)((/*!CLASS_DISCRIMINANT*/ meltfrout->tabval[5])));;
3952 MELT_LOCATION("warmelt-base.melt:3846:/ cond");
3953 /*cond*/
3954 if (/*_#IS_A__L6*/ meltfnum[5]) /*then*/
3956 /*^cond.then*/
3957 /*^block*/
3958 /*anyblock*/
3965 MELT_LOCATION("warmelt-base.melt:3847:/ locexp");
3966 /*void*/
3967 (void)0;
3970 /*clear*/ /*_._IFELSE___V17*/
3971 meltfptr[9] = 0 ;
3972 /*epilog*/
3976 else
3978 MELT_LOCATION("warmelt-base.melt:3846:/ cond.else");
3980 /*^block*/
3981 /*anyblock*/
3985 MELT_CHECK_SIGNAL();
3987 MELT_LOCATION("warmelt-base.melt:3848:/ quasiblock");
3990 /*_._RETVAL___V1*/
3991 meltfptr[0] = (/*nil*/NULL);;
3994 MELT_LOCATION("warmelt-base.melt:3848:/ locexp");
3995 /*ochecknores compilobj_nrep_return*/
3996 #if MELT_HAVE_DEBUG
3997 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
3998 melt_warn_for_no_expected_secondary_results();
3999 /* we warned when secondary results are expected but not returned. */
4000 #endif /*MELT_HAVE_DEBUG*/
4004 /*^finalreturn*/
4006 /*finalret*/
4007 goto meltlabend_rout ;
4008 /*_._IFELSE___V17*/
4009 meltfptr[9] = /*_.RETURN___V18*/ meltfptr[17];;
4010 /*epilog*/
4012 MELT_LOCATION("warmelt-base.melt:3846:/ clear");
4013 /*clear*/ /*_.RETURN___V18*/
4014 meltfptr[17] = 0 ;
4020 MELT_CHECK_SIGNAL();
4022 /*_#CHECKMAGIC_CHK__L7*/
4023 meltfnum[6] =
4024 /* multiple_sort CHECKMAGIC_CHK__1 */
4025 (((meltobject_ptr_t)(/*_.DIS__V4*/ meltfptr[3]))->meltobj_magic == MELTOBMAG_MULTIPLE) ;;
4026 MELT_LOCATION("warmelt-base.melt:3849:/ cond");
4027 /*cond*/
4028 if (/*_#CHECKMAGIC_CHK__L7*/ meltfnum[6]) /*then*/
4030 /*^cond.then*/
4031 /*^block*/
4032 /*anyblock*/
4039 MELT_LOCATION("warmelt-base.melt:3852:/ locexp");
4040 /*void*/
4041 (void)0;
4044 /*clear*/ /*_._IFELSE___V19*/
4045 meltfptr[17] = 0 ;
4046 /*epilog*/
4050 else
4052 MELT_LOCATION("warmelt-base.melt:3849:/ cond.else");
4054 /*^block*/
4055 /*anyblock*/
4059 MELT_CHECK_SIGNAL();
4061 MELT_LOCATION("warmelt-base.melt:3853:/ quasiblock");
4064 /*_._RETVAL___V1*/
4065 meltfptr[0] = (/*nil*/NULL);;
4068 MELT_LOCATION("warmelt-base.melt:3853:/ locexp");
4069 /*ochecknores compilobj_nrep_return*/
4070 #if MELT_HAVE_DEBUG
4071 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
4072 melt_warn_for_no_expected_secondary_results();
4073 /* we warned when secondary results are expected but not returned. */
4074 #endif /*MELT_HAVE_DEBUG*/
4078 /*^finalreturn*/
4080 /*finalret*/
4081 goto meltlabend_rout ;
4082 /*_._IFELSE___V19*/
4083 meltfptr[17] = /*_.RETURN___V20*/ meltfptr[19];;
4084 /*epilog*/
4086 MELT_LOCATION("warmelt-base.melt:3849:/ clear");
4087 /*clear*/ /*_.RETURN___V20*/
4088 meltfptr[19] = 0 ;
4094 #if MELT_HAVE_DEBUG
4095 MELT_LOCATION("warmelt-base.melt:3854:/ cppif.then");
4096 /*^block*/
4097 /*anyblock*/
4101 MELT_CHECK_SIGNAL();
4103 /*_#IS_MULTIPLE__L8*/
4104 meltfnum[7] =
4105 (melt_magic_discr((melt_ptr_t)(/*_.MUL__V2*/ meltfptr[1])) == MELTOBMAG_MULTIPLE);;
4106 MELT_LOCATION("warmelt-base.melt:3854:/ cond");
4107 /*cond*/
4108 if (/*_#IS_MULTIPLE__L8*/ meltfnum[7]) /*then*/
4110 /*^cond.then*/
4111 /*_._IFELSE___V22*/ meltfptr[21] = (/*nil*/NULL);;
4113 else
4115 MELT_LOCATION("warmelt-base.melt:3854:/ cond.else");
4117 /*^block*/
4118 /*anyblock*/
4122 MELT_CHECK_SIGNAL();
4124 /*^apply*/
4125 /*apply*/
4127 union meltparam_un argtab[4];
4128 memset(&argtab, 0, sizeof(argtab));
4129 /*^apply.arg*/
4130 argtab[0].meltbp_cstring = "multiple_sort check mul";
4131 /*^apply.arg*/
4132 argtab[1].meltbp_cstring = "warmelt-base.melt";
4133 /*^apply.arg*/
4134 argtab[2].meltbp_long = 3854;
4135 /*^apply.arg*/
4136 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.MUL__V2*/ meltfptr[1];
4137 /*_.MELT_ASSERT_FAILURE_FUN__V23*/
4138 meltfptr[22] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[1])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
4141 /*_._IFELSE___V22*/
4142 meltfptr[21] = /*_.MELT_ASSERT_FAILURE_FUN__V23*/ meltfptr[22];;
4143 /*epilog*/
4145 MELT_LOCATION("warmelt-base.melt:3854:/ clear");
4146 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V23*/
4147 meltfptr[22] = 0 ;
4152 /*_.IFCPP___V21*/
4153 meltfptr[19] = /*_._IFELSE___V22*/ meltfptr[21];;
4154 /*epilog*/
4156 MELT_LOCATION("warmelt-base.melt:3854:/ clear");
4157 /*clear*/ /*_#IS_MULTIPLE__L8*/
4158 meltfnum[7] = 0 ;
4159 /*^clear*/
4160 /*clear*/ /*_._IFELSE___V22*/
4161 meltfptr[21] = 0 ;
4164 #else /*MELT_HAVE_DEBUG*/
4165 /*^cppif.else*/
4166 /*_.IFCPP___V21*/ meltfptr[19] = (/*nil*/NULL);
4167 #endif /*MELT_HAVE_DEBUG*/
4169 MELT_LOCATION("warmelt-base.melt:3855:/ quasiblock");
4172 /*_#TUPLEN__L9*/
4173 meltfnum[7] =
4174 (melt_multiple_length((melt_ptr_t)(/*_.MUL__V2*/ meltfptr[1])));;
4175 MELT_LOCATION("warmelt-base.melt:3857:/ quasiblock");
4178 /*_.RES__V26*/
4179 meltfptr[25] =
4180 (meltgc_new_multiple((meltobject_ptr_t)(/*_.DIS__V4*/ meltfptr[3]), (/*_#TUPLEN__L9*/ meltfnum[7])));;
4181 /*^compute*/
4182 /*_#RESLEN__L10*/
4183 meltfnum[9] =
4184 (melt_multiple_length((melt_ptr_t)(/*_.RES__V26*/ meltfptr[25])));;
4187 MELT_LOCATION("warmelt-base.melt:3861:/ locexp");
4188 /* multiple_sort SORTRES_CHK__1 start */
4189 if (/*_#RESLEN__L10*/ meltfnum[9] >= (long)INT_MAX/2)
4190 melt_fatal_error("too big sized %ld tuple to sort", /*_#RESLEN__L10*/ meltfnum[9]) ;
4191 melt_assertmsg ("check that RESLEN == TUPLEN in multiple_sort", /*_#RESLEN__L10*/ meltfnum[9] == /*_#TUPLEN__L9*/ meltfnum[7]) ;
4192 Melt_Sort_Compare_Index meltixsorter_SORTRES_CHK__1 ((meltmultiple_st**)(&(/*_.MUL__V2*/ meltfptr[1])), &(/*_.CMP__V3*/ meltfptr[2])) ;
4193 std::vector<int> meltixvect_SORTRES_CHK__1 ;
4194 meltixvect_SORTRES_CHK__1.resize(/*_#RESLEN__L10*/ meltfnum[9]) ;
4195 for (long meltix=0;
4196 meltix</*_#RESLEN__L10*/ meltfnum[9];
4197 meltix++)
4198 meltixvect_SORTRES_CHK__1[meltix] = meltix ;
4199 /* do the sort SORTRES_CHK__1 */
4200 std::stable_sort (meltixvect_SORTRES_CHK__1.begin(),
4201 meltixvect_SORTRES_CHK__1.end(),
4202 meltixsorter_SORTRES_CHK__1) ;
4203 melt_assertmsg ("check that RES is multiple in multiple_sort", melt_magic_discr (/*_.RES__V26*/ meltfptr[25]) == MELTOBMAG_MULTIPLE) ;
4204 melt_assertmsg ("check that MUL is multiple in multiple_sort", melt_magic_discr (/*_.MUL__V2*/ meltfptr[1]) == MELTOBMAG_MULTIPLE) ;
4205 for (long meltix=0;
4206 meltix</*_#RESLEN__L10*/ meltfnum[9];
4207 meltix++)
4209 int sortix_SORTRES_CHK__1 = meltixvect_SORTRES_CHK__1[meltix] ;
4210 melt_assertmsg ("check index in multiple_sort", sortix_SORTRES_CHK__1>=0 && (long)sortix_SORTRES_CHK__1 < /*_#RESLEN__L10*/ meltfnum[9]) ;
4211 ((meltmultiple_st*)(/*_.RES__V26*/ meltfptr[25]))->tabval[meltix]
4212 = ((meltmultiple_st*)(/*_.MUL__V2*/ meltfptr[1]))->tabval[sortix_SORTRES_CHK__1] ;
4214 meltgc_touch (/*_.RES__V26*/ meltfptr[25]) ;
4215 /* multiple_sort SORTRES_CHK__1 end */
4220 #if MELT_HAVE_DEBUG
4221 MELT_LOCATION("warmelt-base.melt:3891:/ cppif.then");
4222 /*^block*/
4223 /*anyblock*/
4227 MELT_CHECK_SIGNAL();
4229 /*_#IS_MULTIPLE__L11*/
4230 meltfnum[10] =
4231 (melt_magic_discr((melt_ptr_t)(/*_.RES__V26*/ meltfptr[25])) == MELTOBMAG_MULTIPLE);;
4232 MELT_LOCATION("warmelt-base.melt:3891:/ cond");
4233 /*cond*/
4234 if (/*_#IS_MULTIPLE__L11*/ meltfnum[10]) /*then*/
4236 /*^cond.then*/
4237 /*_._IFELSE___V28*/ meltfptr[27] = (/*nil*/NULL);;
4239 else
4241 MELT_LOCATION("warmelt-base.melt:3891:/ cond.else");
4243 /*^block*/
4244 /*anyblock*/
4248 MELT_CHECK_SIGNAL();
4250 /*^apply*/
4251 /*apply*/
4253 union meltparam_un argtab[4];
4254 memset(&argtab, 0, sizeof(argtab));
4255 /*^apply.arg*/
4256 argtab[0].meltbp_cstring = "check res";
4257 /*^apply.arg*/
4258 argtab[1].meltbp_cstring = "warmelt-base.melt";
4259 /*^apply.arg*/
4260 argtab[2].meltbp_long = 3891;
4261 /*^apply.arg*/
4262 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.RES__V26*/ meltfptr[25];
4263 /*_.MELT_ASSERT_FAILURE_FUN__V29*/
4264 meltfptr[28] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[1])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
4267 /*_._IFELSE___V28*/
4268 meltfptr[27] = /*_.MELT_ASSERT_FAILURE_FUN__V29*/ meltfptr[28];;
4269 /*epilog*/
4271 MELT_LOCATION("warmelt-base.melt:3891:/ clear");
4272 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V29*/
4273 meltfptr[28] = 0 ;
4278 /*_.IFCPP___V27*/
4279 meltfptr[26] = /*_._IFELSE___V28*/ meltfptr[27];;
4280 /*epilog*/
4282 MELT_LOCATION("warmelt-base.melt:3891:/ clear");
4283 /*clear*/ /*_#IS_MULTIPLE__L11*/
4284 meltfnum[10] = 0 ;
4285 /*^clear*/
4286 /*clear*/ /*_._IFELSE___V28*/
4287 meltfptr[27] = 0 ;
4290 #else /*MELT_HAVE_DEBUG*/
4291 /*^cppif.else*/
4292 /*_.IFCPP___V27*/ meltfptr[26] = (/*nil*/NULL);
4293 #endif /*MELT_HAVE_DEBUG*/
4296 MELT_CHECK_SIGNAL();
4298 MELT_LOCATION("warmelt-base.melt:3893:/ quasiblock");
4301 /*_._RETVAL___V1*/
4302 meltfptr[0] = /*_.RES__V26*/ meltfptr[25];;
4305 MELT_LOCATION("warmelt-base.melt:3893:/ locexp");
4306 /*ochecknores compilobj_nrep_return*/
4307 #if MELT_HAVE_DEBUG
4308 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
4309 melt_warn_for_no_expected_secondary_results();
4310 /* we warned when secondary results are expected but not returned. */
4311 #endif /*MELT_HAVE_DEBUG*/
4315 /*^finalreturn*/
4317 /*finalret*/
4318 goto meltlabend_rout ;
4319 /*_.LET___V25*/
4320 meltfptr[21] = /*_.RETURN___V30*/ meltfptr[28];;
4322 MELT_LOCATION("warmelt-base.melt:3857:/ clear");
4323 /*clear*/ /*_.RES__V26*/
4324 meltfptr[25] = 0 ;
4325 /*^clear*/
4326 /*clear*/ /*_#RESLEN__L10*/
4327 meltfnum[9] = 0 ;
4328 /*^clear*/
4329 /*clear*/ /*_.IFCPP___V27*/
4330 meltfptr[26] = 0 ;
4331 /*^clear*/
4332 /*clear*/ /*_.RETURN___V30*/
4333 meltfptr[28] = 0 ;
4334 /*_.LET___V24*/
4335 meltfptr[22] = /*_.LET___V25*/ meltfptr[21];;
4337 MELT_LOCATION("warmelt-base.melt:3855:/ clear");
4338 /*clear*/ /*_#TUPLEN__L9*/
4339 meltfnum[7] = 0 ;
4340 /*^clear*/
4341 /*clear*/ /*_.LET___V25*/
4342 meltfptr[21] = 0 ;
4344 MELT_CHECK_SIGNAL();
4346 MELT_LOCATION("warmelt-base.melt:3823:/ quasiblock");
4349 /*_._RETVAL___V1*/
4350 meltfptr[0] = /*_.LET___V24*/ meltfptr[22];;
4353 MELT_LOCATION("warmelt-base.melt:3823:/ locexp");
4354 /*ochecknores compilobj_nrep_return*/
4355 #if MELT_HAVE_DEBUG
4356 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
4357 melt_warn_for_no_expected_secondary_results();
4358 /* we warned when secondary results are expected but not returned. */
4359 #endif /*MELT_HAVE_DEBUG*/
4363 /*^finalreturn*/
4365 /*finalret*/
4366 goto meltlabend_rout ;
4367 /*epilog*/
4369 /*^clear*/
4370 /*clear*/ /*_#IS_MULTIPLE__L1*/
4371 meltfnum[0] = 0 ;
4372 /*^clear*/
4373 /*clear*/ /*_._IFELSE___V5*/
4374 meltfptr[4] = 0 ;
4375 /*^clear*/
4376 /*clear*/ /*_#IS_HOOK__L2*/
4377 meltfnum[1] = 0 ;
4378 /*^clear*/
4379 /*clear*/ /*_._IFELSE___V7*/
4380 meltfptr[5] = 0 ;
4381 /*^clear*/
4382 /*clear*/ /*_#IS_CLOSURE__L4*/
4383 meltfnum[2] = 0 ;
4384 /*^clear*/
4385 /*clear*/ /*_._IFELSE___V13*/
4386 meltfptr[7] = 0 ;
4387 /*^clear*/
4388 /*clear*/ /*_#NULL__L5*/
4389 meltfnum[4] = 0 ;
4390 /*^clear*/
4391 /*clear*/ /*_._IF___V15*/
4392 meltfptr[8] = 0 ;
4393 /*^clear*/
4394 /*clear*/ /*_#IS_A__L6*/
4395 meltfnum[5] = 0 ;
4396 /*^clear*/
4397 /*clear*/ /*_._IFELSE___V17*/
4398 meltfptr[9] = 0 ;
4399 /*^clear*/
4400 /*clear*/ /*_#CHECKMAGIC_CHK__L7*/
4401 meltfnum[6] = 0 ;
4402 /*^clear*/
4403 /*clear*/ /*_._IFELSE___V19*/
4404 meltfptr[17] = 0 ;
4405 /*^clear*/
4406 /*clear*/ /*_.IFCPP___V21*/
4407 meltfptr[19] = 0 ;
4408 /*^clear*/
4409 /*clear*/ /*_.LET___V24*/
4410 meltfptr[22] = 0 ;
4414 goto meltlabend_rout;
4415 meltlabend_rout:
4416 melt_trace_end("MULTIPLE_SORT", meltcallcount);
4417 melt_blocklevel_signals = current_blocklevel_signals_meltrout_37_WARMELTmiBASE_MULTIPLE_SORT_melt;
4418 return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]);
4419 #undef meltcallcount
4420 #undef meltfram__
4421 #undef MELTFRAM_NBVARNUM
4422 #undef MELTFRAM_NBVARPTR
4423 } /*end meltrout_37_WARMELTmiBASE_MULTIPLE_SORT*/
4430 melt_ptr_t MELT_MODULE_VISIBILITY
4431 meltrout_38_WARMELTmiBASE_MAPOBJECT_SORTED_ATTRIBUTE_TUPLE(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
4432 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
4434 long current_blocklevel_signals_meltrout_38_WARMELTmiBASE_MAPOBJECT_SORTED_ATTRIBUTE_TUPLE_melt = melt_blocklevel_signals;
4436 #if MELT_HAVE_DEBUG
4437 static long melt_call_counter__;
4438 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
4439 #undef meltcallcount
4440 #define meltcallcount melt_thiscallcounter__
4441 #else
4442 #undef meltcallcount
4443 #define meltcallcount 0L
4444 #endif
4445 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
4447 /* start of frame for routine meltrout_38_WARMELTmiBASE_MAPOBJECT_SORTED_ATTRIBUTE_TUPLE fromline 1752 */
4449 /** start of frame for meltrout_38_WARMELTmiBASE_MAPOBJECT_SORTED_ATTRIBUTE_TUPLE of CLASS_PROCROUTINEOBJ from 1555**/
4451 /*curframdeclclassy*/ class MeltFrame_meltrout_38_WARMELTmiBASE_MAPOBJECT_SORTED_ATTRIBUTE_TUPLE// fromline 1568
4452 : public Melt_CallFrameWithValues<18>
4454 public: /* fromline 1572*/
4455 long mcfr_varnum[1];
4456 /*classy others*/
4457 long _meltsparel;
4458 void melt_mark_stuff (void)
4460 } /*end melt_mark_stuff*/
4461 virtual void melt_mark_ggc_data (void)
4463 melt_mark_values ();
4464 melt_mark_stuff ();
4465 }; /*end melt_mark_ggc_data*/
4466 MeltFrame_meltrout_38_WARMELTmiBASE_MAPOBJECT_SORTED_ATTRIBUTE_TUPLE(meltclosure_ptr_t clos) //the closure constructor fromline 1630
4467 : Melt_CallFrameWithValues<18> (
4468 #if ENABLE_CHECKING /*fromline 1634*/
4469 __FILE__, __LINE__,
4470 #endif /* ENABLE_CHECKING fromline 1638*/
4471 sizeof(MeltFrame_meltrout_38_WARMELTmiBASE_MAPOBJECT_SORTED_ATTRIBUTE_TUPLE), clos) {};
4472 MeltFrame_meltrout_38_WARMELTmiBASE_MAPOBJECT_SORTED_ATTRIBUTE_TUPLE() //the constructor fromline 1642
4473 : Melt_CallFrameWithValues<18> (
4474 #if ENABLE_CHECKING /*fromline 1646*/
4475 __FILE__, __LINE__,
4476 #endif /* ENABLE_CHECKING fromline 1650*/
4477 sizeof(MeltFrame_meltrout_38_WARMELTmiBASE_MAPOBJECT_SORTED_ATTRIBUTE_TUPLE)) {};
4478 #if ENABLE_CHECKING /*fromline 1654*/
4479 MeltFrame_meltrout_38_WARMELTmiBASE_MAPOBJECT_SORTED_ATTRIBUTE_TUPLE(const char*fil, int lin) //the constructor fromline 1656
4480 : Melt_CallFrameWithValues<18> (fil,lin, sizeof(MeltFrame_meltrout_38_WARMELTmiBASE_MAPOBJECT_SORTED_ATTRIBUTE_TUPLE)) {};
4481 MeltFrame_meltrout_38_WARMELTmiBASE_MAPOBJECT_SORTED_ATTRIBUTE_TUPLE(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
4482 : Melt_CallFrameWithValues<18> (fil,lin, sizeof(MeltFrame_meltrout_38_WARMELTmiBASE_MAPOBJECT_SORTED_ATTRIBUTE_TUPLE), clos) {};
4483 #endif /* ENABLE_CHECKING fromline 1666*/
4485 }; // end class MeltFrame_meltrout_38_WARMELTmiBASE_MAPOBJECT_SORTED_ATTRIBUTE_TUPLE
4488 /** end of frame for meltrout_38_WARMELTmiBASE_MAPOBJECT_SORTED_ATTRIBUTE_TUPLE fromline 1697**/
4490 /* end of frame for routine meltrout_38_WARMELTmiBASE_MAPOBJECT_SORTED_ATTRIBUTE_TUPLE fromline 1756 */
4492 /* classy proc frame meltrout_38_WARMELTmiBASE_MAPOBJECT_SORTED_ATTRIBUTE_TUPLE */
4493 MeltFrame_meltrout_38_WARMELTmiBASE_MAPOBJECT_SORTED_ATTRIBUTE_TUPLE
4494 meltfram__ /*declfrastruct fromline 1780*/
4495 /*classyprocarg meltrout_38_WARMELTmiBASE_MAPOBJECT_SORTED_ATTRIBUTE_TUPLE fromline 1785*/
4496 #if ENABLE_CHECKING
4497 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
4498 #else /*ENABLE_CHECKING */
4499 (meltclosp_) /* fromline 1793*/
4500 #endif /*ENABLE_CHECKING */
4503 #define meltframe meltfram__
4505 melt_trace_start("MAPOBJECT_SORTED_ATTRIBUTE_TUPLE", meltcallcount);
4506 /*use arguments*/
4507 (void) meltclosp_;
4508 (void)meltfirstargp_;
4509 (void)meltxargdescr_;
4510 (void)meltxargtab_;
4511 (void)meltxresdescr_;
4512 (void)meltxrestab_;
4513 /*getargs*/
4515 /*getarg#0*/
4516 MELT_LOCATION("warmelt-base.melt:3898:/ getarg");
4517 /*_.MAPO__V2*/
4518 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
4520 goto meltlab_endgetargs;
4521 meltlab_endgetargs:
4523 /*body*/
4524 /*^block*/
4525 /*anyblock*/
4528 MELT_LOCATION("warmelt-base.melt:3901:/ quasiblock");
4531 /*_#MAPCOUNT__L1*/
4532 meltfnum[0] =
4533 (melt_count_mapobjects((meltmapobjects_ptr_t)(/*_.MAPO__V2*/ meltfptr[1])));;
4534 /*^compute*/
4535 /*_.COUNTBOX__V4*/
4536 meltfptr[3] =
4537 (meltgc_new_int((meltobject_ptr_t)((/*!DISCR_INTEGER*/ meltfrout->tabval[0])), (0)));;
4538 /*^compute*/
4539 /*_.BOXEDONE__V5*/
4540 meltfptr[4] =
4541 (meltgc_new_int((meltobject_ptr_t)((/*!DISCR_INTEGER*/ meltfrout->tabval[0])), (1)));;
4542 /*^compute*/
4543 /*_.BOXEDZERO__V6*/
4544 meltfptr[5] =
4545 (meltgc_new_int((meltobject_ptr_t)((/*!DISCR_INTEGER*/ meltfrout->tabval[0])), (0)));;
4546 /*^compute*/
4547 /*_.BOXEDMINUSONE__V7*/
4548 meltfptr[6] =
4549 (meltgc_new_int((meltobject_ptr_t)((/*!DISCR_INTEGER*/ meltfrout->tabval[0])), (-1)));;
4550 /*^compute*/
4551 /*_.TUPL__V8*/
4552 meltfptr[7] =
4553 (meltgc_new_multiple((meltobject_ptr_t)((/*!DISCR_MULTIPLE*/ meltfrout->tabval[1])), (/*_#MAPCOUNT__L1*/ meltfnum[0])));;
4554 MELT_LOCATION("warmelt-base.melt:3912:/ quasiblock");
4557 /*^newclosure*/
4558 /*newclosure*/ /*_.LAMBDA___V10*/
4559 meltfptr[9] =
4560 (melt_ptr_t) meltgc_new_closure((meltobject_ptr_t)(((melt_ptr_t)(MELT_PREDEF(DISCR_CLOSURE)))), (meltroutine_ptr_t)((/*!konst_4*/ meltfrout->tabval[4])), (2));
4562 /*^putclosedv*/
4563 /*putclosv*/
4564 melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V10*/ meltfptr[9])) == MELTOBMAG_CLOSURE);
4565 melt_assertmsg("putclosv checkoff", 0>= 0 && 0< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V10*/ meltfptr[9])));
4566 ((meltclosure_ptr_t)/*_.LAMBDA___V10*/ meltfptr[9])->tabval[0] = (melt_ptr_t)(/*_.COUNTBOX__V4*/ meltfptr[3]);
4568 /*^putclosedv*/
4569 /*putclosv*/
4570 melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V10*/ meltfptr[9])) == MELTOBMAG_CLOSURE);
4571 melt_assertmsg("putclosv checkoff", 1>= 0 && 1< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V10*/ meltfptr[9])));
4572 ((meltclosure_ptr_t)/*_.LAMBDA___V10*/ meltfptr[9])->tabval[1] = (melt_ptr_t)(/*_.TUPL__V8*/ meltfptr[7]);
4574 /*_.LAMBDA___V9*/
4575 meltfptr[8] = /*_.LAMBDA___V10*/ meltfptr[9];;
4577 MELT_CHECK_SIGNAL();
4579 MELT_LOCATION("warmelt-base.melt:3910:/ apply");
4580 /*apply*/
4582 union meltparam_un argtab[1];
4583 memset(&argtab, 0, sizeof(argtab));
4584 /*^apply.arg*/
4585 argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.LAMBDA___V9*/ meltfptr[8];
4586 /*_.MAPOBJECT_EVERY__V11*/
4587 meltfptr[10] = melt_apply ((meltclosure_ptr_t)((/*!MAPOBJECT_EVERY*/ meltfrout->tabval[2])), (melt_ptr_t)(/*_.MAPO__V2*/ meltfptr[1]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
4590 MELT_LOCATION("warmelt-base.melt:3921:/ quasiblock");
4593 MELT_LOCATION("warmelt-base.melt:3924:/ quasiblock");
4596 /*^newclosure*/
4597 /*newclosure*/ /*_.LAMBDA___V14*/
4598 meltfptr[13] =
4599 (melt_ptr_t) meltgc_new_closure((meltobject_ptr_t)(((melt_ptr_t)(MELT_PREDEF(DISCR_CLOSURE)))), (meltroutine_ptr_t)((/*!konst_7*/ meltfrout->tabval[7])), (3));
4601 /*^putclosedv*/
4602 /*putclosv*/
4603 melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V14*/ meltfptr[13])) == MELTOBMAG_CLOSURE);
4604 melt_assertmsg("putclosv checkoff", 0>= 0 && 0< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V14*/ meltfptr[13])));
4605 ((meltclosure_ptr_t)/*_.LAMBDA___V14*/ meltfptr[13])->tabval[0] = (melt_ptr_t)(/*_.BOXEDMINUSONE__V7*/ meltfptr[6]);
4607 /*^putclosedv*/
4608 /*putclosv*/
4609 melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V14*/ meltfptr[13])) == MELTOBMAG_CLOSURE);
4610 melt_assertmsg("putclosv checkoff", 1>= 0 && 1< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V14*/ meltfptr[13])));
4611 ((meltclosure_ptr_t)/*_.LAMBDA___V14*/ meltfptr[13])->tabval[1] = (melt_ptr_t)(/*_.BOXEDZERO__V6*/ meltfptr[5]);
4613 /*^putclosedv*/
4614 /*putclosv*/
4615 melt_assertmsg("putclosv checkclo", melt_magic_discr((melt_ptr_t)(/*_.LAMBDA___V14*/ meltfptr[13])) == MELTOBMAG_CLOSURE);
4616 melt_assertmsg("putclosv checkoff", 2>= 0 && 2< melt_closure_size((melt_ptr_t) (/*_.LAMBDA___V14*/ meltfptr[13])));
4617 ((meltclosure_ptr_t)/*_.LAMBDA___V14*/ meltfptr[13])->tabval[2] = (melt_ptr_t)(/*_.BOXEDONE__V5*/ meltfptr[4]);
4619 /*_.LAMBDA___V13*/
4620 meltfptr[12] = /*_.LAMBDA___V14*/ meltfptr[13];;
4622 MELT_CHECK_SIGNAL();
4624 MELT_LOCATION("warmelt-base.melt:3922:/ apply");
4625 /*apply*/
4627 union meltparam_un argtab[2];
4628 memset(&argtab, 0, sizeof(argtab));
4629 /*^apply.arg*/
4630 argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.LAMBDA___V13*/ meltfptr[12];
4631 /*^apply.arg*/
4632 argtab[1].meltbp_aptr = (melt_ptr_t*) &(/*!DISCR_MULTIPLE*/ meltfrout->tabval[1]);
4633 /*_.SORTUPL__V15*/
4634 meltfptr[14] = melt_apply ((meltclosure_ptr_t)((/*!MULTIPLE_SORT*/ meltfrout->tabval[5])), (melt_ptr_t)(/*_.TUPL__V8*/ meltfptr[7]), (MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
4637 MELT_LOCATION("warmelt-base.melt:3938:/ quasiblock");
4640 /*^newclosure*/
4641 /*newclosure*/ /*_.LAMBDA___V17*/
4642 meltfptr[16] =
4643 (melt_ptr_t) meltgc_new_closure((meltobject_ptr_t)(((melt_ptr_t)(MELT_PREDEF(DISCR_CLOSURE)))), (meltroutine_ptr_t)((/*!konst_9*/ meltfrout->tabval[9])), (0));
4645 /*_.LAMBDA___V16*/
4646 meltfptr[15] = /*_.LAMBDA___V17*/ meltfptr[16];;
4648 MELT_CHECK_SIGNAL();
4650 MELT_LOCATION("warmelt-base.melt:3938:/ apply");
4651 /*apply*/
4653 union meltparam_un argtab[1];
4654 memset(&argtab, 0, sizeof(argtab));
4655 /*^apply.arg*/
4656 argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.LAMBDA___V16*/ meltfptr[15];
4657 /*_.MULTIPLE_MAP__V18*/
4658 meltfptr[17] = melt_apply ((meltclosure_ptr_t)((/*!MULTIPLE_MAP*/ meltfrout->tabval[8])), (melt_ptr_t)(/*_.SORTUPL__V15*/ meltfptr[14]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
4661 /*_.LET___V12*/
4662 meltfptr[11] = /*_.MULTIPLE_MAP__V18*/ meltfptr[17];;
4664 MELT_LOCATION("warmelt-base.melt:3921:/ clear");
4665 /*clear*/ /*_.LAMBDA___V13*/
4666 meltfptr[12] = 0 ;
4667 /*^clear*/
4668 /*clear*/ /*_.SORTUPL__V15*/
4669 meltfptr[14] = 0 ;
4670 /*^clear*/
4671 /*clear*/ /*_.LAMBDA___V16*/
4672 meltfptr[15] = 0 ;
4673 /*^clear*/
4674 /*clear*/ /*_.MULTIPLE_MAP__V18*/
4675 meltfptr[17] = 0 ;
4676 /*_.LET___V3*/
4677 meltfptr[2] = /*_.LET___V12*/ meltfptr[11];;
4679 MELT_LOCATION("warmelt-base.melt:3901:/ clear");
4680 /*clear*/ /*_#MAPCOUNT__L1*/
4681 meltfnum[0] = 0 ;
4682 /*^clear*/
4683 /*clear*/ /*_.COUNTBOX__V4*/
4684 meltfptr[3] = 0 ;
4685 /*^clear*/
4686 /*clear*/ /*_.BOXEDONE__V5*/
4687 meltfptr[4] = 0 ;
4688 /*^clear*/
4689 /*clear*/ /*_.BOXEDZERO__V6*/
4690 meltfptr[5] = 0 ;
4691 /*^clear*/
4692 /*clear*/ /*_.BOXEDMINUSONE__V7*/
4693 meltfptr[6] = 0 ;
4694 /*^clear*/
4695 /*clear*/ /*_.TUPL__V8*/
4696 meltfptr[7] = 0 ;
4697 /*^clear*/
4698 /*clear*/ /*_.LAMBDA___V9*/
4699 meltfptr[8] = 0 ;
4700 /*^clear*/
4701 /*clear*/ /*_.MAPOBJECT_EVERY__V11*/
4702 meltfptr[10] = 0 ;
4703 /*^clear*/
4704 /*clear*/ /*_.LET___V12*/
4705 meltfptr[11] = 0 ;
4706 MELT_LOCATION("warmelt-base.melt:3898:/ quasiblock");
4709 /*_._RETVAL___V1*/
4710 meltfptr[0] = /*_.LET___V3*/ meltfptr[2];;
4713 MELT_LOCATION("warmelt-base.melt:3898:/ locexp");
4714 /*ochecknores compilobj_nrep_return*/
4715 #if MELT_HAVE_DEBUG
4716 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
4717 melt_warn_for_no_expected_secondary_results();
4718 /* we warned when secondary results are expected but not returned. */
4719 #endif /*MELT_HAVE_DEBUG*/
4723 /*^finalreturn*/
4725 /*finalret*/
4726 goto meltlabend_rout ;
4727 /*epilog*/
4729 /*^clear*/
4730 /*clear*/ /*_.LET___V3*/
4731 meltfptr[2] = 0 ;
4735 goto meltlabend_rout;
4736 meltlabend_rout:
4737 melt_trace_end("MAPOBJECT_SORTED_ATTRIBUTE_TUPLE", meltcallcount);
4738 melt_blocklevel_signals = current_blocklevel_signals_meltrout_38_WARMELTmiBASE_MAPOBJECT_SORTED_ATTRIBUTE_TUPLE_melt;
4739 return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]);
4740 #undef meltcallcount
4741 #undef meltfram__
4742 #undef MELTFRAM_NBVARNUM
4743 #undef MELTFRAM_NBVARPTR
4744 } /*end meltrout_38_WARMELTmiBASE_MAPOBJECT_SORTED_ATTRIBUTE_TUPLE*/
4751 melt_ptr_t MELT_MODULE_VISIBILITY
4752 meltrout_39_WARMELTmiBASE_LAMBDA_cl1(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
4753 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
4755 long current_blocklevel_signals_meltrout_39_WARMELTmiBASE_LAMBDA_cl1_melt = melt_blocklevel_signals;
4757 #if MELT_HAVE_DEBUG
4758 static long melt_call_counter__;
4759 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
4760 #undef meltcallcount
4761 #define meltcallcount melt_thiscallcounter__
4762 #else
4763 #undef meltcallcount
4764 #define meltcallcount 0L
4765 #endif
4766 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
4768 /* start of frame for routine meltrout_39_WARMELTmiBASE_LAMBDA_cl1 fromline 1752 */
4770 /** start of frame for meltrout_39_WARMELTmiBASE_LAMBDA_cl1 of CLASS_PROCROUTINEOBJ from 1555**/
4772 /*curframdeclclassy*/ class MeltFrame_meltrout_39_WARMELTmiBASE_LAMBDA_cl1// fromline 1568
4773 : public Melt_CallFrameWithValues<6>
4775 public: /* fromline 1572*/
4776 long mcfr_varnum[2];
4777 /*classy others*/
4778 long _meltsparel;
4779 void melt_mark_stuff (void)
4781 } /*end melt_mark_stuff*/
4782 virtual void melt_mark_ggc_data (void)
4784 melt_mark_values ();
4785 melt_mark_stuff ();
4786 }; /*end melt_mark_ggc_data*/
4787 MeltFrame_meltrout_39_WARMELTmiBASE_LAMBDA_cl1(meltclosure_ptr_t clos) //the closure constructor fromline 1630
4788 : Melt_CallFrameWithValues<6> (
4789 #if ENABLE_CHECKING /*fromline 1634*/
4790 __FILE__, __LINE__,
4791 #endif /* ENABLE_CHECKING fromline 1638*/
4792 sizeof(MeltFrame_meltrout_39_WARMELTmiBASE_LAMBDA_cl1), clos) {};
4793 MeltFrame_meltrout_39_WARMELTmiBASE_LAMBDA_cl1() //the constructor fromline 1642
4794 : Melt_CallFrameWithValues<6> (
4795 #if ENABLE_CHECKING /*fromline 1646*/
4796 __FILE__, __LINE__,
4797 #endif /* ENABLE_CHECKING fromline 1650*/
4798 sizeof(MeltFrame_meltrout_39_WARMELTmiBASE_LAMBDA_cl1)) {};
4799 #if ENABLE_CHECKING /*fromline 1654*/
4800 MeltFrame_meltrout_39_WARMELTmiBASE_LAMBDA_cl1(const char*fil, int lin) //the constructor fromline 1656
4801 : Melt_CallFrameWithValues<6> (fil,lin, sizeof(MeltFrame_meltrout_39_WARMELTmiBASE_LAMBDA_cl1)) {};
4802 MeltFrame_meltrout_39_WARMELTmiBASE_LAMBDA_cl1(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
4803 : Melt_CallFrameWithValues<6> (fil,lin, sizeof(MeltFrame_meltrout_39_WARMELTmiBASE_LAMBDA_cl1), clos) {};
4804 #endif /* ENABLE_CHECKING fromline 1666*/
4806 }; // end class MeltFrame_meltrout_39_WARMELTmiBASE_LAMBDA_cl1
4809 /** end of frame for meltrout_39_WARMELTmiBASE_LAMBDA_cl1 fromline 1697**/
4811 /* end of frame for routine meltrout_39_WARMELTmiBASE_LAMBDA_cl1 fromline 1756 */
4813 /* classy proc frame meltrout_39_WARMELTmiBASE_LAMBDA_cl1 */
4814 MeltFrame_meltrout_39_WARMELTmiBASE_LAMBDA_cl1
4815 meltfram__ /*declfrastruct fromline 1780*/
4816 /*classyprocarg meltrout_39_WARMELTmiBASE_LAMBDA_cl1 fromline 1785*/
4817 #if ENABLE_CHECKING
4818 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
4819 #else /*ENABLE_CHECKING */
4820 (meltclosp_) /* fromline 1793*/
4821 #endif /*ENABLE_CHECKING */
4824 #define meltframe meltfram__
4826 melt_trace_start("LAMBDA_cl1", meltcallcount);
4827 /*use arguments*/
4828 (void) meltclosp_;
4829 (void)meltfirstargp_;
4830 (void)meltxargdescr_;
4831 (void)meltxargtab_;
4832 (void)meltxresdescr_;
4833 (void)meltxrestab_;
4834 /*getargs*/
4836 /*getarg#0*/
4837 MELT_LOCATION("warmelt-base.melt:3912:/ getarg");
4838 /*_.AT__V2*/
4839 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
4841 /*getarg#1*/
4842 /*^getarg*/
4843 if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs;
4844 /*_.VA__V3*/
4845 meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL;
4846 gcc_assert(melt_discr((melt_ptr_t)(/*_.VA__V3*/ meltfptr[2])) != NULL);
4849 goto meltlab_endgetargs;
4850 meltlab_endgetargs:
4852 /*body*/
4853 /*^block*/
4854 /*anyblock*/
4857 MELT_LOCATION("warmelt-base.melt:3913:/ quasiblock");
4860 /*_#CURCOUNT__L1*/
4861 meltfnum[0] =
4862 (melt_get_int((melt_ptr_t)((/*~COUNTBOX*/ meltfclos->tabval[0]))));;
4863 /*^compute*/
4864 /*_.MAKE_INTEGERBOX__V4*/
4865 meltfptr[3] =
4866 (meltgc_new_int((meltobject_ptr_t)((/*!DISCR_INTEGER*/ meltfrout->tabval[0])), (/*_#CURCOUNT__L1*/ meltfnum[0])));;
4867 MELT_LOCATION("warmelt-base.melt:3914:/ blockmultialloc");
4868 /*multiallocblock*/
4870 struct meltletrec_1_st
4872 struct MELT_MULTIPLE_STRUCT(3) rtup_0__TUPLREC__x1;
4873 long meltletrec_1_endgap;
4874 } *meltletrec_1_ptr = 0;
4875 meltletrec_1_ptr = (struct meltletrec_1_st *) meltgc_allocate (sizeof (struct meltletrec_1_st), 0);
4876 /*^blockmultialloc.initfill*/
4877 /*inimult rtup_0__TUPLREC__x1*/
4878 /*_.TUPLREC___V6*/
4879 meltfptr[5] = (melt_ptr_t) &meltletrec_1_ptr->rtup_0__TUPLREC__x1;
4880 meltletrec_1_ptr->rtup_0__TUPLREC__x1.discr = (meltobject_ptr_t)(((melt_ptr_t)(MELT_PREDEF(DISCR_MULTIPLE))));
4881 meltletrec_1_ptr->rtup_0__TUPLREC__x1.nbval = 3;
4884 /*^putuple*/
4885 /*putupl#1*/
4886 melt_assertmsg("putupl [:3914] #1 checktup", melt_magic_discr((melt_ptr_t)(/*_.TUPLREC___V6*/ meltfptr[5]))== MELTOBMAG_MULTIPLE);
4887 melt_assertmsg("putupl [:3914] #1 checkoff", (0>=0 && 0< melt_multiple_length((melt_ptr_t)(/*_.TUPLREC___V6*/ meltfptr[5]))));
4888 ((meltmultiple_ptr_t)(/*_.TUPLREC___V6*/ meltfptr[5]))->tabval[0] = (melt_ptr_t)(/*_.AT__V2*/ meltfptr[1]);
4890 /*^putuple*/
4891 /*putupl#2*/
4892 melt_assertmsg("putupl [:3914] #2 checktup", melt_magic_discr((melt_ptr_t)(/*_.TUPLREC___V6*/ meltfptr[5]))== MELTOBMAG_MULTIPLE);
4893 melt_assertmsg("putupl [:3914] #2 checkoff", (1>=0 && 1< melt_multiple_length((melt_ptr_t)(/*_.TUPLREC___V6*/ meltfptr[5]))));
4894 ((meltmultiple_ptr_t)(/*_.TUPLREC___V6*/ meltfptr[5]))->tabval[1] = (melt_ptr_t)(/*_.VA__V3*/ meltfptr[2]);
4896 /*^putuple*/
4897 /*putupl#3*/
4898 melt_assertmsg("putupl [:3914] #3 checktup", melt_magic_discr((melt_ptr_t)(/*_.TUPLREC___V6*/ meltfptr[5]))== MELTOBMAG_MULTIPLE);
4899 melt_assertmsg("putupl [:3914] #3 checkoff", (2>=0 && 2< melt_multiple_length((melt_ptr_t)(/*_.TUPLREC___V6*/ meltfptr[5]))));
4900 ((meltmultiple_ptr_t)(/*_.TUPLREC___V6*/ meltfptr[5]))->tabval[2] = (melt_ptr_t)(/*_.MAKE_INTEGERBOX__V4*/ meltfptr[3]);
4902 /*^touch*/
4903 meltgc_touch(/*_.TUPLREC___V6*/ meltfptr[5]);
4905 /*_.ENT__V5*/
4906 meltfptr[4] = /*_.TUPLREC___V6*/ meltfptr[5];;
4907 /*epilog*/
4909 MELT_LOCATION("warmelt-base.melt:3914:/ clear");
4910 /*clear*/ /*_.TUPLREC___V6*/
4911 meltfptr[5] = 0 ;
4912 /*^clear*/
4913 /*clear*/ /*_.TUPLREC___V6*/
4914 meltfptr[5] = 0 ;
4915 } /*end multiallocblock*/
4919 MELT_LOCATION("warmelt-base.melt:3917:/ locexp");
4920 meltgc_multiple_put_nth((melt_ptr_t)((/*~TUPL*/ meltfclos->tabval[1])), (/*_#CURCOUNT__L1*/ meltfnum[0]), (melt_ptr_t)(/*_.ENT__V5*/ meltfptr[4]));
4923 /*_#plI__L2*/
4924 meltfnum[1] =
4925 ((/*_#CURCOUNT__L1*/ meltfnum[0]) + (1));;
4928 MELT_LOCATION("warmelt-base.melt:3918:/ locexp");
4929 melt_put_int((melt_ptr_t)((/*~COUNTBOX*/ meltfclos->tabval[0])), (/*_#plI__L2*/ meltfnum[1]));
4933 MELT_LOCATION("warmelt-base.melt:3913:/ clear");
4934 /*clear*/ /*_#CURCOUNT__L1*/
4935 meltfnum[0] = 0 ;
4936 /*^clear*/
4937 /*clear*/ /*_.MAKE_INTEGERBOX__V4*/
4938 meltfptr[3] = 0 ;
4939 /*^clear*/
4940 /*clear*/ /*_.ENT__V5*/
4941 meltfptr[4] = 0 ;
4942 /*^clear*/
4943 /*clear*/ /*_#plI__L2*/
4944 meltfnum[1] = 0 ;
4945 /*epilog*/
4949 goto meltlabend_rout;
4950 meltlabend_rout:
4951 melt_trace_end("LAMBDA_cl1", meltcallcount);
4952 melt_blocklevel_signals = current_blocklevel_signals_meltrout_39_WARMELTmiBASE_LAMBDA_cl1_melt;
4953 return (melt_ptr_t)(/*noretval*/ NULL);
4954 #undef meltcallcount
4955 #undef meltfram__
4956 #undef MELTFRAM_NBVARNUM
4957 #undef MELTFRAM_NBVARPTR
4958 } /*end meltrout_39_WARMELTmiBASE_LAMBDA_cl1*/
4965 melt_ptr_t MELT_MODULE_VISIBILITY
4966 meltrout_40_WARMELTmiBASE_LAMBDA_cl2(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
4967 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
4969 long current_blocklevel_signals_meltrout_40_WARMELTmiBASE_LAMBDA_cl2_melt = melt_blocklevel_signals;
4971 #if MELT_HAVE_DEBUG
4972 static long melt_call_counter__;
4973 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
4974 #undef meltcallcount
4975 #define meltcallcount melt_thiscallcounter__
4976 #else
4977 #undef meltcallcount
4978 #define meltcallcount 0L
4979 #endif
4980 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
4982 /* start of frame for routine meltrout_40_WARMELTmiBASE_LAMBDA_cl2 fromline 1752 */
4984 /** start of frame for meltrout_40_WARMELTmiBASE_LAMBDA_cl2 of CLASS_PROCROUTINEOBJ from 1555**/
4986 /*curframdeclclassy*/ class MeltFrame_meltrout_40_WARMELTmiBASE_LAMBDA_cl2// fromline 1568
4987 : public Melt_CallFrameWithValues<12>
4989 public: /* fromline 1572*/
4990 // no classy longs
4991 /*classy others*/
4992 long _meltsparel;
4993 void melt_mark_stuff (void)
4995 } /*end melt_mark_stuff*/
4996 virtual void melt_mark_ggc_data (void)
4998 melt_mark_values ();
4999 melt_mark_stuff ();
5000 }; /*end melt_mark_ggc_data*/
5001 MeltFrame_meltrout_40_WARMELTmiBASE_LAMBDA_cl2(meltclosure_ptr_t clos) //the closure constructor fromline 1630
5002 : Melt_CallFrameWithValues<12> (
5003 #if ENABLE_CHECKING /*fromline 1634*/
5004 __FILE__, __LINE__,
5005 #endif /* ENABLE_CHECKING fromline 1638*/
5006 sizeof(MeltFrame_meltrout_40_WARMELTmiBASE_LAMBDA_cl2), clos) {};
5007 MeltFrame_meltrout_40_WARMELTmiBASE_LAMBDA_cl2() //the constructor fromline 1642
5008 : Melt_CallFrameWithValues<12> (
5009 #if ENABLE_CHECKING /*fromline 1646*/
5010 __FILE__, __LINE__,
5011 #endif /* ENABLE_CHECKING fromline 1650*/
5012 sizeof(MeltFrame_meltrout_40_WARMELTmiBASE_LAMBDA_cl2)) {};
5013 #if ENABLE_CHECKING /*fromline 1654*/
5014 MeltFrame_meltrout_40_WARMELTmiBASE_LAMBDA_cl2(const char*fil, int lin) //the constructor fromline 1656
5015 : Melt_CallFrameWithValues<12> (fil,lin, sizeof(MeltFrame_meltrout_40_WARMELTmiBASE_LAMBDA_cl2)) {};
5016 MeltFrame_meltrout_40_WARMELTmiBASE_LAMBDA_cl2(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
5017 : Melt_CallFrameWithValues<12> (fil,lin, sizeof(MeltFrame_meltrout_40_WARMELTmiBASE_LAMBDA_cl2), clos) {};
5018 #endif /* ENABLE_CHECKING fromline 1666*/
5020 }; // end class MeltFrame_meltrout_40_WARMELTmiBASE_LAMBDA_cl2
5023 /** end of frame for meltrout_40_WARMELTmiBASE_LAMBDA_cl2 fromline 1697**/
5025 /* end of frame for routine meltrout_40_WARMELTmiBASE_LAMBDA_cl2 fromline 1756 */
5027 /* classy proc frame meltrout_40_WARMELTmiBASE_LAMBDA_cl2 */
5028 MeltFrame_meltrout_40_WARMELTmiBASE_LAMBDA_cl2
5029 meltfram__ /*declfrastruct fromline 1780*/
5030 /*classyprocarg meltrout_40_WARMELTmiBASE_LAMBDA_cl2 fromline 1785*/
5031 #if ENABLE_CHECKING
5032 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
5033 #else /*ENABLE_CHECKING */
5034 (meltclosp_) /* fromline 1793*/
5035 #endif /*ENABLE_CHECKING */
5038 #define meltframe meltfram__
5040 melt_trace_start("LAMBDA_cl2", meltcallcount);
5041 /*use arguments*/
5042 (void) meltclosp_;
5043 (void)meltfirstargp_;
5044 (void)meltxargdescr_;
5045 (void)meltxargtab_;
5046 (void)meltxresdescr_;
5047 (void)meltxrestab_;
5048 /*getargs*/
5050 /*getarg#0*/
5051 MELT_LOCATION("warmelt-base.melt:3924:/ getarg");
5052 /*_.E1__V2*/
5053 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
5055 /*getarg#1*/
5056 /*^getarg*/
5057 if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs;
5058 /*_.E2__V3*/
5059 meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL;
5060 gcc_assert(melt_discr((melt_ptr_t)(/*_.E2__V3*/ meltfptr[2])) != NULL);
5063 goto meltlab_endgetargs;
5064 meltlab_endgetargs:
5066 /*body*/
5067 /*^block*/
5068 /*anyblock*/
5071 MELT_LOCATION("warmelt-base.melt:3925:/ quasiblock");
5074 /*_.E1AT__V5*/
5075 meltfptr[4] =
5076 (melt_multiple_nth((melt_ptr_t)(/*_.E1__V2*/ meltfptr[1]), (0)));;
5077 /*^compute*/
5078 /*_.E1VA__V6*/
5079 meltfptr[5] =
5080 (melt_multiple_nth((melt_ptr_t)(/*_.E1__V2*/ meltfptr[1]), (1)));;
5081 /*^compute*/
5082 /*_.E1RK__V7*/
5083 meltfptr[6] =
5084 (melt_multiple_nth((melt_ptr_t)(/*_.E1__V2*/ meltfptr[1]), (2)));;
5085 /*^compute*/
5086 /*_.E2AT__V8*/
5087 meltfptr[7] =
5088 (melt_multiple_nth((melt_ptr_t)(/*_.E2__V3*/ meltfptr[2]), (0)));;
5089 /*^compute*/
5090 /*_.E2VA__V9*/
5091 meltfptr[8] =
5092 (melt_multiple_nth((melt_ptr_t)(/*_.E2__V3*/ meltfptr[2]), (1)));;
5093 /*^compute*/
5094 /*_.E2RK__V10*/
5095 meltfptr[9] =
5096 (melt_multiple_nth((melt_ptr_t)(/*_.E2__V3*/ meltfptr[2]), (2)));;
5098 MELT_CHECK_SIGNAL();
5100 MELT_LOCATION("warmelt-base.melt:3933:/ apply");
5101 /*apply*/
5103 union meltparam_un argtab[6];
5104 memset(&argtab, 0, sizeof(argtab));
5105 /*^apply.arg*/
5106 argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.E1RK__V7*/ meltfptr[6];
5107 /*^apply.arg*/
5108 argtab[1].meltbp_aptr = (melt_ptr_t*) &/*_.E2AT__V8*/ meltfptr[7];
5109 /*^apply.arg*/
5110 argtab[2].meltbp_aptr = (melt_ptr_t*) &/*_.E2RK__V10*/ meltfptr[9];
5111 /*^apply.arg*/
5112 argtab[3].meltbp_aptr = (melt_ptr_t*) &(/*~BOXEDMINUSONE*/ meltfclos->tabval[0]);
5113 /*^apply.arg*/
5114 argtab[4].meltbp_aptr = (melt_ptr_t*) &(/*~BOXEDZERO*/ meltfclos->tabval[1]);
5115 /*^apply.arg*/
5116 argtab[5].meltbp_aptr = (melt_ptr_t*) &(/*~BOXEDONE*/ meltfclos->tabval[2]);
5117 /*_.COMPARE_OBJ_RANKED__V11*/
5118 meltfptr[10] = melt_apply ((meltclosure_ptr_t)((/*!COMPARE_OBJ_RANKED*/ meltfrout->tabval[0])), (melt_ptr_t)(/*_.E1AT__V5*/ meltfptr[4]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
5122 MELT_CHECK_SIGNAL();
5124 MELT_LOCATION("warmelt-base.melt:3932:/ quasiblock");
5127 /*_._RETVAL___V1*/
5128 meltfptr[0] = /*_.COMPARE_OBJ_RANKED__V11*/ meltfptr[10];;
5129 MELT_LOCATION("warmelt-base.melt:3932:/ putxtraresult");
5130 if (!meltxrestab_ || !meltxresdescr_) goto meltlabend_rout;
5131 if (meltxresdescr_[0] != MELTBPAR_PTR) goto meltlabend_rout;
5132 if (meltxrestab_[0].meltbp_aptr) *(meltxrestab_[0].meltbp_aptr) = (melt_ptr_t) ((/*nil*/NULL));
5134 /*^finalreturn*/
5136 /*finalret*/
5137 goto meltlabend_rout ;
5138 /*_.LET___V4*/
5139 meltfptr[3] = /*_.RETURN___V12*/ meltfptr[11];;
5141 MELT_LOCATION("warmelt-base.melt:3925:/ clear");
5142 /*clear*/ /*_.E1AT__V5*/
5143 meltfptr[4] = 0 ;
5144 /*^clear*/
5145 /*clear*/ /*_.E1VA__V6*/
5146 meltfptr[5] = 0 ;
5147 /*^clear*/
5148 /*clear*/ /*_.E1RK__V7*/
5149 meltfptr[6] = 0 ;
5150 /*^clear*/
5151 /*clear*/ /*_.E2AT__V8*/
5152 meltfptr[7] = 0 ;
5153 /*^clear*/
5154 /*clear*/ /*_.E2VA__V9*/
5155 meltfptr[8] = 0 ;
5156 /*^clear*/
5157 /*clear*/ /*_.E2RK__V10*/
5158 meltfptr[9] = 0 ;
5159 /*^clear*/
5160 /*clear*/ /*_.COMPARE_OBJ_RANKED__V11*/
5161 meltfptr[10] = 0 ;
5162 /*^clear*/
5163 /*clear*/ /*_.RETURN___V12*/
5164 meltfptr[11] = 0 ;
5165 MELT_LOCATION("warmelt-base.melt:3924:/ quasiblock");
5168 /*_._RETVAL___V1*/
5169 meltfptr[0] = /*_.LET___V4*/ meltfptr[3];;
5172 MELT_LOCATION("warmelt-base.melt:3924:/ locexp");
5173 /*ochecknores compilobj_nrep_return*/
5174 #if MELT_HAVE_DEBUG
5175 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
5176 melt_warn_for_no_expected_secondary_results();
5177 /* we warned when secondary results are expected but not returned. */
5178 #endif /*MELT_HAVE_DEBUG*/
5182 /*^finalreturn*/
5184 /*finalret*/
5185 goto meltlabend_rout ;
5186 /*epilog*/
5188 /*^clear*/
5189 /*clear*/ /*_.LET___V4*/
5190 meltfptr[3] = 0 ;
5194 goto meltlabend_rout;
5195 meltlabend_rout:
5196 melt_trace_end("LAMBDA_cl2", meltcallcount);
5197 melt_blocklevel_signals = current_blocklevel_signals_meltrout_40_WARMELTmiBASE_LAMBDA_cl2_melt;
5198 return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]);
5199 #undef meltcallcount
5200 #undef meltfram__
5201 #undef MELTFRAM_NBVARNUM
5202 #undef MELTFRAM_NBVARPTR
5203 } /*end meltrout_40_WARMELTmiBASE_LAMBDA_cl2*/
5210 melt_ptr_t MELT_MODULE_VISIBILITY
5211 meltrout_41_WARMELTmiBASE_LAMBDA_cl3(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
5212 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
5214 long current_blocklevel_signals_meltrout_41_WARMELTmiBASE_LAMBDA_cl3_melt = melt_blocklevel_signals;
5216 #if MELT_HAVE_DEBUG
5217 static long melt_call_counter__;
5218 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
5219 #undef meltcallcount
5220 #define meltcallcount melt_thiscallcounter__
5221 #else
5222 #undef meltcallcount
5223 #define meltcallcount 0L
5224 #endif
5225 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
5227 /* start of frame for routine meltrout_41_WARMELTmiBASE_LAMBDA_cl3 fromline 1752 */
5229 /** start of frame for meltrout_41_WARMELTmiBASE_LAMBDA_cl3 of CLASS_PROCROUTINEOBJ from 1555**/
5231 /*curframdeclclassy*/ class MeltFrame_meltrout_41_WARMELTmiBASE_LAMBDA_cl3// fromline 1568
5232 : public Melt_CallFrameWithValues<3>
5234 public: /* fromline 1572*/
5235 // no classy longs
5236 /*classy others*/
5237 long _meltsparel;
5238 void melt_mark_stuff (void)
5240 } /*end melt_mark_stuff*/
5241 virtual void melt_mark_ggc_data (void)
5243 melt_mark_values ();
5244 melt_mark_stuff ();
5245 }; /*end melt_mark_ggc_data*/
5246 MeltFrame_meltrout_41_WARMELTmiBASE_LAMBDA_cl3(meltclosure_ptr_t clos) //the closure constructor fromline 1630
5247 : Melt_CallFrameWithValues<3> (
5248 #if ENABLE_CHECKING /*fromline 1634*/
5249 __FILE__, __LINE__,
5250 #endif /* ENABLE_CHECKING fromline 1638*/
5251 sizeof(MeltFrame_meltrout_41_WARMELTmiBASE_LAMBDA_cl3), clos) {};
5252 MeltFrame_meltrout_41_WARMELTmiBASE_LAMBDA_cl3() //the constructor fromline 1642
5253 : Melt_CallFrameWithValues<3> (
5254 #if ENABLE_CHECKING /*fromline 1646*/
5255 __FILE__, __LINE__,
5256 #endif /* ENABLE_CHECKING fromline 1650*/
5257 sizeof(MeltFrame_meltrout_41_WARMELTmiBASE_LAMBDA_cl3)) {};
5258 #if ENABLE_CHECKING /*fromline 1654*/
5259 MeltFrame_meltrout_41_WARMELTmiBASE_LAMBDA_cl3(const char*fil, int lin) //the constructor fromline 1656
5260 : Melt_CallFrameWithValues<3> (fil,lin, sizeof(MeltFrame_meltrout_41_WARMELTmiBASE_LAMBDA_cl3)) {};
5261 MeltFrame_meltrout_41_WARMELTmiBASE_LAMBDA_cl3(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
5262 : Melt_CallFrameWithValues<3> (fil,lin, sizeof(MeltFrame_meltrout_41_WARMELTmiBASE_LAMBDA_cl3), clos) {};
5263 #endif /* ENABLE_CHECKING fromline 1666*/
5265 }; // end class MeltFrame_meltrout_41_WARMELTmiBASE_LAMBDA_cl3
5268 /** end of frame for meltrout_41_WARMELTmiBASE_LAMBDA_cl3 fromline 1697**/
5270 /* end of frame for routine meltrout_41_WARMELTmiBASE_LAMBDA_cl3 fromline 1756 */
5272 /* classy proc frame meltrout_41_WARMELTmiBASE_LAMBDA_cl3 */
5273 MeltFrame_meltrout_41_WARMELTmiBASE_LAMBDA_cl3
5274 meltfram__ /*declfrastruct fromline 1780*/
5275 /*classyprocarg meltrout_41_WARMELTmiBASE_LAMBDA_cl3 fromline 1785*/
5276 #if ENABLE_CHECKING
5277 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
5278 #else /*ENABLE_CHECKING */
5279 (meltclosp_) /* fromline 1793*/
5280 #endif /*ENABLE_CHECKING */
5283 #define meltframe meltfram__
5285 melt_trace_start("LAMBDA_cl3", meltcallcount);
5286 /*use arguments*/
5287 (void) meltclosp_;
5288 (void)meltfirstargp_;
5289 (void)meltxargdescr_;
5290 (void)meltxargtab_;
5291 (void)meltxresdescr_;
5292 (void)meltxrestab_;
5293 /*getargs*/
5295 /*getarg#0*/
5296 MELT_LOCATION("warmelt-base.melt:3938:/ getarg");
5297 /*_.EL__V2*/
5298 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
5300 goto meltlab_endgetargs;
5301 meltlab_endgetargs:
5303 /*body*/
5304 /*^block*/
5305 /*anyblock*/
5308 /*_.MULTIPLE_NTH__V3*/ meltfptr[2] =
5309 (melt_multiple_nth((melt_ptr_t)(/*_.EL__V2*/ meltfptr[1]), (0)));;
5310 MELT_LOCATION("warmelt-base.melt:3938:/ quasiblock");
5313 /*_._RETVAL___V1*/
5314 meltfptr[0] = /*_.MULTIPLE_NTH__V3*/ meltfptr[2];;
5317 MELT_LOCATION("warmelt-base.melt:3938:/ locexp");
5318 /*ochecknores compilobj_nrep_return*/
5319 #if MELT_HAVE_DEBUG
5320 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
5321 melt_warn_for_no_expected_secondary_results();
5322 /* we warned when secondary results are expected but not returned. */
5323 #endif /*MELT_HAVE_DEBUG*/
5327 /*^finalreturn*/
5329 /*finalret*/
5330 goto meltlabend_rout ;
5331 /*epilog*/
5333 /*^clear*/
5334 /*clear*/ /*_.MULTIPLE_NTH__V3*/
5335 meltfptr[2] = 0 ;
5339 goto meltlabend_rout;
5340 meltlabend_rout:
5341 melt_trace_end("LAMBDA_cl3", meltcallcount);
5342 melt_blocklevel_signals = current_blocklevel_signals_meltrout_41_WARMELTmiBASE_LAMBDA_cl3_melt;
5343 return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]);
5344 #undef meltcallcount
5345 #undef meltfram__
5346 #undef MELTFRAM_NBVARNUM
5347 #undef MELTFRAM_NBVARPTR
5348 } /*end meltrout_41_WARMELTmiBASE_LAMBDA_cl3*/
5355 melt_ptr_t MELT_MODULE_VISIBILITY
5356 meltrout_42_WARMELTmiBASE_JSON_NAME_LESS(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
5357 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
5359 long current_blocklevel_signals_meltrout_42_WARMELTmiBASE_JSON_NAME_LESS_melt = melt_blocklevel_signals;
5361 #if MELT_HAVE_DEBUG
5362 static long melt_call_counter__;
5363 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
5364 #undef meltcallcount
5365 #define meltcallcount melt_thiscallcounter__
5366 #else
5367 #undef meltcallcount
5368 #define meltcallcount 0L
5369 #endif
5370 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
5372 /* start of frame for routine meltrout_42_WARMELTmiBASE_JSON_NAME_LESS fromline 1752 */
5374 /** start of frame for meltrout_42_WARMELTmiBASE_JSON_NAME_LESS of CLASS_PROCROUTINEOBJ from 1555**/
5376 /*curframdeclclassy*/ class MeltFrame_meltrout_42_WARMELTmiBASE_JSON_NAME_LESS// fromline 1568
5377 : public Melt_CallFrameWithValues<18>
5379 public: /* fromline 1572*/
5380 long mcfr_varnum[9];
5381 /*classy others*/
5382 long _meltsparel;
5383 void melt_mark_stuff (void)
5385 } /*end melt_mark_stuff*/
5386 virtual void melt_mark_ggc_data (void)
5388 melt_mark_values ();
5389 melt_mark_stuff ();
5390 }; /*end melt_mark_ggc_data*/
5391 MeltFrame_meltrout_42_WARMELTmiBASE_JSON_NAME_LESS(meltclosure_ptr_t clos) //the closure constructor fromline 1630
5392 : Melt_CallFrameWithValues<18> (
5393 #if ENABLE_CHECKING /*fromline 1634*/
5394 __FILE__, __LINE__,
5395 #endif /* ENABLE_CHECKING fromline 1638*/
5396 sizeof(MeltFrame_meltrout_42_WARMELTmiBASE_JSON_NAME_LESS), clos) {};
5397 MeltFrame_meltrout_42_WARMELTmiBASE_JSON_NAME_LESS() //the constructor fromline 1642
5398 : Melt_CallFrameWithValues<18> (
5399 #if ENABLE_CHECKING /*fromline 1646*/
5400 __FILE__, __LINE__,
5401 #endif /* ENABLE_CHECKING fromline 1650*/
5402 sizeof(MeltFrame_meltrout_42_WARMELTmiBASE_JSON_NAME_LESS)) {};
5403 #if ENABLE_CHECKING /*fromline 1654*/
5404 MeltFrame_meltrout_42_WARMELTmiBASE_JSON_NAME_LESS(const char*fil, int lin) //the constructor fromline 1656
5405 : Melt_CallFrameWithValues<18> (fil,lin, sizeof(MeltFrame_meltrout_42_WARMELTmiBASE_JSON_NAME_LESS)) {};
5406 MeltFrame_meltrout_42_WARMELTmiBASE_JSON_NAME_LESS(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
5407 : Melt_CallFrameWithValues<18> (fil,lin, sizeof(MeltFrame_meltrout_42_WARMELTmiBASE_JSON_NAME_LESS), clos) {};
5408 #endif /* ENABLE_CHECKING fromline 1666*/
5410 }; // end class MeltFrame_meltrout_42_WARMELTmiBASE_JSON_NAME_LESS
5413 /** end of frame for meltrout_42_WARMELTmiBASE_JSON_NAME_LESS fromline 1697**/
5415 /* end of frame for routine meltrout_42_WARMELTmiBASE_JSON_NAME_LESS fromline 1756 */
5417 /* classy proc frame meltrout_42_WARMELTmiBASE_JSON_NAME_LESS */
5418 MeltFrame_meltrout_42_WARMELTmiBASE_JSON_NAME_LESS
5419 meltfram__ /*declfrastruct fromline 1780*/
5420 /*classyprocarg meltrout_42_WARMELTmiBASE_JSON_NAME_LESS fromline 1785*/
5421 #if ENABLE_CHECKING
5422 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
5423 #else /*ENABLE_CHECKING */
5424 (meltclosp_) /* fromline 1793*/
5425 #endif /*ENABLE_CHECKING */
5428 #define meltframe meltfram__
5430 melt_trace_start("JSON_NAME_LESS", meltcallcount);
5431 /*use arguments*/
5432 (void) meltclosp_;
5433 (void)meltfirstargp_;
5434 (void)meltxargdescr_;
5435 (void)meltxargtab_;
5436 (void)meltxresdescr_;
5437 (void)meltxrestab_;
5438 /*getargs*/
5440 /*getarg#0*/
5441 MELT_LOCATION("warmelt-base.melt:3945:/ getarg");
5442 /*_.LV__V2*/
5443 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
5445 /*getarg#1*/
5446 /*^getarg*/
5447 if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs;
5448 /*_.RV__V3*/
5449 meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL;
5450 gcc_assert(melt_discr((melt_ptr_t)(/*_.RV__V3*/ meltfptr[2])) != NULL);
5453 goto meltlab_endgetargs;
5454 meltlab_endgetargs:
5456 /*body*/
5457 /*^block*/
5458 /*anyblock*/
5461 MELT_LOCATION("warmelt-base.melt:3947:/ quasiblock");
5464 /*_#NONSTRING__L1*/
5465 meltfnum[0] = 0;;
5467 MELT_CHECK_SIGNAL();
5469 /*^compute*/
5470 /*_#IS_STRING__L2*/
5471 meltfnum[1] =
5472 (melt_magic_discr((melt_ptr_t)(/*_.LV__V2*/ meltfptr[1])) == MELTOBMAG_STRING);;
5473 MELT_LOCATION("warmelt-base.melt:3949:/ cond");
5474 /*cond*/
5475 if (/*_#IS_STRING__L2*/ meltfnum[1]) /*then*/
5477 /*^cond.then*/
5478 /*_.LNAME__V5*/ meltfptr[4] = /*_.LV__V2*/ meltfptr[1];;
5480 else
5482 MELT_LOCATION("warmelt-base.melt:3949:/ cond.else");
5484 /*^block*/
5485 /*anyblock*/
5489 MELT_CHECK_SIGNAL();
5491 /*_#IS_A__L3*/
5492 meltfnum[2] =
5493 melt_is_instance_of((melt_ptr_t)(/*_.LV__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_NAMED*/ meltfrout->tabval[0])));;
5494 MELT_LOCATION("warmelt-base.melt:3950:/ cond");
5495 /*cond*/
5496 if (/*_#IS_A__L3*/ meltfnum[2]) /*then*/
5498 /*^cond.then*/
5499 /*^block*/
5500 /*anyblock*/
5503 MELT_LOCATION("warmelt-base.melt:3951:/ compute");
5504 /*_#NONSTRING__L1*/
5505 meltfnum[0] = /*_#SETQ___L4*/ meltfnum[3] = 1;;
5506 MELT_LOCATION("warmelt-base.melt:3952:/ cond");
5507 /*cond*/
5508 if (
5509 /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.LV__V2*/ meltfptr[1]),
5510 (melt_ptr_t)((/*!CLASS_NAMED*/ meltfrout->tabval[0])))
5511 ) /*then*/
5513 /*^cond.then*/
5514 /*^getslot*/
5516 melt_ptr_t slot=NULL, obj=NULL;
5517 obj = (melt_ptr_t)(/*_.LV__V2*/ meltfptr[1]) /*=obj*/;
5518 melt_object_get_field(slot,obj, 1, "NAMED_NAME");
5519 /*_.NAMED_NAME__V7*/
5520 meltfptr[6] = slot;
5524 else /*^cond.else*/
5527 /*_.NAMED_NAME__V7*/ meltfptr[6] = /*reallynil*/ NULL ;;
5530 MELT_LOCATION("warmelt-base.melt:3950:/ quasiblock");
5533 /*_.PROGN___V8*/
5534 meltfptr[7] = /*_.NAMED_NAME__V7*/ meltfptr[6];;
5535 /*^compute*/
5536 /*_._IFELSE___V6*/
5537 meltfptr[5] = /*_.PROGN___V8*/ meltfptr[7];;
5538 /*epilog*/
5540 MELT_LOCATION("warmelt-base.melt:3950:/ clear");
5541 /*clear*/ /*_#SETQ___L4*/
5542 meltfnum[3] = 0 ;
5543 /*^clear*/
5544 /*clear*/ /*_.NAMED_NAME__V7*/
5545 meltfptr[6] = 0 ;
5546 /*^clear*/
5547 /*clear*/ /*_.PROGN___V8*/
5548 meltfptr[7] = 0 ;
5552 else /*^cond.else*/
5555 /*_._IFELSE___V6*/ meltfptr[5] = /*reallynil*/ NULL ;;
5558 /*^compute*/
5559 /*_.LNAME__V5*/
5560 meltfptr[4] = /*_._IFELSE___V6*/ meltfptr[5];;
5561 /*epilog*/
5563 MELT_LOCATION("warmelt-base.melt:3949:/ clear");
5564 /*clear*/ /*_#IS_A__L3*/
5565 meltfnum[2] = 0 ;
5566 /*^clear*/
5567 /*clear*/ /*_._IFELSE___V6*/
5568 meltfptr[5] = 0 ;
5574 MELT_CHECK_SIGNAL();
5576 /*_#IS_STRING__L5*/
5577 meltfnum[3] =
5578 (melt_magic_discr((melt_ptr_t)(/*_.RV__V3*/ meltfptr[2])) == MELTOBMAG_STRING);;
5579 MELT_LOCATION("warmelt-base.melt:3953:/ cond");
5580 /*cond*/
5581 if (/*_#IS_STRING__L5*/ meltfnum[3]) /*then*/
5583 /*^cond.then*/
5584 /*_.RNAME__V9*/ meltfptr[6] = /*_.RV__V3*/ meltfptr[2];;
5586 else
5588 MELT_LOCATION("warmelt-base.melt:3953:/ cond.else");
5590 /*^block*/
5591 /*anyblock*/
5595 MELT_CHECK_SIGNAL();
5597 /*_#IS_A__L6*/
5598 meltfnum[2] =
5599 melt_is_instance_of((melt_ptr_t)(/*_.RV__V3*/ meltfptr[2]), (melt_ptr_t)((/*!CLASS_NAMED*/ meltfrout->tabval[0])));;
5600 MELT_LOCATION("warmelt-base.melt:3954:/ cond");
5601 /*cond*/
5602 if (/*_#IS_A__L6*/ meltfnum[2]) /*then*/
5604 /*^cond.then*/
5605 /*^block*/
5606 /*anyblock*/
5609 MELT_LOCATION("warmelt-base.melt:3955:/ compute");
5610 /*_#NONSTRING__L1*/
5611 meltfnum[0] = /*_#SETQ___L7*/ meltfnum[6] = 1;;
5612 MELT_LOCATION("warmelt-base.melt:3956:/ cond");
5613 /*cond*/
5614 if (
5615 /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.RV__V3*/ meltfptr[2]),
5616 (melt_ptr_t)((/*!CLASS_NAMED*/ meltfrout->tabval[0])))
5617 ) /*then*/
5619 /*^cond.then*/
5620 /*^getslot*/
5622 melt_ptr_t slot=NULL, obj=NULL;
5623 obj = (melt_ptr_t)(/*_.RV__V3*/ meltfptr[2]) /*=obj*/;
5624 melt_object_get_field(slot,obj, 1, "NAMED_NAME");
5625 /*_.NAMED_NAME__V11*/
5626 meltfptr[5] = slot;
5630 else /*^cond.else*/
5633 /*_.NAMED_NAME__V11*/ meltfptr[5] = /*reallynil*/ NULL ;;
5636 MELT_LOCATION("warmelt-base.melt:3954:/ quasiblock");
5639 /*_.PROGN___V12*/
5640 meltfptr[11] = /*_.NAMED_NAME__V11*/ meltfptr[5];;
5641 /*^compute*/
5642 /*_._IFELSE___V10*/
5643 meltfptr[7] = /*_.PROGN___V12*/ meltfptr[11];;
5644 /*epilog*/
5646 MELT_LOCATION("warmelt-base.melt:3954:/ clear");
5647 /*clear*/ /*_#SETQ___L7*/
5648 meltfnum[6] = 0 ;
5649 /*^clear*/
5650 /*clear*/ /*_.NAMED_NAME__V11*/
5651 meltfptr[5] = 0 ;
5652 /*^clear*/
5653 /*clear*/ /*_.PROGN___V12*/
5654 meltfptr[11] = 0 ;
5658 else /*^cond.else*/
5661 /*_._IFELSE___V10*/ meltfptr[7] = /*reallynil*/ NULL ;;
5664 /*^compute*/
5665 /*_.RNAME__V9*/
5666 meltfptr[6] = /*_._IFELSE___V10*/ meltfptr[7];;
5667 /*epilog*/
5669 MELT_LOCATION("warmelt-base.melt:3953:/ clear");
5670 /*clear*/ /*_#IS_A__L6*/
5671 meltfnum[2] = 0 ;
5672 /*^clear*/
5673 /*clear*/ /*_._IFELSE___V10*/
5674 meltfptr[7] = 0 ;
5680 MELT_CHECK_SIGNAL();
5682 MELT_LOCATION("warmelt-base.melt:3958:/ cond");
5683 /*cond*/
5684 if (/*_#NONSTRING__L1*/ meltfnum[0]) /*then*/
5686 /*^cond.then*/
5687 /*^block*/
5688 /*anyblock*/
5692 MELT_CHECK_SIGNAL();
5694 /*_#STRINGltCASE__L8*/
5695 meltfnum[6] =
5696 melt_string_less((melt_ptr_t)(/*_.LNAME__V5*/ meltfptr[4]), (melt_ptr_t)(/*_.RNAME__V9*/ meltfptr[6]));;
5697 MELT_LOCATION("warmelt-base.melt:3959:/ cond");
5698 /*cond*/
5699 if (/*_#STRINGltCASE__L8*/ meltfnum[6]) /*then*/
5701 /*^cond.then*/
5702 /*^block*/
5703 /*anyblock*/
5707 MELT_CHECK_SIGNAL();
5709 /*^quasiblock*/
5712 /*_._RETVAL___V1*/
5713 meltfptr[0] = (/*!konst_1_TRUE*/ meltfrout->tabval[1]);;
5716 MELT_LOCATION("warmelt-base.melt:3959:/ locexp");
5717 /*ochecknores compilobj_nrep_return*/
5718 #if MELT_HAVE_DEBUG
5719 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
5720 melt_warn_for_no_expected_secondary_results();
5721 /* we warned when secondary results are expected but not returned. */
5722 #endif /*MELT_HAVE_DEBUG*/
5726 /*^finalreturn*/
5728 /*finalret*/
5729 goto meltlabend_rout ;
5730 /*_._IF___V14*/
5731 meltfptr[11] = /*_.RETURN___V15*/ meltfptr[7];;
5732 /*epilog*/
5734 MELT_LOCATION("warmelt-base.melt:3959:/ clear");
5735 /*clear*/ /*_.RETURN___V15*/
5736 meltfptr[7] = 0 ;
5740 else /*^cond.else*/
5743 /*_._IF___V14*/ meltfptr[11] = /*reallynil*/ NULL ;;
5746 /*^compute*/
5747 /*_._IFELSE___V13*/
5748 meltfptr[5] = /*_._IF___V14*/ meltfptr[11];;
5749 /*epilog*/
5751 MELT_LOCATION("warmelt-base.melt:3958:/ clear");
5752 /*clear*/ /*_#STRINGltCASE__L8*/
5753 meltfnum[6] = 0 ;
5754 /*^clear*/
5755 /*clear*/ /*_._IF___V14*/
5756 meltfptr[11] = 0 ;
5760 else /*^cond.else*/
5763 /*^block*/
5764 /*anyblock*/
5768 MELT_CHECK_SIGNAL();
5770 /*_#STRINGlt__L9*/
5771 meltfnum[2] =
5772 melt_string_less((melt_ptr_t)(/*_.LNAME__V5*/ meltfptr[4]), (melt_ptr_t)(/*_.RNAME__V9*/ meltfptr[6]));;
5773 MELT_LOCATION("warmelt-base.melt:3960:/ cond");
5774 /*cond*/
5775 if (/*_#STRINGlt__L9*/ meltfnum[2]) /*then*/
5777 /*^cond.then*/
5778 /*^block*/
5779 /*anyblock*/
5783 MELT_CHECK_SIGNAL();
5785 /*^quasiblock*/
5788 /*_._RETVAL___V1*/
5789 meltfptr[0] = (/*!konst_1_TRUE*/ meltfrout->tabval[1]);;
5792 MELT_LOCATION("warmelt-base.melt:3960:/ locexp");
5793 /*ochecknores compilobj_nrep_return*/
5794 #if MELT_HAVE_DEBUG
5795 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
5796 melt_warn_for_no_expected_secondary_results();
5797 /* we warned when secondary results are expected but not returned. */
5798 #endif /*MELT_HAVE_DEBUG*/
5802 /*^finalreturn*/
5804 /*finalret*/
5805 goto meltlabend_rout ;
5806 /*_._IF___V16*/
5807 meltfptr[7] = /*_.RETURN___V17*/ meltfptr[11];;
5808 /*epilog*/
5810 MELT_LOCATION("warmelt-base.melt:3960:/ clear");
5811 /*clear*/ /*_.RETURN___V17*/
5812 meltfptr[11] = 0 ;
5816 else /*^cond.else*/
5819 /*_._IF___V16*/ meltfptr[7] = /*reallynil*/ NULL ;;
5822 /*^compute*/
5823 /*_._IFELSE___V13*/
5824 meltfptr[5] = /*_._IF___V16*/ meltfptr[7];;
5825 /*epilog*/
5827 MELT_LOCATION("warmelt-base.melt:3958:/ clear");
5828 /*clear*/ /*_#STRINGlt__L9*/
5829 meltfnum[2] = 0 ;
5830 /*^clear*/
5831 /*clear*/ /*_._IF___V16*/
5832 meltfptr[7] = 0 ;
5838 MELT_CHECK_SIGNAL();
5840 MELT_LOCATION("warmelt-base.melt:3961:/ quasiblock");
5843 /*_._RETVAL___V1*/
5844 meltfptr[0] = (/*nil*/NULL);;
5847 MELT_LOCATION("warmelt-base.melt:3961:/ locexp");
5848 /*ochecknores compilobj_nrep_return*/
5849 #if MELT_HAVE_DEBUG
5850 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
5851 melt_warn_for_no_expected_secondary_results();
5852 /* we warned when secondary results are expected but not returned. */
5853 #endif /*MELT_HAVE_DEBUG*/
5857 /*^finalreturn*/
5859 /*finalret*/
5860 goto meltlabend_rout ;
5861 /*_.LET___V4*/
5862 meltfptr[3] = /*_.RETURN___V18*/ meltfptr[11];;
5864 MELT_LOCATION("warmelt-base.melt:3947:/ clear");
5865 /*clear*/ /*_#NONSTRING__L1*/
5866 meltfnum[0] = 0 ;
5867 /*^clear*/
5868 /*clear*/ /*_#IS_STRING__L2*/
5869 meltfnum[1] = 0 ;
5870 /*^clear*/
5871 /*clear*/ /*_.LNAME__V5*/
5872 meltfptr[4] = 0 ;
5873 /*^clear*/
5874 /*clear*/ /*_#IS_STRING__L5*/
5875 meltfnum[3] = 0 ;
5876 /*^clear*/
5877 /*clear*/ /*_.RNAME__V9*/
5878 meltfptr[6] = 0 ;
5879 /*^clear*/
5880 /*clear*/ /*_._IFELSE___V13*/
5881 meltfptr[5] = 0 ;
5882 /*^clear*/
5883 /*clear*/ /*_.RETURN___V18*/
5884 meltfptr[11] = 0 ;
5885 MELT_LOCATION("warmelt-base.melt:3945:/ quasiblock");
5888 /*_._RETVAL___V1*/
5889 meltfptr[0] = /*_.LET___V4*/ meltfptr[3];;
5892 MELT_LOCATION("warmelt-base.melt:3945:/ locexp");
5893 /*ochecknores compilobj_nrep_return*/
5894 #if MELT_HAVE_DEBUG
5895 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
5896 melt_warn_for_no_expected_secondary_results();
5897 /* we warned when secondary results are expected but not returned. */
5898 #endif /*MELT_HAVE_DEBUG*/
5902 /*^finalreturn*/
5904 /*finalret*/
5905 goto meltlabend_rout ;
5906 /*epilog*/
5908 /*^clear*/
5909 /*clear*/ /*_.LET___V4*/
5910 meltfptr[3] = 0 ;
5914 goto meltlabend_rout;
5915 meltlabend_rout:
5916 melt_trace_end("JSON_NAME_LESS", meltcallcount);
5917 melt_blocklevel_signals = current_blocklevel_signals_meltrout_42_WARMELTmiBASE_JSON_NAME_LESS_melt;
5918 return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]);
5919 #undef meltcallcount
5920 #undef meltfram__
5921 #undef MELTFRAM_NBVARNUM
5922 #undef MELTFRAM_NBVARPTR
5923 } /*end meltrout_42_WARMELTmiBASE_JSON_NAME_LESS*/
5930 melt_ptr_t MELT_MODULE_VISIBILITY
5931 meltrout_43_WARMELTmiBASE_JSON_NAME_EQUAL(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
5932 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
5934 long current_blocklevel_signals_meltrout_43_WARMELTmiBASE_JSON_NAME_EQUAL_melt = melt_blocklevel_signals;
5936 #if MELT_HAVE_DEBUG
5937 static long melt_call_counter__;
5938 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
5939 #undef meltcallcount
5940 #define meltcallcount melt_thiscallcounter__
5941 #else
5942 #undef meltcallcount
5943 #define meltcallcount 0L
5944 #endif
5945 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
5947 /* start of frame for routine meltrout_43_WARMELTmiBASE_JSON_NAME_EQUAL fromline 1752 */
5949 /** start of frame for meltrout_43_WARMELTmiBASE_JSON_NAME_EQUAL of CLASS_PROCROUTINEOBJ from 1555**/
5951 /*curframdeclclassy*/ class MeltFrame_meltrout_43_WARMELTmiBASE_JSON_NAME_EQUAL// fromline 1568
5952 : public Melt_CallFrameWithValues<20>
5954 public: /* fromline 1572*/
5955 long mcfr_varnum[10];
5956 /*classy others*/
5957 long _meltsparel;
5958 void melt_mark_stuff (void)
5960 } /*end melt_mark_stuff*/
5961 virtual void melt_mark_ggc_data (void)
5963 melt_mark_values ();
5964 melt_mark_stuff ();
5965 }; /*end melt_mark_ggc_data*/
5966 MeltFrame_meltrout_43_WARMELTmiBASE_JSON_NAME_EQUAL(meltclosure_ptr_t clos) //the closure constructor fromline 1630
5967 : Melt_CallFrameWithValues<20> (
5968 #if ENABLE_CHECKING /*fromline 1634*/
5969 __FILE__, __LINE__,
5970 #endif /* ENABLE_CHECKING fromline 1638*/
5971 sizeof(MeltFrame_meltrout_43_WARMELTmiBASE_JSON_NAME_EQUAL), clos) {};
5972 MeltFrame_meltrout_43_WARMELTmiBASE_JSON_NAME_EQUAL() //the constructor fromline 1642
5973 : Melt_CallFrameWithValues<20> (
5974 #if ENABLE_CHECKING /*fromline 1646*/
5975 __FILE__, __LINE__,
5976 #endif /* ENABLE_CHECKING fromline 1650*/
5977 sizeof(MeltFrame_meltrout_43_WARMELTmiBASE_JSON_NAME_EQUAL)) {};
5978 #if ENABLE_CHECKING /*fromline 1654*/
5979 MeltFrame_meltrout_43_WARMELTmiBASE_JSON_NAME_EQUAL(const char*fil, int lin) //the constructor fromline 1656
5980 : Melt_CallFrameWithValues<20> (fil,lin, sizeof(MeltFrame_meltrout_43_WARMELTmiBASE_JSON_NAME_EQUAL)) {};
5981 MeltFrame_meltrout_43_WARMELTmiBASE_JSON_NAME_EQUAL(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
5982 : Melt_CallFrameWithValues<20> (fil,lin, sizeof(MeltFrame_meltrout_43_WARMELTmiBASE_JSON_NAME_EQUAL), clos) {};
5983 #endif /* ENABLE_CHECKING fromline 1666*/
5985 }; // end class MeltFrame_meltrout_43_WARMELTmiBASE_JSON_NAME_EQUAL
5988 /** end of frame for meltrout_43_WARMELTmiBASE_JSON_NAME_EQUAL fromline 1697**/
5990 /* end of frame for routine meltrout_43_WARMELTmiBASE_JSON_NAME_EQUAL fromline 1756 */
5992 /* classy proc frame meltrout_43_WARMELTmiBASE_JSON_NAME_EQUAL */
5993 MeltFrame_meltrout_43_WARMELTmiBASE_JSON_NAME_EQUAL
5994 meltfram__ /*declfrastruct fromline 1780*/
5995 /*classyprocarg meltrout_43_WARMELTmiBASE_JSON_NAME_EQUAL fromline 1785*/
5996 #if ENABLE_CHECKING
5997 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
5998 #else /*ENABLE_CHECKING */
5999 (meltclosp_) /* fromline 1793*/
6000 #endif /*ENABLE_CHECKING */
6003 #define meltframe meltfram__
6005 melt_trace_start("JSON_NAME_EQUAL", meltcallcount);
6006 /*use arguments*/
6007 (void) meltclosp_;
6008 (void)meltfirstargp_;
6009 (void)meltxargdescr_;
6010 (void)meltxargtab_;
6011 (void)meltxresdescr_;
6012 (void)meltxrestab_;
6013 /*getargs*/
6015 /*getarg#0*/
6016 MELT_LOCATION("warmelt-base.melt:3964:/ getarg");
6017 /*_.LV__V2*/
6018 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
6020 /*getarg#1*/
6021 /*^getarg*/
6022 if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs;
6023 /*_.RV__V3*/
6024 meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL;
6025 gcc_assert(melt_discr((melt_ptr_t)(/*_.RV__V3*/ meltfptr[2])) != NULL);
6028 goto meltlab_endgetargs;
6029 meltlab_endgetargs:
6031 /*body*/
6032 /*^block*/
6033 /*anyblock*/
6037 MELT_CHECK_SIGNAL();
6039 /*_#eqeq__L1*/
6040 meltfnum[0] =
6041 ((/*_.LV__V2*/ meltfptr[1]) == (/*_.RV__V3*/ meltfptr[2]));;
6042 MELT_LOCATION("warmelt-base.melt:3966:/ cond");
6043 /*cond*/
6044 if (/*_#eqeq__L1*/ meltfnum[0]) /*then*/
6046 /*^cond.then*/
6047 /*^block*/
6048 /*anyblock*/
6052 MELT_CHECK_SIGNAL();
6054 /*^quasiblock*/
6057 /*_._RETVAL___V1*/
6058 meltfptr[0] = (/*!konst_0_TRUE*/ meltfrout->tabval[0]);;
6061 MELT_LOCATION("warmelt-base.melt:3966:/ locexp");
6062 /*ochecknores compilobj_nrep_return*/
6063 #if MELT_HAVE_DEBUG
6064 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
6065 melt_warn_for_no_expected_secondary_results();
6066 /* we warned when secondary results are expected but not returned. */
6067 #endif /*MELT_HAVE_DEBUG*/
6071 /*^finalreturn*/
6073 /*finalret*/
6074 goto meltlabend_rout ;
6075 /*_._IF___V4*/
6076 meltfptr[3] = /*_.RETURN___V5*/ meltfptr[4];;
6077 /*epilog*/
6079 MELT_LOCATION("warmelt-base.melt:3966:/ clear");
6080 /*clear*/ /*_.RETURN___V5*/
6081 meltfptr[4] = 0 ;
6085 else /*^cond.else*/
6088 /*_._IF___V4*/ meltfptr[3] = /*reallynil*/ NULL ;;
6091 MELT_LOCATION("warmelt-base.melt:3967:/ quasiblock");
6094 /*_#NONSTRING__L2*/
6095 meltfnum[1] = 0;;
6097 MELT_CHECK_SIGNAL();
6099 /*^compute*/
6100 /*_#IS_STRING__L3*/
6101 meltfnum[2] =
6102 (melt_magic_discr((melt_ptr_t)(/*_.LV__V2*/ meltfptr[1])) == MELTOBMAG_STRING);;
6103 MELT_LOCATION("warmelt-base.melt:3969:/ cond");
6104 /*cond*/
6105 if (/*_#IS_STRING__L3*/ meltfnum[2]) /*then*/
6107 /*^cond.then*/
6108 /*_.LNAME__V7*/ meltfptr[6] = /*_.LV__V2*/ meltfptr[1];;
6110 else
6112 MELT_LOCATION("warmelt-base.melt:3969:/ cond.else");
6114 /*^block*/
6115 /*anyblock*/
6119 MELT_CHECK_SIGNAL();
6121 /*_#IS_A__L4*/
6122 meltfnum[3] =
6123 melt_is_instance_of((melt_ptr_t)(/*_.LV__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_NAMED*/ meltfrout->tabval[1])));;
6124 MELT_LOCATION("warmelt-base.melt:3970:/ cond");
6125 /*cond*/
6126 if (/*_#IS_A__L4*/ meltfnum[3]) /*then*/
6128 /*^cond.then*/
6129 /*^block*/
6130 /*anyblock*/
6133 MELT_LOCATION("warmelt-base.melt:3971:/ compute");
6134 /*_#NONSTRING__L2*/
6135 meltfnum[1] = /*_#SETQ___L5*/ meltfnum[4] = 1;;
6136 MELT_LOCATION("warmelt-base.melt:3972:/ cond");
6137 /*cond*/
6138 if (
6139 /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.LV__V2*/ meltfptr[1]),
6140 (melt_ptr_t)((/*!CLASS_NAMED*/ meltfrout->tabval[1])))
6141 ) /*then*/
6143 /*^cond.then*/
6144 /*^getslot*/
6146 melt_ptr_t slot=NULL, obj=NULL;
6147 obj = (melt_ptr_t)(/*_.LV__V2*/ meltfptr[1]) /*=obj*/;
6148 melt_object_get_field(slot,obj, 1, "NAMED_NAME");
6149 /*_.NAMED_NAME__V9*/
6150 meltfptr[8] = slot;
6154 else /*^cond.else*/
6157 /*_.NAMED_NAME__V9*/ meltfptr[8] = /*reallynil*/ NULL ;;
6160 MELT_LOCATION("warmelt-base.melt:3970:/ quasiblock");
6163 /*_.PROGN___V10*/
6164 meltfptr[9] = /*_.NAMED_NAME__V9*/ meltfptr[8];;
6165 /*^compute*/
6166 /*_._IFELSE___V8*/
6167 meltfptr[7] = /*_.PROGN___V10*/ meltfptr[9];;
6168 /*epilog*/
6170 MELT_LOCATION("warmelt-base.melt:3970:/ clear");
6171 /*clear*/ /*_#SETQ___L5*/
6172 meltfnum[4] = 0 ;
6173 /*^clear*/
6174 /*clear*/ /*_.NAMED_NAME__V9*/
6175 meltfptr[8] = 0 ;
6176 /*^clear*/
6177 /*clear*/ /*_.PROGN___V10*/
6178 meltfptr[9] = 0 ;
6182 else /*^cond.else*/
6185 /*_._IFELSE___V8*/ meltfptr[7] = /*reallynil*/ NULL ;;
6188 /*^compute*/
6189 /*_.LNAME__V7*/
6190 meltfptr[6] = /*_._IFELSE___V8*/ meltfptr[7];;
6191 /*epilog*/
6193 MELT_LOCATION("warmelt-base.melt:3969:/ clear");
6194 /*clear*/ /*_#IS_A__L4*/
6195 meltfnum[3] = 0 ;
6196 /*^clear*/
6197 /*clear*/ /*_._IFELSE___V8*/
6198 meltfptr[7] = 0 ;
6204 MELT_CHECK_SIGNAL();
6206 /*_#IS_STRING__L6*/
6207 meltfnum[4] =
6208 (melt_magic_discr((melt_ptr_t)(/*_.RV__V3*/ meltfptr[2])) == MELTOBMAG_STRING);;
6209 MELT_LOCATION("warmelt-base.melt:3973:/ cond");
6210 /*cond*/
6211 if (/*_#IS_STRING__L6*/ meltfnum[4]) /*then*/
6213 /*^cond.then*/
6214 /*_.RNAME__V11*/ meltfptr[8] = /*_.RV__V3*/ meltfptr[2];;
6216 else
6218 MELT_LOCATION("warmelt-base.melt:3973:/ cond.else");
6220 /*^block*/
6221 /*anyblock*/
6225 MELT_CHECK_SIGNAL();
6227 /*_#IS_A__L7*/
6228 meltfnum[3] =
6229 melt_is_instance_of((melt_ptr_t)(/*_.RV__V3*/ meltfptr[2]), (melt_ptr_t)((/*!CLASS_NAMED*/ meltfrout->tabval[1])));;
6230 MELT_LOCATION("warmelt-base.melt:3974:/ cond");
6231 /*cond*/
6232 if (/*_#IS_A__L7*/ meltfnum[3]) /*then*/
6234 /*^cond.then*/
6235 /*^block*/
6236 /*anyblock*/
6239 MELT_LOCATION("warmelt-base.melt:3975:/ compute");
6240 /*_#NONSTRING__L2*/
6241 meltfnum[1] = /*_#SETQ___L8*/ meltfnum[7] = 1;;
6242 MELT_LOCATION("warmelt-base.melt:3976:/ cond");
6243 /*cond*/
6244 if (
6245 /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.RV__V3*/ meltfptr[2]),
6246 (melt_ptr_t)((/*!CLASS_NAMED*/ meltfrout->tabval[1])))
6247 ) /*then*/
6249 /*^cond.then*/
6250 /*^getslot*/
6252 melt_ptr_t slot=NULL, obj=NULL;
6253 obj = (melt_ptr_t)(/*_.RV__V3*/ meltfptr[2]) /*=obj*/;
6254 melt_object_get_field(slot,obj, 1, "NAMED_NAME");
6255 /*_.NAMED_NAME__V13*/
6256 meltfptr[7] = slot;
6260 else /*^cond.else*/
6263 /*_.NAMED_NAME__V13*/ meltfptr[7] = /*reallynil*/ NULL ;;
6266 MELT_LOCATION("warmelt-base.melt:3974:/ quasiblock");
6269 /*_.PROGN___V14*/
6270 meltfptr[13] = /*_.NAMED_NAME__V13*/ meltfptr[7];;
6271 /*^compute*/
6272 /*_._IFELSE___V12*/
6273 meltfptr[9] = /*_.PROGN___V14*/ meltfptr[13];;
6274 /*epilog*/
6276 MELT_LOCATION("warmelt-base.melt:3974:/ clear");
6277 /*clear*/ /*_#SETQ___L8*/
6278 meltfnum[7] = 0 ;
6279 /*^clear*/
6280 /*clear*/ /*_.NAMED_NAME__V13*/
6281 meltfptr[7] = 0 ;
6282 /*^clear*/
6283 /*clear*/ /*_.PROGN___V14*/
6284 meltfptr[13] = 0 ;
6288 else /*^cond.else*/
6291 /*_._IFELSE___V12*/ meltfptr[9] = /*reallynil*/ NULL ;;
6294 /*^compute*/
6295 /*_.RNAME__V11*/
6296 meltfptr[8] = /*_._IFELSE___V12*/ meltfptr[9];;
6297 /*epilog*/
6299 MELT_LOCATION("warmelt-base.melt:3973:/ clear");
6300 /*clear*/ /*_#IS_A__L7*/
6301 meltfnum[3] = 0 ;
6302 /*^clear*/
6303 /*clear*/ /*_._IFELSE___V12*/
6304 meltfptr[9] = 0 ;
6310 MELT_CHECK_SIGNAL();
6312 MELT_LOCATION("warmelt-base.melt:3978:/ cond");
6313 /*cond*/
6314 if (/*_#NONSTRING__L2*/ meltfnum[1]) /*then*/
6316 /*^cond.then*/
6317 /*^block*/
6318 /*anyblock*/
6322 MELT_CHECK_SIGNAL();
6324 /*_#eqeqSmiCASE__L9*/
6325 meltfnum[7] =
6326 melt_string_same_case((melt_ptr_t)(/*_.LNAME__V7*/ meltfptr[6]), (melt_ptr_t)(/*_.RNAME__V11*/ meltfptr[8]));;
6327 MELT_LOCATION("warmelt-base.melt:3979:/ cond");
6328 /*cond*/
6329 if (/*_#eqeqSmiCASE__L9*/ meltfnum[7]) /*then*/
6331 /*^cond.then*/
6332 /*^block*/
6333 /*anyblock*/
6337 MELT_CHECK_SIGNAL();
6339 /*^quasiblock*/
6342 /*_._RETVAL___V1*/
6343 meltfptr[0] = (/*!konst_0_TRUE*/ meltfrout->tabval[0]);;
6346 MELT_LOCATION("warmelt-base.melt:3979:/ locexp");
6347 /*ochecknores compilobj_nrep_return*/
6348 #if MELT_HAVE_DEBUG
6349 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
6350 melt_warn_for_no_expected_secondary_results();
6351 /* we warned when secondary results are expected but not returned. */
6352 #endif /*MELT_HAVE_DEBUG*/
6356 /*^finalreturn*/
6358 /*finalret*/
6359 goto meltlabend_rout ;
6360 /*_._IF___V16*/
6361 meltfptr[13] = /*_.RETURN___V17*/ meltfptr[9];;
6362 /*epilog*/
6364 MELT_LOCATION("warmelt-base.melt:3979:/ clear");
6365 /*clear*/ /*_.RETURN___V17*/
6366 meltfptr[9] = 0 ;
6370 else /*^cond.else*/
6373 /*_._IF___V16*/ meltfptr[13] = /*reallynil*/ NULL ;;
6376 /*^compute*/
6377 /*_._IFELSE___V15*/
6378 meltfptr[7] = /*_._IF___V16*/ meltfptr[13];;
6379 /*epilog*/
6381 MELT_LOCATION("warmelt-base.melt:3978:/ clear");
6382 /*clear*/ /*_#eqeqSmiCASE__L9*/
6383 meltfnum[7] = 0 ;
6384 /*^clear*/
6385 /*clear*/ /*_._IF___V16*/
6386 meltfptr[13] = 0 ;
6390 else /*^cond.else*/
6393 /*^block*/
6394 /*anyblock*/
6398 MELT_CHECK_SIGNAL();
6400 /*_#eqeqS__L10*/
6401 meltfnum[3] =
6402 melt_string_same((melt_ptr_t)(/*_.LNAME__V7*/ meltfptr[6]), (melt_ptr_t)(/*_.RNAME__V11*/ meltfptr[8]));;
6403 MELT_LOCATION("warmelt-base.melt:3980:/ cond");
6404 /*cond*/
6405 if (/*_#eqeqS__L10*/ meltfnum[3]) /*then*/
6407 /*^cond.then*/
6408 /*^block*/
6409 /*anyblock*/
6413 MELT_CHECK_SIGNAL();
6415 /*^quasiblock*/
6418 /*_._RETVAL___V1*/
6419 meltfptr[0] = (/*!konst_0_TRUE*/ meltfrout->tabval[0]);;
6422 MELT_LOCATION("warmelt-base.melt:3980:/ locexp");
6423 /*ochecknores compilobj_nrep_return*/
6424 #if MELT_HAVE_DEBUG
6425 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
6426 melt_warn_for_no_expected_secondary_results();
6427 /* we warned when secondary results are expected but not returned. */
6428 #endif /*MELT_HAVE_DEBUG*/
6432 /*^finalreturn*/
6434 /*finalret*/
6435 goto meltlabend_rout ;
6436 /*_._IF___V18*/
6437 meltfptr[9] = /*_.RETURN___V19*/ meltfptr[13];;
6438 /*epilog*/
6440 MELT_LOCATION("warmelt-base.melt:3980:/ clear");
6441 /*clear*/ /*_.RETURN___V19*/
6442 meltfptr[13] = 0 ;
6446 else /*^cond.else*/
6449 /*_._IF___V18*/ meltfptr[9] = /*reallynil*/ NULL ;;
6452 /*^compute*/
6453 /*_._IFELSE___V15*/
6454 meltfptr[7] = /*_._IF___V18*/ meltfptr[9];;
6455 /*epilog*/
6457 MELT_LOCATION("warmelt-base.melt:3978:/ clear");
6458 /*clear*/ /*_#eqeqS__L10*/
6459 meltfnum[3] = 0 ;
6460 /*^clear*/
6461 /*clear*/ /*_._IF___V18*/
6462 meltfptr[9] = 0 ;
6468 MELT_CHECK_SIGNAL();
6470 MELT_LOCATION("warmelt-base.melt:3981:/ quasiblock");
6473 /*_._RETVAL___V1*/
6474 meltfptr[0] = (/*nil*/NULL);;
6477 MELT_LOCATION("warmelt-base.melt:3981:/ locexp");
6478 /*ochecknores compilobj_nrep_return*/
6479 #if MELT_HAVE_DEBUG
6480 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
6481 melt_warn_for_no_expected_secondary_results();
6482 /* we warned when secondary results are expected but not returned. */
6483 #endif /*MELT_HAVE_DEBUG*/
6487 /*^finalreturn*/
6489 /*finalret*/
6490 goto meltlabend_rout ;
6491 /*_.LET___V6*/
6492 meltfptr[4] = /*_.RETURN___V20*/ meltfptr[13];;
6494 MELT_LOCATION("warmelt-base.melt:3967:/ clear");
6495 /*clear*/ /*_#NONSTRING__L2*/
6496 meltfnum[1] = 0 ;
6497 /*^clear*/
6498 /*clear*/ /*_#IS_STRING__L3*/
6499 meltfnum[2] = 0 ;
6500 /*^clear*/
6501 /*clear*/ /*_.LNAME__V7*/
6502 meltfptr[6] = 0 ;
6503 /*^clear*/
6504 /*clear*/ /*_#IS_STRING__L6*/
6505 meltfnum[4] = 0 ;
6506 /*^clear*/
6507 /*clear*/ /*_.RNAME__V11*/
6508 meltfptr[8] = 0 ;
6509 /*^clear*/
6510 /*clear*/ /*_._IFELSE___V15*/
6511 meltfptr[7] = 0 ;
6512 /*^clear*/
6513 /*clear*/ /*_.RETURN___V20*/
6514 meltfptr[13] = 0 ;
6516 MELT_CHECK_SIGNAL();
6518 MELT_LOCATION("warmelt-base.melt:3964:/ quasiblock");
6521 /*_._RETVAL___V1*/
6522 meltfptr[0] = /*_.LET___V6*/ meltfptr[4];;
6525 MELT_LOCATION("warmelt-base.melt:3964:/ locexp");
6526 /*ochecknores compilobj_nrep_return*/
6527 #if MELT_HAVE_DEBUG
6528 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
6529 melt_warn_for_no_expected_secondary_results();
6530 /* we warned when secondary results are expected but not returned. */
6531 #endif /*MELT_HAVE_DEBUG*/
6535 /*^finalreturn*/
6537 /*finalret*/
6538 goto meltlabend_rout ;
6539 /*epilog*/
6541 /*^clear*/
6542 /*clear*/ /*_#eqeq__L1*/
6543 meltfnum[0] = 0 ;
6544 /*^clear*/
6545 /*clear*/ /*_._IF___V4*/
6546 meltfptr[3] = 0 ;
6547 /*^clear*/
6548 /*clear*/ /*_.LET___V6*/
6549 meltfptr[4] = 0 ;
6553 goto meltlabend_rout;
6554 meltlabend_rout:
6555 melt_trace_end("JSON_NAME_EQUAL", meltcallcount);
6556 melt_blocklevel_signals = current_blocklevel_signals_meltrout_43_WARMELTmiBASE_JSON_NAME_EQUAL_melt;
6557 return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]);
6558 #undef meltcallcount
6559 #undef meltfram__
6560 #undef MELTFRAM_NBVARNUM
6561 #undef MELTFRAM_NBVARPTR
6562 } /*end meltrout_43_WARMELTmiBASE_JSON_NAME_EQUAL*/
6569 melt_ptr_t MELT_MODULE_VISIBILITY
6570 meltrout_44_WARMELTmiBASE_JSON_CANONICAL_NAME(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
6571 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
6573 long current_blocklevel_signals_meltrout_44_WARMELTmiBASE_JSON_CANONICAL_NAME_melt = melt_blocklevel_signals;
6575 #if MELT_HAVE_DEBUG
6576 static long melt_call_counter__;
6577 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
6578 #undef meltcallcount
6579 #define meltcallcount melt_thiscallcounter__
6580 #else
6581 #undef meltcallcount
6582 #define meltcallcount 0L
6583 #endif
6584 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
6586 /* start of frame for routine meltrout_44_WARMELTmiBASE_JSON_CANONICAL_NAME fromline 1752 */
6588 /** start of frame for meltrout_44_WARMELTmiBASE_JSON_CANONICAL_NAME of CLASS_PROCROUTINEOBJ from 1555**/
6590 /*curframdeclclassy*/ class MeltFrame_meltrout_44_WARMELTmiBASE_JSON_CANONICAL_NAME// fromline 1568
6591 : public Melt_CallFrameWithValues<24>
6593 public: /* fromline 1572*/
6594 long mcfr_varnum[10];
6595 /*classy others*/
6596 long _meltsparel;
6597 void melt_mark_stuff (void)
6599 } /*end melt_mark_stuff*/
6600 virtual void melt_mark_ggc_data (void)
6602 melt_mark_values ();
6603 melt_mark_stuff ();
6604 }; /*end melt_mark_ggc_data*/
6605 MeltFrame_meltrout_44_WARMELTmiBASE_JSON_CANONICAL_NAME(meltclosure_ptr_t clos) //the closure constructor fromline 1630
6606 : Melt_CallFrameWithValues<24> (
6607 #if ENABLE_CHECKING /*fromline 1634*/
6608 __FILE__, __LINE__,
6609 #endif /* ENABLE_CHECKING fromline 1638*/
6610 sizeof(MeltFrame_meltrout_44_WARMELTmiBASE_JSON_CANONICAL_NAME), clos) {};
6611 MeltFrame_meltrout_44_WARMELTmiBASE_JSON_CANONICAL_NAME() //the constructor fromline 1642
6612 : Melt_CallFrameWithValues<24> (
6613 #if ENABLE_CHECKING /*fromline 1646*/
6614 __FILE__, __LINE__,
6615 #endif /* ENABLE_CHECKING fromline 1650*/
6616 sizeof(MeltFrame_meltrout_44_WARMELTmiBASE_JSON_CANONICAL_NAME)) {};
6617 #if ENABLE_CHECKING /*fromline 1654*/
6618 MeltFrame_meltrout_44_WARMELTmiBASE_JSON_CANONICAL_NAME(const char*fil, int lin) //the constructor fromline 1656
6619 : Melt_CallFrameWithValues<24> (fil,lin, sizeof(MeltFrame_meltrout_44_WARMELTmiBASE_JSON_CANONICAL_NAME)) {};
6620 MeltFrame_meltrout_44_WARMELTmiBASE_JSON_CANONICAL_NAME(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
6621 : Melt_CallFrameWithValues<24> (fil,lin, sizeof(MeltFrame_meltrout_44_WARMELTmiBASE_JSON_CANONICAL_NAME), clos) {};
6622 #endif /* ENABLE_CHECKING fromline 1666*/
6624 }; // end class MeltFrame_meltrout_44_WARMELTmiBASE_JSON_CANONICAL_NAME
6627 /** end of frame for meltrout_44_WARMELTmiBASE_JSON_CANONICAL_NAME fromline 1697**/
6629 /* end of frame for routine meltrout_44_WARMELTmiBASE_JSON_CANONICAL_NAME fromline 1756 */
6631 /* classy proc frame meltrout_44_WARMELTmiBASE_JSON_CANONICAL_NAME */
6632 MeltFrame_meltrout_44_WARMELTmiBASE_JSON_CANONICAL_NAME
6633 meltfram__ /*declfrastruct fromline 1780*/
6634 /*classyprocarg meltrout_44_WARMELTmiBASE_JSON_CANONICAL_NAME fromline 1785*/
6635 #if ENABLE_CHECKING
6636 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
6637 #else /*ENABLE_CHECKING */
6638 (meltclosp_) /* fromline 1793*/
6639 #endif /*ENABLE_CHECKING */
6642 #define meltframe meltfram__
6644 melt_trace_start("JSON_CANONICAL_NAME", meltcallcount);
6645 /*use arguments*/
6646 (void) meltclosp_;
6647 (void)meltfirstargp_;
6648 (void)meltxargdescr_;
6649 (void)meltxargtab_;
6650 (void)meltxresdescr_;
6651 (void)meltxrestab_;
6652 /*getargs*/
6654 /*getarg#0*/
6655 MELT_LOCATION("warmelt-base.melt:3985:/ getarg");
6656 /*_.N__V2*/
6657 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
6659 goto meltlab_endgetargs;
6660 meltlab_endgetargs:
6662 /*body*/
6663 /*^block*/
6664 /*anyblock*/
6668 MELT_CHECK_SIGNAL();
6670 /*_#IS_STRINGCONST__L1*/
6671 meltfnum[0] =
6672 (melt_is_string_const((melt_ptr_t)(/*_.N__V2*/ meltfptr[1]), ( "json_false")));;
6673 MELT_LOCATION("warmelt-base.melt:3991:/ cond");
6674 /*cond*/
6675 if (/*_#IS_STRINGCONST__L1*/ meltfnum[0]) /*then*/
6677 /*^cond.then*/
6678 /*_._IFELSE___V3*/ meltfptr[2] = /*_.N__V2*/ meltfptr[1];;
6680 else
6682 MELT_LOCATION("warmelt-base.melt:3991:/ cond.else");
6684 /*^block*/
6685 /*anyblock*/
6689 MELT_CHECK_SIGNAL();
6691 /*_#IS_STRINGCONST__L2*/
6692 meltfnum[1] =
6693 (melt_is_string_const((melt_ptr_t)(/*_.N__V2*/ meltfptr[1]), ( "true")));;
6694 MELT_LOCATION("warmelt-base.melt:3993:/ cond");
6695 /*cond*/
6696 if (/*_#IS_STRINGCONST__L2*/ meltfnum[1]) /*then*/
6698 /*^cond.then*/
6699 /*_._IFELSE___V4*/ meltfptr[3] = /*_.N__V2*/ meltfptr[1];;
6701 else
6703 MELT_LOCATION("warmelt-base.melt:3993:/ cond.else");
6705 /*^block*/
6706 /*anyblock*/
6710 MELT_CHECK_SIGNAL();
6712 /*_#IS_STRINGCONST__L3*/
6713 meltfnum[2] =
6714 (melt_is_string_const((melt_ptr_t)(/*_.N__V2*/ meltfptr[1]), ( "null")));;
6715 MELT_LOCATION("warmelt-base.melt:3995:/ cond");
6716 /*cond*/
6717 if (/*_#IS_STRINGCONST__L3*/ meltfnum[2]) /*then*/
6719 /*^cond.then*/
6720 /*_._IFELSE___V5*/ meltfptr[4] = /*_.N__V2*/ meltfptr[1];;
6722 else
6724 MELT_LOCATION("warmelt-base.melt:3995:/ cond.else");
6726 /*^block*/
6727 /*anyblock*/
6731 MELT_CHECK_SIGNAL();
6733 /*_#IS_STRING__L4*/
6734 meltfnum[3] =
6735 (melt_magic_discr((melt_ptr_t)(/*_.N__V2*/ meltfptr[1])) == MELTOBMAG_STRING);;
6736 MELT_LOCATION("warmelt-base.melt:3998:/ cond");
6737 /*cond*/
6738 if (/*_#IS_STRING__L4*/ meltfnum[3]) /*then*/
6740 /*^cond.then*/
6741 /*^block*/
6742 /*anyblock*/
6745 MELT_LOCATION("warmelt-base.melt:3999:/ quasiblock");
6748 /*_#NAMLEN__L5*/
6749 meltfnum[4] =
6750 melt_string_length((melt_ptr_t)(/*_.N__V2*/ meltfptr[1]));;
6751 /*^compute*/
6752 /*_.GET_SYMBOLSTR__V8*/
6753 meltfptr[7] =
6754 melthookproc_HOOK_NAMED_SYMBOL (melt_string_str((melt_ptr_t)(/*_.N__V2*/ meltfptr[1])), (long)MELT_GET);;
6755 MELT_LOCATION("warmelt-base.melt:4000:/ cond");
6756 /*cond*/
6757 if (/*_.GET_SYMBOLSTR__V8*/ meltfptr[7]) /*then*/
6759 /*^cond.then*/
6760 /*_.NAMED__V9*/ meltfptr[8] = /*_.GET_SYMBOLSTR__V8*/ meltfptr[7];;
6762 else
6764 MELT_LOCATION("warmelt-base.melt:4000:/ cond.else");
6766 /*^block*/
6767 /*anyblock*/
6770 /*_.GET_KEYWORDSTR__V10*/ meltfptr[9] =
6771 melthookproc_HOOK_NAMED_KEYWORD (melt_string_str((melt_ptr_t)(/*_.N__V2*/ meltfptr[1])), (long) MELT_GET);;
6772 /*^compute*/
6773 /*_.NAMED__V9*/
6774 meltfptr[8] = /*_.GET_KEYWORDSTR__V10*/ meltfptr[9];;
6775 /*epilog*/
6777 MELT_LOCATION("warmelt-base.melt:4000:/ clear");
6778 /*clear*/ /*_.GET_KEYWORDSTR__V10*/
6779 meltfptr[9] = 0 ;
6784 /*_#BAD__L6*/
6785 meltfnum[5] =
6786 (/*null*/(/*_.NAMED__V9*/ meltfptr[8]) == NULL);;
6787 MELT_LOCATION("warmelt-base.melt:4002:/ cond");
6788 /*cond*/
6789 if (
6790 /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.NAMED__V9*/ meltfptr[8]),
6791 (melt_ptr_t)((/*!CLASS_NAMED*/ meltfrout->tabval[0])))
6792 ) /*then*/
6794 /*^cond.then*/
6795 /*^getslot*/
6797 melt_ptr_t slot=NULL, obj=NULL;
6798 obj = (melt_ptr_t)(/*_.NAMED__V9*/ meltfptr[8]) /*=obj*/;
6799 melt_object_get_field(slot,obj, 1, "NAMED_NAME");
6800 /*_.NAMSTR__V11*/
6801 meltfptr[9] = slot;
6805 else /*^cond.else*/
6808 /*_.NAMSTR__V11*/ meltfptr[9] = /*reallynil*/ NULL ;;
6812 MELT_CHECK_SIGNAL();
6814 /*^compute*/
6815 /*_#IS_STRING__L7*/
6816 meltfnum[6] =
6817 (melt_magic_discr((melt_ptr_t)(/*_.NAMSTR__V11*/ meltfptr[9])) == MELTOBMAG_STRING);;
6818 MELT_LOCATION("warmelt-base.melt:4005:/ cond");
6819 /*cond*/
6820 if (/*_#IS_STRING__L7*/ meltfnum[6]) /*then*/
6822 /*^cond.then*/
6823 /*^block*/
6824 /*anyblock*/
6828 #if MELT_HAVE_DEBUG
6829 MELT_LOCATION("warmelt-base.melt:4006:/ cppif.then");
6830 /*^block*/
6831 /*anyblock*/
6835 MELT_CHECK_SIGNAL();
6837 /*_#STRING_LENGTH__L8*/
6838 meltfnum[7] =
6839 melt_string_length((melt_ptr_t)(/*_.NAMSTR__V11*/ meltfptr[9]));;
6840 /*^compute*/
6841 /*_#eqeqI__L9*/
6842 meltfnum[8] =
6843 ((/*_#STRING_LENGTH__L8*/ meltfnum[7]) == (/*_#NAMLEN__L5*/ meltfnum[4]));;
6844 MELT_LOCATION("warmelt-base.melt:4006:/ cond");
6845 /*cond*/
6846 if (/*_#eqeqI__L9*/ meltfnum[8]) /*then*/
6848 /*^cond.then*/
6849 /*_._IFELSE___V14*/ meltfptr[13] = (/*nil*/NULL);;
6851 else
6853 MELT_LOCATION("warmelt-base.melt:4006:/ cond.else");
6855 /*^block*/
6856 /*anyblock*/
6860 MELT_CHECK_SIGNAL();
6862 /*^apply*/
6863 /*apply*/
6865 union meltparam_un argtab[5];
6866 memset(&argtab, 0, sizeof(argtab));
6867 /*^apply.arg*/
6868 argtab[0].meltbp_cstring = "check namestrlen";
6869 /*^apply.arg*/
6870 argtab[1].meltbp_cstring = "warmelt-base.melt";
6871 /*^apply.arg*/
6872 argtab[2].meltbp_long = 4006;
6873 /*^apply.arg*/
6874 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.NAMSTR__V11*/ meltfptr[9];
6875 /*^apply.arg*/
6876 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.N__V2*/ meltfptr[1];
6877 /*_.MELT_ASSERT_FAILURE_FUN__V15*/
6878 meltfptr[14] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[1])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
6881 /*_._IFELSE___V14*/
6882 meltfptr[13] = /*_.MELT_ASSERT_FAILURE_FUN__V15*/ meltfptr[14];;
6883 /*epilog*/
6885 MELT_LOCATION("warmelt-base.melt:4006:/ clear");
6886 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V15*/
6887 meltfptr[14] = 0 ;
6892 /*_.IFCPP___V13*/
6893 meltfptr[12] = /*_._IFELSE___V14*/ meltfptr[13];;
6894 /*epilog*/
6896 MELT_LOCATION("warmelt-base.melt:4006:/ clear");
6897 /*clear*/ /*_#STRING_LENGTH__L8*/
6898 meltfnum[7] = 0 ;
6899 /*^clear*/
6900 /*clear*/ /*_#eqeqI__L9*/
6901 meltfnum[8] = 0 ;
6902 /*^clear*/
6903 /*clear*/ /*_._IFELSE___V14*/
6904 meltfptr[13] = 0 ;
6907 #else /*MELT_HAVE_DEBUG*/
6908 /*^cppif.else*/
6909 /*_.IFCPP___V13*/ meltfptr[12] = (/*nil*/NULL);
6910 #endif /*MELT_HAVE_DEBUG*/
6914 MELT_LOCATION("warmelt-base.melt:4007:/ locexp");
6915 /* json_canonical_name COMPAREUPCASE_CHK__1 */
6916 const char* ncstr = melt_string_str(/*_.N__V2*/ meltfptr[1]);
6917 const char* namcstr = melt_string_str(/*_.NAMSTR__V11*/ meltfptr[9]);
6918 gcc_assert (ncstr != NULL);
6919 gcc_assert (namcstr != NULL);
6920 unsigned nlen = (unsigned)/*_#NAMLEN__L5*/ meltfnum[4];
6921 for (unsigned ix=0;
6922 ix<nlen && !/*_#BAD__L6*/ meltfnum[5];
6923 ix++)
6925 char nc = ncstr[ix];
6926 char namc = namcstr[ix];
6927 if (ISUPPER(nc))
6928 /*_#BAD__L6*/ meltfnum[5] = 1;
6929 else if (ISALPHA(nc) && ISALPHA(namc))
6930 /*_#BAD__L6*/ meltfnum[5] = TOUPPER(nc) != namc;
6931 else
6932 /*_#BAD__L6*/ meltfnum[5] = nc != namc;
6933 }; // end for ix
6934 /* end json_canonical_name COMPAREUPCASE_CHK__1 */;
6938 MELT_CHECK_SIGNAL();
6940 MELT_LOCATION("warmelt-base.melt:4029:/ cond");
6941 /*cond*/
6942 if (/*_#BAD__L6*/ meltfnum[5]) /*then*/
6944 /*^cond.then*/
6945 /*^block*/
6946 /*anyblock*/
6950 MELT_CHECK_SIGNAL();
6952 /*^quasiblock*/
6955 /*_._RETVAL___V1*/
6956 meltfptr[0] = /*_.N__V2*/ meltfptr[1];;
6959 MELT_LOCATION("warmelt-base.melt:4029:/ locexp");
6960 /*ochecknores compilobj_nrep_return*/
6961 #if MELT_HAVE_DEBUG
6962 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
6963 melt_warn_for_no_expected_secondary_results();
6964 /* we warned when secondary results are expected but not returned. */
6965 #endif /*MELT_HAVE_DEBUG*/
6969 /*^finalreturn*/
6971 /*finalret*/
6972 goto meltlabend_rout ;
6973 /*_._IFELSE___V16*/
6974 meltfptr[14] = /*_.RETURN___V17*/ meltfptr[13];;
6975 /*epilog*/
6977 MELT_LOCATION("warmelt-base.melt:4029:/ clear");
6978 /*clear*/ /*_.RETURN___V17*/
6979 meltfptr[13] = 0 ;
6983 else /*^cond.else*/
6986 /*^block*/
6987 /*anyblock*/
6991 MELT_CHECK_SIGNAL();
6993 /*^quasiblock*/
6996 /*_._RETVAL___V1*/
6997 meltfptr[0] = /*_.NAMED__V9*/ meltfptr[8];;
7000 MELT_LOCATION("warmelt-base.melt:4029:/ locexp");
7001 /*ochecknores compilobj_nrep_return*/
7002 #if MELT_HAVE_DEBUG
7003 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
7004 melt_warn_for_no_expected_secondary_results();
7005 /* we warned when secondary results are expected but not returned. */
7006 #endif /*MELT_HAVE_DEBUG*/
7010 /*^finalreturn*/
7012 /*finalret*/
7013 goto meltlabend_rout ;
7014 /*_._IFELSE___V16*/
7015 meltfptr[14] = /*_.RETURN___V18*/ meltfptr[13];;
7016 /*epilog*/
7018 MELT_LOCATION("warmelt-base.melt:4029:/ clear");
7019 /*clear*/ /*_.RETURN___V18*/
7020 meltfptr[13] = 0 ;
7025 MELT_LOCATION("warmelt-base.melt:4005:/ quasiblock");
7028 /*_.PROGN___V19*/
7029 meltfptr[13] = /*_._IFELSE___V16*/ meltfptr[14];;
7030 /*^compute*/
7031 /*_._IFELSE___V12*/
7032 meltfptr[11] = /*_.PROGN___V19*/ meltfptr[13];;
7033 /*epilog*/
7035 MELT_LOCATION("warmelt-base.melt:4005:/ clear");
7036 /*clear*/ /*_.IFCPP___V13*/
7037 meltfptr[12] = 0 ;
7038 /*^clear*/
7039 /*clear*/ /*_._IFELSE___V16*/
7040 meltfptr[14] = 0 ;
7041 /*^clear*/
7042 /*clear*/ /*_.PROGN___V19*/
7043 meltfptr[13] = 0 ;
7047 else /*^cond.else*/
7050 /*^block*/
7051 /*anyblock*/
7055 MELT_CHECK_SIGNAL();
7057 MELT_LOCATION("warmelt-base.melt:4032:/ quasiblock");
7060 /*_._RETVAL___V1*/
7061 meltfptr[0] = /*_.N__V2*/ meltfptr[1];;
7064 MELT_LOCATION("warmelt-base.melt:4032:/ locexp");
7065 /*ochecknores compilobj_nrep_return*/
7066 #if MELT_HAVE_DEBUG
7067 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
7068 melt_warn_for_no_expected_secondary_results();
7069 /* we warned when secondary results are expected but not returned. */
7070 #endif /*MELT_HAVE_DEBUG*/
7074 /*^finalreturn*/
7076 /*finalret*/
7077 goto meltlabend_rout ;
7078 MELT_LOCATION("warmelt-base.melt:4031:/ quasiblock");
7081 /*_.PROGN___V21*/
7082 meltfptr[14] = /*_.RETURN___V20*/ meltfptr[12];;
7083 /*^compute*/
7084 /*_._IFELSE___V12*/
7085 meltfptr[11] = /*_.PROGN___V21*/ meltfptr[14];;
7086 /*epilog*/
7088 MELT_LOCATION("warmelt-base.melt:4005:/ clear");
7089 /*clear*/ /*_.RETURN___V20*/
7090 meltfptr[12] = 0 ;
7091 /*^clear*/
7092 /*clear*/ /*_.PROGN___V21*/
7093 meltfptr[14] = 0 ;
7098 /*_.LET___V7*/
7099 meltfptr[6] = /*_._IFELSE___V12*/ meltfptr[11];;
7101 MELT_LOCATION("warmelt-base.melt:3999:/ clear");
7102 /*clear*/ /*_#NAMLEN__L5*/
7103 meltfnum[4] = 0 ;
7104 /*^clear*/
7105 /*clear*/ /*_.GET_SYMBOLSTR__V8*/
7106 meltfptr[7] = 0 ;
7107 /*^clear*/
7108 /*clear*/ /*_.NAMED__V9*/
7109 meltfptr[8] = 0 ;
7110 /*^clear*/
7111 /*clear*/ /*_#BAD__L6*/
7112 meltfnum[5] = 0 ;
7113 /*^clear*/
7114 /*clear*/ /*_.NAMSTR__V11*/
7115 meltfptr[9] = 0 ;
7116 /*^clear*/
7117 /*clear*/ /*_#IS_STRING__L7*/
7118 meltfnum[6] = 0 ;
7119 /*^clear*/
7120 /*clear*/ /*_._IFELSE___V12*/
7121 meltfptr[11] = 0 ;
7122 /*_._IFELSE___V6*/
7123 meltfptr[5] = /*_.LET___V7*/ meltfptr[6];;
7124 /*epilog*/
7126 MELT_LOCATION("warmelt-base.melt:3998:/ clear");
7127 /*clear*/ /*_.LET___V7*/
7128 meltfptr[6] = 0 ;
7132 else /*^cond.else*/
7135 /*^block*/
7136 /*anyblock*/
7140 MELT_CHECK_SIGNAL();
7142 /*_#IS_A__L10*/
7143 meltfnum[7] =
7144 melt_is_instance_of((melt_ptr_t)(/*_.N__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_NAMED*/ meltfrout->tabval[0])));;
7145 MELT_LOCATION("warmelt-base.melt:4035:/ cond");
7146 /*cond*/
7147 if (/*_#IS_A__L10*/ meltfnum[7]) /*then*/
7149 /*^cond.then*/
7150 /*_._IFELSE___V22*/ meltfptr[13] = /*_.N__V2*/ meltfptr[1];;
7152 else
7154 MELT_LOCATION("warmelt-base.melt:4035:/ cond.else");
7156 /*^block*/
7157 /*anyblock*/
7161 MELT_CHECK_SIGNAL();
7163 MELT_LOCATION("warmelt-base.melt:4038:/ quasiblock");
7166 /*_._RETVAL___V1*/
7167 meltfptr[0] = (/*nil*/NULL);;
7170 MELT_LOCATION("warmelt-base.melt:4038:/ locexp");
7171 /*ochecknores compilobj_nrep_return*/
7172 #if MELT_HAVE_DEBUG
7173 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
7174 melt_warn_for_no_expected_secondary_results();
7175 /* we warned when secondary results are expected but not returned. */
7176 #endif /*MELT_HAVE_DEBUG*/
7180 /*^finalreturn*/
7182 /*finalret*/
7183 goto meltlabend_rout ;
7184 MELT_LOCATION("warmelt-base.melt:4037:/ quasiblock");
7187 /*_.PROGN___V24*/
7188 meltfptr[14] = /*_.RETURN___V23*/ meltfptr[12];;
7189 /*^compute*/
7190 /*_._IFELSE___V22*/
7191 meltfptr[13] = /*_.PROGN___V24*/ meltfptr[14];;
7192 /*epilog*/
7194 MELT_LOCATION("warmelt-base.melt:4035:/ clear");
7195 /*clear*/ /*_.RETURN___V23*/
7196 meltfptr[12] = 0 ;
7197 /*^clear*/
7198 /*clear*/ /*_.PROGN___V24*/
7199 meltfptr[14] = 0 ;
7204 /*_._IFELSE___V6*/
7205 meltfptr[5] = /*_._IFELSE___V22*/ meltfptr[13];;
7206 /*epilog*/
7208 MELT_LOCATION("warmelt-base.melt:3998:/ clear");
7209 /*clear*/ /*_#IS_A__L10*/
7210 meltfnum[7] = 0 ;
7211 /*^clear*/
7212 /*clear*/ /*_._IFELSE___V22*/
7213 meltfptr[13] = 0 ;
7218 /*_._IFELSE___V5*/
7219 meltfptr[4] = /*_._IFELSE___V6*/ meltfptr[5];;
7220 /*epilog*/
7222 MELT_LOCATION("warmelt-base.melt:3995:/ clear");
7223 /*clear*/ /*_#IS_STRING__L4*/
7224 meltfnum[3] = 0 ;
7225 /*^clear*/
7226 /*clear*/ /*_._IFELSE___V6*/
7227 meltfptr[5] = 0 ;
7232 /*_._IFELSE___V4*/
7233 meltfptr[3] = /*_._IFELSE___V5*/ meltfptr[4];;
7234 /*epilog*/
7236 MELT_LOCATION("warmelt-base.melt:3993:/ clear");
7237 /*clear*/ /*_#IS_STRINGCONST__L3*/
7238 meltfnum[2] = 0 ;
7239 /*^clear*/
7240 /*clear*/ /*_._IFELSE___V5*/
7241 meltfptr[4] = 0 ;
7246 /*_._IFELSE___V3*/
7247 meltfptr[2] = /*_._IFELSE___V4*/ meltfptr[3];;
7248 /*epilog*/
7250 MELT_LOCATION("warmelt-base.melt:3991:/ clear");
7251 /*clear*/ /*_#IS_STRINGCONST__L2*/
7252 meltfnum[1] = 0 ;
7253 /*^clear*/
7254 /*clear*/ /*_._IFELSE___V4*/
7255 meltfptr[3] = 0 ;
7260 MELT_LOCATION("warmelt-base.melt:3985:/ quasiblock");
7263 /*_._RETVAL___V1*/
7264 meltfptr[0] = /*_._IFELSE___V3*/ meltfptr[2];;
7267 MELT_LOCATION("warmelt-base.melt:3985:/ locexp");
7268 /*ochecknores compilobj_nrep_return*/
7269 #if MELT_HAVE_DEBUG
7270 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
7271 melt_warn_for_no_expected_secondary_results();
7272 /* we warned when secondary results are expected but not returned. */
7273 #endif /*MELT_HAVE_DEBUG*/
7277 /*^finalreturn*/
7279 /*finalret*/
7280 goto meltlabend_rout ;
7281 /*epilog*/
7283 /*^clear*/
7284 /*clear*/ /*_#IS_STRINGCONST__L1*/
7285 meltfnum[0] = 0 ;
7286 /*^clear*/
7287 /*clear*/ /*_._IFELSE___V3*/
7288 meltfptr[2] = 0 ;
7292 goto meltlabend_rout;
7293 meltlabend_rout:
7294 melt_trace_end("JSON_CANONICAL_NAME", meltcallcount);
7295 melt_blocklevel_signals = current_blocklevel_signals_meltrout_44_WARMELTmiBASE_JSON_CANONICAL_NAME_melt;
7296 return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]);
7297 #undef meltcallcount
7298 #undef meltfram__
7299 #undef MELTFRAM_NBVARNUM
7300 #undef MELTFRAM_NBVARPTR
7301 } /*end meltrout_44_WARMELTmiBASE_JSON_CANONICAL_NAME*/
7308 melt_ptr_t MELT_MODULE_VISIBILITY
7309 meltrout_45_WARMELTmiBASE_MAKE_JSONOBJECT(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
7310 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
7312 /*variadic*/ int variad_MAKE_JSONOBJECT_ix = 0, variad_MAKE_JSONOBJECT_len = melt_argdescr_length (meltxargdescr_);
7313 #define melt_variadic_length (0+variad_MAKE_JSONOBJECT_len)
7314 #define melt_variadic_index variad_MAKE_JSONOBJECT_ix
7316 long current_blocklevel_signals_meltrout_45_WARMELTmiBASE_MAKE_JSONOBJECT_melt = melt_blocklevel_signals;
7318 #if MELT_HAVE_DEBUG
7319 static long melt_call_counter__;
7320 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
7321 #undef meltcallcount
7322 #define meltcallcount melt_thiscallcounter__
7323 #else
7324 #undef meltcallcount
7325 #define meltcallcount 0L
7326 #endif
7327 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
7329 /* start of frame for routine meltrout_45_WARMELTmiBASE_MAKE_JSONOBJECT fromline 1752 */
7331 /** start of frame for meltrout_45_WARMELTmiBASE_MAKE_JSONOBJECT of CLASS_PROCROUTINEOBJ from 1555**/
7333 /*curframdeclclassy*/ class MeltFrame_meltrout_45_WARMELTmiBASE_MAKE_JSONOBJECT// fromline 1568
7334 : public Melt_CallFrameWithValues<100>
7336 public: /* fromline 1572*/
7337 long mcfr_varnum[33];
7338 /*classy others*/
7339 const char* loc_CSTRING__o0;
7340 const char* loc_CSTRING__o1;
7341 long _meltsparel;
7342 void melt_mark_stuff (void)
7344 } /*end melt_mark_stuff*/
7345 virtual void melt_mark_ggc_data (void)
7347 melt_mark_values ();
7348 melt_mark_stuff ();
7349 }; /*end melt_mark_ggc_data*/
7350 MeltFrame_meltrout_45_WARMELTmiBASE_MAKE_JSONOBJECT(meltclosure_ptr_t clos) //the closure constructor fromline 1630
7351 : Melt_CallFrameWithValues<100> (
7352 #if ENABLE_CHECKING /*fromline 1634*/
7353 __FILE__, __LINE__,
7354 #endif /* ENABLE_CHECKING fromline 1638*/
7355 sizeof(MeltFrame_meltrout_45_WARMELTmiBASE_MAKE_JSONOBJECT), clos) {};
7356 MeltFrame_meltrout_45_WARMELTmiBASE_MAKE_JSONOBJECT() //the constructor fromline 1642
7357 : Melt_CallFrameWithValues<100> (
7358 #if ENABLE_CHECKING /*fromline 1646*/
7359 __FILE__, __LINE__,
7360 #endif /* ENABLE_CHECKING fromline 1650*/
7361 sizeof(MeltFrame_meltrout_45_WARMELTmiBASE_MAKE_JSONOBJECT)) {};
7362 #if ENABLE_CHECKING /*fromline 1654*/
7363 MeltFrame_meltrout_45_WARMELTmiBASE_MAKE_JSONOBJECT(const char*fil, int lin) //the constructor fromline 1656
7364 : Melt_CallFrameWithValues<100> (fil,lin, sizeof(MeltFrame_meltrout_45_WARMELTmiBASE_MAKE_JSONOBJECT)) {};
7365 MeltFrame_meltrout_45_WARMELTmiBASE_MAKE_JSONOBJECT(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
7366 : Melt_CallFrameWithValues<100> (fil,lin, sizeof(MeltFrame_meltrout_45_WARMELTmiBASE_MAKE_JSONOBJECT), clos) {};
7367 #endif /* ENABLE_CHECKING fromline 1666*/
7369 }; // end class MeltFrame_meltrout_45_WARMELTmiBASE_MAKE_JSONOBJECT
7372 /** end of frame for meltrout_45_WARMELTmiBASE_MAKE_JSONOBJECT fromline 1697**/
7374 /* end of frame for routine meltrout_45_WARMELTmiBASE_MAKE_JSONOBJECT fromline 1756 */
7376 /* classy proc frame meltrout_45_WARMELTmiBASE_MAKE_JSONOBJECT */
7377 MeltFrame_meltrout_45_WARMELTmiBASE_MAKE_JSONOBJECT
7378 meltfram__ /*declfrastruct fromline 1780*/
7379 /*classyprocarg meltrout_45_WARMELTmiBASE_MAKE_JSONOBJECT fromline 1785*/
7380 #if ENABLE_CHECKING
7381 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
7382 #else /*ENABLE_CHECKING */
7383 (meltclosp_) /* fromline 1793*/
7384 #endif /*ENABLE_CHECKING */
7387 #define meltframe meltfram__
7389 melt_trace_start("MAKE_JSONOBJECT", meltcallcount);
7390 /*use arguments*/
7391 (void) meltclosp_;
7392 (void)meltfirstargp_;
7393 (void)meltxargdescr_;
7394 (void)meltxargtab_;
7395 (void)meltxresdescr_;
7396 (void)meltxrestab_;
7397 /*getargs*/
7399 /*getarg#0*/
7400 MELT_LOCATION("warmelt-base.melt:4041:/ getarg");
7401 /*_.DIS__V2*/
7402 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
7404 goto meltlab_endgetargs;
7405 meltlab_endgetargs:
7407 /*body*/
7408 /*^block*/
7409 /*anyblock*/
7413 MELT_CHECK_SIGNAL();
7415 /*_#NULL__L1*/
7416 meltfnum[0] =
7417 (/*null*/(/*_.DIS__V2*/ meltfptr[1]) == NULL);;
7418 MELT_LOCATION("warmelt-base.melt:4047:/ cond");
7419 /*cond*/
7420 if (/*_#NULL__L1*/ meltfnum[0]) /*then*/
7422 /*^cond.then*/
7423 /*^block*/
7424 /*anyblock*/
7427 /*^compute*/
7428 /*_.DIS__V2*/ meltfptr[1] = /*_.SETQ___V4*/ meltfptr[3] = (/*!DISCR_JSONOBJECT*/ meltfrout->tabval[0]);;
7429 /*_._IF___V3*/
7430 meltfptr[2] = /*_.SETQ___V4*/ meltfptr[3];;
7431 /*epilog*/
7433 MELT_LOCATION("warmelt-base.melt:4047:/ clear");
7434 /*clear*/ /*_.SETQ___V4*/
7435 meltfptr[3] = 0 ;
7439 else /*^cond.else*/
7442 /*_._IF___V3*/ meltfptr[2] = /*reallynil*/ NULL ;;
7446 MELT_CHECK_SIGNAL();
7448 /*^compute*/
7449 /*_#IS_NOT_A__L2*/
7450 meltfnum[1] =
7451 !melt_is_instance_of((melt_ptr_t)(/*_.DIS__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_DISCRIMINANT*/ meltfrout->tabval[1])));;
7452 MELT_LOCATION("warmelt-base.melt:4048:/ cond");
7453 /*cond*/
7454 if (/*_#IS_NOT_A__L2*/ meltfnum[1]) /*then*/
7456 /*^cond.then*/
7457 /*^block*/
7458 /*anyblock*/
7462 MELT_CHECK_SIGNAL();
7464 MELT_LOCATION("warmelt-base.melt:4049:/ quasiblock");
7467 /*_._RETVAL___V1*/
7468 meltfptr[0] = (/*nil*/NULL);;
7471 MELT_LOCATION("warmelt-base.melt:4049:/ locexp");
7472 /*ochecknores compilobj_nrep_return*/
7473 #if MELT_HAVE_DEBUG
7474 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
7475 melt_warn_for_no_expected_secondary_results();
7476 /* we warned when secondary results are expected but not returned. */
7477 #endif /*MELT_HAVE_DEBUG*/
7481 /*^finalreturn*/
7483 /*finalret*/
7484 goto meltlabend_rout ;
7485 MELT_LOCATION("warmelt-base.melt:4048:/ quasiblock");
7488 /*_.PROGN___V7*/
7489 meltfptr[6] = /*_.RETURN___V6*/ meltfptr[5];;
7490 /*^compute*/
7491 /*_._IF___V5*/
7492 meltfptr[3] = /*_.PROGN___V7*/ meltfptr[6];;
7493 /*epilog*/
7495 MELT_LOCATION("warmelt-base.melt:4048:/ clear");
7496 /*clear*/ /*_.RETURN___V6*/
7497 meltfptr[5] = 0 ;
7498 /*^clear*/
7499 /*clear*/ /*_.PROGN___V7*/
7500 meltfptr[6] = 0 ;
7504 else /*^cond.else*/
7507 /*_._IF___V5*/ meltfptr[3] = /*reallynil*/ NULL ;;
7511 MELT_CHECK_SIGNAL();
7513 /*^compute*/
7514 /*_#TESTDIS_CHK__L3*/
7515 meltfnum[2] =
7516 /*melt_make_jsonobject TESTDIS_CHK__1*/
7517 !/*_.DIS__V2*/ meltfptr[1] || ((meltobject_ptr_t)/*_.DIS__V2*/ meltfptr[1])->meltobj_magic != MELTOBMAG_JSONOBJECT;;
7518 MELT_LOCATION("warmelt-base.melt:4050:/ cond");
7519 /*cond*/
7520 if (/*_#TESTDIS_CHK__L3*/ meltfnum[2]) /*then*/
7522 /*^cond.then*/
7523 /*^block*/
7524 /*anyblock*/
7528 MELT_CHECK_SIGNAL();
7530 MELT_LOCATION("warmelt-base.melt:4052:/ quasiblock");
7533 /*_._RETVAL___V1*/
7534 meltfptr[0] = (/*nil*/NULL);;
7537 MELT_LOCATION("warmelt-base.melt:4052:/ locexp");
7538 /*ochecknores compilobj_nrep_return*/
7539 #if MELT_HAVE_DEBUG
7540 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
7541 melt_warn_for_no_expected_secondary_results();
7542 /* we warned when secondary results are expected but not returned. */
7543 #endif /*MELT_HAVE_DEBUG*/
7547 /*^finalreturn*/
7549 /*finalret*/
7550 goto meltlabend_rout ;
7551 MELT_LOCATION("warmelt-base.melt:4050:/ quasiblock");
7554 /*_.PROGN___V10*/
7555 meltfptr[9] = /*_.RETURN___V9*/ meltfptr[6];;
7556 /*^compute*/
7557 /*_._IF___V8*/
7558 meltfptr[5] = /*_.PROGN___V10*/ meltfptr[9];;
7559 /*epilog*/
7561 MELT_LOCATION("warmelt-base.melt:4050:/ clear");
7562 /*clear*/ /*_.RETURN___V9*/
7563 meltfptr[6] = 0 ;
7564 /*^clear*/
7565 /*clear*/ /*_.PROGN___V10*/
7566 meltfptr[9] = 0 ;
7570 else /*^cond.else*/
7573 /*_._IF___V8*/ meltfptr[5] = /*reallynil*/ NULL ;;
7576 MELT_LOCATION("warmelt-base.melt:4053:/ quasiblock");
7579 /*_.LISTENTRIES__V12*/
7580 meltfptr[9] =
7581 (meltgc_new_list((meltobject_ptr_t)((/*!DISCR_LIST*/ meltfrout->tabval[2]))));;
7582 MELT_LOCATION("warmelt-base.melt:4055:/ loop");
7583 /*loop*/
7585 meltlabloop_ARGLOOP_7:;/*^loopbody*/
7587 /*^block*/
7588 /*anyblock*/
7592 MELT_CHECK_SIGNAL();
7594 MELT_LOCATION("warmelt-base.melt:4057:/ quasiblock");
7597 /*_.CURNAME__V16*/
7598 meltfptr[15] = (/*nil*/NULL);;
7599 /*^compute*/
7600 /*_.CURVAL__V17*/
7601 meltfptr[16] = (/*nil*/NULL);;
7602 /*^compute*/
7603 /*_.NAMETUP__V18*/
7604 meltfptr[17] = (/*nil*/NULL);;
7605 /*^compute*/
7606 /*_.VALTUP__V19*/
7607 meltfptr[18] = (/*nil*/NULL);;
7608 MELT_LOCATION("warmelt-base.melt:4063:/ cond");
7609 /*cond*/
7610 if (/*ifvariadic nomore*/ variad_MAKE_JSONOBJECT_ix == variad_MAKE_JSONOBJECT_len) /*then*/
7612 /*^cond.then*/
7613 /*^block*/
7614 /*anyblock*/
7617 /*^compute*/
7619 /*consume variadic !*/ variad_MAKE_JSONOBJECT_ix += 0;;
7620 /*^quasiblock*/
7623 /*^compute*/
7624 /*_.ARGLOOP__V14*/
7625 meltfptr[13] = /*reallynil*/ NULL ;;
7627 /*^exit*/
7628 /*exit*/
7630 goto meltlabexit_ARGLOOP_7;
7633 /*epilog*/
7637 else /*^cond.else*/
7640 /*^block*/
7641 /*anyblock*/
7644 MELT_LOCATION("warmelt-base.melt:4064:/ cond");
7645 /*cond*/
7646 if (/*ifvariadic arg#1*/ variad_MAKE_JSONOBJECT_ix>=0 && variad_MAKE_JSONOBJECT_ix + 1 <= variad_MAKE_JSONOBJECT_len && meltxargdescr_[variad_MAKE_JSONOBJECT_ix]== MELTBPAR_CSTRING) /*then*/
7648 /*^cond.then*/
7649 /*^block*/
7650 /*anyblock*/
7653 /*^compute*/
7654 /*_?*/ meltfram__.loc_CSTRING__o0 =
7655 /*variadic argument stuff*/ meltxargtab_[variad_MAKE_JSONOBJECT_ix + 0].meltbp_cstring;;
7656 /*^compute*/
7658 /*consume variadic CSTRING !*/
7659 variad_MAKE_JSONOBJECT_ix += 1;;
7660 /*_.MAKE_STRINGCONST__V20*/
7661 meltfptr[19] =
7662 (meltgc_new_stringdup((meltobject_ptr_t)((/*!DISCR_STRING*/ meltfrout->tabval[3])), (/*_?*/ meltfram__.loc_CSTRING__o0)));;
7663 MELT_LOCATION("warmelt-base.melt:4064:/ compute");
7664 /*_.CURNAME__V16*/
7665 meltfptr[15] = /*_.SETQ___V21*/ meltfptr[20] = /*_.MAKE_STRINGCONST__V20*/ meltfptr[19];;
7668 /*^locexp*/
7669 /*void*/(void)0;
7673 MELT_CHECK_SIGNAL();
7675 /*epilog*/
7677 /*^clear*/
7678 /*clear*/ /*_?*/
7679 meltfram__.loc_CSTRING__o0 = 0 ;
7680 /*^clear*/
7681 /*clear*/ /*_.MAKE_STRINGCONST__V20*/
7682 meltfptr[19] = 0 ;
7683 /*^clear*/
7684 /*clear*/ /*_.SETQ___V21*/
7685 meltfptr[20] = 0 ;
7689 else /*^cond.else*/
7692 /*^block*/
7693 /*anyblock*/
7696 MELT_LOCATION("warmelt-base.melt:4065:/ cond");
7697 /*cond*/
7698 if (/*ifvariadic arg#1*/ variad_MAKE_JSONOBJECT_ix>=0 && variad_MAKE_JSONOBJECT_ix + 1 <= variad_MAKE_JSONOBJECT_len && meltxargdescr_[variad_MAKE_JSONOBJECT_ix]== MELTBPAR_LONG) /*then*/
7700 /*^cond.then*/
7701 /*^block*/
7702 /*anyblock*/
7705 /*^compute*/
7706 /*_#LNAME__L4*/ meltfnum[3] =
7707 /*variadic argument stuff*/ meltxargtab_[variad_MAKE_JSONOBJECT_ix + 0].meltbp_long;;
7708 /*^compute*/
7710 /*consume variadic LONG !*/
7711 variad_MAKE_JSONOBJECT_ix += 1;;
7713 MELT_CHECK_SIGNAL();
7715 /*^apply*/
7716 /*apply*/
7718 union meltparam_un argtab[1];
7719 memset(&argtab, 0, sizeof(argtab));
7720 /*^apply.arg*/
7721 argtab[0].meltbp_long = /*_#LNAME__L4*/ meltfnum[3];
7722 /*_.STRING4OUT__V22*/
7723 meltfptr[19] = melt_apply ((meltclosure_ptr_t)((/*!STRING4OUT*/ meltfrout->tabval[4])), (melt_ptr_t)((/*!DISCR_STRING*/ meltfrout->tabval[3])), (MELTBPARSTR_LONG ""), argtab, "", (union meltparam_un*)0);
7726 /*^compute*/
7727 /*_.CURNAME__V16*/
7728 meltfptr[15] = /*_.SETQ___V23*/ meltfptr[20] = /*_.STRING4OUT__V22*/ meltfptr[19];;
7729 /*epilog*/
7731 /*^clear*/
7732 /*clear*/ /*_#LNAME__L4*/
7733 meltfnum[3] = 0 ;
7734 /*^clear*/
7735 /*clear*/ /*_.STRING4OUT__V22*/
7736 meltfptr[19] = 0 ;
7737 /*^clear*/
7738 /*clear*/ /*_.SETQ___V23*/
7739 meltfptr[20] = 0 ;
7743 else /*^cond.else*/
7746 /*^block*/
7747 /*anyblock*/
7750 MELT_LOCATION("warmelt-base.melt:4066:/ cond");
7751 /*cond*/
7752 if (/*ifvariadic arg#1*/ variad_MAKE_JSONOBJECT_ix>=0 && variad_MAKE_JSONOBJECT_ix + 1 <= variad_MAKE_JSONOBJECT_len && meltxargdescr_[variad_MAKE_JSONOBJECT_ix]== MELTBPAR_PTR) /*then*/
7754 /*^cond.then*/
7755 /*^block*/
7756 /*anyblock*/
7759 /*^compute*/
7760 /*_.VNAME__V24*/ meltfptr[19] =
7761 /*variadic argument value*/ ((meltxargtab_[variad_MAKE_JSONOBJECT_ix + 0].meltbp_aptr) ? (*(meltxargtab_[variad_MAKE_JSONOBJECT_ix + 0].meltbp_aptr)) : NULL);;
7762 /*^compute*/
7764 /*consume variadic Value !*/
7765 variad_MAKE_JSONOBJECT_ix += 1;;
7767 MELT_CHECK_SIGNAL();
7769 /*_#IS_A__L5*/
7770 meltfnum[3] =
7771 melt_is_instance_of((melt_ptr_t)(/*_.VNAME__V24*/ meltfptr[19]), (melt_ptr_t)((/*!CLASS_NAMED*/ meltfrout->tabval[5])));;
7772 MELT_LOCATION("warmelt-base.melt:4067:/ cond");
7773 /*cond*/
7774 if (/*_#IS_A__L5*/ meltfnum[3]) /*then*/
7776 /*^cond.then*/
7777 /*^block*/
7778 /*anyblock*/
7781 /*^compute*/
7782 /*_.CURNAME__V16*/ meltfptr[15] = /*_.SETQ___V26*/ meltfptr[25] = /*_.VNAME__V24*/ meltfptr[19];;
7783 /*_._IFELSE___V25*/
7784 meltfptr[20] = /*_.SETQ___V26*/ meltfptr[25];;
7785 /*epilog*/
7787 MELT_LOCATION("warmelt-base.melt:4067:/ clear");
7788 /*clear*/ /*_.SETQ___V26*/
7789 meltfptr[25] = 0 ;
7793 else /*^cond.else*/
7796 /*^block*/
7797 /*anyblock*/
7801 MELT_CHECK_SIGNAL();
7803 /*_#IS_STRING__L6*/
7804 meltfnum[5] =
7805 (melt_magic_discr((melt_ptr_t)(/*_.VNAME__V24*/ meltfptr[19])) == MELTOBMAG_STRING);;
7806 MELT_LOCATION("warmelt-base.melt:4068:/ cond");
7807 /*cond*/
7808 if (/*_#IS_STRING__L6*/ meltfnum[5]) /*then*/
7810 /*^cond.then*/
7811 /*^block*/
7812 /*anyblock*/
7816 MELT_CHECK_SIGNAL();
7818 /*^apply*/
7819 /*apply*/
7821 /*_.JSON_CANONICAL_NAME__V28*/ meltfptr[27] = melt_apply ((meltclosure_ptr_t)((/*!JSON_CANONICAL_NAME*/ meltfrout->tabval[6])), (melt_ptr_t)(/*_.VNAME__V24*/ meltfptr[19]), (""), (union meltparam_un*)0, "", (union meltparam_un*)0);
7824 /*^compute*/
7825 /*_.CURNAME__V16*/
7826 meltfptr[15] = /*_.SETQ___V29*/ meltfptr[28] = /*_.JSON_CANONICAL_NAME__V28*/ meltfptr[27];;
7827 /*_._IFELSE___V27*/
7828 meltfptr[25] = /*_.SETQ___V29*/ meltfptr[28];;
7829 /*epilog*/
7831 MELT_LOCATION("warmelt-base.melt:4068:/ clear");
7832 /*clear*/ /*_.JSON_CANONICAL_NAME__V28*/
7833 meltfptr[27] = 0 ;
7834 /*^clear*/
7835 /*clear*/ /*_.SETQ___V29*/
7836 meltfptr[28] = 0 ;
7840 else /*^cond.else*/
7843 /*^block*/
7844 /*anyblock*/
7848 MELT_CHECK_SIGNAL();
7850 /*_#IS_MULTIPLE__L7*/
7851 meltfnum[6] =
7852 (melt_magic_discr((melt_ptr_t)(/*_.VNAME__V24*/ meltfptr[19])) == MELTOBMAG_MULTIPLE);;
7853 MELT_LOCATION("warmelt-base.melt:4069:/ cond");
7854 /*cond*/
7855 if (/*_#IS_MULTIPLE__L7*/ meltfnum[6]) /*then*/
7857 /*^cond.then*/
7858 /*^block*/
7859 /*anyblock*/
7862 /*^compute*/
7863 /*_.NAMETUP__V18*/ meltfptr[17] = /*_.SETQ___V31*/ meltfptr[28] = /*_.VNAME__V24*/ meltfptr[19];;
7864 /*_._IFELSE___V30*/
7865 meltfptr[27] = /*_.SETQ___V31*/ meltfptr[28];;
7866 /*epilog*/
7868 MELT_LOCATION("warmelt-base.melt:4069:/ clear");
7869 /*clear*/ /*_.SETQ___V31*/
7870 meltfptr[28] = 0 ;
7874 else /*^cond.else*/
7877 /*^block*/
7878 /*anyblock*/
7882 MELT_CHECK_SIGNAL();
7884 /*_#IS_LIST__L8*/
7885 meltfnum[7] =
7886 (melt_magic_discr((melt_ptr_t)(/*_.VNAME__V24*/ meltfptr[19])) == MELTOBMAG_LIST);;
7887 MELT_LOCATION("warmelt-base.melt:4070:/ cond");
7888 /*cond*/
7889 if (/*_#IS_LIST__L8*/ meltfnum[7]) /*then*/
7891 /*^cond.then*/
7892 /*^block*/
7893 /*anyblock*/
7897 MELT_CHECK_SIGNAL();
7899 /*^apply*/
7900 /*apply*/
7902 /*_.LIST_TO_MULTIPLE__V33*/ meltfptr[32] = melt_apply ((meltclosure_ptr_t)((/*!LIST_TO_MULTIPLE*/ meltfrout->tabval[7])), (melt_ptr_t)(/*_.VNAME__V24*/ meltfptr[19]), (""), (union meltparam_un*)0, "", (union meltparam_un*)0);
7905 /*^compute*/
7906 /*_.NAMETUP__V18*/
7907 meltfptr[17] = /*_.SETQ___V34*/ meltfptr[33] = /*_.LIST_TO_MULTIPLE__V33*/ meltfptr[32];;
7908 /*_._IFELSE___V32*/
7909 meltfptr[28] = /*_.SETQ___V34*/ meltfptr[33];;
7910 /*epilog*/
7912 MELT_LOCATION("warmelt-base.melt:4070:/ clear");
7913 /*clear*/ /*_.LIST_TO_MULTIPLE__V33*/
7914 meltfptr[32] = 0 ;
7915 /*^clear*/
7916 /*clear*/ /*_.SETQ___V34*/
7917 meltfptr[33] = 0 ;
7921 else /*^cond.else*/
7924 /*^block*/
7925 /*anyblock*/
7930 MELT_LOCATION("warmelt-base.melt:4071:/ locexp");
7931 /*void*/
7932 (void)0;
7935 /*^quasiblock*/
7938 /*epilog*/
7943 /*_._IFELSE___V30*/
7944 meltfptr[27] = /*_._IFELSE___V32*/ meltfptr[28];;
7945 /*epilog*/
7947 MELT_LOCATION("warmelt-base.melt:4069:/ clear");
7948 /*clear*/ /*_#IS_LIST__L8*/
7949 meltfnum[7] = 0 ;
7950 /*^clear*/
7951 /*clear*/ /*_._IFELSE___V32*/
7952 meltfptr[28] = 0 ;
7957 /*_._IFELSE___V27*/
7958 meltfptr[25] = /*_._IFELSE___V30*/ meltfptr[27];;
7959 /*epilog*/
7961 MELT_LOCATION("warmelt-base.melt:4068:/ clear");
7962 /*clear*/ /*_#IS_MULTIPLE__L7*/
7963 meltfnum[6] = 0 ;
7964 /*^clear*/
7965 /*clear*/ /*_._IFELSE___V30*/
7966 meltfptr[27] = 0 ;
7971 /*_._IFELSE___V25*/
7972 meltfptr[20] = /*_._IFELSE___V27*/ meltfptr[25];;
7973 /*epilog*/
7975 MELT_LOCATION("warmelt-base.melt:4067:/ clear");
7976 /*clear*/ /*_#IS_STRING__L6*/
7977 meltfnum[5] = 0 ;
7978 /*^clear*/
7979 /*clear*/ /*_._IFELSE___V27*/
7980 meltfptr[25] = 0 ;
7985 /*epilog*/
7987 MELT_LOCATION("warmelt-base.melt:4066:/ clear");
7988 /*clear*/ /*_.VNAME__V24*/
7989 meltfptr[19] = 0 ;
7990 /*^clear*/
7991 /*clear*/ /*_#IS_A__L5*/
7992 meltfnum[3] = 0 ;
7993 /*^clear*/
7994 /*clear*/ /*_._IFELSE___V25*/
7995 meltfptr[20] = 0 ;
7999 else /*^cond.else*/
8002 /*^block*/
8003 /*anyblock*/
8008 MELT_LOCATION("warmelt-base.melt:4073:/ locexp");
8009 /*void*/
8010 (void)0;
8013 /*epilog*/
8018 /*epilog*/
8023 /*epilog*/
8028 /*epilog*/
8033 MELT_LOCATION("warmelt-base.melt:4075:/ cond");
8034 /*cond*/
8035 if (/*ifvariadic nomore*/ variad_MAKE_JSONOBJECT_ix == variad_MAKE_JSONOBJECT_len) /*then*/
8037 /*^cond.then*/
8038 /*^block*/
8039 /*anyblock*/
8042 /*^compute*/
8044 /*consume variadic !*/ variad_MAKE_JSONOBJECT_ix += 0;;
8045 /*^quasiblock*/
8048 /*^compute*/
8049 /*_.ARGLOOP__V14*/
8050 meltfptr[13] = /*reallynil*/ NULL ;;
8052 /*^exit*/
8053 /*exit*/
8055 goto meltlabexit_ARGLOOP_7;
8058 /*epilog*/
8062 else /*^cond.else*/
8065 /*^block*/
8066 /*anyblock*/
8069 MELT_LOCATION("warmelt-base.melt:4077:/ cond");
8070 /*cond*/
8071 if (/*ifvariadic arg#1*/ variad_MAKE_JSONOBJECT_ix>=0 && variad_MAKE_JSONOBJECT_ix + 1 <= variad_MAKE_JSONOBJECT_len && meltxargdescr_[variad_MAKE_JSONOBJECT_ix]== MELTBPAR_CSTRING) /*then*/
8073 /*^cond.then*/
8074 /*^block*/
8075 /*anyblock*/
8078 /*^compute*/
8079 /*_?*/ meltfram__.loc_CSTRING__o1 =
8080 /*variadic argument stuff*/ meltxargtab_[variad_MAKE_JSONOBJECT_ix + 0].meltbp_cstring;;
8081 /*^compute*/
8083 /*consume variadic CSTRING !*/
8084 variad_MAKE_JSONOBJECT_ix += 1;;
8085 /*_.BOX__V35*/
8086 meltfptr[32] =
8087 /*full constboxing*/ /*ctype_cstring boxing*/ meltgc_new_stringdup((meltobject_ptr_t) (((melt_ptr_t)(MELT_PREDEF(DISCR_STRING)))), (/*_?*/ meltfram__.loc_CSTRING__o1));;
8088 MELT_LOCATION("warmelt-base.melt:4077:/ compute");
8089 /*_.CURVAL__V17*/
8090 meltfptr[16] = /*_.SETQ___V36*/ meltfptr[33] = /*_.BOX__V35*/ meltfptr[32];;
8093 /*^locexp*/
8094 /*void*/(void)0;
8098 MELT_CHECK_SIGNAL();
8100 /*epilog*/
8102 /*^clear*/
8103 /*clear*/ /*_?*/
8104 meltfram__.loc_CSTRING__o1 = 0 ;
8105 /*^clear*/
8106 /*clear*/ /*_.BOX__V35*/
8107 meltfptr[32] = 0 ;
8108 /*^clear*/
8109 /*clear*/ /*_.SETQ___V36*/
8110 meltfptr[33] = 0 ;
8114 else /*^cond.else*/
8117 /*^block*/
8118 /*anyblock*/
8121 MELT_LOCATION("warmelt-base.melt:4078:/ cond");
8122 /*cond*/
8123 if (/*ifvariadic arg#1*/ variad_MAKE_JSONOBJECT_ix>=0 && variad_MAKE_JSONOBJECT_ix + 1 <= variad_MAKE_JSONOBJECT_len && meltxargdescr_[variad_MAKE_JSONOBJECT_ix]== MELTBPAR_LONG) /*then*/
8125 /*^cond.then*/
8126 /*^block*/
8127 /*anyblock*/
8130 /*^compute*/
8131 /*_#L__L9*/ meltfnum[7] =
8132 /*variadic argument stuff*/ meltxargtab_[variad_MAKE_JSONOBJECT_ix + 0].meltbp_long;;
8133 /*^compute*/
8135 /*consume variadic LONG !*/
8136 variad_MAKE_JSONOBJECT_ix += 1;;
8137 /*_.BOX__V37*/
8138 meltfptr[28] =
8139 /*full constboxing*/ /*boxing ctype_long*/ meltgc_new_int((meltobject_ptr_t) (((melt_ptr_t)(MELT_PREDEF(DISCR_CONSTANT_INTEGER)))), (/*_#L__L9*/ meltfnum[7]));;
8140 MELT_LOCATION("warmelt-base.melt:4078:/ compute");
8141 /*_.CURVAL__V17*/
8142 meltfptr[16] = /*_.SETQ___V38*/ meltfptr[27] = /*_.BOX__V37*/ meltfptr[28];;
8143 /*epilog*/
8145 /*^clear*/
8146 /*clear*/ /*_#L__L9*/
8147 meltfnum[7] = 0 ;
8148 /*^clear*/
8149 /*clear*/ /*_.BOX__V37*/
8150 meltfptr[28] = 0 ;
8151 /*^clear*/
8152 /*clear*/ /*_.SETQ___V38*/
8153 meltfptr[27] = 0 ;
8157 else /*^cond.else*/
8160 /*^block*/
8161 /*anyblock*/
8164 MELT_LOCATION("warmelt-base.melt:4079:/ cond");
8165 /*cond*/
8166 if (/*ifvariadic arg#1*/ variad_MAKE_JSONOBJECT_ix>=0 && variad_MAKE_JSONOBJECT_ix + 1 <= variad_MAKE_JSONOBJECT_len && meltxargdescr_[variad_MAKE_JSONOBJECT_ix]== MELTBPAR_PTR) /*then*/
8168 /*^cond.then*/
8169 /*^block*/
8170 /*anyblock*/
8173 /*^compute*/
8174 /*_.V__V39*/ meltfptr[25] =
8175 /*variadic argument value*/ ((meltxargtab_[variad_MAKE_JSONOBJECT_ix + 0].meltbp_aptr) ? (*(meltxargtab_[variad_MAKE_JSONOBJECT_ix + 0].meltbp_aptr)) : NULL);;
8176 /*^compute*/
8178 /*consume variadic Value !*/
8179 variad_MAKE_JSONOBJECT_ix += 1;;
8181 MELT_CHECK_SIGNAL();
8183 /*_#IS_A__L10*/
8184 meltfnum[6] =
8185 melt_is_instance_of((melt_ptr_t)(/*_.V__V39*/ meltfptr[25]), (melt_ptr_t)((/*!CLASS_NAMED*/ meltfrout->tabval[5])));;
8186 MELT_LOCATION("warmelt-base.melt:4080:/ cond");
8187 /*cond*/
8188 if (/*_#IS_A__L10*/ meltfnum[6]) /*then*/
8190 /*^cond.then*/
8191 /*^block*/
8192 /*anyblock*/
8195 /*^compute*/
8196 /*_.CURVAL__V17*/ meltfptr[16] = /*_.SETQ___V41*/ meltfptr[20] = /*_.V__V39*/ meltfptr[25];;
8197 /*_._IFELSE___V40*/
8198 meltfptr[19] = /*_.SETQ___V41*/ meltfptr[20];;
8199 /*epilog*/
8201 MELT_LOCATION("warmelt-base.melt:4080:/ clear");
8202 /*clear*/ /*_.SETQ___V41*/
8203 meltfptr[20] = 0 ;
8207 else /*^cond.else*/
8210 /*^block*/
8211 /*anyblock*/
8215 MELT_CHECK_SIGNAL();
8217 /*_#IS_STRING__L11*/
8218 meltfnum[5] =
8219 (melt_magic_discr((melt_ptr_t)(/*_.V__V39*/ meltfptr[25])) == MELTOBMAG_STRING);;
8220 MELT_LOCATION("warmelt-base.melt:4081:/ cond");
8221 /*cond*/
8222 if (/*_#IS_STRING__L11*/ meltfnum[5]) /*then*/
8224 /*^cond.then*/
8225 /*^block*/
8226 /*anyblock*/
8230 MELT_CHECK_SIGNAL();
8232 /*^apply*/
8233 /*apply*/
8235 /*_.JSON_CANONICAL_NAME__V43*/ meltfptr[33] = melt_apply ((meltclosure_ptr_t)((/*!JSON_CANONICAL_NAME*/ meltfrout->tabval[6])), (melt_ptr_t)(/*_.V__V39*/ meltfptr[25]), (""), (union meltparam_un*)0, "", (union meltparam_un*)0);
8238 /*^compute*/
8239 /*_.CURVAL__V17*/
8240 meltfptr[16] = /*_.SETQ___V44*/ meltfptr[28] = /*_.JSON_CANONICAL_NAME__V43*/ meltfptr[33];;
8241 /*_._IFELSE___V42*/
8242 meltfptr[32] = /*_.SETQ___V44*/ meltfptr[28];;
8243 /*epilog*/
8245 MELT_LOCATION("warmelt-base.melt:4081:/ clear");
8246 /*clear*/ /*_.JSON_CANONICAL_NAME__V43*/
8247 meltfptr[33] = 0 ;
8248 /*^clear*/
8249 /*clear*/ /*_.SETQ___V44*/
8250 meltfptr[28] = 0 ;
8254 else /*^cond.else*/
8257 /*^block*/
8258 /*anyblock*/
8262 MELT_CHECK_SIGNAL();
8264 /*_#IS_INTEGERBOX__L12*/
8265 meltfnum[3] =
8266 (melt_magic_discr((melt_ptr_t)(/*_.V__V39*/ meltfptr[25])) == MELTOBMAG_INT);;
8267 MELT_LOCATION("warmelt-base.melt:4082:/ cond");
8268 /*cond*/
8269 if (/*_#IS_INTEGERBOX__L12*/ meltfnum[3]) /*then*/
8271 /*^cond.then*/
8272 /*^block*/
8273 /*anyblock*/
8276 /*^compute*/
8277 /*_.CURVAL__V17*/ meltfptr[16] = /*_.SETQ___V46*/ meltfptr[20] = /*_.V__V39*/ meltfptr[25];;
8278 /*_._IFELSE___V45*/
8279 meltfptr[27] = /*_.SETQ___V46*/ meltfptr[20];;
8280 /*epilog*/
8282 MELT_LOCATION("warmelt-base.melt:4082:/ clear");
8283 /*clear*/ /*_.SETQ___V46*/
8284 meltfptr[20] = 0 ;
8288 else /*^cond.else*/
8291 /*^block*/
8292 /*anyblock*/
8296 MELT_CHECK_SIGNAL();
8298 /*_#IS_MIXBIGINT__L13*/
8299 meltfnum[7] =
8300 (melt_magic_discr((melt_ptr_t)(/*_.V__V39*/ meltfptr[25])) == MELTOBMAG_MIXBIGINT);;
8301 MELT_LOCATION("warmelt-base.melt:4083:/ cond");
8302 /*cond*/
8303 if (/*_#IS_MIXBIGINT__L13*/ meltfnum[7]) /*then*/
8305 /*^cond.then*/
8306 /*^block*/
8307 /*anyblock*/
8310 /*^compute*/
8311 /*_.CURVAL__V17*/ meltfptr[16] = /*_.SETQ___V48*/ meltfptr[28] = /*_.V__V39*/ meltfptr[25];;
8312 /*_._IFELSE___V47*/
8313 meltfptr[33] = /*_.SETQ___V48*/ meltfptr[28];;
8314 /*epilog*/
8316 MELT_LOCATION("warmelt-base.melt:4083:/ clear");
8317 /*clear*/ /*_.SETQ___V48*/
8318 meltfptr[28] = 0 ;
8322 else /*^cond.else*/
8325 /*^block*/
8326 /*anyblock*/
8330 MELT_CHECK_SIGNAL();
8332 /*_#IS_MIXINT__L14*/
8333 meltfnum[13] =
8334 (melt_magic_discr((melt_ptr_t)(/*_.V__V39*/ meltfptr[25])) == MELTOBMAG_MIXINT);;
8335 MELT_LOCATION("warmelt-base.melt:4084:/ cond");
8336 /*cond*/
8337 if (/*_#IS_MIXINT__L14*/ meltfnum[13]) /*then*/
8339 /*^cond.then*/
8340 /*^block*/
8341 /*anyblock*/
8344 /*^compute*/
8345 /*_.CURVAL__V17*/ meltfptr[16] = /*_.SETQ___V50*/ meltfptr[28] = /*_.V__V39*/ meltfptr[25];;
8346 /*_._IFELSE___V49*/
8347 meltfptr[20] = /*_.SETQ___V50*/ meltfptr[28];;
8348 /*epilog*/
8350 MELT_LOCATION("warmelt-base.melt:4084:/ clear");
8351 /*clear*/ /*_.SETQ___V50*/
8352 meltfptr[28] = 0 ;
8356 else /*^cond.else*/
8359 /*^block*/
8360 /*anyblock*/
8364 MELT_CHECK_SIGNAL();
8366 /*_#IS_JSONOBJECT__L15*/
8367 meltfnum[14] =
8368 (melt_magic_discr((melt_ptr_t)(/*_.V__V39*/ meltfptr[25])) == MELTOBMAG_JSONOBJECT);;
8369 MELT_LOCATION("warmelt-base.melt:4085:/ cond");
8370 /*cond*/
8371 if (/*_#IS_JSONOBJECT__L15*/ meltfnum[14]) /*then*/
8373 /*^cond.then*/
8374 /*^block*/
8375 /*anyblock*/
8378 /*^compute*/
8379 /*_.CURVAL__V17*/ meltfptr[16] = /*_.SETQ___V52*/ meltfptr[51] = /*_.V__V39*/ meltfptr[25];;
8380 /*_._IFELSE___V51*/
8381 meltfptr[28] = /*_.SETQ___V52*/ meltfptr[51];;
8382 /*epilog*/
8384 MELT_LOCATION("warmelt-base.melt:4085:/ clear");
8385 /*clear*/ /*_.SETQ___V52*/
8386 meltfptr[51] = 0 ;
8390 else /*^cond.else*/
8393 /*^block*/
8394 /*anyblock*/
8398 MELT_CHECK_SIGNAL();
8400 /*_#IS_MULTIPLE__L16*/
8401 meltfnum[15] =
8402 (melt_magic_discr((melt_ptr_t)(/*_.V__V39*/ meltfptr[25])) == MELTOBMAG_MULTIPLE);;
8403 MELT_LOCATION("warmelt-base.melt:4086:/ cond");
8404 /*cond*/
8405 if (/*_#IS_MULTIPLE__L16*/ meltfnum[15]) /*then*/
8407 /*^cond.then*/
8408 /*^block*/
8409 /*anyblock*/
8413 MELT_CHECK_SIGNAL();
8415 /*^cond*/
8416 /*cond*/
8417 if (/*_.NAMETUP__V18*/ meltfptr[17]) /*then*/
8419 /*^cond.then*/
8420 /*^block*/
8421 /*anyblock*/
8424 MELT_LOCATION("warmelt-base.melt:4087:/ compute");
8425 /*_.VALTUP__V19*/
8426 meltfptr[18] = /*_.SETQ___V55*/ meltfptr[54] = /*_.V__V39*/ meltfptr[25];;
8427 /*_._IFELSE___V54*/
8428 meltfptr[53] = /*_.SETQ___V55*/ meltfptr[54];;
8429 /*epilog*/
8431 MELT_LOCATION("warmelt-base.melt:4086:/ clear");
8432 /*clear*/ /*_.SETQ___V55*/
8433 meltfptr[54] = 0 ;
8437 else /*^cond.else*/
8440 /*^block*/
8441 /*anyblock*/
8444 MELT_LOCATION("warmelt-base.melt:4088:/ compute");
8445 /*_.CURVAL__V17*/
8446 meltfptr[16] = /*_.SETQ___V56*/ meltfptr[54] = /*_.V__V39*/ meltfptr[25];;
8447 /*_._IFELSE___V54*/
8448 meltfptr[53] = /*_.SETQ___V56*/ meltfptr[54];;
8449 /*epilog*/
8451 MELT_LOCATION("warmelt-base.melt:4086:/ clear");
8452 /*clear*/ /*_.SETQ___V56*/
8453 meltfptr[54] = 0 ;
8458 /*_._IFELSE___V53*/
8459 meltfptr[51] = /*_._IFELSE___V54*/ meltfptr[53];;
8460 /*epilog*/
8462 MELT_LOCATION("warmelt-base.melt:4086:/ clear");
8463 /*clear*/ /*_._IFELSE___V54*/
8464 meltfptr[53] = 0 ;
8468 else /*^cond.else*/
8471 /*^block*/
8472 /*anyblock*/
8476 MELT_CHECK_SIGNAL();
8478 /*_#IS_LIST__L17*/
8479 meltfnum[16] =
8480 (melt_magic_discr((melt_ptr_t)(/*_.V__V39*/ meltfptr[25])) == MELTOBMAG_LIST);;
8481 MELT_LOCATION("warmelt-base.melt:4089:/ cond");
8482 /*cond*/
8483 if (/*_#IS_LIST__L17*/ meltfnum[16]) /*then*/
8485 /*^cond.then*/
8486 /*^block*/
8487 /*anyblock*/
8491 MELT_CHECK_SIGNAL();
8493 /*^cond*/
8494 /*cond*/
8495 if (/*_.NAMETUP__V18*/ meltfptr[17]) /*then*/
8497 /*^cond.then*/
8498 /*^block*/
8499 /*anyblock*/
8503 MELT_CHECK_SIGNAL();
8505 MELT_LOCATION("warmelt-base.melt:4090:/ apply");
8506 /*apply*/
8508 /*_.LIST_TO_MULTIPLE__V59*/ meltfptr[58] = melt_apply ((meltclosure_ptr_t)((/*!LIST_TO_MULTIPLE*/ meltfrout->tabval[7])), (melt_ptr_t)(/*_.V__V39*/ meltfptr[25]), (""), (union meltparam_un*)0, "", (union meltparam_un*)0);
8511 /*^compute*/
8512 /*_.VALTUP__V19*/
8513 meltfptr[18] = /*_.SETQ___V60*/ meltfptr[59] = /*_.LIST_TO_MULTIPLE__V59*/ meltfptr[58];;
8514 /*_._IFELSE___V58*/
8515 meltfptr[53] = /*_.SETQ___V60*/ meltfptr[59];;
8516 /*epilog*/
8518 MELT_LOCATION("warmelt-base.melt:4089:/ clear");
8519 /*clear*/ /*_.LIST_TO_MULTIPLE__V59*/
8520 meltfptr[58] = 0 ;
8521 /*^clear*/
8522 /*clear*/ /*_.SETQ___V60*/
8523 meltfptr[59] = 0 ;
8527 else /*^cond.else*/
8530 /*^block*/
8531 /*anyblock*/
8534 MELT_LOCATION("warmelt-base.melt:4091:/ compute");
8535 /*_.CURVAL__V17*/
8536 meltfptr[16] = /*_.SETQ___V61*/ meltfptr[58] = /*_.V__V39*/ meltfptr[25];;
8537 /*_._IFELSE___V58*/
8538 meltfptr[53] = /*_.SETQ___V61*/ meltfptr[58];;
8539 /*epilog*/
8541 MELT_LOCATION("warmelt-base.melt:4089:/ clear");
8542 /*clear*/ /*_.SETQ___V61*/
8543 meltfptr[58] = 0 ;
8548 /*_._IFELSE___V57*/
8549 meltfptr[54] = /*_._IFELSE___V58*/ meltfptr[53];;
8550 /*epilog*/
8552 MELT_LOCATION("warmelt-base.melt:4089:/ clear");
8553 /*clear*/ /*_._IFELSE___V58*/
8554 meltfptr[53] = 0 ;
8558 else /*^cond.else*/
8561 /*^block*/
8562 /*anyblock*/
8567 MELT_LOCATION("warmelt-base.melt:4092:/ locexp");
8568 /*void*/
8569 (void)0;
8572 /*^quasiblock*/
8575 /*epilog*/
8580 /*_._IFELSE___V53*/
8581 meltfptr[51] = /*_._IFELSE___V57*/ meltfptr[54];;
8582 /*epilog*/
8584 MELT_LOCATION("warmelt-base.melt:4086:/ clear");
8585 /*clear*/ /*_#IS_LIST__L17*/
8586 meltfnum[16] = 0 ;
8587 /*^clear*/
8588 /*clear*/ /*_._IFELSE___V57*/
8589 meltfptr[54] = 0 ;
8594 /*_._IFELSE___V51*/
8595 meltfptr[28] = /*_._IFELSE___V53*/ meltfptr[51];;
8596 /*epilog*/
8598 MELT_LOCATION("warmelt-base.melt:4085:/ clear");
8599 /*clear*/ /*_#IS_MULTIPLE__L16*/
8600 meltfnum[15] = 0 ;
8601 /*^clear*/
8602 /*clear*/ /*_._IFELSE___V53*/
8603 meltfptr[51] = 0 ;
8608 /*_._IFELSE___V49*/
8609 meltfptr[20] = /*_._IFELSE___V51*/ meltfptr[28];;
8610 /*epilog*/
8612 MELT_LOCATION("warmelt-base.melt:4084:/ clear");
8613 /*clear*/ /*_#IS_JSONOBJECT__L15*/
8614 meltfnum[14] = 0 ;
8615 /*^clear*/
8616 /*clear*/ /*_._IFELSE___V51*/
8617 meltfptr[28] = 0 ;
8622 /*_._IFELSE___V47*/
8623 meltfptr[33] = /*_._IFELSE___V49*/ meltfptr[20];;
8624 /*epilog*/
8626 MELT_LOCATION("warmelt-base.melt:4083:/ clear");
8627 /*clear*/ /*_#IS_MIXINT__L14*/
8628 meltfnum[13] = 0 ;
8629 /*^clear*/
8630 /*clear*/ /*_._IFELSE___V49*/
8631 meltfptr[20] = 0 ;
8636 /*_._IFELSE___V45*/
8637 meltfptr[27] = /*_._IFELSE___V47*/ meltfptr[33];;
8638 /*epilog*/
8640 MELT_LOCATION("warmelt-base.melt:4082:/ clear");
8641 /*clear*/ /*_#IS_MIXBIGINT__L13*/
8642 meltfnum[7] = 0 ;
8643 /*^clear*/
8644 /*clear*/ /*_._IFELSE___V47*/
8645 meltfptr[33] = 0 ;
8650 /*_._IFELSE___V42*/
8651 meltfptr[32] = /*_._IFELSE___V45*/ meltfptr[27];;
8652 /*epilog*/
8654 MELT_LOCATION("warmelt-base.melt:4081:/ clear");
8655 /*clear*/ /*_#IS_INTEGERBOX__L12*/
8656 meltfnum[3] = 0 ;
8657 /*^clear*/
8658 /*clear*/ /*_._IFELSE___V45*/
8659 meltfptr[27] = 0 ;
8664 /*_._IFELSE___V40*/
8665 meltfptr[19] = /*_._IFELSE___V42*/ meltfptr[32];;
8666 /*epilog*/
8668 MELT_LOCATION("warmelt-base.melt:4080:/ clear");
8669 /*clear*/ /*_#IS_STRING__L11*/
8670 meltfnum[5] = 0 ;
8671 /*^clear*/
8672 /*clear*/ /*_._IFELSE___V42*/
8673 meltfptr[32] = 0 ;
8678 /*epilog*/
8680 MELT_LOCATION("warmelt-base.melt:4079:/ clear");
8681 /*clear*/ /*_.V__V39*/
8682 meltfptr[25] = 0 ;
8683 /*^clear*/
8684 /*clear*/ /*_#IS_A__L10*/
8685 meltfnum[6] = 0 ;
8686 /*^clear*/
8687 /*clear*/ /*_._IFELSE___V40*/
8688 meltfptr[19] = 0 ;
8692 else /*^cond.else*/
8695 /*^block*/
8696 /*anyblock*/
8701 MELT_LOCATION("warmelt-base.melt:4093:/ locexp");
8702 /*void*/
8703 (void)0;
8706 /*epilog*/
8711 /*epilog*/
8716 /*epilog*/
8721 /*epilog*/
8727 MELT_CHECK_SIGNAL();
8729 MELT_LOCATION("warmelt-base.melt:4095:/ cond");
8730 /*cond*/
8731 if (/*_.CURNAME__V16*/ meltfptr[15]) /*then*/
8733 /*^cond.then*/
8734 /*^block*/
8735 /*anyblock*/
8738 MELT_LOCATION("warmelt-base.melt:4096:/ blockmultialloc");
8739 /*multiallocblock*/
8741 struct meltletrec_1_st
8743 struct MELT_MULTIPLE_STRUCT(2) rtup_0__TUPLREC__x2;
8744 long meltletrec_1_endgap;
8745 } *meltletrec_1_ptr = 0;
8746 meltletrec_1_ptr = (struct meltletrec_1_st *) meltgc_allocate (sizeof (struct meltletrec_1_st), 0);
8747 /*^blockmultialloc.initfill*/
8748 /*inimult rtup_0__TUPLREC__x2*/
8749 /*_.TUPLREC___V64*/
8750 meltfptr[53] = (melt_ptr_t) &meltletrec_1_ptr->rtup_0__TUPLREC__x2;
8751 meltletrec_1_ptr->rtup_0__TUPLREC__x2.discr = (meltobject_ptr_t)(((melt_ptr_t)(MELT_PREDEF(DISCR_MULTIPLE))));
8752 meltletrec_1_ptr->rtup_0__TUPLREC__x2.nbval = 2;
8755 /*^putuple*/
8756 /*putupl#4*/
8757 melt_assertmsg("putupl [:4096] #4 checktup", melt_magic_discr((melt_ptr_t)(/*_.TUPLREC___V64*/ meltfptr[53]))== MELTOBMAG_MULTIPLE);
8758 melt_assertmsg("putupl [:4096] #4 checkoff", (0>=0 && 0< melt_multiple_length((melt_ptr_t)(/*_.TUPLREC___V64*/ meltfptr[53]))));
8759 ((meltmultiple_ptr_t)(/*_.TUPLREC___V64*/ meltfptr[53]))->tabval[0] = (melt_ptr_t)(/*_.CURNAME__V16*/ meltfptr[15]);
8761 /*^putuple*/
8762 /*putupl#5*/
8763 melt_assertmsg("putupl [:4096] #5 checktup", melt_magic_discr((melt_ptr_t)(/*_.TUPLREC___V64*/ meltfptr[53]))== MELTOBMAG_MULTIPLE);
8764 melt_assertmsg("putupl [:4096] #5 checkoff", (1>=0 && 1< melt_multiple_length((melt_ptr_t)(/*_.TUPLREC___V64*/ meltfptr[53]))));
8765 ((meltmultiple_ptr_t)(/*_.TUPLREC___V64*/ meltfptr[53]))->tabval[1] = (melt_ptr_t)(/*_.CURVAL__V17*/ meltfptr[16]);
8767 /*^touch*/
8768 meltgc_touch(/*_.TUPLREC___V64*/ meltfptr[53]);
8770 /*_.TUPLE___V63*/
8771 meltfptr[58] = /*_.TUPLREC___V64*/ meltfptr[53];;
8772 /*epilog*/
8774 MELT_LOCATION("warmelt-base.melt:4096:/ clear");
8775 /*clear*/ /*_.TUPLREC___V64*/
8776 meltfptr[53] = 0 ;
8777 /*^clear*/
8778 /*clear*/ /*_.TUPLREC___V64*/
8779 meltfptr[53] = 0 ;
8780 } /*end multiallocblock*/
8786 /*^locexp*/
8787 meltgc_append_list((melt_ptr_t)(/*_.LISTENTRIES__V12*/ meltfptr[9]), (melt_ptr_t)(/*_.TUPLE___V63*/ meltfptr[58]));
8790 /*clear*/ /*_._IFELSE___V62*/
8791 meltfptr[59] = 0 ;
8792 /*epilog*/
8794 MELT_LOCATION("warmelt-base.melt:4095:/ clear");
8795 /*clear*/ /*_.TUPLE___V63*/
8796 meltfptr[58] = 0 ;
8800 else /*^cond.else*/
8803 /*^block*/
8804 /*anyblock*/
8808 MELT_CHECK_SIGNAL();
8810 MELT_LOCATION("warmelt-base.melt:4097:/ cond");
8811 /*cond*/
8812 if (/*_.NAMETUP__V18*/ meltfptr[17]) /*then*/
8814 /*^cond.then*/
8815 /*^block*/
8816 /*anyblock*/
8819 /*citerblock FOREACH_IN_MULTIPLE*/
8821 /* start foreach_in_multiple meltcit1__EACHTUP */
8822 long meltcit1__EACHTUP_ln = melt_multiple_length((melt_ptr_t)/*_.NAMETUP__V18*/ meltfptr[17]);
8823 for (/*_#NIX__L18*/ meltfnum[16] = 0;
8824 (/*_#NIX__L18*/ meltfnum[16] >= 0) && (/*_#NIX__L18*/ meltfnum[16] < meltcit1__EACHTUP_ln);
8825 /*_#NIX__L18*/ meltfnum[16]++)
8827 /*_.CURNAMELEM__V66*/ meltfptr[51] = melt_multiple_nth((melt_ptr_t)(/*_.NAMETUP__V18*/ meltfptr[17]), /*_#NIX__L18*/ meltfnum[16]);
8831 MELT_LOCATION("warmelt-base.melt:4101:/ quasiblock");
8834 /*_.CURVALELEM__V67*/
8835 meltfptr[28] =
8836 (melt_multiple_nth((melt_ptr_t)(/*_.VALTUP__V19*/ meltfptr[18]), (/*_#NIX__L18*/ meltfnum[16])));;
8838 MELT_CHECK_SIGNAL();
8840 /*^compute*/
8841 /*_#IS_STRING__L19*/
8842 meltfnum[15] =
8843 (melt_magic_discr((melt_ptr_t)(/*_.CURVALELEM__V67*/ meltfptr[28])) == MELTOBMAG_STRING);;
8844 MELT_LOCATION("warmelt-base.melt:4102:/ cond");
8845 /*cond*/
8846 if (/*_#IS_STRING__L19*/ meltfnum[15]) /*then*/
8848 /*^cond.then*/
8849 /*^block*/
8850 /*anyblock*/
8854 MELT_CHECK_SIGNAL();
8856 /*^apply*/
8857 /*apply*/
8859 /*_.JSON_CANONICAL_NAME__V69*/ meltfptr[33] = melt_apply ((meltclosure_ptr_t)((/*!JSON_CANONICAL_NAME*/ meltfrout->tabval[6])), (melt_ptr_t)(/*_.CURVALELEM__V67*/ meltfptr[28]), (""), (union meltparam_un*)0, "", (union meltparam_un*)0);
8862 /*^compute*/
8863 /*_.CURVALELEM__V67*/
8864 meltfptr[28] = /*_.SETQ___V70*/ meltfptr[27] = /*_.JSON_CANONICAL_NAME__V69*/ meltfptr[33];;
8865 /*_._IF___V68*/
8866 meltfptr[20] = /*_.SETQ___V70*/ meltfptr[27];;
8867 /*epilog*/
8869 MELT_LOCATION("warmelt-base.melt:4102:/ clear");
8870 /*clear*/ /*_.JSON_CANONICAL_NAME__V69*/
8871 meltfptr[33] = 0 ;
8872 /*^clear*/
8873 /*clear*/ /*_.SETQ___V70*/
8874 meltfptr[27] = 0 ;
8878 else /*^cond.else*/
8881 /*_._IF___V68*/ meltfptr[20] = /*reallynil*/ NULL ;;
8885 MELT_CHECK_SIGNAL();
8887 /*^compute*/
8888 /*_#IS_STRING__L20*/
8889 meltfnum[14] =
8890 (melt_magic_discr((melt_ptr_t)(/*_.CURNAMELEM__V66*/ meltfptr[51])) == MELTOBMAG_STRING);;
8891 MELT_LOCATION("warmelt-base.melt:4104:/ cond");
8892 /*cond*/
8893 if (/*_#IS_STRING__L20*/ meltfnum[14]) /*then*/
8895 /*^cond.then*/
8896 /*^block*/
8897 /*anyblock*/
8901 MELT_CHECK_SIGNAL();
8903 MELT_LOCATION("warmelt-base.melt:4105:/ apply");
8904 /*apply*/
8906 /*_.JSON_CANONICAL_NAME__V71*/ meltfptr[32] = melt_apply ((meltclosure_ptr_t)((/*!JSON_CANONICAL_NAME*/ meltfrout->tabval[6])), (melt_ptr_t)(/*_.CURNAMELEM__V66*/ meltfptr[51]), (""), (union meltparam_un*)0, "", (union meltparam_un*)0);
8909 /*^blockmultialloc*/
8910 /*multiallocblock*/
8912 struct meltletrec_2_st
8914 struct MELT_MULTIPLE_STRUCT(2) rtup_0__TUPLREC__x3;
8915 long meltletrec_2_endgap;
8916 } *meltletrec_2_ptr = 0;
8917 meltletrec_2_ptr = (struct meltletrec_2_st *) meltgc_allocate (sizeof (struct meltletrec_2_st), 0);
8918 /*^blockmultialloc.initfill*/
8919 /*inimult rtup_0__TUPLREC__x3*/
8920 /*_.TUPLREC___V73*/
8921 meltfptr[19] = (melt_ptr_t) &meltletrec_2_ptr->rtup_0__TUPLREC__x3;
8922 meltletrec_2_ptr->rtup_0__TUPLREC__x3.discr = (meltobject_ptr_t)(((melt_ptr_t)(MELT_PREDEF(DISCR_MULTIPLE))));
8923 meltletrec_2_ptr->rtup_0__TUPLREC__x3.nbval = 2;
8926 /*^putuple*/
8927 /*putupl#6*/
8928 melt_assertmsg("putupl [:4105] #6 checktup", melt_magic_discr((melt_ptr_t)(/*_.TUPLREC___V73*/ meltfptr[19]))== MELTOBMAG_MULTIPLE);
8929 melt_assertmsg("putupl [:4105] #6 checkoff", (0>=0 && 0< melt_multiple_length((melt_ptr_t)(/*_.TUPLREC___V73*/ meltfptr[19]))));
8930 ((meltmultiple_ptr_t)(/*_.TUPLREC___V73*/ meltfptr[19]))->tabval[0] = (melt_ptr_t)(/*_.JSON_CANONICAL_NAME__V71*/ meltfptr[32]);
8932 /*^putuple*/
8933 /*putupl#7*/
8934 melt_assertmsg("putupl [:4105] #7 checktup", melt_magic_discr((melt_ptr_t)(/*_.TUPLREC___V73*/ meltfptr[19]))== MELTOBMAG_MULTIPLE);
8935 melt_assertmsg("putupl [:4105] #7 checkoff", (1>=0 && 1< melt_multiple_length((melt_ptr_t)(/*_.TUPLREC___V73*/ meltfptr[19]))));
8936 ((meltmultiple_ptr_t)(/*_.TUPLREC___V73*/ meltfptr[19]))->tabval[1] = (melt_ptr_t)(/*_.CURVALELEM__V67*/ meltfptr[28]);
8938 /*^touch*/
8939 meltgc_touch(/*_.TUPLREC___V73*/ meltfptr[19]);
8941 /*_.TUPLE___V72*/
8942 meltfptr[25] = /*_.TUPLREC___V73*/ meltfptr[19];;
8943 /*epilog*/
8945 MELT_LOCATION("warmelt-base.melt:4105:/ clear");
8946 /*clear*/ /*_.TUPLREC___V73*/
8947 meltfptr[19] = 0 ;
8948 /*^clear*/
8949 /*clear*/ /*_.TUPLREC___V73*/
8950 meltfptr[19] = 0 ;
8951 } /*end multiallocblock*/
8955 /*^locexp*/
8956 meltgc_append_list((melt_ptr_t)(/*_.LISTENTRIES__V12*/ meltfptr[9]), (melt_ptr_t)(/*_.TUPLE___V72*/ meltfptr[25]));
8959 /*epilog*/
8961 MELT_LOCATION("warmelt-base.melt:4104:/ clear");
8962 /*clear*/ /*_.JSON_CANONICAL_NAME__V71*/
8963 meltfptr[32] = 0 ;
8964 /*^clear*/
8965 /*clear*/ /*_.TUPLE___V72*/
8966 meltfptr[25] = 0 ;
8970 else /*^cond.else*/
8973 /*^block*/
8974 /*anyblock*/
8978 MELT_CHECK_SIGNAL();
8980 /*_#IS_A__L21*/
8981 meltfnum[13] =
8982 melt_is_instance_of((melt_ptr_t)(/*_.CURNAMELEM__V66*/ meltfptr[51]), (melt_ptr_t)((/*!CLASS_NAMED*/ meltfrout->tabval[5])));;
8983 MELT_LOCATION("warmelt-base.melt:4106:/ cond");
8984 /*cond*/
8985 if (/*_#IS_A__L21*/ meltfnum[13]) /*then*/
8987 /*^cond.then*/
8988 /*^block*/
8989 /*anyblock*/
8992 MELT_LOCATION("warmelt-base.melt:4107:/ blockmultialloc");
8993 /*multiallocblock*/
8995 struct meltletrec_3_st
8997 struct MELT_MULTIPLE_STRUCT(2) rtup_0__TUPLREC__x4;
8998 long meltletrec_3_endgap;
8999 } *meltletrec_3_ptr = 0;
9000 meltletrec_3_ptr = (struct meltletrec_3_st *) meltgc_allocate (sizeof (struct meltletrec_3_st), 0);
9001 /*^blockmultialloc.initfill*/
9002 /*inimult rtup_0__TUPLREC__x4*/
9003 /*_.TUPLREC___V75*/
9004 meltfptr[58] = (melt_ptr_t) &meltletrec_3_ptr->rtup_0__TUPLREC__x4;
9005 meltletrec_3_ptr->rtup_0__TUPLREC__x4.discr = (meltobject_ptr_t)(((melt_ptr_t)(MELT_PREDEF(DISCR_MULTIPLE))));
9006 meltletrec_3_ptr->rtup_0__TUPLREC__x4.nbval = 2;
9009 /*^putuple*/
9010 /*putupl#8*/
9011 melt_assertmsg("putupl [:4107] #8 checktup", melt_magic_discr((melt_ptr_t)(/*_.TUPLREC___V75*/ meltfptr[58]))== MELTOBMAG_MULTIPLE);
9012 melt_assertmsg("putupl [:4107] #8 checkoff", (0>=0 && 0< melt_multiple_length((melt_ptr_t)(/*_.TUPLREC___V75*/ meltfptr[58]))));
9013 ((meltmultiple_ptr_t)(/*_.TUPLREC___V75*/ meltfptr[58]))->tabval[0] = (melt_ptr_t)(/*_.CURNAMELEM__V66*/ meltfptr[51]);
9015 /*^putuple*/
9016 /*putupl#9*/
9017 melt_assertmsg("putupl [:4107] #9 checktup", melt_magic_discr((melt_ptr_t)(/*_.TUPLREC___V75*/ meltfptr[58]))== MELTOBMAG_MULTIPLE);
9018 melt_assertmsg("putupl [:4107] #9 checkoff", (1>=0 && 1< melt_multiple_length((melt_ptr_t)(/*_.TUPLREC___V75*/ meltfptr[58]))));
9019 ((meltmultiple_ptr_t)(/*_.TUPLREC___V75*/ meltfptr[58]))->tabval[1] = (melt_ptr_t)(/*_.CURVALELEM__V67*/ meltfptr[28]);
9021 /*^touch*/
9022 meltgc_touch(/*_.TUPLREC___V75*/ meltfptr[58]);
9024 /*_.TUPLE___V74*/
9025 meltfptr[53] = /*_.TUPLREC___V75*/ meltfptr[58];;
9026 /*epilog*/
9028 MELT_LOCATION("warmelt-base.melt:4107:/ clear");
9029 /*clear*/ /*_.TUPLREC___V75*/
9030 meltfptr[58] = 0 ;
9031 /*^clear*/
9032 /*clear*/ /*_.TUPLREC___V75*/
9033 meltfptr[58] = 0 ;
9034 } /*end multiallocblock*/
9038 /*^locexp*/
9039 meltgc_append_list((melt_ptr_t)(/*_.LISTENTRIES__V12*/ meltfptr[9]), (melt_ptr_t)(/*_.TUPLE___V74*/ meltfptr[53]));
9042 /*epilog*/
9044 MELT_LOCATION("warmelt-base.melt:4106:/ clear");
9045 /*clear*/ /*_.TUPLE___V74*/
9046 meltfptr[53] = 0 ;
9050 else /*^cond.else*/
9053 /*^block*/
9054 /*anyblock*/
9059 MELT_LOCATION("warmelt-base.melt:4109:/ locexp");
9060 /*void*/
9061 (void)0;
9064 MELT_LOCATION("warmelt-base.melt:4108:/ quasiblock");
9067 /*epilog*/
9072 /*epilog*/
9074 MELT_LOCATION("warmelt-base.melt:4104:/ clear");
9075 /*clear*/ /*_#IS_A__L21*/
9076 meltfnum[13] = 0 ;
9082 MELT_LOCATION("warmelt-base.melt:4101:/ clear");
9083 /*clear*/ /*_.CURVALELEM__V67*/
9084 meltfptr[28] = 0 ;
9085 /*^clear*/
9086 /*clear*/ /*_#IS_STRING__L19*/
9087 meltfnum[15] = 0 ;
9088 /*^clear*/
9089 /*clear*/ /*_._IF___V68*/
9090 meltfptr[20] = 0 ;
9091 /*^clear*/
9092 /*clear*/ /*_#IS_STRING__L20*/
9093 meltfnum[14] = 0 ;
9094 if (/*_#NIX__L18*/ meltfnum[16]<0) break;
9095 } /* end foreach_in_multiple meltcit1__EACHTUP */
9097 /*citerepilog*/
9099 MELT_LOCATION("warmelt-base.melt:4098:/ clear");
9100 /*clear*/ /*_.CURNAMELEM__V66*/
9101 meltfptr[51] = 0 ;
9102 /*^clear*/
9103 /*clear*/ /*_#NIX__L18*/
9104 meltfnum[16] = 0 ;
9105 } /*endciterblock FOREACH_IN_MULTIPLE*/
9107 /*epilog*/
9111 else
9113 MELT_LOCATION("warmelt-base.melt:4097:/ cond.else");
9115 /*_._IFELSE___V65*/
9116 meltfptr[54] = /*reallynil*/ NULL ;;
9119 /*^compute*/
9120 /*_._IFELSE___V62*/
9121 meltfptr[59] = /*_._IFELSE___V65*/ meltfptr[54];;
9122 /*epilog*/
9124 MELT_LOCATION("warmelt-base.melt:4095:/ clear");
9125 /*clear*/ /*_._IFELSE___V65*/
9126 meltfptr[54] = 0 ;
9131 /*_.LET___V15*/
9132 meltfptr[14] = /*_._IFELSE___V62*/ meltfptr[59];;
9134 MELT_LOCATION("warmelt-base.melt:4057:/ clear");
9135 /*clear*/ /*_.CURNAME__V16*/
9136 meltfptr[15] = 0 ;
9137 /*^clear*/
9138 /*clear*/ /*_.CURVAL__V17*/
9139 meltfptr[16] = 0 ;
9140 /*^clear*/
9141 /*clear*/ /*_.NAMETUP__V18*/
9142 meltfptr[17] = 0 ;
9143 /*^clear*/
9144 /*clear*/ /*_.VALTUP__V19*/
9145 meltfptr[18] = 0 ;
9146 /*^clear*/
9147 /*clear*/ /*_._IFELSE___V62*/
9148 meltfptr[59] = 0 ;
9149 /*epilog*/
9151 MELT_LOCATION("warmelt-base.melt:4055:/ clear");
9152 /*clear*/ /*_.LET___V15*/
9153 meltfptr[14] = 0 ;
9157 goto meltlabloop_ARGLOOP_7;
9158 meltlabexit_ARGLOOP_7:;/*^loopepilog*/
9159 /*loopepilog*/
9160 /*_.FOREVER___V13*/
9161 meltfptr[12] = /*_.ARGLOOP__V14*/ meltfptr[13];;
9164 MELT_LOCATION("warmelt-base.melt:4112:/ quasiblock");
9168 MELT_CHECK_SIGNAL();
9170 /*^apply*/
9171 /*apply*/
9173 /*_.TUPENTRIES__V77*/ meltfptr[27] = melt_apply ((meltclosure_ptr_t)((/*!LIST_TO_MULTIPLE*/ meltfrout->tabval[7])), (melt_ptr_t)(/*_.LISTENTRIES__V12*/ meltfptr[9]), (""), (union meltparam_un*)0, "", (union meltparam_un*)0);
9176 MELT_LOCATION("warmelt-base.melt:4115:/ quasiblock");
9179 /*^newclosure*/
9180 /*newclosure*/ /*_.LAMBDA___V79*/
9181 meltfptr[32] =
9182 (melt_ptr_t) meltgc_new_closure((meltobject_ptr_t)(((melt_ptr_t)(MELT_PREDEF(DISCR_CLOSURE)))), (meltroutine_ptr_t)((/*!konst_10*/ meltfrout->tabval[10])), (0));
9184 /*_.LAMBDA___V78*/
9185 meltfptr[19] = /*_.LAMBDA___V79*/ meltfptr[32];;
9187 MELT_CHECK_SIGNAL();
9189 MELT_LOCATION("warmelt-base.melt:4114:/ apply");
9190 /*apply*/
9192 union meltparam_un argtab[2];
9193 memset(&argtab, 0, sizeof(argtab));
9194 /*^apply.arg*/
9195 argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.LAMBDA___V78*/ meltfptr[19];
9196 /*^apply.arg*/
9197 argtab[1].meltbp_aptr = (melt_ptr_t*) &(/*!DISCR_MULTIPLE*/ meltfrout->tabval[11]);
9198 /*_.SORTEDTUPENTRIES__V80*/
9199 meltfptr[25] = melt_apply ((meltclosure_ptr_t)((/*!MULTIPLE_SORT*/ meltfrout->tabval[8])), (melt_ptr_t)(/*_.TUPENTRIES__V77*/ meltfptr[27]), (MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
9202 MELT_LOCATION("warmelt-base.melt:4118:/ quasiblock");
9205 /*_.UL__V82*/
9206 meltfptr[53] =
9207 (meltgc_new_list((meltobject_ptr_t)((/*!DISCR_LIST*/ meltfrout->tabval[2]))));;
9208 /*citerblock FOREACH_IN_MULTIPLE*/
9210 /* start foreach_in_multiple meltcit2__EACHTUP */
9211 long meltcit2__EACHTUP_ln = melt_multiple_length((melt_ptr_t)/*_.SORTEDTUPENTRIES__V80*/ meltfptr[25]);
9212 for (/*_#IX__L22*/ meltfnum[7] = 0;
9213 (/*_#IX__L22*/ meltfnum[7] >= 0) && (/*_#IX__L22*/ meltfnum[7] < meltcit2__EACHTUP_ln);
9214 /*_#IX__L22*/ meltfnum[7]++)
9216 /*_.CURENT__V83*/ meltfptr[28] = melt_multiple_nth((melt_ptr_t)(/*_.SORTEDTUPENTRIES__V80*/ meltfptr[25]), /*_#IX__L22*/ meltfnum[7]);
9220 MELT_LOCATION("warmelt-base.melt:4123:/ quasiblock");
9223 /*_#plI__L23*/
9224 meltfnum[3] =
9225 ((/*_#IX__L22*/ meltfnum[7]) + (1));;
9226 /*^compute*/
9227 /*_.NEXTENT__V84*/
9228 meltfptr[20] =
9229 (melt_multiple_nth((melt_ptr_t)(/*_.SORTEDTUPENTRIES__V80*/ meltfptr[25]), (/*_#plI__L23*/ meltfnum[3])));;
9231 MELT_CHECK_SIGNAL();
9233 /*^compute*/
9234 /*_#NULL__L24*/
9235 meltfnum[5] =
9236 (/*null*/(/*_.NEXTENT__V84*/ meltfptr[20]) == NULL);;
9237 MELT_LOCATION("warmelt-base.melt:4125:/ cond");
9238 /*cond*/
9239 if (/*_#NULL__L24*/ meltfnum[5]) /*then*/
9241 /*^cond.then*/
9242 /*_#OR___L25*/ meltfnum[6] = /*_#NULL__L24*/ meltfnum[5];;
9244 else
9246 MELT_LOCATION("warmelt-base.melt:4125:/ cond.else");
9248 /*^block*/
9249 /*anyblock*/
9252 /*_.MULTIPLE_NTH__V85*/ meltfptr[54] =
9253 (melt_multiple_nth((melt_ptr_t)(/*_.CURENT__V83*/ meltfptr[28]), (0)));;
9254 /*^compute*/
9255 /*_.MULTIPLE_NTH__V86*/
9256 meltfptr[15] =
9257 (melt_multiple_nth((melt_ptr_t)(/*_.NEXTENT__V84*/ meltfptr[20]), (0)));;
9259 MELT_CHECK_SIGNAL();
9261 MELT_LOCATION("warmelt-base.melt:4125:/ apply");
9262 /*apply*/
9264 union meltparam_un argtab[1];
9265 memset(&argtab, 0, sizeof(argtab));
9266 /*^apply.arg*/
9267 argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.MULTIPLE_NTH__V86*/ meltfptr[15];
9268 /*_.JSON_NAME_LESS__V87*/
9269 meltfptr[16] = melt_apply ((meltclosure_ptr_t)((/*!JSON_NAME_LESS*/ meltfrout->tabval[12])), (melt_ptr_t)(/*_.MULTIPLE_NTH__V85*/ meltfptr[54]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
9272 /*_#NOTNULL__L26*/
9273 meltfnum[13] =
9274 ((/*_.JSON_NAME_LESS__V87*/ meltfptr[16]) != NULL);;
9275 /*^compute*/
9276 /*_#OR___L25*/
9277 meltfnum[6] = /*_#NOTNULL__L26*/ meltfnum[13];;
9278 /*epilog*/
9280 MELT_LOCATION("warmelt-base.melt:4125:/ clear");
9281 /*clear*/ /*_.MULTIPLE_NTH__V85*/
9282 meltfptr[54] = 0 ;
9283 /*^clear*/
9284 /*clear*/ /*_.MULTIPLE_NTH__V86*/
9285 meltfptr[15] = 0 ;
9286 /*^clear*/
9287 /*clear*/ /*_.JSON_NAME_LESS__V87*/
9288 meltfptr[16] = 0 ;
9289 /*^clear*/
9290 /*clear*/ /*_#NOTNULL__L26*/
9291 meltfnum[13] = 0 ;
9296 /*^cond*/
9297 /*cond*/
9298 if (/*_#OR___L25*/ meltfnum[6]) /*then*/
9300 /*^cond.then*/
9301 /*^block*/
9302 /*anyblock*/
9307 MELT_LOCATION("warmelt-base.melt:4126:/ locexp");
9308 meltgc_append_list((melt_ptr_t)(/*_.UL__V82*/ meltfptr[53]), (melt_ptr_t)(/*_.CURENT__V83*/ meltfptr[28]));
9311 /*epilog*/
9314 } /*noelse*/
9317 MELT_LOCATION("warmelt-base.melt:4123:/ clear");
9318 /*clear*/ /*_#plI__L23*/
9319 meltfnum[3] = 0 ;
9320 /*^clear*/
9321 /*clear*/ /*_.NEXTENT__V84*/
9322 meltfptr[20] = 0 ;
9323 /*^clear*/
9324 /*clear*/ /*_#NULL__L24*/
9325 meltfnum[5] = 0 ;
9326 /*^clear*/
9327 /*clear*/ /*_#OR___L25*/
9328 meltfnum[6] = 0 ;
9329 if (/*_#IX__L22*/ meltfnum[7]<0) break;
9330 } /* end foreach_in_multiple meltcit2__EACHTUP */
9332 /*citerepilog*/
9334 MELT_LOCATION("warmelt-base.melt:4120:/ clear");
9335 /*clear*/ /*_.CURENT__V83*/
9336 meltfptr[28] = 0 ;
9337 /*^clear*/
9338 /*clear*/ /*_#IX__L22*/
9339 meltfnum[7] = 0 ;
9340 } /*endciterblock FOREACH_IN_MULTIPLE*/
9343 MELT_CHECK_SIGNAL();
9345 MELT_LOCATION("warmelt-base.melt:4127:/ apply");
9346 /*apply*/
9348 /*_.LIST_TO_MULTIPLE__V88*/ meltfptr[17] = melt_apply ((meltclosure_ptr_t)((/*!LIST_TO_MULTIPLE*/ meltfrout->tabval[7])), (melt_ptr_t)(/*_.UL__V82*/ meltfptr[53]), (""), (union meltparam_un*)0, "", (union meltparam_un*)0);
9351 /*_.LET___V81*/
9352 meltfptr[58] = /*_.LIST_TO_MULTIPLE__V88*/ meltfptr[17];;
9354 MELT_LOCATION("warmelt-base.melt:4118:/ clear");
9355 /*clear*/ /*_.UL__V82*/
9356 meltfptr[53] = 0 ;
9357 /*^clear*/
9358 /*clear*/ /*_.LIST_TO_MULTIPLE__V88*/
9359 meltfptr[17] = 0 ;
9360 /*_.UNIQLISTENTRIES__V89*/
9361 meltfptr[18] = /*_.LET___V81*/ meltfptr[58];;
9362 /*^compute*/
9363 /*_#NBUNIQENTRIES__L27*/
9364 meltfnum[15] =
9365 (melt_multiple_length((melt_ptr_t)(/*_.UNIQLISTENTRIES__V89*/ meltfptr[18])));;
9366 /*^compute*/
9367 /*_.RESJ__V90*/
9368 meltfptr[59] = (/*nil*/NULL);;
9371 MELT_LOCATION("warmelt-base.melt:4133:/ locexp");
9372 /* melt_make_jsonobject MAKEJSON_CHK__1 */
9373 // the only place where jsonobjects are allocated
9374 struct meltjsonobject_st* mj_MAKEJSON_CHK__1
9375 = (struct meltjsonobject_st*) meltgc_allocate (sizeof (struct meltjsonobject_st),
9376 /*_#NBUNIQENTRIES__L27*/ meltfnum[15] * sizeof(struct melt_jsonobentry_st));
9377 mj_MAKEJSON_CHK__1->discr = (meltobject_ptr_t) /*_.DIS__V2*/ meltfptr[1];
9378 mj_MAKEJSON_CHK__1->jsob_aux = NULL;
9379 mj_MAKEJSON_CHK__1->jsob_size = /*_#NBUNIQENTRIES__L27*/ meltfnum[15];
9380 /*_.RESJ__V90*/
9381 meltfptr[59] = (melt_ptr_t) mj_MAKEJSON_CHK__1;
9382 mj_MAKEJSON_CHK__1 = NULL;
9386 /*citerblock FOREACH_IN_MULTIPLE*/
9388 /* start foreach_in_multiple meltcit3__EACHTUP */
9389 long meltcit3__EACHTUP_ln = melt_multiple_length((melt_ptr_t)/*_.UNIQLISTENTRIES__V89*/ meltfptr[18]);
9390 for (/*_#IX__L28*/ meltfnum[14] = 0;
9391 (/*_#IX__L28*/ meltfnum[14] >= 0) && (/*_#IX__L28*/ meltfnum[14] < meltcit3__EACHTUP_ln);
9392 /*_#IX__L28*/ meltfnum[14]++)
9394 /*_.CURENT__V91*/ meltfptr[14] = melt_multiple_nth((melt_ptr_t)(/*_.UNIQLISTENTRIES__V89*/ meltfptr[18]), /*_#IX__L28*/ meltfnum[14]);
9399 #if MELT_HAVE_DEBUG
9400 MELT_LOCATION("warmelt-base.melt:4148:/ cppif.then");
9401 /*^block*/
9402 /*anyblock*/
9406 MELT_CHECK_SIGNAL();
9408 /*_#MULTIPLE_LENGTH__L29*/
9409 meltfnum[13] =
9410 (melt_multiple_length((melt_ptr_t)(/*_.CURENT__V91*/ meltfptr[14])));;
9411 /*^compute*/
9412 /*_#eqeqI__L30*/
9413 meltfnum[3] =
9414 ((/*_#MULTIPLE_LENGTH__L29*/ meltfnum[13]) == (2));;
9415 MELT_LOCATION("warmelt-base.melt:4148:/ cond");
9416 /*cond*/
9417 if (/*_#eqeqI__L30*/ meltfnum[3]) /*then*/
9419 /*^cond.then*/
9420 /*_._IFELSE___V93*/ meltfptr[15] = (/*nil*/NULL);;
9422 else
9424 MELT_LOCATION("warmelt-base.melt:4148:/ cond.else");
9426 /*^block*/
9427 /*anyblock*/
9431 MELT_CHECK_SIGNAL();
9433 /*^apply*/
9434 /*apply*/
9436 union meltparam_un argtab[3];
9437 memset(&argtab, 0, sizeof(argtab));
9438 /*^apply.arg*/
9439 argtab[0].meltbp_cstring = "check curent";
9440 /*^apply.arg*/
9441 argtab[1].meltbp_cstring = "warmelt-base.melt";
9442 /*^apply.arg*/
9443 argtab[2].meltbp_long = 4148;
9444 /*_.MELT_ASSERT_FAILURE_FUN__V94*/
9445 meltfptr[16] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[13])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG ""), argtab, "", (union meltparam_un*)0);
9448 /*_._IFELSE___V93*/
9449 meltfptr[15] = /*_.MELT_ASSERT_FAILURE_FUN__V94*/ meltfptr[16];;
9450 /*epilog*/
9452 MELT_LOCATION("warmelt-base.melt:4148:/ clear");
9453 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V94*/
9454 meltfptr[16] = 0 ;
9459 /*_.IFCPP___V92*/
9460 meltfptr[54] = /*_._IFELSE___V93*/ meltfptr[15];;
9461 /*epilog*/
9463 MELT_LOCATION("warmelt-base.melt:4148:/ clear");
9464 /*clear*/ /*_#MULTIPLE_LENGTH__L29*/
9465 meltfnum[13] = 0 ;
9466 /*^clear*/
9467 /*clear*/ /*_#eqeqI__L30*/
9468 meltfnum[3] = 0 ;
9469 /*^clear*/
9470 /*clear*/ /*_._IFELSE___V93*/
9471 meltfptr[15] = 0 ;
9474 #else /*MELT_HAVE_DEBUG*/
9475 /*^cppif.else*/
9476 /*_.IFCPP___V92*/ meltfptr[54] = (/*nil*/NULL);
9477 #endif /*MELT_HAVE_DEBUG*/
9479 MELT_LOCATION("warmelt-base.melt:4149:/ quasiblock");
9482 /*_.CURNAM__V95*/
9483 meltfptr[20] =
9484 (melt_multiple_nth((melt_ptr_t)(/*_.CURENT__V91*/ meltfptr[14]), (0)));;
9485 /*^compute*/
9486 /*_.CURVAL__V96*/
9487 meltfptr[53] =
9488 (melt_multiple_nth((melt_ptr_t)(/*_.CURENT__V91*/ meltfptr[14]), (1)));;
9490 #if MELT_HAVE_DEBUG
9491 MELT_LOCATION("warmelt-base.melt:4152:/ cppif.then");
9492 /*^block*/
9493 /*anyblock*/
9497 MELT_CHECK_SIGNAL();
9499 /*_#IS_STRING__L31*/
9500 meltfnum[5] =
9501 (melt_magic_discr((melt_ptr_t)(/*_.CURNAM__V95*/ meltfptr[20])) == MELTOBMAG_STRING);;
9502 MELT_LOCATION("warmelt-base.melt:4152:/ cond");
9503 /*cond*/
9504 if (/*_#IS_STRING__L31*/ meltfnum[5]) /*then*/
9506 /*^cond.then*/
9507 /*_#OR___L32*/ meltfnum[6] = /*_#IS_STRING__L31*/ meltfnum[5];;
9509 else
9511 MELT_LOCATION("warmelt-base.melt:4152:/ cond.else");
9513 /*^block*/
9514 /*anyblock*/
9517 /*_#IS_A__L33*/ meltfnum[13] =
9518 melt_is_instance_of((melt_ptr_t)(/*_.CURNAM__V95*/ meltfptr[20]), (melt_ptr_t)((/*!CLASS_NAMED*/ meltfrout->tabval[5])));;
9519 /*^compute*/
9520 /*_#OR___L32*/
9521 meltfnum[6] = /*_#IS_A__L33*/ meltfnum[13];;
9522 /*epilog*/
9524 MELT_LOCATION("warmelt-base.melt:4152:/ clear");
9525 /*clear*/ /*_#IS_A__L33*/
9526 meltfnum[13] = 0 ;
9531 /*^cond*/
9532 /*cond*/
9533 if (/*_#OR___L32*/ meltfnum[6]) /*then*/
9535 /*^cond.then*/
9536 /*_._IFELSE___V98*/ meltfptr[16] = (/*nil*/NULL);;
9538 else
9540 MELT_LOCATION("warmelt-base.melt:4152:/ cond.else");
9542 /*^block*/
9543 /*anyblock*/
9547 MELT_CHECK_SIGNAL();
9549 /*^apply*/
9550 /*apply*/
9552 union meltparam_un argtab[5];
9553 memset(&argtab, 0, sizeof(argtab));
9554 /*^apply.arg*/
9555 argtab[0].meltbp_cstring = "check curnam";
9556 /*^apply.arg*/
9557 argtab[1].meltbp_cstring = "warmelt-base.melt";
9558 /*^apply.arg*/
9559 argtab[2].meltbp_long = 4152;
9560 /*^apply.arg*/
9561 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.CURNAM__V95*/ meltfptr[20];
9562 /*^apply.arg*/
9563 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.CURENT__V91*/ meltfptr[14];
9564 /*_.MELT_ASSERT_FAILURE_FUN__V99*/
9565 meltfptr[15] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[13])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
9568 /*_._IFELSE___V98*/
9569 meltfptr[16] = /*_.MELT_ASSERT_FAILURE_FUN__V99*/ meltfptr[15];;
9570 /*epilog*/
9572 MELT_LOCATION("warmelt-base.melt:4152:/ clear");
9573 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V99*/
9574 meltfptr[15] = 0 ;
9579 /*_.IFCPP___V97*/
9580 meltfptr[17] = /*_._IFELSE___V98*/ meltfptr[16];;
9581 /*epilog*/
9583 MELT_LOCATION("warmelt-base.melt:4152:/ clear");
9584 /*clear*/ /*_#IS_STRING__L31*/
9585 meltfnum[5] = 0 ;
9586 /*^clear*/
9587 /*clear*/ /*_#OR___L32*/
9588 meltfnum[6] = 0 ;
9589 /*^clear*/
9590 /*clear*/ /*_._IFELSE___V98*/
9591 meltfptr[16] = 0 ;
9594 #else /*MELT_HAVE_DEBUG*/
9595 /*^cppif.else*/
9596 /*_.IFCPP___V97*/ meltfptr[17] = (/*nil*/NULL);
9597 #endif /*MELT_HAVE_DEBUG*/
9601 MELT_LOCATION("warmelt-base.melt:4153:/ locexp");
9602 /* melt_make_jsonobject FILLJSON_CHK__1 */
9603 // the only place where jsonobjects are filled
9604 ((struct meltjsonobject_st*)/*_.RESJ__V90*/ meltfptr[59])->jsob_entab[/*_#IX__L28*/ meltfnum[14]].jsonob_name = /*_.CURNAM__V95*/ meltfptr[20];
9605 meltgc_touch_dest (/*_.RESJ__V90*/ meltfptr[59], /*_.CURNAM__V95*/ meltfptr[20]);
9606 ((struct meltjsonobject_st*)/*_.RESJ__V90*/ meltfptr[59])->jsob_entab[/*_#IX__L28*/ meltfnum[14]].jsonob_val = /*_.CURVAL__V96*/ meltfptr[53];
9607 meltgc_touch_dest (/*_.RESJ__V90*/ meltfptr[59], /*_.CURVAL__V96*/ meltfptr[53]);
9608 // done melt_make_jsonobject FILLJSON_CHK__1
9613 MELT_LOCATION("warmelt-base.melt:4149:/ clear");
9614 /*clear*/ /*_.CURNAM__V95*/
9615 meltfptr[20] = 0 ;
9616 /*^clear*/
9617 /*clear*/ /*_.CURVAL__V96*/
9618 meltfptr[53] = 0 ;
9619 /*^clear*/
9620 /*clear*/ /*_.IFCPP___V97*/
9621 meltfptr[17] = 0 ;
9622 if (/*_#IX__L28*/ meltfnum[14]<0) break;
9623 } /* end foreach_in_multiple meltcit3__EACHTUP */
9625 /*citerepilog*/
9627 MELT_LOCATION("warmelt-base.melt:4145:/ clear");
9628 /*clear*/ /*_.CURENT__V91*/
9629 meltfptr[14] = 0 ;
9630 /*^clear*/
9631 /*clear*/ /*_#IX__L28*/
9632 meltfnum[14] = 0 ;
9633 /*^clear*/
9634 /*clear*/ /*_.IFCPP___V92*/
9635 meltfptr[54] = 0 ;
9636 } /*endciterblock FOREACH_IN_MULTIPLE*/
9639 MELT_CHECK_SIGNAL();
9641 MELT_LOCATION("warmelt-base.melt:4163:/ quasiblock");
9644 /*_._RETVAL___V1*/
9645 meltfptr[0] = /*_.RESJ__V90*/ meltfptr[59];;
9648 MELT_LOCATION("warmelt-base.melt:4163:/ locexp");
9649 /*ochecknores compilobj_nrep_return*/
9650 #if MELT_HAVE_DEBUG
9651 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
9652 melt_warn_for_no_expected_secondary_results();
9653 /* we warned when secondary results are expected but not returned. */
9654 #endif /*MELT_HAVE_DEBUG*/
9658 /*^finalreturn*/
9660 /*finalret*/
9661 goto meltlabend_rout ;
9662 /*_.LET___V76*/
9663 meltfptr[33] = /*_.RETURN___V100*/ meltfptr[15];;
9665 MELT_LOCATION("warmelt-base.melt:4112:/ clear");
9666 /*clear*/ /*_.TUPENTRIES__V77*/
9667 meltfptr[27] = 0 ;
9668 /*^clear*/
9669 /*clear*/ /*_.LAMBDA___V78*/
9670 meltfptr[19] = 0 ;
9671 /*^clear*/
9672 /*clear*/ /*_.SORTEDTUPENTRIES__V80*/
9673 meltfptr[25] = 0 ;
9674 /*^clear*/
9675 /*clear*/ /*_.LET___V81*/
9676 meltfptr[58] = 0 ;
9677 /*^clear*/
9678 /*clear*/ /*_.UNIQLISTENTRIES__V89*/
9679 meltfptr[18] = 0 ;
9680 /*^clear*/
9681 /*clear*/ /*_#NBUNIQENTRIES__L27*/
9682 meltfnum[15] = 0 ;
9683 /*^clear*/
9684 /*clear*/ /*_.RESJ__V90*/
9685 meltfptr[59] = 0 ;
9686 /*^clear*/
9687 /*clear*/ /*_.RETURN___V100*/
9688 meltfptr[15] = 0 ;
9689 /*_.LET___V11*/
9690 meltfptr[6] = /*_.LET___V76*/ meltfptr[33];;
9692 MELT_LOCATION("warmelt-base.melt:4053:/ clear");
9693 /*clear*/ /*_.LISTENTRIES__V12*/
9694 meltfptr[9] = 0 ;
9695 /*^clear*/
9696 /*clear*/ /*_.FOREVER___V13*/
9697 meltfptr[12] = 0 ;
9698 /*^clear*/
9699 /*clear*/ /*_.LET___V76*/
9700 meltfptr[33] = 0 ;
9702 MELT_CHECK_SIGNAL();
9704 MELT_LOCATION("warmelt-base.melt:4041:/ quasiblock");
9707 /*_._RETVAL___V1*/
9708 meltfptr[0] = /*_.LET___V11*/ meltfptr[6];;
9711 MELT_LOCATION("warmelt-base.melt:4041:/ locexp");
9712 /*ochecknores compilobj_nrep_return*/
9713 #if MELT_HAVE_DEBUG
9714 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
9715 melt_warn_for_no_expected_secondary_results();
9716 /* we warned when secondary results are expected but not returned. */
9717 #endif /*MELT_HAVE_DEBUG*/
9721 /*^finalreturn*/
9723 /*finalret*/
9724 goto meltlabend_rout ;
9725 /*epilog*/
9727 /*^clear*/
9728 /*clear*/ /*_#NULL__L1*/
9729 meltfnum[0] = 0 ;
9730 /*^clear*/
9731 /*clear*/ /*_._IF___V3*/
9732 meltfptr[2] = 0 ;
9733 /*^clear*/
9734 /*clear*/ /*_#IS_NOT_A__L2*/
9735 meltfnum[1] = 0 ;
9736 /*^clear*/
9737 /*clear*/ /*_._IF___V5*/
9738 meltfptr[3] = 0 ;
9739 /*^clear*/
9740 /*clear*/ /*_#TESTDIS_CHK__L3*/
9741 meltfnum[2] = 0 ;
9742 /*^clear*/
9743 /*clear*/ /*_._IF___V8*/
9744 meltfptr[5] = 0 ;
9745 /*^clear*/
9746 /*clear*/ /*_.LET___V11*/
9747 meltfptr[6] = 0 ;
9751 goto meltlabend_rout;
9752 meltlabend_rout:
9753 melt_trace_end("MAKE_JSONOBJECT", meltcallcount);
9754 melt_blocklevel_signals = current_blocklevel_signals_meltrout_45_WARMELTmiBASE_MAKE_JSONOBJECT_melt;
9755 return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]);
9756 #undef melt_variadic_length
9757 #undef melt_variadic_index
9759 #undef meltcallcount
9760 #undef meltfram__
9761 #undef MELTFRAM_NBVARNUM
9762 #undef MELTFRAM_NBVARPTR
9763 } /*end meltrout_45_WARMELTmiBASE_MAKE_JSONOBJECT*/
9770 melt_ptr_t MELT_MODULE_VISIBILITY
9771 meltrout_46_WARMELTmiBASE_LAMBDA_cl4(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
9772 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
9774 long current_blocklevel_signals_meltrout_46_WARMELTmiBASE_LAMBDA_cl4_melt = melt_blocklevel_signals;
9776 #if MELT_HAVE_DEBUG
9777 static long melt_call_counter__;
9778 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
9779 #undef meltcallcount
9780 #define meltcallcount melt_thiscallcounter__
9781 #else
9782 #undef meltcallcount
9783 #define meltcallcount 0L
9784 #endif
9785 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
9787 /* start of frame for routine meltrout_46_WARMELTmiBASE_LAMBDA_cl4 fromline 1752 */
9789 /** start of frame for meltrout_46_WARMELTmiBASE_LAMBDA_cl4 of CLASS_PROCROUTINEOBJ from 1555**/
9791 /*curframdeclclassy*/ class MeltFrame_meltrout_46_WARMELTmiBASE_LAMBDA_cl4// fromline 1568
9792 : public Melt_CallFrameWithValues<6>
9794 public: /* fromline 1572*/
9795 // no classy longs
9796 /*classy others*/
9797 long _meltsparel;
9798 void melt_mark_stuff (void)
9800 } /*end melt_mark_stuff*/
9801 virtual void melt_mark_ggc_data (void)
9803 melt_mark_values ();
9804 melt_mark_stuff ();
9805 }; /*end melt_mark_ggc_data*/
9806 MeltFrame_meltrout_46_WARMELTmiBASE_LAMBDA_cl4(meltclosure_ptr_t clos) //the closure constructor fromline 1630
9807 : Melt_CallFrameWithValues<6> (
9808 #if ENABLE_CHECKING /*fromline 1634*/
9809 __FILE__, __LINE__,
9810 #endif /* ENABLE_CHECKING fromline 1638*/
9811 sizeof(MeltFrame_meltrout_46_WARMELTmiBASE_LAMBDA_cl4), clos) {};
9812 MeltFrame_meltrout_46_WARMELTmiBASE_LAMBDA_cl4() //the constructor fromline 1642
9813 : Melt_CallFrameWithValues<6> (
9814 #if ENABLE_CHECKING /*fromline 1646*/
9815 __FILE__, __LINE__,
9816 #endif /* ENABLE_CHECKING fromline 1650*/
9817 sizeof(MeltFrame_meltrout_46_WARMELTmiBASE_LAMBDA_cl4)) {};
9818 #if ENABLE_CHECKING /*fromline 1654*/
9819 MeltFrame_meltrout_46_WARMELTmiBASE_LAMBDA_cl4(const char*fil, int lin) //the constructor fromline 1656
9820 : Melt_CallFrameWithValues<6> (fil,lin, sizeof(MeltFrame_meltrout_46_WARMELTmiBASE_LAMBDA_cl4)) {};
9821 MeltFrame_meltrout_46_WARMELTmiBASE_LAMBDA_cl4(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
9822 : Melt_CallFrameWithValues<6> (fil,lin, sizeof(MeltFrame_meltrout_46_WARMELTmiBASE_LAMBDA_cl4), clos) {};
9823 #endif /* ENABLE_CHECKING fromline 1666*/
9825 }; // end class MeltFrame_meltrout_46_WARMELTmiBASE_LAMBDA_cl4
9828 /** end of frame for meltrout_46_WARMELTmiBASE_LAMBDA_cl4 fromline 1697**/
9830 /* end of frame for routine meltrout_46_WARMELTmiBASE_LAMBDA_cl4 fromline 1756 */
9832 /* classy proc frame meltrout_46_WARMELTmiBASE_LAMBDA_cl4 */
9833 MeltFrame_meltrout_46_WARMELTmiBASE_LAMBDA_cl4
9834 meltfram__ /*declfrastruct fromline 1780*/
9835 /*classyprocarg meltrout_46_WARMELTmiBASE_LAMBDA_cl4 fromline 1785*/
9836 #if ENABLE_CHECKING
9837 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
9838 #else /*ENABLE_CHECKING */
9839 (meltclosp_) /* fromline 1793*/
9840 #endif /*ENABLE_CHECKING */
9843 #define meltframe meltfram__
9845 melt_trace_start("LAMBDA_cl4", meltcallcount);
9846 /*use arguments*/
9847 (void) meltclosp_;
9848 (void)meltfirstargp_;
9849 (void)meltxargdescr_;
9850 (void)meltxargtab_;
9851 (void)meltxresdescr_;
9852 (void)meltxrestab_;
9853 /*getargs*/
9855 /*getarg#0*/
9856 MELT_LOCATION("warmelt-base.melt:4115:/ getarg");
9857 /*_.E1__V2*/
9858 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
9860 /*getarg#1*/
9861 /*^getarg*/
9862 if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs;
9863 /*_.E2__V3*/
9864 meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL;
9865 gcc_assert(melt_discr((melt_ptr_t)(/*_.E2__V3*/ meltfptr[2])) != NULL);
9868 goto meltlab_endgetargs;
9869 meltlab_endgetargs:
9871 /*body*/
9872 /*^block*/
9873 /*anyblock*/
9876 /*_.MULTIPLE_NTH__V4*/ meltfptr[3] =
9877 (melt_multiple_nth((melt_ptr_t)(/*_.E1__V2*/ meltfptr[1]), (0)));;
9878 /*^compute*/
9879 /*_.MULTIPLE_NTH__V5*/
9880 meltfptr[4] =
9881 (melt_multiple_nth((melt_ptr_t)(/*_.E2__V3*/ meltfptr[2]), (0)));;
9883 MELT_CHECK_SIGNAL();
9885 MELT_LOCATION("warmelt-base.melt:4115:/ apply");
9886 /*apply*/
9888 union meltparam_un argtab[1];
9889 memset(&argtab, 0, sizeof(argtab));
9890 /*^apply.arg*/
9891 argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.MULTIPLE_NTH__V5*/ meltfptr[4];
9892 /*_.JSON_NAME_LESS__V6*/
9893 meltfptr[5] = melt_apply ((meltclosure_ptr_t)((/*!JSON_NAME_LESS*/ meltfrout->tabval[0])), (melt_ptr_t)(/*_.MULTIPLE_NTH__V4*/ meltfptr[3]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
9896 /*^quasiblock*/
9899 /*_._RETVAL___V1*/
9900 meltfptr[0] = /*_.JSON_NAME_LESS__V6*/ meltfptr[5];;
9903 MELT_LOCATION("warmelt-base.melt:4115:/ locexp");
9904 /*ochecknores compilobj_nrep_return*/
9905 #if MELT_HAVE_DEBUG
9906 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
9907 melt_warn_for_no_expected_secondary_results();
9908 /* we warned when secondary results are expected but not returned. */
9909 #endif /*MELT_HAVE_DEBUG*/
9913 /*^finalreturn*/
9915 /*finalret*/
9916 goto meltlabend_rout ;
9917 /*epilog*/
9919 /*^clear*/
9920 /*clear*/ /*_.MULTIPLE_NTH__V4*/
9921 meltfptr[3] = 0 ;
9922 /*^clear*/
9923 /*clear*/ /*_.MULTIPLE_NTH__V5*/
9924 meltfptr[4] = 0 ;
9925 /*^clear*/
9926 /*clear*/ /*_.JSON_NAME_LESS__V6*/
9927 meltfptr[5] = 0 ;
9931 goto meltlabend_rout;
9932 meltlabend_rout:
9933 melt_trace_end("LAMBDA_cl4", meltcallcount);
9934 melt_blocklevel_signals = current_blocklevel_signals_meltrout_46_WARMELTmiBASE_LAMBDA_cl4_melt;
9935 return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]);
9936 #undef meltcallcount
9937 #undef meltfram__
9938 #undef MELTFRAM_NBVARNUM
9939 #undef MELTFRAM_NBVARPTR
9940 } /*end meltrout_46_WARMELTmiBASE_LAMBDA_cl4*/
9947 melt_ptr_t MELT_MODULE_VISIBILITY
9948 meltrout_47_WARMELTmiBASE_JSONOBJECT_GET_NAMED(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
9949 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
9951 long current_blocklevel_signals_meltrout_47_WARMELTmiBASE_JSONOBJECT_GET_NAMED_melt = melt_blocklevel_signals;
9953 #if MELT_HAVE_DEBUG
9954 static long melt_call_counter__;
9955 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
9956 #undef meltcallcount
9957 #define meltcallcount melt_thiscallcounter__
9958 #else
9959 #undef meltcallcount
9960 #define meltcallcount 0L
9961 #endif
9962 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
9964 /* start of frame for routine meltrout_47_WARMELTmiBASE_JSONOBJECT_GET_NAMED fromline 1752 */
9966 /** start of frame for meltrout_47_WARMELTmiBASE_JSONOBJECT_GET_NAMED of CLASS_PROCROUTINEOBJ from 1555**/
9968 /*curframdeclclassy*/ class MeltFrame_meltrout_47_WARMELTmiBASE_JSONOBJECT_GET_NAMED// fromline 1568
9969 : public Melt_CallFrameWithValues<27>
9971 public: /* fromline 1572*/
9972 long mcfr_varnum[19];
9973 /*classy others*/
9974 long _meltsparel;
9975 void melt_mark_stuff (void)
9977 } /*end melt_mark_stuff*/
9978 virtual void melt_mark_ggc_data (void)
9980 melt_mark_values ();
9981 melt_mark_stuff ();
9982 }; /*end melt_mark_ggc_data*/
9983 MeltFrame_meltrout_47_WARMELTmiBASE_JSONOBJECT_GET_NAMED(meltclosure_ptr_t clos) //the closure constructor fromline 1630
9984 : Melt_CallFrameWithValues<27> (
9985 #if ENABLE_CHECKING /*fromline 1634*/
9986 __FILE__, __LINE__,
9987 #endif /* ENABLE_CHECKING fromline 1638*/
9988 sizeof(MeltFrame_meltrout_47_WARMELTmiBASE_JSONOBJECT_GET_NAMED), clos) {};
9989 MeltFrame_meltrout_47_WARMELTmiBASE_JSONOBJECT_GET_NAMED() //the constructor fromline 1642
9990 : Melt_CallFrameWithValues<27> (
9991 #if ENABLE_CHECKING /*fromline 1646*/
9992 __FILE__, __LINE__,
9993 #endif /* ENABLE_CHECKING fromline 1650*/
9994 sizeof(MeltFrame_meltrout_47_WARMELTmiBASE_JSONOBJECT_GET_NAMED)) {};
9995 #if ENABLE_CHECKING /*fromline 1654*/
9996 MeltFrame_meltrout_47_WARMELTmiBASE_JSONOBJECT_GET_NAMED(const char*fil, int lin) //the constructor fromline 1656
9997 : Melt_CallFrameWithValues<27> (fil,lin, sizeof(MeltFrame_meltrout_47_WARMELTmiBASE_JSONOBJECT_GET_NAMED)) {};
9998 MeltFrame_meltrout_47_WARMELTmiBASE_JSONOBJECT_GET_NAMED(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
9999 : Melt_CallFrameWithValues<27> (fil,lin, sizeof(MeltFrame_meltrout_47_WARMELTmiBASE_JSONOBJECT_GET_NAMED), clos) {};
10000 #endif /* ENABLE_CHECKING fromline 1666*/
10002 }; // end class MeltFrame_meltrout_47_WARMELTmiBASE_JSONOBJECT_GET_NAMED
10005 /** end of frame for meltrout_47_WARMELTmiBASE_JSONOBJECT_GET_NAMED fromline 1697**/
10007 /* end of frame for routine meltrout_47_WARMELTmiBASE_JSONOBJECT_GET_NAMED fromline 1756 */
10009 /* classy proc frame meltrout_47_WARMELTmiBASE_JSONOBJECT_GET_NAMED */
10010 MeltFrame_meltrout_47_WARMELTmiBASE_JSONOBJECT_GET_NAMED
10011 meltfram__ /*declfrastruct fromline 1780*/
10012 /*classyprocarg meltrout_47_WARMELTmiBASE_JSONOBJECT_GET_NAMED fromline 1785*/
10013 #if ENABLE_CHECKING
10014 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
10015 #else /*ENABLE_CHECKING */
10016 (meltclosp_) /* fromline 1793*/
10017 #endif /*ENABLE_CHECKING */
10020 #define meltframe meltfram__
10022 melt_trace_start("JSONOBJECT_GET_NAMED", meltcallcount);
10023 /*use arguments*/
10024 (void) meltclosp_;
10025 (void)meltfirstargp_;
10026 (void)meltxargdescr_;
10027 (void)meltxargtab_;
10028 (void)meltxresdescr_;
10029 (void)meltxrestab_;
10030 /*getargs*/
10032 /*getarg#0*/
10033 MELT_LOCATION("warmelt-base.melt:4191:/ getarg");
10034 /*_.VJOB__V2*/
10035 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
10037 /*getarg#1*/
10038 /*^getarg*/
10039 if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs;
10040 /*_.ATNAME__V3*/
10041 meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL;
10042 gcc_assert(melt_discr((melt_ptr_t)(/*_.ATNAME__V3*/ meltfptr[2])) != NULL);
10045 goto meltlab_endgetargs;
10046 meltlab_endgetargs:
10048 /*body*/
10049 /*^block*/
10050 /*anyblock*/
10054 MELT_CHECK_SIGNAL();
10056 /*_#IS_JSONOBJECT__L1*/
10057 meltfnum[0] =
10058 (melt_magic_discr((melt_ptr_t)(/*_.VJOB__V2*/ meltfptr[1])) == MELTOBMAG_JSONOBJECT);;
10059 /*^compute*/
10060 /*_#NOT__L2*/
10061 meltfnum[1] =
10062 (!(/*_#IS_JSONOBJECT__L1*/ meltfnum[0]));;
10063 MELT_LOCATION("warmelt-base.melt:4194:/ cond");
10064 /*cond*/
10065 if (/*_#NOT__L2*/ meltfnum[1]) /*then*/
10067 /*^cond.then*/
10068 /*^block*/
10069 /*anyblock*/
10073 MELT_CHECK_SIGNAL();
10075 /*^quasiblock*/
10078 /*_._RETVAL___V1*/
10079 meltfptr[0] = (/*nil*/NULL);;
10082 MELT_LOCATION("warmelt-base.melt:4194:/ locexp");
10083 /*ochecknores compilobj_nrep_return*/
10084 #if MELT_HAVE_DEBUG
10085 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
10086 melt_warn_for_no_expected_secondary_results();
10087 /* we warned when secondary results are expected but not returned. */
10088 #endif /*MELT_HAVE_DEBUG*/
10092 /*^finalreturn*/
10094 /*finalret*/
10095 goto meltlabend_rout ;
10096 /*_._IF___V4*/
10097 meltfptr[3] = /*_.RETURN___V5*/ meltfptr[4];;
10098 /*epilog*/
10100 MELT_LOCATION("warmelt-base.melt:4194:/ clear");
10101 /*clear*/ /*_.RETURN___V5*/
10102 meltfptr[4] = 0 ;
10106 else /*^cond.else*/
10109 /*_._IF___V4*/ meltfptr[3] = /*reallynil*/ NULL ;;
10112 MELT_LOCATION("warmelt-base.melt:4195:/ quasiblock");
10116 MELT_CHECK_SIGNAL();
10118 /*_#IS_STRING__L3*/
10119 meltfnum[2] =
10120 (melt_magic_discr((melt_ptr_t)(/*_.ATNAME__V3*/ meltfptr[2])) == MELTOBMAG_STRING);;
10121 MELT_LOCATION("warmelt-base.melt:4196:/ cond");
10122 /*cond*/
10123 if (/*_#IS_STRING__L3*/ meltfnum[2]) /*then*/
10125 /*^cond.then*/
10126 /*_.VNAME__V7*/ meltfptr[6] = /*_.ATNAME__V3*/ meltfptr[2];;
10128 else
10130 MELT_LOCATION("warmelt-base.melt:4196:/ cond.else");
10132 /*^block*/
10133 /*anyblock*/
10137 MELT_CHECK_SIGNAL();
10139 /*_#IS_A__L4*/
10140 meltfnum[3] =
10141 melt_is_instance_of((melt_ptr_t)(/*_.ATNAME__V3*/ meltfptr[2]), (melt_ptr_t)((/*!CLASS_NAMED*/ meltfrout->tabval[0])));;
10142 MELT_LOCATION("warmelt-base.melt:4198:/ cond");
10143 /*cond*/
10144 if (/*_#IS_A__L4*/ meltfnum[3]) /*then*/
10146 /*^cond.then*/
10147 /*^block*/
10148 /*anyblock*/
10151 MELT_LOCATION("warmelt-base.melt:4199:/ getslot");
10153 melt_ptr_t slot=NULL, obj=NULL;
10154 obj = (melt_ptr_t)(/*_.ATNAME__V3*/ meltfptr[2]) /*=obj*/;
10155 melt_object_get_field(slot,obj, 1, "NAMED_NAME");
10156 /*_.NAMED_NAME__V9*/
10157 meltfptr[8] = slot;
10160 /*_._IFELSE___V8*/
10161 meltfptr[7] = /*_.NAMED_NAME__V9*/ meltfptr[8];;
10162 /*epilog*/
10164 MELT_LOCATION("warmelt-base.melt:4198:/ clear");
10165 /*clear*/ /*_.NAMED_NAME__V9*/
10166 meltfptr[8] = 0 ;
10170 else /*^cond.else*/
10173 /*^block*/
10174 /*anyblock*/
10178 MELT_CHECK_SIGNAL();
10180 MELT_LOCATION("warmelt-base.melt:4200:/ quasiblock");
10183 /*_._RETVAL___V1*/
10184 meltfptr[0] = (/*nil*/NULL);;
10187 MELT_LOCATION("warmelt-base.melt:4200:/ locexp");
10188 /*ochecknores compilobj_nrep_return*/
10189 #if MELT_HAVE_DEBUG
10190 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
10191 melt_warn_for_no_expected_secondary_results();
10192 /* we warned when secondary results are expected but not returned. */
10193 #endif /*MELT_HAVE_DEBUG*/
10197 /*^finalreturn*/
10199 /*finalret*/
10200 goto meltlabend_rout ;
10201 /*^quasiblock*/
10204 /*_.PROGN___V11*/
10205 meltfptr[10] = /*_.RETURN___V10*/ meltfptr[8];;
10206 /*^compute*/
10207 /*_._IFELSE___V8*/
10208 meltfptr[7] = /*_.PROGN___V11*/ meltfptr[10];;
10209 /*epilog*/
10211 MELT_LOCATION("warmelt-base.melt:4198:/ clear");
10212 /*clear*/ /*_.RETURN___V10*/
10213 meltfptr[8] = 0 ;
10214 /*^clear*/
10215 /*clear*/ /*_.PROGN___V11*/
10216 meltfptr[10] = 0 ;
10221 /*_.VNAME__V7*/
10222 meltfptr[6] = /*_._IFELSE___V8*/ meltfptr[7];;
10223 /*epilog*/
10225 MELT_LOCATION("warmelt-base.melt:4196:/ clear");
10226 /*clear*/ /*_#IS_A__L4*/
10227 meltfnum[3] = 0 ;
10228 /*^clear*/
10229 /*clear*/ /*_._IFELSE___V8*/
10230 meltfptr[7] = 0 ;
10235 /*_#SZ__L5*/
10236 meltfnum[3] =
10237 /* jsonobject_size */ melt_jsonobject_size(/*_.VJOB__V2*/ meltfptr[1]) ;;
10238 /*^compute*/
10239 /*_#LO__L6*/
10240 meltfnum[5] = 0;;
10241 /*^compute*/
10242 /*_#HI__L7*/
10243 meltfnum[6] =
10244 ((/*_#SZ__L5*/ meltfnum[3]) - (1));;
10246 MELT_CHECK_SIGNAL();
10248 /*^compute*/
10249 /*_#IS_STRING__L8*/
10250 meltfnum[7] =
10251 (melt_magic_discr((melt_ptr_t)(/*_.VNAME__V7*/ meltfptr[6])) == MELTOBMAG_STRING);;
10252 /*^compute*/
10253 /*_#NOT__L9*/
10254 meltfnum[8] =
10255 (!(/*_#IS_STRING__L8*/ meltfnum[7]));;
10256 MELT_LOCATION("warmelt-base.melt:4205:/ cond");
10257 /*cond*/
10258 if (/*_#NOT__L9*/ meltfnum[8]) /*then*/
10260 /*^cond.then*/
10261 /*^block*/
10262 /*anyblock*/
10266 MELT_CHECK_SIGNAL();
10268 MELT_LOCATION("warmelt-base.melt:4206:/ quasiblock");
10271 /*_._RETVAL___V1*/
10272 meltfptr[0] = (/*nil*/NULL);;
10275 MELT_LOCATION("warmelt-base.melt:4206:/ locexp");
10276 /*ochecknores compilobj_nrep_return*/
10277 #if MELT_HAVE_DEBUG
10278 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
10279 melt_warn_for_no_expected_secondary_results();
10280 /* we warned when secondary results are expected but not returned. */
10281 #endif /*MELT_HAVE_DEBUG*/
10285 /*^finalreturn*/
10287 /*finalret*/
10288 goto meltlabend_rout ;
10289 /*_._IF___V12*/
10290 meltfptr[8] = /*_.RETURN___V13*/ meltfptr[10];;
10291 /*epilog*/
10293 MELT_LOCATION("warmelt-base.melt:4205:/ clear");
10294 /*clear*/ /*_.RETURN___V13*/
10295 meltfptr[10] = 0 ;
10299 else /*^cond.else*/
10302 /*_._IF___V12*/ meltfptr[8] = /*reallynil*/ NULL ;;
10306 MELT_CHECK_SIGNAL();
10308 /*^compute*/
10309 /*_#eqeqI__L10*/
10310 meltfnum[9] =
10311 ((/*_#SZ__L5*/ meltfnum[3]) == (0));;
10312 MELT_LOCATION("warmelt-base.melt:4207:/ cond");
10313 /*cond*/
10314 if (/*_#eqeqI__L10*/ meltfnum[9]) /*then*/
10316 /*^cond.then*/
10317 /*^block*/
10318 /*anyblock*/
10322 MELT_CHECK_SIGNAL();
10324 MELT_LOCATION("warmelt-base.melt:4208:/ quasiblock");
10327 /*_._RETVAL___V1*/
10328 meltfptr[0] = (/*nil*/NULL);;
10331 MELT_LOCATION("warmelt-base.melt:4208:/ locexp");
10332 /*ochecknores compilobj_nrep_return*/
10333 #if MELT_HAVE_DEBUG
10334 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
10335 melt_warn_for_no_expected_secondary_results();
10336 /* we warned when secondary results are expected but not returned. */
10337 #endif /*MELT_HAVE_DEBUG*/
10341 /*^finalreturn*/
10343 /*finalret*/
10344 goto meltlabend_rout ;
10345 /*_._IF___V14*/
10346 meltfptr[7] = /*_.RETURN___V15*/ meltfptr[10];;
10347 /*epilog*/
10349 MELT_LOCATION("warmelt-base.melt:4207:/ clear");
10350 /*clear*/ /*_.RETURN___V15*/
10351 meltfptr[10] = 0 ;
10355 else /*^cond.else*/
10358 /*_._IF___V14*/ meltfptr[7] = /*reallynil*/ NULL ;;
10361 MELT_LOCATION("warmelt-base.melt:4209:/ loop");
10362 /*loop*/
10364 meltlabloop_GETLOOP_1:;/*^loopbody*/
10366 /*^block*/
10367 /*anyblock*/
10371 MELT_CHECK_SIGNAL();
10374 MELT_CHECK_SIGNAL();
10376 /*_#plI__L11*/
10377 meltfnum[10] =
10378 ((/*_#LO__L6*/ meltfnum[5]) + (3));;
10379 /*^compute*/
10380 /*_#gtI__L12*/
10381 meltfnum[11] =
10382 ((/*_#plI__L11*/ meltfnum[10]) > (/*_#HI__L7*/ meltfnum[6]));;
10383 MELT_LOCATION("warmelt-base.melt:4211:/ cond");
10384 /*cond*/
10385 if (/*_#gtI__L12*/ meltfnum[11]) /*then*/
10387 /*^cond.then*/
10388 /*^block*/
10389 /*anyblock*/
10392 MELT_LOCATION("warmelt-base.melt:4212:/ quasiblock");
10395 /*^compute*/
10396 /*_.GETLOOP__V17*/
10397 meltfptr[16] = /*reallynil*/ NULL ;;
10399 /*^exit*/
10400 /*exit*/
10402 goto meltlabexit_GETLOOP_1;
10405 /*epilog*/
10408 } /*noelse*/
10410 MELT_LOCATION("warmelt-base.melt:4213:/ quasiblock");
10413 /*_#plI__L14*/
10414 meltfnum[13] =
10415 ((/*_#LO__L6*/ meltfnum[5]) + (/*_#HI__L7*/ meltfnum[6]));;
10416 /*^compute*/
10417 /*_#MI__L15*/
10418 meltfnum[14] =
10419 ((/*_#plI__L14*/ meltfnum[13]) / (2));;
10420 /*^compute*/
10421 /*_.MIDNAME__V18*/
10422 meltfptr[17] =
10423 /* jsonobject_nth_name */ melt_jsonobject_nth_name (/*_.VJOB__V2*/ meltfptr[1], (int)/*_#MI__L15*/ meltfnum[14]) ;;
10425 MELT_CHECK_SIGNAL();
10428 MELT_CHECK_SIGNAL();
10430 MELT_LOCATION("warmelt-base.melt:4216:/ apply");
10431 /*apply*/
10433 union meltparam_un argtab[1];
10434 memset(&argtab, 0, sizeof(argtab));
10435 /*^apply.arg*/
10436 argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.MIDNAME__V18*/ meltfptr[17];
10437 /*_.JSON_NAME_LESS__V19*/
10438 meltfptr[18] = melt_apply ((meltclosure_ptr_t)((/*!JSON_NAME_LESS*/ meltfrout->tabval[1])), (melt_ptr_t)(/*_.VNAME__V7*/ meltfptr[6]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
10441 /*^cond*/
10442 /*cond*/
10443 if (/*_.JSON_NAME_LESS__V19*/ meltfptr[18]) /*then*/
10445 /*^cond.then*/
10446 /*^block*/
10447 /*anyblock*/
10450 MELT_LOCATION("warmelt-base.melt:4217:/ compute");
10451 /*_#HI__L7*/
10452 meltfnum[6] = /*_#SETQ___L17*/ meltfnum[16] = /*_#MI__L15*/ meltfnum[14];;
10453 /*_#_IFELSE___L16*/
10454 meltfnum[15] = /*_#SETQ___L17*/ meltfnum[16];;
10455 /*epilog*/
10457 MELT_LOCATION("warmelt-base.melt:4216:/ clear");
10458 /*clear*/ /*_#SETQ___L17*/
10459 meltfnum[16] = 0 ;
10463 else /*^cond.else*/
10466 /*^block*/
10467 /*anyblock*/
10470 MELT_LOCATION("warmelt-base.melt:4218:/ compute");
10471 /*_#LO__L6*/
10472 meltfnum[5] = /*_#SETQ___L18*/ meltfnum[16] = /*_#MI__L15*/ meltfnum[14];;
10473 /*_#_IFELSE___L16*/
10474 meltfnum[15] = /*_#SETQ___L18*/ meltfnum[16];;
10475 /*epilog*/
10477 MELT_LOCATION("warmelt-base.melt:4216:/ clear");
10478 /*clear*/ /*_#SETQ___L18*/
10479 meltfnum[16] = 0 ;
10484 /*_#LET___L13*/
10485 meltfnum[12] = /*_#_IFELSE___L16*/ meltfnum[15];;
10487 MELT_LOCATION("warmelt-base.melt:4213:/ clear");
10488 /*clear*/ /*_#plI__L14*/
10489 meltfnum[13] = 0 ;
10490 /*^clear*/
10491 /*clear*/ /*_#MI__L15*/
10492 meltfnum[14] = 0 ;
10493 /*^clear*/
10494 /*clear*/ /*_.MIDNAME__V18*/
10495 meltfptr[17] = 0 ;
10496 /*^clear*/
10497 /*clear*/ /*_.JSON_NAME_LESS__V19*/
10498 meltfptr[18] = 0 ;
10499 /*^clear*/
10500 /*clear*/ /*_#_IFELSE___L16*/
10501 meltfnum[15] = 0 ;
10503 MELT_CHECK_SIGNAL();
10505 /*epilog*/
10507 MELT_LOCATION("warmelt-base.melt:4209:/ clear");
10508 /*clear*/ /*_#plI__L11*/
10509 meltfnum[10] = 0 ;
10510 /*^clear*/
10511 /*clear*/ /*_#gtI__L12*/
10512 meltfnum[11] = 0 ;
10513 /*^clear*/
10514 /*clear*/ /*_#LET___L13*/
10515 meltfnum[12] = 0 ;
10519 goto meltlabloop_GETLOOP_1;
10520 meltlabexit_GETLOOP_1:;/*^loopepilog*/
10521 /*loopepilog*/
10522 /*_.FOREVER___V16*/
10523 meltfptr[10] = /*_.GETLOOP__V17*/ meltfptr[16];;
10526 /*citerblock FOREACH_LONG_UPTO*/
10528 /* foreach_long_upto start meltcit1__EACHLONG */
10529 long meltcit1__EACHLONG_min = /*_#LO__L6*/ meltfnum[5];
10530 long meltcit1__EACHLONG_max = /*_#HI__L7*/ meltfnum[6];
10531 long meltcit1__EACHLONG_cur = 0;
10532 for (meltcit1__EACHLONG_cur = meltcit1__EACHLONG_min;
10533 meltcit1__EACHLONG_cur <= meltcit1__EACHLONG_max;
10534 meltcit1__EACHLONG_cur ++)
10536 /*_#IX__L19*/ meltfnum[16] = meltcit1__EACHLONG_cur;
10540 MELT_LOCATION("warmelt-base.melt:4222:/ quasiblock");
10543 /*_.CURNAME__V21*/
10544 meltfptr[18] =
10545 /* jsonobject_nth_name */ melt_jsonobject_nth_name (/*_.VJOB__V2*/ meltfptr[1], (int)/*_#IX__L19*/ meltfnum[16]) ;;
10547 MELT_CHECK_SIGNAL();
10550 MELT_CHECK_SIGNAL();
10552 MELT_LOCATION("warmelt-base.melt:4224:/ apply");
10553 /*apply*/
10555 union meltparam_un argtab[1];
10556 memset(&argtab, 0, sizeof(argtab));
10557 /*^apply.arg*/
10558 argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.VNAME__V7*/ meltfptr[6];
10559 /*_.JSON_NAME_EQUAL__V22*/
10560 meltfptr[21] = melt_apply ((meltclosure_ptr_t)((/*!JSON_NAME_EQUAL*/ meltfrout->tabval[2])), (melt_ptr_t)(/*_.CURNAME__V21*/ meltfptr[18]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
10563 /*^cond*/
10564 /*cond*/
10565 if (/*_.JSON_NAME_EQUAL__V22*/ meltfptr[21]) /*then*/
10567 /*^cond.then*/
10568 /*^block*/
10569 /*anyblock*/
10572 MELT_LOCATION("warmelt-base.melt:4225:/ quasiblock");
10575 /*_.CURVAL__V25*/
10576 meltfptr[24] =
10577 /* jsonobject_nth_value */ melt_jsonobject_nth_value (/*_.VJOB__V2*/ meltfptr[1], (int)/*_#IX__L19*/ meltfnum[16]) ;;
10579 MELT_CHECK_SIGNAL();
10581 MELT_LOCATION("warmelt-base.melt:4226:/ quasiblock");
10584 /*_._RETVAL___V1*/
10585 meltfptr[0] = /*_.CURVAL__V25*/ meltfptr[24];;
10588 MELT_LOCATION("warmelt-base.melt:4226:/ locexp");
10589 /*ochecknores compilobj_nrep_return*/
10590 #if MELT_HAVE_DEBUG
10591 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
10592 melt_warn_for_no_expected_secondary_results();
10593 /* we warned when secondary results are expected but not returned. */
10594 #endif /*MELT_HAVE_DEBUG*/
10598 /*^finalreturn*/
10600 /*finalret*/
10601 goto meltlabend_rout ;
10602 /*_.LET___V24*/
10603 meltfptr[23] = /*_.RETURN___V26*/ meltfptr[25];;
10605 MELT_LOCATION("warmelt-base.melt:4225:/ clear");
10606 /*clear*/ /*_.CURVAL__V25*/
10607 meltfptr[24] = 0 ;
10608 /*^clear*/
10609 /*clear*/ /*_.RETURN___V26*/
10610 meltfptr[25] = 0 ;
10611 /*_._IF___V23*/
10612 meltfptr[22] = /*_.LET___V24*/ meltfptr[23];;
10613 /*epilog*/
10615 MELT_LOCATION("warmelt-base.melt:4224:/ clear");
10616 /*clear*/ /*_.LET___V24*/
10617 meltfptr[23] = 0 ;
10621 else /*^cond.else*/
10624 /*_._IF___V23*/ meltfptr[22] = /*reallynil*/ NULL ;;
10627 /*^compute*/
10628 /*_.LET___V20*/
10629 meltfptr[17] = /*_._IF___V23*/ meltfptr[22];;
10631 MELT_LOCATION("warmelt-base.melt:4222:/ clear");
10632 /*clear*/ /*_.CURNAME__V21*/
10633 meltfptr[18] = 0 ;
10634 /*^clear*/
10635 /*clear*/ /*_.JSON_NAME_EQUAL__V22*/
10636 meltfptr[21] = 0 ;
10637 /*^clear*/
10638 /*clear*/ /*_._IF___V23*/
10639 meltfptr[22] = 0 ;
10640 } /*end foreach_long_upto meltcit1__EACHLONG */
10642 /*citerepilog*/
10644 MELT_LOCATION("warmelt-base.melt:4219:/ clear");
10645 /*clear*/ /*_#IX__L19*/
10646 meltfnum[16] = 0 ;
10647 /*^clear*/
10648 /*clear*/ /*_.LET___V20*/
10649 meltfptr[17] = 0 ;
10650 } /*endciterblock FOREACH_LONG_UPTO*/
10653 MELT_CHECK_SIGNAL();
10655 MELT_LOCATION("warmelt-base.melt:4230:/ quasiblock");
10658 /*_._RETVAL___V1*/
10659 meltfptr[0] = (/*nil*/NULL);;
10662 MELT_LOCATION("warmelt-base.melt:4230:/ locexp");
10663 /*ochecknores compilobj_nrep_return*/
10664 #if MELT_HAVE_DEBUG
10665 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
10666 melt_warn_for_no_expected_secondary_results();
10667 /* we warned when secondary results are expected but not returned. */
10668 #endif /*MELT_HAVE_DEBUG*/
10672 /*^finalreturn*/
10674 /*finalret*/
10675 goto meltlabend_rout ;
10676 /*_.LET___V6*/
10677 meltfptr[4] = /*_.RETURN___V27*/ meltfptr[24];;
10679 MELT_LOCATION("warmelt-base.melt:4195:/ clear");
10680 /*clear*/ /*_#IS_STRING__L3*/
10681 meltfnum[2] = 0 ;
10682 /*^clear*/
10683 /*clear*/ /*_.VNAME__V7*/
10684 meltfptr[6] = 0 ;
10685 /*^clear*/
10686 /*clear*/ /*_#SZ__L5*/
10687 meltfnum[3] = 0 ;
10688 /*^clear*/
10689 /*clear*/ /*_#LO__L6*/
10690 meltfnum[5] = 0 ;
10691 /*^clear*/
10692 /*clear*/ /*_#HI__L7*/
10693 meltfnum[6] = 0 ;
10694 /*^clear*/
10695 /*clear*/ /*_#IS_STRING__L8*/
10696 meltfnum[7] = 0 ;
10697 /*^clear*/
10698 /*clear*/ /*_#NOT__L9*/
10699 meltfnum[8] = 0 ;
10700 /*^clear*/
10701 /*clear*/ /*_._IF___V12*/
10702 meltfptr[8] = 0 ;
10703 /*^clear*/
10704 /*clear*/ /*_#eqeqI__L10*/
10705 meltfnum[9] = 0 ;
10706 /*^clear*/
10707 /*clear*/ /*_._IF___V14*/
10708 meltfptr[7] = 0 ;
10709 /*^clear*/
10710 /*clear*/ /*_.FOREVER___V16*/
10711 meltfptr[10] = 0 ;
10712 /*^clear*/
10713 /*clear*/ /*_.RETURN___V27*/
10714 meltfptr[24] = 0 ;
10716 MELT_CHECK_SIGNAL();
10718 MELT_LOCATION("warmelt-base.melt:4191:/ quasiblock");
10721 /*_._RETVAL___V1*/
10722 meltfptr[0] = /*_.LET___V6*/ meltfptr[4];;
10725 MELT_LOCATION("warmelt-base.melt:4191:/ locexp");
10726 /*ochecknores compilobj_nrep_return*/
10727 #if MELT_HAVE_DEBUG
10728 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
10729 melt_warn_for_no_expected_secondary_results();
10730 /* we warned when secondary results are expected but not returned. */
10731 #endif /*MELT_HAVE_DEBUG*/
10735 /*^finalreturn*/
10737 /*finalret*/
10738 goto meltlabend_rout ;
10739 /*epilog*/
10741 /*^clear*/
10742 /*clear*/ /*_#IS_JSONOBJECT__L1*/
10743 meltfnum[0] = 0 ;
10744 /*^clear*/
10745 /*clear*/ /*_#NOT__L2*/
10746 meltfnum[1] = 0 ;
10747 /*^clear*/
10748 /*clear*/ /*_._IF___V4*/
10749 meltfptr[3] = 0 ;
10750 /*^clear*/
10751 /*clear*/ /*_.LET___V6*/
10752 meltfptr[4] = 0 ;
10756 goto meltlabend_rout;
10757 meltlabend_rout:
10758 melt_trace_end("JSONOBJECT_GET_NAMED", meltcallcount);
10759 melt_blocklevel_signals = current_blocklevel_signals_meltrout_47_WARMELTmiBASE_JSONOBJECT_GET_NAMED_melt;
10760 return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]);
10761 #undef meltcallcount
10762 #undef meltfram__
10763 #undef MELTFRAM_NBVARNUM
10764 #undef MELTFRAM_NBVARPTR
10765 } /*end meltrout_47_WARMELTmiBASE_JSONOBJECT_GET_NAMED*/
10772 melt_ptr_t MELT_MODULE_VISIBILITY
10773 meltrout_48_WARMELTmiBASE_OUTJSON_JSONOBJ_METHOD(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
10774 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
10776 long current_blocklevel_signals_meltrout_48_WARMELTmiBASE_OUTJSON_JSONOBJ_METHOD_melt = melt_blocklevel_signals;
10778 #if MELT_HAVE_DEBUG
10779 static long melt_call_counter__;
10780 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
10781 #undef meltcallcount
10782 #define meltcallcount melt_thiscallcounter__
10783 #else
10784 #undef meltcallcount
10785 #define meltcallcount 0L
10786 #endif
10787 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
10789 /* start of frame for routine meltrout_48_WARMELTmiBASE_OUTJSON_JSONOBJ_METHOD fromline 1752 */
10791 /** start of frame for meltrout_48_WARMELTmiBASE_OUTJSON_JSONOBJ_METHOD of CLASS_PROCROUTINEOBJ from 1555**/
10793 /*curframdeclclassy*/ class MeltFrame_meltrout_48_WARMELTmiBASE_OUTJSON_JSONOBJ_METHOD// fromline 1568
10794 : public Melt_CallFrameWithValues<31>
10796 public: /* fromline 1572*/
10797 long mcfr_varnum[6];
10798 /*classy others*/
10799 long _meltsparel;
10800 void melt_mark_stuff (void)
10802 } /*end melt_mark_stuff*/
10803 virtual void melt_mark_ggc_data (void)
10805 melt_mark_values ();
10806 melt_mark_stuff ();
10807 }; /*end melt_mark_ggc_data*/
10808 MeltFrame_meltrout_48_WARMELTmiBASE_OUTJSON_JSONOBJ_METHOD(meltclosure_ptr_t clos) //the closure constructor fromline 1630
10809 : Melt_CallFrameWithValues<31> (
10810 #if ENABLE_CHECKING /*fromline 1634*/
10811 __FILE__, __LINE__,
10812 #endif /* ENABLE_CHECKING fromline 1638*/
10813 sizeof(MeltFrame_meltrout_48_WARMELTmiBASE_OUTJSON_JSONOBJ_METHOD), clos) {};
10814 MeltFrame_meltrout_48_WARMELTmiBASE_OUTJSON_JSONOBJ_METHOD() //the constructor fromline 1642
10815 : Melt_CallFrameWithValues<31> (
10816 #if ENABLE_CHECKING /*fromline 1646*/
10817 __FILE__, __LINE__,
10818 #endif /* ENABLE_CHECKING fromline 1650*/
10819 sizeof(MeltFrame_meltrout_48_WARMELTmiBASE_OUTJSON_JSONOBJ_METHOD)) {};
10820 #if ENABLE_CHECKING /*fromline 1654*/
10821 MeltFrame_meltrout_48_WARMELTmiBASE_OUTJSON_JSONOBJ_METHOD(const char*fil, int lin) //the constructor fromline 1656
10822 : Melt_CallFrameWithValues<31> (fil,lin, sizeof(MeltFrame_meltrout_48_WARMELTmiBASE_OUTJSON_JSONOBJ_METHOD)) {};
10823 MeltFrame_meltrout_48_WARMELTmiBASE_OUTJSON_JSONOBJ_METHOD(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
10824 : Melt_CallFrameWithValues<31> (fil,lin, sizeof(MeltFrame_meltrout_48_WARMELTmiBASE_OUTJSON_JSONOBJ_METHOD), clos) {};
10825 #endif /* ENABLE_CHECKING fromline 1666*/
10827 }; // end class MeltFrame_meltrout_48_WARMELTmiBASE_OUTJSON_JSONOBJ_METHOD
10830 /** end of frame for meltrout_48_WARMELTmiBASE_OUTJSON_JSONOBJ_METHOD fromline 1697**/
10832 /* end of frame for routine meltrout_48_WARMELTmiBASE_OUTJSON_JSONOBJ_METHOD fromline 1756 */
10834 /* classy proc frame meltrout_48_WARMELTmiBASE_OUTJSON_JSONOBJ_METHOD */
10835 MeltFrame_meltrout_48_WARMELTmiBASE_OUTJSON_JSONOBJ_METHOD
10836 meltfram__ /*declfrastruct fromline 1780*/
10837 /*classyprocarg meltrout_48_WARMELTmiBASE_OUTJSON_JSONOBJ_METHOD fromline 1785*/
10838 #if ENABLE_CHECKING
10839 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
10840 #else /*ENABLE_CHECKING */
10841 (meltclosp_) /* fromline 1793*/
10842 #endif /*ENABLE_CHECKING */
10845 #define meltframe meltfram__
10847 melt_trace_start("OUTJSON_JSONOBJ_METHOD", meltcallcount);
10848 /*use arguments*/
10849 (void) meltclosp_;
10850 (void)meltfirstargp_;
10851 (void)meltxargdescr_;
10852 (void)meltxargtab_;
10853 (void)meltxresdescr_;
10854 (void)meltxrestab_;
10855 /*getargs*/
10857 /*getarg#0*/
10858 MELT_LOCATION("warmelt-base.melt:4257:/ getarg");
10859 /*_.JSOB__V2*/
10860 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
10862 /*getarg#1*/
10863 /*^getarg*/
10864 if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs;
10865 /*_.OUT__V3*/
10866 meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL;
10867 gcc_assert(melt_discr((melt_ptr_t)(/*_.OUT__V3*/ meltfptr[2])) != NULL);
10870 goto meltlab_endgetargs;
10871 meltlab_endgetargs:
10873 /*body*/
10874 /*^block*/
10875 /*anyblock*/
10879 #if MELT_HAVE_DEBUG
10880 MELT_LOCATION("warmelt-base.melt:4258:/ cppif.then");
10881 /*^block*/
10882 /*anyblock*/
10886 MELT_CHECK_SIGNAL();
10888 /*_#IS_OUT__L1*/
10889 meltfnum[0] =
10890 (melt_is_out ((melt_ptr_t) /*_.OUT__V3*/ meltfptr[2])) ;;
10891 MELT_LOCATION("warmelt-base.melt:4258:/ cond");
10892 /*cond*/
10893 if (/*_#IS_OUT__L1*/ meltfnum[0]) /*then*/
10895 /*^cond.then*/
10896 /*_._IFELSE___V5*/ meltfptr[4] = (/*nil*/NULL);;
10898 else
10900 MELT_LOCATION("warmelt-base.melt:4258:/ cond.else");
10902 /*^block*/
10903 /*anyblock*/
10907 MELT_CHECK_SIGNAL();
10909 /*^apply*/
10910 /*apply*/
10912 union meltparam_un argtab[4];
10913 memset(&argtab, 0, sizeof(argtab));
10914 /*^apply.arg*/
10915 argtab[0].meltbp_cstring = "check out";
10916 /*^apply.arg*/
10917 argtab[1].meltbp_cstring = "warmelt-base.melt";
10918 /*^apply.arg*/
10919 argtab[2].meltbp_long = 4258;
10920 /*^apply.arg*/
10921 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.OUT__V3*/ meltfptr[2];
10922 /*_.MELT_ASSERT_FAILURE_FUN__V6*/
10923 meltfptr[5] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
10926 /*_._IFELSE___V5*/
10927 meltfptr[4] = /*_.MELT_ASSERT_FAILURE_FUN__V6*/ meltfptr[5];;
10928 /*epilog*/
10930 MELT_LOCATION("warmelt-base.melt:4258:/ clear");
10931 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V6*/
10932 meltfptr[5] = 0 ;
10937 /*_.IFCPP___V4*/
10938 meltfptr[3] = /*_._IFELSE___V5*/ meltfptr[4];;
10939 /*epilog*/
10941 MELT_LOCATION("warmelt-base.melt:4258:/ clear");
10942 /*clear*/ /*_#IS_OUT__L1*/
10943 meltfnum[0] = 0 ;
10944 /*^clear*/
10945 /*clear*/ /*_._IFELSE___V5*/
10946 meltfptr[4] = 0 ;
10949 #else /*MELT_HAVE_DEBUG*/
10950 /*^cppif.else*/
10951 /*_.IFCPP___V4*/ meltfptr[3] = (/*nil*/NULL);
10952 #endif /*MELT_HAVE_DEBUG*/
10955 #if MELT_HAVE_DEBUG
10956 MELT_LOCATION("warmelt-base.melt:4259:/ cppif.then");
10957 /*^block*/
10958 /*anyblock*/
10962 MELT_CHECK_SIGNAL();
10964 /*_#IS_JSONOBJECT__L2*/
10965 meltfnum[0] =
10966 (melt_magic_discr((melt_ptr_t)(/*_.JSOB__V2*/ meltfptr[1])) == MELTOBMAG_JSONOBJECT);;
10967 MELT_LOCATION("warmelt-base.melt:4259:/ cond");
10968 /*cond*/
10969 if (/*_#IS_JSONOBJECT__L2*/ meltfnum[0]) /*then*/
10971 /*^cond.then*/
10972 /*_._IFELSE___V8*/ meltfptr[4] = (/*nil*/NULL);;
10974 else
10976 MELT_LOCATION("warmelt-base.melt:4259:/ cond.else");
10978 /*^block*/
10979 /*anyblock*/
10983 MELT_CHECK_SIGNAL();
10985 /*^apply*/
10986 /*apply*/
10988 union meltparam_un argtab[4];
10989 memset(&argtab, 0, sizeof(argtab));
10990 /*^apply.arg*/
10991 argtab[0].meltbp_cstring = "check jsob";
10992 /*^apply.arg*/
10993 argtab[1].meltbp_cstring = "warmelt-base.melt";
10994 /*^apply.arg*/
10995 argtab[2].meltbp_long = 4259;
10996 /*^apply.arg*/
10997 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.JSOB__V2*/ meltfptr[1];
10998 /*_.MELT_ASSERT_FAILURE_FUN__V9*/
10999 meltfptr[8] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
11002 /*_._IFELSE___V8*/
11003 meltfptr[4] = /*_.MELT_ASSERT_FAILURE_FUN__V9*/ meltfptr[8];;
11004 /*epilog*/
11006 MELT_LOCATION("warmelt-base.melt:4259:/ clear");
11007 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V9*/
11008 meltfptr[8] = 0 ;
11013 /*_.IFCPP___V7*/
11014 meltfptr[5] = /*_._IFELSE___V8*/ meltfptr[4];;
11015 /*epilog*/
11017 MELT_LOCATION("warmelt-base.melt:4259:/ clear");
11018 /*clear*/ /*_#IS_JSONOBJECT__L2*/
11019 meltfnum[0] = 0 ;
11020 /*^clear*/
11021 /*clear*/ /*_._IFELSE___V8*/
11022 meltfptr[4] = 0 ;
11025 #else /*MELT_HAVE_DEBUG*/
11026 /*^cppif.else*/
11027 /*_.IFCPP___V7*/ meltfptr[5] = (/*nil*/NULL);
11028 #endif /*MELT_HAVE_DEBUG*/
11031 MELT_CHECK_SIGNAL();
11033 MELT_LOCATION("warmelt-base.melt:4260:/ apply");
11034 /*apply*/
11036 union meltparam_un argtab[1];
11037 memset(&argtab, 0, sizeof(argtab));
11038 /*^apply.arg*/
11039 argtab[0].meltbp_cstring = "{";
11040 /*_.ADD2OUT__V10*/
11041 meltfptr[8] = melt_apply ((meltclosure_ptr_t)((/*!ADD2OUT*/ meltfrout->tabval[1])), (melt_ptr_t)(/*_.OUT__V3*/ meltfptr[2]), (MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0);
11044 /*citerblock FOREACH_ENTRY_IN_JSONOBJECT*/
11046 /* foreach_entry_in_jsonobject start meltcit1__EACHJSON */
11047 unsigned sz_meltcit1__EACHJSON = melt_jsonobject_size(/*_.JSOB__V2*/ meltfptr[1]);
11048 for (/*_#IX__L3*/ meltfnum[0] = 0L;
11049 /*_#IX__L3*/ meltfnum[0] < (long) sz_meltcit1__EACHJSON && /*_.JSOB__V2*/ meltfptr[1];
11050 /*_#IX__L3*/ meltfnum[0]++)
11052 /*_.CURAT__V11*/ meltfptr[4] = melt_jsonobject_nth_name (/*_.JSOB__V2*/ meltfptr[1], /*_#IX__L3*/ meltfnum[0]);
11053 if (!/*_.CURAT__V11*/ meltfptr[4]) continue;
11054 /*_.CURVAL__V12*/
11055 meltfptr[11] = melt_jsonobject_nth_value (/*_.JSOB__V2*/ meltfptr[1], /*_#IX__L3*/ meltfnum[0]);
11056 /* begin inside foreach_entry_in_jsonobject meltcit1__EACHJSON */
11061 MELT_CHECK_SIGNAL();
11063 MELT_LOCATION("warmelt-base.melt:4264:/ cond");
11064 /*cond*/
11065 if (/*_#IX__L3*/ meltfnum[0]) /*then*/
11067 /*^cond.then*/
11068 /*^block*/
11069 /*anyblock*/
11073 MELT_CHECK_SIGNAL();
11075 /*^apply*/
11076 /*apply*/
11078 union meltparam_un argtab[1];
11079 memset(&argtab, 0, sizeof(argtab));
11080 /*^apply.arg*/
11081 argtab[0].meltbp_cstring = ",";
11082 /*_.ADD2OUT__V14*/
11083 meltfptr[13] = melt_apply ((meltclosure_ptr_t)((/*!ADD2OUT*/ meltfrout->tabval[1])), (melt_ptr_t)(/*_.OUT__V3*/ meltfptr[2]), (MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0);
11086 /*_._IF___V13*/
11087 meltfptr[12] = /*_.ADD2OUT__V14*/ meltfptr[13];;
11088 /*epilog*/
11090 MELT_LOCATION("warmelt-base.melt:4264:/ clear");
11091 /*clear*/ /*_.ADD2OUT__V14*/
11092 meltfptr[13] = 0 ;
11096 else /*^cond.else*/
11099 /*_._IF___V13*/ meltfptr[12] = /*reallynil*/ NULL ;;
11103 MELT_CHECK_SIGNAL();
11105 /*^compute*/
11106 /*_#IS_STRING__L4*/
11107 meltfnum[3] =
11108 (melt_magic_discr((melt_ptr_t)(/*_.CURAT__V11*/ meltfptr[4])) == MELTOBMAG_STRING);;
11109 MELT_LOCATION("warmelt-base.melt:4265:/ cond");
11110 /*cond*/
11111 if (/*_#IS_STRING__L4*/ meltfnum[3]) /*then*/
11113 /*^cond.then*/
11114 /*^block*/
11115 /*anyblock*/
11122 MELT_LOCATION("warmelt-base.melt:4266:/ locexp");
11123 meltgc_add_out_cstr((melt_ptr_t)(/*_.OUT__V3*/ meltfptr[2]),
11124 melt_string_str((melt_ptr_t)(/*_.CURAT__V11*/ meltfptr[4])));
11127 /*clear*/ /*_._IFELSE___V15*/
11128 meltfptr[13] = 0 ;
11129 /*epilog*/
11133 else
11135 MELT_LOCATION("warmelt-base.melt:4265:/ cond.else");
11137 /*^block*/
11138 /*anyblock*/
11142 MELT_CHECK_SIGNAL();
11144 /*_#IS_A__L5*/
11145 meltfnum[4] =
11146 melt_is_instance_of((melt_ptr_t)(/*_.CURAT__V11*/ meltfptr[4]), (melt_ptr_t)((/*!CLASS_NAMED*/ meltfrout->tabval[2])));;
11147 MELT_LOCATION("warmelt-base.melt:4267:/ cond");
11148 /*cond*/
11149 if (/*_#IS_A__L5*/ meltfnum[4]) /*then*/
11151 /*^cond.then*/
11152 /*^block*/
11153 /*anyblock*/
11156 MELT_LOCATION("warmelt-base.melt:4268:/ quasiblock");
11159 /*^cond*/
11160 /*cond*/
11161 if (
11162 /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.CURAT__V11*/ meltfptr[4]),
11163 (melt_ptr_t)((/*!CLASS_NAMED*/ meltfrout->tabval[2])))
11164 ) /*then*/
11166 /*^cond.then*/
11167 /*^getslot*/
11169 melt_ptr_t slot=NULL, obj=NULL;
11170 obj = (melt_ptr_t)(/*_.CURAT__V11*/ meltfptr[4]) /*=obj*/;
11171 melt_object_get_field(slot,obj, 1, "NAMED_NAME");
11172 /*_.ATNAM__V18*/
11173 meltfptr[17] = slot;
11177 else /*^cond.else*/
11180 /*_.ATNAM__V18*/ meltfptr[17] = /*reallynil*/ NULL ;;
11184 #if MELT_HAVE_DEBUG
11185 MELT_LOCATION("warmelt-base.melt:4270:/ cppif.then");
11186 /*^block*/
11187 /*anyblock*/
11191 MELT_CHECK_SIGNAL();
11193 /*_#IS_STRING__L6*/
11194 meltfnum[5] =
11195 (melt_magic_discr((melt_ptr_t)(/*_.ATNAM__V18*/ meltfptr[17])) == MELTOBMAG_STRING);;
11196 MELT_LOCATION("warmelt-base.melt:4270:/ cond");
11197 /*cond*/
11198 if (/*_#IS_STRING__L6*/ meltfnum[5]) /*then*/
11200 /*^cond.then*/
11201 /*_._IFELSE___V20*/ meltfptr[19] = (/*nil*/NULL);;
11203 else
11205 MELT_LOCATION("warmelt-base.melt:4270:/ cond.else");
11207 /*^block*/
11208 /*anyblock*/
11212 MELT_CHECK_SIGNAL();
11214 /*^apply*/
11215 /*apply*/
11217 union meltparam_un argtab[4];
11218 memset(&argtab, 0, sizeof(argtab));
11219 /*^apply.arg*/
11220 argtab[0].meltbp_cstring = "check atnam";
11221 /*^apply.arg*/
11222 argtab[1].meltbp_cstring = "warmelt-base.melt";
11223 /*^apply.arg*/
11224 argtab[2].meltbp_long = 4270;
11225 /*^apply.arg*/
11226 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.ATNAM__V18*/ meltfptr[17];
11227 /*_.MELT_ASSERT_FAILURE_FUN__V21*/
11228 meltfptr[20] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
11231 /*_._IFELSE___V20*/
11232 meltfptr[19] = /*_.MELT_ASSERT_FAILURE_FUN__V21*/ meltfptr[20];;
11233 /*epilog*/
11235 MELT_LOCATION("warmelt-base.melt:4270:/ clear");
11236 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V21*/
11237 meltfptr[20] = 0 ;
11242 /*_.IFCPP___V19*/
11243 meltfptr[18] = /*_._IFELSE___V20*/ meltfptr[19];;
11244 /*epilog*/
11246 MELT_LOCATION("warmelt-base.melt:4270:/ clear");
11247 /*clear*/ /*_#IS_STRING__L6*/
11248 meltfnum[5] = 0 ;
11249 /*^clear*/
11250 /*clear*/ /*_._IFELSE___V20*/
11251 meltfptr[19] = 0 ;
11254 #else /*MELT_HAVE_DEBUG*/
11255 /*^cppif.else*/
11256 /*_.IFCPP___V19*/ meltfptr[18] = (/*nil*/NULL);
11257 #endif /*MELT_HAVE_DEBUG*/
11260 MELT_CHECK_SIGNAL();
11262 MELT_LOCATION("warmelt-base.melt:4271:/ apply");
11263 /*apply*/
11265 union meltparam_un argtab[1];
11266 memset(&argtab, 0, sizeof(argtab));
11267 /*^apply.arg*/
11268 argtab[0].meltbp_cstring = "\"";
11269 /*_.ADD2OUT__V22*/
11270 meltfptr[20] = melt_apply ((meltclosure_ptr_t)((/*!ADD2OUT*/ meltfrout->tabval[1])), (melt_ptr_t)(/*_.OUT__V3*/ meltfptr[2]), (MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0);
11275 MELT_LOCATION("warmelt-base.melt:4272:/ locexp");
11276 /* output_jsonobj_method ADDNAME_CHK__1 */
11277 long namelen = strlen(melt_string_str(/*_.ATNAM__V18*/ meltfptr[17]));
11278 for (long ix=0;
11279 ix<namelen;
11280 ix++)
11282 char curc = melt_string_str(/*_.ATNAM__V18*/ meltfptr[17])[ix];
11283 char buf[4];
11284 memset(buf, 0, sizeof(buf));
11285 buf[0] = TOLOWER (curc);
11286 buf[1] = (char)0;
11287 meltgc_add_out_raw (/*_.OUT__V3*/ meltfptr[2], buf);
11293 MELT_CHECK_SIGNAL();
11295 MELT_LOCATION("warmelt-base.melt:4286:/ apply");
11296 /*apply*/
11298 union meltparam_un argtab[1];
11299 memset(&argtab, 0, sizeof(argtab));
11300 /*^apply.arg*/
11301 argtab[0].meltbp_cstring = "\"";
11302 /*_.ADD2OUT__V23*/
11303 meltfptr[19] = melt_apply ((meltclosure_ptr_t)((/*!ADD2OUT*/ meltfrout->tabval[1])), (melt_ptr_t)(/*_.OUT__V3*/ meltfptr[2]), (MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0);
11306 /*_.LET___V17*/
11307 meltfptr[16] = /*_.ADD2OUT__V23*/ meltfptr[19];;
11309 MELT_LOCATION("warmelt-base.melt:4268:/ clear");
11310 /*clear*/ /*_.ATNAM__V18*/
11311 meltfptr[17] = 0 ;
11312 /*^clear*/
11313 /*clear*/ /*_.IFCPP___V19*/
11314 meltfptr[18] = 0 ;
11315 /*^clear*/
11316 /*clear*/ /*_.ADD2OUT__V22*/
11317 meltfptr[20] = 0 ;
11318 /*^clear*/
11319 /*clear*/ /*_.ADD2OUT__V23*/
11320 meltfptr[19] = 0 ;
11321 /*_._IFELSE___V16*/
11322 meltfptr[15] = /*_.LET___V17*/ meltfptr[16];;
11323 /*epilog*/
11325 MELT_LOCATION("warmelt-base.melt:4267:/ clear");
11326 /*clear*/ /*_.LET___V17*/
11327 meltfptr[16] = 0 ;
11331 else /*^cond.else*/
11334 /*^block*/
11335 /*anyblock*/
11339 #if MELT_HAVE_DEBUG
11340 MELT_LOCATION("warmelt-base.melt:4289:/ cppif.then");
11341 /*^block*/
11342 /*anyblock*/
11346 MELT_CHECK_SIGNAL();
11348 /*^cond*/
11349 /*cond*/
11350 if ((/*nil*/NULL)) /*then*/
11352 /*^cond.then*/
11353 /*_._IFELSE___V25*/ meltfptr[18] = (/*nil*/NULL);;
11355 else
11357 MELT_LOCATION("warmelt-base.melt:4289:/ cond.else");
11359 /*^block*/
11360 /*anyblock*/
11364 MELT_CHECK_SIGNAL();
11366 /*^apply*/
11367 /*apply*/
11369 union meltparam_un argtab[4];
11370 memset(&argtab, 0, sizeof(argtab));
11371 /*^apply.arg*/
11372 argtab[0].meltbp_cstring = "invalid JSON attr";
11373 /*^apply.arg*/
11374 argtab[1].meltbp_cstring = "warmelt-base.melt";
11375 /*^apply.arg*/
11376 argtab[2].meltbp_long = 4289;
11377 /*^apply.arg*/
11378 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.CURAT__V11*/ meltfptr[4];
11379 /*_.MELT_ASSERT_FAILURE_FUN__V26*/
11380 meltfptr[20] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
11383 /*_._IFELSE___V25*/
11384 meltfptr[18] = /*_.MELT_ASSERT_FAILURE_FUN__V26*/ meltfptr[20];;
11385 /*epilog*/
11387 MELT_LOCATION("warmelt-base.melt:4289:/ clear");
11388 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V26*/
11389 meltfptr[20] = 0 ;
11394 /*_.IFCPP___V24*/
11395 meltfptr[17] = /*_._IFELSE___V25*/ meltfptr[18];;
11396 /*epilog*/
11398 MELT_LOCATION("warmelt-base.melt:4289:/ clear");
11399 /*clear*/ /*_._IFELSE___V25*/
11400 meltfptr[18] = 0 ;
11403 #else /*MELT_HAVE_DEBUG*/
11404 /*^cppif.else*/
11405 /*_.IFCPP___V24*/ meltfptr[17] = (/*nil*/NULL);
11406 #endif /*MELT_HAVE_DEBUG*/
11408 MELT_LOCATION("warmelt-base.melt:4288:/ quasiblock");
11411 /*_.PROGN___V27*/
11412 meltfptr[19] = /*_.IFCPP___V24*/ meltfptr[17];;
11413 /*^compute*/
11414 /*_._IFELSE___V16*/
11415 meltfptr[15] = /*_.PROGN___V27*/ meltfptr[19];;
11416 /*epilog*/
11418 MELT_LOCATION("warmelt-base.melt:4267:/ clear");
11419 /*clear*/ /*_.IFCPP___V24*/
11420 meltfptr[17] = 0 ;
11421 /*^clear*/
11422 /*clear*/ /*_.PROGN___V27*/
11423 meltfptr[19] = 0 ;
11428 /*_._IFELSE___V15*/
11429 meltfptr[13] = /*_._IFELSE___V16*/ meltfptr[15];;
11430 /*epilog*/
11432 MELT_LOCATION("warmelt-base.melt:4265:/ clear");
11433 /*clear*/ /*_#IS_A__L5*/
11434 meltfnum[4] = 0 ;
11435 /*^clear*/
11436 /*clear*/ /*_._IFELSE___V16*/
11437 meltfptr[15] = 0 ;
11443 MELT_CHECK_SIGNAL();
11445 MELT_LOCATION("warmelt-base.melt:4290:/ apply");
11446 /*apply*/
11448 union meltparam_un argtab[1];
11449 memset(&argtab, 0, sizeof(argtab));
11450 /*^apply.arg*/
11451 argtab[0].meltbp_cstring = ":";
11452 /*_.ADD2OUT__V28*/
11453 meltfptr[16] = melt_apply ((meltclosure_ptr_t)((/*!ADD2OUT*/ meltfrout->tabval[1])), (melt_ptr_t)(/*_.OUT__V3*/ meltfptr[2]), (MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0);
11457 MELT_CHECK_SIGNAL();
11459 MELT_LOCATION("warmelt-base.melt:4291:/ apply");
11460 /*apply*/
11462 union meltparam_un argtab[1];
11463 memset(&argtab, 0, sizeof(argtab));
11464 /*^apply.arg*/
11465 argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.CURVAL__V12*/ meltfptr[11];
11466 /*_.OUTPUT_JSON__V29*/
11467 meltfptr[20] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_JSON*/ meltfrout->tabval[3])), (melt_ptr_t)(/*_.OUT__V3*/ meltfptr[2]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
11470 /* foreach_entry_in_jsonobject end meltcit1__EACHJSON */
11471 /*_.CURAT__V11*/
11472 meltfptr[4] = NULL;
11473 /*_.CURVAL__V12*/
11474 meltfptr[11] = NULL;
11477 /*citerepilog*/
11479 MELT_LOCATION("warmelt-base.melt:4261:/ clear");
11480 /*clear*/ /*_.CURAT__V11*/
11481 meltfptr[4] = 0 ;
11482 /*^clear*/
11483 /*clear*/ /*_.CURVAL__V12*/
11484 meltfptr[11] = 0 ;
11485 /*^clear*/
11486 /*clear*/ /*_#IX__L3*/
11487 meltfnum[0] = 0 ;
11488 /*^clear*/
11489 /*clear*/ /*_._IF___V13*/
11490 meltfptr[12] = 0 ;
11491 /*^clear*/
11492 /*clear*/ /*_#IS_STRING__L4*/
11493 meltfnum[3] = 0 ;
11494 /*^clear*/
11495 /*clear*/ /*_._IFELSE___V15*/
11496 meltfptr[13] = 0 ;
11497 /*^clear*/
11498 /*clear*/ /*_.ADD2OUT__V28*/
11499 meltfptr[16] = 0 ;
11500 /*^clear*/
11501 /*clear*/ /*_.OUTPUT_JSON__V29*/
11502 meltfptr[20] = 0 ;
11503 } /*endciterblock FOREACH_ENTRY_IN_JSONOBJECT*/
11506 MELT_CHECK_SIGNAL();
11508 MELT_LOCATION("warmelt-base.melt:4293:/ apply");
11509 /*apply*/
11511 union meltparam_un argtab[1];
11512 memset(&argtab, 0, sizeof(argtab));
11513 /*^apply.arg*/
11514 argtab[0].meltbp_cstring = "}";
11515 /*_.ADD2OUT__V30*/
11516 meltfptr[18] = melt_apply ((meltclosure_ptr_t)((/*!ADD2OUT*/ meltfrout->tabval[1])), (melt_ptr_t)(/*_.OUT__V3*/ meltfptr[2]), (MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0);
11520 MELT_CHECK_SIGNAL();
11522 MELT_LOCATION("warmelt-base.melt:4294:/ quasiblock");
11525 /*_._RETVAL___V1*/
11526 meltfptr[0] = (/*nil*/NULL);;
11529 MELT_LOCATION("warmelt-base.melt:4294:/ locexp");
11530 /*ochecknores compilobj_nrep_return*/
11531 #if MELT_HAVE_DEBUG
11532 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
11533 melt_warn_for_no_expected_secondary_results();
11534 /* we warned when secondary results are expected but not returned. */
11535 #endif /*MELT_HAVE_DEBUG*/
11539 /*^finalreturn*/
11541 /*finalret*/
11542 goto meltlabend_rout ;
11544 MELT_CHECK_SIGNAL();
11546 MELT_LOCATION("warmelt-base.melt:4257:/ quasiblock");
11549 /*_._RETVAL___V1*/
11550 meltfptr[0] = /*_.RETURN___V31*/ meltfptr[17];;
11553 MELT_LOCATION("warmelt-base.melt:4257:/ locexp");
11554 /*ochecknores compilobj_nrep_return*/
11555 #if MELT_HAVE_DEBUG
11556 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
11557 melt_warn_for_no_expected_secondary_results();
11558 /* we warned when secondary results are expected but not returned. */
11559 #endif /*MELT_HAVE_DEBUG*/
11563 /*^finalreturn*/
11565 /*finalret*/
11566 goto meltlabend_rout ;
11567 /*epilog*/
11569 /*^clear*/
11570 /*clear*/ /*_.IFCPP___V4*/
11571 meltfptr[3] = 0 ;
11572 /*^clear*/
11573 /*clear*/ /*_.IFCPP___V7*/
11574 meltfptr[5] = 0 ;
11575 /*^clear*/
11576 /*clear*/ /*_.ADD2OUT__V10*/
11577 meltfptr[8] = 0 ;
11578 /*^clear*/
11579 /*clear*/ /*_.ADD2OUT__V30*/
11580 meltfptr[18] = 0 ;
11581 /*^clear*/
11582 /*clear*/ /*_.RETURN___V31*/
11583 meltfptr[17] = 0 ;
11587 goto meltlabend_rout;
11588 meltlabend_rout:
11589 melt_trace_end("OUTJSON_JSONOBJ_METHOD", meltcallcount);
11590 melt_blocklevel_signals = current_blocklevel_signals_meltrout_48_WARMELTmiBASE_OUTJSON_JSONOBJ_METHOD_melt;
11591 return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]);
11592 #undef meltcallcount
11593 #undef meltfram__
11594 #undef MELTFRAM_NBVARNUM
11595 #undef MELTFRAM_NBVARPTR
11596 } /*end meltrout_48_WARMELTmiBASE_OUTJSON_JSONOBJ_METHOD*/
11603 melt_ptr_t MELT_MODULE_VISIBILITY
11604 meltrout_49_WARMELTmiBASE_OUTJSON_MULTIPLE_METHOD(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
11605 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
11607 long current_blocklevel_signals_meltrout_49_WARMELTmiBASE_OUTJSON_MULTIPLE_METHOD_melt = melt_blocklevel_signals;
11609 #if MELT_HAVE_DEBUG
11610 static long melt_call_counter__;
11611 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
11612 #undef meltcallcount
11613 #define meltcallcount melt_thiscallcounter__
11614 #else
11615 #undef meltcallcount
11616 #define meltcallcount 0L
11617 #endif
11618 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
11620 /* start of frame for routine meltrout_49_WARMELTmiBASE_OUTJSON_MULTIPLE_METHOD fromline 1752 */
11622 /** start of frame for meltrout_49_WARMELTmiBASE_OUTJSON_MULTIPLE_METHOD of CLASS_PROCROUTINEOBJ from 1555**/
11624 /*curframdeclclassy*/ class MeltFrame_meltrout_49_WARMELTmiBASE_OUTJSON_MULTIPLE_METHOD// fromline 1568
11625 : public Melt_CallFrameWithValues<15>
11627 public: /* fromline 1572*/
11628 long mcfr_varnum[3];
11629 /*classy others*/
11630 long _meltsparel;
11631 void melt_mark_stuff (void)
11633 } /*end melt_mark_stuff*/
11634 virtual void melt_mark_ggc_data (void)
11636 melt_mark_values ();
11637 melt_mark_stuff ();
11638 }; /*end melt_mark_ggc_data*/
11639 MeltFrame_meltrout_49_WARMELTmiBASE_OUTJSON_MULTIPLE_METHOD(meltclosure_ptr_t clos) //the closure constructor fromline 1630
11640 : Melt_CallFrameWithValues<15> (
11641 #if ENABLE_CHECKING /*fromline 1634*/
11642 __FILE__, __LINE__,
11643 #endif /* ENABLE_CHECKING fromline 1638*/
11644 sizeof(MeltFrame_meltrout_49_WARMELTmiBASE_OUTJSON_MULTIPLE_METHOD), clos) {};
11645 MeltFrame_meltrout_49_WARMELTmiBASE_OUTJSON_MULTIPLE_METHOD() //the constructor fromline 1642
11646 : Melt_CallFrameWithValues<15> (
11647 #if ENABLE_CHECKING /*fromline 1646*/
11648 __FILE__, __LINE__,
11649 #endif /* ENABLE_CHECKING fromline 1650*/
11650 sizeof(MeltFrame_meltrout_49_WARMELTmiBASE_OUTJSON_MULTIPLE_METHOD)) {};
11651 #if ENABLE_CHECKING /*fromline 1654*/
11652 MeltFrame_meltrout_49_WARMELTmiBASE_OUTJSON_MULTIPLE_METHOD(const char*fil, int lin) //the constructor fromline 1656
11653 : Melt_CallFrameWithValues<15> (fil,lin, sizeof(MeltFrame_meltrout_49_WARMELTmiBASE_OUTJSON_MULTIPLE_METHOD)) {};
11654 MeltFrame_meltrout_49_WARMELTmiBASE_OUTJSON_MULTIPLE_METHOD(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
11655 : Melt_CallFrameWithValues<15> (fil,lin, sizeof(MeltFrame_meltrout_49_WARMELTmiBASE_OUTJSON_MULTIPLE_METHOD), clos) {};
11656 #endif /* ENABLE_CHECKING fromline 1666*/
11658 }; // end class MeltFrame_meltrout_49_WARMELTmiBASE_OUTJSON_MULTIPLE_METHOD
11661 /** end of frame for meltrout_49_WARMELTmiBASE_OUTJSON_MULTIPLE_METHOD fromline 1697**/
11663 /* end of frame for routine meltrout_49_WARMELTmiBASE_OUTJSON_MULTIPLE_METHOD fromline 1756 */
11665 /* classy proc frame meltrout_49_WARMELTmiBASE_OUTJSON_MULTIPLE_METHOD */
11666 MeltFrame_meltrout_49_WARMELTmiBASE_OUTJSON_MULTIPLE_METHOD
11667 meltfram__ /*declfrastruct fromline 1780*/
11668 /*classyprocarg meltrout_49_WARMELTmiBASE_OUTJSON_MULTIPLE_METHOD fromline 1785*/
11669 #if ENABLE_CHECKING
11670 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
11671 #else /*ENABLE_CHECKING */
11672 (meltclosp_) /* fromline 1793*/
11673 #endif /*ENABLE_CHECKING */
11676 #define meltframe meltfram__
11678 melt_trace_start("OUTJSON_MULTIPLE_METHOD", meltcallcount);
11679 /*use arguments*/
11680 (void) meltclosp_;
11681 (void)meltfirstargp_;
11682 (void)meltxargdescr_;
11683 (void)meltxargtab_;
11684 (void)meltxresdescr_;
11685 (void)meltxrestab_;
11686 /*getargs*/
11688 /*getarg#0*/
11689 MELT_LOCATION("warmelt-base.melt:4298:/ getarg");
11690 /*_.TUP__V2*/
11691 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
11693 /*getarg#1*/
11694 /*^getarg*/
11695 if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs;
11696 /*_.OUT__V3*/
11697 meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL;
11698 gcc_assert(melt_discr((melt_ptr_t)(/*_.OUT__V3*/ meltfptr[2])) != NULL);
11701 goto meltlab_endgetargs;
11702 meltlab_endgetargs:
11704 /*body*/
11705 /*^block*/
11706 /*anyblock*/
11710 #if MELT_HAVE_DEBUG
11711 MELT_LOCATION("warmelt-base.melt:4299:/ cppif.then");
11712 /*^block*/
11713 /*anyblock*/
11717 MELT_CHECK_SIGNAL();
11719 /*_#IS_OUT__L1*/
11720 meltfnum[0] =
11721 (melt_is_out ((melt_ptr_t) /*_.OUT__V3*/ meltfptr[2])) ;;
11722 MELT_LOCATION("warmelt-base.melt:4299:/ cond");
11723 /*cond*/
11724 if (/*_#IS_OUT__L1*/ meltfnum[0]) /*then*/
11726 /*^cond.then*/
11727 /*_._IFELSE___V5*/ meltfptr[4] = (/*nil*/NULL);;
11729 else
11731 MELT_LOCATION("warmelt-base.melt:4299:/ cond.else");
11733 /*^block*/
11734 /*anyblock*/
11738 MELT_CHECK_SIGNAL();
11740 /*^apply*/
11741 /*apply*/
11743 union meltparam_un argtab[4];
11744 memset(&argtab, 0, sizeof(argtab));
11745 /*^apply.arg*/
11746 argtab[0].meltbp_cstring = "check out";
11747 /*^apply.arg*/
11748 argtab[1].meltbp_cstring = "warmelt-base.melt";
11749 /*^apply.arg*/
11750 argtab[2].meltbp_long = 4299;
11751 /*^apply.arg*/
11752 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.OUT__V3*/ meltfptr[2];
11753 /*_.MELT_ASSERT_FAILURE_FUN__V6*/
11754 meltfptr[5] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
11757 /*_._IFELSE___V5*/
11758 meltfptr[4] = /*_.MELT_ASSERT_FAILURE_FUN__V6*/ meltfptr[5];;
11759 /*epilog*/
11761 MELT_LOCATION("warmelt-base.melt:4299:/ clear");
11762 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V6*/
11763 meltfptr[5] = 0 ;
11768 /*_.IFCPP___V4*/
11769 meltfptr[3] = /*_._IFELSE___V5*/ meltfptr[4];;
11770 /*epilog*/
11772 MELT_LOCATION("warmelt-base.melt:4299:/ clear");
11773 /*clear*/ /*_#IS_OUT__L1*/
11774 meltfnum[0] = 0 ;
11775 /*^clear*/
11776 /*clear*/ /*_._IFELSE___V5*/
11777 meltfptr[4] = 0 ;
11780 #else /*MELT_HAVE_DEBUG*/
11781 /*^cppif.else*/
11782 /*_.IFCPP___V4*/ meltfptr[3] = (/*nil*/NULL);
11783 #endif /*MELT_HAVE_DEBUG*/
11786 #if MELT_HAVE_DEBUG
11787 MELT_LOCATION("warmelt-base.melt:4300:/ cppif.then");
11788 /*^block*/
11789 /*anyblock*/
11793 MELT_CHECK_SIGNAL();
11795 /*_#IS_MULTIPLE__L2*/
11796 meltfnum[0] =
11797 (melt_magic_discr((melt_ptr_t)(/*_.TUP__V2*/ meltfptr[1])) == MELTOBMAG_MULTIPLE);;
11798 MELT_LOCATION("warmelt-base.melt:4300:/ cond");
11799 /*cond*/
11800 if (/*_#IS_MULTIPLE__L2*/ meltfnum[0]) /*then*/
11802 /*^cond.then*/
11803 /*_._IFELSE___V8*/ meltfptr[4] = (/*nil*/NULL);;
11805 else
11807 MELT_LOCATION("warmelt-base.melt:4300:/ cond.else");
11809 /*^block*/
11810 /*anyblock*/
11814 MELT_CHECK_SIGNAL();
11816 /*^apply*/
11817 /*apply*/
11819 union meltparam_un argtab[4];
11820 memset(&argtab, 0, sizeof(argtab));
11821 /*^apply.arg*/
11822 argtab[0].meltbp_cstring = "check tup";
11823 /*^apply.arg*/
11824 argtab[1].meltbp_cstring = "warmelt-base.melt";
11825 /*^apply.arg*/
11826 argtab[2].meltbp_long = 4300;
11827 /*^apply.arg*/
11828 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.TUP__V2*/ meltfptr[1];
11829 /*_.MELT_ASSERT_FAILURE_FUN__V9*/
11830 meltfptr[8] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
11833 /*_._IFELSE___V8*/
11834 meltfptr[4] = /*_.MELT_ASSERT_FAILURE_FUN__V9*/ meltfptr[8];;
11835 /*epilog*/
11837 MELT_LOCATION("warmelt-base.melt:4300:/ clear");
11838 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V9*/
11839 meltfptr[8] = 0 ;
11844 /*_.IFCPP___V7*/
11845 meltfptr[5] = /*_._IFELSE___V8*/ meltfptr[4];;
11846 /*epilog*/
11848 MELT_LOCATION("warmelt-base.melt:4300:/ clear");
11849 /*clear*/ /*_#IS_MULTIPLE__L2*/
11850 meltfnum[0] = 0 ;
11851 /*^clear*/
11852 /*clear*/ /*_._IFELSE___V8*/
11853 meltfptr[4] = 0 ;
11856 #else /*MELT_HAVE_DEBUG*/
11857 /*^cppif.else*/
11858 /*_.IFCPP___V7*/ meltfptr[5] = (/*nil*/NULL);
11859 #endif /*MELT_HAVE_DEBUG*/
11862 MELT_CHECK_SIGNAL();
11864 MELT_LOCATION("warmelt-base.melt:4301:/ apply");
11865 /*apply*/
11867 union meltparam_un argtab[1];
11868 memset(&argtab, 0, sizeof(argtab));
11869 /*^apply.arg*/
11870 argtab[0].meltbp_cstring = "[";
11871 /*_.ADD2OUT__V10*/
11872 meltfptr[8] = melt_apply ((meltclosure_ptr_t)((/*!ADD2OUT*/ meltfrout->tabval[1])), (melt_ptr_t)(/*_.OUT__V3*/ meltfptr[2]), (MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0);
11875 /*citerblock FOREACH_IN_MULTIPLE*/
11877 /* start foreach_in_multiple meltcit1__EACHTUP */
11878 long meltcit1__EACHTUP_ln = melt_multiple_length((melt_ptr_t)/*_.TUP__V2*/ meltfptr[1]);
11879 for (/*_#IX__L3*/ meltfnum[0] = 0;
11880 (/*_#IX__L3*/ meltfnum[0] >= 0) && (/*_#IX__L3*/ meltfnum[0] < meltcit1__EACHTUP_ln);
11881 /*_#IX__L3*/ meltfnum[0]++)
11883 /*_.CURCOMP__V11*/ meltfptr[4] = melt_multiple_nth((melt_ptr_t)(/*_.TUP__V2*/ meltfptr[1]), /*_#IX__L3*/ meltfnum[0]);
11888 MELT_CHECK_SIGNAL();
11890 MELT_LOCATION("warmelt-base.melt:4305:/ cond");
11891 /*cond*/
11892 if (/*_#IX__L3*/ meltfnum[0]) /*then*/
11894 /*^cond.then*/
11895 /*^block*/
11896 /*anyblock*/
11900 MELT_CHECK_SIGNAL();
11902 /*^apply*/
11903 /*apply*/
11905 union meltparam_un argtab[1];
11906 memset(&argtab, 0, sizeof(argtab));
11907 /*^apply.arg*/
11908 argtab[0].meltbp_cstring = ",";
11909 /*_.ADD2OUT__V13*/
11910 meltfptr[12] = melt_apply ((meltclosure_ptr_t)((/*!ADD2OUT*/ meltfrout->tabval[1])), (melt_ptr_t)(/*_.OUT__V3*/ meltfptr[2]), (MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0);
11913 /*_._IF___V12*/
11914 meltfptr[11] = /*_.ADD2OUT__V13*/ meltfptr[12];;
11915 /*epilog*/
11917 MELT_LOCATION("warmelt-base.melt:4305:/ clear");
11918 /*clear*/ /*_.ADD2OUT__V13*/
11919 meltfptr[12] = 0 ;
11923 else /*^cond.else*/
11926 /*_._IF___V12*/ meltfptr[11] = /*reallynil*/ NULL ;;
11930 MELT_CHECK_SIGNAL();
11932 MELT_LOCATION("warmelt-base.melt:4306:/ apply");
11933 /*apply*/
11935 union meltparam_un argtab[1];
11936 memset(&argtab, 0, sizeof(argtab));
11937 /*^apply.arg*/
11938 argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.CURCOMP__V11*/ meltfptr[4];
11939 /*_.OUTPUT_JSON__V14*/
11940 meltfptr[12] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_JSON*/ meltfrout->tabval[2])), (melt_ptr_t)(/*_.OUT__V3*/ meltfptr[2]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
11943 if (/*_#IX__L3*/ meltfnum[0]<0) break;
11944 } /* end foreach_in_multiple meltcit1__EACHTUP */
11946 /*citerepilog*/
11948 MELT_LOCATION("warmelt-base.melt:4302:/ clear");
11949 /*clear*/ /*_.CURCOMP__V11*/
11950 meltfptr[4] = 0 ;
11951 /*^clear*/
11952 /*clear*/ /*_#IX__L3*/
11953 meltfnum[0] = 0 ;
11954 /*^clear*/
11955 /*clear*/ /*_._IF___V12*/
11956 meltfptr[11] = 0 ;
11957 /*^clear*/
11958 /*clear*/ /*_.OUTPUT_JSON__V14*/
11959 meltfptr[12] = 0 ;
11960 } /*endciterblock FOREACH_IN_MULTIPLE*/
11963 MELT_CHECK_SIGNAL();
11965 MELT_LOCATION("warmelt-base.melt:4307:/ apply");
11966 /*apply*/
11968 union meltparam_un argtab[1];
11969 memset(&argtab, 0, sizeof(argtab));
11970 /*^apply.arg*/
11971 argtab[0].meltbp_cstring = "]";
11972 /*_.ADD2OUT__V15*/
11973 meltfptr[14] = melt_apply ((meltclosure_ptr_t)((/*!ADD2OUT*/ meltfrout->tabval[1])), (melt_ptr_t)(/*_.OUT__V3*/ meltfptr[2]), (MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0);
11977 MELT_CHECK_SIGNAL();
11979 MELT_LOCATION("warmelt-base.melt:4298:/ quasiblock");
11982 /*_._RETVAL___V1*/
11983 meltfptr[0] = /*_.ADD2OUT__V15*/ meltfptr[14];;
11986 MELT_LOCATION("warmelt-base.melt:4298:/ locexp");
11987 /*ochecknores compilobj_nrep_return*/
11988 #if MELT_HAVE_DEBUG
11989 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
11990 melt_warn_for_no_expected_secondary_results();
11991 /* we warned when secondary results are expected but not returned. */
11992 #endif /*MELT_HAVE_DEBUG*/
11996 /*^finalreturn*/
11998 /*finalret*/
11999 goto meltlabend_rout ;
12000 /*epilog*/
12002 /*^clear*/
12003 /*clear*/ /*_.IFCPP___V4*/
12004 meltfptr[3] = 0 ;
12005 /*^clear*/
12006 /*clear*/ /*_.IFCPP___V7*/
12007 meltfptr[5] = 0 ;
12008 /*^clear*/
12009 /*clear*/ /*_.ADD2OUT__V10*/
12010 meltfptr[8] = 0 ;
12011 /*^clear*/
12012 /*clear*/ /*_.ADD2OUT__V15*/
12013 meltfptr[14] = 0 ;
12017 goto meltlabend_rout;
12018 meltlabend_rout:
12019 melt_trace_end("OUTJSON_MULTIPLE_METHOD", meltcallcount);
12020 melt_blocklevel_signals = current_blocklevel_signals_meltrout_49_WARMELTmiBASE_OUTJSON_MULTIPLE_METHOD_melt;
12021 return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]);
12022 #undef meltcallcount
12023 #undef meltfram__
12024 #undef MELTFRAM_NBVARNUM
12025 #undef MELTFRAM_NBVARPTR
12026 } /*end meltrout_49_WARMELTmiBASE_OUTJSON_MULTIPLE_METHOD*/
12033 melt_ptr_t MELT_MODULE_VISIBILITY
12034 meltrout_50_WARMELTmiBASE_OUTJSON_NAMED_METHOD(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
12035 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
12037 long current_blocklevel_signals_meltrout_50_WARMELTmiBASE_OUTJSON_NAMED_METHOD_melt = melt_blocklevel_signals;
12039 #if MELT_HAVE_DEBUG
12040 static long melt_call_counter__;
12041 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
12042 #undef meltcallcount
12043 #define meltcallcount melt_thiscallcounter__
12044 #else
12045 #undef meltcallcount
12046 #define meltcallcount 0L
12047 #endif
12048 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
12050 /* start of frame for routine meltrout_50_WARMELTmiBASE_OUTJSON_NAMED_METHOD fromline 1752 */
12052 /** start of frame for meltrout_50_WARMELTmiBASE_OUTJSON_NAMED_METHOD of CLASS_PROCROUTINEOBJ from 1555**/
12054 /*curframdeclclassy*/ class MeltFrame_meltrout_50_WARMELTmiBASE_OUTJSON_NAMED_METHOD// fromline 1568
12055 : public Melt_CallFrameWithValues<16>
12057 public: /* fromline 1572*/
12058 long mcfr_varnum[3];
12059 /*classy others*/
12060 long _meltsparel;
12061 void melt_mark_stuff (void)
12063 } /*end melt_mark_stuff*/
12064 virtual void melt_mark_ggc_data (void)
12066 melt_mark_values ();
12067 melt_mark_stuff ();
12068 }; /*end melt_mark_ggc_data*/
12069 MeltFrame_meltrout_50_WARMELTmiBASE_OUTJSON_NAMED_METHOD(meltclosure_ptr_t clos) //the closure constructor fromline 1630
12070 : Melt_CallFrameWithValues<16> (
12071 #if ENABLE_CHECKING /*fromline 1634*/
12072 __FILE__, __LINE__,
12073 #endif /* ENABLE_CHECKING fromline 1638*/
12074 sizeof(MeltFrame_meltrout_50_WARMELTmiBASE_OUTJSON_NAMED_METHOD), clos) {};
12075 MeltFrame_meltrout_50_WARMELTmiBASE_OUTJSON_NAMED_METHOD() //the constructor fromline 1642
12076 : Melt_CallFrameWithValues<16> (
12077 #if ENABLE_CHECKING /*fromline 1646*/
12078 __FILE__, __LINE__,
12079 #endif /* ENABLE_CHECKING fromline 1650*/
12080 sizeof(MeltFrame_meltrout_50_WARMELTmiBASE_OUTJSON_NAMED_METHOD)) {};
12081 #if ENABLE_CHECKING /*fromline 1654*/
12082 MeltFrame_meltrout_50_WARMELTmiBASE_OUTJSON_NAMED_METHOD(const char*fil, int lin) //the constructor fromline 1656
12083 : Melt_CallFrameWithValues<16> (fil,lin, sizeof(MeltFrame_meltrout_50_WARMELTmiBASE_OUTJSON_NAMED_METHOD)) {};
12084 MeltFrame_meltrout_50_WARMELTmiBASE_OUTJSON_NAMED_METHOD(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
12085 : Melt_CallFrameWithValues<16> (fil,lin, sizeof(MeltFrame_meltrout_50_WARMELTmiBASE_OUTJSON_NAMED_METHOD), clos) {};
12086 #endif /* ENABLE_CHECKING fromline 1666*/
12088 }; // end class MeltFrame_meltrout_50_WARMELTmiBASE_OUTJSON_NAMED_METHOD
12091 /** end of frame for meltrout_50_WARMELTmiBASE_OUTJSON_NAMED_METHOD fromline 1697**/
12093 /* end of frame for routine meltrout_50_WARMELTmiBASE_OUTJSON_NAMED_METHOD fromline 1756 */
12095 /* classy proc frame meltrout_50_WARMELTmiBASE_OUTJSON_NAMED_METHOD */
12096 MeltFrame_meltrout_50_WARMELTmiBASE_OUTJSON_NAMED_METHOD
12097 meltfram__ /*declfrastruct fromline 1780*/
12098 /*classyprocarg meltrout_50_WARMELTmiBASE_OUTJSON_NAMED_METHOD fromline 1785*/
12099 #if ENABLE_CHECKING
12100 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
12101 #else /*ENABLE_CHECKING */
12102 (meltclosp_) /* fromline 1793*/
12103 #endif /*ENABLE_CHECKING */
12106 #define meltframe meltfram__
12108 melt_trace_start("OUTJSON_NAMED_METHOD", meltcallcount);
12109 /*use arguments*/
12110 (void) meltclosp_;
12111 (void)meltfirstargp_;
12112 (void)meltxargdescr_;
12113 (void)meltxargtab_;
12114 (void)meltxresdescr_;
12115 (void)meltxrestab_;
12116 /*getargs*/
12118 /*getarg#0*/
12119 MELT_LOCATION("warmelt-base.melt:4313:/ getarg");
12120 /*_.NMD__V2*/
12121 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
12123 /*getarg#1*/
12124 /*^getarg*/
12125 if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs;
12126 /*_.OUT__V3*/
12127 meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL;
12128 gcc_assert(melt_discr((melt_ptr_t)(/*_.OUT__V3*/ meltfptr[2])) != NULL);
12131 goto meltlab_endgetargs;
12132 meltlab_endgetargs:
12134 /*body*/
12135 /*^block*/
12136 /*anyblock*/
12140 #if MELT_HAVE_DEBUG
12141 MELT_LOCATION("warmelt-base.melt:4314:/ cppif.then");
12142 /*^block*/
12143 /*anyblock*/
12147 MELT_CHECK_SIGNAL();
12149 /*_#IS_OUT__L1*/
12150 meltfnum[0] =
12151 (melt_is_out ((melt_ptr_t) /*_.OUT__V3*/ meltfptr[2])) ;;
12152 MELT_LOCATION("warmelt-base.melt:4314:/ cond");
12153 /*cond*/
12154 if (/*_#IS_OUT__L1*/ meltfnum[0]) /*then*/
12156 /*^cond.then*/
12157 /*_._IFELSE___V5*/ meltfptr[4] = (/*nil*/NULL);;
12159 else
12161 MELT_LOCATION("warmelt-base.melt:4314:/ cond.else");
12163 /*^block*/
12164 /*anyblock*/
12168 MELT_CHECK_SIGNAL();
12170 /*^apply*/
12171 /*apply*/
12173 union meltparam_un argtab[4];
12174 memset(&argtab, 0, sizeof(argtab));
12175 /*^apply.arg*/
12176 argtab[0].meltbp_cstring = "check out";
12177 /*^apply.arg*/
12178 argtab[1].meltbp_cstring = "warmelt-base.melt";
12179 /*^apply.arg*/
12180 argtab[2].meltbp_long = 4314;
12181 /*^apply.arg*/
12182 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.OUT__V3*/ meltfptr[2];
12183 /*_.MELT_ASSERT_FAILURE_FUN__V6*/
12184 meltfptr[5] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
12187 /*_._IFELSE___V5*/
12188 meltfptr[4] = /*_.MELT_ASSERT_FAILURE_FUN__V6*/ meltfptr[5];;
12189 /*epilog*/
12191 MELT_LOCATION("warmelt-base.melt:4314:/ clear");
12192 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V6*/
12193 meltfptr[5] = 0 ;
12198 /*_.IFCPP___V4*/
12199 meltfptr[3] = /*_._IFELSE___V5*/ meltfptr[4];;
12200 /*epilog*/
12202 MELT_LOCATION("warmelt-base.melt:4314:/ clear");
12203 /*clear*/ /*_#IS_OUT__L1*/
12204 meltfnum[0] = 0 ;
12205 /*^clear*/
12206 /*clear*/ /*_._IFELSE___V5*/
12207 meltfptr[4] = 0 ;
12210 #else /*MELT_HAVE_DEBUG*/
12211 /*^cppif.else*/
12212 /*_.IFCPP___V4*/ meltfptr[3] = (/*nil*/NULL);
12213 #endif /*MELT_HAVE_DEBUG*/
12216 #if MELT_HAVE_DEBUG
12217 MELT_LOCATION("warmelt-base.melt:4315:/ cppif.then");
12218 /*^block*/
12219 /*anyblock*/
12223 MELT_CHECK_SIGNAL();
12225 /*_#IS_A__L2*/
12226 meltfnum[0] =
12227 melt_is_instance_of((melt_ptr_t)(/*_.NMD__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_NAMED*/ meltfrout->tabval[1])));;
12228 MELT_LOCATION("warmelt-base.melt:4315:/ cond");
12229 /*cond*/
12230 if (/*_#IS_A__L2*/ meltfnum[0]) /*then*/
12232 /*^cond.then*/
12233 /*_._IFELSE___V8*/ meltfptr[4] = (/*nil*/NULL);;
12235 else
12237 MELT_LOCATION("warmelt-base.melt:4315:/ cond.else");
12239 /*^block*/
12240 /*anyblock*/
12244 MELT_CHECK_SIGNAL();
12246 /*^apply*/
12247 /*apply*/
12249 union meltparam_un argtab[4];
12250 memset(&argtab, 0, sizeof(argtab));
12251 /*^apply.arg*/
12252 argtab[0].meltbp_cstring = "check nmd";
12253 /*^apply.arg*/
12254 argtab[1].meltbp_cstring = "warmelt-base.melt";
12255 /*^apply.arg*/
12256 argtab[2].meltbp_long = 4315;
12257 /*^apply.arg*/
12258 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.NMD__V2*/ meltfptr[1];
12259 /*_.MELT_ASSERT_FAILURE_FUN__V9*/
12260 meltfptr[8] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
12263 /*_._IFELSE___V8*/
12264 meltfptr[4] = /*_.MELT_ASSERT_FAILURE_FUN__V9*/ meltfptr[8];;
12265 /*epilog*/
12267 MELT_LOCATION("warmelt-base.melt:4315:/ clear");
12268 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V9*/
12269 meltfptr[8] = 0 ;
12274 /*_.IFCPP___V7*/
12275 meltfptr[5] = /*_._IFELSE___V8*/ meltfptr[4];;
12276 /*epilog*/
12278 MELT_LOCATION("warmelt-base.melt:4315:/ clear");
12279 /*clear*/ /*_#IS_A__L2*/
12280 meltfnum[0] = 0 ;
12281 /*^clear*/
12282 /*clear*/ /*_._IFELSE___V8*/
12283 meltfptr[4] = 0 ;
12286 #else /*MELT_HAVE_DEBUG*/
12287 /*^cppif.else*/
12288 /*_.IFCPP___V7*/ meltfptr[5] = (/*nil*/NULL);
12289 #endif /*MELT_HAVE_DEBUG*/
12291 MELT_LOCATION("warmelt-base.melt:4316:/ quasiblock");
12294 /*^getslot*/
12296 melt_ptr_t slot=NULL, obj=NULL;
12297 obj = (melt_ptr_t)(/*_.NMD__V2*/ meltfptr[1]) /*=obj*/;
12298 melt_object_get_field(slot,obj, 1, "NAMED_NAME");
12299 /*_.NAM__V11*/
12300 meltfptr[4] = slot;
12304 #if MELT_HAVE_DEBUG
12305 MELT_LOCATION("warmelt-base.melt:4318:/ cppif.then");
12306 /*^block*/
12307 /*anyblock*/
12311 MELT_CHECK_SIGNAL();
12313 /*_#IS_STRING__L3*/
12314 meltfnum[0] =
12315 (melt_magic_discr((melt_ptr_t)(/*_.NAM__V11*/ meltfptr[4])) == MELTOBMAG_STRING);;
12316 MELT_LOCATION("warmelt-base.melt:4318:/ cond");
12317 /*cond*/
12318 if (/*_#IS_STRING__L3*/ meltfnum[0]) /*then*/
12320 /*^cond.then*/
12321 /*_._IFELSE___V13*/ meltfptr[12] = (/*nil*/NULL);;
12323 else
12325 MELT_LOCATION("warmelt-base.melt:4318:/ cond.else");
12327 /*^block*/
12328 /*anyblock*/
12332 MELT_CHECK_SIGNAL();
12334 /*^apply*/
12335 /*apply*/
12337 union meltparam_un argtab[5];
12338 memset(&argtab, 0, sizeof(argtab));
12339 /*^apply.arg*/
12340 argtab[0].meltbp_cstring = "check nam";
12341 /*^apply.arg*/
12342 argtab[1].meltbp_cstring = "warmelt-base.melt";
12343 /*^apply.arg*/
12344 argtab[2].meltbp_long = 4318;
12345 /*^apply.arg*/
12346 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.NAM__V11*/ meltfptr[4];
12347 /*^apply.arg*/
12348 argtab[4].meltbp_aptr = (melt_ptr_t*) &/*_.NMD__V2*/ meltfptr[1];
12349 /*_.MELT_ASSERT_FAILURE_FUN__V14*/
12350 meltfptr[13] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
12353 /*_._IFELSE___V13*/
12354 meltfptr[12] = /*_.MELT_ASSERT_FAILURE_FUN__V14*/ meltfptr[13];;
12355 /*epilog*/
12357 MELT_LOCATION("warmelt-base.melt:4318:/ clear");
12358 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V14*/
12359 meltfptr[13] = 0 ;
12364 /*_.IFCPP___V12*/
12365 meltfptr[11] = /*_._IFELSE___V13*/ meltfptr[12];;
12366 /*epilog*/
12368 MELT_LOCATION("warmelt-base.melt:4318:/ clear");
12369 /*clear*/ /*_#IS_STRING__L3*/
12370 meltfnum[0] = 0 ;
12371 /*^clear*/
12372 /*clear*/ /*_._IFELSE___V13*/
12373 meltfptr[12] = 0 ;
12376 #else /*MELT_HAVE_DEBUG*/
12377 /*^cppif.else*/
12378 /*_.IFCPP___V12*/ meltfptr[11] = (/*nil*/NULL);
12379 #endif /*MELT_HAVE_DEBUG*/
12382 MELT_CHECK_SIGNAL();
12384 MELT_LOCATION("warmelt-base.melt:4319:/ apply");
12385 /*apply*/
12387 union meltparam_un argtab[1];
12388 memset(&argtab, 0, sizeof(argtab));
12389 /*^apply.arg*/
12390 argtab[0].meltbp_cstring = "\"";
12391 /*_.ADD2OUT__V15*/
12392 meltfptr[13] = melt_apply ((meltclosure_ptr_t)((/*!ADD2OUT*/ meltfrout->tabval[2])), (melt_ptr_t)(/*_.OUT__V3*/ meltfptr[2]), (MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0);
12397 MELT_LOCATION("warmelt-base.melt:4320:/ locexp");
12398 /* outjson_named_method ADDNAME_CHK__2 */
12399 long namelen = strlen(melt_string_str(/*_.NAM__V11*/ meltfptr[4]));
12400 for (long ix=0;
12401 ix<namelen;
12402 ix++)
12404 char curc = melt_string_str(/*_.NAM__V11*/ meltfptr[4])[ix];
12405 char buf[4];
12406 memset(buf, 0, sizeof(buf));
12407 buf[0] = TOLOWER (curc);
12408 buf[1] = (char)0;
12409 meltgc_add_out_raw (/*_.OUT__V3*/ meltfptr[2], buf);
12415 MELT_CHECK_SIGNAL();
12417 MELT_LOCATION("warmelt-base.melt:4334:/ apply");
12418 /*apply*/
12420 union meltparam_un argtab[1];
12421 memset(&argtab, 0, sizeof(argtab));
12422 /*^apply.arg*/
12423 argtab[0].meltbp_cstring = "\"";
12424 /*_.ADD2OUT__V16*/
12425 meltfptr[12] = melt_apply ((meltclosure_ptr_t)((/*!ADD2OUT*/ meltfrout->tabval[2])), (melt_ptr_t)(/*_.OUT__V3*/ meltfptr[2]), (MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0);
12428 /*_.LET___V10*/
12429 meltfptr[8] = /*_.ADD2OUT__V16*/ meltfptr[12];;
12431 MELT_LOCATION("warmelt-base.melt:4316:/ clear");
12432 /*clear*/ /*_.NAM__V11*/
12433 meltfptr[4] = 0 ;
12434 /*^clear*/
12435 /*clear*/ /*_.IFCPP___V12*/
12436 meltfptr[11] = 0 ;
12437 /*^clear*/
12438 /*clear*/ /*_.ADD2OUT__V15*/
12439 meltfptr[13] = 0 ;
12440 /*^clear*/
12441 /*clear*/ /*_.ADD2OUT__V16*/
12442 meltfptr[12] = 0 ;
12444 MELT_CHECK_SIGNAL();
12446 MELT_LOCATION("warmelt-base.melt:4313:/ quasiblock");
12449 /*_._RETVAL___V1*/
12450 meltfptr[0] = /*_.LET___V10*/ meltfptr[8];;
12453 MELT_LOCATION("warmelt-base.melt:4313:/ locexp");
12454 /*ochecknores compilobj_nrep_return*/
12455 #if MELT_HAVE_DEBUG
12456 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
12457 melt_warn_for_no_expected_secondary_results();
12458 /* we warned when secondary results are expected but not returned. */
12459 #endif /*MELT_HAVE_DEBUG*/
12463 /*^finalreturn*/
12465 /*finalret*/
12466 goto meltlabend_rout ;
12467 /*epilog*/
12469 /*^clear*/
12470 /*clear*/ /*_.IFCPP___V4*/
12471 meltfptr[3] = 0 ;
12472 /*^clear*/
12473 /*clear*/ /*_.IFCPP___V7*/
12474 meltfptr[5] = 0 ;
12475 /*^clear*/
12476 /*clear*/ /*_.LET___V10*/
12477 meltfptr[8] = 0 ;
12481 goto meltlabend_rout;
12482 meltlabend_rout:
12483 melt_trace_end("OUTJSON_NAMED_METHOD", meltcallcount);
12484 melt_blocklevel_signals = current_blocklevel_signals_meltrout_50_WARMELTmiBASE_OUTJSON_NAMED_METHOD_melt;
12485 return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]);
12486 #undef meltcallcount
12487 #undef meltfram__
12488 #undef MELTFRAM_NBVARNUM
12489 #undef MELTFRAM_NBVARPTR
12490 } /*end meltrout_50_WARMELTmiBASE_OUTJSON_NAMED_METHOD*/
12495 /**** end of warmelt-base+02.cc ****/