···
2429
2429
| Pattern::Invalid { .. } => {}
2430
2430
2431
2431
Pattern::Variable { name, .. } => variables.push(name.clone()),
2432
2432
-
Pattern::VarUsage { .. } => {}
2432
2432
+
Pattern::BitArraySize { .. } => {}
2433
2433
Pattern::Assign { name, pattern, .. } => {
2434
2434
variables.push(name.clone());
2435
2435
pattern.collect_bound_variables(variables);
···
16
16
17
17
export function main() {
18
18
let $ = toBitArray([]);
19
19
-
if ($.bitSize < 8 || $.bitSize !== 8 + ($.byteAt(0) - 1) * 8) {
19
19
+
let len$1;
20
20
+
let payload;
21
21
+
if ($.bitSize >= 8) {
22
22
+
let len = $.byteAt(0);
23
23
+
if ((len - 1) * 8 >= 0 && $.bitSize === 8 + (len - 1) * 8) {
24
24
+
len$1 = len;
25
25
+
payload = bitArraySliceToInt($, 8, 8 + (len$1 - 1) * 8, true, false);
26
26
+
} else {
27
27
+
throw makeError(
28
28
+
"let_assert",
29
29
+
FILEPATH,
30
30
+
"my/mod",
31
31
+
3,
32
32
+
"main",
33
33
+
"Pattern match failed, no pattern matched the value.",
34
34
+
{ value: $, start: 19, end: 75, pattern_start: 30, pattern_end: 68 }
35
35
+
)
36
36
+
}
37
37
+
} else {
20
38
throw makeError(
21
39
"let_assert",
22
40
FILEPATH,
···
27
45
{ value: $, start: 19, end: 75, pattern_start: 30, pattern_end: 68 }
28
46
)
29
47
}
30
30
-
let len = $.byteAt(0);
31
31
-
let payload = bitArraySliceToInt($, 8, 8 + (len - 1) * 8, true, false);
32
48
return $;
33
49
}
···
18
18
export function go(x) {
19
19
let size = 3;
20
20
if (!(
21
21
-
size >= 0 &&
21
21
+
size * 2 >= 0 &&
22
22
x.bitSize === size * 2 &&
23
23
bitArraySliceToInt(x, 0, size * 2, true, false) === 1
24
24
)) {
···
18
18
export function go(x) {
19
19
let n = 3;
20
20
let a;
21
21
-
if (n >= 0 && x.bitSize === n * 8) {
21
21
+
if (n * 8 >= 0 && x.bitSize === n * 8) {
22
22
a = bitArraySlice(x, 0, n * 8);
23
23
} else {
24
24
throw makeError(
···
16
16
17
17
export function main() {
18
18
let $ = toBitArray([]);
19
19
-
if ($.bitSize < 8 || $.bitSize !== 8 + $.byteAt(0) * 8) {
19
19
+
let len$1;
20
20
+
let payload;
21
21
+
if ($.bitSize >= 8) {
22
22
+
let len = $.byteAt(0);
23
23
+
if ($.bitSize === 8 + len * 8) {
24
24
+
len$1 = len;
25
25
+
payload = bitArraySliceToInt($, 8, 8 + len$1 * 8, true, false);
26
26
+
} else {
27
27
+
throw makeError(
28
28
+
"let_assert",
29
29
+
FILEPATH,
30
30
+
"my/mod",
31
31
+
3,
32
32
+
"main",
33
33
+
"Pattern match failed, no pattern matched the value.",
34
34
+
{ value: $, start: 19, end: 67, pattern_start: 30, pattern_end: 60 }
35
35
+
)
36
36
+
}
37
37
+
} else {
20
38
throw makeError(
21
39
"let_assert",
22
40
FILEPATH,
···
27
45
{ value: $, start: 19, end: 67, pattern_start: 30, pattern_end: 60 }
28
46
)
29
47
}
30
30
-
let len = $.byteAt(0);
31
31
-
let payload = bitArraySliceToInt($, 8, 8 + len * 8, true, false);
32
48
return $;
33
49
}
···
16
16
17
17
export function main() {
18
18
let $ = toBitArray([]);
19
19
-
if ($.bitSize < 8 || $.bitSize !== 8 + (divideInt($.byteAt(0), 8)) - 1) {
19
19
+
let len$1;
20
20
+
let payload;
21
21
+
if ($.bitSize >= 8) {
22
22
+
let len = $.byteAt(0);
23
23
+
if (
24
24
+
(divideInt(len, 8)) - 1 >= 0 &&
25
25
+
$.bitSize === 8 + (divideInt(len, 8)) - 1
26
26
+
) {
27
27
+
len$1 = len;
28
28
+
payload = bitArraySliceToInt($, 8, 8 + (divideInt(len$1, 8)) - 1, true, false);
29
29
+
} else {
30
30
+
throw makeError(
31
31
+
"let_assert",
32
32
+
FILEPATH,
33
33
+
"my/mod",
34
34
+
3,
35
35
+
"main",
36
36
+
"Pattern match failed, no pattern matched the value.",
37
37
+
{ value: $, start: 19, end: 71, pattern_start: 30, pattern_end: 64 }
38
38
+
)
39
39
+
}
40
40
+
} else {
20
41
throw makeError(
21
42
"let_assert",
22
43
FILEPATH,
···
27
48
{ value: $, start: 19, end: 71, pattern_start: 30, pattern_end: 64 }
28
49
)
29
50
}
30
30
-
let len = $.byteAt(0);
31
31
-
let payload = bitArraySliceToInt($, 8, 8 + (divideInt(len, 8)) - 1, true, false);
32
51
return $;
33
52
}
···
18
18
export function main() {
19
19
let additional = 10;
20
20
let $ = toBitArray([]);
21
21
-
if ($.bitSize < 8 || $.bitSize !== 8 + $.byteAt(0) + additional * 8) {
21
21
+
let len$1;
22
22
+
let payload;
23
23
+
if ($.bitSize >= 8) {
24
24
+
let len = $.byteAt(0);
25
25
+
if (len + (additional * 8) >= 0 && $.bitSize === 8 + len + additional * 8) {
26
26
+
len$1 = len;
27
27
+
payload = bitArraySliceToInt($, 8, 8 + len$1 + (additional * 8), true, false);
28
28
+
} else {
29
29
+
throw makeError(
30
30
+
"let_assert",
31
31
+
FILEPATH,
32
32
+
"my/mod",
33
33
+
4,
34
34
+
"main",
35
35
+
"Pattern match failed, no pattern matched the value.",
36
36
+
{ value: $, start: 41, end: 102, pattern_start: 52, pattern_end: 95 }
37
37
+
)
38
38
+
}
39
39
+
} else {
22
40
throw makeError(
23
41
"let_assert",
24
42
FILEPATH,
···
29
47
{ value: $, start: 41, end: 102, pattern_start: 52, pattern_end: 95 }
30
48
)
31
49
}
32
32
-
let len = $.byteAt(0);
33
33
-
let payload = bitArraySliceToInt($, 8, 8 + len + (additional * 8), true, false);
34
50
return $;
35
51
}