mirror of
https://github.com/roc-lang/roc.git
synced 2025-09-26 13:29:12 +00:00
Merge pull request #7321 from shua/fromutf8
DO NOT MERGE update Str.fromUtf8 error type
This commit is contained in:
commit
8540aa1a14
10 changed files with 105 additions and 105 deletions
|
@ -538,14 +538,14 @@ toUtf8 : Str -> List U8
|
||||||
## expect Str.fromUtf8 [] == Ok ""
|
## expect Str.fromUtf8 [] == Ok ""
|
||||||
## expect Str.fromUtf8 [255] |> Result.isErr
|
## expect Str.fromUtf8 [255] |> Result.isErr
|
||||||
## ```
|
## ```
|
||||||
fromUtf8 : List U8 -> Result Str [BadUtf8 Utf8ByteProblem U64]
|
fromUtf8 : List U8 -> Result Str [BadUtf8 { problem : Utf8ByteProblem, index : U64 }]
|
||||||
fromUtf8 = \bytes ->
|
fromUtf8 = \bytes ->
|
||||||
result = fromUtf8Lowlevel bytes
|
result = fromUtf8Lowlevel bytes
|
||||||
|
|
||||||
if result.cIsOk then
|
if result.cIsOk then
|
||||||
Ok result.bString
|
Ok result.bString
|
||||||
else
|
else
|
||||||
Err (BadUtf8 result.dProblemCode result.aByteIndex)
|
Err (BadUtf8 { problem: result.dProblemCode, index: result.aByteIndex })
|
||||||
|
|
||||||
expect (Str.fromUtf8 [82, 111, 99]) == Ok "Roc"
|
expect (Str.fromUtf8 [82, 111, 99]) == Ok "Roc"
|
||||||
expect (Str.fromUtf8 [224, 174, 154, 224, 174, 191]) == Ok "சி"
|
expect (Str.fromUtf8 [224, 174, 154, 224, 174, 191]) == Ok "சி"
|
||||||
|
|
|
@ -165,7 +165,7 @@ mod solve_expr {
|
||||||
Str.fromUtf8
|
Str.fromUtf8
|
||||||
"
|
"
|
||||||
),
|
),
|
||||||
"List U8 -> Result Str [BadUtf8 Utf8ByteProblem U64]",
|
"List U8 -> Result Str [BadUtf8 { index : U64, problem : Utf8ByteProblem }]",
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -692,7 +692,7 @@ fn str_from_utf8_fail_invalid_start_byte() {
|
||||||
indoc!(
|
indoc!(
|
||||||
r#"
|
r#"
|
||||||
when Str.fromUtf8 [97, 98, 0x80, 99] is
|
when Str.fromUtf8 [97, 98, 0x80, 99] is
|
||||||
Err (BadUtf8 InvalidStartByte byteIndex) ->
|
Err (BadUtf8 {problem: InvalidStartByte, index: byteIndex}) ->
|
||||||
if byteIndex == 2 then
|
if byteIndex == 2 then
|
||||||
"a"
|
"a"
|
||||||
else
|
else
|
||||||
|
@ -712,7 +712,7 @@ fn str_from_utf8_fail_unexpected_end_of_sequence() {
|
||||||
indoc!(
|
indoc!(
|
||||||
r#"
|
r#"
|
||||||
when Str.fromUtf8 [97, 98, 99, 0xC2] is
|
when Str.fromUtf8 [97, 98, 99, 0xC2] is
|
||||||
Err (BadUtf8 UnexpectedEndOfSequence byteIndex) ->
|
Err (BadUtf8 {problem: UnexpectedEndOfSequence, index: byteIndex}) ->
|
||||||
if byteIndex == 3 then
|
if byteIndex == 3 then
|
||||||
"a"
|
"a"
|
||||||
else
|
else
|
||||||
|
@ -732,7 +732,7 @@ fn str_from_utf8_fail_expected_continuation() {
|
||||||
indoc!(
|
indoc!(
|
||||||
r#"
|
r#"
|
||||||
when Str.fromUtf8 [97, 98, 99, 0xC2, 0x00] is
|
when Str.fromUtf8 [97, 98, 99, 0xC2, 0x00] is
|
||||||
Err (BadUtf8 ExpectedContinuation byteIndex) ->
|
Err (BadUtf8 {problem: ExpectedContinuation, index: byteIndex}) ->
|
||||||
if byteIndex == 3 then
|
if byteIndex == 3 then
|
||||||
"a"
|
"a"
|
||||||
else
|
else
|
||||||
|
@ -752,7 +752,7 @@ fn str_from_utf8_fail_overlong_encoding() {
|
||||||
indoc!(
|
indoc!(
|
||||||
r#"
|
r#"
|
||||||
when Str.fromUtf8 [97, 0xF0, 0x80, 0x80, 0x80] is
|
when Str.fromUtf8 [97, 0xF0, 0x80, 0x80, 0x80] is
|
||||||
Err (BadUtf8 OverlongEncoding byteIndex) ->
|
Err (BadUtf8 {problem: OverlongEncoding, index: byteIndex}) ->
|
||||||
if byteIndex == 1 then
|
if byteIndex == 1 then
|
||||||
"a"
|
"a"
|
||||||
else
|
else
|
||||||
|
@ -772,7 +772,7 @@ fn str_from_utf8_fail_codepoint_too_large() {
|
||||||
indoc!(
|
indoc!(
|
||||||
r#"
|
r#"
|
||||||
when Str.fromUtf8 [97, 0xF4, 0x90, 0x80, 0x80] is
|
when Str.fromUtf8 [97, 0xF4, 0x90, 0x80, 0x80] is
|
||||||
Err (BadUtf8 CodepointTooLarge byteIndex) ->
|
Err (BadUtf8 {problem: CodepointTooLarge, index: byteIndex}) ->
|
||||||
if byteIndex == 1 then
|
if byteIndex == 1 then
|
||||||
"a"
|
"a"
|
||||||
else
|
else
|
||||||
|
@ -792,7 +792,7 @@ fn str_from_utf8_fail_surrogate_half() {
|
||||||
indoc!(
|
indoc!(
|
||||||
r#"
|
r#"
|
||||||
when Str.fromUtf8 [97, 98, 0xED, 0xA0, 0x80] is
|
when Str.fromUtf8 [97, 98, 0xED, 0xA0, 0x80] is
|
||||||
Err (BadUtf8 EncodesSurrogateHalf byteIndex) ->
|
Err (BadUtf8 {problem: EncodesSurrogateHalf, index: byteIndex}) ->
|
||||||
if byteIndex == 2 then
|
if byteIndex == 2 then
|
||||||
"a"
|
"a"
|
||||||
else
|
else
|
||||||
|
|
|
@ -522,7 +522,7 @@ fn str_from_utf8_fail_invalid_start_byte() {
|
||||||
indoc!(
|
indoc!(
|
||||||
r#"
|
r#"
|
||||||
when Str.fromUtf8 [97, 98, 0x80, 99] is
|
when Str.fromUtf8 [97, 98, 0x80, 99] is
|
||||||
Err (BadUtf8 InvalidStartByte byteIndex) ->
|
Err (BadUtf8 {problem: InvalidStartByte, index: byteIndex}) ->
|
||||||
if byteIndex == 2 then
|
if byteIndex == 2 then
|
||||||
"a"
|
"a"
|
||||||
else
|
else
|
||||||
|
@ -541,7 +541,7 @@ fn str_from_utf8_fail_unexpected_end_of_sequence() {
|
||||||
indoc!(
|
indoc!(
|
||||||
r#"
|
r#"
|
||||||
when Str.fromUtf8 [97, 98, 99, 0xC2] is
|
when Str.fromUtf8 [97, 98, 99, 0xC2] is
|
||||||
Err (BadUtf8 UnexpectedEndOfSequence byteIndex) ->
|
Err (BadUtf8 {problem: UnexpectedEndOfSequence, index: byteIndex}) ->
|
||||||
if byteIndex == 3 then
|
if byteIndex == 3 then
|
||||||
"a"
|
"a"
|
||||||
else
|
else
|
||||||
|
@ -560,7 +560,7 @@ fn str_from_utf8_fail_expected_continuation() {
|
||||||
indoc!(
|
indoc!(
|
||||||
r#"
|
r#"
|
||||||
when Str.fromUtf8 [97, 98, 99, 0xC2, 0x00] is
|
when Str.fromUtf8 [97, 98, 99, 0xC2, 0x00] is
|
||||||
Err (BadUtf8 ExpectedContinuation byteIndex) ->
|
Err (BadUtf8 {problem: ExpectedContinuation, index: byteIndex}) ->
|
||||||
if byteIndex == 3 then
|
if byteIndex == 3 then
|
||||||
"a"
|
"a"
|
||||||
else
|
else
|
||||||
|
@ -579,7 +579,7 @@ fn str_from_utf8_fail_overlong_encoding() {
|
||||||
indoc!(
|
indoc!(
|
||||||
r#"
|
r#"
|
||||||
when Str.fromUtf8 [97, 0xF0, 0x80, 0x80, 0x80] is
|
when Str.fromUtf8 [97, 0xF0, 0x80, 0x80, 0x80] is
|
||||||
Err (BadUtf8 OverlongEncoding byteIndex) ->
|
Err (BadUtf8 {problem: OverlongEncoding, index: byteIndex}) ->
|
||||||
if byteIndex == 1 then
|
if byteIndex == 1 then
|
||||||
"a"
|
"a"
|
||||||
else
|
else
|
||||||
|
@ -598,7 +598,7 @@ fn str_from_utf8_fail_codepoint_too_large() {
|
||||||
indoc!(
|
indoc!(
|
||||||
r#"
|
r#"
|
||||||
when Str.fromUtf8 [97, 0xF4, 0x90, 0x80, 0x80] is
|
when Str.fromUtf8 [97, 0xF4, 0x90, 0x80, 0x80] is
|
||||||
Err (BadUtf8 CodepointTooLarge byteIndex) ->
|
Err (BadUtf8 {problem: CodepointTooLarge, index: byteIndex}) ->
|
||||||
if byteIndex == 1 then
|
if byteIndex == 1 then
|
||||||
"a"
|
"a"
|
||||||
else
|
else
|
||||||
|
@ -617,7 +617,7 @@ fn str_from_utf8_fail_surrogate_half() {
|
||||||
indoc!(
|
indoc!(
|
||||||
r#"
|
r#"
|
||||||
when Str.fromUtf8 [97, 98, 0xED, 0xA0, 0x80] is
|
when Str.fromUtf8 [97, 98, 0xED, 0xA0, 0x80] is
|
||||||
Err (BadUtf8 EncodesSurrogateHalf byteIndex) ->
|
Err (BadUtf8 {problem: EncodesSurrogateHalf, index: byteIndex}) ->
|
||||||
if byteIndex == 2 then
|
if byteIndex == 2 then
|
||||||
"a"
|
"a"
|
||||||
else
|
else
|
||||||
|
|
|
@ -164,31 +164,31 @@ procedure Num.96 (#Attr.2):
|
||||||
ret Num.287;
|
ret Num.287;
|
||||||
|
|
||||||
procedure Str.12 (#Attr.2):
|
procedure Str.12 (#Attr.2):
|
||||||
let Str.258 : List U8 = lowlevel StrToUtf8 #Attr.2;
|
let Str.259 : List U8 = lowlevel StrToUtf8 #Attr.2;
|
||||||
ret Str.258;
|
|
||||||
|
|
||||||
procedure Str.36 (#Attr.2):
|
|
||||||
let Str.259 : U64 = lowlevel StrCountUtf8Bytes #Attr.2;
|
|
||||||
ret Str.259;
|
ret Str.259;
|
||||||
|
|
||||||
|
procedure Str.36 (#Attr.2):
|
||||||
|
let Str.260 : U64 = lowlevel StrCountUtf8Bytes #Attr.2;
|
||||||
|
ret Str.260;
|
||||||
|
|
||||||
procedure Str.43 (#Attr.2):
|
procedure Str.43 (#Attr.2):
|
||||||
let Str.253 : {U64, Str, Int1, U8} = lowlevel StrFromUtf8 #Attr.2;
|
let Str.254 : {U64, Str, Int1, U8} = lowlevel StrFromUtf8 #Attr.2;
|
||||||
ret Str.253;
|
ret Str.254;
|
||||||
|
|
||||||
procedure Str.9 (Str.73):
|
procedure Str.9 (Str.73):
|
||||||
let Str.74 : {U64, Str, Int1, U8} = CallByName Str.43 Str.73;
|
let Str.74 : {U64, Str, Int1, U8} = CallByName Str.43 Str.73;
|
||||||
let Str.250 : Int1 = StructAtIndex 2 Str.74;
|
let Str.251 : Int1 = StructAtIndex 2 Str.74;
|
||||||
if Str.250 then
|
if Str.251 then
|
||||||
let Str.252 : Str = StructAtIndex 1 Str.74;
|
let Str.253 : Str = StructAtIndex 1 Str.74;
|
||||||
let Str.251 : [C {U64, U8}, C Str] = TagId(1) Str.252;
|
let Str.252 : [C {U64, U8}, C Str] = TagId(1) Str.253;
|
||||||
ret Str.251;
|
ret Str.252;
|
||||||
else
|
else
|
||||||
let Str.248 : U8 = StructAtIndex 3 Str.74;
|
|
||||||
let Str.249 : U64 = StructAtIndex 0 Str.74;
|
let Str.249 : U64 = StructAtIndex 0 Str.74;
|
||||||
|
let Str.250 : U8 = StructAtIndex 3 Str.74;
|
||||||
let #Derived_gen.45 : Str = StructAtIndex 1 Str.74;
|
let #Derived_gen.45 : Str = StructAtIndex 1 Str.74;
|
||||||
dec #Derived_gen.45;
|
dec #Derived_gen.45;
|
||||||
let Str.247 : {U64, U8} = Struct {Str.249, Str.248};
|
let Str.248 : {U64, U8} = Struct {Str.249, Str.250};
|
||||||
let Str.246 : [C {U64, U8}, C Str] = TagId(0) Str.247;
|
let Str.246 : [C {U64, U8}, C Str] = TagId(0) Str.248;
|
||||||
ret Str.246;
|
ret Str.246;
|
||||||
|
|
||||||
procedure Test.20 (Test.56):
|
procedure Test.20 (Test.56):
|
||||||
|
|
|
@ -105,31 +105,31 @@ procedure Num.96 (#Attr.2):
|
||||||
ret Num.283;
|
ret Num.283;
|
||||||
|
|
||||||
procedure Str.12 (#Attr.2):
|
procedure Str.12 (#Attr.2):
|
||||||
let Str.255 : List U8 = lowlevel StrToUtf8 #Attr.2;
|
let Str.256 : List U8 = lowlevel StrToUtf8 #Attr.2;
|
||||||
ret Str.255;
|
|
||||||
|
|
||||||
procedure Str.36 (#Attr.2):
|
|
||||||
let Str.256 : U64 = lowlevel StrCountUtf8Bytes #Attr.2;
|
|
||||||
ret Str.256;
|
ret Str.256;
|
||||||
|
|
||||||
|
procedure Str.36 (#Attr.2):
|
||||||
|
let Str.257 : U64 = lowlevel StrCountUtf8Bytes #Attr.2;
|
||||||
|
ret Str.257;
|
||||||
|
|
||||||
procedure Str.43 (#Attr.2):
|
procedure Str.43 (#Attr.2):
|
||||||
let Str.253 : {U64, Str, Int1, U8} = lowlevel StrFromUtf8 #Attr.2;
|
let Str.254 : {U64, Str, Int1, U8} = lowlevel StrFromUtf8 #Attr.2;
|
||||||
ret Str.253;
|
ret Str.254;
|
||||||
|
|
||||||
procedure Str.9 (Str.73):
|
procedure Str.9 (Str.73):
|
||||||
let Str.74 : {U64, Str, Int1, U8} = CallByName Str.43 Str.73;
|
let Str.74 : {U64, Str, Int1, U8} = CallByName Str.43 Str.73;
|
||||||
let Str.250 : Int1 = StructAtIndex 2 Str.74;
|
let Str.251 : Int1 = StructAtIndex 2 Str.74;
|
||||||
if Str.250 then
|
if Str.251 then
|
||||||
let Str.252 : Str = StructAtIndex 1 Str.74;
|
let Str.253 : Str = StructAtIndex 1 Str.74;
|
||||||
let Str.251 : [C {U64, U8}, C Str] = TagId(1) Str.252;
|
let Str.252 : [C {U64, U8}, C Str] = TagId(1) Str.253;
|
||||||
ret Str.251;
|
ret Str.252;
|
||||||
else
|
else
|
||||||
let Str.248 : U8 = StructAtIndex 3 Str.74;
|
|
||||||
let Str.249 : U64 = StructAtIndex 0 Str.74;
|
let Str.249 : U64 = StructAtIndex 0 Str.74;
|
||||||
|
let Str.250 : U8 = StructAtIndex 3 Str.74;
|
||||||
let #Derived_gen.24 : Str = StructAtIndex 1 Str.74;
|
let #Derived_gen.24 : Str = StructAtIndex 1 Str.74;
|
||||||
dec #Derived_gen.24;
|
dec #Derived_gen.24;
|
||||||
let Str.247 : {U64, U8} = Struct {Str.249, Str.248};
|
let Str.248 : {U64, U8} = Struct {Str.249, Str.250};
|
||||||
let Str.246 : [C {U64, U8}, C Str] = TagId(0) Str.247;
|
let Str.246 : [C {U64, U8}, C Str] = TagId(0) Str.248;
|
||||||
ret Str.246;
|
ret Str.246;
|
||||||
|
|
||||||
procedure Test.20 (Test.56):
|
procedure Test.20 (Test.56):
|
||||||
|
|
|
@ -112,31 +112,31 @@ procedure Num.96 (#Attr.2):
|
||||||
ret Num.283;
|
ret Num.283;
|
||||||
|
|
||||||
procedure Str.12 (#Attr.2):
|
procedure Str.12 (#Attr.2):
|
||||||
let Str.255 : List U8 = lowlevel StrToUtf8 #Attr.2;
|
let Str.256 : List U8 = lowlevel StrToUtf8 #Attr.2;
|
||||||
ret Str.255;
|
|
||||||
|
|
||||||
procedure Str.36 (#Attr.2):
|
|
||||||
let Str.256 : U64 = lowlevel StrCountUtf8Bytes #Attr.2;
|
|
||||||
ret Str.256;
|
ret Str.256;
|
||||||
|
|
||||||
|
procedure Str.36 (#Attr.2):
|
||||||
|
let Str.257 : U64 = lowlevel StrCountUtf8Bytes #Attr.2;
|
||||||
|
ret Str.257;
|
||||||
|
|
||||||
procedure Str.43 (#Attr.2):
|
procedure Str.43 (#Attr.2):
|
||||||
let Str.253 : {U64, Str, Int1, U8} = lowlevel StrFromUtf8 #Attr.2;
|
let Str.254 : {U64, Str, Int1, U8} = lowlevel StrFromUtf8 #Attr.2;
|
||||||
ret Str.253;
|
ret Str.254;
|
||||||
|
|
||||||
procedure Str.9 (Str.73):
|
procedure Str.9 (Str.73):
|
||||||
let Str.74 : {U64, Str, Int1, U8} = CallByName Str.43 Str.73;
|
let Str.74 : {U64, Str, Int1, U8} = CallByName Str.43 Str.73;
|
||||||
let Str.250 : Int1 = StructAtIndex 2 Str.74;
|
let Str.251 : Int1 = StructAtIndex 2 Str.74;
|
||||||
if Str.250 then
|
if Str.251 then
|
||||||
let Str.252 : Str = StructAtIndex 1 Str.74;
|
let Str.253 : Str = StructAtIndex 1 Str.74;
|
||||||
let Str.251 : [C {U64, U8}, C Str] = TagId(1) Str.252;
|
let Str.252 : [C {U64, U8}, C Str] = TagId(1) Str.253;
|
||||||
ret Str.251;
|
ret Str.252;
|
||||||
else
|
else
|
||||||
let Str.248 : U8 = StructAtIndex 3 Str.74;
|
|
||||||
let Str.249 : U64 = StructAtIndex 0 Str.74;
|
let Str.249 : U64 = StructAtIndex 0 Str.74;
|
||||||
|
let Str.250 : U8 = StructAtIndex 3 Str.74;
|
||||||
let #Derived_gen.28 : Str = StructAtIndex 1 Str.74;
|
let #Derived_gen.28 : Str = StructAtIndex 1 Str.74;
|
||||||
dec #Derived_gen.28;
|
dec #Derived_gen.28;
|
||||||
let Str.247 : {U64, U8} = Struct {Str.249, Str.248};
|
let Str.248 : {U64, U8} = Struct {Str.249, Str.250};
|
||||||
let Str.246 : [C {U64, U8}, C Str] = TagId(0) Str.247;
|
let Str.246 : [C {U64, U8}, C Str] = TagId(0) Str.248;
|
||||||
ret Str.246;
|
ret Str.246;
|
||||||
|
|
||||||
procedure Test.20 (Test.56):
|
procedure Test.20 (Test.56):
|
||||||
|
|
|
@ -38,31 +38,31 @@ procedure Num.96 (#Attr.2):
|
||||||
ret Num.283;
|
ret Num.283;
|
||||||
|
|
||||||
procedure Str.12 (#Attr.2):
|
procedure Str.12 (#Attr.2):
|
||||||
let Str.255 : List U8 = lowlevel StrToUtf8 #Attr.2;
|
let Str.256 : List U8 = lowlevel StrToUtf8 #Attr.2;
|
||||||
ret Str.255;
|
|
||||||
|
|
||||||
procedure Str.36 (#Attr.2):
|
|
||||||
let Str.256 : U64 = lowlevel StrCountUtf8Bytes #Attr.2;
|
|
||||||
ret Str.256;
|
ret Str.256;
|
||||||
|
|
||||||
|
procedure Str.36 (#Attr.2):
|
||||||
|
let Str.257 : U64 = lowlevel StrCountUtf8Bytes #Attr.2;
|
||||||
|
ret Str.257;
|
||||||
|
|
||||||
procedure Str.43 (#Attr.2):
|
procedure Str.43 (#Attr.2):
|
||||||
let Str.253 : {U64, Str, Int1, U8} = lowlevel StrFromUtf8 #Attr.2;
|
let Str.254 : {U64, Str, Int1, U8} = lowlevel StrFromUtf8 #Attr.2;
|
||||||
ret Str.253;
|
ret Str.254;
|
||||||
|
|
||||||
procedure Str.9 (Str.73):
|
procedure Str.9 (Str.73):
|
||||||
let Str.74 : {U64, Str, Int1, U8} = CallByName Str.43 Str.73;
|
let Str.74 : {U64, Str, Int1, U8} = CallByName Str.43 Str.73;
|
||||||
let Str.250 : Int1 = StructAtIndex 2 Str.74;
|
let Str.251 : Int1 = StructAtIndex 2 Str.74;
|
||||||
if Str.250 then
|
if Str.251 then
|
||||||
let Str.252 : Str = StructAtIndex 1 Str.74;
|
let Str.253 : Str = StructAtIndex 1 Str.74;
|
||||||
let Str.251 : [C {U64, U8}, C Str] = TagId(1) Str.252;
|
let Str.252 : [C {U64, U8}, C Str] = TagId(1) Str.253;
|
||||||
ret Str.251;
|
ret Str.252;
|
||||||
else
|
else
|
||||||
let Str.248 : U8 = StructAtIndex 3 Str.74;
|
|
||||||
let Str.249 : U64 = StructAtIndex 0 Str.74;
|
let Str.249 : U64 = StructAtIndex 0 Str.74;
|
||||||
|
let Str.250 : U8 = StructAtIndex 3 Str.74;
|
||||||
let #Derived_gen.3 : Str = StructAtIndex 1 Str.74;
|
let #Derived_gen.3 : Str = StructAtIndex 1 Str.74;
|
||||||
dec #Derived_gen.3;
|
dec #Derived_gen.3;
|
||||||
let Str.247 : {U64, U8} = Struct {Str.249, Str.248};
|
let Str.248 : {U64, U8} = Struct {Str.249, Str.250};
|
||||||
let Str.246 : [C {U64, U8}, C Str] = TagId(0) Str.247;
|
let Str.246 : [C {U64, U8}, C Str] = TagId(0) Str.248;
|
||||||
ret Str.246;
|
ret Str.246;
|
||||||
|
|
||||||
procedure Test.20 (Test.56):
|
procedure Test.20 (Test.56):
|
||||||
|
|
|
@ -110,31 +110,31 @@ procedure Num.96 (#Attr.2):
|
||||||
ret Num.283;
|
ret Num.283;
|
||||||
|
|
||||||
procedure Str.12 (#Attr.2):
|
procedure Str.12 (#Attr.2):
|
||||||
let Str.255 : List U8 = lowlevel StrToUtf8 #Attr.2;
|
let Str.256 : List U8 = lowlevel StrToUtf8 #Attr.2;
|
||||||
ret Str.255;
|
|
||||||
|
|
||||||
procedure Str.36 (#Attr.2):
|
|
||||||
let Str.256 : U64 = lowlevel StrCountUtf8Bytes #Attr.2;
|
|
||||||
ret Str.256;
|
ret Str.256;
|
||||||
|
|
||||||
|
procedure Str.36 (#Attr.2):
|
||||||
|
let Str.257 : U64 = lowlevel StrCountUtf8Bytes #Attr.2;
|
||||||
|
ret Str.257;
|
||||||
|
|
||||||
procedure Str.43 (#Attr.2):
|
procedure Str.43 (#Attr.2):
|
||||||
let Str.253 : {U64, Str, Int1, U8} = lowlevel StrFromUtf8 #Attr.2;
|
let Str.254 : {U64, Str, Int1, U8} = lowlevel StrFromUtf8 #Attr.2;
|
||||||
ret Str.253;
|
ret Str.254;
|
||||||
|
|
||||||
procedure Str.9 (Str.73):
|
procedure Str.9 (Str.73):
|
||||||
let Str.74 : {U64, Str, Int1, U8} = CallByName Str.43 Str.73;
|
let Str.74 : {U64, Str, Int1, U8} = CallByName Str.43 Str.73;
|
||||||
let Str.250 : Int1 = StructAtIndex 2 Str.74;
|
let Str.251 : Int1 = StructAtIndex 2 Str.74;
|
||||||
if Str.250 then
|
if Str.251 then
|
||||||
let Str.252 : Str = StructAtIndex 1 Str.74;
|
let Str.253 : Str = StructAtIndex 1 Str.74;
|
||||||
let Str.251 : [C {U64, U8}, C Str] = TagId(1) Str.252;
|
let Str.252 : [C {U64, U8}, C Str] = TagId(1) Str.253;
|
||||||
ret Str.251;
|
ret Str.252;
|
||||||
else
|
else
|
||||||
let Str.248 : U8 = StructAtIndex 3 Str.74;
|
|
||||||
let Str.249 : U64 = StructAtIndex 0 Str.74;
|
let Str.249 : U64 = StructAtIndex 0 Str.74;
|
||||||
|
let Str.250 : U8 = StructAtIndex 3 Str.74;
|
||||||
let #Derived_gen.27 : Str = StructAtIndex 1 Str.74;
|
let #Derived_gen.27 : Str = StructAtIndex 1 Str.74;
|
||||||
dec #Derived_gen.27;
|
dec #Derived_gen.27;
|
||||||
let Str.247 : {U64, U8} = Struct {Str.249, Str.248};
|
let Str.248 : {U64, U8} = Struct {Str.249, Str.250};
|
||||||
let Str.246 : [C {U64, U8}, C Str] = TagId(0) Str.247;
|
let Str.246 : [C {U64, U8}, C Str] = TagId(0) Str.248;
|
||||||
ret Str.246;
|
ret Str.246;
|
||||||
|
|
||||||
procedure Test.20 (Test.56):
|
procedure Test.20 (Test.56):
|
||||||
|
|
|
@ -113,31 +113,31 @@ procedure Num.96 (#Attr.2):
|
||||||
ret Num.283;
|
ret Num.283;
|
||||||
|
|
||||||
procedure Str.12 (#Attr.2):
|
procedure Str.12 (#Attr.2):
|
||||||
let Str.255 : List U8 = lowlevel StrToUtf8 #Attr.2;
|
let Str.256 : List U8 = lowlevel StrToUtf8 #Attr.2;
|
||||||
ret Str.255;
|
|
||||||
|
|
||||||
procedure Str.36 (#Attr.2):
|
|
||||||
let Str.256 : U64 = lowlevel StrCountUtf8Bytes #Attr.2;
|
|
||||||
ret Str.256;
|
ret Str.256;
|
||||||
|
|
||||||
|
procedure Str.36 (#Attr.2):
|
||||||
|
let Str.257 : U64 = lowlevel StrCountUtf8Bytes #Attr.2;
|
||||||
|
ret Str.257;
|
||||||
|
|
||||||
procedure Str.43 (#Attr.2):
|
procedure Str.43 (#Attr.2):
|
||||||
let Str.253 : {U64, Str, Int1, U8} = lowlevel StrFromUtf8 #Attr.2;
|
let Str.254 : {U64, Str, Int1, U8} = lowlevel StrFromUtf8 #Attr.2;
|
||||||
ret Str.253;
|
ret Str.254;
|
||||||
|
|
||||||
procedure Str.9 (Str.73):
|
procedure Str.9 (Str.73):
|
||||||
let Str.74 : {U64, Str, Int1, U8} = CallByName Str.43 Str.73;
|
let Str.74 : {U64, Str, Int1, U8} = CallByName Str.43 Str.73;
|
||||||
let Str.250 : Int1 = StructAtIndex 2 Str.74;
|
let Str.251 : Int1 = StructAtIndex 2 Str.74;
|
||||||
if Str.250 then
|
if Str.251 then
|
||||||
let Str.252 : Str = StructAtIndex 1 Str.74;
|
let Str.253 : Str = StructAtIndex 1 Str.74;
|
||||||
let Str.251 : [C {U64, U8}, C Str] = TagId(1) Str.252;
|
let Str.252 : [C {U64, U8}, C Str] = TagId(1) Str.253;
|
||||||
ret Str.251;
|
ret Str.252;
|
||||||
else
|
else
|
||||||
let Str.248 : U8 = StructAtIndex 3 Str.74;
|
|
||||||
let Str.249 : U64 = StructAtIndex 0 Str.74;
|
let Str.249 : U64 = StructAtIndex 0 Str.74;
|
||||||
|
let Str.250 : U8 = StructAtIndex 3 Str.74;
|
||||||
let #Derived_gen.28 : Str = StructAtIndex 1 Str.74;
|
let #Derived_gen.28 : Str = StructAtIndex 1 Str.74;
|
||||||
dec #Derived_gen.28;
|
dec #Derived_gen.28;
|
||||||
let Str.247 : {U64, U8} = Struct {Str.249, Str.248};
|
let Str.248 : {U64, U8} = Struct {Str.249, Str.250};
|
||||||
let Str.246 : [C {U64, U8}, C Str] = TagId(0) Str.247;
|
let Str.246 : [C {U64, U8}, C Str] = TagId(0) Str.248;
|
||||||
ret Str.246;
|
ret Str.246;
|
||||||
|
|
||||||
procedure Test.20 (Test.56):
|
procedure Test.20 (Test.56):
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue