mirror of
https://github.com/roc-lang/roc.git
synced 2025-08-03 19:58:18 +00:00
Merge branch 'main' into simplify-refcount
Signed-off-by: Brendan Hansknecht <Brendan.Hansknecht@gmail.com>
This commit is contained in:
commit
7643f89781
131 changed files with 2464 additions and 2148 deletions
13
.github/workflows/www.yml
vendored
13
.github/workflows/www.yml
vendored
|
@ -1,21 +1,24 @@
|
|||
name: deploy www.roc-lang.org
|
||||
|
||||
# Whenever a commit lands on `main`, deploy the site
|
||||
on:
|
||||
# Allows you to run this workflow manually from the Actions tab
|
||||
workflow_dispatch:
|
||||
|
||||
# Whenever a commit lands on `main`, deploy the site
|
||||
push:
|
||||
branches:
|
||||
- deploy-www
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
name: 'Deploy to Netlify'
|
||||
name: "Deploy to Netlify"
|
||||
runs-on: [self-hosted, linux]
|
||||
steps:
|
||||
- uses: jsmrcaga/action-netlify-deploy@v1.6.0
|
||||
with:
|
||||
install_command: 'pwd; cd ../../www'
|
||||
build_command: 'bash build.sh'
|
||||
build_directory: 'build'
|
||||
install_command: "pwd; cd ../../www"
|
||||
build_command: "bash build.sh"
|
||||
build_directory: "build"
|
||||
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
|
||||
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }}
|
||||
NETLIFY_DEPLOY_MESSAGE: "Deploy git ref ${{ github.ref }}"
|
||||
|
|
|
@ -278,14 +278,14 @@ import pf.Stdin
|
|||
main =
|
||||
Stdout.line! "What's your name?"
|
||||
name = Stdin.line!
|
||||
Stdout.line! "Hi $(name)!""#;
|
||||
Stdout.line! "Hi ${name}!""#;
|
||||
|
||||
const UNFORMATTED_ROC: &str = r#"app [main] { pf: platform "platform/main.roc" }
|
||||
|
||||
main =
|
||||
Stdout.line! "What's your name?"
|
||||
name = Stdin.line!
|
||||
Stdout.line! "Hi $(name)!"
|
||||
Stdout.line! "Hi ${name}!"
|
||||
"#;
|
||||
|
||||
fn setup_test_file(dir: &Path, file_name: &str, contents: &str) -> PathBuf {
|
||||
|
|
|
@ -10,7 +10,7 @@ show = \list ->
|
|||
|> List.map(Num.to_str)
|
||||
|> Str.join_with(", ")
|
||||
|
||||
"[$(content)]"
|
||||
"[${content}]"
|
||||
|
||||
sort_by : List a, (a -> Num *) -> List a
|
||||
sort_by = \list, to_comparable ->
|
||||
|
|
|
@ -25,7 +25,7 @@ show_rb_tree = \tree, show_key, show_value ->
|
|||
s_l = node_in_parens(left, show_key, show_value)
|
||||
s_r = node_in_parens(right, show_key, show_value)
|
||||
|
||||
"Node $(s_color) $(s_key) $(s_value) $(s_l) $(s_r)"
|
||||
"Node ${s_color} ${s_key} ${s_value} ${s_l} ${s_r}"
|
||||
|
||||
node_in_parens : RedBlackTree k v, (k -> Str), (v -> Str) -> Str
|
||||
node_in_parens = \tree, show_key, show_value ->
|
||||
|
@ -36,7 +36,7 @@ node_in_parens = \tree, show_key, show_value ->
|
|||
Node(_, _, _, _, _) ->
|
||||
inner = show_rb_tree(tree, show_key, show_value)
|
||||
|
||||
"($(inner))"
|
||||
"(${inner})"
|
||||
|
||||
show_color : NodeColor -> Str
|
||||
show_color = \color ->
|
||||
|
|
|
@ -8,7 +8,7 @@ snapshot_kind: text
|
|||
|
||||
The get_user function expects 1 argument, but it got 2 instead:
|
||||
|
||||
12│ $(Api.get_user(1, 2))
|
||||
12│ ${Api.get_user(1, 2)}
|
||||
^^^^^^^^^^^^
|
||||
|
||||
Are there any missing commas? Or missing parentheses?
|
||||
|
@ -18,7 +18,7 @@ Are there any missing commas? Or missing parentheses?
|
|||
|
||||
This value is not a function, but it was given 1 argument:
|
||||
|
||||
13│ $(Api.base_url(1))
|
||||
13│ ${Api.base_url(1)}
|
||||
^^^^^^^^^^^^
|
||||
|
||||
Are there any missing commas? Or missing parentheses?
|
||||
|
@ -28,7 +28,7 @@ Are there any missing commas? Or missing parentheses?
|
|||
|
||||
The get_post_comment function expects 2 arguments, but it got only 1:
|
||||
|
||||
16│ $(Api.get_post_comment(1))
|
||||
16│ ${Api.get_post_comment(1)}
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Roc does not allow functions to be partially applied. Use a closure to
|
||||
|
|
|
@ -11,7 +11,7 @@ fn_annotated_as_value definition:
|
|||
|
||||
3│ fn_annotated_as_value : Str
|
||||
4│> fn_annotated_as_value = \post_id, comment_id ->
|
||||
5│> "/posts/$(post_id)/comments/$(Num.to_str(comment_id))"
|
||||
5│> "/posts/${post_id}/comments/${Num.to_str(comment_id)}"
|
||||
|
||||
The body is an anonymous function of type:
|
||||
|
||||
|
@ -28,7 +28,7 @@ Something is off with the body of the missing_arg definition:
|
|||
|
||||
7│ missing_arg : Str -> Str
|
||||
8│> missing_arg = \post_id, _ ->
|
||||
9│> "/posts/$(post_id)/comments"
|
||||
9│> "/posts/${post_id}/comments"
|
||||
|
||||
The body is an anonymous function of type:
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ snapshot_kind: text
|
|||
|
||||
This argument to this string interpolation has an unexpected type:
|
||||
|
||||
10│ "$(Api.get_post)"
|
||||
10│ "${Api.get_post}"
|
||||
^^^^^^^^^^^^
|
||||
|
||||
The argument is an anonymous function of type:
|
||||
|
|
|
@ -12,7 +12,7 @@ main =
|
|||
_: Task.ok(Dict.single("a", "b")),
|
||||
}!
|
||||
|
||||
Stdout.line!("For multiple tasks: $(Inspect.to_str(multiple_in))")
|
||||
Stdout.line!("For multiple tasks: ${Inspect.to_str(multiple_in)}")
|
||||
|
||||
sequential : Task a err, Task b err, (a, b -> c) -> Task c err
|
||||
sequential = \first_task, second_task, mapper ->
|
||||
|
|
|
@ -15,8 +15,8 @@ main! = \{} ->
|
|||
validate! : U32 => Result {} U32
|
||||
validate! = \x ->
|
||||
if Num.is_even(x) then
|
||||
Effect.put_line!("✅ $(Num.to_str(x))")
|
||||
Effect.put_line!("✅ ${Num.to_str(x)}")
|
||||
Ok({})
|
||||
else
|
||||
Effect.put_line!("$(Num.to_str(x)) is not even! ABORT!")
|
||||
Effect.put_line!("${Num.to_str(x)} is not even! ABORT!")
|
||||
Err(x)
|
||||
|
|
|
@ -7,7 +7,7 @@ main! = \{} ->
|
|||
first = ask!("What's your first name?")
|
||||
last = ask!("What's your last name?")
|
||||
|
||||
Effect.put_line!("\nHi, $(first) $(last)!\n")
|
||||
Effect.put_line!("\nHi, ${first} ${last}!\n")
|
||||
|
||||
when Str.to_u8(ask!("How old are you?")) is
|
||||
Err(InvalidNumStr) ->
|
||||
|
@ -17,7 +17,7 @@ main! = \{} ->
|
|||
Effect.put_line!("\nNice! You can vote!")
|
||||
|
||||
Ok(age) ->
|
||||
Effect.put_line!("\nYou'll be able to vote in $(Num.to_str((18 - age))) years")
|
||||
Effect.put_line!("\nYou'll be able to vote in ${Num.to_str(18 - age)} years")
|
||||
|
||||
Effect.put_line!("\nBye! 👋")
|
||||
|
||||
|
|
|
@ -15,5 +15,5 @@ main! = \{} ->
|
|||
else
|
||||
{}
|
||||
|
||||
Effect.put_line!("You entered: $(line)")
|
||||
Effect.put_line!("You entered: ${line}")
|
||||
Effect.put_line!("It is known")
|
||||
|
|
|
@ -18,5 +18,5 @@ main! = \{} ->
|
|||
get_line!: Effect.get_line!,
|
||||
}
|
||||
|
||||
Effect.put_line!("not_effectful: $(not_effectful.get_line!({}))")
|
||||
Effect.put_line!("effectful: $(effectful.get_line!({}))")
|
||||
Effect.put_line!("not_effectful: ${not_effectful.get_line!({})}")
|
||||
Effect.put_line!("effectful: ${effectful.get_line!({})}")
|
||||
|
|
|
@ -7,6 +7,6 @@ main! = \{} ->
|
|||
logged!("hello", \{} -> Effect.put_line!("Hello, World!"))
|
||||
|
||||
logged! = \name, fx! ->
|
||||
Effect.put_line!("Before $(name)")
|
||||
Effect.put_line!("Before ${name}")
|
||||
fx!({})
|
||||
Effect.put_line!("After $(name)")
|
||||
Effect.put_line!("After ${name}")
|
||||
|
|
|
@ -56,7 +56,7 @@ to_str = \{ scopes, stack, state, vars } ->
|
|||
stack_str = Str.join_with(List.map(stack, to_str_data), " ")
|
||||
vars_str = Str.join_with(List.map(vars, to_str_data), " ")
|
||||
|
||||
"\n============\nDepth: $(depth)\nState: $(state_str)\nStack: [$(stack_str)]\nVars: [$(vars_str)]\n============\n"
|
||||
"\n============\nDepth: ${depth}\nState: ${state_str}\nStack: [${stack_str}]\nVars: [${vars_str}]\n============\n"
|
||||
|
||||
with! : Str, (Context => a) => a
|
||||
with! = \path, callback! ->
|
||||
|
|
|
@ -21,7 +21,7 @@ main! = \filename ->
|
|||
{}
|
||||
|
||||
Err(StringErr(e)) ->
|
||||
Stdout.line!("Ran into problem:\n$(e)\n")
|
||||
Stdout.line!("Ran into problem:\n${e}\n")
|
||||
|
||||
interpret_file! : Str => Result {} [StringErr Str]
|
||||
interpret_file! = \filename ->
|
||||
|
@ -44,7 +44,7 @@ interpret_file! = \filename ->
|
|||
Err(StringErr("Ran into an invalid boolean that was neither false (0) or true (-1)"))
|
||||
|
||||
Err(InvalidChar(char)) ->
|
||||
Err(StringErr("Ran into an invalid character with ascii code: $(char)"))
|
||||
Err(StringErr("Ran into an invalid character with ascii code: ${char}"))
|
||||
|
||||
Err(MaxInputNumber) ->
|
||||
Err(StringErr("Like the original false compiler, the max input number is 320,000"))
|
||||
|
|
|
@ -7,4 +7,4 @@ app [main] {
|
|||
import json.JsonParser
|
||||
import csv.Csv
|
||||
|
||||
main = "Hello, World! $(JsonParser.example) $(Csv.example)"
|
||||
main = "Hello, World! ${JsonParser.example} ${Csv.example}"
|
||||
|
|
|
@ -7,4 +7,4 @@ app [main] {
|
|||
import one.One
|
||||
import two.Two
|
||||
|
||||
main = "$(One.example) | $(Two.example)"
|
||||
main = "${One.example} | ${Two.example}"
|
||||
|
|
|
@ -2,4 +2,4 @@ module [example]
|
|||
|
||||
import two.Two
|
||||
|
||||
example = "[One imports Two: $(Two.example)]"
|
||||
example = "[One imports Two: ${Two.example}]"
|
||||
|
|
|
@ -2,4 +2,4 @@ module [example]
|
|||
|
||||
import one.One
|
||||
|
||||
example = "[Zero imports One: $(One.example)]"
|
||||
example = "[Zero imports One: ${One.example}]"
|
||||
|
|
|
@ -14,18 +14,18 @@ module { app_id, protocol } -> [
|
|||
## value def referencing params
|
||||
base_url : Str
|
||||
base_url =
|
||||
protocol("api.example.com/$(app_id)")
|
||||
protocol("api.example.com/${app_id}")
|
||||
|
||||
## function def referencing params
|
||||
get_user : U32 -> Str
|
||||
get_user = \user_id ->
|
||||
# purposefully not using baseUrl to test top-level fn referencing param
|
||||
protocol("api.example.com/$(app_id)/users/$(Num.to_str(user_id))")
|
||||
protocol("api.example.com/${app_id}/users/${Num.to_str(user_id)}")
|
||||
|
||||
## function def referencing top-level value
|
||||
get_post : U32 -> Str
|
||||
get_post = \post_id ->
|
||||
"$(base_url)/posts/$(Num.to_str(post_id))"
|
||||
"${base_url}/posts/${Num.to_str(post_id)}"
|
||||
|
||||
## function def passing top-level function
|
||||
get_posts : List U32 -> List Str
|
||||
|
@ -35,13 +35,13 @@ get_posts = \ids ->
|
|||
## function def calling top-level function
|
||||
get_post_comments : U32 -> Str
|
||||
get_post_comments = \post_id ->
|
||||
"$(get_post(post_id))/comments"
|
||||
"${get_post(post_id)}/comments"
|
||||
|
||||
## function def passing nested function
|
||||
get_companies : List U32 -> List Str
|
||||
get_companies = \ids ->
|
||||
get_company = \id ->
|
||||
protocol("api.example.com/$(app_id)/companies/$(Num.to_str(id))")
|
||||
protocol("api.example.com/${app_id}/companies/${Num.to_str(id)}")
|
||||
|
||||
List.map(ids, get_company)
|
||||
|
||||
|
@ -59,11 +59,11 @@ get_post_aliased =
|
|||
get_user_safe : U32 -> Str
|
||||
get_user_safe =
|
||||
if Str.starts_with(app_id, "prod_") then
|
||||
\id -> "$(get_user(id))?safe=true"
|
||||
\id -> "${get_user(id)}?safe=true"
|
||||
else
|
||||
get_user
|
||||
|
||||
## two-argument function
|
||||
get_post_comment : U32, U32 -> Str
|
||||
get_post_comment = \post_id, comment_id ->
|
||||
"$(get_post(post_id))/comments/$(Num.to_str(comment_id))"
|
||||
"${get_post(post_id)}/comments/${Num.to_str(comment_id)}"
|
||||
|
|
|
@ -2,8 +2,8 @@ module { app_id } -> [fn_annotated_as_value, missing_arg]
|
|||
|
||||
fn_annotated_as_value : Str
|
||||
fn_annotated_as_value = \post_id, comment_id ->
|
||||
"/posts/$(post_id)/comments/$(Num.to_str(comment_id))"
|
||||
"/posts/${post_id}/comments/${Num.to_str(comment_id)}"
|
||||
|
||||
missing_arg : Str -> Str
|
||||
missing_arg = \post_id, _ ->
|
||||
"/posts/$(post_id)/comments"
|
||||
"/posts/${post_id}/comments"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
module []
|
||||
|
||||
https = \url -> "https://$(url)"
|
||||
https = \url -> "https://${url}"
|
||||
|
||||
expect
|
||||
import Api { app_id: "one", protocol: https }
|
||||
|
|
|
@ -4,4 +4,4 @@ menu = \name ->
|
|||
indirect(name)
|
||||
|
||||
indirect = \name ->
|
||||
echo("Hi, $(name)!")
|
||||
echo("Hi, ${name}!")
|
||||
|
|
|
@ -6,8 +6,8 @@ import Api { app_id: "one", protocol: https } as App1
|
|||
import Api { app_id: "two", protocol: http } as App2
|
||||
import Api { app_id: "prod_1", protocol: http } as Prod
|
||||
|
||||
https = \url -> "https://$(url)"
|
||||
http = \url -> "http://$(url)"
|
||||
https = \url -> "https://${url}"
|
||||
http = \url -> "http://${url}"
|
||||
|
||||
users_app1 =
|
||||
# pass top-level fn in a module with params
|
||||
|
@ -27,33 +27,33 @@ main =
|
|||
List.map([1, 2, 3], App3.get_user)
|
||||
|
||||
"""
|
||||
App1.baseUrl: $(App1.base_url)
|
||||
App2.baseUrl: $(App2.base_url)
|
||||
App3.baseUrl: $(App3.base_url)
|
||||
App1.getUser 1: $(App1.get_user(1))
|
||||
App2.getUser 2: $(App2.get_user(2))
|
||||
App3.getUser 3: $(App3.get_user(3))
|
||||
App1.getPost 1: $(App1.get_post(1))
|
||||
App2.getPost 2: $(App2.get_post(2))
|
||||
App3.getPost 3: $(App3.get_post(3))
|
||||
App1.getPosts [1, 2]: $(Inspect.to_str(App1.get_posts([1, 2])))
|
||||
App2.getPosts [3, 4]: $(Inspect.to_str(App2.get_posts([3, 4])))
|
||||
App2.getPosts [5, 6]: $(Inspect.to_str(App2.get_posts([5, 6])))
|
||||
App1.getPostComments 1: $(App1.get_post_comments(1))
|
||||
App2.getPostComments 2: $(App2.get_post_comments(2))
|
||||
App2.getPostComments 3: $(App2.get_post_comments(3))
|
||||
App1.getCompanies [1, 2]: $(Inspect.to_str(App1.get_companies([1, 2])))
|
||||
App2.getCompanies [3, 4]: $(Inspect.to_str(App2.get_companies([3, 4])))
|
||||
App2.getCompanies [5, 6]: $(Inspect.to_str(App2.get_companies([5, 6])))
|
||||
App1.getPostAliased 1: $(App1.get_post_aliased(1))
|
||||
App2.getPostAliased 2: $(App2.get_post_aliased(2))
|
||||
App3.getPostAliased 3: $(App3.get_post_aliased(3))
|
||||
App1.baseUrlAliased: $(App1.base_url_aliased)
|
||||
App2.baseUrlAliased: $(App2.base_url_aliased)
|
||||
App3.baseUrlAliased: $(App3.base_url_aliased)
|
||||
App1.getUserSafe 1: $(App1.get_user_safe(1))
|
||||
Prod.getUserSafe 2: $(Prod.get_user_safe(2))
|
||||
usersApp1: $(Inspect.to_str(users_app1))
|
||||
getUserApp3Nested 3: $(get_user_app3_nested(3))
|
||||
usersApp3Passed: $(Inspect.to_str(users_app3_passed))
|
||||
App1.baseUrl: ${App1.base_url}
|
||||
App2.baseUrl: ${App2.base_url}
|
||||
App3.baseUrl: ${App3.base_url}
|
||||
App1.getUser 1: ${App1.get_user(1)}
|
||||
App2.getUser 2: ${App2.get_user(2)}
|
||||
App3.getUser 3: ${App3.get_user(3)}
|
||||
App1.getPost 1: ${App1.get_post(1)}
|
||||
App2.getPost 2: ${App2.get_post(2)}
|
||||
App3.getPost 3: ${App3.get_post(3)}
|
||||
App1.getPosts [1, 2]: ${Inspect.to_str(App1.get_posts([1, 2]))}
|
||||
App2.getPosts [3, 4]: ${Inspect.to_str(App2.get_posts([3, 4]))}
|
||||
App2.getPosts [5, 6]: ${Inspect.to_str(App2.get_posts([5, 6]))}
|
||||
App1.getPostComments 1: ${App1.get_post_comments(1)}
|
||||
App2.getPostComments 2: ${App2.get_post_comments(2)}
|
||||
App2.getPostComments 3: ${App2.get_post_comments(3)}
|
||||
App1.getCompanies [1, 2]: ${Inspect.to_str(App1.get_companies([1, 2]))}
|
||||
App2.getCompanies [3, 4]: ${Inspect.to_str(App2.get_companies([3, 4]))}
|
||||
App2.getCompanies [5, 6]: ${Inspect.to_str(App2.get_companies([5, 6]))}
|
||||
App1.getPostAliased 1: ${App1.get_post_aliased(1)}
|
||||
App2.getPostAliased 2: ${App2.get_post_aliased(2)}
|
||||
App3.getPostAliased 3: ${App3.get_post_aliased(3)}
|
||||
App1.baseUrlAliased: ${App1.base_url_aliased}
|
||||
App2.baseUrlAliased: ${App2.base_url_aliased}
|
||||
App3.baseUrlAliased: ${App3.base_url_aliased}
|
||||
App1.getUserSafe 1: ${App1.get_user_safe(1)}
|
||||
Prod.getUserSafe 2: ${Prod.get_user_safe(2)}
|
||||
usersApp1: ${Inspect.to_str(users_app1)}
|
||||
getUserApp3Nested 3: ${get_user_app3_nested(3)}
|
||||
usersApp3Passed: ${Inspect.to_str(users_app3_passed)}
|
||||
"""
|
||||
|
|
|
@ -4,14 +4,14 @@ app [main] {
|
|||
|
||||
import Api { app_id: "one", protocol: https }
|
||||
|
||||
https = \url -> "https://$(url)"
|
||||
https = \url -> "https://${url}"
|
||||
|
||||
main =
|
||||
"""
|
||||
# too many args
|
||||
$(Api.get_user(1, 2))
|
||||
$(Api.base_url(1))
|
||||
${Api.get_user(1, 2)}
|
||||
${Api.base_url(1)}
|
||||
|
||||
# too few args
|
||||
$(Api.get_post_comment(1))
|
||||
${Api.get_post_comment(1)}
|
||||
"""
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
module { stdout! } -> [log!]
|
||||
|
||||
log! = \msg, level -> stdout!("$(level):$(msg)")
|
||||
log! = \msg, level -> stdout!("${level}:${msg}")
|
||||
|
|
|
@ -4,7 +4,7 @@ app [main] {
|
|||
|
||||
import Api { app_id: "one", protocol: https }
|
||||
|
||||
https = \url -> "https://$(url)"
|
||||
https = \url -> "https://${url}"
|
||||
|
||||
main =
|
||||
"$(Api.get_post)"
|
||||
"${Api.get_post}"
|
||||
|
|
|
@ -11,4 +11,4 @@ import foo.Foo
|
|||
|
||||
main_for_host : Str
|
||||
main_for_host =
|
||||
"$(main) $(Foo.foo)"
|
||||
"${main} ${Foo.foo}"
|
||||
|
|
|
@ -381,6 +381,7 @@ inline fn decref_ptr_to_refcount(
|
|||
switch (RC_TYPE) {
|
||||
.normal => {
|
||||
if (DEBUG_INCDEC and builtin.target.cpu.arch != .wasm32) {
|
||||
|
||||
const old = @as(usize, @bitCast(refcount));
|
||||
const new = @as(usize, @bitCast(refcount_ptr[0] -% 1));
|
||||
|
||||
|
|
|
@ -887,7 +887,7 @@ increase_size = \@Dict({ data, max_bucket_capacity, max_load_factor, shifts }) -
|
|||
},
|
||||
)
|
||||
else
|
||||
crash("Dict hit limit of $(Num.to_str(max_bucket_count)) elements. Unable to grow more.")
|
||||
crash("Dict hit limit of ${Num.to_str(max_bucket_count)} elements. Unable to grow more.")
|
||||
|
||||
alloc_buckets_from_shift : U8, F32 -> (List Bucket, U64)
|
||||
alloc_buckets_from_shift = \shifts, max_load_factor ->
|
||||
|
|
|
@ -75,6 +75,7 @@ module [
|
|||
for_each!,
|
||||
for_each_try!,
|
||||
walk!,
|
||||
walk_try!,
|
||||
]
|
||||
|
||||
import Bool exposing [Bool, Eq]
|
||||
|
@ -1484,7 +1485,7 @@ for_each! = \list, func! ->
|
|||
## List.for_each_try!(files_to_delete, \path ->
|
||||
## File.delete!(path)?
|
||||
##
|
||||
## Stdout.line!("$(path) deleted")
|
||||
## Stdout.line!("${path} deleted")
|
||||
## )
|
||||
## ```
|
||||
for_each_try! : List a, (a => Result {} err) => Result {} err
|
||||
|
@ -1514,7 +1515,40 @@ for_each_try! = \list, func! ->
|
|||
walk! : List elem, state, (state, elem => state) => state
|
||||
walk! = \list, state, func! ->
|
||||
when list is
|
||||
[] -> state
|
||||
[] ->
|
||||
state
|
||||
|
||||
[elem, .. as rest] ->
|
||||
next_state = func!(state, elem)
|
||||
walk!(rest, next_state, func!)
|
||||
|
||||
## Build a value from the contents of a list, using an effectful function that might fail.
|
||||
##
|
||||
## If the function returns `Err`, the iteration stops and the error is returned.
|
||||
##
|
||||
## ```
|
||||
## names =
|
||||
## List.walk_try!(
|
||||
## ["First", "Middle", "Last"],
|
||||
## [],
|
||||
## \accumulator, which ->
|
||||
## Stdout.write!("${which} name: ")?
|
||||
## name = Stdin.line!({})?
|
||||
## Ok(List.append(accumulator, name)),
|
||||
## )?
|
||||
## ```
|
||||
##
|
||||
## This is the same as [walk_try], except that the step function can have effects.
|
||||
walk_try! : List elem, state, (state, elem => Result state err) => Result state err
|
||||
walk_try! = \list, state, func! ->
|
||||
when list is
|
||||
[] ->
|
||||
Ok(state)
|
||||
|
||||
[elem, .. as rest] ->
|
||||
when func!(state, elem) is
|
||||
Ok(next_state) ->
|
||||
walk_try!(rest, next_state, func!)
|
||||
|
||||
Err(err) ->
|
||||
Err(err)
|
||||
|
|
|
@ -124,11 +124,12 @@ on_err = \result, transform ->
|
|||
## Like [on_err], but it allows the transformation function to produce effects.
|
||||
##
|
||||
## ```roc
|
||||
## Result.on_err(Err("missing user"), (\msg ->
|
||||
## Stdout.line!("ERROR: $(msg)")?
|
||||
##
|
||||
## Err(msg)
|
||||
## ))
|
||||
## Result.on_err(
|
||||
## Err("missing user"),
|
||||
## \msg ->
|
||||
## Stdout.line!("ERROR: ${msg}")?
|
||||
## Err(msg),
|
||||
## )
|
||||
## ```
|
||||
on_err! : Result a err, (err => Result a other_err) => Result a other_err
|
||||
on_err! = \result, transform! ->
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
## ```
|
||||
## name = "Sam"
|
||||
##
|
||||
## "Hi, my name is $(name)!"
|
||||
## "Hi, my name is ${name}!"
|
||||
## ```
|
||||
##
|
||||
## This will evaluate to the string `"Hi, my name is Sam!"`
|
||||
|
@ -44,7 +44,7 @@
|
|||
## ```
|
||||
## colors = ["red", "green", "blue"]
|
||||
##
|
||||
## "The colors are $(colors |> Str.join_with(", "))!"
|
||||
## "The colors are ${colors |> Str.join_with(", ")}!"
|
||||
## ```
|
||||
##
|
||||
## Interpolation can be used in multiline strings, but the part inside the parentheses must still be on one line.
|
||||
|
@ -800,7 +800,7 @@ replace_first : Str, Str, Str -> Str
|
|||
replace_first = \haystack, needle, flower ->
|
||||
when split_first(haystack, needle) is
|
||||
Ok({ before, after }) ->
|
||||
"$(before)$(flower)$(after)"
|
||||
"${before}${flower}${after}"
|
||||
|
||||
Err(NotFound) -> haystack
|
||||
|
||||
|
@ -818,7 +818,7 @@ replace_last : Str, Str, Str -> Str
|
|||
replace_last = \haystack, needle, flower ->
|
||||
when split_last(haystack, needle) is
|
||||
Ok({ before, after }) ->
|
||||
"$(before)$(flower)$(after)"
|
||||
"${before}${flower}${after}"
|
||||
|
||||
Err(NotFound) -> haystack
|
||||
|
||||
|
|
|
@ -2157,10 +2157,10 @@ mod test_can {
|
|||
// // This should NOT be string interpolation, because of the \\
|
||||
// indoc!(
|
||||
// r#"
|
||||
// "abcd\$(efg)hij"
|
||||
// "abcd\${efg}hij"
|
||||
// "#
|
||||
// ),
|
||||
// Str(r"abcd$(efg)hij".into()),
|
||||
// Str(r"abcd${efg}hij".into()),
|
||||
// );
|
||||
// }
|
||||
|
||||
|
|
|
@ -91,14 +91,6 @@ fn format_expr_only(
|
|||
buf.indent(indent);
|
||||
buf.push_str("try");
|
||||
}
|
||||
Expr::PncApply(
|
||||
loc_expr @ Loc {
|
||||
value: Expr::Dbg, ..
|
||||
},
|
||||
loc_args,
|
||||
) => {
|
||||
fmt_apply(loc_expr, loc_args.items, indent, buf);
|
||||
}
|
||||
Expr::PncApply(loc_expr, loc_args) => {
|
||||
fmt_pnc_apply(loc_expr, loc_args, indent, buf);
|
||||
}
|
||||
|
@ -521,10 +513,7 @@ pub fn expr_is_multiline(me: &Expr<'_>, comments_only: bool) -> bool {
|
|||
.any(|loc_arg| expr_is_multiline(&loc_arg.value, comments_only))
|
||||
}
|
||||
Expr::PncApply(loc_expr, args) => {
|
||||
expr_is_multiline(&loc_expr.value, comments_only)
|
||||
|| args
|
||||
.iter()
|
||||
.any(|loc_arg| expr_is_multiline(&loc_arg.value, comments_only))
|
||||
expr_is_multiline(&loc_expr.value, comments_only) || is_collection_multiline(args)
|
||||
}
|
||||
|
||||
Expr::DbgStmt { .. } => true,
|
||||
|
@ -922,8 +911,8 @@ fn format_str_segment(seg: &StrSegment, buf: &mut Buf) {
|
|||
buf.push(escaped.to_parsed_char());
|
||||
}
|
||||
Interpolated(loc_expr) => {
|
||||
buf.push_str("$(");
|
||||
// e.g. (name) in "Hi, $(name)!"
|
||||
buf.push_str("${");
|
||||
// e.g. {name} in "Hi, ${name}!"
|
||||
let min_indent = buf.cur_line_indent() + INDENT;
|
||||
loc_expr.value.format_with_options(
|
||||
buf,
|
||||
|
@ -932,7 +921,7 @@ fn format_str_segment(seg: &StrSegment, buf: &mut Buf) {
|
|||
min_indent,
|
||||
);
|
||||
buf.indent(min_indent);
|
||||
buf.push(')');
|
||||
buf.push('}');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1343,9 +1332,16 @@ pub fn expr_lift_spaces<'a, 'b: 'a>(
|
|||
|
||||
let right_lifted = expr_lift_spaces_after(Parens::InOperator, arena, &right.value);
|
||||
|
||||
let mut item =
|
||||
Expr::BinOps(lefts, arena.alloc(Loc::at(right.region, right_lifted.item)));
|
||||
|
||||
if parens == Parens::InApply || parens == Parens::InApplyLastArg {
|
||||
item = Expr::ParensAround(arena.alloc(item));
|
||||
}
|
||||
|
||||
Spaces {
|
||||
before,
|
||||
item: Expr::BinOps(lefts, arena.alloc(Loc::at(right.region, right_lifted.item))),
|
||||
item,
|
||||
after: right_lifted.after,
|
||||
}
|
||||
}
|
||||
|
@ -1759,12 +1755,21 @@ fn fmt_dbg_stmt<'a>(
|
|||
args.push(condition);
|
||||
args.extend_from_slice(extra_args);
|
||||
|
||||
if args.is_empty() {
|
||||
Expr::PncApply(&Loc::at_zero(Expr::Dbg), Collection::empty()).format_with_options(
|
||||
buf,
|
||||
parens,
|
||||
Newlines::Yes,
|
||||
indent,
|
||||
);
|
||||
} else {
|
||||
Expr::Apply(
|
||||
&Loc::at_zero(Expr::Dbg),
|
||||
args.into_bump_slice(),
|
||||
called_via::CalledVia::Space,
|
||||
)
|
||||
.format_with_options(buf, parens, Newlines::Yes, indent);
|
||||
}
|
||||
|
||||
let cont_lifted = expr_lift_spaces(Parens::NotNeeded, buf.text.bump(), &continuation.value);
|
||||
|
||||
|
|
|
@ -722,7 +722,7 @@ pub fn pattern_lift_spaces<'a, 'b: 'a>(
|
|||
|
||||
Spaces {
|
||||
before: func_lifted.before,
|
||||
item: Pattern::PncApply(arena.alloc(func), *args),
|
||||
item: Pattern::PncApply(arena.alloc(Loc::at_zero(func_lifted.item)), *args),
|
||||
after: &[],
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5864,7 +5864,7 @@ mod test_reporting {
|
|||
r#"
|
||||
greeting = "Privet"
|
||||
|
||||
if Bool.true then 1 else "$(greeting), World!"
|
||||
if Bool.true then 1 else "${greeting}, World!"
|
||||
"#,
|
||||
),
|
||||
@r#"
|
||||
|
@ -5872,7 +5872,7 @@ mod test_reporting {
|
|||
|
||||
This `if` has an `else` branch with a different type from its `then` branch:
|
||||
|
||||
6│ if Bool.true then 1 else "$(greeting), World!"
|
||||
6│ if Bool.true then 1 else "${greeting}, World!"
|
||||
^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The `else` branch is a string of type:
|
||||
|
@ -15052,7 +15052,7 @@ All branches in an `if` must have the same type!
|
|||
u64_nums = parse_items_with Str.to_u64
|
||||
u8_nums = parse_items_with Str.to_u8
|
||||
|
||||
"$(Inspect.to_str u64_nums) $(Inspect.to_str u8_nums)"
|
||||
"${Inspect.to_str(u64_nums)} ${Inspect.to_str(u8_nums)}"
|
||||
"#
|
||||
),
|
||||
@"" // no errors
|
||||
|
@ -15304,7 +15304,7 @@ All branches in an `if` must have the same type!
|
|||
get_cheer = \msg ->
|
||||
name = Effect.get_line! {}
|
||||
|
||||
"$(msg), $(name)!"
|
||||
"${msg}, ${name}!"
|
||||
"#
|
||||
),
|
||||
@r"
|
||||
|
@ -15340,7 +15340,7 @@ All branches in an `if` must have the same type!
|
|||
|
||||
trim : Str -> Str
|
||||
trim = \msg ->
|
||||
Effect.put_line! "Trimming $(msg)"
|
||||
Effect.put_line!("Trimming ${msg}")
|
||||
Str.trim msg
|
||||
"#
|
||||
),
|
||||
|
@ -15349,7 +15349,7 @@ All branches in an `if` must have the same type!
|
|||
|
||||
This call to `Effect.put_line!` might produce an effect:
|
||||
|
||||
10│ Effect.put_line! "Trimming $(msg)"
|
||||
10│ Effect.put_line!("Trimming ${msg}")
|
||||
^^^^^^^^^^^^^^^^
|
||||
|
||||
However, the type of the enclosing function requires that it's pure:
|
||||
|
@ -15736,7 +15736,7 @@ All branches in an `if` must have the same type!
|
|||
(get, put) = (Effect.get_line!, Effect.put_line!)
|
||||
|
||||
name = get {}
|
||||
put "Hi, $(name)"
|
||||
put "Hi, ${name}"
|
||||
"#
|
||||
),
|
||||
@r###"
|
||||
|
@ -15808,7 +15808,7 @@ All branches in an `if` must have the same type!
|
|||
Tag get put = Tag Effect.get_line! Effect.put_line!
|
||||
|
||||
name = get {}
|
||||
put "Hi, $(name)"
|
||||
put "Hi, ${name}"
|
||||
"#
|
||||
),
|
||||
@r###"
|
||||
|
|
|
@ -1574,7 +1574,7 @@ fn module_params_checks() {
|
|||
r#"
|
||||
module { key } -> [url]
|
||||
|
||||
url = "example.com/$(key)"
|
||||
url = "example.com/${key}"
|
||||
"#
|
||||
),
|
||||
),
|
||||
|
@ -1605,7 +1605,7 @@ fn module_params_optional() {
|
|||
r#"
|
||||
module { key, exp ? "default" } -> [url]
|
||||
|
||||
url = "example.com/$(key)?exp=$(exp)"
|
||||
url = "example.com/${key}?exp=${exp}"
|
||||
"#
|
||||
),
|
||||
),
|
||||
|
@ -1636,7 +1636,7 @@ fn module_params_typecheck_fail() {
|
|||
r#"
|
||||
module { key } -> [url]
|
||||
|
||||
url = "example.com/$(key)"
|
||||
url = "example.com/${key}"
|
||||
"#
|
||||
),
|
||||
),
|
||||
|
@ -1687,7 +1687,7 @@ fn module_params_missing_fields() {
|
|||
r#"
|
||||
module { key } -> [url]
|
||||
|
||||
url = "example.com/$(key)"
|
||||
url = "example.com/${key}"
|
||||
"#
|
||||
),
|
||||
),
|
||||
|
@ -1740,7 +1740,7 @@ fn module_params_extra_fields() {
|
|||
r#"
|
||||
module { key } -> [url]
|
||||
|
||||
url = "example.com/$(key)"
|
||||
url = "example.com/${key}"
|
||||
"#
|
||||
),
|
||||
),
|
||||
|
@ -1839,7 +1839,7 @@ fn module_params_missing() {
|
|||
r#"
|
||||
module { key, exp } -> [url]
|
||||
|
||||
url = "example.com/$(key)?exp=$(Num.to_str exp)"
|
||||
url = "example.com/${key}?exp=${Num.to_str(exp)}"
|
||||
"#
|
||||
),
|
||||
),
|
||||
|
@ -2169,7 +2169,7 @@ fn roc_package_depends_on_other_package() {
|
|||
r#"
|
||||
module [say]
|
||||
|
||||
say = \msg -> "$(msg), world!"
|
||||
say = \msg -> "${msg}, world!"
|
||||
"#
|
||||
),
|
||||
),
|
||||
|
|
|
@ -75,7 +75,7 @@ pub enum CalledVia {
|
|||
UnaryOp(UnaryOp),
|
||||
|
||||
/// This call is the result of desugaring string interpolation,
|
||||
/// e.g. "$(first) $(last)" is transformed into Str.concat (Str.concat first " ") last.
|
||||
/// e.g. "${first} ${last}" is transformed into `Str.concat(Str.concat(first, " "))` last.
|
||||
StringInterpolation,
|
||||
|
||||
/// This call is the result of desugaring a map2-based Record Builder field. e.g.
|
||||
|
|
|
@ -1515,6 +1515,7 @@ define_builtins! {
|
|||
92 LIST_WALK_FX: "walk!"
|
||||
93 LIST_SPLIT_ON: "split_on"
|
||||
94 LIST_SPLIT_ON_LIST: "split_on_list"
|
||||
95 LIST_WALK_TRY_FX: "walk_try!"
|
||||
}
|
||||
7 RESULT: "Result" => {
|
||||
0 RESULT_RESULT: "Result" exposed_type=true // the Result.Result type alias
|
||||
|
|
|
@ -242,15 +242,7 @@ fn loc_term<'a>() -> impl Parser<'a, Loc<Expr<'a>>, EExpr<'a>> {
|
|||
let mut e = expr;
|
||||
let orig_region = e.region;
|
||||
for (args_loc, maybe_suffixes) in arg_locs_with_suffixes_vec.iter() {
|
||||
let value = if matches!(
|
||||
e,
|
||||
Loc {
|
||||
value: Expr::Dbg,
|
||||
..
|
||||
}
|
||||
) {
|
||||
Expr::Apply(arena.alloc(e), args_loc.value.items, CalledVia::Space)
|
||||
} else if let Some(suffixes) = maybe_suffixes {
|
||||
let value = if let Some(suffixes) = maybe_suffixes {
|
||||
apply_expr_access_chain(
|
||||
arena,
|
||||
Expr::PncApply(arena.alloc(e), args_loc.value),
|
||||
|
@ -3150,11 +3142,11 @@ fn stmts_to_defs<'a>(
|
|||
_,
|
||||
) = e
|
||||
{
|
||||
let condition = &args[0];
|
||||
if let Some((first, extra_args)) = args.split_first() {
|
||||
let rest = stmts_to_expr(&stmts[i + 1..], arena)?;
|
||||
let e = Expr::DbgStmt {
|
||||
first: condition,
|
||||
extra_args: &args[1..],
|
||||
first,
|
||||
extra_args,
|
||||
continuation: arena.alloc(rest),
|
||||
};
|
||||
|
||||
|
@ -3168,6 +3160,14 @@ fn stmts_to_defs<'a>(
|
|||
|
||||
// don't re-process the rest of the statements; they got consumed by the dbg expr
|
||||
break;
|
||||
} else {
|
||||
defs.push_value_def(
|
||||
ValueDef::Stmt(arena.alloc(Loc::at(sp_stmt.item.region, e))),
|
||||
sp_stmt.item.region,
|
||||
sp_stmt.before,
|
||||
&[],
|
||||
);
|
||||
}
|
||||
} else if let Expr::PncApply(
|
||||
Loc {
|
||||
value: Expr::Dbg, ..
|
||||
|
@ -3175,11 +3175,11 @@ fn stmts_to_defs<'a>(
|
|||
args,
|
||||
) = e
|
||||
{
|
||||
let condition = &args.items[0];
|
||||
if let Some((first, extra_args)) = args.items.split_first() {
|
||||
let rest = stmts_to_expr(&stmts[i + 1..], arena)?;
|
||||
let e = Expr::DbgStmt {
|
||||
first: condition,
|
||||
extra_args: &args.items[1..],
|
||||
first,
|
||||
extra_args,
|
||||
continuation: arena.alloc(rest),
|
||||
};
|
||||
|
||||
|
@ -3201,6 +3201,14 @@ fn stmts_to_defs<'a>(
|
|||
&[],
|
||||
);
|
||||
}
|
||||
} else {
|
||||
defs.push_value_def(
|
||||
ValueDef::Stmt(arena.alloc(Loc::at(sp_stmt.item.region, e))),
|
||||
sp_stmt.item.region,
|
||||
sp_stmt.before,
|
||||
&[],
|
||||
);
|
||||
}
|
||||
} else {
|
||||
let e = if sp_stmt.before.is_empty() {
|
||||
e
|
||||
|
|
|
@ -822,10 +822,11 @@ fn fold_defs<'a>(
|
|||
),
|
||||
..
|
||||
}) => {
|
||||
if let Some((first, extra_args)) = args.split_first() {
|
||||
let rest = fold_defs(arena, defs, final_expr);
|
||||
let new_final = Expr::DbgStmt {
|
||||
first: args[0],
|
||||
extra_args: &args[1..],
|
||||
first,
|
||||
extra_args,
|
||||
continuation: arena.alloc(Loc::at_zero(rest)),
|
||||
};
|
||||
if new_defs.is_empty() {
|
||||
|
@ -835,6 +836,9 @@ fn fold_defs<'a>(
|
|||
arena.alloc(new_defs),
|
||||
arena.alloc(Loc::at_zero(new_final)),
|
||||
);
|
||||
} else {
|
||||
new_defs.push_value_def(vd, Region::zero(), &[], &[]);
|
||||
}
|
||||
}
|
||||
ValueDef::Stmt(&Loc {
|
||||
value:
|
||||
|
@ -846,10 +850,11 @@ fn fold_defs<'a>(
|
|||
),
|
||||
..
|
||||
}) => {
|
||||
if let Some((first, extra_args)) = args.items.split_first() {
|
||||
let rest = fold_defs(arena, defs, final_expr);
|
||||
let new_final = Expr::DbgStmt {
|
||||
first: args.items[0],
|
||||
extra_args: &args.items[1..],
|
||||
first,
|
||||
extra_args,
|
||||
continuation: arena.alloc(Loc::at_zero(rest)),
|
||||
};
|
||||
if new_defs.is_empty() {
|
||||
|
@ -859,6 +864,9 @@ fn fold_defs<'a>(
|
|||
arena.alloc(new_defs),
|
||||
arena.alloc(Loc::at_zero(new_final)),
|
||||
);
|
||||
} else {
|
||||
new_defs.push_value_def(vd, Region::zero(), &[], &[]);
|
||||
}
|
||||
}
|
||||
_ => {
|
||||
new_defs.push_value_def(vd, Region::zero(), &[], &[]);
|
||||
|
|
|
@ -425,16 +425,18 @@ pub fn parse_str_like_literal<'a>() -> impl Parser<'a, StrLikeLiteral<'a>, EStri
|
|||
}
|
||||
}
|
||||
}
|
||||
b'(' if preceded_by_dollar && !is_single_quote => {
|
||||
b'(' | b'{' if preceded_by_dollar && !is_single_quote => {
|
||||
let old_style_interpolation_block = one_byte == b'(';
|
||||
|
||||
// We're about to begin string interpolation!
|
||||
//
|
||||
// End the previous segment so we can begin a new one.
|
||||
// Retroactively end it right before the `$` char we parsed.
|
||||
// (We can't use end_segment! here because it ends it right after
|
||||
// the just-parsed character, which here would be '(' rather than '$')
|
||||
// the just-parsed character, which here would be '{' rather than '$')
|
||||
// Don't push anything if the string would be empty.
|
||||
if segment_parsed_bytes > 2 {
|
||||
// exclude the 2 chars we just parsed, namely '$' and '('
|
||||
// exclude the 2 chars we just parsed, namely '$' and '{'
|
||||
let string_bytes = &state.bytes()[0..(segment_parsed_bytes - 2)];
|
||||
|
||||
match std::str::from_utf8(string_bytes) {
|
||||
|
@ -452,19 +454,27 @@ pub fn parse_str_like_literal<'a>() -> impl Parser<'a, StrLikeLiteral<'a>, EStri
|
|||
}
|
||||
}
|
||||
|
||||
// Advance past the `$(`
|
||||
// Advance past the `${`
|
||||
state.advance_mut(2);
|
||||
|
||||
let original_byte_count = state.bytes().len();
|
||||
|
||||
// Parse an arbitrary expression, followed by ')'
|
||||
// Parse an arbitrary expression, followed by '}' or ')'
|
||||
let terminating_char = if old_style_interpolation_block {
|
||||
b')'
|
||||
} else {
|
||||
b'}'
|
||||
};
|
||||
let (_progress, (mut loc_expr, sp), new_state) = and(
|
||||
specialize_err_ref(
|
||||
EString::Format,
|
||||
loc(allocated(reset_min_indent(expr::expr_help())))
|
||||
.trace("str_interpolation"),
|
||||
),
|
||||
skip_second(space0_e(EString::FormatEnd), byte(b')', EString::FormatEnd)),
|
||||
skip_second(
|
||||
space0_e(EString::FormatEnd),
|
||||
byte(terminating_char, EString::FormatEnd),
|
||||
),
|
||||
)
|
||||
.parse(arena, state, min_indent)?;
|
||||
|
||||
|
@ -488,8 +498,8 @@ pub fn parse_str_like_literal<'a>() -> impl Parser<'a, StrLikeLiteral<'a>, EStri
|
|||
}
|
||||
}
|
||||
|
||||
// iff the '$' is followed by '(', this is string interpolation.
|
||||
// We'll check for the '(' on the next iteration of the loop.
|
||||
// iff the '$' is followed by '{', this is string interpolation.
|
||||
// We'll check for the '{' on the next iteration of the loop.
|
||||
preceded_by_dollar = one_byte == b'$';
|
||||
}
|
||||
|
||||
|
|
|
@ -160,17 +160,17 @@ mod test_parse {
|
|||
|
||||
#[test]
|
||||
fn escaped_interpolation() {
|
||||
assert_segments(r#""Hi, \$(name)!""#, |arena| {
|
||||
assert_segments(r#""Hi, \${name}!""#, |arena| {
|
||||
bumpalo::vec![in arena;
|
||||
Plaintext("Hi, "),
|
||||
EscapedChar(EscapedChar::Dollar),
|
||||
Plaintext("(name)!"),
|
||||
Plaintext("{name}!"),
|
||||
]
|
||||
});
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn string_with_interpolation_in_middle() {
|
||||
fn string_with_old_interpolation_still_works_for_now() {
|
||||
assert_segments(r#""Hi, $(name)!""#, |arena| {
|
||||
let expr = arena.alloc(Var {
|
||||
module_name: "",
|
||||
|
@ -185,9 +185,31 @@ mod test_parse {
|
|||
});
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn string_with_mixed_new_and_old_interpolation_braces_fails() {
|
||||
assert_parsing_fails(r#""${foo)""#, SyntaxError::Unexpected(Region::zero()));
|
||||
assert_parsing_fails(r#""$(foo}""#, SyntaxError::Unexpected(Region::zero()));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn string_with_interpolation_in_middle() {
|
||||
assert_segments(r#""Hi, ${name}!""#, |arena| {
|
||||
let expr = arena.alloc(Var {
|
||||
module_name: "",
|
||||
ident: "name",
|
||||
});
|
||||
|
||||
bumpalo::vec![in arena;
|
||||
Plaintext("Hi, "),
|
||||
Interpolated(Loc::new(7, 11, expr)),
|
||||
Plaintext("!")
|
||||
]
|
||||
});
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn string_with_interpolation_in_front() {
|
||||
assert_segments(r#""$(name), hi!""#, |arena| {
|
||||
assert_segments(r#""${name}, hi!""#, |arena| {
|
||||
let expr = arena.alloc(Var {
|
||||
module_name: "",
|
||||
ident: "name",
|
||||
|
@ -232,7 +254,7 @@ mod test_parse {
|
|||
|
||||
#[test]
|
||||
fn string_with_interpolation_in_back() {
|
||||
assert_segments(r#""Hello $(name)""#, |arena| {
|
||||
assert_segments(r#""Hello ${name}""#, |arena| {
|
||||
let expr = arena.alloc(Var {
|
||||
module_name: "",
|
||||
ident: "name",
|
||||
|
@ -247,7 +269,7 @@ mod test_parse {
|
|||
|
||||
#[test]
|
||||
fn string_with_multiple_interpolations() {
|
||||
assert_segments(r#""Hi, $(name)! How is $(project) going?""#, |arena| {
|
||||
assert_segments(r#""Hi, ${name}! How is ${project} going?""#, |arena| {
|
||||
let expr1 = arena.alloc(Var {
|
||||
module_name: "",
|
||||
ident: "name",
|
||||
|
@ -271,7 +293,7 @@ mod test_parse {
|
|||
#[test]
|
||||
fn string_with_non_interpolation_dollar_signs() {
|
||||
assert_segments(
|
||||
r#""$a Hi, $(name)! $b How is $(project) going? $c""#,
|
||||
r#""$a Hi, ${name}! $b How is ${project} going? $c""#,
|
||||
|arena| {
|
||||
let expr1 = arena.alloc(Var {
|
||||
module_name: "",
|
||||
|
|
|
@ -324,7 +324,7 @@ mod solve_expr {
|
|||
r#"
|
||||
what_it_is = "great"
|
||||
|
||||
"type inference is $(what_it_is)!"
|
||||
"type inference is ${what_it_is}!"
|
||||
"#
|
||||
),
|
||||
"Str",
|
||||
|
@ -338,7 +338,7 @@ mod solve_expr {
|
|||
r#"
|
||||
what_it_is = "great"
|
||||
|
||||
str = "type inference is $(what_it_is)!"
|
||||
str = "type inference is ${what_it_is}!"
|
||||
|
||||
what_it_is
|
||||
"#
|
||||
|
@ -354,7 +354,7 @@ mod solve_expr {
|
|||
r#"
|
||||
rec = { what_it_is: "great" }
|
||||
|
||||
str = "type inference is $(rec.what_it_is)!"
|
||||
str = "type inference is ${rec.what_it_is}!"
|
||||
|
||||
rec
|
||||
"#
|
||||
|
@ -4751,7 +4751,7 @@ mod solve_expr {
|
|||
r#"
|
||||
set_roc_email : _ -> { name: Str, email: Str }_
|
||||
set_roc_email = \person ->
|
||||
{ person & email: "$(person.name)@roclang.com" }
|
||||
{ person & email: "${person.name}@roclang.com" }
|
||||
set_roc_email
|
||||
"#
|
||||
),
|
||||
|
|
|
@ -330,7 +330,7 @@ fn list_map_try_ok() {
|
|||
List.map_try [1, 2, 3] \num ->
|
||||
str = Num.to_str (num * 2)
|
||||
|
||||
Ok "$(str)!"
|
||||
Ok "${str}!"
|
||||
"#,
|
||||
// Result Str [] is unwrapped to just Str
|
||||
RocList::<RocStr>::from_slice(&[
|
||||
|
@ -3870,10 +3870,10 @@ fn issue_3571_lowlevel_call_function_with_bool_lambda_set() {
|
|||
List.concat state mapped_vals
|
||||
|
||||
add2 : Str -> Str
|
||||
add2 = \x -> "added $(x)"
|
||||
add2 = \x -> "added ${x}"
|
||||
|
||||
mul2 : Str -> Str
|
||||
mul2 = \x -> "multiplied $(x)"
|
||||
mul2 = \x -> "multiplied ${x}"
|
||||
|
||||
foo = [add2, mul2]
|
||||
bar = ["1", "2", "3", "4"]
|
||||
|
|
|
@ -3120,7 +3120,7 @@ fn recursively_build_effect() {
|
|||
hi = "Hello"
|
||||
name = "World"
|
||||
|
||||
"$(hi), $(name)!"
|
||||
"${hi}, ${name}!"
|
||||
|
||||
main =
|
||||
when nest_help 4 is
|
||||
|
@ -3876,8 +3876,8 @@ fn compose_recursive_lambda_set_productive_toplevel() {
|
|||
compose = \f, g -> \x -> g (f x)
|
||||
|
||||
identity = \x -> x
|
||||
exclaim = \s -> "$(s)!"
|
||||
whisper = \s -> "($(s))"
|
||||
exclaim = \s -> "${s}!"
|
||||
whisper = \s -> "(${s})"
|
||||
|
||||
main =
|
||||
res: Str -> Str
|
||||
|
@ -3899,8 +3899,8 @@ fn compose_recursive_lambda_set_productive_nested() {
|
|||
compose = \f, g -> \x -> g (f x)
|
||||
|
||||
identity = \x -> x
|
||||
exclaim = \s -> "$(s)!"
|
||||
whisper = \s -> "($(s))"
|
||||
exclaim = \s -> "${s}!"
|
||||
whisper = \s -> "(${s})"
|
||||
|
||||
res: Str -> Str
|
||||
res = List.walk [ exclaim, whisper ] identity compose
|
||||
|
@ -3921,8 +3921,8 @@ fn compose_recursive_lambda_set_productive_inferred() {
|
|||
compose = \f, g -> \x -> g (f x)
|
||||
|
||||
identity = \x -> x
|
||||
exclaim = \s -> "$(s)!"
|
||||
whisper = \s -> "($(s))"
|
||||
exclaim = \s -> "${s}!"
|
||||
whisper = \s -> "(${s})"
|
||||
|
||||
res = List.walk [ exclaim, whisper ] identity compose
|
||||
res "hello"
|
||||
|
@ -3947,8 +3947,8 @@ fn compose_recursive_lambda_set_productive_nullable_wrapped() {
|
|||
else \x -> f (g x)
|
||||
|
||||
identity = \x -> x
|
||||
exclame = \s -> "$(s)!"
|
||||
whisper = \s -> "($(s))"
|
||||
exclame = \s -> "${s}!"
|
||||
whisper = \s -> "(${s})"
|
||||
|
||||
main =
|
||||
res: Str -> Str
|
||||
|
@ -4475,7 +4475,7 @@ fn reset_recursive_type_wraps_in_named_type() {
|
|||
Cons x xs ->
|
||||
str_x = f x
|
||||
str_xs = print_linked_list xs f
|
||||
"Cons $(str_x) ($(str_xs))"
|
||||
"Cons ${str_x} (${str_xs})"
|
||||
"#
|
||||
),
|
||||
RocStr::from("Cons 2 (Cons 3 (Cons 4 (Nil)))"),
|
||||
|
|
|
@ -37,7 +37,7 @@ fn early_return_nested_ifs() {
|
|||
else
|
||||
third
|
||||
|
||||
"$(first), $(second)"
|
||||
"${first}, ${second}"
|
||||
|
||||
main : List Str
|
||||
main = List.map [1, 2, 3] display_n
|
||||
|
@ -76,7 +76,7 @@ fn early_return_nested_whens() {
|
|||
_ ->
|
||||
third
|
||||
|
||||
"$(first), $(second)"
|
||||
"${first}, ${second}"
|
||||
|
||||
main : List Str
|
||||
main = List.map [1, 2, 3] display_n
|
||||
|
|
|
@ -2,81 +2,81 @@ procedure Bool.11 (#Attr.2, #Attr.3):
|
|||
let Bool.23 : Int1 = lowlevel Eq #Attr.2 #Attr.3;
|
||||
ret Bool.23;
|
||||
|
||||
procedure List.115 (List.562, List.563, List.564):
|
||||
let List.683 : U64 = 0i64;
|
||||
let List.684 : U64 = CallByName List.6 List.562;
|
||||
let List.682 : [C U64, C U64] = CallByName List.80 List.562 List.563 List.564 List.683 List.684;
|
||||
ret List.682;
|
||||
procedure List.116 (List.563, List.564, List.565):
|
||||
let List.693 : U64 = 0i64;
|
||||
let List.694 : U64 = CallByName List.6 List.563;
|
||||
let List.692 : [C U64, C U64] = CallByName List.80 List.563 List.564 List.565 List.693 List.694;
|
||||
ret List.692;
|
||||
|
||||
procedure List.26 (List.212, List.213, List.214):
|
||||
let List.676 : [C U64, C U64] = CallByName List.115 List.212 List.213 List.214;
|
||||
let List.679 : U8 = 1i64;
|
||||
let List.680 : U8 = GetTagId List.676;
|
||||
let List.681 : Int1 = lowlevel Eq List.679 List.680;
|
||||
if List.681 then
|
||||
let List.215 : U64 = UnionAtIndex (Id 1) (Index 0) List.676;
|
||||
ret List.215;
|
||||
else
|
||||
let List.216 : U64 = UnionAtIndex (Id 0) (Index 0) List.676;
|
||||
procedure List.26 (List.213, List.214, List.215):
|
||||
let List.686 : [C U64, C U64] = CallByName List.116 List.213 List.214 List.215;
|
||||
let List.689 : U8 = 1i64;
|
||||
let List.690 : U8 = GetTagId List.686;
|
||||
let List.691 : Int1 = lowlevel Eq List.689 List.690;
|
||||
if List.691 then
|
||||
let List.216 : U64 = UnionAtIndex (Id 1) (Index 0) List.686;
|
||||
ret List.216;
|
||||
else
|
||||
let List.217 : U64 = UnionAtIndex (Id 0) (Index 0) List.686;
|
||||
ret List.217;
|
||||
|
||||
procedure List.38 (List.400, List.401):
|
||||
let List.675 : U64 = CallByName List.6 List.400;
|
||||
let List.402 : U64 = CallByName Num.77 List.675 List.401;
|
||||
let List.665 : List U8 = CallByName List.43 List.400 List.402;
|
||||
ret List.665;
|
||||
procedure List.38 (List.401, List.402):
|
||||
let List.685 : U64 = CallByName List.6 List.401;
|
||||
let List.403 : U64 = CallByName Num.77 List.685 List.402;
|
||||
let List.675 : List U8 = CallByName List.43 List.401 List.403;
|
||||
ret List.675;
|
||||
|
||||
procedure List.43 (List.398, List.399):
|
||||
let List.673 : U64 = CallByName List.6 List.398;
|
||||
let List.672 : U64 = CallByName Num.77 List.673 List.399;
|
||||
let List.667 : {U64, U64} = Struct {List.399, List.672};
|
||||
let List.666 : List U8 = CallByName List.49 List.398 List.667;
|
||||
ret List.666;
|
||||
procedure List.43 (List.399, List.400):
|
||||
let List.683 : U64 = CallByName List.6 List.399;
|
||||
let List.682 : U64 = CallByName Num.77 List.683 List.400;
|
||||
let List.677 : {U64, U64} = Struct {List.400, List.682};
|
||||
let List.676 : List U8 = CallByName List.49 List.399 List.677;
|
||||
ret List.676;
|
||||
|
||||
procedure List.49 (List.476, List.477):
|
||||
let List.669 : U64 = StructAtIndex 1 List.477;
|
||||
let List.670 : U64 = StructAtIndex 0 List.477;
|
||||
let List.668 : List U8 = CallByName List.72 List.476 List.669 List.670;
|
||||
ret List.668;
|
||||
procedure List.49 (List.477, List.478):
|
||||
let List.679 : U64 = StructAtIndex 1 List.478;
|
||||
let List.680 : U64 = StructAtIndex 0 List.478;
|
||||
let List.678 : List U8 = CallByName List.72 List.477 List.679 List.680;
|
||||
ret List.678;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.674 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.674;
|
||||
let List.684 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.684;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.697 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.697;
|
||||
let List.707 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.707;
|
||||
|
||||
procedure List.72 (#Attr.2, #Attr.3, #Attr.4):
|
||||
let List.671 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.671;
|
||||
let List.681 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.681;
|
||||
|
||||
procedure List.80 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.4):
|
||||
joinpoint List.685 List.565 List.566 List.567 List.568 List.569:
|
||||
let List.687 : Int1 = CallByName Num.22 List.568 List.569;
|
||||
if List.687 then
|
||||
let List.696 : U8 = CallByName List.66 List.565 List.568;
|
||||
let List.688 : [C U64, C U64] = CallByName Test.4 List.566 List.696;
|
||||
let List.693 : U8 = 1i64;
|
||||
let List.694 : U8 = GetTagId List.688;
|
||||
let List.695 : Int1 = lowlevel Eq List.693 List.694;
|
||||
if List.695 then
|
||||
let List.570 : U64 = UnionAtIndex (Id 1) (Index 0) List.688;
|
||||
let List.691 : U64 = 1i64;
|
||||
let List.690 : U64 = CallByName Num.51 List.568 List.691;
|
||||
jump List.685 List.565 List.570 List.567 List.690 List.569;
|
||||
joinpoint List.695 List.566 List.567 List.568 List.569 List.570:
|
||||
let List.697 : Int1 = CallByName Num.22 List.569 List.570;
|
||||
if List.697 then
|
||||
let List.706 : U8 = CallByName List.66 List.566 List.569;
|
||||
let List.698 : [C U64, C U64] = CallByName Test.4 List.567 List.706;
|
||||
let List.703 : U8 = 1i64;
|
||||
let List.704 : U8 = GetTagId List.698;
|
||||
let List.705 : Int1 = lowlevel Eq List.703 List.704;
|
||||
if List.705 then
|
||||
let List.571 : U64 = UnionAtIndex (Id 1) (Index 0) List.698;
|
||||
let List.701 : U64 = 1i64;
|
||||
let List.700 : U64 = CallByName Num.51 List.569 List.701;
|
||||
jump List.695 List.566 List.571 List.568 List.700 List.570;
|
||||
else
|
||||
dec List.565;
|
||||
let List.571 : U64 = UnionAtIndex (Id 0) (Index 0) List.688;
|
||||
let List.692 : [C U64, C U64] = TagId(0) List.571;
|
||||
ret List.692;
|
||||
dec List.566;
|
||||
let List.572 : U64 = UnionAtIndex (Id 0) (Index 0) List.698;
|
||||
let List.702 : [C U64, C U64] = TagId(0) List.572;
|
||||
ret List.702;
|
||||
else
|
||||
dec List.565;
|
||||
let List.686 : [C U64, C U64] = TagId(1) List.566;
|
||||
ret List.686;
|
||||
dec List.566;
|
||||
let List.696 : [C U64, C U64] = TagId(1) List.567;
|
||||
ret List.696;
|
||||
in
|
||||
inc #Derived_gen.0;
|
||||
jump List.685 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
|
||||
jump List.695 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.286 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
|
@ -1,51 +1,51 @@
|
|||
procedure List.100 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.4):
|
||||
joinpoint List.671 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.673 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.673 then
|
||||
let List.677 : [] = CallByName List.66 List.174 List.177;
|
||||
let List.179 : List {} = CallByName List.283 List.175 List.677 List.176;
|
||||
let List.676 : U64 = 1i64;
|
||||
let List.675 : U64 = CallByName Num.51 List.177 List.676;
|
||||
jump List.671 List.174 List.179 List.176 List.675 List.178;
|
||||
procedure List.101 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.4):
|
||||
joinpoint List.681 List.175 List.176 List.177 List.178 List.179:
|
||||
let List.683 : Int1 = CallByName Num.22 List.178 List.179;
|
||||
if List.683 then
|
||||
let List.687 : [] = CallByName List.66 List.175 List.178;
|
||||
let List.180 : List {} = CallByName List.284 List.176 List.687 List.177;
|
||||
let List.686 : U64 = 1i64;
|
||||
let List.685 : U64 = CallByName Num.51 List.178 List.686;
|
||||
jump List.681 List.175 List.180 List.177 List.685 List.179;
|
||||
else
|
||||
dec List.174;
|
||||
ret List.175;
|
||||
dec List.175;
|
||||
ret List.176;
|
||||
in
|
||||
inc #Derived_gen.0;
|
||||
jump List.671 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
|
||||
jump List.681 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
|
||||
|
||||
procedure List.18 (List.171, List.172, List.173):
|
||||
let List.669 : U64 = 0i64;
|
||||
let List.670 : U64 = CallByName List.6 List.171;
|
||||
let List.668 : List {} = CallByName List.100 List.171 List.172 List.173 List.669 List.670;
|
||||
ret List.668;
|
||||
|
||||
procedure List.283 (List.284, List.285, List.281):
|
||||
let List.682 : {} = CallByName Test.2 List.285;
|
||||
let List.681 : List {} = CallByName List.71 List.284 List.682;
|
||||
ret List.681;
|
||||
|
||||
procedure List.5 (List.280, List.281):
|
||||
let List.282 : U64 = CallByName List.6 List.280;
|
||||
let List.666 : List {} = CallByName List.68 List.282;
|
||||
let List.665 : List {} = CallByName List.18 List.280 List.666 List.281;
|
||||
ret List.665;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.679 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.679;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.678 : [] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
procedure List.18 (List.172, List.173, List.174):
|
||||
let List.679 : U64 = 0i64;
|
||||
let List.680 : U64 = CallByName List.6 List.172;
|
||||
let List.678 : List {} = CallByName List.101 List.172 List.173 List.174 List.679 List.680;
|
||||
ret List.678;
|
||||
|
||||
procedure List.284 (List.285, List.286, List.282):
|
||||
let List.692 : {} = CallByName Test.2 List.286;
|
||||
let List.691 : List {} = CallByName List.71 List.285 List.692;
|
||||
ret List.691;
|
||||
|
||||
procedure List.5 (List.281, List.282):
|
||||
let List.283 : U64 = CallByName List.6 List.281;
|
||||
let List.676 : List {} = CallByName List.68 List.283;
|
||||
let List.675 : List {} = CallByName List.18 List.281 List.676 List.282;
|
||||
ret List.675;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.689 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.689;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.688 : [] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.688;
|
||||
|
||||
procedure List.68 (#Attr.2):
|
||||
let List.684 : List {} = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.684;
|
||||
let List.694 : List {} = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.694;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.683 : List {} = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.683;
|
||||
let List.693 : List {} = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.693;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.284 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
|
@ -1,51 +1,51 @@
|
|||
procedure List.100 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.4):
|
||||
joinpoint List.671 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.673 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.673 then
|
||||
let List.677 : [] = CallByName List.66 List.174 List.177;
|
||||
let List.179 : List [] = CallByName List.283 List.175 List.677 List.176;
|
||||
let List.676 : U64 = 1i64;
|
||||
let List.675 : U64 = CallByName Num.51 List.177 List.676;
|
||||
jump List.671 List.174 List.179 List.176 List.675 List.178;
|
||||
procedure List.101 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.4):
|
||||
joinpoint List.681 List.175 List.176 List.177 List.178 List.179:
|
||||
let List.683 : Int1 = CallByName Num.22 List.178 List.179;
|
||||
if List.683 then
|
||||
let List.687 : [] = CallByName List.66 List.175 List.178;
|
||||
let List.180 : List [] = CallByName List.284 List.176 List.687 List.177;
|
||||
let List.686 : U64 = 1i64;
|
||||
let List.685 : U64 = CallByName Num.51 List.178 List.686;
|
||||
jump List.681 List.175 List.180 List.177 List.685 List.179;
|
||||
else
|
||||
dec List.174;
|
||||
ret List.175;
|
||||
dec List.175;
|
||||
ret List.176;
|
||||
in
|
||||
inc #Derived_gen.0;
|
||||
jump List.671 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
|
||||
jump List.681 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
|
||||
|
||||
procedure List.18 (List.171, List.172, List.173):
|
||||
let List.669 : U64 = 0i64;
|
||||
let List.670 : U64 = CallByName List.6 List.171;
|
||||
let List.668 : List [] = CallByName List.100 List.171 List.172 List.173 List.669 List.670;
|
||||
ret List.668;
|
||||
|
||||
procedure List.283 (List.284, List.285, List.281):
|
||||
let List.682 : [] = CallByName Test.2 List.285;
|
||||
let List.681 : List [] = CallByName List.71 List.284 List.682;
|
||||
ret List.681;
|
||||
|
||||
procedure List.5 (List.280, List.281):
|
||||
let List.282 : U64 = CallByName List.6 List.280;
|
||||
let List.666 : List [] = CallByName List.68 List.282;
|
||||
let List.665 : List [] = CallByName List.18 List.280 List.666 List.281;
|
||||
ret List.665;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.679 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.679;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.678 : [] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
procedure List.18 (List.172, List.173, List.174):
|
||||
let List.679 : U64 = 0i64;
|
||||
let List.680 : U64 = CallByName List.6 List.172;
|
||||
let List.678 : List [] = CallByName List.101 List.172 List.173 List.174 List.679 List.680;
|
||||
ret List.678;
|
||||
|
||||
procedure List.284 (List.285, List.286, List.282):
|
||||
let List.692 : [] = CallByName Test.2 List.286;
|
||||
let List.691 : List [] = CallByName List.71 List.285 List.692;
|
||||
ret List.691;
|
||||
|
||||
procedure List.5 (List.281, List.282):
|
||||
let List.283 : U64 = CallByName List.6 List.281;
|
||||
let List.676 : List [] = CallByName List.68 List.283;
|
||||
let List.675 : List [] = CallByName List.18 List.281 List.676 List.282;
|
||||
ret List.675;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.689 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.689;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.688 : [] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.688;
|
||||
|
||||
procedure List.68 (#Attr.2):
|
||||
let List.684 : List [] = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.684;
|
||||
let List.694 : List [] = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.694;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.683 : List [] = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.683;
|
||||
let List.693 : List [] = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.693;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.284 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
|
@ -1,32 +1,32 @@
|
|||
procedure List.100 (#Derived_gen.11, #Derived_gen.12, #Derived_gen.13, #Derived_gen.14, #Derived_gen.15):
|
||||
joinpoint List.668 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.670 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.670 then
|
||||
let List.674 : [] = CallByName List.66 List.174 List.177;
|
||||
let List.179 : [<r>C {}, C *self {{}, []}] = CallByName Test.29 List.175 List.674 List.176;
|
||||
let List.673 : U64 = 1i64;
|
||||
let List.672 : U64 = CallByName Num.51 List.177 List.673;
|
||||
jump List.668 List.174 List.179 List.176 List.672 List.178;
|
||||
procedure List.101 (#Derived_gen.8, #Derived_gen.9, #Derived_gen.10, #Derived_gen.11, #Derived_gen.12):
|
||||
joinpoint List.678 List.175 List.176 List.177 List.178 List.179:
|
||||
let List.680 : Int1 = CallByName Num.22 List.178 List.179;
|
||||
if List.680 then
|
||||
let List.684 : [] = CallByName List.66 List.175 List.178;
|
||||
let List.180 : [<r>C {}, C *self {{}, []}] = CallByName Test.29 List.176 List.684 List.177;
|
||||
let List.683 : U64 = 1i64;
|
||||
let List.682 : U64 = CallByName Num.51 List.178 List.683;
|
||||
jump List.678 List.175 List.180 List.177 List.682 List.179;
|
||||
else
|
||||
dec List.174;
|
||||
ret List.175;
|
||||
dec List.175;
|
||||
ret List.176;
|
||||
in
|
||||
inc #Derived_gen.11;
|
||||
jump List.668 #Derived_gen.11 #Derived_gen.12 #Derived_gen.13 #Derived_gen.14 #Derived_gen.15;
|
||||
inc #Derived_gen.8;
|
||||
jump List.678 #Derived_gen.8 #Derived_gen.9 #Derived_gen.10 #Derived_gen.11 #Derived_gen.12;
|
||||
|
||||
procedure List.18 (List.171, List.172, List.173):
|
||||
let List.666 : U64 = 0i64;
|
||||
let List.667 : U64 = CallByName List.6 List.171;
|
||||
let List.665 : [<r>C {}, C *self {{}, []}] = CallByName List.100 List.171 List.172 List.173 List.666 List.667;
|
||||
ret List.665;
|
||||
procedure List.18 (List.172, List.173, List.174):
|
||||
let List.676 : U64 = 0i64;
|
||||
let List.677 : U64 = CallByName List.6 List.172;
|
||||
let List.675 : [<r>C {}, C *self {{}, []}] = CallByName List.101 List.172 List.173 List.174 List.676 List.677;
|
||||
ret List.675;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.676 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.676;
|
||||
let List.686 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.686;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.675 : [] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.675;
|
||||
let List.685 : [] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.685;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.284 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
procedure List.6 (#Attr.2):
|
||||
let List.665 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.665;
|
||||
let List.675 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.675;
|
||||
|
||||
procedure Test.1 (Test.5):
|
||||
let Test.2 : I64 = 41i64;
|
||||
|
|
|
@ -2,35 +2,35 @@ procedure Bool.2 ():
|
|||
let Bool.23 : Int1 = true;
|
||||
ret Bool.23;
|
||||
|
||||
procedure List.100 (#Derived_gen.3, #Derived_gen.4, #Derived_gen.5, #Derived_gen.6, #Derived_gen.7):
|
||||
joinpoint List.668 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.670 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.670 then
|
||||
let List.674 : Int1 = CallByName List.66 List.174 List.177;
|
||||
let List.179 : [<rnw><null>, C *self Int1, C *self Int1] = CallByName Test.6 List.175 List.674 List.176;
|
||||
let List.673 : U64 = 1i64;
|
||||
let List.672 : U64 = CallByName Num.51 List.177 List.673;
|
||||
jump List.668 List.174 List.179 List.176 List.672 List.178;
|
||||
procedure List.101 (#Derived_gen.5, #Derived_gen.6, #Derived_gen.7, #Derived_gen.8, #Derived_gen.9):
|
||||
joinpoint List.678 List.175 List.176 List.177 List.178 List.179:
|
||||
let List.680 : Int1 = CallByName Num.22 List.178 List.179;
|
||||
if List.680 then
|
||||
let List.684 : Int1 = CallByName List.66 List.175 List.178;
|
||||
let List.180 : [<rnw><null>, C *self Int1, C *self Int1] = CallByName Test.6 List.176 List.684 List.177;
|
||||
let List.683 : U64 = 1i64;
|
||||
let List.682 : U64 = CallByName Num.51 List.178 List.683;
|
||||
jump List.678 List.175 List.180 List.177 List.682 List.179;
|
||||
else
|
||||
dec List.174;
|
||||
ret List.175;
|
||||
dec List.175;
|
||||
ret List.176;
|
||||
in
|
||||
inc #Derived_gen.3;
|
||||
jump List.668 #Derived_gen.3 #Derived_gen.4 #Derived_gen.5 #Derived_gen.6 #Derived_gen.7;
|
||||
inc #Derived_gen.5;
|
||||
jump List.678 #Derived_gen.5 #Derived_gen.6 #Derived_gen.7 #Derived_gen.8 #Derived_gen.9;
|
||||
|
||||
procedure List.18 (List.171, List.172, List.173):
|
||||
let List.666 : U64 = 0i64;
|
||||
let List.667 : U64 = CallByName List.6 List.171;
|
||||
let List.665 : [<rnw><null>, C *self Int1, C *self Int1] = CallByName List.100 List.171 List.172 List.173 List.666 List.667;
|
||||
ret List.665;
|
||||
procedure List.18 (List.172, List.173, List.174):
|
||||
let List.676 : U64 = 0i64;
|
||||
let List.677 : U64 = CallByName List.6 List.172;
|
||||
let List.675 : [<rnw><null>, C *self Int1, C *self Int1] = CallByName List.101 List.172 List.173 List.174 List.676 List.677;
|
||||
ret List.675;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.676 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.676;
|
||||
let List.686 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.686;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.675 : Int1 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.675;
|
||||
let List.685 : Int1 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.685;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.284 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
4
crates/compiler/test_mono/generated/dict.txt
generated
4
crates/compiler/test_mono/generated/dict.txt
generated
|
@ -26,8 +26,8 @@ procedure Dict.52 ():
|
|||
ret Dict.744;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.665 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.665;
|
||||
let List.675 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.675;
|
||||
|
||||
procedure Num.75 (#Attr.2, #Attr.3):
|
||||
let Num.283 : U8 = lowlevel NumSubWrap #Attr.2 #Attr.3;
|
||||
|
|
|
@ -2,25 +2,25 @@ procedure Bool.1 ():
|
|||
let Bool.23 : Int1 = false;
|
||||
ret Bool.23;
|
||||
|
||||
procedure List.2 (List.119, List.120):
|
||||
let List.671 : U64 = CallByName List.6 List.119;
|
||||
let List.667 : Int1 = CallByName Num.22 List.120 List.671;
|
||||
if List.667 then
|
||||
let List.669 : {} = CallByName List.66 List.119 List.120;
|
||||
let List.668 : [C {}, C {}] = TagId(1) List.669;
|
||||
ret List.668;
|
||||
procedure List.2 (List.120, List.121):
|
||||
let List.681 : U64 = CallByName List.6 List.120;
|
||||
let List.677 : Int1 = CallByName Num.22 List.121 List.681;
|
||||
if List.677 then
|
||||
let List.679 : {} = CallByName List.66 List.120 List.121;
|
||||
let List.678 : [C {}, C {}] = TagId(1) List.679;
|
||||
ret List.678;
|
||||
else
|
||||
let List.666 : {} = Struct {};
|
||||
let List.665 : [C {}, C {}] = TagId(0) List.666;
|
||||
ret List.665;
|
||||
let List.676 : {} = Struct {};
|
||||
let List.675 : [C {}, C {}] = TagId(0) List.676;
|
||||
ret List.675;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.672 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.672;
|
||||
let List.682 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.682;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.670 : {} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.670;
|
||||
let List.680 : {} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.680;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.283 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
18
crates/compiler/test_mono/generated/encode.txt
generated
18
crates/compiler/test_mono/generated/encode.txt
generated
|
@ -1,16 +1,16 @@
|
|||
procedure List.4 (List.135, List.136):
|
||||
let List.668 : U64 = 1i64;
|
||||
let List.666 : List U8 = CallByName List.70 List.135 List.668;
|
||||
let List.665 : List U8 = CallByName List.71 List.666 List.136;
|
||||
ret List.665;
|
||||
procedure List.4 (List.136, List.137):
|
||||
let List.678 : U64 = 1i64;
|
||||
let List.676 : List U8 = CallByName List.70 List.136 List.678;
|
||||
let List.675 : List U8 = CallByName List.71 List.676 List.137;
|
||||
ret List.675;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.669 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.669;
|
||||
let List.679 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.679;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.667 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.667;
|
||||
let List.677 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.677;
|
||||
|
||||
procedure Test.23 (Test.24, Test.35, Test.22):
|
||||
let Test.37 : List U8 = CallByName List.4 Test.24 Test.22;
|
||||
|
|
|
@ -67,85 +67,85 @@ procedure Encode.26 (Encode.107, Encode.108):
|
|||
let Encode.110 : List U8 = CallByName Encode.24 Encode.111 Encode.112 Encode.108;
|
||||
ret Encode.110;
|
||||
|
||||
procedure List.100 (#Derived_gen.26, #Derived_gen.27, #Derived_gen.28, #Derived_gen.29, #Derived_gen.30):
|
||||
joinpoint List.694 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.696 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.696 then
|
||||
let List.700 : {Str, Str} = CallByName List.66 List.174 List.177;
|
||||
inc List.700;
|
||||
let List.179 : List U8 = CallByName Test.71 List.175 List.700;
|
||||
let List.699 : U64 = 1i64;
|
||||
let List.698 : U64 = CallByName Num.51 List.177 List.699;
|
||||
jump List.694 List.174 List.179 List.176 List.698 List.178;
|
||||
procedure List.101 (#Derived_gen.26, #Derived_gen.27, #Derived_gen.28, #Derived_gen.29, #Derived_gen.30):
|
||||
joinpoint List.678 List.175 List.176 List.177 List.178 List.179:
|
||||
let List.680 : Int1 = CallByName Num.22 List.178 List.179;
|
||||
if List.680 then
|
||||
let List.684 : {Str, Str} = CallByName List.66 List.175 List.178;
|
||||
inc List.684;
|
||||
let List.180 : List U8 = CallByName Test.71 List.176 List.684;
|
||||
let List.683 : U64 = 1i64;
|
||||
let List.682 : U64 = CallByName Num.51 List.178 List.683;
|
||||
jump List.678 List.175 List.180 List.177 List.682 List.179;
|
||||
else
|
||||
dec List.174;
|
||||
ret List.175;
|
||||
dec List.175;
|
||||
ret List.176;
|
||||
in
|
||||
inc #Derived_gen.26;
|
||||
jump List.694 #Derived_gen.26 #Derived_gen.27 #Derived_gen.28 #Derived_gen.29 #Derived_gen.30;
|
||||
jump List.678 #Derived_gen.26 #Derived_gen.27 #Derived_gen.28 #Derived_gen.29 #Derived_gen.30;
|
||||
|
||||
procedure List.100 (#Derived_gen.34, #Derived_gen.35, #Derived_gen.36, #Derived_gen.37, #Derived_gen.38):
|
||||
joinpoint List.668 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.670 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.670 then
|
||||
let List.674 : {Str, Str} = CallByName List.66 List.174 List.177;
|
||||
inc List.674;
|
||||
let List.179 : List U8 = CallByName Test.71 List.175 List.674;
|
||||
let List.673 : U64 = 1i64;
|
||||
let List.672 : U64 = CallByName Num.51 List.177 List.673;
|
||||
jump List.668 List.174 List.179 List.176 List.672 List.178;
|
||||
procedure List.101 (#Derived_gen.31, #Derived_gen.32, #Derived_gen.33, #Derived_gen.34, #Derived_gen.35):
|
||||
joinpoint List.704 List.175 List.176 List.177 List.178 List.179:
|
||||
let List.706 : Int1 = CallByName Num.22 List.178 List.179;
|
||||
if List.706 then
|
||||
let List.710 : {Str, Str} = CallByName List.66 List.175 List.178;
|
||||
inc List.710;
|
||||
let List.180 : List U8 = CallByName Test.71 List.176 List.710;
|
||||
let List.709 : U64 = 1i64;
|
||||
let List.708 : U64 = CallByName Num.51 List.178 List.709;
|
||||
jump List.704 List.175 List.180 List.177 List.708 List.179;
|
||||
else
|
||||
dec List.174;
|
||||
ret List.175;
|
||||
dec List.175;
|
||||
ret List.176;
|
||||
in
|
||||
inc #Derived_gen.34;
|
||||
jump List.668 #Derived_gen.34 #Derived_gen.35 #Derived_gen.36 #Derived_gen.37 #Derived_gen.38;
|
||||
inc #Derived_gen.31;
|
||||
jump List.704 #Derived_gen.31 #Derived_gen.32 #Derived_gen.33 #Derived_gen.34 #Derived_gen.35;
|
||||
|
||||
procedure List.18 (List.171, List.172, List.173):
|
||||
let List.666 : U64 = 0i64;
|
||||
let List.667 : U64 = CallByName List.6 List.171;
|
||||
let List.665 : List U8 = CallByName List.100 List.171 List.172 List.173 List.666 List.667;
|
||||
ret List.665;
|
||||
|
||||
procedure List.18 (List.171, List.172, List.173):
|
||||
let List.692 : U64 = 0i64;
|
||||
let List.693 : U64 = CallByName List.6 List.171;
|
||||
let List.691 : List U8 = CallByName List.100 List.171 List.172 List.173 List.692 List.693;
|
||||
ret List.691;
|
||||
|
||||
procedure List.4 (List.135, List.136):
|
||||
let List.713 : U64 = 1i64;
|
||||
let List.712 : List U8 = CallByName List.70 List.135 List.713;
|
||||
let List.711 : List U8 = CallByName List.71 List.712 List.136;
|
||||
ret List.711;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.690 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.690;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.716 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.716;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.675 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
procedure List.18 (List.172, List.173, List.174):
|
||||
let List.676 : U64 = 0i64;
|
||||
let List.677 : U64 = CallByName List.6 List.172;
|
||||
let List.675 : List U8 = CallByName List.101 List.172 List.173 List.174 List.676 List.677;
|
||||
ret List.675;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.701 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
procedure List.18 (List.172, List.173, List.174):
|
||||
let List.702 : U64 = 0i64;
|
||||
let List.703 : U64 = CallByName List.6 List.172;
|
||||
let List.701 : List U8 = CallByName List.101 List.172 List.173 List.174 List.702 List.703;
|
||||
ret List.701;
|
||||
|
||||
procedure List.4 (List.136, List.137):
|
||||
let List.723 : U64 = 1i64;
|
||||
let List.722 : List U8 = CallByName List.70 List.136 List.723;
|
||||
let List.721 : List U8 = CallByName List.71 List.722 List.137;
|
||||
ret List.721;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.700 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.700;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.726 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.726;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.685 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.685;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.711 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.711;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.707 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.707;
|
||||
let List.717 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.717;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.705 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.705;
|
||||
let List.715 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.715;
|
||||
|
||||
procedure List.8 (#Attr.2, #Attr.3):
|
||||
let List.715 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.715;
|
||||
let List.725 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.725;
|
||||
|
||||
procedure Num.127 (#Attr.2):
|
||||
let Num.288 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
|
|
|
@ -39,54 +39,54 @@ procedure Encode.26 (Encode.107, Encode.108):
|
|||
let Encode.110 : List U8 = CallByName Encode.24 Encode.111 Encode.112 Encode.108;
|
||||
ret Encode.110;
|
||||
|
||||
procedure List.100 (#Derived_gen.16, #Derived_gen.17, #Derived_gen.18, #Derived_gen.19, #Derived_gen.20):
|
||||
joinpoint List.668 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.670 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.670 then
|
||||
let List.674 : {Str, Str} = CallByName List.66 List.174 List.177;
|
||||
inc List.674;
|
||||
let List.179 : List U8 = CallByName Test.71 List.175 List.674;
|
||||
let List.673 : U64 = 1i64;
|
||||
let List.672 : U64 = CallByName Num.51 List.177 List.673;
|
||||
jump List.668 List.174 List.179 List.176 List.672 List.178;
|
||||
procedure List.101 (#Derived_gen.16, #Derived_gen.17, #Derived_gen.18, #Derived_gen.19, #Derived_gen.20):
|
||||
joinpoint List.678 List.175 List.176 List.177 List.178 List.179:
|
||||
let List.680 : Int1 = CallByName Num.22 List.178 List.179;
|
||||
if List.680 then
|
||||
let List.684 : {Str, Str} = CallByName List.66 List.175 List.178;
|
||||
inc List.684;
|
||||
let List.180 : List U8 = CallByName Test.71 List.176 List.684;
|
||||
let List.683 : U64 = 1i64;
|
||||
let List.682 : U64 = CallByName Num.51 List.178 List.683;
|
||||
jump List.678 List.175 List.180 List.177 List.682 List.179;
|
||||
else
|
||||
dec List.174;
|
||||
ret List.175;
|
||||
dec List.175;
|
||||
ret List.176;
|
||||
in
|
||||
inc #Derived_gen.16;
|
||||
jump List.668 #Derived_gen.16 #Derived_gen.17 #Derived_gen.18 #Derived_gen.19 #Derived_gen.20;
|
||||
jump List.678 #Derived_gen.16 #Derived_gen.17 #Derived_gen.18 #Derived_gen.19 #Derived_gen.20;
|
||||
|
||||
procedure List.18 (List.171, List.172, List.173):
|
||||
let List.666 : U64 = 0i64;
|
||||
let List.667 : U64 = CallByName List.6 List.171;
|
||||
let List.665 : List U8 = CallByName List.100 List.171 List.172 List.173 List.666 List.667;
|
||||
ret List.665;
|
||||
|
||||
procedure List.4 (List.135, List.136):
|
||||
let List.687 : U64 = 1i64;
|
||||
let List.686 : List U8 = CallByName List.70 List.135 List.687;
|
||||
let List.685 : List U8 = CallByName List.71 List.686 List.136;
|
||||
ret List.685;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.690 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.690;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.675 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
procedure List.18 (List.172, List.173, List.174):
|
||||
let List.676 : U64 = 0i64;
|
||||
let List.677 : U64 = CallByName List.6 List.172;
|
||||
let List.675 : List U8 = CallByName List.101 List.172 List.173 List.174 List.676 List.677;
|
||||
ret List.675;
|
||||
|
||||
procedure List.4 (List.136, List.137):
|
||||
let List.697 : U64 = 1i64;
|
||||
let List.696 : List U8 = CallByName List.70 List.136 List.697;
|
||||
let List.695 : List U8 = CallByName List.71 List.696 List.137;
|
||||
ret List.695;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.700 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.700;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.685 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.685;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.681 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.681;
|
||||
let List.691 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.691;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.679 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.679;
|
||||
let List.689 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.689;
|
||||
|
||||
procedure List.8 (#Attr.2, #Attr.3):
|
||||
let List.689 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.689;
|
||||
let List.699 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.699;
|
||||
|
||||
procedure Num.127 (#Attr.2):
|
||||
let Num.284 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
|
|
|
@ -46,54 +46,54 @@ procedure Encode.26 (Encode.107, Encode.108):
|
|||
let Encode.110 : List U8 = CallByName Encode.24 Encode.111 Encode.112 Encode.108;
|
||||
ret Encode.110;
|
||||
|
||||
procedure List.100 (#Derived_gen.20, #Derived_gen.21, #Derived_gen.22, #Derived_gen.23, #Derived_gen.24):
|
||||
joinpoint List.668 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.670 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.670 then
|
||||
let List.674 : {Str, Str} = CallByName List.66 List.174 List.177;
|
||||
inc List.674;
|
||||
let List.179 : List U8 = CallByName Test.71 List.175 List.674;
|
||||
let List.673 : U64 = 1i64;
|
||||
let List.672 : U64 = CallByName Num.51 List.177 List.673;
|
||||
jump List.668 List.174 List.179 List.176 List.672 List.178;
|
||||
procedure List.101 (#Derived_gen.20, #Derived_gen.21, #Derived_gen.22, #Derived_gen.23, #Derived_gen.24):
|
||||
joinpoint List.678 List.175 List.176 List.177 List.178 List.179:
|
||||
let List.680 : Int1 = CallByName Num.22 List.178 List.179;
|
||||
if List.680 then
|
||||
let List.684 : {Str, Str} = CallByName List.66 List.175 List.178;
|
||||
inc List.684;
|
||||
let List.180 : List U8 = CallByName Test.71 List.176 List.684;
|
||||
let List.683 : U64 = 1i64;
|
||||
let List.682 : U64 = CallByName Num.51 List.178 List.683;
|
||||
jump List.678 List.175 List.180 List.177 List.682 List.179;
|
||||
else
|
||||
dec List.174;
|
||||
ret List.175;
|
||||
dec List.175;
|
||||
ret List.176;
|
||||
in
|
||||
inc #Derived_gen.20;
|
||||
jump List.668 #Derived_gen.20 #Derived_gen.21 #Derived_gen.22 #Derived_gen.23 #Derived_gen.24;
|
||||
jump List.678 #Derived_gen.20 #Derived_gen.21 #Derived_gen.22 #Derived_gen.23 #Derived_gen.24;
|
||||
|
||||
procedure List.18 (List.171, List.172, List.173):
|
||||
let List.666 : U64 = 0i64;
|
||||
let List.667 : U64 = CallByName List.6 List.171;
|
||||
let List.665 : List U8 = CallByName List.100 List.171 List.172 List.173 List.666 List.667;
|
||||
ret List.665;
|
||||
|
||||
procedure List.4 (List.135, List.136):
|
||||
let List.687 : U64 = 1i64;
|
||||
let List.686 : List U8 = CallByName List.70 List.135 List.687;
|
||||
let List.685 : List U8 = CallByName List.71 List.686 List.136;
|
||||
ret List.685;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.690 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.690;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.675 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
procedure List.18 (List.172, List.173, List.174):
|
||||
let List.676 : U64 = 0i64;
|
||||
let List.677 : U64 = CallByName List.6 List.172;
|
||||
let List.675 : List U8 = CallByName List.101 List.172 List.173 List.174 List.676 List.677;
|
||||
ret List.675;
|
||||
|
||||
procedure List.4 (List.136, List.137):
|
||||
let List.697 : U64 = 1i64;
|
||||
let List.696 : List U8 = CallByName List.70 List.136 List.697;
|
||||
let List.695 : List U8 = CallByName List.71 List.696 List.137;
|
||||
ret List.695;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.700 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.700;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.685 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.685;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.681 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.681;
|
||||
let List.691 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.691;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.679 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.679;
|
||||
let List.689 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.689;
|
||||
|
||||
procedure List.8 (#Attr.2, #Attr.3):
|
||||
let List.689 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.689;
|
||||
let List.699 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.699;
|
||||
|
||||
procedure Num.127 (#Attr.2):
|
||||
let Num.284 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
|
|
|
@ -11,23 +11,23 @@ procedure Encode.26 (Encode.107, Encode.108):
|
|||
let Encode.110 : List U8 = CallByName Encode.24 Encode.111 Encode.112 Encode.108;
|
||||
ret Encode.110;
|
||||
|
||||
procedure List.4 (List.135, List.136):
|
||||
let List.675 : U64 = 1i64;
|
||||
let List.674 : List U8 = CallByName List.70 List.135 List.675;
|
||||
let List.673 : List U8 = CallByName List.71 List.674 List.136;
|
||||
ret List.673;
|
||||
procedure List.4 (List.136, List.137):
|
||||
let List.685 : U64 = 1i64;
|
||||
let List.684 : List U8 = CallByName List.70 List.136 List.685;
|
||||
let List.683 : List U8 = CallByName List.71 List.684 List.137;
|
||||
ret List.683;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.669 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.669;
|
||||
let List.679 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.679;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.667 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.667;
|
||||
let List.677 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.677;
|
||||
|
||||
procedure List.8 (#Attr.2, #Attr.3):
|
||||
let List.677 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.677;
|
||||
let List.687 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.687;
|
||||
|
||||
procedure Num.127 (#Attr.2):
|
||||
let Num.284 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
|
|
|
@ -40,58 +40,58 @@ procedure Encode.26 (Encode.107, Encode.108):
|
|||
let Encode.110 : List U8 = CallByName Encode.24 Encode.111 Encode.112 Encode.108;
|
||||
ret Encode.110;
|
||||
|
||||
procedure List.100 (#Derived_gen.10, #Derived_gen.11, #Derived_gen.12, #Derived_gen.13, #Derived_gen.14):
|
||||
joinpoint List.668 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.670 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.670 then
|
||||
let List.674 : Str = CallByName List.66 List.174 List.177;
|
||||
inc List.674;
|
||||
let List.179 : List U8 = CallByName Test.64 List.175 List.674 List.176;
|
||||
let List.673 : U64 = 1i64;
|
||||
let List.672 : U64 = CallByName Num.51 List.177 List.673;
|
||||
jump List.668 List.174 List.179 List.176 List.672 List.178;
|
||||
procedure List.101 (#Derived_gen.10, #Derived_gen.11, #Derived_gen.12, #Derived_gen.13, #Derived_gen.14):
|
||||
joinpoint List.678 List.175 List.176 List.177 List.178 List.179:
|
||||
let List.680 : Int1 = CallByName Num.22 List.178 List.179;
|
||||
if List.680 then
|
||||
let List.684 : Str = CallByName List.66 List.175 List.178;
|
||||
inc List.684;
|
||||
let List.180 : List U8 = CallByName Test.64 List.176 List.684 List.177;
|
||||
let List.683 : U64 = 1i64;
|
||||
let List.682 : U64 = CallByName Num.51 List.178 List.683;
|
||||
jump List.678 List.175 List.180 List.177 List.682 List.179;
|
||||
else
|
||||
dec List.174;
|
||||
ret List.175;
|
||||
dec List.175;
|
||||
ret List.176;
|
||||
in
|
||||
inc #Derived_gen.10;
|
||||
jump List.668 #Derived_gen.10 #Derived_gen.11 #Derived_gen.12 #Derived_gen.13 #Derived_gen.14;
|
||||
jump List.678 #Derived_gen.10 #Derived_gen.11 #Derived_gen.12 #Derived_gen.13 #Derived_gen.14;
|
||||
|
||||
procedure List.13 (#Attr.2, #Attr.3):
|
||||
let List.691 : List Str = lowlevel ListPrepend #Attr.2 #Attr.3;
|
||||
ret List.691;
|
||||
let List.701 : List Str = lowlevel ListPrepend #Attr.2 #Attr.3;
|
||||
ret List.701;
|
||||
|
||||
procedure List.18 (List.171, List.172, List.173):
|
||||
let List.666 : U64 = 0i64;
|
||||
let List.667 : U64 = CallByName List.6 List.171;
|
||||
let List.665 : List U8 = CallByName List.100 List.171 List.172 List.173 List.666 List.667;
|
||||
ret List.665;
|
||||
|
||||
procedure List.4 (List.135, List.136):
|
||||
let List.687 : U64 = 1i64;
|
||||
let List.686 : List U8 = CallByName List.70 List.135 List.687;
|
||||
let List.685 : List U8 = CallByName List.71 List.686 List.136;
|
||||
ret List.685;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.690 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.690;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.675 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
procedure List.18 (List.172, List.173, List.174):
|
||||
let List.676 : U64 = 0i64;
|
||||
let List.677 : U64 = CallByName List.6 List.172;
|
||||
let List.675 : List U8 = CallByName List.101 List.172 List.173 List.174 List.676 List.677;
|
||||
ret List.675;
|
||||
|
||||
procedure List.4 (List.136, List.137):
|
||||
let List.697 : U64 = 1i64;
|
||||
let List.696 : List U8 = CallByName List.70 List.136 List.697;
|
||||
let List.695 : List U8 = CallByName List.71 List.696 List.137;
|
||||
ret List.695;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.700 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.700;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.685 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.685;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.681 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.681;
|
||||
let List.691 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.691;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.679 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.679;
|
||||
let List.689 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.689;
|
||||
|
||||
procedure List.8 (#Attr.2, #Attr.3):
|
||||
let List.689 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.689;
|
||||
let List.699 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.699;
|
||||
|
||||
procedure Num.127 (#Attr.2):
|
||||
let Num.284 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
|
|
|
@ -43,58 +43,58 @@ procedure Encode.26 (Encode.107, Encode.108):
|
|||
let Encode.110 : List U8 = CallByName Encode.24 Encode.111 Encode.112 Encode.108;
|
||||
ret Encode.110;
|
||||
|
||||
procedure List.100 (#Derived_gen.20, #Derived_gen.21, #Derived_gen.22, #Derived_gen.23, #Derived_gen.24):
|
||||
joinpoint List.668 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.670 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.670 then
|
||||
let List.674 : Str = CallByName List.66 List.174 List.177;
|
||||
inc List.674;
|
||||
let List.179 : List U8 = CallByName Test.64 List.175 List.674 List.176;
|
||||
let List.673 : U64 = 1i64;
|
||||
let List.672 : U64 = CallByName Num.51 List.177 List.673;
|
||||
jump List.668 List.174 List.179 List.176 List.672 List.178;
|
||||
procedure List.101 (#Derived_gen.20, #Derived_gen.21, #Derived_gen.22, #Derived_gen.23, #Derived_gen.24):
|
||||
joinpoint List.678 List.175 List.176 List.177 List.178 List.179:
|
||||
let List.680 : Int1 = CallByName Num.22 List.178 List.179;
|
||||
if List.680 then
|
||||
let List.684 : Str = CallByName List.66 List.175 List.178;
|
||||
inc List.684;
|
||||
let List.180 : List U8 = CallByName Test.64 List.176 List.684 List.177;
|
||||
let List.683 : U64 = 1i64;
|
||||
let List.682 : U64 = CallByName Num.51 List.178 List.683;
|
||||
jump List.678 List.175 List.180 List.177 List.682 List.179;
|
||||
else
|
||||
dec List.174;
|
||||
ret List.175;
|
||||
dec List.175;
|
||||
ret List.176;
|
||||
in
|
||||
inc #Derived_gen.20;
|
||||
jump List.668 #Derived_gen.20 #Derived_gen.21 #Derived_gen.22 #Derived_gen.23 #Derived_gen.24;
|
||||
jump List.678 #Derived_gen.20 #Derived_gen.21 #Derived_gen.22 #Derived_gen.23 #Derived_gen.24;
|
||||
|
||||
procedure List.13 (#Attr.2, #Attr.3):
|
||||
let List.691 : List Str = lowlevel ListPrepend #Attr.2 #Attr.3;
|
||||
ret List.691;
|
||||
let List.701 : List Str = lowlevel ListPrepend #Attr.2 #Attr.3;
|
||||
ret List.701;
|
||||
|
||||
procedure List.18 (List.171, List.172, List.173):
|
||||
let List.666 : U64 = 0i64;
|
||||
let List.667 : U64 = CallByName List.6 List.171;
|
||||
let List.665 : List U8 = CallByName List.100 List.171 List.172 List.173 List.666 List.667;
|
||||
ret List.665;
|
||||
|
||||
procedure List.4 (List.135, List.136):
|
||||
let List.687 : U64 = 1i64;
|
||||
let List.686 : List U8 = CallByName List.70 List.135 List.687;
|
||||
let List.685 : List U8 = CallByName List.71 List.686 List.136;
|
||||
ret List.685;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.690 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.690;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.675 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
procedure List.18 (List.172, List.173, List.174):
|
||||
let List.676 : U64 = 0i64;
|
||||
let List.677 : U64 = CallByName List.6 List.172;
|
||||
let List.675 : List U8 = CallByName List.101 List.172 List.173 List.174 List.676 List.677;
|
||||
ret List.675;
|
||||
|
||||
procedure List.4 (List.136, List.137):
|
||||
let List.697 : U64 = 1i64;
|
||||
let List.696 : List U8 = CallByName List.70 List.136 List.697;
|
||||
let List.695 : List U8 = CallByName List.71 List.696 List.137;
|
||||
ret List.695;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.700 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.700;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.685 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.685;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.681 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.681;
|
||||
let List.691 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.691;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.679 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.679;
|
||||
let List.689 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.689;
|
||||
|
||||
procedure List.8 (#Attr.2, #Attr.3):
|
||||
let List.689 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.689;
|
||||
let List.699 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.699;
|
||||
|
||||
procedure Num.127 (#Attr.2):
|
||||
let Num.284 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
|
|
|
@ -312,7 +312,7 @@ procedure Dict.72 (Dict.413, Dict.414, Dict.415):
|
|||
let Dict.855 : {U64, U32} = CallByName Dict.73 Dict.413 Dict.418 Dict.417;
|
||||
ret Dict.855;
|
||||
|
||||
procedure Dict.73 (#Derived_gen.10, #Derived_gen.11, #Derived_gen.12):
|
||||
procedure Dict.73 (#Derived_gen.15, #Derived_gen.16, #Derived_gen.17):
|
||||
joinpoint Dict.856 Dict.419 Dict.420 Dict.421:
|
||||
let Dict.422 : {U32, U32} = CallByName Dict.22 Dict.419 Dict.420;
|
||||
let Dict.863 : U32 = StructAtIndex 1 Dict.422;
|
||||
|
@ -327,8 +327,8 @@ procedure Dict.73 (#Derived_gen.10, #Derived_gen.11, #Derived_gen.12):
|
|||
let Dict.857 : {U64, U32} = Struct {Dict.420, Dict.421};
|
||||
ret Dict.857;
|
||||
in
|
||||
inc #Derived_gen.10;
|
||||
jump Dict.856 #Derived_gen.10 #Derived_gen.11 #Derived_gen.12;
|
||||
inc #Derived_gen.15;
|
||||
jump Dict.856 #Derived_gen.15 #Derived_gen.16 #Derived_gen.17;
|
||||
|
||||
procedure Dict.74 (#Derived_gen.48, #Derived_gen.49, #Derived_gen.50):
|
||||
joinpoint Dict.762 Dict.423 Dict.424 Dict.425:
|
||||
|
@ -902,171 +902,171 @@ procedure Inspect.63 (Inspect.295, Inspect.291):
|
|||
procedure Inspect.64 (Inspect.297):
|
||||
ret Inspect.297;
|
||||
|
||||
procedure List.100 (#Derived_gen.34, #Derived_gen.35, #Derived_gen.36, #Derived_gen.37, #Derived_gen.38):
|
||||
joinpoint List.732 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.734 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.734 then
|
||||
let List.738 : {Str, I64} = CallByName List.66 List.174 List.177;
|
||||
inc List.738;
|
||||
let List.179 : {Str, Int1} = CallByName Dict.188 List.175 List.738 List.176;
|
||||
let List.737 : U64 = 1i64;
|
||||
let List.736 : U64 = CallByName Num.51 List.177 List.737;
|
||||
jump List.732 List.174 List.179 List.176 List.736 List.178;
|
||||
procedure List.101 (#Derived_gen.10, #Derived_gen.11, #Derived_gen.12, #Derived_gen.13, #Derived_gen.14):
|
||||
joinpoint List.678 List.175 List.176 List.177 List.178 List.179:
|
||||
let List.680 : Int1 = CallByName Num.22 List.178 List.179;
|
||||
if List.680 then
|
||||
let List.684 : {Str, I64} = CallByName List.66 List.175 List.178;
|
||||
inc List.684;
|
||||
let List.180 : {List {U32, U32}, List {Str, I64}, U64, Float32, U8} = CallByName Dict.159 List.176 List.684;
|
||||
let List.683 : U64 = 1i64;
|
||||
let List.682 : U64 = CallByName Num.51 List.178 List.683;
|
||||
jump List.678 List.175 List.180 List.177 List.682 List.179;
|
||||
else
|
||||
dec List.174;
|
||||
ret List.175;
|
||||
dec List.175;
|
||||
ret List.176;
|
||||
in
|
||||
inc #Derived_gen.34;
|
||||
jump List.732 #Derived_gen.34 #Derived_gen.35 #Derived_gen.36 #Derived_gen.37 #Derived_gen.38;
|
||||
inc #Derived_gen.10;
|
||||
jump List.678 #Derived_gen.10 #Derived_gen.11 #Derived_gen.12 #Derived_gen.13 #Derived_gen.14;
|
||||
|
||||
procedure List.100 (#Derived_gen.60, #Derived_gen.61, #Derived_gen.62, #Derived_gen.63, #Derived_gen.64):
|
||||
joinpoint List.668 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.670 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.670 then
|
||||
let List.674 : {Str, I64} = CallByName List.66 List.174 List.177;
|
||||
inc List.674;
|
||||
let List.179 : {List {U32, U32}, List {Str, I64}, U64, Float32, U8} = CallByName Dict.159 List.175 List.674;
|
||||
let List.673 : U64 = 1i64;
|
||||
let List.672 : U64 = CallByName Num.51 List.177 List.673;
|
||||
jump List.668 List.174 List.179 List.176 List.672 List.178;
|
||||
procedure List.101 (#Derived_gen.51, #Derived_gen.52, #Derived_gen.53, #Derived_gen.54, #Derived_gen.55):
|
||||
joinpoint List.742 List.175 List.176 List.177 List.178 List.179:
|
||||
let List.744 : Int1 = CallByName Num.22 List.178 List.179;
|
||||
if List.744 then
|
||||
let List.748 : {Str, I64} = CallByName List.66 List.175 List.178;
|
||||
inc List.748;
|
||||
let List.180 : {Str, Int1} = CallByName Dict.188 List.176 List.748 List.177;
|
||||
let List.747 : U64 = 1i64;
|
||||
let List.746 : U64 = CallByName Num.51 List.178 List.747;
|
||||
jump List.742 List.175 List.180 List.177 List.746 List.179;
|
||||
else
|
||||
dec List.174;
|
||||
ret List.175;
|
||||
dec List.175;
|
||||
ret List.176;
|
||||
in
|
||||
inc #Derived_gen.60;
|
||||
jump List.668 #Derived_gen.60 #Derived_gen.61 #Derived_gen.62 #Derived_gen.63 #Derived_gen.64;
|
||||
inc #Derived_gen.51;
|
||||
jump List.742 #Derived_gen.51 #Derived_gen.52 #Derived_gen.53 #Derived_gen.54 #Derived_gen.55;
|
||||
|
||||
procedure List.101 (#Derived_gen.15, #Derived_gen.16, #Derived_gen.17, #Derived_gen.18, #Derived_gen.19):
|
||||
joinpoint List.707 List.183 List.184 List.185 List.186 List.187:
|
||||
let List.709 : Int1 = CallByName Num.22 List.186 List.187;
|
||||
if List.709 then
|
||||
let List.713 : {Str, I64} = CallByName List.66 List.183 List.186;
|
||||
inc List.713;
|
||||
let List.188 : List {U32, U32} = CallByName Dict.407 List.184 List.713 List.186 List.185;
|
||||
let List.712 : U64 = 1i64;
|
||||
let List.711 : U64 = CallByName Num.51 List.186 List.712;
|
||||
jump List.707 List.183 List.188 List.185 List.711 List.187;
|
||||
procedure List.102 (#Derived_gen.23, #Derived_gen.24, #Derived_gen.25, #Derived_gen.26, #Derived_gen.27):
|
||||
joinpoint List.717 List.184 List.185 List.186 List.187 List.188:
|
||||
let List.719 : Int1 = CallByName Num.22 List.187 List.188;
|
||||
if List.719 then
|
||||
let List.723 : {Str, I64} = CallByName List.66 List.184 List.187;
|
||||
inc List.723;
|
||||
let List.189 : List {U32, U32} = CallByName Dict.407 List.185 List.723 List.187 List.186;
|
||||
let List.722 : U64 = 1i64;
|
||||
let List.721 : U64 = CallByName Num.51 List.187 List.722;
|
||||
jump List.717 List.184 List.189 List.186 List.721 List.188;
|
||||
else
|
||||
dec List.183;
|
||||
ret List.184;
|
||||
dec List.184;
|
||||
ret List.185;
|
||||
in
|
||||
inc #Derived_gen.15;
|
||||
jump List.707 #Derived_gen.15 #Derived_gen.16 #Derived_gen.17 #Derived_gen.18 #Derived_gen.19;
|
||||
inc #Derived_gen.23;
|
||||
jump List.717 #Derived_gen.23 #Derived_gen.24 #Derived_gen.25 #Derived_gen.26 #Derived_gen.27;
|
||||
|
||||
procedure List.11 (List.149, List.150):
|
||||
let List.727 : List {U32, U32} = CallByName List.68 List.150;
|
||||
let List.726 : List {U32, U32} = CallByName List.98 List.149 List.150 List.727;
|
||||
ret List.726;
|
||||
procedure List.11 (List.150, List.151):
|
||||
let List.737 : List {U32, U32} = CallByName List.68 List.151;
|
||||
let List.736 : List {U32, U32} = CallByName List.99 List.150 List.151 List.737;
|
||||
ret List.736;
|
||||
|
||||
procedure List.18 (List.171, List.172, List.173):
|
||||
let List.666 : U64 = 0i64;
|
||||
let List.667 : U64 = CallByName List.6 List.171;
|
||||
let List.665 : {List {U32, U32}, List {Str, I64}, U64, Float32, U8} = CallByName List.100 List.171 List.172 List.173 List.666 List.667;
|
||||
ret List.665;
|
||||
procedure List.18 (List.172, List.173, List.174):
|
||||
let List.676 : U64 = 0i64;
|
||||
let List.677 : U64 = CallByName List.6 List.172;
|
||||
let List.675 : {List {U32, U32}, List {Str, I64}, U64, Float32, U8} = CallByName List.101 List.172 List.173 List.174 List.676 List.677;
|
||||
ret List.675;
|
||||
|
||||
procedure List.18 (List.171, List.172, List.173):
|
||||
let List.730 : U64 = 0i64;
|
||||
let List.731 : U64 = CallByName List.6 List.171;
|
||||
let List.729 : {Str, Int1} = CallByName List.100 List.171 List.172 List.173 List.730 List.731;
|
||||
ret List.729;
|
||||
|
||||
procedure List.3 (List.127, List.128, List.129):
|
||||
let List.691 : {List {U32, U32}, {U32, U32}} = CallByName List.64 List.127 List.128 List.129;
|
||||
let List.690 : List {U32, U32} = StructAtIndex 0 List.691;
|
||||
ret List.690;
|
||||
|
||||
procedure List.3 (List.127, List.128, List.129):
|
||||
let List.693 : {List {Str, I64}, {Str, I64}} = CallByName List.64 List.127 List.128 List.129;
|
||||
let List.692 : List {Str, I64} = StructAtIndex 0 List.693;
|
||||
let #Derived_gen.74 : {Str, I64} = StructAtIndex 1 List.693;
|
||||
dec #Derived_gen.74;
|
||||
ret List.692;
|
||||
|
||||
procedure List.4 (List.135, List.136):
|
||||
let List.702 : U64 = 1i64;
|
||||
let List.700 : List {Str, I64} = CallByName List.70 List.135 List.702;
|
||||
let List.699 : List {Str, I64} = CallByName List.71 List.700 List.136;
|
||||
ret List.699;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.681 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.681;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.728 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.728;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.740 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.740;
|
||||
|
||||
procedure List.64 (List.124, List.125, List.126):
|
||||
let List.689 : U64 = CallByName List.6 List.124;
|
||||
let List.686 : Int1 = CallByName Num.22 List.125 List.689;
|
||||
if List.686 then
|
||||
let List.687 : {List {U32, U32}, {U32, U32}} = CallByName List.67 List.124 List.125 List.126;
|
||||
ret List.687;
|
||||
else
|
||||
let List.685 : {List {U32, U32}, {U32, U32}} = Struct {List.124, List.126};
|
||||
ret List.685;
|
||||
|
||||
procedure List.64 (List.124, List.125, List.126):
|
||||
let List.698 : U64 = CallByName List.6 List.124;
|
||||
let List.695 : Int1 = CallByName Num.22 List.125 List.698;
|
||||
if List.695 then
|
||||
let List.696 : {List {Str, I64}, {Str, I64}} = CallByName List.67 List.124 List.125 List.126;
|
||||
ret List.696;
|
||||
else
|
||||
let List.694 : {List {Str, I64}, {Str, I64}} = Struct {List.124, List.126};
|
||||
ret List.694;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.739 : {Str, I64} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
procedure List.18 (List.172, List.173, List.174):
|
||||
let List.740 : U64 = 0i64;
|
||||
let List.741 : U64 = CallByName List.6 List.172;
|
||||
let List.739 : {Str, Int1} = CallByName List.101 List.172 List.173 List.174 List.740 List.741;
|
||||
ret List.739;
|
||||
|
||||
procedure List.67 (#Attr.2, #Attr.3, #Attr.4):
|
||||
let List.688 : {List {U32, U32}, {U32, U32}} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.688;
|
||||
procedure List.3 (List.128, List.129, List.130):
|
||||
let List.701 : {List {U32, U32}, {U32, U32}} = CallByName List.64 List.128 List.129 List.130;
|
||||
let List.700 : List {U32, U32} = StructAtIndex 0 List.701;
|
||||
ret List.700;
|
||||
|
||||
procedure List.67 (#Attr.2, #Attr.3, #Attr.4):
|
||||
let List.697 : {List {Str, I64}, {Str, I64}} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
|
||||
procedure List.3 (List.128, List.129, List.130):
|
||||
let List.703 : {List {Str, I64}, {Str, I64}} = CallByName List.64 List.128 List.129 List.130;
|
||||
let List.702 : List {Str, I64} = StructAtIndex 0 List.703;
|
||||
let #Derived_gen.74 : {Str, I64} = StructAtIndex 1 List.703;
|
||||
dec #Derived_gen.74;
|
||||
ret List.702;
|
||||
|
||||
procedure List.4 (List.136, List.137):
|
||||
let List.712 : U64 = 1i64;
|
||||
let List.710 : List {Str, I64} = CallByName List.70 List.136 List.712;
|
||||
let List.709 : List {Str, I64} = CallByName List.71 List.710 List.137;
|
||||
ret List.709;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.691 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.691;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.738 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.738;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.750 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.750;
|
||||
|
||||
procedure List.64 (List.125, List.126, List.127):
|
||||
let List.699 : U64 = CallByName List.6 List.125;
|
||||
let List.696 : Int1 = CallByName Num.22 List.126 List.699;
|
||||
if List.696 then
|
||||
let List.697 : {List {U32, U32}, {U32, U32}} = CallByName List.67 List.125 List.126 List.127;
|
||||
ret List.697;
|
||||
else
|
||||
let List.695 : {List {U32, U32}, {U32, U32}} = Struct {List.125, List.127};
|
||||
ret List.695;
|
||||
|
||||
procedure List.68 (#Attr.2):
|
||||
let List.725 : List {U32, U32} = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.725;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.703 : List {Str, I64} = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.703;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.701 : List {Str, I64} = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.701;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.722 : List {U32, U32} = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.722;
|
||||
|
||||
procedure List.83 (List.180, List.181, List.182):
|
||||
let List.705 : U64 = 0i64;
|
||||
let List.706 : U64 = CallByName List.6 List.180;
|
||||
let List.704 : List {U32, U32} = CallByName List.101 List.180 List.181 List.182 List.705 List.706;
|
||||
procedure List.64 (List.125, List.126, List.127):
|
||||
let List.708 : U64 = CallByName List.6 List.125;
|
||||
let List.705 : Int1 = CallByName Num.22 List.126 List.708;
|
||||
if List.705 then
|
||||
let List.706 : {List {Str, I64}, {Str, I64}} = CallByName List.67 List.125 List.126 List.127;
|
||||
ret List.706;
|
||||
else
|
||||
let List.704 : {List {Str, I64}, {Str, I64}} = Struct {List.125, List.127};
|
||||
ret List.704;
|
||||
|
||||
procedure List.98 (#Derived_gen.22, #Derived_gen.23, #Derived_gen.24):
|
||||
joinpoint List.716 List.151 List.152 List.153:
|
||||
let List.724 : U64 = 0i64;
|
||||
let List.718 : Int1 = CallByName Num.24 List.152 List.724;
|
||||
if List.718 then
|
||||
let List.723 : U64 = 1i64;
|
||||
let List.720 : U64 = CallByName Num.75 List.152 List.723;
|
||||
let List.721 : List {U32, U32} = CallByName List.71 List.153 List.151;
|
||||
jump List.716 List.151 List.720 List.721;
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.749 : {Str, I64} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.749;
|
||||
|
||||
procedure List.67 (#Attr.2, #Attr.3, #Attr.4):
|
||||
let List.698 : {List {U32, U32}, {U32, U32}} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.698;
|
||||
|
||||
procedure List.67 (#Attr.2, #Attr.3, #Attr.4):
|
||||
let List.707 : {List {Str, I64}, {Str, I64}} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.707;
|
||||
|
||||
procedure List.68 (#Attr.2):
|
||||
let List.735 : List {U32, U32} = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.735;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.713 : List {Str, I64} = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.713;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.711 : List {Str, I64} = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.711;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.732 : List {U32, U32} = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.732;
|
||||
|
||||
procedure List.83 (List.181, List.182, List.183):
|
||||
let List.715 : U64 = 0i64;
|
||||
let List.716 : U64 = CallByName List.6 List.181;
|
||||
let List.714 : List {U32, U32} = CallByName List.102 List.181 List.182 List.183 List.715 List.716;
|
||||
ret List.714;
|
||||
|
||||
procedure List.99 (#Derived_gen.20, #Derived_gen.21, #Derived_gen.22):
|
||||
joinpoint List.726 List.152 List.153 List.154:
|
||||
let List.734 : U64 = 0i64;
|
||||
let List.728 : Int1 = CallByName Num.24 List.153 List.734;
|
||||
if List.728 then
|
||||
let List.733 : U64 = 1i64;
|
||||
let List.730 : U64 = CallByName Num.75 List.153 List.733;
|
||||
let List.731 : List {U32, U32} = CallByName List.71 List.154 List.152;
|
||||
jump List.726 List.152 List.730 List.731;
|
||||
else
|
||||
ret List.153;
|
||||
ret List.154;
|
||||
in
|
||||
jump List.716 #Derived_gen.22 #Derived_gen.23 #Derived_gen.24;
|
||||
jump List.726 #Derived_gen.20 #Derived_gen.21 #Derived_gen.22;
|
||||
|
||||
procedure Num.131 (#Attr.2):
|
||||
let Num.291 : U32 = lowlevel NumIntCast #Attr.2;
|
||||
|
@ -1279,7 +1279,7 @@ procedure Str.45 (Str.91, Str.92, Str.93):
|
|||
dec Str.344;
|
||||
ret Str.91;
|
||||
|
||||
procedure Str.56 (#Derived_gen.51, #Derived_gen.52, #Derived_gen.53, #Derived_gen.54):
|
||||
procedure Str.56 (#Derived_gen.56, #Derived_gen.57, #Derived_gen.58, #Derived_gen.59):
|
||||
joinpoint Str.253 Str.96 Str.97 Str.98 Str.99:
|
||||
inc Str.97;
|
||||
let Str.254 : [C {}, C {Str, Str}] = CallByName Str.38 Str.97 Str.98;
|
||||
|
@ -1303,9 +1303,9 @@ procedure Str.56 (#Derived_gen.51, #Derived_gen.52, #Derived_gen.53, #Derived_ge
|
|||
dec Str.97;
|
||||
ret Str.258;
|
||||
in
|
||||
inc #Derived_gen.54;
|
||||
inc #Derived_gen.53;
|
||||
jump Str.253 #Derived_gen.51 #Derived_gen.52 #Derived_gen.53 #Derived_gen.54;
|
||||
inc #Derived_gen.58;
|
||||
inc #Derived_gen.59;
|
||||
jump Str.253 #Derived_gen.56 #Derived_gen.57 #Derived_gen.58 #Derived_gen.59;
|
||||
|
||||
procedure Str.57 (Str.121, Str.122):
|
||||
let Str.123 : U64 = CallByName Str.36 Str.121;
|
||||
|
@ -1315,7 +1315,7 @@ procedure Str.57 (Str.121, Str.122):
|
|||
let Str.279 : [C , C U64] = CallByName Str.58 Str.121 Str.122 Str.280 Str.125;
|
||||
ret Str.279;
|
||||
|
||||
procedure Str.58 (#Derived_gen.28, #Derived_gen.29, #Derived_gen.30, #Derived_gen.31):
|
||||
procedure Str.58 (#Derived_gen.33, #Derived_gen.34, #Derived_gen.35, #Derived_gen.36):
|
||||
joinpoint Str.281 Str.126 Str.127 Str.128 Str.129:
|
||||
let Str.283 : Int1 = CallByName Num.23 Str.128 Str.129;
|
||||
if Str.283 then
|
||||
|
@ -1335,9 +1335,9 @@ procedure Str.58 (#Derived_gen.28, #Derived_gen.29, #Derived_gen.30, #Derived_ge
|
|||
let Str.282 : [C , C U64] = TagId(0) ;
|
||||
ret Str.282;
|
||||
in
|
||||
inc #Derived_gen.29;
|
||||
inc #Derived_gen.28;
|
||||
jump Str.281 #Derived_gen.28 #Derived_gen.29 #Derived_gen.30 #Derived_gen.31;
|
||||
inc #Derived_gen.34;
|
||||
inc #Derived_gen.33;
|
||||
jump Str.281 #Derived_gen.33 #Derived_gen.34 #Derived_gen.35 #Derived_gen.36;
|
||||
|
||||
procedure Str.61 (Str.152, Str.153):
|
||||
let Str.311 : Int1 = CallByName Num.22 Str.152 Str.153;
|
||||
|
|
|
@ -120,35 +120,35 @@ procedure Inspect.63 (Inspect.295, Inspect.291):
|
|||
procedure Inspect.64 (Inspect.297):
|
||||
ret Inspect.297;
|
||||
|
||||
procedure List.100 (#Derived_gen.8, #Derived_gen.9, #Derived_gen.10, #Derived_gen.11, #Derived_gen.12):
|
||||
joinpoint List.668 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.670 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.670 then
|
||||
let List.674 : I64 = CallByName List.66 List.174 List.177;
|
||||
let List.179 : {Str, Int1} = CallByName Inspect.160 List.175 List.674 List.176;
|
||||
let List.673 : U64 = 1i64;
|
||||
let List.672 : U64 = CallByName Num.51 List.177 List.673;
|
||||
jump List.668 List.174 List.179 List.176 List.672 List.178;
|
||||
procedure List.101 (#Derived_gen.11, #Derived_gen.12, #Derived_gen.13, #Derived_gen.14, #Derived_gen.15):
|
||||
joinpoint List.678 List.175 List.176 List.177 List.178 List.179:
|
||||
let List.680 : Int1 = CallByName Num.22 List.178 List.179;
|
||||
if List.680 then
|
||||
let List.684 : I64 = CallByName List.66 List.175 List.178;
|
||||
let List.180 : {Str, Int1} = CallByName Inspect.160 List.176 List.684 List.177;
|
||||
let List.683 : U64 = 1i64;
|
||||
let List.682 : U64 = CallByName Num.51 List.178 List.683;
|
||||
jump List.678 List.175 List.180 List.177 List.682 List.179;
|
||||
else
|
||||
dec List.174;
|
||||
ret List.175;
|
||||
dec List.175;
|
||||
ret List.176;
|
||||
in
|
||||
inc #Derived_gen.8;
|
||||
jump List.668 #Derived_gen.8 #Derived_gen.9 #Derived_gen.10 #Derived_gen.11 #Derived_gen.12;
|
||||
inc #Derived_gen.11;
|
||||
jump List.678 #Derived_gen.11 #Derived_gen.12 #Derived_gen.13 #Derived_gen.14 #Derived_gen.15;
|
||||
|
||||
procedure List.18 (List.171, List.172, List.173):
|
||||
let List.666 : U64 = 0i64;
|
||||
let List.667 : U64 = CallByName List.6 List.171;
|
||||
let List.665 : {Str, Int1} = CallByName List.100 List.171 List.172 List.173 List.666 List.667;
|
||||
ret List.665;
|
||||
procedure List.18 (List.172, List.173, List.174):
|
||||
let List.676 : U64 = 0i64;
|
||||
let List.677 : U64 = CallByName List.6 List.172;
|
||||
let List.675 : {Str, Int1} = CallByName List.101 List.172 List.173 List.174 List.676 List.677;
|
||||
ret List.675;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.676 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.676;
|
||||
let List.686 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.686;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.675 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.675;
|
||||
let List.685 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.685;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.285 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
|
@ -235,68 +235,68 @@ procedure Inspect.63 (Inspect.295, Inspect.291):
|
|||
procedure Inspect.64 (Inspect.297):
|
||||
ret Inspect.297;
|
||||
|
||||
procedure List.100 (#Derived_gen.20, #Derived_gen.21, #Derived_gen.22, #Derived_gen.23, #Derived_gen.24):
|
||||
joinpoint List.668 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.670 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.670 then
|
||||
let List.674 : {Str, Str} = CallByName List.66 List.174 List.177;
|
||||
inc List.674;
|
||||
let List.179 : {Str, Int1} = CallByName Inspect.229 List.175 List.674;
|
||||
let List.673 : U64 = 1i64;
|
||||
let List.672 : U64 = CallByName Num.51 List.177 List.673;
|
||||
jump List.668 List.174 List.179 List.176 List.672 List.178;
|
||||
procedure List.101 (#Derived_gen.20, #Derived_gen.21, #Derived_gen.22, #Derived_gen.23, #Derived_gen.24):
|
||||
joinpoint List.678 List.175 List.176 List.177 List.178 List.179:
|
||||
let List.680 : Int1 = CallByName Num.22 List.178 List.179;
|
||||
if List.680 then
|
||||
let List.684 : {Str, Str} = CallByName List.66 List.175 List.178;
|
||||
inc List.684;
|
||||
let List.180 : {Str, Int1} = CallByName Inspect.229 List.176 List.684;
|
||||
let List.683 : U64 = 1i64;
|
||||
let List.682 : U64 = CallByName Num.51 List.178 List.683;
|
||||
jump List.678 List.175 List.180 List.177 List.682 List.179;
|
||||
else
|
||||
dec List.174;
|
||||
ret List.175;
|
||||
dec List.175;
|
||||
ret List.176;
|
||||
in
|
||||
inc #Derived_gen.20;
|
||||
jump List.668 #Derived_gen.20 #Derived_gen.21 #Derived_gen.22 #Derived_gen.23 #Derived_gen.24;
|
||||
jump List.678 #Derived_gen.20 #Derived_gen.21 #Derived_gen.22 #Derived_gen.23 #Derived_gen.24;
|
||||
|
||||
procedure List.100 (#Derived_gen.42, #Derived_gen.43, #Derived_gen.44, #Derived_gen.45, #Derived_gen.46):
|
||||
joinpoint List.680 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.682 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.682 then
|
||||
let List.686 : {Str, Str} = CallByName List.66 List.174 List.177;
|
||||
inc List.686;
|
||||
let List.179 : {Str, Int1} = CallByName Inspect.229 List.175 List.686;
|
||||
let List.685 : U64 = 1i64;
|
||||
let List.684 : U64 = CallByName Num.51 List.177 List.685;
|
||||
jump List.680 List.174 List.179 List.176 List.684 List.178;
|
||||
procedure List.101 (#Derived_gen.39, #Derived_gen.40, #Derived_gen.41, #Derived_gen.42, #Derived_gen.43):
|
||||
joinpoint List.690 List.175 List.176 List.177 List.178 List.179:
|
||||
let List.692 : Int1 = CallByName Num.22 List.178 List.179;
|
||||
if List.692 then
|
||||
let List.696 : {Str, Str} = CallByName List.66 List.175 List.178;
|
||||
inc List.696;
|
||||
let List.180 : {Str, Int1} = CallByName Inspect.229 List.176 List.696;
|
||||
let List.695 : U64 = 1i64;
|
||||
let List.694 : U64 = CallByName Num.51 List.178 List.695;
|
||||
jump List.690 List.175 List.180 List.177 List.694 List.179;
|
||||
else
|
||||
dec List.174;
|
||||
ret List.175;
|
||||
dec List.175;
|
||||
ret List.176;
|
||||
in
|
||||
inc #Derived_gen.42;
|
||||
jump List.680 #Derived_gen.42 #Derived_gen.43 #Derived_gen.44 #Derived_gen.45 #Derived_gen.46;
|
||||
inc #Derived_gen.39;
|
||||
jump List.690 #Derived_gen.39 #Derived_gen.40 #Derived_gen.41 #Derived_gen.42 #Derived_gen.43;
|
||||
|
||||
procedure List.18 (List.171, List.172, List.173):
|
||||
let List.666 : U64 = 0i64;
|
||||
let List.667 : U64 = CallByName List.6 List.171;
|
||||
let List.665 : {Str, Int1} = CallByName List.100 List.171 List.172 List.173 List.666 List.667;
|
||||
ret List.665;
|
||||
|
||||
procedure List.18 (List.171, List.172, List.173):
|
||||
let List.678 : U64 = 0i64;
|
||||
let List.679 : U64 = CallByName List.6 List.171;
|
||||
let List.677 : {Str, Int1} = CallByName List.100 List.171 List.172 List.173 List.678 List.679;
|
||||
ret List.677;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.676 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.676;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.688 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.688;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.675 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
procedure List.18 (List.172, List.173, List.174):
|
||||
let List.676 : U64 = 0i64;
|
||||
let List.677 : U64 = CallByName List.6 List.172;
|
||||
let List.675 : {Str, Int1} = CallByName List.101 List.172 List.173 List.174 List.676 List.677;
|
||||
ret List.675;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.687 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
procedure List.18 (List.172, List.173, List.174):
|
||||
let List.688 : U64 = 0i64;
|
||||
let List.689 : U64 = CallByName List.6 List.172;
|
||||
let List.687 : {Str, Int1} = CallByName List.101 List.172 List.173 List.174 List.688 List.689;
|
||||
ret List.687;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.686 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.686;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.698 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.698;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.685 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.685;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.697 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.697;
|
||||
|
||||
procedure Num.20 (#Attr.2, #Attr.3):
|
||||
let Num.290 : U64 = lowlevel NumSub #Attr.2 #Attr.3;
|
||||
ret Num.290;
|
||||
|
|
|
@ -150,36 +150,36 @@ procedure Inspect.63 (Inspect.295, Inspect.291):
|
|||
procedure Inspect.64 (Inspect.297):
|
||||
ret Inspect.297;
|
||||
|
||||
procedure List.100 (#Derived_gen.16, #Derived_gen.17, #Derived_gen.18, #Derived_gen.19, #Derived_gen.20):
|
||||
joinpoint List.668 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.670 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.670 then
|
||||
let List.674 : {[C I64, C Decimal], Str} = CallByName List.66 List.174 List.177;
|
||||
inc List.674;
|
||||
let List.179 : {Str, Int1} = CallByName Inspect.229 List.175 List.674;
|
||||
let List.673 : U64 = 1i64;
|
||||
let List.672 : U64 = CallByName Num.51 List.177 List.673;
|
||||
jump List.668 List.174 List.179 List.176 List.672 List.178;
|
||||
procedure List.101 (#Derived_gen.18, #Derived_gen.19, #Derived_gen.20, #Derived_gen.21, #Derived_gen.22):
|
||||
joinpoint List.678 List.175 List.176 List.177 List.178 List.179:
|
||||
let List.680 : Int1 = CallByName Num.22 List.178 List.179;
|
||||
if List.680 then
|
||||
let List.684 : {[C I64, C Decimal], Str} = CallByName List.66 List.175 List.178;
|
||||
inc List.684;
|
||||
let List.180 : {Str, Int1} = CallByName Inspect.229 List.176 List.684;
|
||||
let List.683 : U64 = 1i64;
|
||||
let List.682 : U64 = CallByName Num.51 List.178 List.683;
|
||||
jump List.678 List.175 List.180 List.177 List.682 List.179;
|
||||
else
|
||||
dec List.174;
|
||||
ret List.175;
|
||||
dec List.175;
|
||||
ret List.176;
|
||||
in
|
||||
inc #Derived_gen.16;
|
||||
jump List.668 #Derived_gen.16 #Derived_gen.17 #Derived_gen.18 #Derived_gen.19 #Derived_gen.20;
|
||||
inc #Derived_gen.18;
|
||||
jump List.678 #Derived_gen.18 #Derived_gen.19 #Derived_gen.20 #Derived_gen.21 #Derived_gen.22;
|
||||
|
||||
procedure List.18 (List.171, List.172, List.173):
|
||||
let List.666 : U64 = 0i64;
|
||||
let List.667 : U64 = CallByName List.6 List.171;
|
||||
let List.665 : {Str, Int1} = CallByName List.100 List.171 List.172 List.173 List.666 List.667;
|
||||
ret List.665;
|
||||
procedure List.18 (List.172, List.173, List.174):
|
||||
let List.676 : U64 = 0i64;
|
||||
let List.677 : U64 = CallByName List.6 List.172;
|
||||
let List.675 : {Str, Int1} = CallByName List.101 List.172 List.173 List.174 List.676 List.677;
|
||||
ret List.675;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.676 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.676;
|
||||
let List.686 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.686;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.675 : {[C I64, C Decimal], Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.675;
|
||||
let List.685 : {[C I64, C Decimal], Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.685;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.286 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
|
@ -160,36 +160,36 @@ procedure Inspect.63 (Inspect.295, Inspect.291):
|
|||
procedure Inspect.64 (Inspect.297):
|
||||
ret Inspect.297;
|
||||
|
||||
procedure List.100 (#Derived_gen.12, #Derived_gen.13, #Derived_gen.14, #Derived_gen.15, #Derived_gen.16):
|
||||
joinpoint List.668 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.670 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.670 then
|
||||
let List.674 : {Str, Str} = CallByName List.66 List.174 List.177;
|
||||
inc List.674;
|
||||
let List.179 : {Str, Int1} = CallByName Inspect.229 List.175 List.674;
|
||||
let List.673 : U64 = 1i64;
|
||||
let List.672 : U64 = CallByName Num.51 List.177 List.673;
|
||||
jump List.668 List.174 List.179 List.176 List.672 List.178;
|
||||
procedure List.101 (#Derived_gen.10, #Derived_gen.11, #Derived_gen.12, #Derived_gen.13, #Derived_gen.14):
|
||||
joinpoint List.678 List.175 List.176 List.177 List.178 List.179:
|
||||
let List.680 : Int1 = CallByName Num.22 List.178 List.179;
|
||||
if List.680 then
|
||||
let List.684 : {Str, Str} = CallByName List.66 List.175 List.178;
|
||||
inc List.684;
|
||||
let List.180 : {Str, Int1} = CallByName Inspect.229 List.176 List.684;
|
||||
let List.683 : U64 = 1i64;
|
||||
let List.682 : U64 = CallByName Num.51 List.178 List.683;
|
||||
jump List.678 List.175 List.180 List.177 List.682 List.179;
|
||||
else
|
||||
dec List.174;
|
||||
ret List.175;
|
||||
dec List.175;
|
||||
ret List.176;
|
||||
in
|
||||
inc #Derived_gen.12;
|
||||
jump List.668 #Derived_gen.12 #Derived_gen.13 #Derived_gen.14 #Derived_gen.15 #Derived_gen.16;
|
||||
inc #Derived_gen.10;
|
||||
jump List.678 #Derived_gen.10 #Derived_gen.11 #Derived_gen.12 #Derived_gen.13 #Derived_gen.14;
|
||||
|
||||
procedure List.18 (List.171, List.172, List.173):
|
||||
let List.666 : U64 = 0i64;
|
||||
let List.667 : U64 = CallByName List.6 List.171;
|
||||
let List.665 : {Str, Int1} = CallByName List.100 List.171 List.172 List.173 List.666 List.667;
|
||||
ret List.665;
|
||||
procedure List.18 (List.172, List.173, List.174):
|
||||
let List.676 : U64 = 0i64;
|
||||
let List.677 : U64 = CallByName List.6 List.172;
|
||||
let List.675 : {Str, Int1} = CallByName List.101 List.172 List.173 List.174 List.676 List.677;
|
||||
ret List.675;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.676 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.676;
|
||||
let List.686 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.686;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.675 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.675;
|
||||
let List.685 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.685;
|
||||
|
||||
procedure Num.20 (#Attr.2, #Attr.3):
|
||||
let Num.288 : U64 = lowlevel NumSub #Attr.2 #Attr.3;
|
||||
|
|
|
@ -167,36 +167,36 @@ procedure Inspect.63 (Inspect.295, Inspect.291):
|
|||
procedure Inspect.64 (Inspect.297):
|
||||
ret Inspect.297;
|
||||
|
||||
procedure List.100 (#Derived_gen.16, #Derived_gen.17, #Derived_gen.18, #Derived_gen.19, #Derived_gen.20):
|
||||
joinpoint List.668 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.670 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.670 then
|
||||
let List.674 : {Str, Str} = CallByName List.66 List.174 List.177;
|
||||
inc List.674;
|
||||
let List.179 : {Str, Int1} = CallByName Inspect.229 List.175 List.674;
|
||||
let List.673 : U64 = 1i64;
|
||||
let List.672 : U64 = CallByName Num.51 List.177 List.673;
|
||||
jump List.668 List.174 List.179 List.176 List.672 List.178;
|
||||
procedure List.101 (#Derived_gen.14, #Derived_gen.15, #Derived_gen.16, #Derived_gen.17, #Derived_gen.18):
|
||||
joinpoint List.678 List.175 List.176 List.177 List.178 List.179:
|
||||
let List.680 : Int1 = CallByName Num.22 List.178 List.179;
|
||||
if List.680 then
|
||||
let List.684 : {Str, Str} = CallByName List.66 List.175 List.178;
|
||||
inc List.684;
|
||||
let List.180 : {Str, Int1} = CallByName Inspect.229 List.176 List.684;
|
||||
let List.683 : U64 = 1i64;
|
||||
let List.682 : U64 = CallByName Num.51 List.178 List.683;
|
||||
jump List.678 List.175 List.180 List.177 List.682 List.179;
|
||||
else
|
||||
dec List.174;
|
||||
ret List.175;
|
||||
dec List.175;
|
||||
ret List.176;
|
||||
in
|
||||
inc #Derived_gen.16;
|
||||
jump List.668 #Derived_gen.16 #Derived_gen.17 #Derived_gen.18 #Derived_gen.19 #Derived_gen.20;
|
||||
inc #Derived_gen.14;
|
||||
jump List.678 #Derived_gen.14 #Derived_gen.15 #Derived_gen.16 #Derived_gen.17 #Derived_gen.18;
|
||||
|
||||
procedure List.18 (List.171, List.172, List.173):
|
||||
let List.666 : U64 = 0i64;
|
||||
let List.667 : U64 = CallByName List.6 List.171;
|
||||
let List.665 : {Str, Int1} = CallByName List.100 List.171 List.172 List.173 List.666 List.667;
|
||||
ret List.665;
|
||||
procedure List.18 (List.172, List.173, List.174):
|
||||
let List.676 : U64 = 0i64;
|
||||
let List.677 : U64 = CallByName List.6 List.172;
|
||||
let List.675 : {Str, Int1} = CallByName List.101 List.172 List.173 List.174 List.676 List.677;
|
||||
ret List.675;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.676 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.676;
|
||||
let List.686 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.686;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.675 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.675;
|
||||
let List.685 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.685;
|
||||
|
||||
procedure Num.20 (#Attr.2, #Attr.3):
|
||||
let Num.288 : U64 = lowlevel NumSub #Attr.2 #Attr.3;
|
||||
|
|
|
@ -156,43 +156,43 @@ procedure Inspect.63 (Inspect.295, Inspect.291):
|
|||
procedure Inspect.64 (Inspect.297):
|
||||
ret Inspect.297;
|
||||
|
||||
procedure List.1 (List.118):
|
||||
let List.678 : U64 = CallByName List.6 List.118;
|
||||
let List.679 : U64 = 0i64;
|
||||
let List.677 : Int1 = CallByName Bool.11 List.678 List.679;
|
||||
ret List.677;
|
||||
procedure List.1 (List.119):
|
||||
let List.688 : U64 = CallByName List.6 List.119;
|
||||
let List.689 : U64 = 0i64;
|
||||
let List.687 : Int1 = CallByName Bool.11 List.688 List.689;
|
||||
ret List.687;
|
||||
|
||||
procedure List.100 (#Derived_gen.23, #Derived_gen.24, #Derived_gen.25, #Derived_gen.26, #Derived_gen.27):
|
||||
joinpoint List.668 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.670 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.670 then
|
||||
let List.674 : Str = CallByName List.66 List.174 List.177;
|
||||
inc List.674;
|
||||
let List.179 : Str = CallByName Inspect.207 List.175 List.674;
|
||||
dec List.674;
|
||||
let List.673 : U64 = 1i64;
|
||||
let List.672 : U64 = CallByName Num.51 List.177 List.673;
|
||||
jump List.668 List.174 List.179 List.176 List.672 List.178;
|
||||
procedure List.101 (#Derived_gen.11, #Derived_gen.12, #Derived_gen.13, #Derived_gen.14, #Derived_gen.15):
|
||||
joinpoint List.678 List.175 List.176 List.177 List.178 List.179:
|
||||
let List.680 : Int1 = CallByName Num.22 List.178 List.179;
|
||||
if List.680 then
|
||||
let List.684 : Str = CallByName List.66 List.175 List.178;
|
||||
inc List.684;
|
||||
let List.180 : Str = CallByName Inspect.207 List.176 List.684;
|
||||
dec List.684;
|
||||
let List.683 : U64 = 1i64;
|
||||
let List.682 : U64 = CallByName Num.51 List.178 List.683;
|
||||
jump List.678 List.175 List.180 List.177 List.682 List.179;
|
||||
else
|
||||
dec List.174;
|
||||
ret List.175;
|
||||
dec List.175;
|
||||
ret List.176;
|
||||
in
|
||||
inc #Derived_gen.23;
|
||||
jump List.668 #Derived_gen.23 #Derived_gen.24 #Derived_gen.25 #Derived_gen.26 #Derived_gen.27;
|
||||
inc #Derived_gen.11;
|
||||
jump List.678 #Derived_gen.11 #Derived_gen.12 #Derived_gen.13 #Derived_gen.14 #Derived_gen.15;
|
||||
|
||||
procedure List.18 (List.171, List.172, List.173):
|
||||
let List.666 : U64 = 0i64;
|
||||
let List.667 : U64 = CallByName List.6 List.171;
|
||||
let List.665 : Str = CallByName List.100 List.171 List.172 List.173 List.666 List.667;
|
||||
ret List.665;
|
||||
procedure List.18 (List.172, List.173, List.174):
|
||||
let List.676 : U64 = 0i64;
|
||||
let List.677 : U64 = CallByName List.6 List.172;
|
||||
let List.675 : Str = CallByName List.101 List.172 List.173 List.174 List.676 List.677;
|
||||
ret List.675;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.676 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.676;
|
||||
let List.686 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.686;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.675 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.675;
|
||||
let List.685 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.685;
|
||||
|
||||
procedure Num.20 (#Attr.2, #Attr.3):
|
||||
let Num.288 : U64 = lowlevel NumSub #Attr.2 #Attr.3;
|
||||
|
@ -290,7 +290,7 @@ procedure Str.45 (Str.91, Str.92, Str.93):
|
|||
dec Str.341;
|
||||
ret Str.91;
|
||||
|
||||
procedure Str.56 (#Derived_gen.19, #Derived_gen.20, #Derived_gen.21, #Derived_gen.22):
|
||||
procedure Str.56 (#Derived_gen.24, #Derived_gen.25, #Derived_gen.26, #Derived_gen.27):
|
||||
joinpoint Str.250 Str.96 Str.97 Str.98 Str.99:
|
||||
inc Str.97;
|
||||
let Str.251 : [C {}, C {Str, Str}] = CallByName Str.38 Str.97 Str.98;
|
||||
|
@ -314,9 +314,9 @@ procedure Str.56 (#Derived_gen.19, #Derived_gen.20, #Derived_gen.21, #Derived_ge
|
|||
dec Str.97;
|
||||
ret Str.255;
|
||||
in
|
||||
inc #Derived_gen.21;
|
||||
inc #Derived_gen.22;
|
||||
jump Str.250 #Derived_gen.19 #Derived_gen.20 #Derived_gen.21 #Derived_gen.22;
|
||||
inc #Derived_gen.27;
|
||||
inc #Derived_gen.26;
|
||||
jump Str.250 #Derived_gen.24 #Derived_gen.25 #Derived_gen.26 #Derived_gen.27;
|
||||
|
||||
procedure Str.57 (Str.121, Str.122):
|
||||
let Str.123 : U64 = CallByName Str.36 Str.121;
|
||||
|
@ -326,7 +326,7 @@ procedure Str.57 (Str.121, Str.122):
|
|||
let Str.276 : [C , C U64] = CallByName Str.58 Str.121 Str.122 Str.277 Str.125;
|
||||
ret Str.276;
|
||||
|
||||
procedure Str.58 (#Derived_gen.13, #Derived_gen.14, #Derived_gen.15, #Derived_gen.16):
|
||||
procedure Str.58 (#Derived_gen.18, #Derived_gen.19, #Derived_gen.20, #Derived_gen.21):
|
||||
joinpoint Str.278 Str.126 Str.127 Str.128 Str.129:
|
||||
let Str.280 : Int1 = CallByName Num.23 Str.128 Str.129;
|
||||
if Str.280 then
|
||||
|
@ -346,9 +346,9 @@ procedure Str.58 (#Derived_gen.13, #Derived_gen.14, #Derived_gen.15, #Derived_ge
|
|||
let Str.279 : [C , C U64] = TagId(0) ;
|
||||
ret Str.279;
|
||||
in
|
||||
inc #Derived_gen.14;
|
||||
inc #Derived_gen.13;
|
||||
jump Str.278 #Derived_gen.13 #Derived_gen.14 #Derived_gen.15 #Derived_gen.16;
|
||||
inc #Derived_gen.18;
|
||||
inc #Derived_gen.19;
|
||||
jump Str.278 #Derived_gen.18 #Derived_gen.19 #Derived_gen.20 #Derived_gen.21;
|
||||
|
||||
procedure Str.61 (Str.152, Str.153):
|
||||
let Str.308 : Int1 = CallByName Num.22 Str.152 Str.153;
|
||||
|
|
|
@ -159,43 +159,43 @@ procedure Inspect.63 (Inspect.295, Inspect.291):
|
|||
procedure Inspect.64 (Inspect.297):
|
||||
ret Inspect.297;
|
||||
|
||||
procedure List.1 (List.118):
|
||||
let List.678 : U64 = CallByName List.6 List.118;
|
||||
let List.679 : U64 = 0i64;
|
||||
let List.677 : Int1 = CallByName Bool.11 List.678 List.679;
|
||||
ret List.677;
|
||||
procedure List.1 (List.119):
|
||||
let List.688 : U64 = CallByName List.6 List.119;
|
||||
let List.689 : U64 = 0i64;
|
||||
let List.687 : Int1 = CallByName Bool.11 List.688 List.689;
|
||||
ret List.687;
|
||||
|
||||
procedure List.100 (#Derived_gen.18, #Derived_gen.19, #Derived_gen.20, #Derived_gen.21, #Derived_gen.22):
|
||||
joinpoint List.668 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.670 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.670 then
|
||||
let List.674 : Str = CallByName List.66 List.174 List.177;
|
||||
inc List.674;
|
||||
let List.179 : Str = CallByName Inspect.207 List.175 List.674;
|
||||
dec List.674;
|
||||
let List.673 : U64 = 1i64;
|
||||
let List.672 : U64 = CallByName Num.51 List.177 List.673;
|
||||
jump List.668 List.174 List.179 List.176 List.672 List.178;
|
||||
procedure List.101 (#Derived_gen.26, #Derived_gen.27, #Derived_gen.28, #Derived_gen.29, #Derived_gen.30):
|
||||
joinpoint List.678 List.175 List.176 List.177 List.178 List.179:
|
||||
let List.680 : Int1 = CallByName Num.22 List.178 List.179;
|
||||
if List.680 then
|
||||
let List.684 : Str = CallByName List.66 List.175 List.178;
|
||||
inc List.684;
|
||||
let List.180 : Str = CallByName Inspect.207 List.176 List.684;
|
||||
dec List.684;
|
||||
let List.683 : U64 = 1i64;
|
||||
let List.682 : U64 = CallByName Num.51 List.178 List.683;
|
||||
jump List.678 List.175 List.180 List.177 List.682 List.179;
|
||||
else
|
||||
dec List.174;
|
||||
ret List.175;
|
||||
dec List.175;
|
||||
ret List.176;
|
||||
in
|
||||
inc #Derived_gen.18;
|
||||
jump List.668 #Derived_gen.18 #Derived_gen.19 #Derived_gen.20 #Derived_gen.21 #Derived_gen.22;
|
||||
inc #Derived_gen.26;
|
||||
jump List.678 #Derived_gen.26 #Derived_gen.27 #Derived_gen.28 #Derived_gen.29 #Derived_gen.30;
|
||||
|
||||
procedure List.18 (List.171, List.172, List.173):
|
||||
let List.666 : U64 = 0i64;
|
||||
let List.667 : U64 = CallByName List.6 List.171;
|
||||
let List.665 : Str = CallByName List.100 List.171 List.172 List.173 List.666 List.667;
|
||||
ret List.665;
|
||||
procedure List.18 (List.172, List.173, List.174):
|
||||
let List.676 : U64 = 0i64;
|
||||
let List.677 : U64 = CallByName List.6 List.172;
|
||||
let List.675 : Str = CallByName List.101 List.172 List.173 List.174 List.676 List.677;
|
||||
ret List.675;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.676 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.676;
|
||||
let List.686 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.686;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.675 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.675;
|
||||
let List.685 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.685;
|
||||
|
||||
procedure Num.20 (#Attr.2, #Attr.3):
|
||||
let Num.288 : U64 = lowlevel NumSub #Attr.2 #Attr.3;
|
||||
|
@ -293,7 +293,7 @@ procedure Str.45 (Str.91, Str.92, Str.93):
|
|||
dec Str.385;
|
||||
ret Str.91;
|
||||
|
||||
procedure Str.56 (#Derived_gen.25, #Derived_gen.26, #Derived_gen.27, #Derived_gen.28):
|
||||
procedure Str.56 (#Derived_gen.20, #Derived_gen.21, #Derived_gen.22, #Derived_gen.23):
|
||||
joinpoint Str.250 Str.96 Str.97 Str.98 Str.99:
|
||||
inc Str.97;
|
||||
let Str.251 : [C {}, C {Str, Str}] = CallByName Str.38 Str.97 Str.98;
|
||||
|
@ -317,9 +317,9 @@ procedure Str.56 (#Derived_gen.25, #Derived_gen.26, #Derived_gen.27, #Derived_ge
|
|||
dec Str.97;
|
||||
ret Str.255;
|
||||
in
|
||||
inc #Derived_gen.28;
|
||||
inc #Derived_gen.27;
|
||||
jump Str.250 #Derived_gen.25 #Derived_gen.26 #Derived_gen.27 #Derived_gen.28;
|
||||
inc #Derived_gen.23;
|
||||
inc #Derived_gen.22;
|
||||
jump Str.250 #Derived_gen.20 #Derived_gen.21 #Derived_gen.22 #Derived_gen.23;
|
||||
|
||||
procedure Str.57 (Str.121, Str.122):
|
||||
let Str.123 : U64 = CallByName Str.36 Str.121;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
procedure List.6 (#Attr.2):
|
||||
let List.665 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.665;
|
||||
let List.675 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.675;
|
||||
|
||||
procedure Num.19 (#Attr.2, #Attr.3):
|
||||
let Num.285 : U64 = lowlevel NumAdd #Attr.2 #Attr.3;
|
||||
|
|
|
@ -6,40 +6,40 @@ procedure Bool.2 ():
|
|||
let Bool.23 : Int1 = true;
|
||||
ret Bool.23;
|
||||
|
||||
procedure List.2 (List.119, List.120):
|
||||
let List.679 : U64 = CallByName List.6 List.119;
|
||||
let List.675 : Int1 = CallByName Num.22 List.120 List.679;
|
||||
if List.675 then
|
||||
let List.677 : I64 = CallByName List.66 List.119 List.120;
|
||||
let List.676 : [C {}, C I64] = TagId(1) List.677;
|
||||
ret List.676;
|
||||
procedure List.2 (List.120, List.121):
|
||||
let List.689 : U64 = CallByName List.6 List.120;
|
||||
let List.685 : Int1 = CallByName Num.22 List.121 List.689;
|
||||
if List.685 then
|
||||
let List.687 : I64 = CallByName List.66 List.120 List.121;
|
||||
let List.686 : [C {}, C I64] = TagId(1) List.687;
|
||||
ret List.686;
|
||||
else
|
||||
let List.674 : {} = Struct {};
|
||||
let List.673 : [C {}, C I64] = TagId(0) List.674;
|
||||
ret List.673;
|
||||
let List.684 : {} = Struct {};
|
||||
let List.683 : [C {}, C I64] = TagId(0) List.684;
|
||||
ret List.683;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.680 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.680;
|
||||
let List.690 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.690;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.678 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.678;
|
||||
let List.688 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.688;
|
||||
|
||||
procedure List.9 (List.391):
|
||||
let List.672 : U64 = 0i64;
|
||||
let List.665 : [C {}, C I64] = CallByName List.2 List.391 List.672;
|
||||
let List.669 : U8 = 1i64;
|
||||
let List.670 : U8 = GetTagId List.665;
|
||||
let List.671 : Int1 = lowlevel Eq List.669 List.670;
|
||||
if List.671 then
|
||||
let List.392 : I64 = UnionAtIndex (Id 1) (Index 0) List.665;
|
||||
let List.666 : [C Int1, C I64] = TagId(1) List.392;
|
||||
ret List.666;
|
||||
procedure List.9 (List.392):
|
||||
let List.682 : U64 = 0i64;
|
||||
let List.675 : [C {}, C I64] = CallByName List.2 List.392 List.682;
|
||||
let List.679 : U8 = 1i64;
|
||||
let List.680 : U8 = GetTagId List.675;
|
||||
let List.681 : Int1 = lowlevel Eq List.679 List.680;
|
||||
if List.681 then
|
||||
let List.393 : I64 = UnionAtIndex (Id 1) (Index 0) List.675;
|
||||
let List.676 : [C Int1, C I64] = TagId(1) List.393;
|
||||
ret List.676;
|
||||
else
|
||||
let List.668 : Int1 = true;
|
||||
let List.667 : [C Int1, C I64] = TagId(0) List.668;
|
||||
ret List.667;
|
||||
let List.678 : Int1 = true;
|
||||
let List.677 : [C Int1, C I64] = TagId(0) List.678;
|
||||
ret List.677;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.283 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
208
crates/compiler/test_mono/generated/issue_4770.txt
generated
208
crates/compiler/test_mono/generated/issue_4770.txt
generated
|
@ -6,118 +6,118 @@ procedure Bool.2 ():
|
|||
let Bool.24 : Int1 = true;
|
||||
ret Bool.24;
|
||||
|
||||
procedure List.105 (#Derived_gen.6, #Derived_gen.7, #Derived_gen.8, #Derived_gen.9, #Derived_gen.10, #Derived_gen.11):
|
||||
joinpoint List.703 List.290 List.291 List.292 List.293 List.294 List.295:
|
||||
let List.705 : Int1 = CallByName Num.22 List.294 List.295;
|
||||
if List.705 then
|
||||
let List.711 : [<r>C I64, C List *self] = CallByName List.66 List.290 List.294;
|
||||
inc List.711;
|
||||
let List.712 : [<r>C I64, C List *self] = CallByName List.66 List.291 List.294;
|
||||
inc List.712;
|
||||
let List.296 : {[<r>C I64, C List *self], [<r>C I64, C List *self]} = CallByName Test.15 List.711 List.712;
|
||||
let List.707 : List {[<r>C I64, C List *self], [<r>C I64, C List *self]} = CallByName List.71 List.292 List.296;
|
||||
let List.709 : U64 = 1i64;
|
||||
let List.708 : U64 = CallByName Num.51 List.294 List.709;
|
||||
jump List.703 List.290 List.291 List.707 List.293 List.708 List.295;
|
||||
procedure List.106 (#Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.4, #Derived_gen.5, #Derived_gen.6):
|
||||
joinpoint List.713 List.291 List.292 List.293 List.294 List.295 List.296:
|
||||
let List.715 : Int1 = CallByName Num.22 List.295 List.296;
|
||||
if List.715 then
|
||||
let List.721 : [<r>C I64, C List *self] = CallByName List.66 List.291 List.295;
|
||||
inc List.721;
|
||||
let List.722 : [<r>C I64, C List *self] = CallByName List.66 List.292 List.295;
|
||||
inc List.722;
|
||||
let List.297 : {[<r>C I64, C List *self], [<r>C I64, C List *self]} = CallByName Test.15 List.721 List.722;
|
||||
let List.717 : List {[<r>C I64, C List *self], [<r>C I64, C List *self]} = CallByName List.71 List.293 List.297;
|
||||
let List.719 : U64 = 1i64;
|
||||
let List.718 : U64 = CallByName Num.51 List.295 List.719;
|
||||
jump List.713 List.291 List.292 List.717 List.294 List.718 List.296;
|
||||
else
|
||||
dec List.291;
|
||||
dec List.290;
|
||||
ret List.292;
|
||||
dec List.292;
|
||||
ret List.293;
|
||||
in
|
||||
inc #Derived_gen.6;
|
||||
inc #Derived_gen.7;
|
||||
jump List.703 #Derived_gen.6 #Derived_gen.7 #Derived_gen.8 #Derived_gen.9 #Derived_gen.10 #Derived_gen.11;
|
||||
inc #Derived_gen.1;
|
||||
inc #Derived_gen.2;
|
||||
jump List.713 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4 #Derived_gen.5 #Derived_gen.6;
|
||||
|
||||
procedure List.115 (List.562, List.563, List.564):
|
||||
let List.679 : U64 = 0i64;
|
||||
let List.680 : U64 = CallByName List.6 List.562;
|
||||
let List.678 : [C {}, C {}] = CallByName List.80 List.562 List.563 List.564 List.679 List.680;
|
||||
ret List.678;
|
||||
procedure List.116 (List.563, List.564, List.565):
|
||||
let List.689 : U64 = 0i64;
|
||||
let List.690 : U64 = CallByName List.6 List.563;
|
||||
let List.688 : [C {}, C {}] = CallByName List.80 List.563 List.564 List.565 List.689 List.690;
|
||||
ret List.688;
|
||||
|
||||
procedure List.23 (List.286, List.287, List.288):
|
||||
let List.715 : U64 = CallByName List.6 List.286;
|
||||
let List.716 : U64 = CallByName List.6 List.287;
|
||||
let List.289 : U64 = CallByName Num.148 List.715 List.716;
|
||||
let List.701 : List {[<r>C I64, C List *self], [<r>C I64, C List *self]} = CallByName List.68 List.289;
|
||||
let List.702 : U64 = 0i64;
|
||||
let List.700 : List {[<r>C I64, C List *self], [<r>C I64, C List *self]} = CallByName List.105 List.286 List.287 List.701 List.288 List.702 List.289;
|
||||
ret List.700;
|
||||
|
||||
procedure List.247 (List.667, List.248, List.246):
|
||||
let List.697 : Int1 = CallByName Test.1 List.248;
|
||||
if List.697 then
|
||||
let List.699 : {} = Struct {};
|
||||
let List.698 : [C {}, C {}] = TagId(1) List.699;
|
||||
ret List.698;
|
||||
else
|
||||
let List.696 : {} = Struct {};
|
||||
let List.695 : [C {}, C {}] = TagId(0) List.696;
|
||||
ret List.695;
|
||||
|
||||
procedure List.56 (List.245, List.246):
|
||||
let List.676 : {} = Struct {};
|
||||
let List.668 : [C {}, C {}] = CallByName List.115 List.245 List.676 List.246;
|
||||
let List.673 : U8 = 1i64;
|
||||
let List.674 : U8 = GetTagId List.668;
|
||||
let List.675 : Int1 = lowlevel Eq List.673 List.674;
|
||||
if List.675 then
|
||||
let List.669 : Int1 = CallByName Bool.2;
|
||||
ret List.669;
|
||||
else
|
||||
let List.670 : Int1 = CallByName Bool.1;
|
||||
ret List.670;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.666 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.666;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.694 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.694;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.693 : {[<r>C I64, C List *self], [<r>C I64, C List *self]} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.693;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.713 : [<r>C I64, C List *self] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.713;
|
||||
|
||||
procedure List.68 (#Attr.2):
|
||||
let List.714 : List {[<r>C I64, C List *self], [<r>C I64, C List *self]} = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.714;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.710 : List {[<r>C I64, C List *self], [<r>C I64, C List *self]} = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
procedure List.23 (List.287, List.288, List.289):
|
||||
let List.725 : U64 = CallByName List.6 List.287;
|
||||
let List.726 : U64 = CallByName List.6 List.288;
|
||||
let List.290 : U64 = CallByName Num.148 List.725 List.726;
|
||||
let List.711 : List {[<r>C I64, C List *self], [<r>C I64, C List *self]} = CallByName List.68 List.290;
|
||||
let List.712 : U64 = 0i64;
|
||||
let List.710 : List {[<r>C I64, C List *self], [<r>C I64, C List *self]} = CallByName List.106 List.287 List.288 List.711 List.289 List.712 List.290;
|
||||
ret List.710;
|
||||
|
||||
procedure List.80 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.4):
|
||||
joinpoint List.681 List.565 List.566 List.567 List.568 List.569:
|
||||
let List.683 : Int1 = CallByName Num.22 List.568 List.569;
|
||||
if List.683 then
|
||||
let List.692 : {[<r>C I64, C List *self], [<r>C I64, C List *self]} = CallByName List.66 List.565 List.568;
|
||||
inc List.692;
|
||||
let List.684 : [C {}, C {}] = CallByName List.247 List.566 List.692 List.567;
|
||||
let List.689 : U8 = 1i64;
|
||||
let List.690 : U8 = GetTagId List.684;
|
||||
let List.691 : Int1 = lowlevel Eq List.689 List.690;
|
||||
if List.691 then
|
||||
let List.570 : {} = UnionAtIndex (Id 1) (Index 0) List.684;
|
||||
let List.687 : U64 = 1i64;
|
||||
let List.686 : U64 = CallByName Num.51 List.568 List.687;
|
||||
jump List.681 List.565 List.570 List.567 List.686 List.569;
|
||||
procedure List.248 (List.677, List.249, List.247):
|
||||
let List.707 : Int1 = CallByName Test.1 List.249;
|
||||
if List.707 then
|
||||
let List.709 : {} = Struct {};
|
||||
let List.708 : [C {}, C {}] = TagId(1) List.709;
|
||||
ret List.708;
|
||||
else
|
||||
dec List.565;
|
||||
let List.571 : {} = UnionAtIndex (Id 0) (Index 0) List.684;
|
||||
let List.688 : [C {}, C {}] = TagId(0) List.571;
|
||||
ret List.688;
|
||||
let List.706 : {} = Struct {};
|
||||
let List.705 : [C {}, C {}] = TagId(0) List.706;
|
||||
ret List.705;
|
||||
|
||||
procedure List.56 (List.246, List.247):
|
||||
let List.686 : {} = Struct {};
|
||||
let List.678 : [C {}, C {}] = CallByName List.116 List.246 List.686 List.247;
|
||||
let List.683 : U8 = 1i64;
|
||||
let List.684 : U8 = GetTagId List.678;
|
||||
let List.685 : Int1 = lowlevel Eq List.683 List.684;
|
||||
if List.685 then
|
||||
let List.679 : Int1 = CallByName Bool.2;
|
||||
ret List.679;
|
||||
else
|
||||
dec List.565;
|
||||
let List.682 : [C {}, C {}] = TagId(1) List.566;
|
||||
ret List.682;
|
||||
let List.680 : Int1 = CallByName Bool.1;
|
||||
ret List.680;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.676 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.676;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.704 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.704;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.703 : {[<r>C I64, C List *self], [<r>C I64, C List *self]} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.703;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.723 : [<r>C I64, C List *self] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.723;
|
||||
|
||||
procedure List.68 (#Attr.2):
|
||||
let List.724 : List {[<r>C I64, C List *self], [<r>C I64, C List *self]} = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.724;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.720 : List {[<r>C I64, C List *self], [<r>C I64, C List *self]} = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.720;
|
||||
|
||||
procedure List.80 (#Derived_gen.7, #Derived_gen.8, #Derived_gen.9, #Derived_gen.10, #Derived_gen.11):
|
||||
joinpoint List.691 List.566 List.567 List.568 List.569 List.570:
|
||||
let List.693 : Int1 = CallByName Num.22 List.569 List.570;
|
||||
if List.693 then
|
||||
let List.702 : {[<r>C I64, C List *self], [<r>C I64, C List *self]} = CallByName List.66 List.566 List.569;
|
||||
inc List.702;
|
||||
let List.694 : [C {}, C {}] = CallByName List.248 List.567 List.702 List.568;
|
||||
let List.699 : U8 = 1i64;
|
||||
let List.700 : U8 = GetTagId List.694;
|
||||
let List.701 : Int1 = lowlevel Eq List.699 List.700;
|
||||
if List.701 then
|
||||
let List.571 : {} = UnionAtIndex (Id 1) (Index 0) List.694;
|
||||
let List.697 : U64 = 1i64;
|
||||
let List.696 : U64 = CallByName Num.51 List.569 List.697;
|
||||
jump List.691 List.566 List.571 List.568 List.696 List.570;
|
||||
else
|
||||
dec List.566;
|
||||
let List.572 : {} = UnionAtIndex (Id 0) (Index 0) List.694;
|
||||
let List.698 : [C {}, C {}] = TagId(0) List.572;
|
||||
ret List.698;
|
||||
else
|
||||
dec List.566;
|
||||
let List.692 : [C {}, C {}] = TagId(1) List.567;
|
||||
ret List.692;
|
||||
in
|
||||
inc #Derived_gen.0;
|
||||
jump List.681 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
|
||||
inc #Derived_gen.7;
|
||||
jump List.691 #Derived_gen.7 #Derived_gen.8 #Derived_gen.9 #Derived_gen.10 #Derived_gen.11;
|
||||
|
||||
procedure Num.148 (Num.226, Num.227):
|
||||
let Num.290 : Int1 = CallByName Num.22 Num.226 Num.227;
|
||||
|
@ -138,7 +138,7 @@ procedure Num.51 (#Attr.2, #Attr.3):
|
|||
let Num.286 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
|
||||
ret Num.286;
|
||||
|
||||
procedure Test.1 (#Derived_gen.5):
|
||||
procedure Test.1 (#Derived_gen.0):
|
||||
joinpoint Test.26 Test.6:
|
||||
let Test.65 : [<r>C I64, C List *self] = StructAtIndex 1 Test.6;
|
||||
let Test.66 : U8 = 0i64;
|
||||
|
@ -220,7 +220,7 @@ procedure Test.1 (#Derived_gen.5):
|
|||
let Test.44 : {[<r>C I64, C List *self], [<r>C I64, C List *self]} = Struct {Test.45, Test.46};
|
||||
jump Test.26 Test.44;
|
||||
in
|
||||
jump Test.26 #Derived_gen.5;
|
||||
jump Test.26 #Derived_gen.0;
|
||||
|
||||
procedure Test.15 (Test.16, Test.17):
|
||||
let Test.36 : {[<r>C I64, C List *self], [<r>C I64, C List *self]} = Struct {Test.16, Test.17};
|
||||
|
|
|
@ -1,33 +1,33 @@
|
|||
procedure List.100 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.4):
|
||||
joinpoint List.668 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.670 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.670 then
|
||||
let List.674 : [<rnu>C *self, <null>] = CallByName List.66 List.174 List.177;
|
||||
inc List.674;
|
||||
let List.179 : [<rnu><null>, C {[<rnu>C *self, <null>], *self}] = CallByName Test.7 List.175 List.674;
|
||||
let List.673 : U64 = 1i64;
|
||||
let List.672 : U64 = CallByName Num.51 List.177 List.673;
|
||||
jump List.668 List.174 List.179 List.176 List.672 List.178;
|
||||
procedure List.101 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.4):
|
||||
joinpoint List.678 List.175 List.176 List.177 List.178 List.179:
|
||||
let List.680 : Int1 = CallByName Num.22 List.178 List.179;
|
||||
if List.680 then
|
||||
let List.684 : [<rnu>C *self, <null>] = CallByName List.66 List.175 List.178;
|
||||
inc List.684;
|
||||
let List.180 : [<rnu><null>, C {[<rnu>C *self, <null>], *self}] = CallByName Test.7 List.176 List.684;
|
||||
let List.683 : U64 = 1i64;
|
||||
let List.682 : U64 = CallByName Num.51 List.178 List.683;
|
||||
jump List.678 List.175 List.180 List.177 List.682 List.179;
|
||||
else
|
||||
dec List.174;
|
||||
ret List.175;
|
||||
dec List.175;
|
||||
ret List.176;
|
||||
in
|
||||
inc #Derived_gen.0;
|
||||
jump List.668 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
|
||||
jump List.678 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
|
||||
|
||||
procedure List.18 (List.171, List.172, List.173):
|
||||
let List.666 : U64 = 0i64;
|
||||
let List.667 : U64 = CallByName List.6 List.171;
|
||||
let List.665 : [<rnu><null>, C {[<rnu>C *self, <null>], *self}] = CallByName List.100 List.171 List.172 List.173 List.666 List.667;
|
||||
ret List.665;
|
||||
procedure List.18 (List.172, List.173, List.174):
|
||||
let List.676 : U64 = 0i64;
|
||||
let List.677 : U64 = CallByName List.6 List.172;
|
||||
let List.675 : [<rnu><null>, C {[<rnu>C *self, <null>], *self}] = CallByName List.101 List.172 List.173 List.174 List.676 List.677;
|
||||
ret List.675;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.676 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.676;
|
||||
let List.686 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.686;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.675 : [<rnu>C *self, <null>] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.675;
|
||||
let List.685 : [<rnu>C *self, <null>] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.685;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.284 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
18
crates/compiler/test_mono/generated/list_append.txt
generated
18
crates/compiler/test_mono/generated/list_append.txt
generated
|
@ -1,16 +1,16 @@
|
|||
procedure List.4 (List.135, List.136):
|
||||
let List.668 : U64 = 1i64;
|
||||
let List.666 : List I64 = CallByName List.70 List.135 List.668;
|
||||
let List.665 : List I64 = CallByName List.71 List.666 List.136;
|
||||
ret List.665;
|
||||
procedure List.4 (List.136, List.137):
|
||||
let List.678 : U64 = 1i64;
|
||||
let List.676 : List I64 = CallByName List.70 List.136 List.678;
|
||||
let List.675 : List I64 = CallByName List.71 List.676 List.137;
|
||||
ret List.675;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.669 : List I64 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.669;
|
||||
let List.679 : List I64 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.679;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.667 : List I64 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.667;
|
||||
let List.677 : List I64 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.677;
|
||||
|
||||
procedure Test.0 ():
|
||||
let Test.2 : List I64 = Array [1i64];
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
procedure List.4 (List.135, List.136):
|
||||
let List.668 : U64 = 1i64;
|
||||
let List.666 : List I64 = CallByName List.70 List.135 List.668;
|
||||
let List.665 : List I64 = CallByName List.71 List.666 List.136;
|
||||
ret List.665;
|
||||
procedure List.4 (List.136, List.137):
|
||||
let List.678 : U64 = 1i64;
|
||||
let List.676 : List I64 = CallByName List.70 List.136 List.678;
|
||||
let List.675 : List I64 = CallByName List.71 List.676 List.137;
|
||||
ret List.675;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.669 : List I64 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.669;
|
||||
let List.679 : List I64 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.679;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.667 : List I64 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.667;
|
||||
let List.677 : List I64 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.677;
|
||||
|
||||
procedure Test.1 (Test.2):
|
||||
let Test.6 : I64 = 42i64;
|
||||
|
|
|
@ -1,25 +1,25 @@
|
|||
procedure List.3 (List.127, List.128, List.129):
|
||||
let List.668 : {List I64, I64} = CallByName List.64 List.127 List.128 List.129;
|
||||
let List.667 : List I64 = StructAtIndex 0 List.668;
|
||||
ret List.667;
|
||||
procedure List.3 (List.128, List.129, List.130):
|
||||
let List.678 : {List I64, I64} = CallByName List.64 List.128 List.129 List.130;
|
||||
let List.677 : List I64 = StructAtIndex 0 List.678;
|
||||
ret List.677;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.666 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.666;
|
||||
let List.676 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.676;
|
||||
|
||||
procedure List.64 (List.124, List.125, List.126):
|
||||
let List.673 : U64 = CallByName List.6 List.124;
|
||||
let List.670 : Int1 = CallByName Num.22 List.125 List.673;
|
||||
if List.670 then
|
||||
let List.671 : {List I64, I64} = CallByName List.67 List.124 List.125 List.126;
|
||||
ret List.671;
|
||||
procedure List.64 (List.125, List.126, List.127):
|
||||
let List.683 : U64 = CallByName List.6 List.125;
|
||||
let List.680 : Int1 = CallByName Num.22 List.126 List.683;
|
||||
if List.680 then
|
||||
let List.681 : {List I64, I64} = CallByName List.67 List.125 List.126 List.127;
|
||||
ret List.681;
|
||||
else
|
||||
let List.669 : {List I64, I64} = Struct {List.124, List.126};
|
||||
ret List.669;
|
||||
let List.679 : {List I64, I64} = Struct {List.125, List.127};
|
||||
ret List.679;
|
||||
|
||||
procedure List.67 (#Attr.2, #Attr.3, #Attr.4):
|
||||
let List.672 : {List I64, I64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.672;
|
||||
let List.682 : {List I64, I64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.682;
|
||||
|
||||
procedure Num.19 (#Attr.2, #Attr.3):
|
||||
let Num.283 : U64 = lowlevel NumAdd #Attr.2 #Attr.3;
|
||||
|
|
28
crates/compiler/test_mono/generated/list_get.txt
generated
28
crates/compiler/test_mono/generated/list_get.txt
generated
|
@ -1,22 +1,22 @@
|
|||
procedure List.2 (List.119, List.120):
|
||||
let List.671 : U64 = CallByName List.6 List.119;
|
||||
let List.667 : Int1 = CallByName Num.22 List.120 List.671;
|
||||
if List.667 then
|
||||
let List.669 : I64 = CallByName List.66 List.119 List.120;
|
||||
let List.668 : [C {}, C I64] = TagId(1) List.669;
|
||||
ret List.668;
|
||||
procedure List.2 (List.120, List.121):
|
||||
let List.681 : U64 = CallByName List.6 List.120;
|
||||
let List.677 : Int1 = CallByName Num.22 List.121 List.681;
|
||||
if List.677 then
|
||||
let List.679 : I64 = CallByName List.66 List.120 List.121;
|
||||
let List.678 : [C {}, C I64] = TagId(1) List.679;
|
||||
ret List.678;
|
||||
else
|
||||
let List.666 : {} = Struct {};
|
||||
let List.665 : [C {}, C I64] = TagId(0) List.666;
|
||||
ret List.665;
|
||||
let List.676 : {} = Struct {};
|
||||
let List.675 : [C {}, C I64] = TagId(0) List.676;
|
||||
ret List.675;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.672 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.672;
|
||||
let List.682 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.682;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.670 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.670;
|
||||
let List.680 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.680;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.283 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
8
crates/compiler/test_mono/generated/list_len.txt
generated
8
crates/compiler/test_mono/generated/list_len.txt
generated
|
@ -1,10 +1,10 @@
|
|||
procedure List.6 (#Attr.2):
|
||||
let List.665 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.665;
|
||||
let List.675 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.675;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.666 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.666;
|
||||
let List.676 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.676;
|
||||
|
||||
procedure Num.19 (#Attr.2, #Attr.3):
|
||||
let Num.283 : U64 = lowlevel NumAdd #Attr.2 #Attr.3;
|
||||
|
|
|
@ -1,66 +1,66 @@
|
|||
procedure List.100 (#Derived_gen.3, #Derived_gen.4, #Derived_gen.5, #Derived_gen.6, #Derived_gen.7):
|
||||
joinpoint List.679 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.681 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.681 then
|
||||
let List.685 : Str = CallByName List.66 List.174 List.177;
|
||||
inc List.685;
|
||||
let List.179 : List Str = CallByName List.283 List.175 List.685 List.176;
|
||||
dec List.685;
|
||||
let List.684 : U64 = 1i64;
|
||||
let List.683 : U64 = CallByName Num.51 List.177 List.684;
|
||||
jump List.679 List.174 List.179 List.176 List.683 List.178;
|
||||
procedure List.101 (#Derived_gen.3, #Derived_gen.4, #Derived_gen.5, #Derived_gen.6, #Derived_gen.7):
|
||||
joinpoint List.689 List.175 List.176 List.177 List.178 List.179:
|
||||
let List.691 : Int1 = CallByName Num.22 List.178 List.179;
|
||||
if List.691 then
|
||||
let List.695 : Str = CallByName List.66 List.175 List.178;
|
||||
inc List.695;
|
||||
let List.180 : List Str = CallByName List.284 List.176 List.695 List.177;
|
||||
dec List.695;
|
||||
let List.694 : U64 = 1i64;
|
||||
let List.693 : U64 = CallByName Num.51 List.178 List.694;
|
||||
jump List.689 List.175 List.180 List.177 List.693 List.179;
|
||||
else
|
||||
dec List.174;
|
||||
ret List.175;
|
||||
dec List.175;
|
||||
ret List.176;
|
||||
in
|
||||
inc #Derived_gen.3;
|
||||
jump List.679 #Derived_gen.3 #Derived_gen.4 #Derived_gen.5 #Derived_gen.6 #Derived_gen.7;
|
||||
jump List.689 #Derived_gen.3 #Derived_gen.4 #Derived_gen.5 #Derived_gen.6 #Derived_gen.7;
|
||||
|
||||
procedure List.18 (List.171, List.172, List.173):
|
||||
let List.677 : U64 = 0i64;
|
||||
let List.678 : U64 = CallByName List.6 List.171;
|
||||
let List.676 : List Str = CallByName List.100 List.171 List.172 List.173 List.677 List.678;
|
||||
ret List.676;
|
||||
procedure List.18 (List.172, List.173, List.174):
|
||||
let List.687 : U64 = 0i64;
|
||||
let List.688 : U64 = CallByName List.6 List.172;
|
||||
let List.686 : List Str = CallByName List.101 List.172 List.173 List.174 List.687 List.688;
|
||||
ret List.686;
|
||||
|
||||
procedure List.2 (List.119, List.120):
|
||||
let List.671 : U64 = CallByName List.6 List.119;
|
||||
let List.667 : Int1 = CallByName Num.22 List.120 List.671;
|
||||
if List.667 then
|
||||
let List.669 : Str = CallByName List.66 List.119 List.120;
|
||||
inc List.669;
|
||||
let List.668 : [C {}, C Str] = TagId(1) List.669;
|
||||
ret List.668;
|
||||
procedure List.2 (List.120, List.121):
|
||||
let List.681 : U64 = CallByName List.6 List.120;
|
||||
let List.677 : Int1 = CallByName Num.22 List.121 List.681;
|
||||
if List.677 then
|
||||
let List.679 : Str = CallByName List.66 List.120 List.121;
|
||||
inc List.679;
|
||||
let List.678 : [C {}, C Str] = TagId(1) List.679;
|
||||
ret List.678;
|
||||
else
|
||||
let List.666 : {} = Struct {};
|
||||
let List.665 : [C {}, C Str] = TagId(0) List.666;
|
||||
ret List.665;
|
||||
let List.676 : {} = Struct {};
|
||||
let List.675 : [C {}, C Str] = TagId(0) List.676;
|
||||
ret List.675;
|
||||
|
||||
procedure List.283 (List.284, List.285, List.281):
|
||||
let List.688 : Str = CallByName Test.3 List.285;
|
||||
let List.687 : List Str = CallByName List.71 List.284 List.688;
|
||||
ret List.687;
|
||||
procedure List.284 (List.285, List.286, List.282):
|
||||
let List.698 : Str = CallByName Test.3 List.286;
|
||||
let List.697 : List Str = CallByName List.71 List.285 List.698;
|
||||
ret List.697;
|
||||
|
||||
procedure List.5 (List.280, List.281):
|
||||
let List.282 : U64 = CallByName List.6 List.280;
|
||||
let List.674 : List Str = CallByName List.68 List.282;
|
||||
let List.673 : List Str = CallByName List.18 List.280 List.674 List.281;
|
||||
ret List.673;
|
||||
procedure List.5 (List.281, List.282):
|
||||
let List.283 : U64 = CallByName List.6 List.281;
|
||||
let List.684 : List Str = CallByName List.68 List.283;
|
||||
let List.683 : List Str = CallByName List.18 List.281 List.684 List.282;
|
||||
ret List.683;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.672 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.672;
|
||||
let List.682 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.682;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.670 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.670;
|
||||
let List.680 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.680;
|
||||
|
||||
procedure List.68 (#Attr.2):
|
||||
let List.690 : List Str = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.690;
|
||||
let List.700 : List Str = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.700;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.689 : List Str = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.689;
|
||||
let List.699 : List Str = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.699;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.284 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
|
@ -1,65 +1,65 @@
|
|||
procedure List.100 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.4):
|
||||
joinpoint List.679 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.681 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.681 then
|
||||
let List.685 : Str = CallByName List.66 List.174 List.177;
|
||||
inc List.685;
|
||||
let List.179 : List Str = CallByName List.283 List.175 List.685 List.176;
|
||||
let List.684 : U64 = 1i64;
|
||||
let List.683 : U64 = CallByName Num.51 List.177 List.684;
|
||||
jump List.679 List.174 List.179 List.176 List.683 List.178;
|
||||
procedure List.101 (#Derived_gen.3, #Derived_gen.4, #Derived_gen.5, #Derived_gen.6, #Derived_gen.7):
|
||||
joinpoint List.689 List.175 List.176 List.177 List.178 List.179:
|
||||
let List.691 : Int1 = CallByName Num.22 List.178 List.179;
|
||||
if List.691 then
|
||||
let List.695 : Str = CallByName List.66 List.175 List.178;
|
||||
inc List.695;
|
||||
let List.180 : List Str = CallByName List.284 List.176 List.695 List.177;
|
||||
let List.694 : U64 = 1i64;
|
||||
let List.693 : U64 = CallByName Num.51 List.178 List.694;
|
||||
jump List.689 List.175 List.180 List.177 List.693 List.179;
|
||||
else
|
||||
dec List.174;
|
||||
ret List.175;
|
||||
dec List.175;
|
||||
ret List.176;
|
||||
in
|
||||
inc #Derived_gen.0;
|
||||
jump List.679 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
|
||||
inc #Derived_gen.3;
|
||||
jump List.689 #Derived_gen.3 #Derived_gen.4 #Derived_gen.5 #Derived_gen.6 #Derived_gen.7;
|
||||
|
||||
procedure List.18 (List.171, List.172, List.173):
|
||||
let List.677 : U64 = 0i64;
|
||||
let List.678 : U64 = CallByName List.6 List.171;
|
||||
let List.676 : List Str = CallByName List.100 List.171 List.172 List.173 List.677 List.678;
|
||||
ret List.676;
|
||||
procedure List.18 (List.172, List.173, List.174):
|
||||
let List.687 : U64 = 0i64;
|
||||
let List.688 : U64 = CallByName List.6 List.172;
|
||||
let List.686 : List Str = CallByName List.101 List.172 List.173 List.174 List.687 List.688;
|
||||
ret List.686;
|
||||
|
||||
procedure List.2 (List.119, List.120):
|
||||
let List.671 : U64 = CallByName List.6 List.119;
|
||||
let List.667 : Int1 = CallByName Num.22 List.120 List.671;
|
||||
if List.667 then
|
||||
let List.669 : Str = CallByName List.66 List.119 List.120;
|
||||
inc List.669;
|
||||
let List.668 : [C {}, C Str] = TagId(1) List.669;
|
||||
ret List.668;
|
||||
procedure List.2 (List.120, List.121):
|
||||
let List.681 : U64 = CallByName List.6 List.120;
|
||||
let List.677 : Int1 = CallByName Num.22 List.121 List.681;
|
||||
if List.677 then
|
||||
let List.679 : Str = CallByName List.66 List.120 List.121;
|
||||
inc List.679;
|
||||
let List.678 : [C {}, C Str] = TagId(1) List.679;
|
||||
ret List.678;
|
||||
else
|
||||
let List.666 : {} = Struct {};
|
||||
let List.665 : [C {}, C Str] = TagId(0) List.666;
|
||||
ret List.665;
|
||||
let List.676 : {} = Struct {};
|
||||
let List.675 : [C {}, C Str] = TagId(0) List.676;
|
||||
ret List.675;
|
||||
|
||||
procedure List.283 (List.284, List.285, List.281):
|
||||
let List.688 : Str = CallByName Test.3 List.285;
|
||||
let List.687 : List Str = CallByName List.71 List.284 List.688;
|
||||
ret List.687;
|
||||
procedure List.284 (List.285, List.286, List.282):
|
||||
let List.698 : Str = CallByName Test.3 List.286;
|
||||
let List.697 : List Str = CallByName List.71 List.285 List.698;
|
||||
ret List.697;
|
||||
|
||||
procedure List.5 (List.280, List.281):
|
||||
let List.282 : U64 = CallByName List.6 List.280;
|
||||
let List.674 : List Str = CallByName List.68 List.282;
|
||||
let List.673 : List Str = CallByName List.18 List.280 List.674 List.281;
|
||||
ret List.673;
|
||||
procedure List.5 (List.281, List.282):
|
||||
let List.283 : U64 = CallByName List.6 List.281;
|
||||
let List.684 : List Str = CallByName List.68 List.283;
|
||||
let List.683 : List Str = CallByName List.18 List.281 List.684 List.282;
|
||||
ret List.683;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.672 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.672;
|
||||
let List.682 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.682;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.670 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.670;
|
||||
let List.680 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.680;
|
||||
|
||||
procedure List.68 (#Attr.2):
|
||||
let List.690 : List Str = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.690;
|
||||
let List.700 : List Str = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.700;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.689 : List Str = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.689;
|
||||
let List.699 : List Str = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.699;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.284 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
|
@ -1,66 +1,66 @@
|
|||
procedure List.100 (#Derived_gen.3, #Derived_gen.4, #Derived_gen.5, #Derived_gen.6, #Derived_gen.7):
|
||||
joinpoint List.671 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.673 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.673 then
|
||||
let List.677 : U8 = CallByName List.66 List.174 List.177;
|
||||
let List.179 : List U8 = CallByName List.283 List.175 List.677 List.176;
|
||||
let List.676 : U64 = 1i64;
|
||||
let List.675 : U64 = CallByName Num.51 List.177 List.676;
|
||||
jump List.671 List.174 List.179 List.176 List.675 List.178;
|
||||
procedure List.101 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.4):
|
||||
joinpoint List.681 List.175 List.176 List.177 List.178 List.179:
|
||||
let List.683 : Int1 = CallByName Num.22 List.178 List.179;
|
||||
if List.683 then
|
||||
let List.687 : U8 = CallByName List.66 List.175 List.178;
|
||||
let List.180 : List U8 = CallByName List.284 List.176 List.687 List.177;
|
||||
let List.686 : U64 = 1i64;
|
||||
let List.685 : U64 = CallByName Num.51 List.178 List.686;
|
||||
jump List.681 List.175 List.180 List.177 List.685 List.179;
|
||||
else
|
||||
dec List.174;
|
||||
ret List.175;
|
||||
dec List.175;
|
||||
ret List.176;
|
||||
in
|
||||
inc #Derived_gen.3;
|
||||
jump List.671 #Derived_gen.3 #Derived_gen.4 #Derived_gen.5 #Derived_gen.6 #Derived_gen.7;
|
||||
inc #Derived_gen.0;
|
||||
jump List.681 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
|
||||
|
||||
procedure List.18 (List.171, List.172, List.173):
|
||||
let List.669 : U64 = 0i64;
|
||||
let List.670 : U64 = CallByName List.6 List.171;
|
||||
let List.668 : List U8 = CallByName List.100 List.171 List.172 List.173 List.669 List.670;
|
||||
ret List.668;
|
||||
|
||||
procedure List.283 (List.284, List.285, List.281):
|
||||
let List.684 : U8 = GetTagId List.281;
|
||||
joinpoint List.685 List.682:
|
||||
let List.681 : List U8 = CallByName List.71 List.284 List.682;
|
||||
ret List.681;
|
||||
in
|
||||
switch List.684:
|
||||
case 0:
|
||||
let List.686 : U8 = CallByName Test.4 List.285 List.281;
|
||||
jump List.685 List.686;
|
||||
|
||||
case 1:
|
||||
let List.686 : U8 = CallByName Test.6 List.285 List.281;
|
||||
jump List.685 List.686;
|
||||
|
||||
default:
|
||||
let List.686 : U8 = CallByName Test.8 List.285;
|
||||
jump List.685 List.686;
|
||||
|
||||
|
||||
procedure List.5 (List.280, List.281):
|
||||
let List.282 : U64 = CallByName List.6 List.280;
|
||||
let List.666 : List U8 = CallByName List.68 List.282;
|
||||
let List.665 : List U8 = CallByName List.18 List.280 List.666 List.281;
|
||||
ret List.665;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.679 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.679;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.678 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
procedure List.18 (List.172, List.173, List.174):
|
||||
let List.679 : U64 = 0i64;
|
||||
let List.680 : U64 = CallByName List.6 List.172;
|
||||
let List.678 : List U8 = CallByName List.101 List.172 List.173 List.174 List.679 List.680;
|
||||
ret List.678;
|
||||
|
||||
procedure List.284 (List.285, List.286, List.282):
|
||||
let List.694 : U8 = GetTagId List.282;
|
||||
joinpoint List.695 List.692:
|
||||
let List.691 : List U8 = CallByName List.71 List.285 List.692;
|
||||
ret List.691;
|
||||
in
|
||||
switch List.694:
|
||||
case 0:
|
||||
let List.696 : U8 = CallByName Test.4 List.286 List.282;
|
||||
jump List.695 List.696;
|
||||
|
||||
case 1:
|
||||
let List.696 : U8 = CallByName Test.6 List.286 List.282;
|
||||
jump List.695 List.696;
|
||||
|
||||
default:
|
||||
let List.696 : U8 = CallByName Test.8 List.286;
|
||||
jump List.695 List.696;
|
||||
|
||||
|
||||
procedure List.5 (List.281, List.282):
|
||||
let List.283 : U64 = CallByName List.6 List.281;
|
||||
let List.676 : List U8 = CallByName List.68 List.283;
|
||||
let List.675 : List U8 = CallByName List.18 List.281 List.676 List.282;
|
||||
ret List.675;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.689 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.689;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.688 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.688;
|
||||
|
||||
procedure List.68 (#Attr.2):
|
||||
let List.687 : List U8 = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.687;
|
||||
let List.697 : List U8 = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.697;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.683 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.683;
|
||||
let List.693 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.693;
|
||||
|
||||
procedure Num.19 (#Attr.2, #Attr.3):
|
||||
let Num.285 : U8 = lowlevel NumAdd #Attr.2 #Attr.3;
|
||||
|
|
|
@ -1,25 +1,25 @@
|
|||
procedure List.3 (List.127, List.128, List.129):
|
||||
let List.666 : {List I64, I64} = CallByName List.64 List.127 List.128 List.129;
|
||||
let List.665 : List I64 = StructAtIndex 0 List.666;
|
||||
ret List.665;
|
||||
procedure List.3 (List.128, List.129, List.130):
|
||||
let List.676 : {List I64, I64} = CallByName List.64 List.128 List.129 List.130;
|
||||
let List.675 : List I64 = StructAtIndex 0 List.676;
|
||||
ret List.675;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.672 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.672;
|
||||
let List.682 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.682;
|
||||
|
||||
procedure List.64 (List.124, List.125, List.126):
|
||||
let List.671 : U64 = CallByName List.6 List.124;
|
||||
let List.668 : Int1 = CallByName Num.22 List.125 List.671;
|
||||
if List.668 then
|
||||
let List.669 : {List I64, I64} = CallByName List.67 List.124 List.125 List.126;
|
||||
ret List.669;
|
||||
procedure List.64 (List.125, List.126, List.127):
|
||||
let List.681 : U64 = CallByName List.6 List.125;
|
||||
let List.678 : Int1 = CallByName Num.22 List.126 List.681;
|
||||
if List.678 then
|
||||
let List.679 : {List I64, I64} = CallByName List.67 List.125 List.126 List.127;
|
||||
ret List.679;
|
||||
else
|
||||
let List.667 : {List I64, I64} = Struct {List.124, List.126};
|
||||
ret List.667;
|
||||
let List.677 : {List I64, I64} = Struct {List.125, List.127};
|
||||
ret List.677;
|
||||
|
||||
procedure List.67 (#Attr.2, #Attr.3, #Attr.4):
|
||||
let List.670 : {List I64, I64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.670;
|
||||
let List.680 : {List I64, I64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.680;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.283 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
procedure List.28 (#Attr.2, #Attr.3):
|
||||
let List.667 : List I64 = lowlevel ListSortWith { xs: `#Attr.#arg1` } #Attr.2 Num.46 #Attr.3;
|
||||
ret List.667;
|
||||
let List.677 : List I64 = lowlevel ListSortWith { xs: `#Attr.#arg1` } #Attr.2 Num.46 #Attr.3;
|
||||
ret List.677;
|
||||
|
||||
procedure List.59 (List.386):
|
||||
let List.666 : {} = Struct {};
|
||||
let List.665 : List I64 = CallByName List.28 List.386 List.666;
|
||||
ret List.665;
|
||||
procedure List.59 (List.387):
|
||||
let List.676 : {} = Struct {};
|
||||
let List.675 : List I64 = CallByName List.28 List.387 List.676;
|
||||
ret List.675;
|
||||
|
||||
procedure Num.46 (#Attr.2, #Attr.3):
|
||||
let Num.283 : U8 = lowlevel NumCompare #Attr.2 #Attr.3;
|
||||
|
|
|
@ -1,41 +1,41 @@
|
|||
procedure List.2 (List.119, List.120):
|
||||
let List.687 : U64 = CallByName List.6 List.119;
|
||||
let List.684 : Int1 = CallByName Num.22 List.120 List.687;
|
||||
if List.684 then
|
||||
let List.686 : I64 = CallByName List.66 List.119 List.120;
|
||||
let List.685 : [C {}, C I64] = TagId(1) List.686;
|
||||
ret List.685;
|
||||
procedure List.2 (List.120, List.121):
|
||||
let List.697 : U64 = CallByName List.6 List.120;
|
||||
let List.694 : Int1 = CallByName Num.22 List.121 List.697;
|
||||
if List.694 then
|
||||
let List.696 : I64 = CallByName List.66 List.120 List.121;
|
||||
let List.695 : [C {}, C I64] = TagId(1) List.696;
|
||||
ret List.695;
|
||||
else
|
||||
let List.683 : {} = Struct {};
|
||||
let List.682 : [C {}, C I64] = TagId(0) List.683;
|
||||
ret List.682;
|
||||
let List.693 : {} = Struct {};
|
||||
let List.692 : [C {}, C I64] = TagId(0) List.693;
|
||||
ret List.692;
|
||||
|
||||
procedure List.3 (List.127, List.128, List.129):
|
||||
let List.674 : {List I64, I64} = CallByName List.64 List.127 List.128 List.129;
|
||||
let List.673 : List I64 = StructAtIndex 0 List.674;
|
||||
ret List.673;
|
||||
procedure List.3 (List.128, List.129, List.130):
|
||||
let List.684 : {List I64, I64} = CallByName List.64 List.128 List.129 List.130;
|
||||
let List.683 : List I64 = StructAtIndex 0 List.684;
|
||||
ret List.683;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.672 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.672;
|
||||
let List.682 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.682;
|
||||
|
||||
procedure List.64 (List.124, List.125, List.126):
|
||||
let List.671 : U64 = CallByName List.6 List.124;
|
||||
let List.668 : Int1 = CallByName Num.22 List.125 List.671;
|
||||
if List.668 then
|
||||
let List.669 : {List I64, I64} = CallByName List.67 List.124 List.125 List.126;
|
||||
ret List.669;
|
||||
procedure List.64 (List.125, List.126, List.127):
|
||||
let List.681 : U64 = CallByName List.6 List.125;
|
||||
let List.678 : Int1 = CallByName Num.22 List.126 List.681;
|
||||
if List.678 then
|
||||
let List.679 : {List I64, I64} = CallByName List.67 List.125 List.126 List.127;
|
||||
ret List.679;
|
||||
else
|
||||
let List.667 : {List I64, I64} = Struct {List.124, List.126};
|
||||
ret List.667;
|
||||
let List.677 : {List I64, I64} = Struct {List.125, List.127};
|
||||
ret List.677;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.680 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.680;
|
||||
let List.690 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.690;
|
||||
|
||||
procedure List.67 (#Attr.2, #Attr.3, #Attr.4):
|
||||
let List.670 : {List I64, I64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.670;
|
||||
let List.680 : {List I64, I64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.680;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.285 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
|
@ -1,25 +1,25 @@
|
|||
procedure List.3 (List.127, List.128, List.129):
|
||||
let List.674 : {List U64, U64} = CallByName List.64 List.127 List.128 List.129;
|
||||
let List.673 : List U64 = StructAtIndex 0 List.674;
|
||||
ret List.673;
|
||||
procedure List.3 (List.128, List.129, List.130):
|
||||
let List.684 : {List U64, U64} = CallByName List.64 List.128 List.129 List.130;
|
||||
let List.683 : List U64 = StructAtIndex 0 List.684;
|
||||
ret List.683;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.672 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.672;
|
||||
let List.682 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.682;
|
||||
|
||||
procedure List.64 (List.124, List.125, List.126):
|
||||
let List.671 : U64 = CallByName List.6 List.124;
|
||||
let List.668 : Int1 = CallByName Num.22 List.125 List.671;
|
||||
if List.668 then
|
||||
let List.669 : {List U64, U64} = CallByName List.67 List.124 List.125 List.126;
|
||||
ret List.669;
|
||||
procedure List.64 (List.125, List.126, List.127):
|
||||
let List.681 : U64 = CallByName List.6 List.125;
|
||||
let List.678 : Int1 = CallByName Num.22 List.126 List.681;
|
||||
if List.678 then
|
||||
let List.679 : {List U64, U64} = CallByName List.67 List.125 List.126 List.127;
|
||||
ret List.679;
|
||||
else
|
||||
let List.667 : {List U64, U64} = Struct {List.124, List.126};
|
||||
ret List.667;
|
||||
let List.677 : {List U64, U64} = Struct {List.125, List.127};
|
||||
ret List.677;
|
||||
|
||||
procedure List.67 (#Attr.2, #Attr.3, #Attr.4):
|
||||
let List.670 : {List U64, U64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.670;
|
||||
let List.680 : {List U64, U64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.680;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.283 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
|
@ -1,52 +1,52 @@
|
|||
procedure List.100 (#Derived_gen.4, #Derived_gen.5, #Derived_gen.6, #Derived_gen.7, #Derived_gen.8):
|
||||
joinpoint List.671 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.673 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.673 then
|
||||
let List.677 : [<rnnu>C List *self] = CallByName List.66 List.174 List.177;
|
||||
inc List.677;
|
||||
let List.179 : List [<rnnu>C List *self] = CallByName List.283 List.175 List.677 List.176;
|
||||
let List.676 : U64 = 1i64;
|
||||
let List.675 : U64 = CallByName Num.51 List.177 List.676;
|
||||
jump List.671 List.174 List.179 List.176 List.675 List.178;
|
||||
procedure List.101 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.4):
|
||||
joinpoint List.681 List.175 List.176 List.177 List.178 List.179:
|
||||
let List.683 : Int1 = CallByName Num.22 List.178 List.179;
|
||||
if List.683 then
|
||||
let List.687 : [<rnnu>C List *self] = CallByName List.66 List.175 List.178;
|
||||
inc List.687;
|
||||
let List.180 : List [<rnnu>C List *self] = CallByName List.284 List.176 List.687 List.177;
|
||||
let List.686 : U64 = 1i64;
|
||||
let List.685 : U64 = CallByName Num.51 List.178 List.686;
|
||||
jump List.681 List.175 List.180 List.177 List.685 List.179;
|
||||
else
|
||||
dec List.174;
|
||||
ret List.175;
|
||||
dec List.175;
|
||||
ret List.176;
|
||||
in
|
||||
inc #Derived_gen.4;
|
||||
jump List.671 #Derived_gen.4 #Derived_gen.5 #Derived_gen.6 #Derived_gen.7 #Derived_gen.8;
|
||||
inc #Derived_gen.0;
|
||||
jump List.681 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
|
||||
|
||||
procedure List.18 (List.171, List.172, List.173):
|
||||
let List.669 : U64 = 0i64;
|
||||
let List.670 : U64 = CallByName List.6 List.171;
|
||||
let List.668 : List [<rnnu>C List *self] = CallByName List.100 List.171 List.172 List.173 List.669 List.670;
|
||||
ret List.668;
|
||||
|
||||
procedure List.283 (List.284, List.285, List.281):
|
||||
let List.682 : [<rnnu>C List *self] = CallByName Test.2 List.285;
|
||||
let List.681 : List [<rnnu>C List *self] = CallByName List.71 List.284 List.682;
|
||||
ret List.681;
|
||||
|
||||
procedure List.5 (List.280, List.281):
|
||||
let List.282 : U64 = CallByName List.6 List.280;
|
||||
let List.666 : List [<rnnu>C List *self] = CallByName List.68 List.282;
|
||||
let List.665 : List [<rnnu>C List *self] = CallByName List.18 List.280 List.666 List.281;
|
||||
ret List.665;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.679 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.679;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.678 : [<rnnu>C List *self] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
procedure List.18 (List.172, List.173, List.174):
|
||||
let List.679 : U64 = 0i64;
|
||||
let List.680 : U64 = CallByName List.6 List.172;
|
||||
let List.678 : List [<rnnu>C List *self] = CallByName List.101 List.172 List.173 List.174 List.679 List.680;
|
||||
ret List.678;
|
||||
|
||||
procedure List.284 (List.285, List.286, List.282):
|
||||
let List.692 : [<rnnu>C List *self] = CallByName Test.2 List.286;
|
||||
let List.691 : List [<rnnu>C List *self] = CallByName List.71 List.285 List.692;
|
||||
ret List.691;
|
||||
|
||||
procedure List.5 (List.281, List.282):
|
||||
let List.283 : U64 = CallByName List.6 List.281;
|
||||
let List.676 : List [<rnnu>C List *self] = CallByName List.68 List.283;
|
||||
let List.675 : List [<rnnu>C List *self] = CallByName List.18 List.281 List.676 List.282;
|
||||
ret List.675;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.689 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.689;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.688 : [<rnnu>C List *self] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.688;
|
||||
|
||||
procedure List.68 (#Attr.2):
|
||||
let List.684 : List [<rnnu>C List *self] = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.684;
|
||||
let List.694 : List [<rnnu>C List *self] = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.694;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.683 : List [<rnnu>C List *self] = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.683;
|
||||
let List.693 : List [<rnnu>C List *self] = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.693;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.284 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
56
crates/compiler/test_mono/generated/rigids.txt
generated
56
crates/compiler/test_mono/generated/rigids.txt
generated
|
@ -1,41 +1,41 @@
|
|||
procedure List.2 (List.119, List.120):
|
||||
let List.687 : U64 = CallByName List.6 List.119;
|
||||
let List.684 : Int1 = CallByName Num.22 List.120 List.687;
|
||||
if List.684 then
|
||||
let List.686 : I64 = CallByName List.66 List.119 List.120;
|
||||
let List.685 : [C {}, C I64] = TagId(1) List.686;
|
||||
ret List.685;
|
||||
procedure List.2 (List.120, List.121):
|
||||
let List.697 : U64 = CallByName List.6 List.120;
|
||||
let List.694 : Int1 = CallByName Num.22 List.121 List.697;
|
||||
if List.694 then
|
||||
let List.696 : I64 = CallByName List.66 List.120 List.121;
|
||||
let List.695 : [C {}, C I64] = TagId(1) List.696;
|
||||
ret List.695;
|
||||
else
|
||||
let List.683 : {} = Struct {};
|
||||
let List.682 : [C {}, C I64] = TagId(0) List.683;
|
||||
ret List.682;
|
||||
let List.693 : {} = Struct {};
|
||||
let List.692 : [C {}, C I64] = TagId(0) List.693;
|
||||
ret List.692;
|
||||
|
||||
procedure List.3 (List.127, List.128, List.129):
|
||||
let List.674 : {List I64, I64} = CallByName List.64 List.127 List.128 List.129;
|
||||
let List.673 : List I64 = StructAtIndex 0 List.674;
|
||||
ret List.673;
|
||||
procedure List.3 (List.128, List.129, List.130):
|
||||
let List.684 : {List I64, I64} = CallByName List.64 List.128 List.129 List.130;
|
||||
let List.683 : List I64 = StructAtIndex 0 List.684;
|
||||
ret List.683;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.672 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.672;
|
||||
let List.682 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.682;
|
||||
|
||||
procedure List.64 (List.124, List.125, List.126):
|
||||
let List.671 : U64 = CallByName List.6 List.124;
|
||||
let List.668 : Int1 = CallByName Num.22 List.125 List.671;
|
||||
if List.668 then
|
||||
let List.669 : {List I64, I64} = CallByName List.67 List.124 List.125 List.126;
|
||||
ret List.669;
|
||||
procedure List.64 (List.125, List.126, List.127):
|
||||
let List.681 : U64 = CallByName List.6 List.125;
|
||||
let List.678 : Int1 = CallByName Num.22 List.126 List.681;
|
||||
if List.678 then
|
||||
let List.679 : {List I64, I64} = CallByName List.67 List.125 List.126 List.127;
|
||||
ret List.679;
|
||||
else
|
||||
let List.667 : {List I64, I64} = Struct {List.124, List.126};
|
||||
ret List.667;
|
||||
let List.677 : {List I64, I64} = Struct {List.125, List.127};
|
||||
ret List.677;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.680 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.680;
|
||||
let List.690 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.690;
|
||||
|
||||
procedure List.67 (#Attr.2, #Attr.3, #Attr.4):
|
||||
let List.670 : {List I64, I64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.670;
|
||||
let List.680 : {List I64, I64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.680;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.285 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
|
@ -29,58 +29,58 @@ procedure Encode.26 (Encode.107, Encode.108):
|
|||
let Encode.110 : List U8 = CallByName Encode.24 Encode.111 Encode.112 Encode.108;
|
||||
ret Encode.110;
|
||||
|
||||
procedure List.100 (#Derived_gen.6, #Derived_gen.7, #Derived_gen.8, #Derived_gen.9, #Derived_gen.10):
|
||||
joinpoint List.668 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.670 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.670 then
|
||||
let List.674 : Str = CallByName List.66 List.174 List.177;
|
||||
inc List.674;
|
||||
let List.179 : List U8 = CallByName Test.66 List.175 List.674 List.176;
|
||||
let List.673 : U64 = 1i64;
|
||||
let List.672 : U64 = CallByName Num.51 List.177 List.673;
|
||||
jump List.668 List.174 List.179 List.176 List.672 List.178;
|
||||
procedure List.101 (#Derived_gen.12, #Derived_gen.13, #Derived_gen.14, #Derived_gen.15, #Derived_gen.16):
|
||||
joinpoint List.678 List.175 List.176 List.177 List.178 List.179:
|
||||
let List.680 : Int1 = CallByName Num.22 List.178 List.179;
|
||||
if List.680 then
|
||||
let List.684 : Str = CallByName List.66 List.175 List.178;
|
||||
inc List.684;
|
||||
let List.180 : List U8 = CallByName Test.66 List.176 List.684 List.177;
|
||||
let List.683 : U64 = 1i64;
|
||||
let List.682 : U64 = CallByName Num.51 List.178 List.683;
|
||||
jump List.678 List.175 List.180 List.177 List.682 List.179;
|
||||
else
|
||||
dec List.174;
|
||||
ret List.175;
|
||||
dec List.175;
|
||||
ret List.176;
|
||||
in
|
||||
inc #Derived_gen.6;
|
||||
jump List.668 #Derived_gen.6 #Derived_gen.7 #Derived_gen.8 #Derived_gen.9 #Derived_gen.10;
|
||||
inc #Derived_gen.12;
|
||||
jump List.678 #Derived_gen.12 #Derived_gen.13 #Derived_gen.14 #Derived_gen.15 #Derived_gen.16;
|
||||
|
||||
procedure List.13 (#Attr.2, #Attr.3):
|
||||
let List.691 : List Str = lowlevel ListPrepend #Attr.2 #Attr.3;
|
||||
ret List.691;
|
||||
let List.701 : List Str = lowlevel ListPrepend #Attr.2 #Attr.3;
|
||||
ret List.701;
|
||||
|
||||
procedure List.18 (List.171, List.172, List.173):
|
||||
let List.666 : U64 = 0i64;
|
||||
let List.667 : U64 = CallByName List.6 List.171;
|
||||
let List.665 : List U8 = CallByName List.100 List.171 List.172 List.173 List.666 List.667;
|
||||
ret List.665;
|
||||
|
||||
procedure List.4 (List.135, List.136):
|
||||
let List.687 : U64 = 1i64;
|
||||
let List.686 : List U8 = CallByName List.70 List.135 List.687;
|
||||
let List.685 : List U8 = CallByName List.71 List.686 List.136;
|
||||
ret List.685;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.690 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.690;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.675 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
procedure List.18 (List.172, List.173, List.174):
|
||||
let List.676 : U64 = 0i64;
|
||||
let List.677 : U64 = CallByName List.6 List.172;
|
||||
let List.675 : List U8 = CallByName List.101 List.172 List.173 List.174 List.676 List.677;
|
||||
ret List.675;
|
||||
|
||||
procedure List.4 (List.136, List.137):
|
||||
let List.697 : U64 = 1i64;
|
||||
let List.696 : List U8 = CallByName List.70 List.136 List.697;
|
||||
let List.695 : List U8 = CallByName List.71 List.696 List.137;
|
||||
ret List.695;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.700 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.700;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.685 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.685;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.681 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.681;
|
||||
let List.691 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.691;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.679 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.679;
|
||||
let List.689 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.689;
|
||||
|
||||
procedure List.8 (#Attr.2, #Attr.3):
|
||||
let List.689 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.689;
|
||||
let List.699 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.699;
|
||||
|
||||
procedure Num.127 (#Attr.2):
|
||||
let Num.284 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
|
|
|
@ -87,93 +87,93 @@ procedure Encode.26 (Encode.107, Encode.108):
|
|||
let Encode.110 : List U8 = CallByName Encode.24 Encode.111 Encode.112 Encode.108;
|
||||
ret Encode.110;
|
||||
|
||||
procedure List.100 (#Derived_gen.29, #Derived_gen.30, #Derived_gen.31, #Derived_gen.32, #Derived_gen.33):
|
||||
joinpoint List.695 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.697 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.697 then
|
||||
let List.701 : Str = CallByName List.66 List.174 List.177;
|
||||
inc List.701;
|
||||
let List.179 : List U8 = CallByName Test.66 List.175 List.701 List.176;
|
||||
let List.700 : U64 = 1i64;
|
||||
let List.699 : U64 = CallByName Num.51 List.177 List.700;
|
||||
jump List.695 List.174 List.179 List.176 List.699 List.178;
|
||||
procedure List.101 (#Derived_gen.26, #Derived_gen.27, #Derived_gen.28, #Derived_gen.29, #Derived_gen.30):
|
||||
joinpoint List.678 List.175 List.176 List.177 List.178 List.179:
|
||||
let List.680 : Int1 = CallByName Num.22 List.178 List.179;
|
||||
if List.680 then
|
||||
let List.684 : [C {}, C {}, C Str] = CallByName List.66 List.175 List.178;
|
||||
inc List.684;
|
||||
let List.180 : List U8 = CallByName Test.66 List.176 List.684 List.177;
|
||||
let List.683 : U64 = 1i64;
|
||||
let List.682 : U64 = CallByName Num.51 List.178 List.683;
|
||||
jump List.678 List.175 List.180 List.177 List.682 List.179;
|
||||
else
|
||||
dec List.174;
|
||||
ret List.175;
|
||||
dec List.175;
|
||||
ret List.176;
|
||||
in
|
||||
inc #Derived_gen.29;
|
||||
jump List.695 #Derived_gen.29 #Derived_gen.30 #Derived_gen.31 #Derived_gen.32 #Derived_gen.33;
|
||||
inc #Derived_gen.26;
|
||||
jump List.678 #Derived_gen.26 #Derived_gen.27 #Derived_gen.28 #Derived_gen.29 #Derived_gen.30;
|
||||
|
||||
procedure List.100 (#Derived_gen.49, #Derived_gen.50, #Derived_gen.51, #Derived_gen.52, #Derived_gen.53):
|
||||
joinpoint List.668 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.670 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.670 then
|
||||
let List.674 : [C {}, C {}, C Str] = CallByName List.66 List.174 List.177;
|
||||
inc List.674;
|
||||
let List.179 : List U8 = CallByName Test.66 List.175 List.674 List.176;
|
||||
let List.673 : U64 = 1i64;
|
||||
let List.672 : U64 = CallByName Num.51 List.177 List.673;
|
||||
jump List.668 List.174 List.179 List.176 List.672 List.178;
|
||||
procedure List.101 (#Derived_gen.49, #Derived_gen.50, #Derived_gen.51, #Derived_gen.52, #Derived_gen.53):
|
||||
joinpoint List.705 List.175 List.176 List.177 List.178 List.179:
|
||||
let List.707 : Int1 = CallByName Num.22 List.178 List.179;
|
||||
if List.707 then
|
||||
let List.711 : Str = CallByName List.66 List.175 List.178;
|
||||
inc List.711;
|
||||
let List.180 : List U8 = CallByName Test.66 List.176 List.711 List.177;
|
||||
let List.710 : U64 = 1i64;
|
||||
let List.709 : U64 = CallByName Num.51 List.178 List.710;
|
||||
jump List.705 List.175 List.180 List.177 List.709 List.179;
|
||||
else
|
||||
dec List.174;
|
||||
ret List.175;
|
||||
dec List.175;
|
||||
ret List.176;
|
||||
in
|
||||
inc #Derived_gen.49;
|
||||
jump List.668 #Derived_gen.49 #Derived_gen.50 #Derived_gen.51 #Derived_gen.52 #Derived_gen.53;
|
||||
jump List.705 #Derived_gen.49 #Derived_gen.50 #Derived_gen.51 #Derived_gen.52 #Derived_gen.53;
|
||||
|
||||
procedure List.13 (#Attr.2, #Attr.3):
|
||||
let List.691 : List [C {}, C {}, C Str] = lowlevel ListPrepend #Attr.2 #Attr.3;
|
||||
ret List.691;
|
||||
let List.701 : List [C {}, C {}, C Str] = lowlevel ListPrepend #Attr.2 #Attr.3;
|
||||
ret List.701;
|
||||
|
||||
procedure List.13 (#Attr.2, #Attr.3):
|
||||
let List.719 : List Str = lowlevel ListPrepend #Attr.2 #Attr.3;
|
||||
ret List.719;
|
||||
let List.729 : List Str = lowlevel ListPrepend #Attr.2 #Attr.3;
|
||||
ret List.729;
|
||||
|
||||
procedure List.18 (List.171, List.172, List.173):
|
||||
let List.666 : U64 = 0i64;
|
||||
let List.667 : U64 = CallByName List.6 List.171;
|
||||
let List.665 : List U8 = CallByName List.100 List.171 List.172 List.173 List.666 List.667;
|
||||
ret List.665;
|
||||
|
||||
procedure List.18 (List.171, List.172, List.173):
|
||||
let List.693 : U64 = 0i64;
|
||||
let List.694 : U64 = CallByName List.6 List.171;
|
||||
let List.692 : List U8 = CallByName List.100 List.171 List.172 List.173 List.693 List.694;
|
||||
ret List.692;
|
||||
|
||||
procedure List.4 (List.135, List.136):
|
||||
let List.714 : U64 = 1i64;
|
||||
let List.713 : List U8 = CallByName List.70 List.135 List.714;
|
||||
let List.712 : List U8 = CallByName List.71 List.713 List.136;
|
||||
ret List.712;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.690 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.690;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.717 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.717;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.675 : [C {}, C {}, C Str] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
procedure List.18 (List.172, List.173, List.174):
|
||||
let List.676 : U64 = 0i64;
|
||||
let List.677 : U64 = CallByName List.6 List.172;
|
||||
let List.675 : List U8 = CallByName List.101 List.172 List.173 List.174 List.676 List.677;
|
||||
ret List.675;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.702 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
procedure List.18 (List.172, List.173, List.174):
|
||||
let List.703 : U64 = 0i64;
|
||||
let List.704 : U64 = CallByName List.6 List.172;
|
||||
let List.702 : List U8 = CallByName List.101 List.172 List.173 List.174 List.703 List.704;
|
||||
ret List.702;
|
||||
|
||||
procedure List.4 (List.136, List.137):
|
||||
let List.724 : U64 = 1i64;
|
||||
let List.723 : List U8 = CallByName List.70 List.136 List.724;
|
||||
let List.722 : List U8 = CallByName List.71 List.723 List.137;
|
||||
ret List.722;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.700 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.700;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.727 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.727;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.685 : [C {}, C {}, C Str] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.685;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.712 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.712;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.708 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.708;
|
||||
let List.718 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.718;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.706 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.706;
|
||||
let List.716 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.716;
|
||||
|
||||
procedure List.8 (#Attr.2, #Attr.3):
|
||||
let List.716 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.716;
|
||||
let List.726 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.726;
|
||||
|
||||
procedure Num.127 (#Attr.2):
|
||||
let Num.288 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
|
|
|
@ -2,81 +2,81 @@ procedure Bool.11 (#Attr.2, #Attr.3):
|
|||
let Bool.23 : Int1 = lowlevel Eq #Attr.2 #Attr.3;
|
||||
ret Bool.23;
|
||||
|
||||
procedure List.115 (List.562, List.563, List.564):
|
||||
let List.683 : U64 = 0i64;
|
||||
let List.684 : U64 = CallByName List.6 List.562;
|
||||
let List.682 : [C U64, C U64] = CallByName List.80 List.562 List.563 List.564 List.683 List.684;
|
||||
ret List.682;
|
||||
procedure List.116 (List.563, List.564, List.565):
|
||||
let List.693 : U64 = 0i64;
|
||||
let List.694 : U64 = CallByName List.6 List.563;
|
||||
let List.692 : [C U64, C U64] = CallByName List.80 List.563 List.564 List.565 List.693 List.694;
|
||||
ret List.692;
|
||||
|
||||
procedure List.26 (List.212, List.213, List.214):
|
||||
let List.676 : [C U64, C U64] = CallByName List.115 List.212 List.213 List.214;
|
||||
let List.679 : U8 = 1i64;
|
||||
let List.680 : U8 = GetTagId List.676;
|
||||
let List.681 : Int1 = lowlevel Eq List.679 List.680;
|
||||
if List.681 then
|
||||
let List.215 : U64 = UnionAtIndex (Id 1) (Index 0) List.676;
|
||||
ret List.215;
|
||||
else
|
||||
let List.216 : U64 = UnionAtIndex (Id 0) (Index 0) List.676;
|
||||
procedure List.26 (List.213, List.214, List.215):
|
||||
let List.686 : [C U64, C U64] = CallByName List.116 List.213 List.214 List.215;
|
||||
let List.689 : U8 = 1i64;
|
||||
let List.690 : U8 = GetTagId List.686;
|
||||
let List.691 : Int1 = lowlevel Eq List.689 List.690;
|
||||
if List.691 then
|
||||
let List.216 : U64 = UnionAtIndex (Id 1) (Index 0) List.686;
|
||||
ret List.216;
|
||||
else
|
||||
let List.217 : U64 = UnionAtIndex (Id 0) (Index 0) List.686;
|
||||
ret List.217;
|
||||
|
||||
procedure List.38 (List.400, List.401):
|
||||
let List.675 : U64 = CallByName List.6 List.400;
|
||||
let List.402 : U64 = CallByName Num.77 List.675 List.401;
|
||||
let List.665 : List U8 = CallByName List.43 List.400 List.402;
|
||||
ret List.665;
|
||||
procedure List.38 (List.401, List.402):
|
||||
let List.685 : U64 = CallByName List.6 List.401;
|
||||
let List.403 : U64 = CallByName Num.77 List.685 List.402;
|
||||
let List.675 : List U8 = CallByName List.43 List.401 List.403;
|
||||
ret List.675;
|
||||
|
||||
procedure List.43 (List.398, List.399):
|
||||
let List.673 : U64 = CallByName List.6 List.398;
|
||||
let List.672 : U64 = CallByName Num.77 List.673 List.399;
|
||||
let List.667 : {U64, U64} = Struct {List.399, List.672};
|
||||
let List.666 : List U8 = CallByName List.49 List.398 List.667;
|
||||
ret List.666;
|
||||
procedure List.43 (List.399, List.400):
|
||||
let List.683 : U64 = CallByName List.6 List.399;
|
||||
let List.682 : U64 = CallByName Num.77 List.683 List.400;
|
||||
let List.677 : {U64, U64} = Struct {List.400, List.682};
|
||||
let List.676 : List U8 = CallByName List.49 List.399 List.677;
|
||||
ret List.676;
|
||||
|
||||
procedure List.49 (List.476, List.477):
|
||||
let List.669 : U64 = StructAtIndex 1 List.477;
|
||||
let List.670 : U64 = StructAtIndex 0 List.477;
|
||||
let List.668 : List U8 = CallByName List.72 List.476 List.669 List.670;
|
||||
ret List.668;
|
||||
procedure List.49 (List.477, List.478):
|
||||
let List.679 : U64 = StructAtIndex 1 List.478;
|
||||
let List.680 : U64 = StructAtIndex 0 List.478;
|
||||
let List.678 : List U8 = CallByName List.72 List.477 List.679 List.680;
|
||||
ret List.678;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.674 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.674;
|
||||
let List.684 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.684;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.697 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.697;
|
||||
let List.707 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.707;
|
||||
|
||||
procedure List.72 (#Attr.2, #Attr.3, #Attr.4):
|
||||
let List.671 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.671;
|
||||
let List.681 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.681;
|
||||
|
||||
procedure List.80 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.4):
|
||||
joinpoint List.685 List.565 List.566 List.567 List.568 List.569:
|
||||
let List.687 : Int1 = CallByName Num.22 List.568 List.569;
|
||||
if List.687 then
|
||||
let List.696 : U8 = CallByName List.66 List.565 List.568;
|
||||
let List.688 : [C U64, C U64] = CallByName Test.3 List.566 List.696;
|
||||
let List.693 : U8 = 1i64;
|
||||
let List.694 : U8 = GetTagId List.688;
|
||||
let List.695 : Int1 = lowlevel Eq List.693 List.694;
|
||||
if List.695 then
|
||||
let List.570 : U64 = UnionAtIndex (Id 1) (Index 0) List.688;
|
||||
let List.691 : U64 = 1i64;
|
||||
let List.690 : U64 = CallByName Num.51 List.568 List.691;
|
||||
jump List.685 List.565 List.570 List.567 List.690 List.569;
|
||||
joinpoint List.695 List.566 List.567 List.568 List.569 List.570:
|
||||
let List.697 : Int1 = CallByName Num.22 List.569 List.570;
|
||||
if List.697 then
|
||||
let List.706 : U8 = CallByName List.66 List.566 List.569;
|
||||
let List.698 : [C U64, C U64] = CallByName Test.3 List.567 List.706;
|
||||
let List.703 : U8 = 1i64;
|
||||
let List.704 : U8 = GetTagId List.698;
|
||||
let List.705 : Int1 = lowlevel Eq List.703 List.704;
|
||||
if List.705 then
|
||||
let List.571 : U64 = UnionAtIndex (Id 1) (Index 0) List.698;
|
||||
let List.701 : U64 = 1i64;
|
||||
let List.700 : U64 = CallByName Num.51 List.569 List.701;
|
||||
jump List.695 List.566 List.571 List.568 List.700 List.570;
|
||||
else
|
||||
dec List.565;
|
||||
let List.571 : U64 = UnionAtIndex (Id 0) (Index 0) List.688;
|
||||
let List.692 : [C U64, C U64] = TagId(0) List.571;
|
||||
ret List.692;
|
||||
dec List.566;
|
||||
let List.572 : U64 = UnionAtIndex (Id 0) (Index 0) List.698;
|
||||
let List.702 : [C U64, C U64] = TagId(0) List.572;
|
||||
ret List.702;
|
||||
else
|
||||
dec List.565;
|
||||
let List.686 : [C U64, C U64] = TagId(1) List.566;
|
||||
ret List.686;
|
||||
dec List.566;
|
||||
let List.696 : [C U64, C U64] = TagId(1) List.567;
|
||||
ret List.696;
|
||||
in
|
||||
inc #Derived_gen.0;
|
||||
jump List.685 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
|
||||
jump List.695 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.286 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
|
@ -1759,7 +1759,7 @@ fn lambda_capture_niches_with_other_lambda_capture() {
|
|||
when val is
|
||||
_ -> ""
|
||||
|
||||
capture2 = \val -> \{} -> "$(val)"
|
||||
capture2 = \val -> \{} -> "${val}"
|
||||
|
||||
x : [A, B, C]
|
||||
x = A
|
||||
|
@ -2072,7 +2072,7 @@ fn polymorphic_expression_unification() {
|
|||
]
|
||||
parse_function : Str -> RenderTree
|
||||
parse_function = \name ->
|
||||
last = Indent [Text ".trace(\"$(name)\")" ]
|
||||
last = Indent [Text ".trace(\"${name}\")" ]
|
||||
Indent [last]
|
||||
|
||||
values = parse_function "interface_header"
|
||||
|
@ -2636,7 +2636,7 @@ fn recursively_build_effect() {
|
|||
hi = "Hello"
|
||||
name = "World"
|
||||
|
||||
"$(hi), $(name)!"
|
||||
"${hi}, ${name}!"
|
||||
|
||||
main =
|
||||
when nest_help 4 is
|
||||
|
@ -2956,8 +2956,8 @@ fn compose_recursive_lambda_set_productive_nullable_wrapped() {
|
|||
else \x -> f (g x)
|
||||
|
||||
identity = \x -> x
|
||||
exclaim = \s -> "$(s)!"
|
||||
whisper = \s -> "($(s))"
|
||||
exclaim = \s -> "${s}!"
|
||||
whisper = \s -> "(${s})"
|
||||
|
||||
main =
|
||||
res: Str -> Str
|
||||
|
@ -3291,7 +3291,7 @@ fn dbg_nested_expr() {
|
|||
fn dbg_inside_string() {
|
||||
indoc!(
|
||||
r#"
|
||||
"Hello $(dbg "world")!"
|
||||
"Hello ${dbg "world"}!"
|
||||
"#
|
||||
)
|
||||
}
|
||||
|
@ -3690,7 +3690,7 @@ fn dec_refcount_for_usage_after_early_return_in_if() {
|
|||
else
|
||||
third
|
||||
|
||||
"$(first), $(second)"
|
||||
"${first}, ${second}"
|
||||
|
||||
display_n 3
|
||||
"#
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
"$(g)" : q
|
||||
"${g}" : q
|
||||
f
|
|
@ -1,2 +1,2 @@
|
|||
"""$(g)""":q
|
||||
"""${g}""":q
|
||||
f
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
dbg (a / a)
|
||||
d
|
|
@ -0,0 +1,32 @@
|
|||
@0-8 SpaceAfter(
|
||||
DbgStmt {
|
||||
first: @4-7 BinOps(
|
||||
[
|
||||
(
|
||||
@4-5 Var {
|
||||
module_name: "",
|
||||
ident: "a",
|
||||
},
|
||||
@5-6 Slash,
|
||||
),
|
||||
],
|
||||
@6-7 Var {
|
||||
module_name: "",
|
||||
ident: "a",
|
||||
},
|
||||
),
|
||||
extra_args: [],
|
||||
continuation: @9-10 SpaceBefore(
|
||||
Var {
|
||||
module_name: "",
|
||||
ident: "d",
|
||||
},
|
||||
[
|
||||
Newline,
|
||||
],
|
||||
),
|
||||
},
|
||||
[
|
||||
Newline,
|
||||
],
|
||||
)
|
|
@ -0,0 +1,2 @@
|
|||
dbg(a/a)
|
||||
d
|
|
@ -0,0 +1,2 @@
|
|||
dbg()
|
||||
d
|
|
@ -0,0 +1,40 @@
|
|||
@0-7 SpaceAfter(
|
||||
Defs(
|
||||
Defs {
|
||||
tags: [
|
||||
EitherIndex(2147483648),
|
||||
],
|
||||
regions: [
|
||||
@0-5,
|
||||
],
|
||||
space_before: [
|
||||
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
|
||||
],
|
||||
space_after: [
|
||||
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
|
||||
],
|
||||
spaces: [],
|
||||
type_defs: [],
|
||||
value_defs: [
|
||||
Stmt(
|
||||
@0-5 PncApply(
|
||||
@0-3 Dbg,
|
||||
[],
|
||||
),
|
||||
),
|
||||
],
|
||||
},
|
||||
@6-7 SpaceBefore(
|
||||
Var {
|
||||
module_name: "",
|
||||
ident: "d",
|
||||
},
|
||||
[
|
||||
Newline,
|
||||
],
|
||||
),
|
||||
),
|
||||
[
|
||||
Newline,
|
||||
],
|
||||
)
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue