Skip to content

Commit ca878d4

Browse files
committed
Make Iterator.from spec compliant
Create a proper wrapper around the inner iterator and proxy the calls to next / return.
1 parent 559029b commit ca878d4

File tree

8 files changed

+1340
-1285
lines changed

8 files changed

+1340
-1285
lines changed

gen/function_source.c

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
const uint32_t qjsc_function_source_size = 314;
66

77
const uint8_t qjsc_function_source[314] = {
8-
0x12, 0x05, 0x01, 0x30, 0x74, 0x65, 0x73, 0x74,
8+
0x13, 0x05, 0x01, 0x30, 0x74, 0x65, 0x73, 0x74,
99
0x73, 0x2f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69,
1010
0x6f, 0x6e, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63,
1111
0x65, 0x2e, 0x6a, 0x73, 0x01, 0x0c, 0x61, 0x63,
@@ -14,34 +14,34 @@ const uint8_t qjsc_function_source[314] = {
1414
0x34, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f,
1515
0x6e, 0x20, 0x66, 0x28, 0x29, 0x20, 0x7b, 0x20,
1616
0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x34,
17-
0x32, 0x20, 0x7d, 0x0d, 0xbe, 0x03, 0x00, 0x00,
17+
0x32, 0x20, 0x7d, 0x0d, 0xc0, 0x03, 0x00, 0x00,
1818
0x00, 0x00, 0x00, 0x0c, 0x20, 0xfa, 0x01, 0xa2,
1919
0x01, 0x00, 0x05, 0x00, 0x03, 0x02, 0x01, 0x74,
20-
0x05, 0xc0, 0x03, 0x02, 0x00, 0x30, 0xc2, 0x03,
21-
0x04, 0x00, 0x70, 0xc0, 0x03, 0x04, 0x02, 0x70,
20+
0x05, 0xc2, 0x03, 0x02, 0x00, 0x30, 0xc4, 0x03,
21+
0x04, 0x00, 0x70, 0xc2, 0x03, 0x04, 0x02, 0x70,
2222
0x10, 0x00, 0x01, 0x00, 0xe4, 0x01, 0x00, 0x01,
23-
0x00, 0xc4, 0x03, 0x00, 0x0d, 0xc2, 0x03, 0x01,
24-
0x01, 0x0c, 0x43, 0xfa, 0x01, 0xc2, 0x03, 0x00,
23+
0x00, 0xc6, 0x03, 0x00, 0x0d, 0xc4, 0x03, 0x01,
24+
0x01, 0x0c, 0x43, 0xfa, 0x01, 0xc4, 0x03, 0x00,
2525
0x00, 0x00, 0x01, 0x00, 0x00, 0x03, 0x00, 0xbc,
26-
0x2a, 0x28, 0xbe, 0x03, 0x03, 0x01, 0x00, 0x1a,
26+
0x2a, 0x28, 0xc0, 0x03, 0x03, 0x01, 0x00, 0x1a,
2727
0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e,
2828
0x20, 0x66, 0x28, 0x29, 0x20, 0x7b, 0x20, 0x72,
2929
0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x34, 0x32,
3030
0x20, 0x7d, 0x0c, 0x03, 0xc2, 0x04, 0x08, 0xcc,
3131
0x08, 0xea, 0x05, 0xbf, 0x00, 0xe2, 0x29, 0x04,
32-
0xe3, 0x00, 0x00, 0x00, 0xe1, 0x61, 0x00, 0x00,
32+
0xe4, 0x00, 0x00, 0x00, 0xe1, 0x61, 0x00, 0x00,
3333
0xde, 0x42, 0x38, 0x00, 0x00, 0x00, 0x24, 0x00,
3434
0x00, 0xc9, 0x62, 0x00, 0x00, 0x65, 0x00, 0x00,
3535
0xaf, 0xea, 0x0b, 0x38, 0x95, 0x00, 0x00, 0x00,
3636
0x62, 0x00, 0x00, 0xef, 0x2f, 0x61, 0x02, 0x00,
3737
0x61, 0x01, 0x00, 0x38, 0x3b, 0x00, 0x00, 0x00,
38-
0x65, 0x00, 0x00, 0x04, 0xe1, 0x00, 0x00, 0x00,
38+
0x65, 0x00, 0x00, 0x04, 0xe2, 0x00, 0x00, 0x00,
3939
0x9d, 0x31, 0x01, 0x00, 0x03, 0x00, 0xca, 0x62,
4040
0x01, 0x00, 0x42, 0x38, 0x00, 0x00, 0x00, 0x24,
4141
0x00, 0x00, 0xcb, 0x62, 0x02, 0x00, 0x65, 0x00,
4242
0x00, 0xaf, 0xea, 0x0b, 0x38, 0x95, 0x00, 0x00,
4343
0x00, 0x62, 0x02, 0x00, 0xef, 0x2f, 0x68, 0x02,
44-
0x00, 0x68, 0x01, 0x00, 0x06, 0x2e, 0xbe, 0x03,
44+
0x00, 0x68, 0x01, 0x00, 0x06, 0x2e, 0xc0, 0x03,
4545
0x01, 0x01, 0x0e, 0x00, 0x1c, 0x0a, 0x2a, 0x5d,
4646
0x18, 0x00, 0x10, 0x08, 0x25, 0x76, 0x0e, 0x5d,
4747
0x18, 0x00,

gen/hello.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,18 @@
55
const uint32_t qjsc_hello_size = 103;
66

77
const uint8_t qjsc_hello[103] = {
8-
0x12, 0x04, 0x01, 0x22, 0x65, 0x78, 0x61, 0x6d,
8+
0x13, 0x04, 0x01, 0x22, 0x65, 0x78, 0x61, 0x6d,
99
0x70, 0x6c, 0x65, 0x73, 0x2f, 0x68, 0x65, 0x6c,
1010
0x6c, 0x6f, 0x2e, 0x6a, 0x73, 0x01, 0x0e, 0x63,
1111
0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x01, 0x06,
1212
0x6c, 0x6f, 0x67, 0x01, 0x16, 0x48, 0x65, 0x6c,
1313
0x6c, 0x6f, 0x20, 0x57, 0x6f, 0x72, 0x6c, 0x64,
14-
0x0d, 0xbe, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
14+
0x0d, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
1515
0x0c, 0x20, 0xfa, 0x01, 0xa2, 0x01, 0x00, 0x00,
1616
0x00, 0x03, 0x00, 0x00, 0x19, 0x00, 0x08, 0xea,
17-
0x02, 0x29, 0x38, 0xe0, 0x00, 0x00, 0x00, 0x42,
18-
0xe1, 0x00, 0x00, 0x00, 0x04, 0xe2, 0x00, 0x00,
19-
0x00, 0x24, 0x01, 0x00, 0x0e, 0x06, 0x2e, 0xbe,
17+
0x02, 0x29, 0x38, 0xe1, 0x00, 0x00, 0x00, 0x42,
18+
0xe2, 0x00, 0x00, 0x00, 0x04, 0xe3, 0x00, 0x00,
19+
0x00, 0x24, 0x01, 0x00, 0x0e, 0x06, 0x2e, 0xc0,
2020
0x03, 0x01, 0x01, 0x02, 0x48, 0x0e, 0x00,
2121
};
2222

gen/hello_module.c

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,21 @@
55
const uint32_t qjsc_fib_module_size = 282;
66

77
const uint8_t qjsc_fib_module[282] = {
8-
0x12, 0x03, 0x01, 0x2c, 0x65, 0x78, 0x61, 0x6d,
8+
0x13, 0x03, 0x01, 0x2c, 0x65, 0x78, 0x61, 0x6d,
99
0x70, 0x6c, 0x65, 0x73, 0x2f, 0x66, 0x69, 0x62,
1010
0x5f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x2e,
1111
0x6a, 0x73, 0x01, 0x06, 0x66, 0x69, 0x62, 0x01,
12-
0x02, 0x6e, 0x0d, 0xbe, 0x03, 0x00, 0x01, 0x00,
13-
0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x0c, 0x20,
12+
0x02, 0x6e, 0x0d, 0xc0, 0x03, 0x00, 0x01, 0x00,
13+
0x00, 0xc2, 0x03, 0x00, 0x00, 0x00, 0x0c, 0x20,
1414
0xfa, 0x01, 0xa2, 0x01, 0x00, 0x00, 0x00, 0x01,
15-
0x01, 0x01, 0x09, 0x00, 0xc0, 0x03, 0x00, 0x01,
16-
0x0c, 0x43, 0xfa, 0x01, 0xc0, 0x03, 0x01, 0x00,
17-
0x01, 0x04, 0x01, 0x00, 0x1a, 0x01, 0xc2, 0x03,
18-
0x00, 0x01, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xd1,
15+
0x01, 0x01, 0x09, 0x00, 0xc2, 0x03, 0x00, 0x01,
16+
0x0c, 0x43, 0xfa, 0x01, 0xc2, 0x03, 0x01, 0x00,
17+
0x01, 0x04, 0x01, 0x00, 0x1a, 0x01, 0xc4, 0x03,
18+
0x00, 0x01, 0x00, 0xc2, 0x03, 0x00, 0x00, 0xd1,
1919
0xb4, 0xa7, 0xea, 0x03, 0xb4, 0x28, 0xd1, 0xb5,
2020
0xac, 0xea, 0x03, 0xb5, 0x28, 0xdd, 0xd1, 0xb5,
2121
0x9e, 0xef, 0xdd, 0xd1, 0xb6, 0x9e, 0xef, 0x9d,
22-
0x28, 0xbe, 0x03, 0x02, 0x08, 0x06, 0x00, 0x0f,
22+
0x28, 0xc0, 0x03, 0x02, 0x08, 0x06, 0x00, 0x0f,
2323
0x0e, 0x10, 0x1b, 0x1a, 0x8d, 0x01, 0x66, 0x75,
2424
0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66,
2525
0x69, 0x62, 0x28, 0x6e, 0x29, 0x0a, 0x7b, 0x0a,
@@ -39,14 +39,14 @@ const uint8_t qjsc_fib_module[282] = {
3939
0x20, 0x31, 0x29, 0x20, 0x2b, 0x20, 0x66, 0x69,
4040
0x62, 0x28, 0x6e, 0x20, 0x2d, 0x20, 0x32, 0x29,
4141
0x3b, 0x0a, 0x7d, 0x08, 0xea, 0x05, 0xbf, 0x00,
42-
0xe1, 0x29, 0x06, 0x2e, 0xbe, 0x03, 0x01, 0x01,
42+
0xe1, 0x29, 0x06, 0x2e, 0xc0, 0x03, 0x01, 0x01,
4343
0x00, 0x00,
4444
};
4545

4646
const uint32_t qjsc_hello_module_size = 183;
4747

4848
const uint8_t qjsc_hello_module[183] = {
49-
0x12, 0x07, 0x01, 0x30, 0x65, 0x78, 0x61, 0x6d,
49+
0x13, 0x07, 0x01, 0x30, 0x65, 0x78, 0x61, 0x6d,
5050
0x70, 0x6c, 0x65, 0x73, 0x2f, 0x68, 0x65, 0x6c,
5151
0x6c, 0x6f, 0x5f, 0x6d, 0x6f, 0x64, 0x75, 0x6c,
5252
0x65, 0x2e, 0x6a, 0x73, 0x01, 0x1e, 0x2e, 0x2f,
@@ -57,17 +57,17 @@ const uint8_t qjsc_hello_module[183] = {
5757
0x01, 0x16, 0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x20,
5858
0x57, 0x6f, 0x72, 0x6c, 0x64, 0x01, 0x10, 0x66,
5959
0x69, 0x62, 0x28, 0x31, 0x30, 0x29, 0x3d, 0x0d,
60-
0xbe, 0x03, 0x01, 0xc0, 0x03, 0x00, 0x00, 0x01,
61-
0x00, 0xc2, 0x03, 0x00, 0x00, 0x0c, 0x20, 0xfa,
60+
0xc0, 0x03, 0x01, 0xc2, 0x03, 0x00, 0x00, 0x01,
61+
0x00, 0xc4, 0x03, 0x00, 0x00, 0x0c, 0x20, 0xfa,
6262
0x01, 0xa2, 0x01, 0x00, 0x00, 0x00, 0x05, 0x01,
63-
0x00, 0x32, 0x00, 0xc2, 0x03, 0x00, 0x0c, 0x08,
64-
0xea, 0x02, 0x29, 0x38, 0xe2, 0x00, 0x00, 0x00,
65-
0x42, 0xe3, 0x00, 0x00, 0x00, 0x04, 0xe4, 0x00,
66-
0x00, 0x00, 0x24, 0x01, 0x00, 0x0e, 0x38, 0xe2,
67-
0x00, 0x00, 0x00, 0x42, 0xe3, 0x00, 0x00, 0x00,
68-
0x04, 0xe5, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00,
63+
0x00, 0x32, 0x00, 0xc4, 0x03, 0x00, 0x0c, 0x08,
64+
0xea, 0x02, 0x29, 0x38, 0xe3, 0x00, 0x00, 0x00,
65+
0x42, 0xe4, 0x00, 0x00, 0x00, 0x04, 0xe5, 0x00,
66+
0x00, 0x00, 0x24, 0x01, 0x00, 0x0e, 0x38, 0xe3,
67+
0x00, 0x00, 0x00, 0x42, 0xe4, 0x00, 0x00, 0x00,
68+
0x04, 0xe6, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00,
6969
0xbc, 0x0a, 0xef, 0x24, 0x02, 0x00, 0x0e, 0x06,
70-
0x2e, 0xbe, 0x03, 0x01, 0x01, 0x08, 0x18, 0x28,
70+
0x2e, 0xc0, 0x03, 0x01, 0x01, 0x08, 0x18, 0x28,
7171
0x36, 0x17, 0x62, 0x00, 0x2a, 0x20, 0x00,
7272
};
7373

0 commit comments

Comments
 (0)