1.language ECMAScript 2 3slotNum = 0x1d 4.function any .#*#testBBStruct(any a0, any a1, any a2) { 5label_18: 6label_1: 7 tryldglobalbyname 0x2, print 8 sta v0 9 lda.str good 10 sta v1 11 lda v0 12 callarg1 0x3, v1 13 ldundefined 14 returnundefined 15label_19: 16} 17 18slotNum = 0x13 19.function any .#*#testBool(any a0, any a1, any a2) { 20label_19: 21label_17: 22 tryldglobalbyname 0x10, print 23 sta v0 24 lda.str good 25 sta v1 26 lda v0 27 callarg1 0x11, v1 28 ldundefined 29 returnundefined 30label_20: 31} 32 33slotNum = 0x17 34.function any .#*#testFloatNumber(any a0, any a1, any a2) { 35label_25: 36label_23: 37 tryldglobalbyname 0x14, print 38 sta v0 39 lda.str good 40 sta v1 41 lda v0 42 callarg1 0x15, v1 43 ldundefined 44 returnundefined 45label_26: 46} 47 48slotNum = 0x17 49.function any .#*#testIntNumber(any a0, any a1, any a2) { 50label_25: 51label_23: 52 tryldglobalbyname 0x14, print 53 sta v0 54 lda.str good 55 sta v1 56 lda v0 57 callarg1 0x15, v1 58 ldundefined 59 returnundefined 60label_26: 61} 62 63slotNum = 0x1d 64.function any .#*#testString(any a0, any a1, any a2) { 65label_23: 66label_0: 67 lda.str 0 68 sta v0 69 tryldglobalbyname 0xc, print 70 sta v1 71 lda.str good 72 sta v2 73 lda v1 74 callarg1 0xd, v2 75 lda.str 0 76 lesseq 0xf, v0 77 sta v1 78 callruntime.istrue 0x10 79 jnez label_15 80label_14: 81 lda.str 1 82 greatereq 0x11, v0 83 sta v1 84label_15: 85 lda v1 86 callruntime.istrue 0x12 87 jnez label_18 88label_17: 89 lda.str 0 90 less 0x13, v0 91 sta v1 92label_18: 93 lda v1 94 callruntime.istrue 0x14 95 jnez label_19 96label_20: 97 lda.str 1 98 greater 0x15, v0 99 callruntime.isfalse 0x16 100 jnez label_21 101label_19: 102 tryldglobalbyname 0x17, print 103 sta v0 104 lda.str good2 105 sta v1 106 lda v0 107 callarg1 0x18, v1 108 jmp label_22 109label_21: 110 tryldglobalbyname 0x1a, print 111 sta v0 112 lda.str good3 113 sta v1 114 lda v0 115 callarg1 0x1b, v1 116label_22: 117 ldundefined 118 returnundefined 119label_24: 120} 121 122slotNum = 0x34 123.function any .#*#testTypeConvert(any a0, any a1, any a2) { 124label_35: 125label_3: 126 ldai 0x0 127 sta v0 128 tryldglobalbyname 0x4, print 129 sta v1 130 lda.str good 131 sta v2 132 lda v1 133 callarg1 0x5, v2 134 lda.str 0 135 eq 0xa, v0 136 sta v1 137 callruntime.istrue 0xb 138 jnez label_7 139label_6: 140 lda.str 0 141 stricteq 0xc, v0 142 sta v1 143label_7: 144 lda v1 145 callruntime.istrue 0xd 146 jnez label_10 147label_9: 148 ldfalse 149 eq 0xe, v0 150 sta v1 151label_10: 152 lda v1 153 callruntime.istrue 0xf 154 jnez label_11 155label_12: 156 ldfalse 157 stricteq 0x10, v0 158 callruntime.isfalse 0x11 159 jnez label_13 160label_11: 161 tryldglobalbyname 0x12, print 162 sta v1 163 lda.str good1 164 sta v2 165 lda v1 166 callarg1 0x13, v2 167 jmp label_14 168label_13: 169 tryldglobalbyname 0x15, print 170 sta v1 171 lda.str good2 172 sta v2 173 lda v1 174 callarg1 0x16, v2 175label_14: 176 lda.str 0 177 lesseq 0x18, v0 178 sta v1 179 callruntime.istrue 0x19 180 jnez label_17 181label_16: 182 lda.str 0 183 greatereq 0x1a, v0 184 sta v1 185label_17: 186 lda v1 187 callruntime.istrue 0x1b 188 jnez label_20 189label_19: 190 ldfalse 191 lesseq 0x1c, v0 192 sta v1 193label_20: 194 lda v1 195 callruntime.istrue 0x1d 196 jnez label_21 197label_22: 198 ldfalse 199 greatereq 0x1e, v0 200 callruntime.isfalse 0x1f 201 jnez label_23 202label_21: 203 tryldglobalbyname 0x20, print 204 sta v1 205 lda.str good3 206 sta v2 207 lda v1 208 callarg1 0x21, v2 209 jmp label_24 210label_23: 211 tryldglobalbyname 0x23, print 212 sta v1 213 lda.str good4 214 sta v2 215 lda v1 216 callarg1 0x24, v2 217label_24: 218 lda.str 0 219 less 0x26, v0 220 sta v1 221 callruntime.istrue 0x27 222 jnez label_27 223label_26: 224 lda.str 0 225 greater 0x28, v0 226 sta v1 227label_27: 228 lda v1 229 callruntime.istrue 0x29 230 jnez label_30 231label_29: 232 ldfalse 233 less 0x2a, v0 234 sta v1 235label_30: 236 lda v1 237 callruntime.istrue 0x2b 238 jnez label_31 239label_32: 240 ldfalse 241 greater 0x2c, v0 242 callruntime.isfalse 0x2d 243 jnez label_33 244label_31: 245 tryldglobalbyname 0x2e, print 246 sta v0 247 lda.str good5 248 sta v1 249 lda v0 250 callarg1 0x2f, v1 251 jmp label_34 252label_33: 253 tryldglobalbyname 0x31, print 254 sta v0 255 lda.str good6 256 sta v1 257 lda v0 258 callarg1 0x32, v1 259label_34: 260 ldundefined 261 returnundefined 262label_36: 263} 264 265slotNum = 0x12 266.function any .func_main_0(any a0, any a1, any a2) { 267label_1: 268label_0: 269 definefunc 0x0, .#*#testBBStruct, 0x0 270 sta v0 271 definefunc 0x1, .#*#testBool, 0x0 272 sta v1 273 definefunc 0x2, .#*#testFloatNumber, 0x0 274 sta v2 275 definefunc 0x3, .#*#testIntNumber, 0x0 276 sta v3 277 definefunc 0x4, .#*#testString, 0x0 278 sta v4 279 definefunc 0x5, .#*#testTypeConvert, 0x0 280 callarg0 0x6 281 lda v3 282 callarg0 0x8 283 lda v2 284 callarg0 0xa 285 lda v1 286 callarg0 0xc 287 lda v4 288 callarg0 0xe 289 lda v0 290 callarg0 0x10 291 ldundefined 292 returnundefined 293label_2: 294} 295 296 297