mirror of
https://github.com/roc-lang/roc.git
synced 2025-09-26 13:29:12 +00:00
Merge branch 'main' into builtin-task
This commit is contained in:
commit
f61b303a59
82 changed files with 2661 additions and 5699 deletions
|
@ -988,20 +988,14 @@ fn link_linux(
|
|||
LinkType::Executable => (
|
||||
// Presumably this S stands for Static, since if we include Scrt1.o
|
||||
// in the linking for dynamic builds, linking fails.
|
||||
vec![scrt1_path_str.to_string()],
|
||||
[scrt1_path_str.as_ref()],
|
||||
output_path,
|
||||
),
|
||||
LinkType::Dylib => {
|
||||
let mut output_path = output_path;
|
||||
output_path.set_extension("so");
|
||||
|
||||
(
|
||||
// TODO: find a way to avoid using a vec! here - should theoretically be
|
||||
// able to do this somehow using &[] but the borrow checker isn't having it.
|
||||
// Also find a way to have these be string slices instead of Strings.
|
||||
vec!["-shared".to_string()],
|
||||
output_path,
|
||||
)
|
||||
(["-shared"], output_path)
|
||||
}
|
||||
LinkType::None => internal_error!("link_linux should not be called with link type of none"),
|
||||
};
|
||||
|
@ -1032,7 +1026,7 @@ fn link_linux(
|
|||
&crti_path_str,
|
||||
&crtn_path_str,
|
||||
])
|
||||
.args(&base_args)
|
||||
.args(base_args)
|
||||
.args(["-dynamic-linker", ld_linux_path_str])
|
||||
.args(input_paths)
|
||||
.args(extra_link_flags())
|
||||
|
|
|
@ -1169,7 +1169,7 @@ fn build_and_preprocess_host_lowlevel(
|
|||
opt_level: OptLevel,
|
||||
target: Target,
|
||||
platform_main_roc: &Path,
|
||||
preprocessed_host_path: &Path,
|
||||
_preprocessed_host_path: &Path,
|
||||
stub_dll_symbols: &[String],
|
||||
) {
|
||||
let stub_lib =
|
||||
|
@ -1177,14 +1177,15 @@ fn build_and_preprocess_host_lowlevel(
|
|||
|
||||
debug_assert!(stub_lib.exists());
|
||||
|
||||
rebuild_host(opt_level, target, platform_main_roc, Some(&stub_lib));
|
||||
let host_dest = rebuild_host(opt_level, target, platform_main_roc, Some(&stub_lib));
|
||||
|
||||
roc_linker::preprocess_host(
|
||||
target,
|
||||
host_dest.as_path(),
|
||||
platform_main_roc,
|
||||
preprocessed_host_path,
|
||||
&stub_lib,
|
||||
stub_dll_symbols,
|
||||
false,
|
||||
false,
|
||||
)
|
||||
}
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -10,7 +10,6 @@ package [
|
|||
Encode,
|
||||
Hash,
|
||||
Box,
|
||||
TotallyNotJson,
|
||||
Inspect,
|
||||
Task,
|
||||
] {}
|
||||
|
|
|
@ -16,7 +16,6 @@ pub fn module_source(module_id: ModuleId) -> &'static str {
|
|||
ModuleId::DECODE => DECODE,
|
||||
ModuleId::HASH => HASH,
|
||||
ModuleId::INSPECT => INSPECT,
|
||||
ModuleId::JSON => JSON,
|
||||
ModuleId::TASK => TASK,
|
||||
_ => internal_error!(
|
||||
"ModuleId {:?} is not part of the standard library",
|
||||
|
@ -37,5 +36,4 @@ const ENCODE: &str = include_str!("../roc/Encode.roc");
|
|||
const DECODE: &str = include_str!("../roc/Decode.roc");
|
||||
const HASH: &str = include_str!("../roc/Hash.roc");
|
||||
const INSPECT: &str = include_str!("../roc/Inspect.roc");
|
||||
const JSON: &str = include_str!("../roc/TotallyNotJson.roc");
|
||||
const TASK: &str = include_str!("../roc/Task.roc");
|
||||
|
|
|
@ -755,28 +755,6 @@ pub fn desugar_expr<'a>(
|
|||
})
|
||||
}
|
||||
|
||||
// Replace an empty final def with a `Task.ok {}`
|
||||
EmptyDefsFinal => {
|
||||
let mut apply_args: Vec<&'a Loc<Expr<'a>>> = Vec::new_in(arena);
|
||||
apply_args
|
||||
.push(arena.alloc(Loc::at(loc_expr.region, Expr::Record(Collection::empty()))));
|
||||
|
||||
arena.alloc(Loc::at(
|
||||
loc_expr.region,
|
||||
Expr::Apply(
|
||||
arena.alloc(Loc::at(
|
||||
loc_expr.region,
|
||||
Expr::Var {
|
||||
module_name: ModuleName::TASK,
|
||||
ident: "ok",
|
||||
},
|
||||
)),
|
||||
arena.alloc(apply_args),
|
||||
CalledVia::BangSuffix,
|
||||
),
|
||||
))
|
||||
}
|
||||
|
||||
// note this only exists after desugaring
|
||||
LowLevelDbg(_, _, _) => loc_expr,
|
||||
}
|
||||
|
|
|
@ -621,9 +621,6 @@ pub fn canonicalize_expr<'a>(
|
|||
use Expr::*;
|
||||
|
||||
let (expr, output) = match expr {
|
||||
&ast::Expr::EmptyDefsFinal => {
|
||||
internal_error!("EmptyDefsFinal should have been desugared")
|
||||
}
|
||||
&ast::Expr::Num(str) => {
|
||||
let answer = num_expr_from_result(var_store, finish_parsing_num(str), region, env);
|
||||
|
||||
|
@ -2392,8 +2389,7 @@ pub fn is_valid_interpolation(expr: &ast::Expr<'_>) -> bool {
|
|||
| ast::Expr::Backpassing(_, _, _)
|
||||
| ast::Expr::SpaceBefore(_, _)
|
||||
| ast::Expr::Str(StrLiteral::Block(_))
|
||||
| ast::Expr::SpaceAfter(_, _)
|
||||
| ast::Expr::EmptyDefsFinal => false,
|
||||
| ast::Expr::SpaceAfter(_, _) => false,
|
||||
// These can contain subexpressions, so we need to recursively check those
|
||||
ast::Expr::Str(StrLiteral::Line(segments)) => {
|
||||
segments.iter().all(|segment| match segment {
|
||||
|
|
|
@ -207,7 +207,7 @@ pub struct ListPatterns {
|
|||
/// [ .., A, B ] -> patterns = [A, B], rest = 0
|
||||
/// [ A, .., B ] -> patterns = [A, B], rest = 1
|
||||
/// [ A, B, .. ] -> patterns = [A, B], rest = 2
|
||||
pub opt_rest: Option<(usize, Option<Symbol>)>,
|
||||
pub opt_rest: Option<(usize, Option<Loc<Symbol>>)>,
|
||||
}
|
||||
|
||||
impl ListPatterns {
|
||||
|
@ -793,7 +793,8 @@ pub fn canonicalize_pattern<'a>(
|
|||
pattern_as.identifier.value,
|
||||
) {
|
||||
Ok(symbol) => {
|
||||
rest_name = Some(symbol);
|
||||
rest_name =
|
||||
Some(Loc::at(pattern_as.identifier.region, symbol));
|
||||
}
|
||||
Err(pattern) => {
|
||||
opt_erroneous = Some(pattern);
|
||||
|
@ -997,6 +998,10 @@ impl<'a> BindingsFromPattern<'a> {
|
|||
| OpaqueNotInScope(..) => (),
|
||||
List { patterns, .. } => {
|
||||
stack.extend(patterns.patterns.iter().rev().map(Pattern));
|
||||
|
||||
if let Some((_, Some(rest_sym))) = &patterns.opt_rest {
|
||||
return Some((rest_sym.value, rest_sym.region));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -129,46 +129,7 @@ pub fn unwrap_suffixed_expression<'a>(
|
|||
internal_error!("BinOps should have been desugared in desugar_expr");
|
||||
}
|
||||
|
||||
Expr::LowLevelDbg(dbg_src, arg, rest) => {
|
||||
if is_expr_suffixed(&arg.value) {
|
||||
// we cannot unwrap a suffixed expression within dbg
|
||||
// e.g. dbg (foo! "bar")
|
||||
return Err(EUnwrapped::Malformed);
|
||||
}
|
||||
|
||||
match unwrap_suffixed_expression(arena, rest, maybe_def_pat) {
|
||||
Ok(unwrapped_expr) => {
|
||||
let new_dbg = arena.alloc(Loc::at(
|
||||
loc_expr.region,
|
||||
LowLevelDbg(dbg_src, arg, unwrapped_expr),
|
||||
));
|
||||
return Ok(new_dbg);
|
||||
}
|
||||
Err(EUnwrapped::UnwrappedDefExpr(unwrapped_expr)) => {
|
||||
let new_dbg = arena.alloc(Loc::at(
|
||||
loc_expr.region,
|
||||
LowLevelDbg(dbg_src, arg, unwrapped_expr),
|
||||
));
|
||||
Err(EUnwrapped::UnwrappedDefExpr(new_dbg))
|
||||
}
|
||||
Err(EUnwrapped::UnwrappedSubExpr {
|
||||
sub_arg: unwrapped_expr,
|
||||
sub_pat,
|
||||
sub_new,
|
||||
}) => {
|
||||
let new_dbg = arena.alloc(Loc::at(
|
||||
loc_expr.region,
|
||||
LowLevelDbg(dbg_src, arg, unwrapped_expr),
|
||||
));
|
||||
Err(EUnwrapped::UnwrappedSubExpr {
|
||||
sub_arg: new_dbg,
|
||||
sub_pat,
|
||||
sub_new,
|
||||
})
|
||||
}
|
||||
Err(EUnwrapped::Malformed) => Err(EUnwrapped::Malformed),
|
||||
}
|
||||
}
|
||||
Expr::LowLevelDbg(..) => unwrap_low_level_dbg(arena, loc_expr, maybe_def_pat),
|
||||
|
||||
Expr::Expect(condition, continuation) => {
|
||||
if is_expr_suffixed(&condition.value) {
|
||||
|
@ -658,7 +619,8 @@ pub fn unwrap_suffixed_expression_defs_help<'a>(
|
|||
let after_empty = split_defs.after.is_empty();
|
||||
if before_empty && after_empty {
|
||||
// NIL before, NIL after -> SINGLE DEF
|
||||
let next_expr = match unwrap_suffixed_expression(arena,loc_ret,maybe_def_pat) {
|
||||
// We pass None as a def pattern here because it's desugaring of the ret expression
|
||||
let next_expr = match unwrap_suffixed_expression(arena,loc_ret, None) {
|
||||
Ok(next_expr) => next_expr,
|
||||
Err(EUnwrapped::UnwrappedSubExpr { sub_arg, sub_pat, sub_new }) => {
|
||||
// We need to apply Task.ok here as the defs final expression was unwrapped
|
||||
|
@ -688,7 +650,8 @@ pub fn unwrap_suffixed_expression_defs_help<'a>(
|
|||
return unwrap_suffixed_expression(arena, apply_task_await(arena,def_expr.region,unwrapped_expr,def_pattern,next_expr), maybe_def_pat);
|
||||
} else if after_empty {
|
||||
// SOME before, NIL after -> LAST DEF
|
||||
match unwrap_suffixed_expression(arena,loc_ret,maybe_def_pat){
|
||||
// We pass None as a def pattern here because it's desugaring of the ret expression
|
||||
match unwrap_suffixed_expression(arena,loc_ret,None){
|
||||
Ok(new_loc_ret) => {
|
||||
let applied_task_await = apply_task_await(arena, loc_expr.region, unwrapped_expr, def_pattern, new_loc_ret);
|
||||
let new_defs = arena.alloc(Loc::at(loc_expr.region,Defs(arena.alloc(split_defs.before), applied_task_await)));
|
||||
|
@ -767,6 +730,87 @@ pub fn unwrap_suffixed_expression_defs_help<'a>(
|
|||
}
|
||||
}
|
||||
|
||||
fn unwrap_low_level_dbg<'a>(
|
||||
arena: &'a Bump,
|
||||
loc_expr: &'a Loc<Expr<'a>>,
|
||||
maybe_def_pat: Option<&'a Loc<Pattern<'a>>>,
|
||||
) -> Result<&'a Loc<Expr<'a>>, EUnwrapped<'a>> {
|
||||
match loc_expr.value {
|
||||
LowLevelDbg(dbg_src, arg, rest) => {
|
||||
if is_expr_suffixed(&arg.value) {
|
||||
return match unwrap_suffixed_expression(arena, arg, maybe_def_pat) {
|
||||
Ok(unwrapped_expr) => {
|
||||
let new_dbg = arena.alloc(Loc::at(
|
||||
loc_expr.region,
|
||||
LowLevelDbg(dbg_src, unwrapped_expr, rest),
|
||||
));
|
||||
|
||||
unwrap_low_level_dbg(arena, new_dbg, maybe_def_pat)
|
||||
}
|
||||
Err(EUnwrapped::UnwrappedSubExpr {
|
||||
sub_arg,
|
||||
sub_pat,
|
||||
sub_new,
|
||||
}) => {
|
||||
let new_dbg = arena.alloc(Loc::at(
|
||||
loc_expr.region,
|
||||
LowLevelDbg(dbg_src, sub_new, rest),
|
||||
));
|
||||
|
||||
unwrap_suffixed_expression(
|
||||
arena,
|
||||
apply_task_await(arena, new_dbg.region, sub_arg, sub_pat, new_dbg),
|
||||
maybe_def_pat,
|
||||
)
|
||||
}
|
||||
Err(EUnwrapped::UnwrappedDefExpr(..)) => {
|
||||
internal_error!(
|
||||
"unreachable, arg of LowLevelDbg should generate UnwrappedSubExpr instead"
|
||||
);
|
||||
}
|
||||
Err(EUnwrapped::Malformed) => Err(EUnwrapped::Malformed),
|
||||
};
|
||||
}
|
||||
|
||||
match unwrap_suffixed_expression(arena, rest, maybe_def_pat) {
|
||||
Ok(unwrapped_expr) => {
|
||||
let new_dbg = arena.alloc(Loc::at(
|
||||
loc_expr.region,
|
||||
LowLevelDbg(dbg_src, arg, unwrapped_expr),
|
||||
));
|
||||
Ok(&*new_dbg)
|
||||
}
|
||||
Err(EUnwrapped::UnwrappedDefExpr(unwrapped_expr)) => {
|
||||
let new_dbg = arena.alloc(Loc::at(
|
||||
loc_expr.region,
|
||||
LowLevelDbg(dbg_src, arg, unwrapped_expr),
|
||||
));
|
||||
Err(EUnwrapped::UnwrappedDefExpr(new_dbg))
|
||||
}
|
||||
Err(EUnwrapped::UnwrappedSubExpr {
|
||||
sub_arg: unwrapped_expr,
|
||||
sub_pat,
|
||||
sub_new,
|
||||
}) => {
|
||||
let new_dbg = arena.alloc(Loc::at(
|
||||
loc_expr.region,
|
||||
LowLevelDbg(dbg_src, arg, unwrapped_expr),
|
||||
));
|
||||
Err(EUnwrapped::UnwrappedSubExpr {
|
||||
sub_arg: new_dbg,
|
||||
sub_pat,
|
||||
sub_new,
|
||||
})
|
||||
}
|
||||
Err(EUnwrapped::Malformed) => Err(EUnwrapped::Malformed),
|
||||
}
|
||||
}
|
||||
_ => internal_error!(
|
||||
"unreachable, expected a LowLevelDbg node to be passed into unwrap_low_level_dbg"
|
||||
),
|
||||
}
|
||||
}
|
||||
|
||||
/// Helper for `Task.await (loc_arg) \loc_pat -> loc_new`
|
||||
pub fn apply_task_await<'a>(
|
||||
arena: &'a Bump,
|
||||
|
|
|
@ -379,11 +379,7 @@ mod test_can {
|
|||
let arena = Bump::new();
|
||||
let CanExprOut { problems, .. } = can_expr_with(&arena, test_home(), src);
|
||||
|
||||
assert_eq!(problems.len(), 2);
|
||||
assert!(problems.iter().any(|problem| matches!(
|
||||
problem,
|
||||
Problem::RuntimeError(RuntimeError::Shadowing { .. })
|
||||
)));
|
||||
assert_eq!(problems.len(), 0);
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
@ -400,11 +396,7 @@ mod test_can {
|
|||
let arena = Bump::new();
|
||||
let CanExprOut { problems, .. } = can_expr_with(&arena, test_home(), src);
|
||||
|
||||
assert_eq!(problems.len(), 2);
|
||||
assert!(problems.iter().any(|problem| matches!(
|
||||
problem,
|
||||
Problem::RuntimeError(RuntimeError::Shadowing { .. })
|
||||
)));
|
||||
assert_eq!(problems.len(), 0);
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
#[macro_use]
|
||||
extern crate indoc;
|
||||
|
||||
#[cfg(test)]
|
||||
mod suffixed_tests {
|
||||
|
||||
|
@ -375,7 +378,7 @@ mod suffixed_tests {
|
|||
x = foo! msg
|
||||
bar x
|
||||
"#,
|
||||
r#"Defs { tags: [Index(2147483648)], regions: [@0-88], space_before: [Slice(start = 0, length = 0)], space_after: [Slice(start = 0, length = 0)], spaces: [], type_defs: [], value_defs: [Body(@0-4 Identifier { ident: "main" }, @0-88 Defs(Defs { tags: [Index(2147483649)], regions: [@30-37], space_before: [Slice(start = 0, length = 0)], space_after: [Slice(start = 0, length = 0)], spaces: [], type_defs: [], value_defs: [Body(@24-27 Identifier { ident: "msg" }, @30-37 Str(PlainLine("hello"))), Body(@24-27 Identifier { ident: "msg" }, @30-37 Str(PlainLine("hello")))] }, @0-88 Apply(@0-88 Var { module_name: "Task", ident: "await" }, [@54-66 Apply(@54-66 Var { module_name: "", ident: "foo" }, [@63-66 Var { module_name: "", ident: "msg" }], Space), @0-88 Closure([@54-55 Identifier { ident: "x" }], @83-88 Apply(@83-86 Var { module_name: "", ident: "bar" }, [@87-88 Var { module_name: "", ident: "x" }], Space))], BangSuffix)))] }"#,
|
||||
r#"Defs { tags: [Index(2147483648)], regions: [@0-88], space_before: [Slice(start = 0, length = 0)], space_after: [Slice(start = 0, length = 0)], spaces: [], type_defs: [], value_defs: [Body(@0-4 Identifier { ident: "main" }, @24-88 Defs(Defs { tags: [Index(2147483649)], regions: [@30-37], space_before: [Slice(start = 0, length = 0)], space_after: [Slice(start = 0, length = 0)], spaces: [], type_defs: [], value_defs: [Body(@24-27 Identifier { ident: "msg" }, @30-37 Str(PlainLine("hello"))), Body(@24-27 Identifier { ident: "msg" }, @30-37 Str(PlainLine("hello")))] }, @24-88 Apply(@24-88 Var { module_name: "Task", ident: "await" }, [@54-66 Apply(@54-66 Var { module_name: "", ident: "foo" }, [@63-66 Var { module_name: "", ident: "msg" }], Space), @24-88 Closure([@54-55 Identifier { ident: "x" }], @83-88 Apply(@83-86 Var { module_name: "", ident: "bar" }, [@87-88 Var { module_name: "", ident: "x" }], Space))], BangSuffix)))] }"#,
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -416,7 +419,7 @@ mod suffixed_tests {
|
|||
|
||||
x "foo"
|
||||
"#,
|
||||
r#"Defs { tags: [Index(2147483648)], regions: [@0-187], space_before: [Slice(start = 0, length = 0)], space_after: [Slice(start = 0, length = 0)], spaces: [], type_defs: [], value_defs: [Body(@0-4 Identifier { ident: "main" }, @0-187 Defs(Defs { tags: [Index(2147483650)], regions: [@60-162], space_before: [Slice(start = 0, length = 0)], space_after: [Slice(start = 0, length = 0)], spaces: [], type_defs: [], value_defs: [Annotation(@24-25 Identifier { ident: "x" }, @28-43 Function([@28-31 Apply("", "Str", [])], @35-43 Apply("", "Task", [@40-41 Inferred, @42-43 Inferred]))), AnnotatedBody { ann_pattern: @24-25 Identifier { ident: "x" }, ann_type: @28-43 Function([@28-31 Apply("", "Str", [])], @35-43 Apply("", "Task", [@40-41 Inferred, @42-43 Inferred])), comment: None, body_pattern: @60-61 Identifier { ident: "x" }, body_expr: @60-162 Closure([@65-68 Identifier { ident: "msg" }], @93-162 Defs(Defs { tags: [Index(2147483649)], regions: [@93-140], space_before: [Slice(start = 0, length = 0)], space_after: [Slice(start = 0, length = 0)], spaces: [], type_defs: [], value_defs: [Annotation(@93-94 Identifier { ident: "y" }, @97-106 Apply("", "Task", [@102-104 Record { fields: [], ext: None }, @105-106 Inferred])), AnnotatedBody { ann_pattern: @93-94 Identifier { ident: "y" }, ann_type: @97-106 Apply("", "Task", [@102-104 Record { fields: [], ext: None }, @105-106 Inferred]), comment: None, body_pattern: @127-128 Identifier { ident: "y" }, body_expr: @127-140 Apply(@131-135 TaskAwaitBang(Var { module_name: "", ident: "line" }), [@137-140 Var { module_name: "", ident: "msg" }], Space) }] }, @161-162 Var { module_name: "", ident: "y" })) }, AnnotatedBody { ann_pattern: @24-25 Identifier { ident: "x" }, ann_type: @28-43 Function([@28-31 Apply("", "Str", [])], @35-43 Apply("", "Task", [@40-41 Inferred, @42-43 Inferred])), comment: None, body_pattern: @60-61 Identifier { ident: "x" }, body_expr: @60-162 Closure([@65-68 Identifier { ident: "msg" }], @127-140 Apply(@127-140 Var { module_name: "Task", ident: "await" }, [@127-140 Apply(@127-140 Var { module_name: "", ident: "line" }, [@137-140 Var { module_name: "", ident: "msg" }], Space), @127-140 Closure([@127-128 Identifier { ident: "y" }], @161-162 Var { module_name: "", ident: "y" })], BangSuffix)) }] }, @180-187 Apply(@180-181 Var { module_name: "", ident: "x" }, [@182-187 Str(PlainLine("foo"))], Space)))] }"#,
|
||||
r#"Defs { tags: [Index(2147483648)], regions: [@0-187], space_before: [Slice(start = 0, length = 0)], space_after: [Slice(start = 0, length = 0)], spaces: [], type_defs: [], value_defs: [Body(@0-4 Identifier { ident: "main" }, @24-187 Defs(Defs { tags: [Index(2147483650)], regions: [@64-162], space_before: [Slice(start = 0, length = 0)], space_after: [Slice(start = 0, length = 0)], spaces: [], type_defs: [], value_defs: [Annotation(@24-25 Identifier { ident: "x" }, @28-43 Function([@28-31 Apply("", "Str", [])], @35-43 Apply("", "Task", [@40-41 Inferred, @42-43 Inferred]))), AnnotatedBody { ann_pattern: @24-25 Identifier { ident: "x" }, ann_type: @28-43 Function([@28-31 Apply("", "Str", [])], @35-43 Apply("", "Task", [@40-41 Inferred, @42-43 Inferred])), comment: None, body_pattern: @60-61 Identifier { ident: "x" }, body_expr: @64-162 Closure([@65-68 Identifier { ident: "msg" }], @93-162 Defs(Defs { tags: [Index(2147483649)], regions: [@93-140], space_before: [Slice(start = 0, length = 0)], space_after: [Slice(start = 0, length = 0)], spaces: [], type_defs: [], value_defs: [Annotation(@93-94 Identifier { ident: "y" }, @97-106 Apply("", "Task", [@102-104 Record { fields: [], ext: None }, @105-106 Inferred])), AnnotatedBody { ann_pattern: @93-94 Identifier { ident: "y" }, ann_type: @97-106 Apply("", "Task", [@102-104 Record { fields: [], ext: None }, @105-106 Inferred]), comment: None, body_pattern: @127-128 Identifier { ident: "y" }, body_expr: @127-140 Apply(@131-135 TaskAwaitBang(Var { module_name: "", ident: "line" }), [@137-140 Var { module_name: "", ident: "msg" }], Space) }] }, @161-162 Var { module_name: "", ident: "y" })) }, AnnotatedBody { ann_pattern: @24-25 Identifier { ident: "x" }, ann_type: @28-43 Function([@28-31 Apply("", "Str", [])], @35-43 Apply("", "Task", [@40-41 Inferred, @42-43 Inferred])), comment: None, body_pattern: @60-61 Identifier { ident: "x" }, body_expr: @64-162 Closure([@65-68 Identifier { ident: "msg" }], @127-140 Apply(@127-140 Var { module_name: "Task", ident: "await" }, [@127-140 Apply(@127-140 Var { module_name: "", ident: "line" }, [@137-140 Var { module_name: "", ident: "msg" }], Space), @127-140 Closure([@127-128 Identifier { ident: "y" }], @161-162 Var { module_name: "", ident: "y" })], BangSuffix)) }] }, @180-187 Apply(@180-181 Var { module_name: "", ident: "x" }, [@182-187 Str(PlainLine("foo"))], Space)))] }"#,
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -610,7 +613,7 @@ mod suffixed_tests {
|
|||
else
|
||||
line "fail"
|
||||
"#,
|
||||
r##"Defs { tags: [Index(2147483648)], regions: [@0-286], space_before: [Slice(start = 0, length = 0)], space_after: [Slice(start = 0, length = 0)], spaces: [], type_defs: [], value_defs: [Body(@0-4 Identifier { ident: "main" }, @0-286 Defs(Defs { tags: [Index(2147483650), Index(2147483651)], regions: [@32-49, @76-94], space_before: [Slice(start = 0, length = 0), Slice(start = 0, length = 1)], space_after: [Slice(start = 0, length = 0), Slice(start = 1, length = 0)], spaces: [Newline], type_defs: [], value_defs: [Body(@23-29 Identifier { ident: "isTrue" }, @32-49 Apply(@32-39 Var { module_name: "Task", ident: "ok" }, [@40-49 Var { module_name: "Bool", ident: "true" }], Space)), Body(@66-73 Identifier { ident: "isFalse" }, @76-94 Apply(@76-83 Var { module_name: "Task", ident: "ok" }, [@84-94 Var { module_name: "Bool", ident: "false" }], Space)), Body(@23-29 Identifier { ident: "isTrue" }, @32-49 Apply(@32-39 Var { module_name: "Task", ident: "ok" }, [@40-49 Var { module_name: "Bool", ident: "true" }], Space)), Body(@66-73 Identifier { ident: "isFalse" }, @76-94 Apply(@76-83 Var { module_name: "Task", ident: "ok" }, [@84-94 Var { module_name: "Bool", ident: "false" }], Space))] }, @115-123 Apply(@115-123 Var { module_name: "Task", ident: "await" }, [@115-123 Var { module_name: "", ident: "isFalse" }, @115-123 Closure([@115-123 Identifier { ident: "#!a0" }], @112-286 If([(@115-123 Var { module_name: "", ident: "#!a0" }, @149-160 Apply(@149-153 Var { module_name: "", ident: "line" }, [@154-160 Str(PlainLine("fail"))], Space))], @185-192 Apply(@185-192 Var { module_name: "Task", ident: "await" }, [@185-192 Var { module_name: "", ident: "isTrue" }, @185-192 Closure([@185-192 Identifier { ident: "#!a1" }], @112-286 If([(@185-192 Var { module_name: "", ident: "#!a1" }, @219-233 Apply(@219-223 Var { module_name: "", ident: "line" }, [@224-233 Str(PlainLine("success"))], Space))], @275-286 Apply(@275-279 Var { module_name: "", ident: "line" }, [@280-286 Str(PlainLine("fail"))], Space)))], BangSuffix)))], BangSuffix)))] }"##,
|
||||
r##"Defs { tags: [Index(2147483648)], regions: [@0-286], space_before: [Slice(start = 0, length = 0)], space_after: [Slice(start = 0, length = 0)], spaces: [], type_defs: [], value_defs: [Body(@0-4 Identifier { ident: "main" }, @23-286 Defs(Defs { tags: [Index(2147483650), Index(2147483651)], regions: [@32-49, @76-94], space_before: [Slice(start = 0, length = 0), Slice(start = 0, length = 1)], space_after: [Slice(start = 0, length = 0), Slice(start = 1, length = 0)], spaces: [Newline], type_defs: [], value_defs: [Body(@23-29 Identifier { ident: "isTrue" }, @32-49 Apply(@32-39 Var { module_name: "Task", ident: "ok" }, [@40-49 Var { module_name: "Bool", ident: "true" }], Space)), Body(@66-73 Identifier { ident: "isFalse" }, @76-94 Apply(@76-83 Var { module_name: "Task", ident: "ok" }, [@84-94 Var { module_name: "Bool", ident: "false" }], Space)), Body(@23-29 Identifier { ident: "isTrue" }, @32-49 Apply(@32-39 Var { module_name: "Task", ident: "ok" }, [@40-49 Var { module_name: "Bool", ident: "true" }], Space)), Body(@66-73 Identifier { ident: "isFalse" }, @76-94 Apply(@76-83 Var { module_name: "Task", ident: "ok" }, [@84-94 Var { module_name: "Bool", ident: "false" }], Space))] }, @115-123 Apply(@115-123 Var { module_name: "Task", ident: "await" }, [@115-123 Var { module_name: "", ident: "isFalse" }, @115-123 Closure([@115-123 Identifier { ident: "#!a0" }], @112-286 If([(@115-123 Var { module_name: "", ident: "#!a0" }, @149-160 Apply(@149-153 Var { module_name: "", ident: "line" }, [@154-160 Str(PlainLine("fail"))], Space))], @185-192 Apply(@185-192 Var { module_name: "Task", ident: "await" }, [@185-192 Var { module_name: "", ident: "isTrue" }, @185-192 Closure([@185-192 Identifier { ident: "#!a1" }], @112-286 If([(@185-192 Var { module_name: "", ident: "#!a1" }, @219-233 Apply(@219-223 Var { module_name: "", ident: "line" }, [@224-233 Str(PlainLine("success"))], Space))], @275-286 Apply(@275-279 Var { module_name: "", ident: "line" }, [@280-286 Str(PlainLine("fail"))], Space)))], BangSuffix)))], BangSuffix)))] }"##,
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -650,7 +653,7 @@ mod suffixed_tests {
|
|||
|
||||
msg
|
||||
"#,
|
||||
r##"Defs { tags: [Index(2147483648)], regions: [@0-466], space_before: [Slice(start = 0, length = 0)], space_after: [Slice(start = 0, length = 0)], spaces: [], type_defs: [], value_defs: [Body(@0-4 Identifier { ident: "main" }, @0-466 Defs(Defs { tags: [Index(2147483652), Index(2147483653), Index(2147483654)], regions: [@32-49, @77-92, @143-445], space_before: [Slice(start = 0, length = 0), Slice(start = 0, length = 1), Slice(start = 1, length = 1)], space_after: [Slice(start = 0, length = 0), Slice(start = 1, length = 0), Slice(start = 2, length = 0)], spaces: [Newline, Newline], type_defs: [], value_defs: [Body(@23-29 Identifier { ident: "isTrue" }, @32-49 Apply(@32-39 Var { module_name: "Task", ident: "ok" }, [@40-49 Var { module_name: "Bool", ident: "true" }], Space)), Body(@66-74 Identifier { ident: "isFalsey" }, @77-92 Closure([@78-79 Identifier { ident: "x" }], @83-92 Apply(@83-90 Var { module_name: "Task", ident: "ok" }, [@91-92 Var { module_name: "", ident: "x" }], Space))), Annotation(@109-112 Identifier { ident: "msg" }, @115-126 Apply("", "Task", [@120-122 Record { fields: [], ext: None }, @123-126 Apply("", "I32", [])])), AnnotatedBody { ann_pattern: @109-112 Identifier { ident: "msg" }, ann_type: @115-126 Apply("", "Task", [@120-122 Record { fields: [], ext: None }, @123-126 Apply("", "I32", [])]), comment: None, body_pattern: @143-146 Identifier { ident: "msg" }, body_expr: @143-445 If([(@173-183 Apply(@173-174 Var { module_name: "Bool", ident: "not" }, [@175-182 ParensAround(TaskAwaitBang(Var { module_name: "", ident: "isTrue" }))], UnaryOp(Not)), @213-256 Defs(Defs { tags: [Index(2147483648)], regions: [@218-225], space_before: [Slice(start = 0, length = 0)], space_after: [Slice(start = 0, length = 0)], spaces: [], type_defs: [], value_defs: [Body(@218-225 RecordDestructure([]), @218-225 Apply(@213-217 TaskAwaitBang(Var { module_name: "", ident: "line" }), [@219-225 Str(PlainLine("fail"))], Space))] }, @251-256 Apply(@251-254 Var { module_name: "", ident: "err" }, [@255-256 Num("1")], Space))), (@285-307 ParensAround(Apply(@286-294 TaskAwaitBang(Var { module_name: "", ident: "isFalsey" }), [@296-306 Var { module_name: "Bool", ident: "false" }], Space)), @338-380 Defs(Defs { tags: [Index(2147483648)], regions: [@343-350], space_before: [Slice(start = 0, length = 0)], space_after: [Slice(start = 0, length = 0)], spaces: [], type_defs: [], value_defs: [Body(@343-350 RecordDestructure([]), @343-350 Apply(@338-342 TaskAwaitBang(Var { module_name: "", ident: "line" }), [@344-350 Str(PlainLine("nope"))], Space))] }, @375-380 Apply(@375-377 Var { module_name: "", ident: "ok" }, [@378-380 Record([])], Space)))], @430-445 Apply(@430-434 TaskAwaitBang(Var { module_name: "", ident: "line" }), [@436-445 Str(PlainLine("success"))], Space)) }, Body(@23-29 Identifier { ident: "isTrue" }, @32-49 Apply(@32-39 Var { module_name: "Task", ident: "ok" }, [@40-49 Var { module_name: "Bool", ident: "true" }], Space)), Body(@66-74 Identifier { ident: "isFalsey" }, @77-92 Closure([@78-79 Identifier { ident: "x" }], @83-92 Apply(@83-90 Var { module_name: "Task", ident: "ok" }, [@91-92 Var { module_name: "", ident: "x" }], Space))), AnnotatedBody { ann_pattern: @109-112 Identifier { ident: "msg" }, ann_type: @115-126 Apply("", "Task", [@120-122 Record { fields: [], ext: None }, @123-126 Apply("", "I32", [])]), comment: None, body_pattern: @143-146 Identifier { ident: "msg" }, body_expr: Apply(Var { module_name: "Task", ident: "await" }, [Var { module_name: "", ident: "isTrue" }, Closure([Identifier { ident: "#!a0" }], @143-445 If([(@173-183 Apply(@173-174 Var { module_name: "Bool", ident: "not" }, [@175-182 ParensAround(Var { module_name: "", ident: "#!a0" })], UnaryOp(Not)), @218-225 Apply(@218-225 Var { module_name: "Task", ident: "await" }, [@218-225 Apply(@218-225 Var { module_name: "", ident: "line" }, [@219-225 Str(PlainLine("fail"))], Space), @218-225 Closure([@218-225 RecordDestructure([])], @251-256 Apply(@251-254 Var { module_name: "", ident: "err" }, [@255-256 Num("1")], Space))], BangSuffix))], Apply(Var { module_name: "Task", ident: "await" }, [Apply(Var { module_name: "", ident: "isFalsey" }, [@296-306 Var { module_name: "Bool", ident: "false" }], Space), Closure([Identifier { ident: "#!a1" }], @143-445 If([(@285-307 ParensAround(Var { module_name: "", ident: "#!a1" }), @343-350 Apply(@343-350 Var { module_name: "Task", ident: "await" }, [@343-350 Apply(@343-350 Var { module_name: "", ident: "line" }, [@344-350 Str(PlainLine("nope"))], Space), @343-350 Closure([@343-350 RecordDestructure([])], @375-380 Apply(@375-377 Var { module_name: "", ident: "ok" }, [@378-380 Record([])], Space))], BangSuffix))], @430-445 Apply(@430-445 Var { module_name: "", ident: "line" }, [@436-445 Str(PlainLine("success"))], Space)))], BangSuffix)))], BangSuffix) }] }, @463-466 Var { module_name: "", ident: "msg" }))] }"##,
|
||||
r##"Defs { tags: [Index(2147483648)], regions: [@0-466], space_before: [Slice(start = 0, length = 0)], space_after: [Slice(start = 0, length = 0)], spaces: [], type_defs: [], value_defs: [Body(@0-4 Identifier { ident: "main" }, @23-466 Defs(Defs { tags: [Index(2147483652), Index(2147483653), Index(2147483654)], regions: [@32-49, @77-92, @170-445], space_before: [Slice(start = 0, length = 0), Slice(start = 0, length = 1), Slice(start = 1, length = 1)], space_after: [Slice(start = 0, length = 0), Slice(start = 1, length = 0), Slice(start = 2, length = 0)], spaces: [Newline, Newline], type_defs: [], value_defs: [Body(@23-29 Identifier { ident: "isTrue" }, @32-49 Apply(@32-39 Var { module_name: "Task", ident: "ok" }, [@40-49 Var { module_name: "Bool", ident: "true" }], Space)), Body(@66-74 Identifier { ident: "isFalsey" }, @77-92 Closure([@78-79 Identifier { ident: "x" }], @83-92 Apply(@83-90 Var { module_name: "Task", ident: "ok" }, [@91-92 Var { module_name: "", ident: "x" }], Space))), Annotation(@109-112 Identifier { ident: "msg" }, @115-126 Apply("", "Task", [@120-122 Record { fields: [], ext: None }, @123-126 Apply("", "I32", [])])), AnnotatedBody { ann_pattern: @109-112 Identifier { ident: "msg" }, ann_type: @115-126 Apply("", "Task", [@120-122 Record { fields: [], ext: None }, @123-126 Apply("", "I32", [])]), comment: None, body_pattern: @143-146 Identifier { ident: "msg" }, body_expr: @170-445 If([(@173-183 Apply(@173-174 Var { module_name: "Bool", ident: "not" }, [@175-182 ParensAround(TaskAwaitBang(Var { module_name: "", ident: "isTrue" }))], UnaryOp(Not)), @213-256 Defs(Defs { tags: [Index(2147483648)], regions: [@218-225], space_before: [Slice(start = 0, length = 0)], space_after: [Slice(start = 0, length = 0)], spaces: [], type_defs: [], value_defs: [Body(@218-225 RecordDestructure([]), @218-225 Apply(@213-217 TaskAwaitBang(Var { module_name: "", ident: "line" }), [@219-225 Str(PlainLine("fail"))], Space))] }, @251-256 Apply(@251-254 Var { module_name: "", ident: "err" }, [@255-256 Num("1")], Space))), (@285-307 ParensAround(Apply(@286-294 TaskAwaitBang(Var { module_name: "", ident: "isFalsey" }), [@296-306 Var { module_name: "Bool", ident: "false" }], Space)), @338-380 Defs(Defs { tags: [Index(2147483648)], regions: [@343-350], space_before: [Slice(start = 0, length = 0)], space_after: [Slice(start = 0, length = 0)], spaces: [], type_defs: [], value_defs: [Body(@343-350 RecordDestructure([]), @343-350 Apply(@338-342 TaskAwaitBang(Var { module_name: "", ident: "line" }), [@344-350 Str(PlainLine("nope"))], Space))] }, @375-380 Apply(@375-377 Var { module_name: "", ident: "ok" }, [@378-380 Record([])], Space)))], @430-445 Apply(@430-434 TaskAwaitBang(Var { module_name: "", ident: "line" }), [@436-445 Str(PlainLine("success"))], Space)) }, Body(@23-29 Identifier { ident: "isTrue" }, @32-49 Apply(@32-39 Var { module_name: "Task", ident: "ok" }, [@40-49 Var { module_name: "Bool", ident: "true" }], Space)), Body(@66-74 Identifier { ident: "isFalsey" }, @77-92 Closure([@78-79 Identifier { ident: "x" }], @83-92 Apply(@83-90 Var { module_name: "Task", ident: "ok" }, [@91-92 Var { module_name: "", ident: "x" }], Space))), AnnotatedBody { ann_pattern: @109-112 Identifier { ident: "msg" }, ann_type: @115-126 Apply("", "Task", [@120-122 Record { fields: [], ext: None }, @123-126 Apply("", "I32", [])]), comment: None, body_pattern: @143-146 Identifier { ident: "msg" }, body_expr: Apply(Var { module_name: "Task", ident: "await" }, [Var { module_name: "", ident: "isTrue" }, Closure([Identifier { ident: "#!a0" }], @170-445 If([(@173-183 Apply(@173-174 Var { module_name: "Bool", ident: "not" }, [@175-182 ParensAround(Var { module_name: "", ident: "#!a0" })], UnaryOp(Not)), @218-225 Apply(@218-225 Var { module_name: "Task", ident: "await" }, [@218-225 Apply(@218-225 Var { module_name: "", ident: "line" }, [@219-225 Str(PlainLine("fail"))], Space), @218-225 Closure([@218-225 RecordDestructure([])], @251-256 Apply(@251-254 Var { module_name: "", ident: "err" }, [@255-256 Num("1")], Space))], BangSuffix))], Apply(Var { module_name: "Task", ident: "await" }, [Apply(Var { module_name: "", ident: "isFalsey" }, [@296-306 Var { module_name: "Bool", ident: "false" }], Space), Closure([Identifier { ident: "#!a1" }], @170-445 If([(@285-307 ParensAround(Var { module_name: "", ident: "#!a1" }), @343-350 Apply(@343-350 Var { module_name: "Task", ident: "await" }, [@343-350 Apply(@343-350 Var { module_name: "", ident: "line" }, [@344-350 Str(PlainLine("nope"))], Space), @343-350 Closure([@343-350 RecordDestructure([])], @375-380 Apply(@375-377 Var { module_name: "", ident: "ok" }, [@378-380 Record([])], Space))], BangSuffix))], @430-445 Apply(@430-445 Var { module_name: "", ident: "line" }, [@436-445 Str(PlainLine("success"))], Space)))], BangSuffix)))], BangSuffix) }] }, @463-466 Var { module_name: "", ident: "msg" }))] }"##,
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -681,7 +684,7 @@ mod suffixed_tests {
|
|||
CMD.new "cp"
|
||||
|> mapErr! ERR
|
||||
"#,
|
||||
r#"Defs { tags: [Index(2147483648)], regions: [@0-103], space_before: [Slice(start = 0, length = 0)], space_after: [Slice(start = 0, length = 0)], spaces: [], type_defs: [], value_defs: [Body(@0-4 Identifier { ident: "copy" }, @0-103 Closure([@8-9 Identifier { ident: "a" }, @10-11 Identifier { ident: "b" }], @36-42 Apply(@36-42 Var { module_name: "Task", ident: "await" }, [@36-42 Apply(@36-42 Var { module_name: "", ident: "line" }, [@37-42 Str(PlainLine("FOO"))], Space), @36-42 Closure([@36-42 RecordDestructure([])], @60-103 Apply(@60-103 Var { module_name: "", ident: "mapErr" }, [@60-72 Apply(@60-67 Var { module_name: "CMD", ident: "new" }, [@68-72 Str(PlainLine("cp"))], Space), @100-103 Tag("ERR")], BinOp(Pizza)))], BangSuffix)))] }"#,
|
||||
r#"Defs { tags: [Index(2147483648)], regions: [@0-103], space_before: [Slice(start = 0, length = 0)], space_after: [Slice(start = 0, length = 0)], spaces: [], type_defs: [], value_defs: [Body(@0-4 Identifier { ident: "copy" }, @7-103 Closure([@8-9 Identifier { ident: "a" }, @10-11 Identifier { ident: "b" }], @36-42 Apply(@36-42 Var { module_name: "Task", ident: "await" }, [@36-42 Apply(@36-42 Var { module_name: "", ident: "line" }, [@37-42 Str(PlainLine("FOO"))], Space), @36-42 Closure([@36-42 RecordDestructure([])], @60-103 Apply(@60-103 Var { module_name: "", ident: "mapErr" }, [@60-72 Apply(@60-67 Var { module_name: "CMD", ident: "new" }, [@68-72 Str(PlainLine("cp"))], Space), @100-103 Tag("ERR")], BinOp(Pizza)))], BangSuffix)))] }"#,
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -709,7 +712,7 @@ mod suffixed_tests {
|
|||
[] -> "empty"
|
||||
_ -> "non-empty"
|
||||
"#,
|
||||
r##"Defs { tags: [Index(2147483648)], regions: [@0-111], space_before: [Slice(start = 0, length = 0)], space_after: [Slice(start = 0, length = 0)], spaces: [], type_defs: [], value_defs: [Body(@0-4 Identifier { ident: "list" }, @0-111 Apply(@0-111 Var { module_name: "Task", ident: "await" }, [@29-37 Var { module_name: "", ident: "getList" }, @0-111 Closure([@29-37 Identifier { ident: "#!a0" }], @0-111 When(@29-37 Var { module_name: "", ident: "#!a0" }, [WhenBranch { patterns: [@61-63 List([])], value: @67-74 Str(PlainLine("empty")), guard: None }, WhenBranch { patterns: [@95-96 Underscore("")], value: @100-111 Str(PlainLine("non-empty")), guard: None }]))], BangSuffix))] }"##,
|
||||
r##"Defs { tags: [Index(2147483648)], regions: [@0-111], space_before: [Slice(start = 0, length = 0)], space_after: [Slice(start = 0, length = 0)], spaces: [], type_defs: [], value_defs: [Body(@0-4 Identifier { ident: "list" }, @24-111 Apply(@24-111 Var { module_name: "Task", ident: "await" }, [@29-37 Var { module_name: "", ident: "getList" }, @24-111 Closure([@29-37 Identifier { ident: "#!a0" }], @24-111 When(@29-37 Var { module_name: "", ident: "#!a0" }, [WhenBranch { patterns: [@61-63 List([])], value: @67-74 Str(PlainLine("empty")), guard: None }, WhenBranch { patterns: [@95-96 Underscore("")], value: @100-111 Str(PlainLine("non-empty")), guard: None }]))], BangSuffix))] }"##,
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -754,7 +757,7 @@ mod suffixed_tests {
|
|||
_ ->
|
||||
ok {}
|
||||
"#,
|
||||
r##"Defs { tags: [Index(2147483648)], regions: [@0-195], space_before: [Slice(start = 0, length = 0)], space_after: [Slice(start = 0, length = 0)], spaces: [], type_defs: [], value_defs: [Body(@0-4 Identifier { ident: "list" }, @0-195 Apply(@0-195 Var { module_name: "Task", ident: "await" }, [@29-37 Var { module_name: "", ident: "getList" }, @0-195 Closure([@29-37 Identifier { ident: "#!a0" }], @0-195 When(@29-37 Var { module_name: "", ident: "#!a0" }, [WhenBranch { patterns: [@61-63 List([])], value: @97-103 Apply(@97-103 Var { module_name: "Task", ident: "await" }, [@97-103 Apply(@97-103 Var { module_name: "", ident: "line" }, [@98-103 Str(PlainLine("foo"))], Space), @97-103 Closure([@97-103 RecordDestructure([])], @128-139 Apply(@128-139 Var { module_name: "", ident: "line" }, [@134-139 Str(PlainLine("bar"))], Space))], BangSuffix), guard: None }, WhenBranch { patterns: [@160-161 Underscore("")], value: @190-195 Apply(@190-192 Var { module_name: "", ident: "ok" }, [@193-195 Record([])], Space), guard: None }]))], BangSuffix))] }"##,
|
||||
r##"Defs { tags: [Index(2147483648)], regions: [@0-195], space_before: [Slice(start = 0, length = 0)], space_after: [Slice(start = 0, length = 0)], spaces: [], type_defs: [], value_defs: [Body(@0-4 Identifier { ident: "list" }, @24-195 Apply(@24-195 Var { module_name: "Task", ident: "await" }, [@29-37 Var { module_name: "", ident: "getList" }, @24-195 Closure([@29-37 Identifier { ident: "#!a1" }], @24-195 When(@29-37 Var { module_name: "", ident: "#!a1" }, [WhenBranch { patterns: [@61-63 List([])], value: @97-103 Apply(@97-103 Var { module_name: "Task", ident: "await" }, [@97-103 Apply(@97-103 Var { module_name: "", ident: "line" }, [@98-103 Str(PlainLine("foo"))], Space), @97-103 Closure([@97-103 RecordDestructure([])], @128-139 Apply(@128-139 Var { module_name: "", ident: "line" }, [@134-139 Str(PlainLine("bar"))], Space))], BangSuffix), guard: None }, WhenBranch { patterns: [@160-161 Underscore("")], value: @190-195 Apply(@190-192 Var { module_name: "", ident: "ok" }, [@193-195 Record([])], Space), guard: None }]))], BangSuffix))] }"##,
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -862,7 +865,7 @@ mod suffixed_tests {
|
|||
expect 1 == 2
|
||||
x!
|
||||
"#,
|
||||
r#"Defs { tags: [Index(2147483648)], regions: [@0-55], space_before: [Slice(start = 0, length = 0)], space_after: [Slice(start = 0, length = 0)], spaces: [], type_defs: [], value_defs: [Body(@0-4 Identifier { ident: "main" }, @0-55 Expect(@30-36 Apply(@32-34 Var { module_name: "Bool", ident: "isEq" }, [@30-31 Num("1"), @35-36 Num("2")], BinOp(Equals)), @53-55 Var { module_name: "", ident: "x" }))] }"#,
|
||||
r#"Defs { tags: [Index(2147483648)], regions: [@0-55], space_before: [Slice(start = 0, length = 0)], space_after: [Slice(start = 0, length = 0)], spaces: [], type_defs: [], value_defs: [Body(@0-4 Identifier { ident: "main" }, @23-55 Expect(@30-36 Apply(@32-34 Var { module_name: "Bool", ident: "isEq" }, [@30-31 Num("1"), @35-36 Num("2")], BinOp(Equals)), @53-55 Var { module_name: "", ident: "x" }))] }"#,
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -877,7 +880,7 @@ mod suffixed_tests {
|
|||
1 ->
|
||||
c!
|
||||
"#,
|
||||
r#"Defs { tags: [Index(2147483648)], regions: [@0-159], space_before: [Slice(start = 0, length = 0)], space_after: [Slice(start = 0, length = 0)], spaces: [], type_defs: [], value_defs: [Body(@0-4 Identifier { ident: "main" }, @0-159 When(@28-29 Var { module_name: "", ident: "a" }, [WhenBranch { patterns: [@53-54 NumLiteral("0")], value: @82-159 When(@87-88 Var { module_name: "", ident: "b" }, [WhenBranch { patterns: [@120-121 NumLiteral("1")], value: @157-159 Var { module_name: "", ident: "c" }, guard: None }]), guard: None }]))] }"#,
|
||||
r#"Defs { tags: [Index(2147483648)], regions: [@0-159], space_before: [Slice(start = 0, length = 0)], space_after: [Slice(start = 0, length = 0)], spaces: [], type_defs: [], value_defs: [Body(@0-4 Identifier { ident: "main" }, @23-159 When(@28-29 Var { module_name: "", ident: "a" }, [WhenBranch { patterns: [@53-54 NumLiteral("0")], value: @82-159 When(@87-88 Var { module_name: "", ident: "b" }, [WhenBranch { patterns: [@120-121 NumLiteral("1")], value: @157-159 Var { module_name: "", ident: "c" }, guard: None }]), guard: None }]))] }"#,
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -897,7 +900,49 @@ mod suffixed_tests {
|
|||
B ->
|
||||
d!
|
||||
"#,
|
||||
r#"Defs { tags: [Index(2147483648)], regions: [@0-266], space_before: [Slice(start = 0, length = 0)], space_after: [Slice(start = 0, length = 0)], spaces: [], type_defs: [], value_defs: [Body(@0-4 Identifier { ident: "main" }, @0-266 When(@28-29 Var { module_name: "", ident: "x" }, [WhenBranch { patterns: [@53-54 Tag("A")], value: @82-214 Defs(Defs { tags: [Index(2147483649)], regions: [@86-88], space_before: [Slice(start = 0, length = 0)], space_after: [Slice(start = 0, length = 0)], spaces: [], type_defs: [], value_defs: [Body(@82-83 Identifier { ident: "y" }, @86-88 Num("42")), Body(@82-83 Identifier { ident: "y" }, @86-88 Num("42"))] }, @114-214 If([(@117-118 Var { module_name: "", ident: "a" }, @152-154 Var { module_name: "", ident: "b" })], @212-214 Var { module_name: "", ident: "c" })), guard: None }, WhenBranch { patterns: [@235-236 Tag("B")], value: @264-266 Var { module_name: "", ident: "d" }, guard: None }]))] }"#,
|
||||
r#"Defs { tags: [Index(2147483648)], regions: [@0-266], space_before: [Slice(start = 0, length = 0)], space_after: [Slice(start = 0, length = 0)], spaces: [], type_defs: [], value_defs: [Body(@0-4 Identifier { ident: "main" }, @23-266 When(@28-29 Var { module_name: "", ident: "x" }, [WhenBranch { patterns: [@53-54 Tag("A")], value: @82-214 Defs(Defs { tags: [Index(2147483649)], regions: [@86-88], space_before: [Slice(start = 0, length = 0)], space_after: [Slice(start = 0, length = 0)], spaces: [], type_defs: [], value_defs: [Body(@82-83 Identifier { ident: "y" }, @86-88 Num("42")), Body(@82-83 Identifier { ident: "y" }, @86-88 Num("42"))] }, @114-214 If([(@117-118 Var { module_name: "", ident: "a" }, @152-154 Var { module_name: "", ident: "b" })], @212-214 Var { module_name: "", ident: "c" })), guard: None }, WhenBranch { patterns: [@235-236 Tag("B")], value: @264-266 Var { module_name: "", ident: "d" }, guard: None }]))] }"#,
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn dbg_stmt_arg() {
|
||||
run_test(
|
||||
r#"
|
||||
main =
|
||||
dbg a!
|
||||
|
||||
b
|
||||
"#,
|
||||
r##"Defs { tags: [Index(2147483648)], regions: [@0-48], space_before: [Slice(start = 0, length = 0)], space_after: [Slice(start = 0, length = 0)], spaces: [], type_defs: [], value_defs: [Body(@0-4 Identifier { ident: "main" }, @23-48 Apply(@23-48 Var { module_name: "Task", ident: "await" }, [@27-29 Var { module_name: "", ident: "a" }, @23-48 Closure([@27-29 Identifier { ident: "#!a0" }], @23-48 LowLevelDbg(("test.roc:3", " "), @27-29 Apply(@27-29 Var { module_name: "Inspect", ident: "toStr" }, [@27-29 Var { module_name: "", ident: "#!a0" }], Space), @47-48 Var { module_name: "", ident: "b" }))], BangSuffix))] }"##,
|
||||
)
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn last_stmt_not_top_level_suffixed() {
|
||||
run_test(
|
||||
r#"
|
||||
main =
|
||||
x = 42
|
||||
a b!
|
||||
"#,
|
||||
r##"Defs { tags: [Index(2147483648)], regions: [@0-50], space_before: [Slice(start = 0, length = 0)], space_after: [Slice(start = 0, length = 0)], spaces: [], type_defs: [], value_defs: [Body(@0-4 Identifier { ident: "main" }, @23-50 Defs(Defs { tags: [Index(2147483650)], regions: [@27-29], space_before: [Slice(start = 0, length = 0)], space_after: [Slice(start = 0, length = 0)], spaces: [], type_defs: [], value_defs: [Body(@23-24 Identifier { ident: "x" }, @27-29 Num("42")), Body(@23-24 Identifier { ident: "x" }, @27-29 Num("42")), Body(@23-24 Identifier { ident: "x" }, @27-29 Num("42"))] }, @23-50 Apply(@23-50 Var { module_name: "Task", ident: "await" }, [@48-49 Var { module_name: "", ident: "b" }, @23-50 Closure([@48-49 Identifier { ident: "#!a0" }], @46-50 Apply(@46-47 Var { module_name: "", ident: "a" }, [@48-49 Var { module_name: "", ident: "#!a0" }], Space))], BangSuffix)))] }"##,
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn nested_defs() {
|
||||
run_test(
|
||||
indoc!(
|
||||
r##"
|
||||
main =
|
||||
x =
|
||||
a = b!
|
||||
c! a
|
||||
|
||||
x
|
||||
"##,
|
||||
),
|
||||
r##"Defs { tags: [Index(2147483648)], regions: [@0-49], space_before: [Slice(start = 0, length = 0)], space_after: [Slice(start = 0, length = 0)], spaces: [], type_defs: [], value_defs: [Body(@0-4 Identifier { ident: "main" }, @11-49 Defs(Defs { tags: [Index(2147483649)], regions: [@23-42], space_before: [Slice(start = 0, length = 0)], space_after: [Slice(start = 0, length = 0)], spaces: [], type_defs: [], value_defs: [Body(@11-12 Identifier { ident: "x" }, @23-42 Defs(Defs { tags: [Index(2147483648)], regions: [@23-29], space_before: [Slice(start = 0, length = 0)], space_after: [Slice(start = 0, length = 0)], spaces: [], type_defs: [], value_defs: [Body(@23-24 Identifier { ident: "a" }, @27-29 TaskAwaitBang(Var { module_name: "", ident: "b" }))] }, @38-42 Apply(@38-39 TaskAwaitBang(Var { module_name: "", ident: "c" }), [@41-42 Var { module_name: "", ident: "a" }], Space))), Body(@11-12 Identifier { ident: "x" }, @27-29 Apply(@27-29 Var { module_name: "Task", ident: "await" }, [@27-29 Var { module_name: "", ident: "b" }, @27-29 Closure([@23-24 Identifier { ident: "a" }], @38-42 Apply(@38-42 Var { module_name: "", ident: "c" }, [@41-42 Var { module_name: "", ident: "a" }], Space))], BangSuffix))] }, @48-49 Var { module_name: "", ident: "x" }))] }"##,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -141,7 +141,7 @@ fn headers_from_annotation_help(
|
|||
constraints.push_type(types, typ)
|
||||
};
|
||||
let typ = Loc::at(annotation.region, annotation_index);
|
||||
headers.insert(rest, typ);
|
||||
headers.insert(rest.value, typ);
|
||||
|
||||
false
|
||||
} else {
|
||||
|
@ -735,7 +735,7 @@ pub fn constrain_pattern(
|
|||
|
||||
if let Some((_, Some(rest))) = opt_rest {
|
||||
state.headers.insert(
|
||||
*rest,
|
||||
rest.value,
|
||||
Loc {
|
||||
region,
|
||||
value: *constraints[expected].get_type_ref(),
|
||||
|
|
|
@ -45,7 +45,6 @@ impl<'a> Formattable for Expr<'a> {
|
|||
| MalformedClosure
|
||||
| Tag(_)
|
||||
| OpaqueRef(_)
|
||||
| EmptyDefsFinal
|
||||
| Crash => false,
|
||||
|
||||
RecordAccess(inner, _) | TupleAccess(inner, _) | TaskAwaitBang(inner) => {
|
||||
|
@ -420,9 +419,6 @@ impl<'a> Formattable for Expr<'a> {
|
|||
indent,
|
||||
);
|
||||
}
|
||||
EmptyDefsFinal => {
|
||||
// no need to print anything
|
||||
}
|
||||
_ => {
|
||||
buf.ensure_ends_with_newline();
|
||||
buf.indent(indent);
|
||||
|
@ -439,9 +435,6 @@ impl<'a> Formattable for Expr<'a> {
|
|||
buf.push(')');
|
||||
}
|
||||
}
|
||||
EmptyDefsFinal => {
|
||||
// no need to print anything
|
||||
}
|
||||
Expect(condition, continuation) => {
|
||||
fmt_expect(buf, condition, continuation, self.is_multiline(), indent);
|
||||
}
|
||||
|
|
|
@ -766,7 +766,6 @@ impl<'a> RemoveSpaces<'a> for StrSegment<'a> {
|
|||
impl<'a> RemoveSpaces<'a> for Expr<'a> {
|
||||
fn remove_spaces(&self, arena: &'a Bump) -> Self {
|
||||
match *self {
|
||||
Expr::EmptyDefsFinal => Expr::EmptyDefsFinal,
|
||||
Expr::Float(a) => Expr::Float(a),
|
||||
Expr::Num(a) => Expr::Num(a),
|
||||
Expr::NonBase10Int {
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
use bitvec::vec::BitVec;
|
||||
use bumpalo::collections::vec::Vec;
|
||||
use bumpalo::Bump;
|
||||
use core::panic;
|
||||
use roc_wasm_module::linking::IndexRelocType;
|
||||
|
||||
use roc_error_macros::internal_error;
|
||||
|
|
|
@ -25,7 +25,6 @@ const MODULES: &[(ModuleId, &str)] = &[
|
|||
(ModuleId::DECODE, "Decode.roc"),
|
||||
(ModuleId::HASH, "Hash.roc"),
|
||||
(ModuleId::INSPECT, "Inspect.roc"),
|
||||
(ModuleId::JSON, "TotallyNotJson.roc"),
|
||||
(ModuleId::TASK, "Task.roc"),
|
||||
];
|
||||
|
||||
|
|
|
@ -10502,6 +10502,29 @@ In roc, functions are always written as a lambda, like{}
|
|||
"###
|
||||
);
|
||||
|
||||
test_report!(
|
||||
issue_6825,
|
||||
indoc!(
|
||||
r#"
|
||||
when [] is
|
||||
[] | [_, .. as rest] if List.isEmpty rest -> []
|
||||
_ -> []
|
||||
"#
|
||||
),
|
||||
@r###"
|
||||
── NAME NOT BOUND IN ALL PATTERNS in /code/proj/Main.roc ───────────────────────
|
||||
|
||||
`rest` is not bound in all patterns of this `when` branch
|
||||
|
||||
5│ [] | [_, .. as rest] if List.isEmpty rest -> []
|
||||
^^^^
|
||||
|
||||
Identifiers introduced in a `when` branch must be bound in all patterns
|
||||
of the branch. Otherwise, the program would crash when it tries to use
|
||||
an identifier that wasn't bound!
|
||||
"###
|
||||
);
|
||||
|
||||
test_report!(
|
||||
flip_flop_catch_all_branches_not_exhaustive,
|
||||
indoc!(
|
||||
|
@ -11379,10 +11402,50 @@ In roc, functions are always written as a lambda, like{}
|
|||
r#"
|
||||
app "test" imports [] provides [main] to "./platform"
|
||||
|
||||
import TotallyNotJson
|
||||
ErrDecoder := {} implements [DecoderFormatting {
|
||||
u8: decodeU8,
|
||||
u16: decodeU16,
|
||||
u32: decodeU32,
|
||||
u64: decodeU64,
|
||||
u128: decodeU128,
|
||||
i8: decodeI8,
|
||||
i16: decodeI16,
|
||||
i32: decodeI32,
|
||||
i64: decodeI64,
|
||||
i128: decodeI128,
|
||||
f32: decodeF32,
|
||||
f64: decodeF64,
|
||||
dec: decodeDec,
|
||||
bool: decodeBool,
|
||||
string: decodeString,
|
||||
list: decodeList,
|
||||
record: decodeRecord,
|
||||
tuple: decodeTuple,
|
||||
}]
|
||||
decodeU8 = Decode.custom \rest, @ErrDecoder {} -> {result: Err TooShort, rest}
|
||||
decodeU16 = Decode.custom \rest, @ErrDecoder {} -> {result: Err TooShort, rest}
|
||||
decodeU32 = Decode.custom \rest, @ErrDecoder {} -> {result: Err TooShort, rest}
|
||||
decodeU64 = Decode.custom \rest, @ErrDecoder {} -> {result: Err TooShort, rest}
|
||||
decodeU128 = Decode.custom \rest, @ErrDecoder {} -> {result: Err TooShort, rest}
|
||||
decodeI8 = Decode.custom \rest, @ErrDecoder {} -> {result: Err TooShort, rest}
|
||||
decodeI16 = Decode.custom \rest, @ErrDecoder {} -> {result: Err TooShort, rest}
|
||||
decodeI32 = Decode.custom \rest, @ErrDecoder {} -> {result: Err TooShort, rest}
|
||||
decodeI64 = Decode.custom \rest, @ErrDecoder {} -> {result: Err TooShort, rest}
|
||||
decodeI128 = Decode.custom \rest, @ErrDecoder {} -> {result: Err TooShort, rest}
|
||||
decodeF32 = Decode.custom \rest, @ErrDecoder {} -> {result: Err TooShort, rest}
|
||||
decodeF64 = Decode.custom \rest, @ErrDecoder {} -> {result: Err TooShort, rest}
|
||||
decodeDec = Decode.custom \rest, @ErrDecoder {} -> {result: Err TooShort, rest}
|
||||
decodeBool = Decode.custom \rest, @ErrDecoder {} -> {result: Err TooShort, rest}
|
||||
decodeString = Decode.custom \rest, @ErrDecoder {} -> {result: Err TooShort, rest}
|
||||
decodeList : Decoder elem (ErrDecoder) -> Decoder (List elem) (ErrDecoder)
|
||||
decodeList = \_ -> Decode.custom \rest, @ErrDecoder {} -> {result: Err TooShort, rest}
|
||||
decodeRecord : state, (state, Str -> [Keep (Decoder state (ErrDecoder)), Skip]), (state, (ErrDecoder) -> Result val DecodeError) -> Decoder val (ErrDecoder)
|
||||
decodeRecord =\_, _, _ -> Decode.custom \rest, @ErrDecoder {} -> {result: Err TooShort, rest}
|
||||
decodeTuple : state, (state, U64 -> [Next (Decoder state (ErrDecoder)), TooLong]), (state -> Result val DecodeError) -> Decoder val (ErrDecoder)
|
||||
decodeTuple = \_, _, _ -> Decode.custom \rest, @ErrDecoder {} -> {result: Err TooShort, rest}
|
||||
|
||||
main =
|
||||
decoded = Str.toUtf8 "{\"first\":\"ab\",\"second\":\"cd\"}" |> Decode.fromBytes TotallyNotJson.json
|
||||
decoded = Str.toUtf8 "{\"first\":\"ab\",\"second\":\"cd\"}" |> Decode.fromBytes (@ErrDecoder {})
|
||||
when decoded is
|
||||
Ok rcd -> rcd.first rcd.second
|
||||
_ -> "something went wrong"
|
||||
|
@ -11393,8 +11456,8 @@ In roc, functions are always written as a lambda, like{}
|
|||
|
||||
This expression has a type that does not implement the abilities it's expected to:
|
||||
|
||||
8│ Ok rcd -> rcd.first rcd.second
|
||||
^^^^^^^^^
|
||||
48│ Ok rcd -> rcd.first rcd.second
|
||||
^^^^^^^^^
|
||||
|
||||
I can't generate an implementation of the `Decoding` ability for
|
||||
|
||||
|
|
|
@ -3630,7 +3630,6 @@ fn load_module<'a>(
|
|||
"Decode", ModuleId::DECODE
|
||||
"Hash", ModuleId::HASH
|
||||
"Inspect", ModuleId::INSPECT
|
||||
"TotallyNotJson", ModuleId::JSON
|
||||
"Task", ModuleId::TASK
|
||||
}
|
||||
|
||||
|
|
|
@ -25,6 +25,5 @@ pub const BUILTIN_MODULES: &[(ModuleId, &str)] = &[
|
|||
(ModuleId::DECODE, "Decode"),
|
||||
(ModuleId::HASH, "Hash"),
|
||||
(ModuleId::INSPECT, "Inspect"),
|
||||
(ModuleId::JSON, "TotallyNotJson"),
|
||||
(ModuleId::TASK, "Task"),
|
||||
];
|
||||
|
|
|
@ -91,7 +91,6 @@ impl Default for ModuleCache<'_> {
|
|||
DECODE,
|
||||
HASH,
|
||||
INSPECT,
|
||||
JSON,
|
||||
TASK,
|
||||
}
|
||||
|
||||
|
|
|
@ -131,7 +131,6 @@ impl ModuleName {
|
|||
pub const HASH: &'static str = "Hash";
|
||||
pub const INSPECT: &'static str = "Inspect";
|
||||
pub const TASK: &'static str = "Task";
|
||||
pub const JSON: &'static str = "TotallyNotJson";
|
||||
|
||||
pub fn as_str(&self) -> &str {
|
||||
self.0.as_str()
|
||||
|
|
|
@ -395,8 +395,7 @@ impl ModuleId {
|
|||
}
|
||||
|
||||
pub fn is_automatically_imported(self) -> bool {
|
||||
// The deprecated TotallyNotJson module is not automatically imported.
|
||||
self.is_builtin() && self != ModuleId::JSON
|
||||
self.is_builtin()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1738,16 +1737,7 @@ define_builtins! {
|
|||
32 INSPECT_TO_INSPECTOR: "toInspector"
|
||||
33 INSPECT_TO_STR: "toStr"
|
||||
}
|
||||
15 JSON: "TotallyNotJson" => {
|
||||
0 JSON_JSON: "TotallyNotJson"
|
||||
1 JSON_FIELD_NAME_MAPPING: "FieldNameMapping"
|
||||
2 JSON_NUMBER_STATE: "NumberState"
|
||||
3 JSON_STRING_STATE: "StringState"
|
||||
4 JSON_ARRAY_OPENING_STATE: "ArrayOpeningState"
|
||||
5 JSON_ARRAY_CLOSING_STATE: "ArrayClosingState"
|
||||
6 JSON_OBJECT_STATE: "ObjectState"
|
||||
}
|
||||
16 TASK: "Task" => {
|
||||
15 TASK: "Task" => {
|
||||
0 TASK_TASK: "Task" exposed_type=true // the Task.Task opaque type
|
||||
1 TASK_FOREVER: "forever"
|
||||
2 TASK_LOOP: "loop"
|
||||
|
@ -1765,5 +1755,5 @@ define_builtins! {
|
|||
14 TASK_RESULT: "result"
|
||||
}
|
||||
|
||||
num_modules: 17 // Keep this count up to date by hand! (TODO: see the mut_map! macro for how we could determine this count correctly in the macro)
|
||||
num_modules: 16 // Keep this count up to date by hand! (TODO: see the mut_map! macro for how we could determine this count correctly in the macro)
|
||||
}
|
||||
|
|
|
@ -1084,7 +1084,9 @@ fn from_can_pattern_help<'a>(
|
|||
list_layout,
|
||||
element_layout,
|
||||
elements: mono_patterns,
|
||||
opt_rest: patterns.opt_rest,
|
||||
opt_rest: patterns
|
||||
.opt_rest
|
||||
.map(|(i, name)| (i, name.map(|s| s.value))),
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
|
@ -462,10 +462,6 @@ pub enum Expr<'a> {
|
|||
/// Multiple defs in a row
|
||||
Defs(&'a Defs<'a>, &'a Loc<Expr<'a>>),
|
||||
|
||||
/// Used in place of an expression when the final expression is empty
|
||||
/// This may happen if the final expression is actually a suffixed statement
|
||||
EmptyDefsFinal,
|
||||
|
||||
Backpassing(&'a [Loc<Pattern<'a>>], &'a Loc<Expr<'a>>, &'a Loc<Expr<'a>>),
|
||||
Expect(&'a Loc<Expr<'a>>, &'a Loc<Expr<'a>>),
|
||||
Dbg(&'a Loc<Expr<'a>>, &'a Loc<Expr<'a>>),
|
||||
|
@ -536,6 +532,19 @@ pub fn split_loc_exprs_around<'a>(
|
|||
(before, after)
|
||||
}
|
||||
|
||||
/// Checks if the bang suffix is applied only at the top level of expression
|
||||
pub fn is_top_level_suffixed(expr: &Expr) -> bool {
|
||||
// TODO: should we check BinOps with pizza where the last expression is TaskAwaitBang?
|
||||
match expr {
|
||||
Expr::TaskAwaitBang(..) => true,
|
||||
Expr::Apply(a, _, _) => is_top_level_suffixed(&a.value),
|
||||
Expr::SpaceBefore(a, _) => is_top_level_suffixed(a),
|
||||
Expr::SpaceAfter(a, _) => is_top_level_suffixed(a),
|
||||
_ => false,
|
||||
}
|
||||
}
|
||||
|
||||
/// Check if the bang suffix is applied recursevely in expression
|
||||
pub fn is_expr_suffixed(expr: &Expr) -> bool {
|
||||
match expr {
|
||||
// expression without arguments, `read!`
|
||||
|
@ -613,7 +622,6 @@ pub fn is_expr_suffixed(expr: &Expr) -> bool {
|
|||
Expr::Crash => false,
|
||||
Expr::Tag(_) => false,
|
||||
Expr::OpaqueRef(_) => false,
|
||||
Expr::EmptyDefsFinal => false,
|
||||
Expr::Backpassing(_, _, _) => false, // TODO: we might want to check this?
|
||||
Expr::Expect(a, b) | Expr::Dbg(a, b) => {
|
||||
is_expr_suffixed(&a.value) || is_expr_suffixed(&b.value)
|
||||
|
@ -975,8 +983,7 @@ impl<'a, 'b> RecursiveValueDefIter<'a, 'b> {
|
|||
| MalformedIdent(_, _)
|
||||
| MalformedClosure
|
||||
| PrecedenceConflict(_)
|
||||
| MalformedSuffixed(_)
|
||||
| EmptyDefsFinal => { /* terminal */ }
|
||||
| MalformedSuffixed(_) => { /* terminal */ }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1183,51 +1190,39 @@ impl<'a> Defs<'a> {
|
|||
})
|
||||
}
|
||||
|
||||
// We could have a type annotation as the last tag,
|
||||
// this helper ensures we refer to the last value_def
|
||||
// and that we remove the correct tag
|
||||
pub fn last_value_suffixed(&self) -> Option<(Self, &'a Loc<Expr<'a>>)> {
|
||||
let value_indexes =
|
||||
self.tags
|
||||
.clone()
|
||||
.into_iter()
|
||||
.enumerate()
|
||||
.filter_map(|(tag_index, tag)| match tag.split() {
|
||||
Ok(_) => None,
|
||||
Err(value_index) => Some((tag_index, value_index.index())),
|
||||
});
|
||||
pub fn pop_last_value(&mut self) -> Option<&'a Loc<Expr<'a>>> {
|
||||
let last_value_suffix = self
|
||||
.tags
|
||||
.iter()
|
||||
.enumerate()
|
||||
.rev()
|
||||
.find_map(|(tag_index, tag)| match tag.split() {
|
||||
Ok(_) => None,
|
||||
Err(value_index) => match self.value_defs[value_index.index()] {
|
||||
ValueDef::Body(
|
||||
Loc {
|
||||
value: Pattern::RecordDestructure(collection),
|
||||
..
|
||||
},
|
||||
loc_expr,
|
||||
) if collection.is_empty() => Some((tag_index, loc_expr)),
|
||||
ValueDef::Stmt(loc_expr) => Some((tag_index, loc_expr)),
|
||||
_ => None,
|
||||
},
|
||||
});
|
||||
|
||||
if let Some((tag_index, value_index)) = value_indexes.last() {
|
||||
match self.value_defs[value_index] {
|
||||
ValueDef::Body(
|
||||
Loc {
|
||||
value: Pattern::RecordDestructure(collection),
|
||||
..
|
||||
},
|
||||
loc_expr,
|
||||
) if collection.is_empty() && is_expr_suffixed(&loc_expr.value) => {
|
||||
let mut new_defs = self.clone();
|
||||
new_defs.remove_value_def(tag_index);
|
||||
|
||||
return Some((new_defs, loc_expr));
|
||||
}
|
||||
ValueDef::Stmt(loc_expr) if is_expr_suffixed(&loc_expr.value) => {
|
||||
let mut new_defs = self.clone();
|
||||
new_defs.remove_value_def(tag_index);
|
||||
|
||||
return Some((new_defs, loc_expr));
|
||||
}
|
||||
_ => {}
|
||||
}
|
||||
if let Some((tag_index, loc_expr)) = last_value_suffix {
|
||||
self.remove_tag(tag_index);
|
||||
Some(loc_expr)
|
||||
} else {
|
||||
None
|
||||
}
|
||||
|
||||
None
|
||||
}
|
||||
|
||||
pub fn remove_value_def(&mut self, index: usize) {
|
||||
pub fn remove_tag(&mut self, tag_index: usize) {
|
||||
match self
|
||||
.tags
|
||||
.get(index)
|
||||
.get(tag_index)
|
||||
.expect("got an invalid index for Defs")
|
||||
.split()
|
||||
{
|
||||
|
@ -1260,10 +1255,10 @@ impl<'a> Defs<'a> {
|
|||
}
|
||||
}
|
||||
}
|
||||
self.tags.remove(index);
|
||||
self.regions.remove(index);
|
||||
self.space_after.remove(index);
|
||||
self.space_before.remove(index);
|
||||
self.tags.remove(tag_index);
|
||||
self.regions.remove(tag_index);
|
||||
self.space_after.remove(tag_index);
|
||||
self.space_before.remove(tag_index);
|
||||
}
|
||||
|
||||
/// NOTE assumes the def itself is pushed already!
|
||||
|
@ -2394,7 +2389,6 @@ impl<'a> Malformed for Expr<'a> {
|
|||
Tag(_) |
|
||||
OpaqueRef(_) |
|
||||
SingleQuote(_) | // This is just a &str - not a bunch of segments
|
||||
EmptyDefsFinal |
|
||||
Crash => false,
|
||||
|
||||
Str(inner) => inner.is_malformed(),
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
use crate::ast::{
|
||||
is_expr_suffixed, AssignedField, Collection, CommentOrNewline, Defs, Expr, ExtractSpaces,
|
||||
Implements, ImplementsAbilities, ImportAlias, ImportAsKeyword, ImportExposingKeyword,
|
||||
ImportedModuleName, IngestedFileAnnotation, IngestedFileImport, ModuleImport,
|
||||
ModuleImportParams, Pattern, RecordBuilderField, Spaceable, Spaced, Spaces, TypeAnnotation,
|
||||
TypeDef, TypeHeader, ValueDef,
|
||||
is_expr_suffixed, is_top_level_suffixed, AssignedField, Collection, CommentOrNewline, Defs,
|
||||
Expr, ExtractSpaces, Implements, ImplementsAbilities, ImportAlias, ImportAsKeyword,
|
||||
ImportExposingKeyword, ImportedModuleName, IngestedFileAnnotation, IngestedFileImport,
|
||||
ModuleImport, ModuleImportParams, Pattern, RecordBuilderField, Spaceable, Spaced, Spaces,
|
||||
TypeAnnotation, TypeDef, TypeHeader, ValueDef,
|
||||
};
|
||||
use crate::blankspace::{
|
||||
space0_after_e, space0_around_e_no_after_indent_check, space0_around_ee, space0_before_e,
|
||||
|
@ -384,7 +384,7 @@ fn expr_operator_chain<'a>(options: ExprParseOptions) -> impl Parser<'a, Expr<'a
|
|||
Ok((progress, expr, new_state)) => {
|
||||
// We need to check if we have just parsed a suffixed statement,
|
||||
// if so, this is a defs node.
|
||||
if is_expr_suffixed(&expr) {
|
||||
if is_top_level_suffixed(&expr) {
|
||||
let def_region = Region::new(end, new_state.pos());
|
||||
let value_def = ValueDef::Stmt(arena.alloc(Loc::at(def_region, expr)));
|
||||
|
||||
|
@ -1154,13 +1154,13 @@ pub fn parse_single_def_assignment<'a>(
|
|||
|
||||
// If the expression is actually a suffixed statement, then we need to continue
|
||||
// to parse the rest of the expression
|
||||
if crate::ast::is_expr_suffixed(&first_loc_expr.value) {
|
||||
if is_top_level_suffixed(&first_loc_expr.value) {
|
||||
let mut defs = Defs::default();
|
||||
// Take the suffixed value and make it a e.g. Body(`{}=`, Apply(Var(...)))
|
||||
// we will keep the pattern `def_loc_pattern` for the new Defs
|
||||
defs.push_value_def(
|
||||
ValueDef::Stmt(arena.alloc(first_loc_expr)),
|
||||
Region::span_across(&def_loc_pattern.region, &first_loc_expr.region),
|
||||
region,
|
||||
spaces_before_current,
|
||||
&[],
|
||||
);
|
||||
|
@ -1169,16 +1169,16 @@ pub fn parse_single_def_assignment<'a>(
|
|||
match parse_defs_expr(
|
||||
options,
|
||||
min_indent,
|
||||
defs.clone(),
|
||||
defs,
|
||||
arena,
|
||||
state_after_first_expression.clone(),
|
||||
state_after_first_expression,
|
||||
) {
|
||||
Ok((progress_after_rest_of_def, expr, state_after_rest_of_def)) => {
|
||||
let final_loc_expr = arena.alloc(Loc::at(region, expr));
|
||||
|
||||
let value_def = ValueDef::Body(arena.alloc(def_loc_pattern), final_loc_expr);
|
||||
|
||||
return Ok((
|
||||
Ok((
|
||||
progress_after_rest_of_def,
|
||||
Some(SingleDef {
|
||||
type_or_value: Either::Second(value_def),
|
||||
|
@ -1187,45 +1187,24 @@ pub fn parse_single_def_assignment<'a>(
|
|||
spaces_after: &[],
|
||||
}),
|
||||
state_after_rest_of_def,
|
||||
));
|
||||
}
|
||||
Err(_) => {
|
||||
// Unable to parse more defs, continue and return the first parsed expression as a stement
|
||||
let empty_return =
|
||||
arena.alloc(Loc::at(first_loc_expr.region, Expr::EmptyDefsFinal));
|
||||
let value_def = ValueDef::Body(
|
||||
arena.alloc(def_loc_pattern),
|
||||
arena.alloc(Loc::at(
|
||||
first_loc_expr.region,
|
||||
Expr::Defs(arena.alloc(defs), empty_return),
|
||||
)),
|
||||
);
|
||||
return Ok((
|
||||
progress_after_first,
|
||||
Some(SingleDef {
|
||||
type_or_value: Either::Second(value_def),
|
||||
region,
|
||||
spaces_before: spaces_before_current,
|
||||
spaces_after: &[],
|
||||
}),
|
||||
state_after_first_expression,
|
||||
));
|
||||
))
|
||||
}
|
||||
Err((progress, err)) => Err((progress, err)),
|
||||
}
|
||||
} else {
|
||||
let value_def = ValueDef::Body(arena.alloc(def_loc_pattern), arena.alloc(first_loc_expr));
|
||||
|
||||
Ok((
|
||||
progress_after_first,
|
||||
Some(SingleDef {
|
||||
type_or_value: Either::Second(value_def),
|
||||
region,
|
||||
spaces_before: spaces_before_current,
|
||||
spaces_after: &[],
|
||||
}),
|
||||
state_after_first_expression,
|
||||
))
|
||||
}
|
||||
|
||||
let value_def = ValueDef::Body(arena.alloc(def_loc_pattern), arena.alloc(first_loc_expr));
|
||||
|
||||
Ok((
|
||||
progress_after_first,
|
||||
Some(SingleDef {
|
||||
type_or_value: Either::Second(value_def),
|
||||
region,
|
||||
spaces_before: spaces_before_current,
|
||||
spaces_after: &[],
|
||||
}),
|
||||
state_after_first_expression,
|
||||
))
|
||||
}
|
||||
|
||||
/// e.g. Things that can be on their own line in a def, e.g. `expect`, `expect-fx`, or `dbg`
|
||||
|
@ -1368,16 +1347,20 @@ fn parse_defs_end<'a>(
|
|||
Either::Second(value_def) => {
|
||||
// If we got a ValueDef::Body, check if a type annotation preceded it.
|
||||
// If so, we may need to combine them into an AnnotatedBody.
|
||||
let joined = match value_def {
|
||||
ValueDef::Body(loc_pattern, loc_def_expr)
|
||||
if spaces_before_current.len() <= 1 =>
|
||||
{
|
||||
let joined_def = match value_def {
|
||||
ValueDef::Body(loc_pattern, loc_def_expr) => {
|
||||
let region =
|
||||
Region::span_across(&loc_pattern.region, &loc_def_expr.region);
|
||||
|
||||
let signature_must_match_value = spaces_before_current.len() <= 1;
|
||||
let value_name = &loc_pattern.value;
|
||||
|
||||
match defs.last() {
|
||||
Some(Err(ValueDef::Annotation(ann_pattern, ann_type))) => {
|
||||
let (value_def, region) = join_ann_to_body!(
|
||||
Some(Err(ValueDef::Annotation(ann_pattern, ann_type)))
|
||||
if signature_must_match_value
|
||||
|| ann_pattern.value.equivalent(value_name) =>
|
||||
{
|
||||
Some(join_ann_to_body!(
|
||||
arena,
|
||||
loc_pattern,
|
||||
loc_def_expr,
|
||||
|
@ -1385,21 +1368,19 @@ fn parse_defs_end<'a>(
|
|||
ann_type,
|
||||
spaces_before_current,
|
||||
region
|
||||
);
|
||||
|
||||
defs.replace_with_value_def(
|
||||
defs.tags.len() - 1,
|
||||
value_def,
|
||||
region,
|
||||
);
|
||||
|
||||
true
|
||||
))
|
||||
}
|
||||
Some(Ok(TypeDef::Alias {
|
||||
header,
|
||||
ann: ann_type,
|
||||
})) => {
|
||||
let (value_def, region) = join_alias_to_body!(
|
||||
})) if signature_must_match_value
|
||||
|| header
|
||||
.vars
|
||||
.first()
|
||||
.map(|var| var.value.equivalent(value_name))
|
||||
.unwrap_or(false) =>
|
||||
{
|
||||
Some(join_alias_to_body!(
|
||||
arena,
|
||||
loc_pattern,
|
||||
loc_def_expr,
|
||||
|
@ -1407,24 +1388,16 @@ fn parse_defs_end<'a>(
|
|||
ann_type,
|
||||
spaces_before_current,
|
||||
region
|
||||
);
|
||||
|
||||
defs.replace_with_value_def(
|
||||
defs.tags.len() - 1,
|
||||
value_def,
|
||||
region,
|
||||
);
|
||||
|
||||
true
|
||||
))
|
||||
}
|
||||
_ => false,
|
||||
_ => None,
|
||||
}
|
||||
}
|
||||
_ => false,
|
||||
_ => None,
|
||||
};
|
||||
|
||||
if !joined {
|
||||
// the previous and current def can't be joined up
|
||||
if let Some((joined_def, region)) = joined_def {
|
||||
defs.replace_with_value_def(defs.tags.len() - 1, joined_def, region);
|
||||
} else {
|
||||
defs.push_value_def(
|
||||
value_def,
|
||||
region,
|
||||
|
@ -1466,48 +1439,31 @@ fn parse_defs_expr<'a>(
|
|||
Err(bad) => Err(bad),
|
||||
Ok((_, def_state, state)) => {
|
||||
// this is no def, because there is no `=` or `:`; parse as an expr
|
||||
let parse_final_expr = space0_before_e(expr_start(options), EExpr::IndentEnd);
|
||||
|
||||
match parse_final_expr.parse(arena, state.clone(), min_indent) {
|
||||
match space0_before_e(expr_start(options), EExpr::IndentEnd).parse(
|
||||
arena,
|
||||
state.clone(),
|
||||
min_indent,
|
||||
) {
|
||||
Err((_, fail)) => {
|
||||
// If the last def was a suffixed statement, assume this was
|
||||
// intentional by the application author instead of giving
|
||||
// an error.
|
||||
if let Some((new_defs, loc_ret)) = def_state.last_value_suffixed() {
|
||||
// note we check the tags here and not value_defs, as there may be redundant defs in Defs
|
||||
|
||||
let mut local_defs = new_defs.clone();
|
||||
|
||||
let last_stmt = ValueDef::Stmt(loc_ret);
|
||||
local_defs.push_value_def(last_stmt, loc_ret.region, &[], &[]);
|
||||
|
||||
//check the length of the defs we would return, if we only have one
|
||||
// we can just return the expression
|
||||
// note we use tags here, as we may have redundant defs in Defs
|
||||
if local_defs
|
||||
.tags
|
||||
.iter()
|
||||
.filter(|tag| tag.split().is_err())
|
||||
.count()
|
||||
== 1
|
||||
{
|
||||
return Ok((MadeProgress, loc_ret.value, state));
|
||||
let mut def_state = def_state;
|
||||
match def_state.pop_last_value() {
|
||||
Some(loc_ret) => {
|
||||
// If the poped value was the only item in defs - just return it as an expression
|
||||
if def_state.is_empty() {
|
||||
Ok((MadeProgress, loc_ret.value, state))
|
||||
} else {
|
||||
Ok((
|
||||
MadeProgress,
|
||||
Expr::Defs(arena.alloc(def_state), arena.alloc(loc_ret)),
|
||||
state,
|
||||
))
|
||||
}
|
||||
}
|
||||
|
||||
return Ok((
|
||||
None => Err((
|
||||
MadeProgress,
|
||||
Expr::Defs(
|
||||
arena.alloc(local_defs),
|
||||
arena.alloc(Loc::at_zero(Expr::EmptyDefsFinal)),
|
||||
),
|
||||
state,
|
||||
));
|
||||
EExpr::DefMissingFinalExpr2(arena.alloc(fail), state.pos()),
|
||||
)),
|
||||
}
|
||||
|
||||
Err((
|
||||
MadeProgress,
|
||||
EExpr::DefMissingFinalExpr2(arena.alloc(fail), state.pos()),
|
||||
))
|
||||
}
|
||||
Ok((_, loc_ret, state)) => Ok((
|
||||
MadeProgress,
|
||||
|
@ -2414,8 +2370,7 @@ fn expr_to_pattern_help<'a>(arena: &'a Bump, expr: &Expr<'a>) -> Result<Pattern<
|
|||
Expr::SpaceBefore(..)
|
||||
| Expr::SpaceAfter(..)
|
||||
| Expr::ParensAround(..)
|
||||
| Expr::RecordBuilder(..)
|
||||
| Expr::EmptyDefsFinal => unreachable!(),
|
||||
| Expr::RecordBuilder(..) => unreachable!(),
|
||||
|
||||
Expr::Record(fields) => {
|
||||
let patterns = fields.map_items_result(arena, |loc_assigned_field| {
|
||||
|
|
|
@ -45,6 +45,7 @@ roc_reporting = { path = "../../reporting" }
|
|||
roc_solve = { path = "../solve" }
|
||||
roc_std = { path = "../../roc_std" }
|
||||
roc_target = { path = "../roc_target" }
|
||||
roc_test_utils = { path = "../../test_utils"}
|
||||
roc_types = { path = "../types" }
|
||||
roc_unify = { path = "../unify" }
|
||||
roc_wasm_interp = { path = "../../wasm_interp" }
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -21,6 +21,7 @@ roc_mono = { path = "../mono" }
|
|||
roc_packaging = { path = "../../packaging" }
|
||||
roc_reporting = { path = "../../reporting" }
|
||||
roc_target = { path = "../roc_target" }
|
||||
roc_test_utils = { path = "../../test_utils" }
|
||||
roc_tracing = { path = "../../tracing" }
|
||||
|
||||
test_mono_macros = { path = "../test_mono_macros" }
|
||||
|
|
|
@ -12,7 +12,7 @@ procedure List.66 (#Attr.2, #Attr.3):
|
|||
let List.584 : [] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.584;
|
||||
|
||||
procedure List.92 (#Derived_gen.13, #Derived_gen.14, #Derived_gen.15, #Derived_gen.16, #Derived_gen.17):
|
||||
procedure List.92 (#Derived_gen.11, #Derived_gen.12, #Derived_gen.13, #Derived_gen.14, #Derived_gen.15):
|
||||
joinpoint List.577 List.163 List.164 List.165 List.166 List.167:
|
||||
let List.579 : Int1 = CallByName Num.22 List.166 List.167;
|
||||
if List.579 then
|
||||
|
@ -25,7 +25,7 @@ procedure List.92 (#Derived_gen.13, #Derived_gen.14, #Derived_gen.15, #Derived_g
|
|||
dec List.163;
|
||||
ret List.164;
|
||||
in
|
||||
jump List.577 #Derived_gen.13 #Derived_gen.14 #Derived_gen.15 #Derived_gen.16 #Derived_gen.17;
|
||||
jump List.577 #Derived_gen.11 #Derived_gen.12 #Derived_gen.13 #Derived_gen.14 #Derived_gen.15;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.280 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
@ -37,8 +37,8 @@ procedure Num.51 (#Attr.2, #Attr.3):
|
|||
|
||||
procedure Test.10 (Test.69, #Attr.12):
|
||||
let Test.72 : {} = UnionAtIndex (Id 0) (Index 0) #Attr.12;
|
||||
let #Derived_gen.20 : Int1 = lowlevel RefCountIsUnique #Attr.12;
|
||||
if #Derived_gen.20 then
|
||||
let #Derived_gen.18 : Int1 = lowlevel RefCountIsUnique #Attr.12;
|
||||
if #Derived_gen.18 then
|
||||
free #Attr.12;
|
||||
ret Test.72;
|
||||
else
|
||||
|
@ -52,7 +52,7 @@ procedure Test.10 (Test.69, #Attr.12):
|
|||
procedure Test.14 (Test.45, #Attr.12):
|
||||
let Test.55 : {{}, []} = UnionAtIndex (Id 1) (Index 1) #Attr.12;
|
||||
let Test.54 : [<r>C {}, C *self {{}, []}] = UnionAtIndex (Id 1) (Index 0) #Attr.12;
|
||||
joinpoint #Derived_gen.18:
|
||||
joinpoint #Derived_gen.19:
|
||||
let Test.50 : {} = Struct {};
|
||||
let Test.51 : U8 = GetTagId Test.54;
|
||||
joinpoint Test.52 Test.15:
|
||||
|
@ -79,14 +79,14 @@ procedure Test.14 (Test.45, #Attr.12):
|
|||
jump Test.52 Test.53;
|
||||
|
||||
in
|
||||
let #Derived_gen.19 : Int1 = lowlevel RefCountIsUnique #Attr.12;
|
||||
if #Derived_gen.19 then
|
||||
let #Derived_gen.20 : Int1 = lowlevel RefCountIsUnique #Attr.12;
|
||||
if #Derived_gen.20 then
|
||||
free #Attr.12;
|
||||
jump #Derived_gen.18;
|
||||
jump #Derived_gen.19;
|
||||
else
|
||||
inc Test.54;
|
||||
decref #Attr.12;
|
||||
jump #Derived_gen.18;
|
||||
jump #Derived_gen.19;
|
||||
|
||||
procedure Test.20 (Test.21, Test.18):
|
||||
let Test.23 : [C {}, C []] = CallByName Test.32 Test.21 Test.18;
|
||||
|
|
|
@ -46,11 +46,11 @@ procedure Str.3 (#Attr.2, #Attr.3):
|
|||
procedure Test.1 (Test.5):
|
||||
ret Test.5;
|
||||
|
||||
procedure Test.11 (#Derived_gen.3, #Derived_gen.4):
|
||||
procedure Test.11 (#Derived_gen.10, #Derived_gen.11):
|
||||
joinpoint Test.27 Test.12 #Attr.12:
|
||||
let Test.34 : Int1 = UnionAtIndex (Id 2) (Index 1) #Attr.12;
|
||||
let Test.33 : [<rnw><null>, C *self Int1, C *self Int1] = UnionAtIndex (Id 2) (Index 0) #Attr.12;
|
||||
joinpoint #Derived_gen.12:
|
||||
joinpoint #Derived_gen.14:
|
||||
joinpoint Test.31 Test.29:
|
||||
let Test.30 : U8 = GetTagId Test.33;
|
||||
switch Test.30:
|
||||
|
@ -77,16 +77,16 @@ procedure Test.11 (#Derived_gen.3, #Derived_gen.4):
|
|||
jump Test.31 Test.32;
|
||||
|
||||
in
|
||||
let #Derived_gen.13 : Int1 = lowlevel RefCountIsUnique #Attr.12;
|
||||
if #Derived_gen.13 then
|
||||
let #Derived_gen.15 : Int1 = lowlevel RefCountIsUnique #Attr.12;
|
||||
if #Derived_gen.15 then
|
||||
free #Attr.12;
|
||||
jump #Derived_gen.12;
|
||||
jump #Derived_gen.14;
|
||||
else
|
||||
inc Test.33;
|
||||
decref #Attr.12;
|
||||
jump #Derived_gen.12;
|
||||
jump #Derived_gen.14;
|
||||
in
|
||||
jump Test.27 #Derived_gen.3 #Derived_gen.4;
|
||||
jump Test.27 #Derived_gen.10 #Derived_gen.11;
|
||||
|
||||
procedure Test.2 (Test.13):
|
||||
ret Test.13;
|
||||
|
@ -117,7 +117,7 @@ procedure Test.6 (Test.7, Test.8, Test.5):
|
|||
procedure Test.9 (Test.10, #Attr.12):
|
||||
let Test.43 : Int1 = UnionAtIndex (Id 1) (Index 1) #Attr.12;
|
||||
let Test.42 : [<rnw><null>, C *self Int1, C *self Int1] = UnionAtIndex (Id 1) (Index 0) #Attr.12;
|
||||
joinpoint #Derived_gen.14:
|
||||
joinpoint #Derived_gen.12:
|
||||
let Test.39 : U8 = GetTagId Test.42;
|
||||
joinpoint Test.40 Test.38:
|
||||
switch Test.43:
|
||||
|
@ -145,14 +145,14 @@ procedure Test.9 (Test.10, #Attr.12):
|
|||
jump Test.40 Test.41;
|
||||
|
||||
in
|
||||
let #Derived_gen.15 : Int1 = lowlevel RefCountIsUnique #Attr.12;
|
||||
if #Derived_gen.15 then
|
||||
let #Derived_gen.13 : Int1 = lowlevel RefCountIsUnique #Attr.12;
|
||||
if #Derived_gen.13 then
|
||||
free #Attr.12;
|
||||
jump #Derived_gen.14;
|
||||
jump #Derived_gen.12;
|
||||
else
|
||||
inc Test.42;
|
||||
decref #Attr.12;
|
||||
jump #Derived_gen.14;
|
||||
jump #Derived_gen.12;
|
||||
|
||||
procedure Test.0 ():
|
||||
let Test.45 : Int1 = false;
|
||||
|
|
|
@ -7,7 +7,7 @@ procedure #Derived.2 (#Derived.3, #Derived.4, #Derived.1):
|
|||
let #Derived_gen.8 : Str = CallByName #Derived.5 #Derived.1;
|
||||
let #Derived_gen.6 : {Str, Str} = Struct {#Derived_gen.7, #Derived_gen.8};
|
||||
let #Derived_gen.5 : List {Str, Str} = Array [#Derived_gen.6];
|
||||
let #Derived_gen.4 : List {Str, Str} = CallByName TotallyNotJson.29 #Derived_gen.5;
|
||||
let #Derived_gen.4 : List {Str, Str} = CallByName Test.21 #Derived_gen.5;
|
||||
let #Derived_gen.3 : List U8 = CallByName Encode.24 #Derived.3 #Derived_gen.4 #Derived.4;
|
||||
ret #Derived_gen.3;
|
||||
|
||||
|
@ -17,17 +17,13 @@ procedure #Derived.5 (#Derived.6):
|
|||
|
||||
procedure #Derived.7 (#Derived.8, #Derived.9, #Derived.6):
|
||||
let #Derived_gen.17 : Str = "b";
|
||||
let #Derived_gen.18 : Str = CallByName TotallyNotJson.25 #Derived.6;
|
||||
let #Derived_gen.18 : Str = CallByName Test.19 #Derived.6;
|
||||
let #Derived_gen.16 : {Str, Str} = Struct {#Derived_gen.17, #Derived_gen.18};
|
||||
let #Derived_gen.15 : List {Str, Str} = Array [#Derived_gen.16];
|
||||
let #Derived_gen.14 : List {Str, Str} = CallByName TotallyNotJson.29 #Derived_gen.15;
|
||||
let #Derived_gen.14 : List {Str, Str} = CallByName Test.21 #Derived_gen.15;
|
||||
let #Derived_gen.13 : List U8 = CallByName Encode.24 #Derived.8 #Derived_gen.14 #Derived.9;
|
||||
ret #Derived_gen.13;
|
||||
|
||||
procedure Bool.11 (#Attr.2, #Attr.3):
|
||||
let Bool.24 : Int1 = lowlevel Eq #Attr.2 #Attr.3;
|
||||
ret Bool.24;
|
||||
|
||||
procedure Encode.23 (Encode.98):
|
||||
ret Encode.98;
|
||||
|
||||
|
@ -48,20 +44,20 @@ procedure Encode.24 (Encode.99, Encode.107, Encode.101):
|
|||
ret Encode.111;
|
||||
|
||||
procedure Encode.24 (Encode.99, Encode.107, Encode.101):
|
||||
let Encode.113 : List U8 = CallByName TotallyNotJson.202 Encode.99 Encode.101 Encode.107;
|
||||
let Encode.113 : List U8 = CallByName Test.67 Encode.99 Encode.101 Encode.107;
|
||||
ret Encode.113;
|
||||
|
||||
procedure Encode.24 (Encode.99, Encode.107, Encode.101):
|
||||
let Encode.115 : List U8 = CallByName #Derived.7 Encode.99 Encode.101 Encode.107;
|
||||
ret Encode.115;
|
||||
let Encode.116 : List U8 = CallByName #Derived.7 Encode.99 Encode.101 Encode.107;
|
||||
ret Encode.116;
|
||||
|
||||
procedure Encode.24 (Encode.99, Encode.107, Encode.101):
|
||||
let Encode.117 : List U8 = CallByName TotallyNotJson.202 Encode.99 Encode.101 Encode.107;
|
||||
ret Encode.117;
|
||||
let Encode.119 : List U8 = CallByName Test.67 Encode.99 Encode.101 Encode.107;
|
||||
ret Encode.119;
|
||||
|
||||
procedure Encode.24 (Encode.99, Encode.107, Encode.101):
|
||||
let Encode.120 : List U8 = CallByName TotallyNotJson.150 Encode.99 Encode.101 Encode.107;
|
||||
ret Encode.120;
|
||||
let Encode.124 : List U8 = CallByName Test.56 Encode.99 Encode.101 Encode.107;
|
||||
ret Encode.124;
|
||||
|
||||
procedure Encode.26 (Encode.105, Encode.106):
|
||||
let Encode.109 : List U8 = Array [];
|
||||
|
@ -69,229 +65,107 @@ procedure Encode.26 (Encode.105, Encode.106):
|
|||
let Encode.108 : List U8 = CallByName Encode.24 Encode.109 Encode.110 Encode.106;
|
||||
ret Encode.108;
|
||||
|
||||
procedure List.104 (List.488, List.489, List.490):
|
||||
let List.687 : U64 = 0i64;
|
||||
let List.688 : U64 = CallByName List.6 List.488;
|
||||
let List.686 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.80 List.488 List.489 List.490 List.687 List.688;
|
||||
ret List.686;
|
||||
procedure List.18 (List.160, List.161, List.162):
|
||||
let List.575 : U64 = 0i64;
|
||||
let List.576 : U64 = CallByName List.6 List.160;
|
||||
let List.574 : List U8 = CallByName List.92 List.160 List.161 List.162 List.575 List.576;
|
||||
ret List.574;
|
||||
|
||||
procedure List.18 (List.160, List.161, List.162):
|
||||
let List.595 : U64 = 0i64;
|
||||
let List.596 : U64 = CallByName List.6 List.160;
|
||||
let List.594 : {List U8, U64} = CallByName List.92 List.160 List.161 List.162 List.595 List.596;
|
||||
ret List.594;
|
||||
|
||||
procedure List.18 (List.160, List.161, List.162):
|
||||
let List.630 : U64 = 0i64;
|
||||
let List.631 : U64 = CallByName List.6 List.160;
|
||||
let List.629 : {List U8, U64} = CallByName List.92 List.160 List.161 List.162 List.630 List.631;
|
||||
ret List.629;
|
||||
|
||||
procedure List.18 (List.160, List.161, List.162):
|
||||
let List.642 : U64 = 0i64;
|
||||
let List.643 : U64 = CallByName List.6 List.160;
|
||||
let List.641 : List U8 = CallByName List.92 List.160 List.161 List.162 List.642 List.643;
|
||||
ret List.641;
|
||||
|
||||
procedure List.26 (List.201, List.202, List.203):
|
||||
let List.680 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.104 List.201 List.202 List.203;
|
||||
let List.683 : U8 = 1i64;
|
||||
let List.684 : U8 = GetTagId List.680;
|
||||
let List.685 : Int1 = lowlevel Eq List.683 List.684;
|
||||
if List.685 then
|
||||
let List.204 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.680;
|
||||
ret List.204;
|
||||
else
|
||||
let List.205 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.680;
|
||||
ret List.205;
|
||||
let List.601 : U64 = 0i64;
|
||||
let List.602 : U64 = CallByName List.6 List.160;
|
||||
let List.600 : List U8 = CallByName List.92 List.160 List.161 List.162 List.601 List.602;
|
||||
ret List.600;
|
||||
|
||||
procedure List.4 (List.124, List.125):
|
||||
let List.628 : U64 = 1i64;
|
||||
let List.627 : List U8 = CallByName List.70 List.124 List.628;
|
||||
let List.626 : List U8 = CallByName List.71 List.627 List.125;
|
||||
ret List.626;
|
||||
|
||||
procedure List.49 (List.420, List.421):
|
||||
let List.671 : U64 = StructAtIndex 1 List.421;
|
||||
let List.672 : U64 = StructAtIndex 0 List.421;
|
||||
let List.670 : List U8 = CallByName List.72 List.420 List.671 List.672;
|
||||
ret List.670;
|
||||
|
||||
procedure List.52 (List.435, List.436):
|
||||
let List.437 : U64 = CallByName List.6 List.435;
|
||||
joinpoint List.678 List.438:
|
||||
let List.676 : U64 = 0i64;
|
||||
let List.675 : {U64, U64} = Struct {List.438, List.676};
|
||||
inc List.435;
|
||||
let List.439 : List U8 = CallByName List.49 List.435 List.675;
|
||||
let List.674 : U64 = CallByName Num.75 List.437 List.438;
|
||||
let List.669 : {U64, U64} = Struct {List.674, List.438};
|
||||
let List.440 : List U8 = CallByName List.49 List.435 List.669;
|
||||
let List.668 : {List U8, List U8} = Struct {List.439, List.440};
|
||||
ret List.668;
|
||||
in
|
||||
let List.679 : Int1 = CallByName Num.24 List.437 List.436;
|
||||
if List.679 then
|
||||
jump List.678 List.436;
|
||||
else
|
||||
jump List.678 List.437;
|
||||
let List.622 : U64 = 1i64;
|
||||
let List.621 : List U8 = CallByName List.70 List.124 List.622;
|
||||
let List.620 : List U8 = CallByName List.71 List.621 List.125;
|
||||
ret List.620;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.608 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.608;
|
||||
let List.599 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.599;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.663 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.663;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.665 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.665;
|
||||
let List.625 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.625;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.604 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.604;
|
||||
let List.584 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.584;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.639 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.639;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.651 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.651;
|
||||
|
||||
procedure List.68 (#Attr.2):
|
||||
let List.667 : List U8 = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.667;
|
||||
let List.610 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.610;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.613 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.613;
|
||||
let List.616 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.616;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.611 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.611;
|
||||
|
||||
procedure List.72 (#Attr.2, #Attr.3, #Attr.4):
|
||||
let List.673 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.673;
|
||||
let List.614 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.614;
|
||||
|
||||
procedure List.8 (#Attr.2, #Attr.3):
|
||||
let List.662 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.662;
|
||||
let List.624 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.624;
|
||||
|
||||
procedure List.80 (#Derived_gen.26, #Derived_gen.27, #Derived_gen.28, #Derived_gen.29, #Derived_gen.30):
|
||||
joinpoint List.689 List.491 List.492 List.493 List.494 List.495:
|
||||
let List.691 : Int1 = CallByName Num.22 List.494 List.495;
|
||||
if List.691 then
|
||||
let List.700 : U8 = CallByName List.66 List.491 List.494;
|
||||
let List.692 : [C {U64, Int1}, C {U64, Int1}] = CallByName TotallyNotJson.157 List.492 List.700;
|
||||
let List.697 : U8 = 1i64;
|
||||
let List.698 : U8 = GetTagId List.692;
|
||||
let List.699 : Int1 = lowlevel Eq List.697 List.698;
|
||||
if List.699 then
|
||||
let List.496 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.692;
|
||||
let List.695 : U64 = 1i64;
|
||||
let List.694 : U64 = CallByName Num.51 List.494 List.695;
|
||||
jump List.689 List.491 List.496 List.493 List.694 List.495;
|
||||
else
|
||||
dec List.491;
|
||||
let List.497 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.692;
|
||||
let List.696 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) List.497;
|
||||
ret List.696;
|
||||
else
|
||||
dec List.491;
|
||||
let List.690 : [C {U64, Int1}, C {U64, Int1}] = TagId(1) List.492;
|
||||
ret List.690;
|
||||
in
|
||||
jump List.689 #Derived_gen.26 #Derived_gen.27 #Derived_gen.28 #Derived_gen.29 #Derived_gen.30;
|
||||
|
||||
procedure List.92 (#Derived_gen.31, #Derived_gen.32, #Derived_gen.33, #Derived_gen.34, #Derived_gen.35):
|
||||
joinpoint List.597 List.163 List.164 List.165 List.166 List.167:
|
||||
let List.599 : Int1 = CallByName Num.22 List.166 List.167;
|
||||
if List.599 then
|
||||
let List.603 : {Str, Str} = CallByName List.66 List.163 List.166;
|
||||
inc List.603;
|
||||
let List.168 : {List U8, U64} = CallByName TotallyNotJson.204 List.164 List.603;
|
||||
let List.602 : U64 = 1i64;
|
||||
let List.601 : U64 = CallByName Num.51 List.166 List.602;
|
||||
jump List.597 List.163 List.168 List.165 List.601 List.167;
|
||||
procedure List.92 (#Derived_gen.29, #Derived_gen.30, #Derived_gen.31, #Derived_gen.32, #Derived_gen.33):
|
||||
joinpoint List.603 List.163 List.164 List.165 List.166 List.167:
|
||||
let List.605 : Int1 = CallByName Num.22 List.166 List.167;
|
||||
if List.605 then
|
||||
let List.609 : {Str, Str} = CallByName List.66 List.163 List.166;
|
||||
inc List.609;
|
||||
let List.168 : List U8 = CallByName Test.70 List.164 List.609;
|
||||
let List.608 : U64 = 1i64;
|
||||
let List.607 : U64 = CallByName Num.51 List.166 List.608;
|
||||
jump List.603 List.163 List.168 List.165 List.607 List.167;
|
||||
else
|
||||
dec List.163;
|
||||
ret List.164;
|
||||
in
|
||||
jump List.597 #Derived_gen.31 #Derived_gen.32 #Derived_gen.33 #Derived_gen.34 #Derived_gen.35;
|
||||
jump List.603 #Derived_gen.29 #Derived_gen.30 #Derived_gen.31 #Derived_gen.32 #Derived_gen.33;
|
||||
|
||||
procedure List.92 (#Derived_gen.36, #Derived_gen.37, #Derived_gen.38, #Derived_gen.39, #Derived_gen.40):
|
||||
joinpoint List.632 List.163 List.164 List.165 List.166 List.167:
|
||||
let List.634 : Int1 = CallByName Num.22 List.166 List.167;
|
||||
if List.634 then
|
||||
let List.638 : {Str, Str} = CallByName List.66 List.163 List.166;
|
||||
inc List.638;
|
||||
let List.168 : {List U8, U64} = CallByName TotallyNotJson.204 List.164 List.638;
|
||||
let List.637 : U64 = 1i64;
|
||||
let List.636 : U64 = CallByName Num.51 List.166 List.637;
|
||||
jump List.632 List.163 List.168 List.165 List.636 List.167;
|
||||
procedure List.92 (#Derived_gen.37, #Derived_gen.38, #Derived_gen.39, #Derived_gen.40, #Derived_gen.41):
|
||||
joinpoint List.577 List.163 List.164 List.165 List.166 List.167:
|
||||
let List.579 : Int1 = CallByName Num.22 List.166 List.167;
|
||||
if List.579 then
|
||||
let List.583 : {Str, Str} = CallByName List.66 List.163 List.166;
|
||||
inc List.583;
|
||||
let List.168 : List U8 = CallByName Test.70 List.164 List.583;
|
||||
let List.582 : U64 = 1i64;
|
||||
let List.581 : U64 = CallByName Num.51 List.166 List.582;
|
||||
jump List.577 List.163 List.168 List.165 List.581 List.167;
|
||||
else
|
||||
dec List.163;
|
||||
ret List.164;
|
||||
in
|
||||
jump List.632 #Derived_gen.36 #Derived_gen.37 #Derived_gen.38 #Derived_gen.39 #Derived_gen.40;
|
||||
|
||||
procedure List.92 (#Derived_gen.47, #Derived_gen.48, #Derived_gen.49, #Derived_gen.50, #Derived_gen.51):
|
||||
joinpoint List.644 List.163 List.164 List.165 List.166 List.167:
|
||||
let List.646 : Int1 = CallByName Num.22 List.166 List.167;
|
||||
if List.646 then
|
||||
let List.650 : U8 = CallByName List.66 List.163 List.166;
|
||||
let List.168 : List U8 = CallByName TotallyNotJson.183 List.164 List.650;
|
||||
let List.649 : U64 = 1i64;
|
||||
let List.648 : U64 = CallByName Num.51 List.166 List.649;
|
||||
jump List.644 List.163 List.168 List.165 List.648 List.167;
|
||||
else
|
||||
dec List.163;
|
||||
ret List.164;
|
||||
in
|
||||
jump List.644 #Derived_gen.47 #Derived_gen.48 #Derived_gen.49 #Derived_gen.50 #Derived_gen.51;
|
||||
jump List.577 #Derived_gen.37 #Derived_gen.38 #Derived_gen.39 #Derived_gen.40 #Derived_gen.41;
|
||||
|
||||
procedure Num.127 (#Attr.2):
|
||||
let Num.295 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
ret Num.295;
|
||||
|
||||
procedure Num.137 (#Attr.2, #Attr.3):
|
||||
let Num.301 : U64 = lowlevel NumDivCeilUnchecked #Attr.2 #Attr.3;
|
||||
ret Num.301;
|
||||
|
||||
procedure Num.19 (#Attr.2, #Attr.3):
|
||||
let Num.300 : U64 = lowlevel NumAdd #Attr.2 #Attr.3;
|
||||
ret Num.300;
|
||||
|
||||
procedure Num.20 (#Attr.2, #Attr.3):
|
||||
let Num.297 : U64 = lowlevel NumSub #Attr.2 #Attr.3;
|
||||
ret Num.297;
|
||||
|
||||
procedure Num.21 (#Attr.2, #Attr.3):
|
||||
let Num.302 : U64 = lowlevel NumMul #Attr.2 #Attr.3;
|
||||
ret Num.302;
|
||||
let Num.284 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
ret Num.284;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.308 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
ret Num.308;
|
||||
|
||||
procedure Num.24 (#Attr.2, #Attr.3):
|
||||
let Num.310 : Int1 = lowlevel NumGt #Attr.2 #Attr.3;
|
||||
ret Num.310;
|
||||
let Num.286 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
ret Num.286;
|
||||
|
||||
procedure Num.51 (#Attr.2, #Attr.3):
|
||||
let Num.305 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
|
||||
ret Num.305;
|
||||
let Num.285 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
|
||||
ret Num.285;
|
||||
|
||||
procedure Num.75 (#Attr.2, #Attr.3):
|
||||
let Num.309 : U64 = lowlevel NumSubWrap #Attr.2 #Attr.3;
|
||||
ret Num.309;
|
||||
procedure Num.96 (#Attr.2):
|
||||
let Num.283 : Str = lowlevel NumToStr #Attr.2;
|
||||
ret Num.283;
|
||||
|
||||
procedure Str.12 (#Attr.2):
|
||||
let Str.242 : List U8 = lowlevel StrToUtf8 #Attr.2;
|
||||
ret Str.242;
|
||||
let Str.244 : List U8 = lowlevel StrToUtf8 #Attr.2;
|
||||
ret Str.244;
|
||||
|
||||
procedure Str.36 (#Attr.2):
|
||||
let Str.245 : U64 = lowlevel StrCountUtf8Bytes #Attr.2;
|
||||
ret Str.245;
|
||||
|
||||
procedure Str.43 (#Attr.2):
|
||||
let Str.239 : {U64, Str, Int1, U8} = lowlevel StrFromUtf8 #Attr.2;
|
||||
|
@ -307,324 +181,96 @@ procedure Str.9 (Str.67):
|
|||
else
|
||||
let Str.234 : U8 = StructAtIndex 3 Str.68;
|
||||
let Str.235 : U64 = StructAtIndex 0 Str.68;
|
||||
let #Derived_gen.55 : Str = StructAtIndex 1 Str.68;
|
||||
dec #Derived_gen.55;
|
||||
let #Derived_gen.45 : Str = StructAtIndex 1 Str.68;
|
||||
dec #Derived_gen.45;
|
||||
let Str.233 : {U64, U8} = Struct {Str.235, Str.234};
|
||||
let Str.232 : [C {U64, U8}, C Str] = TagId(0) Str.233;
|
||||
ret Str.232;
|
||||
|
||||
procedure TotallyNotJson.150 (TotallyNotJson.151, TotallyNotJson.1060, TotallyNotJson.149):
|
||||
let TotallyNotJson.1063 : List U8 = CallByName TotallyNotJson.26 TotallyNotJson.149;
|
||||
let TotallyNotJson.1062 : List U8 = CallByName List.8 TotallyNotJson.151 TotallyNotJson.1063;
|
||||
ret TotallyNotJson.1062;
|
||||
procedure Test.19 (Test.55):
|
||||
let Test.324 : Str = CallByName Encode.23 Test.55;
|
||||
ret Test.324;
|
||||
|
||||
procedure TotallyNotJson.157 (TotallyNotJson.1111, TotallyNotJson.160):
|
||||
let TotallyNotJson.158 : U64 = StructAtIndex 0 TotallyNotJson.1111;
|
||||
let TotallyNotJson.159 : Int1 = StructAtIndex 1 TotallyNotJson.1111;
|
||||
switch TotallyNotJson.160:
|
||||
case 34:
|
||||
let TotallyNotJson.1114 : Int1 = false;
|
||||
let TotallyNotJson.1113 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1114};
|
||||
let TotallyNotJson.1112 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1113;
|
||||
ret TotallyNotJson.1112;
|
||||
|
||||
case 92:
|
||||
let TotallyNotJson.1117 : Int1 = false;
|
||||
let TotallyNotJson.1116 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1117};
|
||||
let TotallyNotJson.1115 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1116;
|
||||
ret TotallyNotJson.1115;
|
||||
|
||||
case 47:
|
||||
let TotallyNotJson.1120 : Int1 = false;
|
||||
let TotallyNotJson.1119 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1120};
|
||||
let TotallyNotJson.1118 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1119;
|
||||
ret TotallyNotJson.1118;
|
||||
|
||||
case 8:
|
||||
let TotallyNotJson.1123 : Int1 = false;
|
||||
let TotallyNotJson.1122 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1123};
|
||||
let TotallyNotJson.1121 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1122;
|
||||
ret TotallyNotJson.1121;
|
||||
|
||||
case 12:
|
||||
let TotallyNotJson.1126 : Int1 = false;
|
||||
let TotallyNotJson.1125 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1126};
|
||||
let TotallyNotJson.1124 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1125;
|
||||
ret TotallyNotJson.1124;
|
||||
|
||||
case 10:
|
||||
let TotallyNotJson.1129 : Int1 = false;
|
||||
let TotallyNotJson.1128 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1129};
|
||||
let TotallyNotJson.1127 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1128;
|
||||
ret TotallyNotJson.1127;
|
||||
|
||||
case 13:
|
||||
let TotallyNotJson.1132 : Int1 = false;
|
||||
let TotallyNotJson.1131 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1132};
|
||||
let TotallyNotJson.1130 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1131;
|
||||
ret TotallyNotJson.1130;
|
||||
|
||||
case 9:
|
||||
let TotallyNotJson.1135 : Int1 = false;
|
||||
let TotallyNotJson.1134 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1135};
|
||||
let TotallyNotJson.1133 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1134;
|
||||
ret TotallyNotJson.1133;
|
||||
|
||||
default:
|
||||
let TotallyNotJson.1139 : U64 = 1i64;
|
||||
let TotallyNotJson.1138 : U64 = CallByName Num.19 TotallyNotJson.158 TotallyNotJson.1139;
|
||||
let TotallyNotJson.1137 : {U64, Int1} = Struct {TotallyNotJson.1138, TotallyNotJson.159};
|
||||
let TotallyNotJson.1136 : [C {U64, Int1}, C {U64, Int1}] = TagId(1) TotallyNotJson.1137;
|
||||
ret TotallyNotJson.1136;
|
||||
|
||||
procedure Test.2 ():
|
||||
let Test.257 : {} = Struct {};
|
||||
ret Test.257;
|
||||
|
||||
procedure TotallyNotJson.183 (TotallyNotJson.184, TotallyNotJson.185):
|
||||
let TotallyNotJson.1082 : List U8 = CallByName TotallyNotJson.27 TotallyNotJson.185;
|
||||
let TotallyNotJson.1081 : List U8 = CallByName List.8 TotallyNotJson.184 TotallyNotJson.1082;
|
||||
ret TotallyNotJson.1081;
|
||||
procedure Test.21 (Test.66):
|
||||
let Test.260 : List {Str, Str} = CallByName Encode.23 Test.66;
|
||||
ret Test.260;
|
||||
|
||||
procedure TotallyNotJson.202 (TotallyNotJson.203, TotallyNotJson.976, TotallyNotJson.201):
|
||||
let TotallyNotJson.1016 : I64 = 123i64;
|
||||
let TotallyNotJson.1015 : U8 = CallByName Num.127 TotallyNotJson.1016;
|
||||
let TotallyNotJson.205 : List U8 = CallByName List.4 TotallyNotJson.203 TotallyNotJson.1015;
|
||||
let TotallyNotJson.1014 : U64 = CallByName List.6 TotallyNotJson.201;
|
||||
let TotallyNotJson.984 : {List U8, U64} = Struct {TotallyNotJson.205, TotallyNotJson.1014};
|
||||
let TotallyNotJson.985 : {} = Struct {};
|
||||
let TotallyNotJson.983 : {List U8, U64} = CallByName List.18 TotallyNotJson.201 TotallyNotJson.984 TotallyNotJson.985;
|
||||
let TotallyNotJson.207 : List U8 = StructAtIndex 0 TotallyNotJson.983;
|
||||
let TotallyNotJson.982 : I64 = 125i64;
|
||||
let TotallyNotJson.981 : U8 = CallByName Num.127 TotallyNotJson.982;
|
||||
let TotallyNotJson.980 : List U8 = CallByName List.4 TotallyNotJson.207 TotallyNotJson.981;
|
||||
ret TotallyNotJson.980;
|
||||
procedure Test.21 (Test.66):
|
||||
let Test.292 : List {Str, Str} = CallByName Encode.23 Test.66;
|
||||
ret Test.292;
|
||||
|
||||
procedure TotallyNotJson.202 (TotallyNotJson.203, TotallyNotJson.976, TotallyNotJson.201):
|
||||
let TotallyNotJson.1057 : I64 = 123i64;
|
||||
let TotallyNotJson.1056 : U8 = CallByName Num.127 TotallyNotJson.1057;
|
||||
let TotallyNotJson.205 : List U8 = CallByName List.4 TotallyNotJson.203 TotallyNotJson.1056;
|
||||
let TotallyNotJson.1055 : U64 = CallByName List.6 TotallyNotJson.201;
|
||||
let TotallyNotJson.1025 : {List U8, U64} = Struct {TotallyNotJson.205, TotallyNotJson.1055};
|
||||
let TotallyNotJson.1026 : {} = Struct {};
|
||||
let TotallyNotJson.1024 : {List U8, U64} = CallByName List.18 TotallyNotJson.201 TotallyNotJson.1025 TotallyNotJson.1026;
|
||||
let TotallyNotJson.207 : List U8 = StructAtIndex 0 TotallyNotJson.1024;
|
||||
let TotallyNotJson.1023 : I64 = 125i64;
|
||||
let TotallyNotJson.1022 : U8 = CallByName Num.127 TotallyNotJson.1023;
|
||||
let TotallyNotJson.1021 : List U8 = CallByName List.4 TotallyNotJson.207 TotallyNotJson.1022;
|
||||
ret TotallyNotJson.1021;
|
||||
procedure Test.3 (Test.48, Test.49, Test.50):
|
||||
let Test.321 : U8 = CallByName Num.127 Test.49;
|
||||
let Test.318 : List U8 = CallByName List.4 Test.48 Test.321;
|
||||
let Test.320 : Str = CallByName Num.96 Test.50;
|
||||
let Test.319 : List U8 = CallByName Str.12 Test.320;
|
||||
let Test.316 : List U8 = CallByName List.8 Test.318 Test.319;
|
||||
let Test.317 : U8 = 32i64;
|
||||
let Test.315 : List U8 = CallByName List.4 Test.316 Test.317;
|
||||
ret Test.315;
|
||||
|
||||
procedure TotallyNotJson.204 (TotallyNotJson.978, TotallyNotJson.979):
|
||||
let TotallyNotJson.210 : Str = StructAtIndex 0 TotallyNotJson.979;
|
||||
let TotallyNotJson.211 : Str = StructAtIndex 1 TotallyNotJson.979;
|
||||
let TotallyNotJson.208 : List U8 = StructAtIndex 0 TotallyNotJson.978;
|
||||
let TotallyNotJson.209 : U64 = StructAtIndex 1 TotallyNotJson.978;
|
||||
let TotallyNotJson.1011 : List U8 = Array [];
|
||||
let TotallyNotJson.1012 : {} = CallByName TotallyNotJson.8;
|
||||
let TotallyNotJson.212 : List U8 = CallByName Encode.24 TotallyNotJson.1011 TotallyNotJson.211 TotallyNotJson.1012;
|
||||
let TotallyNotJson.1010 : List U8 = Array [];
|
||||
let TotallyNotJson.1006 : Int1 = CallByName Bool.11 TotallyNotJson.212 TotallyNotJson.1010;
|
||||
dec TotallyNotJson.1010;
|
||||
if TotallyNotJson.1006 then
|
||||
dec TotallyNotJson.210;
|
||||
dec TotallyNotJson.212;
|
||||
let TotallyNotJson.1009 : U64 = 1i64;
|
||||
let TotallyNotJson.1008 : U64 = CallByName Num.20 TotallyNotJson.209 TotallyNotJson.1009;
|
||||
let TotallyNotJson.1007 : {List U8, U64} = Struct {TotallyNotJson.208, TotallyNotJson.1008};
|
||||
ret TotallyNotJson.1007;
|
||||
else
|
||||
let TotallyNotJson.1005 : I64 = 34i64;
|
||||
let TotallyNotJson.1004 : U8 = CallByName Num.127 TotallyNotJson.1005;
|
||||
let TotallyNotJson.1002 : List U8 = CallByName List.4 TotallyNotJson.208 TotallyNotJson.1004;
|
||||
let TotallyNotJson.1003 : List U8 = CallByName Str.12 TotallyNotJson.210;
|
||||
let TotallyNotJson.999 : List U8 = CallByName List.8 TotallyNotJson.1002 TotallyNotJson.1003;
|
||||
let TotallyNotJson.1001 : I64 = 34i64;
|
||||
let TotallyNotJson.1000 : U8 = CallByName Num.127 TotallyNotJson.1001;
|
||||
let TotallyNotJson.996 : List U8 = CallByName List.4 TotallyNotJson.999 TotallyNotJson.1000;
|
||||
let TotallyNotJson.998 : I64 = 58i64;
|
||||
let TotallyNotJson.997 : U8 = CallByName Num.127 TotallyNotJson.998;
|
||||
let TotallyNotJson.995 : List U8 = CallByName List.4 TotallyNotJson.996 TotallyNotJson.997;
|
||||
let TotallyNotJson.214 : List U8 = CallByName List.8 TotallyNotJson.995 TotallyNotJson.212;
|
||||
joinpoint TotallyNotJson.990 TotallyNotJson.215:
|
||||
let TotallyNotJson.988 : U64 = 1i64;
|
||||
let TotallyNotJson.987 : U64 = CallByName Num.20 TotallyNotJson.209 TotallyNotJson.988;
|
||||
let TotallyNotJson.986 : {List U8, U64} = Struct {TotallyNotJson.215, TotallyNotJson.987};
|
||||
ret TotallyNotJson.986;
|
||||
in
|
||||
let TotallyNotJson.994 : U64 = 1i64;
|
||||
let TotallyNotJson.991 : Int1 = CallByName Num.24 TotallyNotJson.209 TotallyNotJson.994;
|
||||
if TotallyNotJson.991 then
|
||||
let TotallyNotJson.993 : I64 = 44i64;
|
||||
let TotallyNotJson.992 : U8 = CallByName Num.127 TotallyNotJson.993;
|
||||
let TotallyNotJson.989 : List U8 = CallByName List.4 TotallyNotJson.214 TotallyNotJson.992;
|
||||
jump TotallyNotJson.990 TotallyNotJson.989;
|
||||
else
|
||||
jump TotallyNotJson.990 TotallyNotJson.214;
|
||||
procedure Test.56 (Test.57, Test.274, Test.55):
|
||||
let Test.313 : I64 = 115i64;
|
||||
let Test.314 : U64 = CallByName Str.36 Test.55;
|
||||
let Test.311 : List U8 = CallByName Test.3 Test.57 Test.313 Test.314;
|
||||
let Test.312 : List U8 = CallByName Str.12 Test.55;
|
||||
let Test.309 : List U8 = CallByName List.8 Test.311 Test.312;
|
||||
let Test.310 : U8 = 32i64;
|
||||
let Test.308 : List U8 = CallByName List.4 Test.309 Test.310;
|
||||
ret Test.308;
|
||||
|
||||
procedure TotallyNotJson.204 (TotallyNotJson.978, TotallyNotJson.979):
|
||||
let TotallyNotJson.210 : Str = StructAtIndex 0 TotallyNotJson.979;
|
||||
let TotallyNotJson.211 : Str = StructAtIndex 1 TotallyNotJson.979;
|
||||
let TotallyNotJson.208 : List U8 = StructAtIndex 0 TotallyNotJson.978;
|
||||
let TotallyNotJson.209 : U64 = StructAtIndex 1 TotallyNotJson.978;
|
||||
let TotallyNotJson.1052 : List U8 = Array [];
|
||||
let TotallyNotJson.1053 : {} = CallByName TotallyNotJson.8;
|
||||
let TotallyNotJson.212 : List U8 = CallByName Encode.24 TotallyNotJson.1052 TotallyNotJson.211 TotallyNotJson.1053;
|
||||
let TotallyNotJson.1051 : List U8 = Array [];
|
||||
let TotallyNotJson.1047 : Int1 = CallByName Bool.11 TotallyNotJson.212 TotallyNotJson.1051;
|
||||
dec TotallyNotJson.1051;
|
||||
if TotallyNotJson.1047 then
|
||||
dec TotallyNotJson.210;
|
||||
dec TotallyNotJson.212;
|
||||
let TotallyNotJson.1050 : U64 = 1i64;
|
||||
let TotallyNotJson.1049 : U64 = CallByName Num.20 TotallyNotJson.209 TotallyNotJson.1050;
|
||||
let TotallyNotJson.1048 : {List U8, U64} = Struct {TotallyNotJson.208, TotallyNotJson.1049};
|
||||
ret TotallyNotJson.1048;
|
||||
else
|
||||
let TotallyNotJson.1046 : I64 = 34i64;
|
||||
let TotallyNotJson.1045 : U8 = CallByName Num.127 TotallyNotJson.1046;
|
||||
let TotallyNotJson.1043 : List U8 = CallByName List.4 TotallyNotJson.208 TotallyNotJson.1045;
|
||||
let TotallyNotJson.1044 : List U8 = CallByName Str.12 TotallyNotJson.210;
|
||||
let TotallyNotJson.1040 : List U8 = CallByName List.8 TotallyNotJson.1043 TotallyNotJson.1044;
|
||||
let TotallyNotJson.1042 : I64 = 34i64;
|
||||
let TotallyNotJson.1041 : U8 = CallByName Num.127 TotallyNotJson.1042;
|
||||
let TotallyNotJson.1037 : List U8 = CallByName List.4 TotallyNotJson.1040 TotallyNotJson.1041;
|
||||
let TotallyNotJson.1039 : I64 = 58i64;
|
||||
let TotallyNotJson.1038 : U8 = CallByName Num.127 TotallyNotJson.1039;
|
||||
let TotallyNotJson.1036 : List U8 = CallByName List.4 TotallyNotJson.1037 TotallyNotJson.1038;
|
||||
let TotallyNotJson.214 : List U8 = CallByName List.8 TotallyNotJson.1036 TotallyNotJson.212;
|
||||
joinpoint TotallyNotJson.1031 TotallyNotJson.215:
|
||||
let TotallyNotJson.1029 : U64 = 1i64;
|
||||
let TotallyNotJson.1028 : U64 = CallByName Num.20 TotallyNotJson.209 TotallyNotJson.1029;
|
||||
let TotallyNotJson.1027 : {List U8, U64} = Struct {TotallyNotJson.215, TotallyNotJson.1028};
|
||||
ret TotallyNotJson.1027;
|
||||
in
|
||||
let TotallyNotJson.1035 : U64 = 1i64;
|
||||
let TotallyNotJson.1032 : Int1 = CallByName Num.24 TotallyNotJson.209 TotallyNotJson.1035;
|
||||
if TotallyNotJson.1032 then
|
||||
let TotallyNotJson.1034 : I64 = 44i64;
|
||||
let TotallyNotJson.1033 : U8 = CallByName Num.127 TotallyNotJson.1034;
|
||||
let TotallyNotJson.1030 : List U8 = CallByName List.4 TotallyNotJson.214 TotallyNotJson.1033;
|
||||
jump TotallyNotJson.1031 TotallyNotJson.1030;
|
||||
else
|
||||
jump TotallyNotJson.1031 TotallyNotJson.214;
|
||||
procedure Test.67 (Test.68, Test.262, Test.66):
|
||||
let Test.290 : I64 = 114i64;
|
||||
let Test.291 : U64 = CallByName List.6 Test.66;
|
||||
let Test.69 : List U8 = CallByName Test.3 Test.68 Test.290 Test.291;
|
||||
let Test.265 : {} = Struct {};
|
||||
let Test.264 : List U8 = CallByName List.18 Test.66 Test.69 Test.265;
|
||||
ret Test.264;
|
||||
|
||||
procedure TotallyNotJson.25 (TotallyNotJson.149):
|
||||
let TotallyNotJson.1058 : Str = CallByName Encode.23 TotallyNotJson.149;
|
||||
ret TotallyNotJson.1058;
|
||||
procedure Test.67 (Test.68, Test.262, Test.66):
|
||||
let Test.322 : I64 = 114i64;
|
||||
let Test.323 : U64 = CallByName List.6 Test.66;
|
||||
let Test.69 : List U8 = CallByName Test.3 Test.68 Test.322 Test.323;
|
||||
let Test.297 : {} = Struct {};
|
||||
let Test.296 : List U8 = CallByName List.18 Test.66 Test.69 Test.297;
|
||||
ret Test.296;
|
||||
|
||||
procedure TotallyNotJson.26 (TotallyNotJson.152):
|
||||
let TotallyNotJson.153 : List U8 = CallByName Str.12 TotallyNotJson.152;
|
||||
let TotallyNotJson.1140 : U64 = 0i64;
|
||||
let TotallyNotJson.1141 : Int1 = true;
|
||||
let TotallyNotJson.154 : {U64, Int1} = Struct {TotallyNotJson.1140, TotallyNotJson.1141};
|
||||
let TotallyNotJson.1110 : {} = Struct {};
|
||||
inc TotallyNotJson.153;
|
||||
let TotallyNotJson.155 : {U64, Int1} = CallByName List.26 TotallyNotJson.153 TotallyNotJson.154 TotallyNotJson.1110;
|
||||
let TotallyNotJson.1064 : Int1 = StructAtIndex 1 TotallyNotJson.155;
|
||||
let TotallyNotJson.1108 : Int1 = true;
|
||||
let TotallyNotJson.1109 : Int1 = lowlevel Eq TotallyNotJson.1108 TotallyNotJson.1064;
|
||||
if TotallyNotJson.1109 then
|
||||
let TotallyNotJson.1074 : U64 = CallByName List.6 TotallyNotJson.153;
|
||||
let TotallyNotJson.1075 : U64 = 2i64;
|
||||
let TotallyNotJson.1073 : U64 = CallByName Num.19 TotallyNotJson.1074 TotallyNotJson.1075;
|
||||
let TotallyNotJson.1070 : List U8 = CallByName List.68 TotallyNotJson.1073;
|
||||
let TotallyNotJson.1072 : U8 = 34i64;
|
||||
let TotallyNotJson.1071 : List U8 = Array [TotallyNotJson.1072];
|
||||
let TotallyNotJson.1069 : List U8 = CallByName List.8 TotallyNotJson.1070 TotallyNotJson.1071;
|
||||
let TotallyNotJson.1066 : List U8 = CallByName List.8 TotallyNotJson.1069 TotallyNotJson.153;
|
||||
let TotallyNotJson.1068 : U8 = 34i64;
|
||||
let TotallyNotJson.1067 : List U8 = Array [TotallyNotJson.1068];
|
||||
let TotallyNotJson.1065 : List U8 = CallByName List.8 TotallyNotJson.1066 TotallyNotJson.1067;
|
||||
ret TotallyNotJson.1065;
|
||||
else
|
||||
inc TotallyNotJson.153;
|
||||
let TotallyNotJson.1107 : U64 = StructAtIndex 0 TotallyNotJson.155;
|
||||
let TotallyNotJson.1106 : {List U8, List U8} = CallByName List.52 TotallyNotJson.153 TotallyNotJson.1107;
|
||||
let TotallyNotJson.179 : List U8 = StructAtIndex 0 TotallyNotJson.1106;
|
||||
let TotallyNotJson.181 : List U8 = StructAtIndex 1 TotallyNotJson.1106;
|
||||
let TotallyNotJson.1104 : U64 = CallByName List.6 TotallyNotJson.153;
|
||||
dec TotallyNotJson.153;
|
||||
let TotallyNotJson.1105 : U64 = 120i64;
|
||||
let TotallyNotJson.1102 : U64 = CallByName Num.21 TotallyNotJson.1104 TotallyNotJson.1105;
|
||||
let TotallyNotJson.1103 : U64 = 100i64;
|
||||
let TotallyNotJson.1101 : U64 = CallByName Num.137 TotallyNotJson.1102 TotallyNotJson.1103;
|
||||
let TotallyNotJson.1098 : List U8 = CallByName List.68 TotallyNotJson.1101;
|
||||
let TotallyNotJson.1100 : U8 = 34i64;
|
||||
let TotallyNotJson.1099 : List U8 = Array [TotallyNotJson.1100];
|
||||
let TotallyNotJson.1097 : List U8 = CallByName List.8 TotallyNotJson.1098 TotallyNotJson.1099;
|
||||
let TotallyNotJson.182 : List U8 = CallByName List.8 TotallyNotJson.1097 TotallyNotJson.179;
|
||||
let TotallyNotJson.1080 : {} = Struct {};
|
||||
let TotallyNotJson.1077 : List U8 = CallByName List.18 TotallyNotJson.181 TotallyNotJson.182 TotallyNotJson.1080;
|
||||
let TotallyNotJson.1079 : U8 = 34i64;
|
||||
let TotallyNotJson.1078 : List U8 = Array [TotallyNotJson.1079];
|
||||
let TotallyNotJson.1076 : List U8 = CallByName List.8 TotallyNotJson.1077 TotallyNotJson.1078;
|
||||
ret TotallyNotJson.1076;
|
||||
procedure Test.70 (Test.71, Test.266):
|
||||
let Test.72 : Str = StructAtIndex 0 Test.266;
|
||||
let Test.73 : Str = StructAtIndex 1 Test.266;
|
||||
let Test.270 : Str = CallByName Test.19 Test.72;
|
||||
let Test.271 : {} = Struct {};
|
||||
let Test.268 : List U8 = CallByName Encode.24 Test.71 Test.270 Test.271;
|
||||
let Test.269 : {} = Struct {};
|
||||
let Test.267 : List U8 = CallByName Encode.24 Test.268 Test.73 Test.269;
|
||||
ret Test.267;
|
||||
|
||||
procedure TotallyNotJson.27 (TotallyNotJson.186):
|
||||
switch TotallyNotJson.186:
|
||||
case 34:
|
||||
let TotallyNotJson.1083 : List U8 = Array [92i64, 34i64];
|
||||
ret TotallyNotJson.1083;
|
||||
|
||||
case 92:
|
||||
let TotallyNotJson.1084 : List U8 = Array [92i64, 92i64];
|
||||
ret TotallyNotJson.1084;
|
||||
|
||||
case 47:
|
||||
let TotallyNotJson.1085 : List U8 = Array [92i64, 47i64];
|
||||
ret TotallyNotJson.1085;
|
||||
|
||||
case 8:
|
||||
let TotallyNotJson.1087 : U8 = 98i64;
|
||||
let TotallyNotJson.1086 : List U8 = Array [92i64, TotallyNotJson.1087];
|
||||
ret TotallyNotJson.1086;
|
||||
|
||||
case 12:
|
||||
let TotallyNotJson.1089 : U8 = 102i64;
|
||||
let TotallyNotJson.1088 : List U8 = Array [92i64, TotallyNotJson.1089];
|
||||
ret TotallyNotJson.1088;
|
||||
|
||||
case 10:
|
||||
let TotallyNotJson.1091 : U8 = 110i64;
|
||||
let TotallyNotJson.1090 : List U8 = Array [92i64, TotallyNotJson.1091];
|
||||
ret TotallyNotJson.1090;
|
||||
|
||||
case 13:
|
||||
let TotallyNotJson.1093 : U8 = 114i64;
|
||||
let TotallyNotJson.1092 : List U8 = Array [92i64, TotallyNotJson.1093];
|
||||
ret TotallyNotJson.1092;
|
||||
|
||||
case 9:
|
||||
let TotallyNotJson.1095 : U8 = 114i64;
|
||||
let TotallyNotJson.1094 : List U8 = Array [92i64, TotallyNotJson.1095];
|
||||
ret TotallyNotJson.1094;
|
||||
|
||||
default:
|
||||
let TotallyNotJson.1096 : List U8 = Array [TotallyNotJson.186];
|
||||
ret TotallyNotJson.1096;
|
||||
|
||||
|
||||
procedure TotallyNotJson.29 (TotallyNotJson.201):
|
||||
let TotallyNotJson.1017 : List {Str, Str} = CallByName Encode.23 TotallyNotJson.201;
|
||||
ret TotallyNotJson.1017;
|
||||
|
||||
procedure TotallyNotJson.29 (TotallyNotJson.201):
|
||||
let TotallyNotJson.974 : List {Str, Str} = CallByName Encode.23 TotallyNotJson.201;
|
||||
ret TotallyNotJson.974;
|
||||
|
||||
procedure TotallyNotJson.8 ():
|
||||
let TotallyNotJson.1054 : {} = Struct {};
|
||||
ret TotallyNotJson.1054;
|
||||
procedure Test.70 (Test.71, Test.266):
|
||||
let Test.72 : Str = StructAtIndex 0 Test.266;
|
||||
let Test.73 : Str = StructAtIndex 1 Test.266;
|
||||
let Test.302 : Str = CallByName Test.19 Test.72;
|
||||
let Test.303 : {} = Struct {};
|
||||
let Test.300 : List U8 = CallByName Encode.24 Test.71 Test.302 Test.303;
|
||||
let Test.301 : {} = Struct {};
|
||||
let Test.299 : List U8 = CallByName Encode.24 Test.300 Test.73 Test.301;
|
||||
ret Test.299;
|
||||
|
||||
procedure Test.0 ():
|
||||
let Test.12 : Str = "bar";
|
||||
let Test.10 : {} = CallByName TotallyNotJson.8;
|
||||
let Test.8 : List U8 = CallByName Encode.26 Test.12 Test.10;
|
||||
let Test.1 : [C {U64, U8}, C Str] = CallByName Str.9 Test.8;
|
||||
let Test.5 : U8 = 1i64;
|
||||
let Test.6 : U8 = GetTagId Test.1;
|
||||
let Test.7 : Int1 = lowlevel Eq Test.5 Test.6;
|
||||
if Test.7 then
|
||||
let Test.2 : Str = UnionAtIndex (Id 1) (Index 0) Test.1;
|
||||
ret Test.2;
|
||||
let Test.259 : Str = "bar";
|
||||
let Test.256 : {} = CallByName Test.2;
|
||||
let Test.254 : List U8 = CallByName Encode.26 Test.259 Test.256;
|
||||
let Test.209 : [C {U64, U8}, C Str] = CallByName Str.9 Test.254;
|
||||
let Test.251 : U8 = 1i64;
|
||||
let Test.252 : U8 = GetTagId Test.209;
|
||||
let Test.253 : Int1 = lowlevel Eq Test.251 Test.252;
|
||||
if Test.253 then
|
||||
let Test.210 : Str = UnionAtIndex (Id 1) (Index 0) Test.209;
|
||||
ret Test.210;
|
||||
else
|
||||
dec Test.1;
|
||||
let Test.4 : Str = "<bad>";
|
||||
ret Test.4;
|
||||
dec Test.209;
|
||||
let Test.250 : Str = "<bad>";
|
||||
ret Test.250;
|
||||
|
|
|
@ -4,17 +4,13 @@ procedure #Derived.0 (#Derived.1):
|
|||
|
||||
procedure #Derived.2 (#Derived.3, #Derived.4, #Derived.1):
|
||||
let #Derived_gen.7 : Str = "a";
|
||||
let #Derived_gen.8 : Str = CallByName TotallyNotJson.25 #Derived.1;
|
||||
let #Derived_gen.8 : Str = CallByName Test.19 #Derived.1;
|
||||
let #Derived_gen.6 : {Str, Str} = Struct {#Derived_gen.7, #Derived_gen.8};
|
||||
let #Derived_gen.5 : List {Str, Str} = Array [#Derived_gen.6];
|
||||
let #Derived_gen.4 : List {Str, Str} = CallByName TotallyNotJson.29 #Derived_gen.5;
|
||||
let #Derived_gen.4 : List {Str, Str} = CallByName Test.21 #Derived_gen.5;
|
||||
let #Derived_gen.3 : List U8 = CallByName Encode.24 #Derived.3 #Derived_gen.4 #Derived.4;
|
||||
ret #Derived_gen.3;
|
||||
|
||||
procedure Bool.11 (#Attr.2, #Attr.3):
|
||||
let Bool.23 : Int1 = lowlevel Eq #Attr.2 #Attr.3;
|
||||
ret Bool.23;
|
||||
|
||||
procedure Encode.23 (Encode.98):
|
||||
ret Encode.98;
|
||||
|
||||
|
@ -29,12 +25,12 @@ procedure Encode.24 (Encode.99, Encode.107, Encode.101):
|
|||
ret Encode.111;
|
||||
|
||||
procedure Encode.24 (Encode.99, Encode.107, Encode.101):
|
||||
let Encode.113 : List U8 = CallByName TotallyNotJson.202 Encode.99 Encode.101 Encode.107;
|
||||
let Encode.113 : List U8 = CallByName Test.67 Encode.99 Encode.101 Encode.107;
|
||||
ret Encode.113;
|
||||
|
||||
procedure Encode.24 (Encode.99, Encode.107, Encode.101):
|
||||
let Encode.116 : List U8 = CallByName TotallyNotJson.150 Encode.99 Encode.101 Encode.107;
|
||||
ret Encode.116;
|
||||
let Encode.118 : List U8 = CallByName Test.56 Encode.99 Encode.101 Encode.107;
|
||||
ret Encode.118;
|
||||
|
||||
procedure Encode.26 (Encode.105, Encode.106):
|
||||
let Encode.109 : List U8 = Array [];
|
||||
|
@ -42,200 +38,78 @@ procedure Encode.26 (Encode.105, Encode.106):
|
|||
let Encode.108 : List U8 = CallByName Encode.24 Encode.109 Encode.110 Encode.106;
|
||||
ret Encode.108;
|
||||
|
||||
procedure List.104 (List.488, List.489, List.490):
|
||||
let List.652 : U64 = 0i64;
|
||||
let List.653 : U64 = CallByName List.6 List.488;
|
||||
let List.651 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.80 List.488 List.489 List.490 List.652 List.653;
|
||||
ret List.651;
|
||||
|
||||
procedure List.18 (List.160, List.161, List.162):
|
||||
let List.595 : U64 = 0i64;
|
||||
let List.596 : U64 = CallByName List.6 List.160;
|
||||
let List.594 : {List U8, U64} = CallByName List.92 List.160 List.161 List.162 List.595 List.596;
|
||||
ret List.594;
|
||||
|
||||
procedure List.18 (List.160, List.161, List.162):
|
||||
let List.607 : U64 = 0i64;
|
||||
let List.608 : U64 = CallByName List.6 List.160;
|
||||
let List.606 : List U8 = CallByName List.92 List.160 List.161 List.162 List.607 List.608;
|
||||
ret List.606;
|
||||
|
||||
procedure List.26 (List.201, List.202, List.203):
|
||||
let List.645 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.104 List.201 List.202 List.203;
|
||||
let List.648 : U8 = 1i64;
|
||||
let List.649 : U8 = GetTagId List.645;
|
||||
let List.650 : Int1 = lowlevel Eq List.648 List.649;
|
||||
if List.650 then
|
||||
let List.204 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.645;
|
||||
ret List.204;
|
||||
else
|
||||
let List.205 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.645;
|
||||
ret List.205;
|
||||
let List.575 : U64 = 0i64;
|
||||
let List.576 : U64 = CallByName List.6 List.160;
|
||||
let List.574 : List U8 = CallByName List.92 List.160 List.161 List.162 List.575 List.576;
|
||||
ret List.574;
|
||||
|
||||
procedure List.4 (List.124, List.125):
|
||||
let List.593 : U64 = 1i64;
|
||||
let List.592 : List U8 = CallByName List.70 List.124 List.593;
|
||||
let List.591 : List U8 = CallByName List.71 List.592 List.125;
|
||||
ret List.591;
|
||||
|
||||
procedure List.49 (List.420, List.421):
|
||||
let List.636 : U64 = StructAtIndex 1 List.421;
|
||||
let List.637 : U64 = StructAtIndex 0 List.421;
|
||||
let List.635 : List U8 = CallByName List.72 List.420 List.636 List.637;
|
||||
ret List.635;
|
||||
|
||||
procedure List.52 (List.435, List.436):
|
||||
let List.437 : U64 = CallByName List.6 List.435;
|
||||
joinpoint List.643 List.438:
|
||||
let List.641 : U64 = 0i64;
|
||||
let List.640 : {U64, U64} = Struct {List.438, List.641};
|
||||
inc List.435;
|
||||
let List.439 : List U8 = CallByName List.49 List.435 List.640;
|
||||
let List.639 : U64 = CallByName Num.75 List.437 List.438;
|
||||
let List.634 : {U64, U64} = Struct {List.639, List.438};
|
||||
let List.440 : List U8 = CallByName List.49 List.435 List.634;
|
||||
let List.633 : {List U8, List U8} = Struct {List.439, List.440};
|
||||
ret List.633;
|
||||
in
|
||||
let List.644 : Int1 = CallByName Num.24 List.437 List.436;
|
||||
if List.644 then
|
||||
jump List.643 List.436;
|
||||
else
|
||||
jump List.643 List.437;
|
||||
let List.596 : U64 = 1i64;
|
||||
let List.595 : List U8 = CallByName List.70 List.124 List.596;
|
||||
let List.594 : List U8 = CallByName List.71 List.595 List.125;
|
||||
ret List.594;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.628 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.628;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.630 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.630;
|
||||
let List.599 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.599;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.604 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.604;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.616 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.616;
|
||||
|
||||
procedure List.68 (#Attr.2):
|
||||
let List.632 : List U8 = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.632;
|
||||
let List.584 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.584;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.578 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.578;
|
||||
let List.590 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.590;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.576 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.576;
|
||||
|
||||
procedure List.72 (#Attr.2, #Attr.3, #Attr.4):
|
||||
let List.638 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.638;
|
||||
let List.588 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.588;
|
||||
|
||||
procedure List.8 (#Attr.2, #Attr.3):
|
||||
let List.627 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.627;
|
||||
let List.598 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.598;
|
||||
|
||||
procedure List.80 (#Derived_gen.13, #Derived_gen.14, #Derived_gen.15, #Derived_gen.16, #Derived_gen.17):
|
||||
joinpoint List.654 List.491 List.492 List.493 List.494 List.495:
|
||||
let List.656 : Int1 = CallByName Num.22 List.494 List.495;
|
||||
if List.656 then
|
||||
let List.665 : U8 = CallByName List.66 List.491 List.494;
|
||||
let List.657 : [C {U64, Int1}, C {U64, Int1}] = CallByName TotallyNotJson.157 List.492 List.665;
|
||||
let List.662 : U8 = 1i64;
|
||||
let List.663 : U8 = GetTagId List.657;
|
||||
let List.664 : Int1 = lowlevel Eq List.662 List.663;
|
||||
if List.664 then
|
||||
let List.496 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.657;
|
||||
let List.660 : U64 = 1i64;
|
||||
let List.659 : U64 = CallByName Num.51 List.494 List.660;
|
||||
jump List.654 List.491 List.496 List.493 List.659 List.495;
|
||||
else
|
||||
dec List.491;
|
||||
let List.497 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.657;
|
||||
let List.661 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) List.497;
|
||||
ret List.661;
|
||||
else
|
||||
dec List.491;
|
||||
let List.655 : [C {U64, Int1}, C {U64, Int1}] = TagId(1) List.492;
|
||||
ret List.655;
|
||||
in
|
||||
jump List.654 #Derived_gen.13 #Derived_gen.14 #Derived_gen.15 #Derived_gen.16 #Derived_gen.17;
|
||||
|
||||
procedure List.92 (#Derived_gen.24, #Derived_gen.25, #Derived_gen.26, #Derived_gen.27, #Derived_gen.28):
|
||||
joinpoint List.597 List.163 List.164 List.165 List.166 List.167:
|
||||
let List.599 : Int1 = CallByName Num.22 List.166 List.167;
|
||||
if List.599 then
|
||||
let List.603 : {Str, Str} = CallByName List.66 List.163 List.166;
|
||||
inc List.603;
|
||||
let List.168 : {List U8, U64} = CallByName TotallyNotJson.204 List.164 List.603;
|
||||
let List.602 : U64 = 1i64;
|
||||
let List.601 : U64 = CallByName Num.51 List.166 List.602;
|
||||
jump List.597 List.163 List.168 List.165 List.601 List.167;
|
||||
procedure List.92 (#Derived_gen.13, #Derived_gen.14, #Derived_gen.15, #Derived_gen.16, #Derived_gen.17):
|
||||
joinpoint List.577 List.163 List.164 List.165 List.166 List.167:
|
||||
let List.579 : Int1 = CallByName Num.22 List.166 List.167;
|
||||
if List.579 then
|
||||
let List.583 : {Str, Str} = CallByName List.66 List.163 List.166;
|
||||
inc List.583;
|
||||
let List.168 : List U8 = CallByName Test.70 List.164 List.583;
|
||||
let List.582 : U64 = 1i64;
|
||||
let List.581 : U64 = CallByName Num.51 List.166 List.582;
|
||||
jump List.577 List.163 List.168 List.165 List.581 List.167;
|
||||
else
|
||||
dec List.163;
|
||||
ret List.164;
|
||||
in
|
||||
jump List.597 #Derived_gen.24 #Derived_gen.25 #Derived_gen.26 #Derived_gen.27 #Derived_gen.28;
|
||||
|
||||
procedure List.92 (#Derived_gen.29, #Derived_gen.30, #Derived_gen.31, #Derived_gen.32, #Derived_gen.33):
|
||||
joinpoint List.609 List.163 List.164 List.165 List.166 List.167:
|
||||
let List.611 : Int1 = CallByName Num.22 List.166 List.167;
|
||||
if List.611 then
|
||||
let List.615 : U8 = CallByName List.66 List.163 List.166;
|
||||
let List.168 : List U8 = CallByName TotallyNotJson.183 List.164 List.615;
|
||||
let List.614 : U64 = 1i64;
|
||||
let List.613 : U64 = CallByName Num.51 List.166 List.614;
|
||||
jump List.609 List.163 List.168 List.165 List.613 List.167;
|
||||
else
|
||||
dec List.163;
|
||||
ret List.164;
|
||||
in
|
||||
jump List.609 #Derived_gen.29 #Derived_gen.30 #Derived_gen.31 #Derived_gen.32 #Derived_gen.33;
|
||||
jump List.577 #Derived_gen.13 #Derived_gen.14 #Derived_gen.15 #Derived_gen.16 #Derived_gen.17;
|
||||
|
||||
procedure Num.127 (#Attr.2):
|
||||
let Num.284 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
ret Num.284;
|
||||
|
||||
procedure Num.137 (#Attr.2, #Attr.3):
|
||||
let Num.290 : U64 = lowlevel NumDivCeilUnchecked #Attr.2 #Attr.3;
|
||||
ret Num.290;
|
||||
|
||||
procedure Num.19 (#Attr.2, #Attr.3):
|
||||
let Num.289 : U64 = lowlevel NumAdd #Attr.2 #Attr.3;
|
||||
ret Num.289;
|
||||
|
||||
procedure Num.20 (#Attr.2, #Attr.3):
|
||||
let Num.286 : U64 = lowlevel NumSub #Attr.2 #Attr.3;
|
||||
ret Num.286;
|
||||
|
||||
procedure Num.21 (#Attr.2, #Attr.3):
|
||||
let Num.291 : U64 = lowlevel NumMul #Attr.2 #Attr.3;
|
||||
ret Num.291;
|
||||
let Num.280 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
ret Num.280;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.297 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
ret Num.297;
|
||||
|
||||
procedure Num.24 (#Attr.2, #Attr.3):
|
||||
let Num.299 : Int1 = lowlevel NumGt #Attr.2 #Attr.3;
|
||||
ret Num.299;
|
||||
let Num.282 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
ret Num.282;
|
||||
|
||||
procedure Num.51 (#Attr.2, #Attr.3):
|
||||
let Num.294 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
|
||||
ret Num.294;
|
||||
let Num.281 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
|
||||
ret Num.281;
|
||||
|
||||
procedure Num.75 (#Attr.2, #Attr.3):
|
||||
let Num.298 : U64 = lowlevel NumSubWrap #Attr.2 #Attr.3;
|
||||
ret Num.298;
|
||||
procedure Num.96 (#Attr.2):
|
||||
let Num.279 : Str = lowlevel NumToStr #Attr.2;
|
||||
ret Num.279;
|
||||
|
||||
procedure Str.12 (#Attr.2):
|
||||
let Str.241 : List U8 = lowlevel StrToUtf8 #Attr.2;
|
||||
ret Str.241;
|
||||
|
||||
procedure Str.36 (#Attr.2):
|
||||
let Str.242 : U64 = lowlevel StrCountUtf8Bytes #Attr.2;
|
||||
ret Str.242;
|
||||
|
||||
procedure Str.43 (#Attr.2):
|
||||
let Str.239 : {U64, Str, Int1, U8} = lowlevel StrFromUtf8 #Attr.2;
|
||||
ret Str.239;
|
||||
|
@ -250,259 +124,74 @@ procedure Str.9 (Str.67):
|
|||
else
|
||||
let Str.234 : U8 = StructAtIndex 3 Str.68;
|
||||
let Str.235 : U64 = StructAtIndex 0 Str.68;
|
||||
let #Derived_gen.34 : Str = StructAtIndex 1 Str.68;
|
||||
dec #Derived_gen.34;
|
||||
let #Derived_gen.24 : Str = StructAtIndex 1 Str.68;
|
||||
dec #Derived_gen.24;
|
||||
let Str.233 : {U64, U8} = Struct {Str.235, Str.234};
|
||||
let Str.232 : [C {U64, U8}, C Str] = TagId(0) Str.233;
|
||||
ret Str.232;
|
||||
|
||||
procedure TotallyNotJson.150 (TotallyNotJson.151, TotallyNotJson.1019, TotallyNotJson.149):
|
||||
let TotallyNotJson.1022 : List U8 = CallByName TotallyNotJson.26 TotallyNotJson.149;
|
||||
let TotallyNotJson.1021 : List U8 = CallByName List.8 TotallyNotJson.151 TotallyNotJson.1022;
|
||||
ret TotallyNotJson.1021;
|
||||
procedure Test.19 (Test.55):
|
||||
let Test.291 : Str = CallByName Encode.23 Test.55;
|
||||
ret Test.291;
|
||||
|
||||
procedure TotallyNotJson.157 (TotallyNotJson.1070, TotallyNotJson.160):
|
||||
let TotallyNotJson.158 : U64 = StructAtIndex 0 TotallyNotJson.1070;
|
||||
let TotallyNotJson.159 : Int1 = StructAtIndex 1 TotallyNotJson.1070;
|
||||
switch TotallyNotJson.160:
|
||||
case 34:
|
||||
let TotallyNotJson.1073 : Int1 = false;
|
||||
let TotallyNotJson.1072 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1073};
|
||||
let TotallyNotJson.1071 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1072;
|
||||
ret TotallyNotJson.1071;
|
||||
|
||||
case 92:
|
||||
let TotallyNotJson.1076 : Int1 = false;
|
||||
let TotallyNotJson.1075 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1076};
|
||||
let TotallyNotJson.1074 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1075;
|
||||
ret TotallyNotJson.1074;
|
||||
|
||||
case 47:
|
||||
let TotallyNotJson.1079 : Int1 = false;
|
||||
let TotallyNotJson.1078 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1079};
|
||||
let TotallyNotJson.1077 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1078;
|
||||
ret TotallyNotJson.1077;
|
||||
|
||||
case 8:
|
||||
let TotallyNotJson.1082 : Int1 = false;
|
||||
let TotallyNotJson.1081 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1082};
|
||||
let TotallyNotJson.1080 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1081;
|
||||
ret TotallyNotJson.1080;
|
||||
|
||||
case 12:
|
||||
let TotallyNotJson.1085 : Int1 = false;
|
||||
let TotallyNotJson.1084 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1085};
|
||||
let TotallyNotJson.1083 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1084;
|
||||
ret TotallyNotJson.1083;
|
||||
|
||||
case 10:
|
||||
let TotallyNotJson.1088 : Int1 = false;
|
||||
let TotallyNotJson.1087 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1088};
|
||||
let TotallyNotJson.1086 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1087;
|
||||
ret TotallyNotJson.1086;
|
||||
|
||||
case 13:
|
||||
let TotallyNotJson.1091 : Int1 = false;
|
||||
let TotallyNotJson.1090 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1091};
|
||||
let TotallyNotJson.1089 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1090;
|
||||
ret TotallyNotJson.1089;
|
||||
|
||||
case 9:
|
||||
let TotallyNotJson.1094 : Int1 = false;
|
||||
let TotallyNotJson.1093 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1094};
|
||||
let TotallyNotJson.1092 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1093;
|
||||
ret TotallyNotJson.1092;
|
||||
|
||||
default:
|
||||
let TotallyNotJson.1098 : U64 = 1i64;
|
||||
let TotallyNotJson.1097 : U64 = CallByName Num.19 TotallyNotJson.158 TotallyNotJson.1098;
|
||||
let TotallyNotJson.1096 : {U64, Int1} = Struct {TotallyNotJson.1097, TotallyNotJson.159};
|
||||
let TotallyNotJson.1095 : [C {U64, Int1}, C {U64, Int1}] = TagId(1) TotallyNotJson.1096;
|
||||
ret TotallyNotJson.1095;
|
||||
|
||||
procedure Test.2 ():
|
||||
let Test.257 : {} = Struct {};
|
||||
ret Test.257;
|
||||
|
||||
procedure TotallyNotJson.183 (TotallyNotJson.184, TotallyNotJson.185):
|
||||
let TotallyNotJson.1041 : List U8 = CallByName TotallyNotJson.27 TotallyNotJson.185;
|
||||
let TotallyNotJson.1040 : List U8 = CallByName List.8 TotallyNotJson.184 TotallyNotJson.1041;
|
||||
ret TotallyNotJson.1040;
|
||||
procedure Test.21 (Test.66):
|
||||
let Test.259 : List {Str, Str} = CallByName Encode.23 Test.66;
|
||||
ret Test.259;
|
||||
|
||||
procedure TotallyNotJson.202 (TotallyNotJson.203, TotallyNotJson.976, TotallyNotJson.201):
|
||||
let TotallyNotJson.1016 : I64 = 123i64;
|
||||
let TotallyNotJson.1015 : U8 = CallByName Num.127 TotallyNotJson.1016;
|
||||
let TotallyNotJson.205 : List U8 = CallByName List.4 TotallyNotJson.203 TotallyNotJson.1015;
|
||||
let TotallyNotJson.1014 : U64 = CallByName List.6 TotallyNotJson.201;
|
||||
let TotallyNotJson.984 : {List U8, U64} = Struct {TotallyNotJson.205, TotallyNotJson.1014};
|
||||
let TotallyNotJson.985 : {} = Struct {};
|
||||
let TotallyNotJson.983 : {List U8, U64} = CallByName List.18 TotallyNotJson.201 TotallyNotJson.984 TotallyNotJson.985;
|
||||
let TotallyNotJson.207 : List U8 = StructAtIndex 0 TotallyNotJson.983;
|
||||
let TotallyNotJson.982 : I64 = 125i64;
|
||||
let TotallyNotJson.981 : U8 = CallByName Num.127 TotallyNotJson.982;
|
||||
let TotallyNotJson.980 : List U8 = CallByName List.4 TotallyNotJson.207 TotallyNotJson.981;
|
||||
ret TotallyNotJson.980;
|
||||
procedure Test.3 (Test.48, Test.49, Test.50):
|
||||
let Test.288 : U8 = CallByName Num.127 Test.49;
|
||||
let Test.285 : List U8 = CallByName List.4 Test.48 Test.288;
|
||||
let Test.287 : Str = CallByName Num.96 Test.50;
|
||||
let Test.286 : List U8 = CallByName Str.12 Test.287;
|
||||
let Test.283 : List U8 = CallByName List.8 Test.285 Test.286;
|
||||
let Test.284 : U8 = 32i64;
|
||||
let Test.282 : List U8 = CallByName List.4 Test.283 Test.284;
|
||||
ret Test.282;
|
||||
|
||||
procedure TotallyNotJson.204 (TotallyNotJson.978, TotallyNotJson.979):
|
||||
let TotallyNotJson.210 : Str = StructAtIndex 0 TotallyNotJson.979;
|
||||
let TotallyNotJson.211 : Str = StructAtIndex 1 TotallyNotJson.979;
|
||||
let TotallyNotJson.208 : List U8 = StructAtIndex 0 TotallyNotJson.978;
|
||||
let TotallyNotJson.209 : U64 = StructAtIndex 1 TotallyNotJson.978;
|
||||
let TotallyNotJson.1011 : List U8 = Array [];
|
||||
let TotallyNotJson.1012 : {} = CallByName TotallyNotJson.8;
|
||||
let TotallyNotJson.212 : List U8 = CallByName Encode.24 TotallyNotJson.1011 TotallyNotJson.211 TotallyNotJson.1012;
|
||||
let TotallyNotJson.1010 : List U8 = Array [];
|
||||
let TotallyNotJson.1006 : Int1 = CallByName Bool.11 TotallyNotJson.212 TotallyNotJson.1010;
|
||||
dec TotallyNotJson.1010;
|
||||
if TotallyNotJson.1006 then
|
||||
dec TotallyNotJson.210;
|
||||
dec TotallyNotJson.212;
|
||||
let TotallyNotJson.1009 : U64 = 1i64;
|
||||
let TotallyNotJson.1008 : U64 = CallByName Num.20 TotallyNotJson.209 TotallyNotJson.1009;
|
||||
let TotallyNotJson.1007 : {List U8, U64} = Struct {TotallyNotJson.208, TotallyNotJson.1008};
|
||||
ret TotallyNotJson.1007;
|
||||
else
|
||||
let TotallyNotJson.1005 : I64 = 34i64;
|
||||
let TotallyNotJson.1004 : U8 = CallByName Num.127 TotallyNotJson.1005;
|
||||
let TotallyNotJson.1002 : List U8 = CallByName List.4 TotallyNotJson.208 TotallyNotJson.1004;
|
||||
let TotallyNotJson.1003 : List U8 = CallByName Str.12 TotallyNotJson.210;
|
||||
let TotallyNotJson.999 : List U8 = CallByName List.8 TotallyNotJson.1002 TotallyNotJson.1003;
|
||||
let TotallyNotJson.1001 : I64 = 34i64;
|
||||
let TotallyNotJson.1000 : U8 = CallByName Num.127 TotallyNotJson.1001;
|
||||
let TotallyNotJson.996 : List U8 = CallByName List.4 TotallyNotJson.999 TotallyNotJson.1000;
|
||||
let TotallyNotJson.998 : I64 = 58i64;
|
||||
let TotallyNotJson.997 : U8 = CallByName Num.127 TotallyNotJson.998;
|
||||
let TotallyNotJson.995 : List U8 = CallByName List.4 TotallyNotJson.996 TotallyNotJson.997;
|
||||
let TotallyNotJson.214 : List U8 = CallByName List.8 TotallyNotJson.995 TotallyNotJson.212;
|
||||
joinpoint TotallyNotJson.990 TotallyNotJson.215:
|
||||
let TotallyNotJson.988 : U64 = 1i64;
|
||||
let TotallyNotJson.987 : U64 = CallByName Num.20 TotallyNotJson.209 TotallyNotJson.988;
|
||||
let TotallyNotJson.986 : {List U8, U64} = Struct {TotallyNotJson.215, TotallyNotJson.987};
|
||||
ret TotallyNotJson.986;
|
||||
in
|
||||
let TotallyNotJson.994 : U64 = 1i64;
|
||||
let TotallyNotJson.991 : Int1 = CallByName Num.24 TotallyNotJson.209 TotallyNotJson.994;
|
||||
if TotallyNotJson.991 then
|
||||
let TotallyNotJson.993 : I64 = 44i64;
|
||||
let TotallyNotJson.992 : U8 = CallByName Num.127 TotallyNotJson.993;
|
||||
let TotallyNotJson.989 : List U8 = CallByName List.4 TotallyNotJson.214 TotallyNotJson.992;
|
||||
jump TotallyNotJson.990 TotallyNotJson.989;
|
||||
else
|
||||
jump TotallyNotJson.990 TotallyNotJson.214;
|
||||
procedure Test.56 (Test.57, Test.273, Test.55):
|
||||
let Test.280 : I64 = 115i64;
|
||||
let Test.281 : U64 = CallByName Str.36 Test.55;
|
||||
let Test.278 : List U8 = CallByName Test.3 Test.57 Test.280 Test.281;
|
||||
let Test.279 : List U8 = CallByName Str.12 Test.55;
|
||||
let Test.276 : List U8 = CallByName List.8 Test.278 Test.279;
|
||||
let Test.277 : U8 = 32i64;
|
||||
let Test.275 : List U8 = CallByName List.4 Test.276 Test.277;
|
||||
ret Test.275;
|
||||
|
||||
procedure TotallyNotJson.25 (TotallyNotJson.149):
|
||||
let TotallyNotJson.1017 : Str = CallByName Encode.23 TotallyNotJson.149;
|
||||
ret TotallyNotJson.1017;
|
||||
procedure Test.67 (Test.68, Test.261, Test.66):
|
||||
let Test.289 : I64 = 114i64;
|
||||
let Test.290 : U64 = CallByName List.6 Test.66;
|
||||
let Test.69 : List U8 = CallByName Test.3 Test.68 Test.289 Test.290;
|
||||
let Test.264 : {} = Struct {};
|
||||
let Test.263 : List U8 = CallByName List.18 Test.66 Test.69 Test.264;
|
||||
ret Test.263;
|
||||
|
||||
procedure TotallyNotJson.26 (TotallyNotJson.152):
|
||||
let TotallyNotJson.153 : List U8 = CallByName Str.12 TotallyNotJson.152;
|
||||
let TotallyNotJson.1099 : U64 = 0i64;
|
||||
let TotallyNotJson.1100 : Int1 = true;
|
||||
let TotallyNotJson.154 : {U64, Int1} = Struct {TotallyNotJson.1099, TotallyNotJson.1100};
|
||||
let TotallyNotJson.1069 : {} = Struct {};
|
||||
inc TotallyNotJson.153;
|
||||
let TotallyNotJson.155 : {U64, Int1} = CallByName List.26 TotallyNotJson.153 TotallyNotJson.154 TotallyNotJson.1069;
|
||||
let TotallyNotJson.1023 : Int1 = StructAtIndex 1 TotallyNotJson.155;
|
||||
let TotallyNotJson.1067 : Int1 = true;
|
||||
let TotallyNotJson.1068 : Int1 = lowlevel Eq TotallyNotJson.1067 TotallyNotJson.1023;
|
||||
if TotallyNotJson.1068 then
|
||||
let TotallyNotJson.1033 : U64 = CallByName List.6 TotallyNotJson.153;
|
||||
let TotallyNotJson.1034 : U64 = 2i64;
|
||||
let TotallyNotJson.1032 : U64 = CallByName Num.19 TotallyNotJson.1033 TotallyNotJson.1034;
|
||||
let TotallyNotJson.1029 : List U8 = CallByName List.68 TotallyNotJson.1032;
|
||||
let TotallyNotJson.1031 : U8 = 34i64;
|
||||
let TotallyNotJson.1030 : List U8 = Array [TotallyNotJson.1031];
|
||||
let TotallyNotJson.1028 : List U8 = CallByName List.8 TotallyNotJson.1029 TotallyNotJson.1030;
|
||||
let TotallyNotJson.1025 : List U8 = CallByName List.8 TotallyNotJson.1028 TotallyNotJson.153;
|
||||
let TotallyNotJson.1027 : U8 = 34i64;
|
||||
let TotallyNotJson.1026 : List U8 = Array [TotallyNotJson.1027];
|
||||
let TotallyNotJson.1024 : List U8 = CallByName List.8 TotallyNotJson.1025 TotallyNotJson.1026;
|
||||
ret TotallyNotJson.1024;
|
||||
else
|
||||
inc TotallyNotJson.153;
|
||||
let TotallyNotJson.1066 : U64 = StructAtIndex 0 TotallyNotJson.155;
|
||||
let TotallyNotJson.1065 : {List U8, List U8} = CallByName List.52 TotallyNotJson.153 TotallyNotJson.1066;
|
||||
let TotallyNotJson.179 : List U8 = StructAtIndex 0 TotallyNotJson.1065;
|
||||
let TotallyNotJson.181 : List U8 = StructAtIndex 1 TotallyNotJson.1065;
|
||||
let TotallyNotJson.1063 : U64 = CallByName List.6 TotallyNotJson.153;
|
||||
dec TotallyNotJson.153;
|
||||
let TotallyNotJson.1064 : U64 = 120i64;
|
||||
let TotallyNotJson.1061 : U64 = CallByName Num.21 TotallyNotJson.1063 TotallyNotJson.1064;
|
||||
let TotallyNotJson.1062 : U64 = 100i64;
|
||||
let TotallyNotJson.1060 : U64 = CallByName Num.137 TotallyNotJson.1061 TotallyNotJson.1062;
|
||||
let TotallyNotJson.1057 : List U8 = CallByName List.68 TotallyNotJson.1060;
|
||||
let TotallyNotJson.1059 : U8 = 34i64;
|
||||
let TotallyNotJson.1058 : List U8 = Array [TotallyNotJson.1059];
|
||||
let TotallyNotJson.1056 : List U8 = CallByName List.8 TotallyNotJson.1057 TotallyNotJson.1058;
|
||||
let TotallyNotJson.182 : List U8 = CallByName List.8 TotallyNotJson.1056 TotallyNotJson.179;
|
||||
let TotallyNotJson.1039 : {} = Struct {};
|
||||
let TotallyNotJson.1036 : List U8 = CallByName List.18 TotallyNotJson.181 TotallyNotJson.182 TotallyNotJson.1039;
|
||||
let TotallyNotJson.1038 : U8 = 34i64;
|
||||
let TotallyNotJson.1037 : List U8 = Array [TotallyNotJson.1038];
|
||||
let TotallyNotJson.1035 : List U8 = CallByName List.8 TotallyNotJson.1036 TotallyNotJson.1037;
|
||||
ret TotallyNotJson.1035;
|
||||
|
||||
procedure TotallyNotJson.27 (TotallyNotJson.186):
|
||||
switch TotallyNotJson.186:
|
||||
case 34:
|
||||
let TotallyNotJson.1042 : List U8 = Array [92i64, 34i64];
|
||||
ret TotallyNotJson.1042;
|
||||
|
||||
case 92:
|
||||
let TotallyNotJson.1043 : List U8 = Array [92i64, 92i64];
|
||||
ret TotallyNotJson.1043;
|
||||
|
||||
case 47:
|
||||
let TotallyNotJson.1044 : List U8 = Array [92i64, 47i64];
|
||||
ret TotallyNotJson.1044;
|
||||
|
||||
case 8:
|
||||
let TotallyNotJson.1046 : U8 = 98i64;
|
||||
let TotallyNotJson.1045 : List U8 = Array [92i64, TotallyNotJson.1046];
|
||||
ret TotallyNotJson.1045;
|
||||
|
||||
case 12:
|
||||
let TotallyNotJson.1048 : U8 = 102i64;
|
||||
let TotallyNotJson.1047 : List U8 = Array [92i64, TotallyNotJson.1048];
|
||||
ret TotallyNotJson.1047;
|
||||
|
||||
case 10:
|
||||
let TotallyNotJson.1050 : U8 = 110i64;
|
||||
let TotallyNotJson.1049 : List U8 = Array [92i64, TotallyNotJson.1050];
|
||||
ret TotallyNotJson.1049;
|
||||
|
||||
case 13:
|
||||
let TotallyNotJson.1052 : U8 = 114i64;
|
||||
let TotallyNotJson.1051 : List U8 = Array [92i64, TotallyNotJson.1052];
|
||||
ret TotallyNotJson.1051;
|
||||
|
||||
case 9:
|
||||
let TotallyNotJson.1054 : U8 = 114i64;
|
||||
let TotallyNotJson.1053 : List U8 = Array [92i64, TotallyNotJson.1054];
|
||||
ret TotallyNotJson.1053;
|
||||
|
||||
default:
|
||||
let TotallyNotJson.1055 : List U8 = Array [TotallyNotJson.186];
|
||||
ret TotallyNotJson.1055;
|
||||
|
||||
|
||||
procedure TotallyNotJson.29 (TotallyNotJson.201):
|
||||
let TotallyNotJson.974 : List {Str, Str} = CallByName Encode.23 TotallyNotJson.201;
|
||||
ret TotallyNotJson.974;
|
||||
|
||||
procedure TotallyNotJson.8 ():
|
||||
let TotallyNotJson.1013 : {} = Struct {};
|
||||
ret TotallyNotJson.1013;
|
||||
procedure Test.70 (Test.71, Test.265):
|
||||
let Test.72 : Str = StructAtIndex 0 Test.265;
|
||||
let Test.73 : Str = StructAtIndex 1 Test.265;
|
||||
let Test.269 : Str = CallByName Test.19 Test.72;
|
||||
let Test.270 : {} = Struct {};
|
||||
let Test.267 : List U8 = CallByName Encode.24 Test.71 Test.269 Test.270;
|
||||
let Test.268 : {} = Struct {};
|
||||
let Test.266 : List U8 = CallByName Encode.24 Test.267 Test.73 Test.268;
|
||||
ret Test.266;
|
||||
|
||||
procedure Test.0 ():
|
||||
let Test.11 : Str = "foo";
|
||||
let Test.10 : {} = CallByName TotallyNotJson.8;
|
||||
let Test.8 : List U8 = CallByName Encode.26 Test.11 Test.10;
|
||||
let Test.1 : [C {U64, U8}, C Str] = CallByName Str.9 Test.8;
|
||||
let Test.5 : U8 = 1i64;
|
||||
let Test.6 : U8 = GetTagId Test.1;
|
||||
let Test.7 : Int1 = lowlevel Eq Test.5 Test.6;
|
||||
if Test.7 then
|
||||
let Test.2 : Str = UnionAtIndex (Id 1) (Index 0) Test.1;
|
||||
ret Test.2;
|
||||
let Test.258 : Str = "foo";
|
||||
let Test.256 : {} = CallByName Test.2;
|
||||
let Test.254 : List U8 = CallByName Encode.26 Test.258 Test.256;
|
||||
let Test.209 : [C {U64, U8}, C Str] = CallByName Str.9 Test.254;
|
||||
let Test.251 : U8 = 1i64;
|
||||
let Test.252 : U8 = GetTagId Test.209;
|
||||
let Test.253 : Int1 = lowlevel Eq Test.251 Test.252;
|
||||
if Test.253 then
|
||||
let Test.210 : Str = UnionAtIndex (Id 1) (Index 0) Test.209;
|
||||
ret Test.210;
|
||||
else
|
||||
dec Test.1;
|
||||
let Test.4 : Str = "<bad>";
|
||||
ret Test.4;
|
||||
dec Test.209;
|
||||
let Test.250 : Str = "<bad>";
|
||||
ret Test.250;
|
||||
|
|
|
@ -6,22 +6,18 @@ procedure #Derived.2 (#Derived.3, #Derived.4, #Derived.1):
|
|||
let #Derived_gen.11 : Str = "a";
|
||||
let #Derived_gen.13 : Str = StructAtIndex 0 #Derived.1;
|
||||
inc #Derived_gen.13;
|
||||
let #Derived_gen.12 : Str = CallByName TotallyNotJson.25 #Derived_gen.13;
|
||||
let #Derived_gen.12 : Str = CallByName Test.19 #Derived_gen.13;
|
||||
let #Derived_gen.6 : {Str, Str} = Struct {#Derived_gen.11, #Derived_gen.12};
|
||||
let #Derived_gen.8 : Str = "b";
|
||||
let #Derived_gen.10 : Str = StructAtIndex 1 #Derived.1;
|
||||
dec #Derived_gen.13;
|
||||
let #Derived_gen.9 : Str = CallByName TotallyNotJson.25 #Derived_gen.10;
|
||||
let #Derived_gen.9 : Str = CallByName Test.19 #Derived_gen.10;
|
||||
let #Derived_gen.7 : {Str, Str} = Struct {#Derived_gen.8, #Derived_gen.9};
|
||||
let #Derived_gen.5 : List {Str, Str} = Array [#Derived_gen.6, #Derived_gen.7];
|
||||
let #Derived_gen.4 : List {Str, Str} = CallByName TotallyNotJson.29 #Derived_gen.5;
|
||||
let #Derived_gen.4 : List {Str, Str} = CallByName Test.21 #Derived_gen.5;
|
||||
let #Derived_gen.3 : List U8 = CallByName Encode.24 #Derived.3 #Derived_gen.4 #Derived.4;
|
||||
ret #Derived_gen.3;
|
||||
|
||||
procedure Bool.11 (#Attr.2, #Attr.3):
|
||||
let Bool.23 : Int1 = lowlevel Eq #Attr.2 #Attr.3;
|
||||
ret Bool.23;
|
||||
|
||||
procedure Encode.23 (Encode.98):
|
||||
ret Encode.98;
|
||||
|
||||
|
@ -36,12 +32,12 @@ procedure Encode.24 (Encode.99, Encode.107, Encode.101):
|
|||
ret Encode.111;
|
||||
|
||||
procedure Encode.24 (Encode.99, Encode.107, Encode.101):
|
||||
let Encode.113 : List U8 = CallByName TotallyNotJson.202 Encode.99 Encode.101 Encode.107;
|
||||
let Encode.113 : List U8 = CallByName Test.67 Encode.99 Encode.101 Encode.107;
|
||||
ret Encode.113;
|
||||
|
||||
procedure Encode.24 (Encode.99, Encode.107, Encode.101):
|
||||
let Encode.117 : List U8 = CallByName TotallyNotJson.150 Encode.99 Encode.101 Encode.107;
|
||||
ret Encode.117;
|
||||
let Encode.119 : List U8 = CallByName Test.56 Encode.99 Encode.101 Encode.107;
|
||||
ret Encode.119;
|
||||
|
||||
procedure Encode.26 (Encode.105, Encode.106):
|
||||
let Encode.109 : List U8 = Array [];
|
||||
|
@ -49,200 +45,78 @@ procedure Encode.26 (Encode.105, Encode.106):
|
|||
let Encode.108 : List U8 = CallByName Encode.24 Encode.109 Encode.110 Encode.106;
|
||||
ret Encode.108;
|
||||
|
||||
procedure List.104 (List.488, List.489, List.490):
|
||||
let List.652 : U64 = 0i64;
|
||||
let List.653 : U64 = CallByName List.6 List.488;
|
||||
let List.651 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.80 List.488 List.489 List.490 List.652 List.653;
|
||||
ret List.651;
|
||||
|
||||
procedure List.18 (List.160, List.161, List.162):
|
||||
let List.595 : U64 = 0i64;
|
||||
let List.596 : U64 = CallByName List.6 List.160;
|
||||
let List.594 : {List U8, U64} = CallByName List.92 List.160 List.161 List.162 List.595 List.596;
|
||||
ret List.594;
|
||||
|
||||
procedure List.18 (List.160, List.161, List.162):
|
||||
let List.607 : U64 = 0i64;
|
||||
let List.608 : U64 = CallByName List.6 List.160;
|
||||
let List.606 : List U8 = CallByName List.92 List.160 List.161 List.162 List.607 List.608;
|
||||
ret List.606;
|
||||
|
||||
procedure List.26 (List.201, List.202, List.203):
|
||||
let List.645 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.104 List.201 List.202 List.203;
|
||||
let List.648 : U8 = 1i64;
|
||||
let List.649 : U8 = GetTagId List.645;
|
||||
let List.650 : Int1 = lowlevel Eq List.648 List.649;
|
||||
if List.650 then
|
||||
let List.204 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.645;
|
||||
ret List.204;
|
||||
else
|
||||
let List.205 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.645;
|
||||
ret List.205;
|
||||
let List.575 : U64 = 0i64;
|
||||
let List.576 : U64 = CallByName List.6 List.160;
|
||||
let List.574 : List U8 = CallByName List.92 List.160 List.161 List.162 List.575 List.576;
|
||||
ret List.574;
|
||||
|
||||
procedure List.4 (List.124, List.125):
|
||||
let List.593 : U64 = 1i64;
|
||||
let List.592 : List U8 = CallByName List.70 List.124 List.593;
|
||||
let List.591 : List U8 = CallByName List.71 List.592 List.125;
|
||||
ret List.591;
|
||||
|
||||
procedure List.49 (List.420, List.421):
|
||||
let List.636 : U64 = StructAtIndex 1 List.421;
|
||||
let List.637 : U64 = StructAtIndex 0 List.421;
|
||||
let List.635 : List U8 = CallByName List.72 List.420 List.636 List.637;
|
||||
ret List.635;
|
||||
|
||||
procedure List.52 (List.435, List.436):
|
||||
let List.437 : U64 = CallByName List.6 List.435;
|
||||
joinpoint List.643 List.438:
|
||||
let List.641 : U64 = 0i64;
|
||||
let List.640 : {U64, U64} = Struct {List.438, List.641};
|
||||
inc List.435;
|
||||
let List.439 : List U8 = CallByName List.49 List.435 List.640;
|
||||
let List.639 : U64 = CallByName Num.75 List.437 List.438;
|
||||
let List.634 : {U64, U64} = Struct {List.639, List.438};
|
||||
let List.440 : List U8 = CallByName List.49 List.435 List.634;
|
||||
let List.633 : {List U8, List U8} = Struct {List.439, List.440};
|
||||
ret List.633;
|
||||
in
|
||||
let List.644 : Int1 = CallByName Num.24 List.437 List.436;
|
||||
if List.644 then
|
||||
jump List.643 List.436;
|
||||
else
|
||||
jump List.643 List.437;
|
||||
let List.596 : U64 = 1i64;
|
||||
let List.595 : List U8 = CallByName List.70 List.124 List.596;
|
||||
let List.594 : List U8 = CallByName List.71 List.595 List.125;
|
||||
ret List.594;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.628 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.628;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.630 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.630;
|
||||
let List.599 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.599;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.604 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.604;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.616 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.616;
|
||||
|
||||
procedure List.68 (#Attr.2):
|
||||
let List.632 : List U8 = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.632;
|
||||
let List.584 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.584;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.578 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.578;
|
||||
let List.590 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.590;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.576 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.576;
|
||||
|
||||
procedure List.72 (#Attr.2, #Attr.3, #Attr.4):
|
||||
let List.638 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.638;
|
||||
let List.588 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.588;
|
||||
|
||||
procedure List.8 (#Attr.2, #Attr.3):
|
||||
let List.627 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.627;
|
||||
let List.598 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.598;
|
||||
|
||||
procedure List.80 (#Derived_gen.17, #Derived_gen.18, #Derived_gen.19, #Derived_gen.20, #Derived_gen.21):
|
||||
joinpoint List.654 List.491 List.492 List.493 List.494 List.495:
|
||||
let List.656 : Int1 = CallByName Num.22 List.494 List.495;
|
||||
if List.656 then
|
||||
let List.665 : U8 = CallByName List.66 List.491 List.494;
|
||||
let List.657 : [C {U64, Int1}, C {U64, Int1}] = CallByName TotallyNotJson.157 List.492 List.665;
|
||||
let List.662 : U8 = 1i64;
|
||||
let List.663 : U8 = GetTagId List.657;
|
||||
let List.664 : Int1 = lowlevel Eq List.662 List.663;
|
||||
if List.664 then
|
||||
let List.496 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.657;
|
||||
let List.660 : U64 = 1i64;
|
||||
let List.659 : U64 = CallByName Num.51 List.494 List.660;
|
||||
jump List.654 List.491 List.496 List.493 List.659 List.495;
|
||||
else
|
||||
dec List.491;
|
||||
let List.497 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.657;
|
||||
let List.661 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) List.497;
|
||||
ret List.661;
|
||||
else
|
||||
dec List.491;
|
||||
let List.655 : [C {U64, Int1}, C {U64, Int1}] = TagId(1) List.492;
|
||||
ret List.655;
|
||||
in
|
||||
jump List.654 #Derived_gen.17 #Derived_gen.18 #Derived_gen.19 #Derived_gen.20 #Derived_gen.21;
|
||||
|
||||
procedure List.92 (#Derived_gen.28, #Derived_gen.29, #Derived_gen.30, #Derived_gen.31, #Derived_gen.32):
|
||||
joinpoint List.597 List.163 List.164 List.165 List.166 List.167:
|
||||
let List.599 : Int1 = CallByName Num.22 List.166 List.167;
|
||||
if List.599 then
|
||||
let List.603 : {Str, Str} = CallByName List.66 List.163 List.166;
|
||||
inc List.603;
|
||||
let List.168 : {List U8, U64} = CallByName TotallyNotJson.204 List.164 List.603;
|
||||
let List.602 : U64 = 1i64;
|
||||
let List.601 : U64 = CallByName Num.51 List.166 List.602;
|
||||
jump List.597 List.163 List.168 List.165 List.601 List.167;
|
||||
procedure List.92 (#Derived_gen.17, #Derived_gen.18, #Derived_gen.19, #Derived_gen.20, #Derived_gen.21):
|
||||
joinpoint List.577 List.163 List.164 List.165 List.166 List.167:
|
||||
let List.579 : Int1 = CallByName Num.22 List.166 List.167;
|
||||
if List.579 then
|
||||
let List.583 : {Str, Str} = CallByName List.66 List.163 List.166;
|
||||
inc List.583;
|
||||
let List.168 : List U8 = CallByName Test.70 List.164 List.583;
|
||||
let List.582 : U64 = 1i64;
|
||||
let List.581 : U64 = CallByName Num.51 List.166 List.582;
|
||||
jump List.577 List.163 List.168 List.165 List.581 List.167;
|
||||
else
|
||||
dec List.163;
|
||||
ret List.164;
|
||||
in
|
||||
jump List.597 #Derived_gen.28 #Derived_gen.29 #Derived_gen.30 #Derived_gen.31 #Derived_gen.32;
|
||||
|
||||
procedure List.92 (#Derived_gen.33, #Derived_gen.34, #Derived_gen.35, #Derived_gen.36, #Derived_gen.37):
|
||||
joinpoint List.609 List.163 List.164 List.165 List.166 List.167:
|
||||
let List.611 : Int1 = CallByName Num.22 List.166 List.167;
|
||||
if List.611 then
|
||||
let List.615 : U8 = CallByName List.66 List.163 List.166;
|
||||
let List.168 : List U8 = CallByName TotallyNotJson.183 List.164 List.615;
|
||||
let List.614 : U64 = 1i64;
|
||||
let List.613 : U64 = CallByName Num.51 List.166 List.614;
|
||||
jump List.609 List.163 List.168 List.165 List.613 List.167;
|
||||
else
|
||||
dec List.163;
|
||||
ret List.164;
|
||||
in
|
||||
jump List.609 #Derived_gen.33 #Derived_gen.34 #Derived_gen.35 #Derived_gen.36 #Derived_gen.37;
|
||||
jump List.577 #Derived_gen.17 #Derived_gen.18 #Derived_gen.19 #Derived_gen.20 #Derived_gen.21;
|
||||
|
||||
procedure Num.127 (#Attr.2):
|
||||
let Num.284 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
ret Num.284;
|
||||
|
||||
procedure Num.137 (#Attr.2, #Attr.3):
|
||||
let Num.290 : U64 = lowlevel NumDivCeilUnchecked #Attr.2 #Attr.3;
|
||||
ret Num.290;
|
||||
|
||||
procedure Num.19 (#Attr.2, #Attr.3):
|
||||
let Num.289 : U64 = lowlevel NumAdd #Attr.2 #Attr.3;
|
||||
ret Num.289;
|
||||
|
||||
procedure Num.20 (#Attr.2, #Attr.3):
|
||||
let Num.286 : U64 = lowlevel NumSub #Attr.2 #Attr.3;
|
||||
ret Num.286;
|
||||
|
||||
procedure Num.21 (#Attr.2, #Attr.3):
|
||||
let Num.291 : U64 = lowlevel NumMul #Attr.2 #Attr.3;
|
||||
ret Num.291;
|
||||
let Num.280 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
ret Num.280;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.297 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
ret Num.297;
|
||||
|
||||
procedure Num.24 (#Attr.2, #Attr.3):
|
||||
let Num.299 : Int1 = lowlevel NumGt #Attr.2 #Attr.3;
|
||||
ret Num.299;
|
||||
let Num.282 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
ret Num.282;
|
||||
|
||||
procedure Num.51 (#Attr.2, #Attr.3):
|
||||
let Num.294 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
|
||||
ret Num.294;
|
||||
let Num.281 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
|
||||
ret Num.281;
|
||||
|
||||
procedure Num.75 (#Attr.2, #Attr.3):
|
||||
let Num.298 : U64 = lowlevel NumSubWrap #Attr.2 #Attr.3;
|
||||
ret Num.298;
|
||||
procedure Num.96 (#Attr.2):
|
||||
let Num.279 : Str = lowlevel NumToStr #Attr.2;
|
||||
ret Num.279;
|
||||
|
||||
procedure Str.12 (#Attr.2):
|
||||
let Str.241 : List U8 = lowlevel StrToUtf8 #Attr.2;
|
||||
ret Str.241;
|
||||
|
||||
procedure Str.36 (#Attr.2):
|
||||
let Str.242 : U64 = lowlevel StrCountUtf8Bytes #Attr.2;
|
||||
ret Str.242;
|
||||
|
||||
procedure Str.43 (#Attr.2):
|
||||
let Str.239 : {U64, Str, Int1, U8} = lowlevel StrFromUtf8 #Attr.2;
|
||||
ret Str.239;
|
||||
|
@ -257,261 +131,76 @@ procedure Str.9 (Str.67):
|
|||
else
|
||||
let Str.234 : U8 = StructAtIndex 3 Str.68;
|
||||
let Str.235 : U64 = StructAtIndex 0 Str.68;
|
||||
let #Derived_gen.38 : Str = StructAtIndex 1 Str.68;
|
||||
dec #Derived_gen.38;
|
||||
let #Derived_gen.28 : Str = StructAtIndex 1 Str.68;
|
||||
dec #Derived_gen.28;
|
||||
let Str.233 : {U64, U8} = Struct {Str.235, Str.234};
|
||||
let Str.232 : [C {U64, U8}, C Str] = TagId(0) Str.233;
|
||||
ret Str.232;
|
||||
|
||||
procedure TotallyNotJson.150 (TotallyNotJson.151, TotallyNotJson.1019, TotallyNotJson.149):
|
||||
let TotallyNotJson.1022 : List U8 = CallByName TotallyNotJson.26 TotallyNotJson.149;
|
||||
let TotallyNotJson.1021 : List U8 = CallByName List.8 TotallyNotJson.151 TotallyNotJson.1022;
|
||||
ret TotallyNotJson.1021;
|
||||
procedure Test.19 (Test.55):
|
||||
let Test.295 : Str = CallByName Encode.23 Test.55;
|
||||
ret Test.295;
|
||||
|
||||
procedure TotallyNotJson.157 (TotallyNotJson.1070, TotallyNotJson.160):
|
||||
let TotallyNotJson.158 : U64 = StructAtIndex 0 TotallyNotJson.1070;
|
||||
let TotallyNotJson.159 : Int1 = StructAtIndex 1 TotallyNotJson.1070;
|
||||
switch TotallyNotJson.160:
|
||||
case 34:
|
||||
let TotallyNotJson.1073 : Int1 = false;
|
||||
let TotallyNotJson.1072 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1073};
|
||||
let TotallyNotJson.1071 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1072;
|
||||
ret TotallyNotJson.1071;
|
||||
|
||||
case 92:
|
||||
let TotallyNotJson.1076 : Int1 = false;
|
||||
let TotallyNotJson.1075 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1076};
|
||||
let TotallyNotJson.1074 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1075;
|
||||
ret TotallyNotJson.1074;
|
||||
|
||||
case 47:
|
||||
let TotallyNotJson.1079 : Int1 = false;
|
||||
let TotallyNotJson.1078 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1079};
|
||||
let TotallyNotJson.1077 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1078;
|
||||
ret TotallyNotJson.1077;
|
||||
|
||||
case 8:
|
||||
let TotallyNotJson.1082 : Int1 = false;
|
||||
let TotallyNotJson.1081 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1082};
|
||||
let TotallyNotJson.1080 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1081;
|
||||
ret TotallyNotJson.1080;
|
||||
|
||||
case 12:
|
||||
let TotallyNotJson.1085 : Int1 = false;
|
||||
let TotallyNotJson.1084 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1085};
|
||||
let TotallyNotJson.1083 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1084;
|
||||
ret TotallyNotJson.1083;
|
||||
|
||||
case 10:
|
||||
let TotallyNotJson.1088 : Int1 = false;
|
||||
let TotallyNotJson.1087 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1088};
|
||||
let TotallyNotJson.1086 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1087;
|
||||
ret TotallyNotJson.1086;
|
||||
|
||||
case 13:
|
||||
let TotallyNotJson.1091 : Int1 = false;
|
||||
let TotallyNotJson.1090 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1091};
|
||||
let TotallyNotJson.1089 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1090;
|
||||
ret TotallyNotJson.1089;
|
||||
|
||||
case 9:
|
||||
let TotallyNotJson.1094 : Int1 = false;
|
||||
let TotallyNotJson.1093 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1094};
|
||||
let TotallyNotJson.1092 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1093;
|
||||
ret TotallyNotJson.1092;
|
||||
|
||||
default:
|
||||
let TotallyNotJson.1098 : U64 = 1i64;
|
||||
let TotallyNotJson.1097 : U64 = CallByName Num.19 TotallyNotJson.158 TotallyNotJson.1098;
|
||||
let TotallyNotJson.1096 : {U64, Int1} = Struct {TotallyNotJson.1097, TotallyNotJson.159};
|
||||
let TotallyNotJson.1095 : [C {U64, Int1}, C {U64, Int1}] = TagId(1) TotallyNotJson.1096;
|
||||
ret TotallyNotJson.1095;
|
||||
|
||||
procedure Test.2 ():
|
||||
let Test.257 : {} = Struct {};
|
||||
ret Test.257;
|
||||
|
||||
procedure TotallyNotJson.183 (TotallyNotJson.184, TotallyNotJson.185):
|
||||
let TotallyNotJson.1041 : List U8 = CallByName TotallyNotJson.27 TotallyNotJson.185;
|
||||
let TotallyNotJson.1040 : List U8 = CallByName List.8 TotallyNotJson.184 TotallyNotJson.1041;
|
||||
ret TotallyNotJson.1040;
|
||||
procedure Test.21 (Test.66):
|
||||
let Test.260 : List {Str, Str} = CallByName Encode.23 Test.66;
|
||||
ret Test.260;
|
||||
|
||||
procedure TotallyNotJson.202 (TotallyNotJson.203, TotallyNotJson.976, TotallyNotJson.201):
|
||||
let TotallyNotJson.1016 : I64 = 123i64;
|
||||
let TotallyNotJson.1015 : U8 = CallByName Num.127 TotallyNotJson.1016;
|
||||
let TotallyNotJson.205 : List U8 = CallByName List.4 TotallyNotJson.203 TotallyNotJson.1015;
|
||||
let TotallyNotJson.1014 : U64 = CallByName List.6 TotallyNotJson.201;
|
||||
let TotallyNotJson.984 : {List U8, U64} = Struct {TotallyNotJson.205, TotallyNotJson.1014};
|
||||
let TotallyNotJson.985 : {} = Struct {};
|
||||
let TotallyNotJson.983 : {List U8, U64} = CallByName List.18 TotallyNotJson.201 TotallyNotJson.984 TotallyNotJson.985;
|
||||
let TotallyNotJson.207 : List U8 = StructAtIndex 0 TotallyNotJson.983;
|
||||
let TotallyNotJson.982 : I64 = 125i64;
|
||||
let TotallyNotJson.981 : U8 = CallByName Num.127 TotallyNotJson.982;
|
||||
let TotallyNotJson.980 : List U8 = CallByName List.4 TotallyNotJson.207 TotallyNotJson.981;
|
||||
ret TotallyNotJson.980;
|
||||
procedure Test.3 (Test.48, Test.49, Test.50):
|
||||
let Test.289 : U8 = CallByName Num.127 Test.49;
|
||||
let Test.286 : List U8 = CallByName List.4 Test.48 Test.289;
|
||||
let Test.288 : Str = CallByName Num.96 Test.50;
|
||||
let Test.287 : List U8 = CallByName Str.12 Test.288;
|
||||
let Test.284 : List U8 = CallByName List.8 Test.286 Test.287;
|
||||
let Test.285 : U8 = 32i64;
|
||||
let Test.283 : List U8 = CallByName List.4 Test.284 Test.285;
|
||||
ret Test.283;
|
||||
|
||||
procedure TotallyNotJson.204 (TotallyNotJson.978, TotallyNotJson.979):
|
||||
let TotallyNotJson.210 : Str = StructAtIndex 0 TotallyNotJson.979;
|
||||
let TotallyNotJson.211 : Str = StructAtIndex 1 TotallyNotJson.979;
|
||||
let TotallyNotJson.208 : List U8 = StructAtIndex 0 TotallyNotJson.978;
|
||||
let TotallyNotJson.209 : U64 = StructAtIndex 1 TotallyNotJson.978;
|
||||
let TotallyNotJson.1011 : List U8 = Array [];
|
||||
let TotallyNotJson.1012 : {} = CallByName TotallyNotJson.8;
|
||||
let TotallyNotJson.212 : List U8 = CallByName Encode.24 TotallyNotJson.1011 TotallyNotJson.211 TotallyNotJson.1012;
|
||||
let TotallyNotJson.1010 : List U8 = Array [];
|
||||
let TotallyNotJson.1006 : Int1 = CallByName Bool.11 TotallyNotJson.212 TotallyNotJson.1010;
|
||||
dec TotallyNotJson.1010;
|
||||
if TotallyNotJson.1006 then
|
||||
dec TotallyNotJson.210;
|
||||
dec TotallyNotJson.212;
|
||||
let TotallyNotJson.1009 : U64 = 1i64;
|
||||
let TotallyNotJson.1008 : U64 = CallByName Num.20 TotallyNotJson.209 TotallyNotJson.1009;
|
||||
let TotallyNotJson.1007 : {List U8, U64} = Struct {TotallyNotJson.208, TotallyNotJson.1008};
|
||||
ret TotallyNotJson.1007;
|
||||
else
|
||||
let TotallyNotJson.1005 : I64 = 34i64;
|
||||
let TotallyNotJson.1004 : U8 = CallByName Num.127 TotallyNotJson.1005;
|
||||
let TotallyNotJson.1002 : List U8 = CallByName List.4 TotallyNotJson.208 TotallyNotJson.1004;
|
||||
let TotallyNotJson.1003 : List U8 = CallByName Str.12 TotallyNotJson.210;
|
||||
let TotallyNotJson.999 : List U8 = CallByName List.8 TotallyNotJson.1002 TotallyNotJson.1003;
|
||||
let TotallyNotJson.1001 : I64 = 34i64;
|
||||
let TotallyNotJson.1000 : U8 = CallByName Num.127 TotallyNotJson.1001;
|
||||
let TotallyNotJson.996 : List U8 = CallByName List.4 TotallyNotJson.999 TotallyNotJson.1000;
|
||||
let TotallyNotJson.998 : I64 = 58i64;
|
||||
let TotallyNotJson.997 : U8 = CallByName Num.127 TotallyNotJson.998;
|
||||
let TotallyNotJson.995 : List U8 = CallByName List.4 TotallyNotJson.996 TotallyNotJson.997;
|
||||
let TotallyNotJson.214 : List U8 = CallByName List.8 TotallyNotJson.995 TotallyNotJson.212;
|
||||
joinpoint TotallyNotJson.990 TotallyNotJson.215:
|
||||
let TotallyNotJson.988 : U64 = 1i64;
|
||||
let TotallyNotJson.987 : U64 = CallByName Num.20 TotallyNotJson.209 TotallyNotJson.988;
|
||||
let TotallyNotJson.986 : {List U8, U64} = Struct {TotallyNotJson.215, TotallyNotJson.987};
|
||||
ret TotallyNotJson.986;
|
||||
in
|
||||
let TotallyNotJson.994 : U64 = 1i64;
|
||||
let TotallyNotJson.991 : Int1 = CallByName Num.24 TotallyNotJson.209 TotallyNotJson.994;
|
||||
if TotallyNotJson.991 then
|
||||
let TotallyNotJson.993 : I64 = 44i64;
|
||||
let TotallyNotJson.992 : U8 = CallByName Num.127 TotallyNotJson.993;
|
||||
let TotallyNotJson.989 : List U8 = CallByName List.4 TotallyNotJson.214 TotallyNotJson.992;
|
||||
jump TotallyNotJson.990 TotallyNotJson.989;
|
||||
else
|
||||
jump TotallyNotJson.990 TotallyNotJson.214;
|
||||
procedure Test.56 (Test.57, Test.274, Test.55):
|
||||
let Test.281 : I64 = 115i64;
|
||||
let Test.282 : U64 = CallByName Str.36 Test.55;
|
||||
let Test.279 : List U8 = CallByName Test.3 Test.57 Test.281 Test.282;
|
||||
let Test.280 : List U8 = CallByName Str.12 Test.55;
|
||||
let Test.277 : List U8 = CallByName List.8 Test.279 Test.280;
|
||||
let Test.278 : U8 = 32i64;
|
||||
let Test.276 : List U8 = CallByName List.4 Test.277 Test.278;
|
||||
ret Test.276;
|
||||
|
||||
procedure TotallyNotJson.25 (TotallyNotJson.149):
|
||||
let TotallyNotJson.1101 : Str = CallByName Encode.23 TotallyNotJson.149;
|
||||
ret TotallyNotJson.1101;
|
||||
procedure Test.67 (Test.68, Test.262, Test.66):
|
||||
let Test.290 : I64 = 114i64;
|
||||
let Test.291 : U64 = CallByName List.6 Test.66;
|
||||
let Test.69 : List U8 = CallByName Test.3 Test.68 Test.290 Test.291;
|
||||
let Test.265 : {} = Struct {};
|
||||
let Test.264 : List U8 = CallByName List.18 Test.66 Test.69 Test.265;
|
||||
ret Test.264;
|
||||
|
||||
procedure TotallyNotJson.26 (TotallyNotJson.152):
|
||||
let TotallyNotJson.153 : List U8 = CallByName Str.12 TotallyNotJson.152;
|
||||
let TotallyNotJson.1099 : U64 = 0i64;
|
||||
let TotallyNotJson.1100 : Int1 = true;
|
||||
let TotallyNotJson.154 : {U64, Int1} = Struct {TotallyNotJson.1099, TotallyNotJson.1100};
|
||||
let TotallyNotJson.1069 : {} = Struct {};
|
||||
inc TotallyNotJson.153;
|
||||
let TotallyNotJson.155 : {U64, Int1} = CallByName List.26 TotallyNotJson.153 TotallyNotJson.154 TotallyNotJson.1069;
|
||||
let TotallyNotJson.1023 : Int1 = StructAtIndex 1 TotallyNotJson.155;
|
||||
let TotallyNotJson.1067 : Int1 = true;
|
||||
let TotallyNotJson.1068 : Int1 = lowlevel Eq TotallyNotJson.1067 TotallyNotJson.1023;
|
||||
if TotallyNotJson.1068 then
|
||||
let TotallyNotJson.1033 : U64 = CallByName List.6 TotallyNotJson.153;
|
||||
let TotallyNotJson.1034 : U64 = 2i64;
|
||||
let TotallyNotJson.1032 : U64 = CallByName Num.19 TotallyNotJson.1033 TotallyNotJson.1034;
|
||||
let TotallyNotJson.1029 : List U8 = CallByName List.68 TotallyNotJson.1032;
|
||||
let TotallyNotJson.1031 : U8 = 34i64;
|
||||
let TotallyNotJson.1030 : List U8 = Array [TotallyNotJson.1031];
|
||||
let TotallyNotJson.1028 : List U8 = CallByName List.8 TotallyNotJson.1029 TotallyNotJson.1030;
|
||||
let TotallyNotJson.1025 : List U8 = CallByName List.8 TotallyNotJson.1028 TotallyNotJson.153;
|
||||
let TotallyNotJson.1027 : U8 = 34i64;
|
||||
let TotallyNotJson.1026 : List U8 = Array [TotallyNotJson.1027];
|
||||
let TotallyNotJson.1024 : List U8 = CallByName List.8 TotallyNotJson.1025 TotallyNotJson.1026;
|
||||
ret TotallyNotJson.1024;
|
||||
else
|
||||
inc TotallyNotJson.153;
|
||||
let TotallyNotJson.1066 : U64 = StructAtIndex 0 TotallyNotJson.155;
|
||||
let TotallyNotJson.1065 : {List U8, List U8} = CallByName List.52 TotallyNotJson.153 TotallyNotJson.1066;
|
||||
let TotallyNotJson.179 : List U8 = StructAtIndex 0 TotallyNotJson.1065;
|
||||
let TotallyNotJson.181 : List U8 = StructAtIndex 1 TotallyNotJson.1065;
|
||||
let TotallyNotJson.1063 : U64 = CallByName List.6 TotallyNotJson.153;
|
||||
dec TotallyNotJson.153;
|
||||
let TotallyNotJson.1064 : U64 = 120i64;
|
||||
let TotallyNotJson.1061 : U64 = CallByName Num.21 TotallyNotJson.1063 TotallyNotJson.1064;
|
||||
let TotallyNotJson.1062 : U64 = 100i64;
|
||||
let TotallyNotJson.1060 : U64 = CallByName Num.137 TotallyNotJson.1061 TotallyNotJson.1062;
|
||||
let TotallyNotJson.1057 : List U8 = CallByName List.68 TotallyNotJson.1060;
|
||||
let TotallyNotJson.1059 : U8 = 34i64;
|
||||
let TotallyNotJson.1058 : List U8 = Array [TotallyNotJson.1059];
|
||||
let TotallyNotJson.1056 : List U8 = CallByName List.8 TotallyNotJson.1057 TotallyNotJson.1058;
|
||||
let TotallyNotJson.182 : List U8 = CallByName List.8 TotallyNotJson.1056 TotallyNotJson.179;
|
||||
let TotallyNotJson.1039 : {} = Struct {};
|
||||
let TotallyNotJson.1036 : List U8 = CallByName List.18 TotallyNotJson.181 TotallyNotJson.182 TotallyNotJson.1039;
|
||||
let TotallyNotJson.1038 : U8 = 34i64;
|
||||
let TotallyNotJson.1037 : List U8 = Array [TotallyNotJson.1038];
|
||||
let TotallyNotJson.1035 : List U8 = CallByName List.8 TotallyNotJson.1036 TotallyNotJson.1037;
|
||||
ret TotallyNotJson.1035;
|
||||
|
||||
procedure TotallyNotJson.27 (TotallyNotJson.186):
|
||||
switch TotallyNotJson.186:
|
||||
case 34:
|
||||
let TotallyNotJson.1042 : List U8 = Array [92i64, 34i64];
|
||||
ret TotallyNotJson.1042;
|
||||
|
||||
case 92:
|
||||
let TotallyNotJson.1043 : List U8 = Array [92i64, 92i64];
|
||||
ret TotallyNotJson.1043;
|
||||
|
||||
case 47:
|
||||
let TotallyNotJson.1044 : List U8 = Array [92i64, 47i64];
|
||||
ret TotallyNotJson.1044;
|
||||
|
||||
case 8:
|
||||
let TotallyNotJson.1046 : U8 = 98i64;
|
||||
let TotallyNotJson.1045 : List U8 = Array [92i64, TotallyNotJson.1046];
|
||||
ret TotallyNotJson.1045;
|
||||
|
||||
case 12:
|
||||
let TotallyNotJson.1048 : U8 = 102i64;
|
||||
let TotallyNotJson.1047 : List U8 = Array [92i64, TotallyNotJson.1048];
|
||||
ret TotallyNotJson.1047;
|
||||
|
||||
case 10:
|
||||
let TotallyNotJson.1050 : U8 = 110i64;
|
||||
let TotallyNotJson.1049 : List U8 = Array [92i64, TotallyNotJson.1050];
|
||||
ret TotallyNotJson.1049;
|
||||
|
||||
case 13:
|
||||
let TotallyNotJson.1052 : U8 = 114i64;
|
||||
let TotallyNotJson.1051 : List U8 = Array [92i64, TotallyNotJson.1052];
|
||||
ret TotallyNotJson.1051;
|
||||
|
||||
case 9:
|
||||
let TotallyNotJson.1054 : U8 = 114i64;
|
||||
let TotallyNotJson.1053 : List U8 = Array [92i64, TotallyNotJson.1054];
|
||||
ret TotallyNotJson.1053;
|
||||
|
||||
default:
|
||||
let TotallyNotJson.1055 : List U8 = Array [TotallyNotJson.186];
|
||||
ret TotallyNotJson.1055;
|
||||
|
||||
|
||||
procedure TotallyNotJson.29 (TotallyNotJson.201):
|
||||
let TotallyNotJson.974 : List {Str, Str} = CallByName Encode.23 TotallyNotJson.201;
|
||||
ret TotallyNotJson.974;
|
||||
|
||||
procedure TotallyNotJson.8 ():
|
||||
let TotallyNotJson.1013 : {} = Struct {};
|
||||
ret TotallyNotJson.1013;
|
||||
procedure Test.70 (Test.71, Test.266):
|
||||
let Test.72 : Str = StructAtIndex 0 Test.266;
|
||||
let Test.73 : Str = StructAtIndex 1 Test.266;
|
||||
let Test.270 : Str = CallByName Test.19 Test.72;
|
||||
let Test.271 : {} = Struct {};
|
||||
let Test.268 : List U8 = CallByName Encode.24 Test.71 Test.270 Test.271;
|
||||
let Test.269 : {} = Struct {};
|
||||
let Test.267 : List U8 = CallByName Encode.24 Test.268 Test.73 Test.269;
|
||||
ret Test.267;
|
||||
|
||||
procedure Test.0 ():
|
||||
let Test.11 : Str = "foo";
|
||||
let Test.12 : Str = "bar";
|
||||
let Test.9 : {Str, Str} = Struct {Test.11, Test.12};
|
||||
let Test.10 : {} = CallByName TotallyNotJson.8;
|
||||
let Test.8 : List U8 = CallByName Encode.26 Test.9 Test.10;
|
||||
let Test.1 : [C {U64, U8}, C Str] = CallByName Str.9 Test.8;
|
||||
let Test.5 : U8 = 1i64;
|
||||
let Test.6 : U8 = GetTagId Test.1;
|
||||
let Test.7 : Int1 = lowlevel Eq Test.5 Test.6;
|
||||
if Test.7 then
|
||||
let Test.2 : Str = UnionAtIndex (Id 1) (Index 0) Test.1;
|
||||
ret Test.2;
|
||||
let Test.258 : Str = "foo";
|
||||
let Test.259 : Str = "bar";
|
||||
let Test.255 : {Str, Str} = Struct {Test.258, Test.259};
|
||||
let Test.256 : {} = CallByName Test.2;
|
||||
let Test.254 : List U8 = CallByName Encode.26 Test.255 Test.256;
|
||||
let Test.209 : [C {U64, U8}, C Str] = CallByName Str.9 Test.254;
|
||||
let Test.251 : U8 = 1i64;
|
||||
let Test.252 : U8 = GetTagId Test.209;
|
||||
let Test.253 : Int1 = lowlevel Eq Test.251 Test.252;
|
||||
if Test.253 then
|
||||
let Test.210 : Str = UnionAtIndex (Id 1) (Index 0) Test.209;
|
||||
ret Test.210;
|
||||
else
|
||||
dec Test.1;
|
||||
let Test.4 : Str = "<bad>";
|
||||
ret Test.4;
|
||||
dec Test.209;
|
||||
let Test.250 : Str = "<bad>";
|
||||
ret Test.250;
|
||||
|
|
|
@ -2,156 +2,48 @@ procedure Encode.23 (Encode.98):
|
|||
ret Encode.98;
|
||||
|
||||
procedure Encode.24 (Encode.99, Encode.107, Encode.101):
|
||||
let Encode.111 : List U8 = CallByName TotallyNotJson.150 Encode.99 Encode.101 Encode.107;
|
||||
let Encode.111 : List U8 = CallByName Test.56 Encode.99 Encode.101 Encode.107;
|
||||
ret Encode.111;
|
||||
|
||||
procedure Encode.26 (Encode.105, Encode.106):
|
||||
let Encode.109 : List U8 = Array [];
|
||||
let Encode.110 : Str = CallByName TotallyNotJson.25 Encode.105;
|
||||
let Encode.110 : Str = CallByName Test.19 Encode.105;
|
||||
let Encode.108 : List U8 = CallByName Encode.24 Encode.109 Encode.110 Encode.106;
|
||||
ret Encode.108;
|
||||
|
||||
procedure List.104 (List.488, List.489, List.490):
|
||||
let List.616 : U64 = 0i64;
|
||||
let List.617 : U64 = CallByName List.6 List.488;
|
||||
let List.615 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.80 List.488 List.489 List.490 List.616 List.617;
|
||||
ret List.615;
|
||||
procedure List.4 (List.124, List.125):
|
||||
let List.584 : U64 = 1i64;
|
||||
let List.583 : List U8 = CallByName List.70 List.124 List.584;
|
||||
let List.582 : List U8 = CallByName List.71 List.583 List.125;
|
||||
ret List.582;
|
||||
|
||||
procedure List.18 (List.160, List.161, List.162):
|
||||
let List.587 : U64 = 0i64;
|
||||
let List.588 : U64 = CallByName List.6 List.160;
|
||||
let List.586 : List U8 = CallByName List.92 List.160 List.161 List.162 List.587 List.588;
|
||||
ret List.586;
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.578 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.578;
|
||||
|
||||
procedure List.26 (List.201, List.202, List.203):
|
||||
let List.609 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.104 List.201 List.202 List.203;
|
||||
let List.612 : U8 = 1i64;
|
||||
let List.613 : U8 = GetTagId List.609;
|
||||
let List.614 : Int1 = lowlevel Eq List.612 List.613;
|
||||
if List.614 then
|
||||
let List.204 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.609;
|
||||
ret List.204;
|
||||
else
|
||||
let List.205 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.609;
|
||||
ret List.205;
|
||||
|
||||
procedure List.49 (List.420, List.421):
|
||||
let List.600 : U64 = StructAtIndex 1 List.421;
|
||||
let List.601 : U64 = StructAtIndex 0 List.421;
|
||||
let List.599 : List U8 = CallByName List.72 List.420 List.600 List.601;
|
||||
ret List.599;
|
||||
|
||||
procedure List.52 (List.435, List.436):
|
||||
let List.437 : U64 = CallByName List.6 List.435;
|
||||
joinpoint List.607 List.438:
|
||||
let List.605 : U64 = 0i64;
|
||||
let List.604 : {U64, U64} = Struct {List.438, List.605};
|
||||
inc List.435;
|
||||
let List.439 : List U8 = CallByName List.49 List.435 List.604;
|
||||
let List.603 : U64 = CallByName Num.75 List.437 List.438;
|
||||
let List.598 : {U64, U64} = Struct {List.603, List.438};
|
||||
let List.440 : List U8 = CallByName List.49 List.435 List.598;
|
||||
let List.597 : {List U8, List U8} = Struct {List.439, List.440};
|
||||
ret List.597;
|
||||
in
|
||||
let List.608 : Int1 = CallByName Num.24 List.437 List.436;
|
||||
if List.608 then
|
||||
jump List.607 List.436;
|
||||
else
|
||||
jump List.607 List.437;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.585 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.585;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.596 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.596;
|
||||
|
||||
procedure List.68 (#Attr.2):
|
||||
let List.583 : List U8 = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.583;
|
||||
|
||||
procedure List.72 (#Attr.2, #Attr.3, #Attr.4):
|
||||
let List.602 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.602;
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.576 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.576;
|
||||
|
||||
procedure List.8 (#Attr.2, #Attr.3):
|
||||
let List.581 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.581;
|
||||
let List.586 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.586;
|
||||
|
||||
procedure List.80 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.4):
|
||||
joinpoint List.618 List.491 List.492 List.493 List.494 List.495:
|
||||
let List.620 : Int1 = CallByName Num.22 List.494 List.495;
|
||||
if List.620 then
|
||||
let List.629 : U8 = CallByName List.66 List.491 List.494;
|
||||
let List.621 : [C {U64, Int1}, C {U64, Int1}] = CallByName TotallyNotJson.157 List.492 List.629;
|
||||
let List.626 : U8 = 1i64;
|
||||
let List.627 : U8 = GetTagId List.621;
|
||||
let List.628 : Int1 = lowlevel Eq List.626 List.627;
|
||||
if List.628 then
|
||||
let List.496 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.621;
|
||||
let List.624 : U64 = 1i64;
|
||||
let List.623 : U64 = CallByName Num.51 List.494 List.624;
|
||||
jump List.618 List.491 List.496 List.493 List.623 List.495;
|
||||
else
|
||||
dec List.491;
|
||||
let List.497 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.621;
|
||||
let List.625 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) List.497;
|
||||
ret List.625;
|
||||
else
|
||||
dec List.491;
|
||||
let List.619 : [C {U64, Int1}, C {U64, Int1}] = TagId(1) List.492;
|
||||
ret List.619;
|
||||
in
|
||||
jump List.618 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
|
||||
|
||||
procedure List.92 (#Derived_gen.5, #Derived_gen.6, #Derived_gen.7, #Derived_gen.8, #Derived_gen.9):
|
||||
joinpoint List.589 List.163 List.164 List.165 List.166 List.167:
|
||||
let List.591 : Int1 = CallByName Num.22 List.166 List.167;
|
||||
if List.591 then
|
||||
let List.595 : U8 = CallByName List.66 List.163 List.166;
|
||||
let List.168 : List U8 = CallByName TotallyNotJson.183 List.164 List.595;
|
||||
let List.594 : U64 = 1i64;
|
||||
let List.593 : U64 = CallByName Num.51 List.166 List.594;
|
||||
jump List.589 List.163 List.168 List.165 List.593 List.167;
|
||||
else
|
||||
dec List.163;
|
||||
ret List.164;
|
||||
in
|
||||
jump List.589 #Derived_gen.5 #Derived_gen.6 #Derived_gen.7 #Derived_gen.8 #Derived_gen.9;
|
||||
|
||||
procedure Num.137 (#Attr.2, #Attr.3):
|
||||
let Num.281 : U64 = lowlevel NumDivCeilUnchecked #Attr.2 #Attr.3;
|
||||
ret Num.281;
|
||||
|
||||
procedure Num.19 (#Attr.2, #Attr.3):
|
||||
let Num.280 : U64 = lowlevel NumAdd #Attr.2 #Attr.3;
|
||||
procedure Num.127 (#Attr.2):
|
||||
let Num.280 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
ret Num.280;
|
||||
|
||||
procedure Num.21 (#Attr.2, #Attr.3):
|
||||
let Num.282 : U64 = lowlevel NumMul #Attr.2 #Attr.3;
|
||||
ret Num.282;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.286 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
ret Num.286;
|
||||
|
||||
procedure Num.24 (#Attr.2, #Attr.3):
|
||||
let Num.288 : Int1 = lowlevel NumGt #Attr.2 #Attr.3;
|
||||
ret Num.288;
|
||||
|
||||
procedure Num.51 (#Attr.2, #Attr.3):
|
||||
let Num.284 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
|
||||
ret Num.284;
|
||||
|
||||
procedure Num.75 (#Attr.2, #Attr.3):
|
||||
let Num.287 : U64 = lowlevel NumSubWrap #Attr.2 #Attr.3;
|
||||
ret Num.287;
|
||||
procedure Num.96 (#Attr.2):
|
||||
let Num.279 : Str = lowlevel NumToStr #Attr.2;
|
||||
ret Num.279;
|
||||
|
||||
procedure Str.12 (#Attr.2):
|
||||
let Str.240 : List U8 = lowlevel StrToUtf8 #Attr.2;
|
||||
ret Str.240;
|
||||
let Str.241 : List U8 = lowlevel StrToUtf8 #Attr.2;
|
||||
ret Str.241;
|
||||
|
||||
procedure Str.36 (#Attr.2):
|
||||
let Str.242 : U64 = lowlevel StrCountUtf8Bytes #Attr.2;
|
||||
ret Str.242;
|
||||
|
||||
procedure Str.43 (#Attr.2):
|
||||
let Str.239 : {U64, Str, Int1, U8} = lowlevel StrFromUtf8 #Attr.2;
|
||||
|
@ -167,194 +59,52 @@ procedure Str.9 (Str.67):
|
|||
else
|
||||
let Str.234 : U8 = StructAtIndex 3 Str.68;
|
||||
let Str.235 : U64 = StructAtIndex 0 Str.68;
|
||||
let #Derived_gen.13 : Str = StructAtIndex 1 Str.68;
|
||||
dec #Derived_gen.13;
|
||||
let #Derived_gen.3 : Str = StructAtIndex 1 Str.68;
|
||||
dec #Derived_gen.3;
|
||||
let Str.233 : {U64, U8} = Struct {Str.235, Str.234};
|
||||
let Str.232 : [C {U64, U8}, C Str] = TagId(0) Str.233;
|
||||
ret Str.232;
|
||||
|
||||
procedure TotallyNotJson.150 (TotallyNotJson.151, TotallyNotJson.976, TotallyNotJson.149):
|
||||
let TotallyNotJson.979 : List U8 = CallByName TotallyNotJson.26 TotallyNotJson.149;
|
||||
let TotallyNotJson.978 : List U8 = CallByName List.8 TotallyNotJson.151 TotallyNotJson.979;
|
||||
ret TotallyNotJson.978;
|
||||
procedure Test.19 (Test.55):
|
||||
let Test.258 : Str = CallByName Encode.23 Test.55;
|
||||
ret Test.258;
|
||||
|
||||
procedure TotallyNotJson.157 (TotallyNotJson.1027, TotallyNotJson.160):
|
||||
let TotallyNotJson.158 : U64 = StructAtIndex 0 TotallyNotJson.1027;
|
||||
let TotallyNotJson.159 : Int1 = StructAtIndex 1 TotallyNotJson.1027;
|
||||
switch TotallyNotJson.160:
|
||||
case 34:
|
||||
let TotallyNotJson.1030 : Int1 = false;
|
||||
let TotallyNotJson.1029 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1030};
|
||||
let TotallyNotJson.1028 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1029;
|
||||
ret TotallyNotJson.1028;
|
||||
|
||||
case 92:
|
||||
let TotallyNotJson.1033 : Int1 = false;
|
||||
let TotallyNotJson.1032 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1033};
|
||||
let TotallyNotJson.1031 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1032;
|
||||
ret TotallyNotJson.1031;
|
||||
|
||||
case 47:
|
||||
let TotallyNotJson.1036 : Int1 = false;
|
||||
let TotallyNotJson.1035 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1036};
|
||||
let TotallyNotJson.1034 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1035;
|
||||
ret TotallyNotJson.1034;
|
||||
|
||||
case 8:
|
||||
let TotallyNotJson.1039 : Int1 = false;
|
||||
let TotallyNotJson.1038 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1039};
|
||||
let TotallyNotJson.1037 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1038;
|
||||
ret TotallyNotJson.1037;
|
||||
|
||||
case 12:
|
||||
let TotallyNotJson.1042 : Int1 = false;
|
||||
let TotallyNotJson.1041 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1042};
|
||||
let TotallyNotJson.1040 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1041;
|
||||
ret TotallyNotJson.1040;
|
||||
|
||||
case 10:
|
||||
let TotallyNotJson.1045 : Int1 = false;
|
||||
let TotallyNotJson.1044 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1045};
|
||||
let TotallyNotJson.1043 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1044;
|
||||
ret TotallyNotJson.1043;
|
||||
|
||||
case 13:
|
||||
let TotallyNotJson.1048 : Int1 = false;
|
||||
let TotallyNotJson.1047 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1048};
|
||||
let TotallyNotJson.1046 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1047;
|
||||
ret TotallyNotJson.1046;
|
||||
|
||||
case 9:
|
||||
let TotallyNotJson.1051 : Int1 = false;
|
||||
let TotallyNotJson.1050 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1051};
|
||||
let TotallyNotJson.1049 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1050;
|
||||
ret TotallyNotJson.1049;
|
||||
|
||||
default:
|
||||
let TotallyNotJson.1055 : U64 = 1i64;
|
||||
let TotallyNotJson.1054 : U64 = CallByName Num.19 TotallyNotJson.158 TotallyNotJson.1055;
|
||||
let TotallyNotJson.1053 : {U64, Int1} = Struct {TotallyNotJson.1054, TotallyNotJson.159};
|
||||
let TotallyNotJson.1052 : [C {U64, Int1}, C {U64, Int1}] = TagId(1) TotallyNotJson.1053;
|
||||
ret TotallyNotJson.1052;
|
||||
|
||||
procedure Test.2 ():
|
||||
let Test.257 : {} = Struct {};
|
||||
ret Test.257;
|
||||
|
||||
procedure TotallyNotJson.183 (TotallyNotJson.184, TotallyNotJson.185):
|
||||
let TotallyNotJson.998 : List U8 = CallByName TotallyNotJson.27 TotallyNotJson.185;
|
||||
let TotallyNotJson.997 : List U8 = CallByName List.8 TotallyNotJson.184 TotallyNotJson.998;
|
||||
ret TotallyNotJson.997;
|
||||
procedure Test.3 (Test.48, Test.49, Test.50):
|
||||
let Test.275 : U8 = CallByName Num.127 Test.49;
|
||||
let Test.272 : List U8 = CallByName List.4 Test.48 Test.275;
|
||||
let Test.274 : Str = CallByName Num.96 Test.50;
|
||||
let Test.273 : List U8 = CallByName Str.12 Test.274;
|
||||
let Test.270 : List U8 = CallByName List.8 Test.272 Test.273;
|
||||
let Test.271 : U8 = 32i64;
|
||||
let Test.269 : List U8 = CallByName List.4 Test.270 Test.271;
|
||||
ret Test.269;
|
||||
|
||||
procedure TotallyNotJson.25 (TotallyNotJson.149):
|
||||
let TotallyNotJson.974 : Str = CallByName Encode.23 TotallyNotJson.149;
|
||||
ret TotallyNotJson.974;
|
||||
|
||||
procedure TotallyNotJson.26 (TotallyNotJson.152):
|
||||
let TotallyNotJson.153 : List U8 = CallByName Str.12 TotallyNotJson.152;
|
||||
let TotallyNotJson.1056 : U64 = 0i64;
|
||||
let TotallyNotJson.1057 : Int1 = true;
|
||||
let TotallyNotJson.154 : {U64, Int1} = Struct {TotallyNotJson.1056, TotallyNotJson.1057};
|
||||
let TotallyNotJson.1026 : {} = Struct {};
|
||||
inc TotallyNotJson.153;
|
||||
let TotallyNotJson.155 : {U64, Int1} = CallByName List.26 TotallyNotJson.153 TotallyNotJson.154 TotallyNotJson.1026;
|
||||
let TotallyNotJson.980 : Int1 = StructAtIndex 1 TotallyNotJson.155;
|
||||
let TotallyNotJson.1024 : Int1 = true;
|
||||
let TotallyNotJson.1025 : Int1 = lowlevel Eq TotallyNotJson.1024 TotallyNotJson.980;
|
||||
if TotallyNotJson.1025 then
|
||||
let TotallyNotJson.990 : U64 = CallByName List.6 TotallyNotJson.153;
|
||||
let TotallyNotJson.991 : U64 = 2i64;
|
||||
let TotallyNotJson.989 : U64 = CallByName Num.19 TotallyNotJson.990 TotallyNotJson.991;
|
||||
let TotallyNotJson.986 : List U8 = CallByName List.68 TotallyNotJson.989;
|
||||
let TotallyNotJson.988 : U8 = 34i64;
|
||||
let TotallyNotJson.987 : List U8 = Array [TotallyNotJson.988];
|
||||
let TotallyNotJson.985 : List U8 = CallByName List.8 TotallyNotJson.986 TotallyNotJson.987;
|
||||
let TotallyNotJson.982 : List U8 = CallByName List.8 TotallyNotJson.985 TotallyNotJson.153;
|
||||
let TotallyNotJson.984 : U8 = 34i64;
|
||||
let TotallyNotJson.983 : List U8 = Array [TotallyNotJson.984];
|
||||
let TotallyNotJson.981 : List U8 = CallByName List.8 TotallyNotJson.982 TotallyNotJson.983;
|
||||
ret TotallyNotJson.981;
|
||||
else
|
||||
inc TotallyNotJson.153;
|
||||
let TotallyNotJson.1023 : U64 = StructAtIndex 0 TotallyNotJson.155;
|
||||
let TotallyNotJson.1022 : {List U8, List U8} = CallByName List.52 TotallyNotJson.153 TotallyNotJson.1023;
|
||||
let TotallyNotJson.179 : List U8 = StructAtIndex 0 TotallyNotJson.1022;
|
||||
let TotallyNotJson.181 : List U8 = StructAtIndex 1 TotallyNotJson.1022;
|
||||
let TotallyNotJson.1020 : U64 = CallByName List.6 TotallyNotJson.153;
|
||||
dec TotallyNotJson.153;
|
||||
let TotallyNotJson.1021 : U64 = 120i64;
|
||||
let TotallyNotJson.1018 : U64 = CallByName Num.21 TotallyNotJson.1020 TotallyNotJson.1021;
|
||||
let TotallyNotJson.1019 : U64 = 100i64;
|
||||
let TotallyNotJson.1017 : U64 = CallByName Num.137 TotallyNotJson.1018 TotallyNotJson.1019;
|
||||
let TotallyNotJson.1014 : List U8 = CallByName List.68 TotallyNotJson.1017;
|
||||
let TotallyNotJson.1016 : U8 = 34i64;
|
||||
let TotallyNotJson.1015 : List U8 = Array [TotallyNotJson.1016];
|
||||
let TotallyNotJson.1013 : List U8 = CallByName List.8 TotallyNotJson.1014 TotallyNotJson.1015;
|
||||
let TotallyNotJson.182 : List U8 = CallByName List.8 TotallyNotJson.1013 TotallyNotJson.179;
|
||||
let TotallyNotJson.996 : {} = Struct {};
|
||||
let TotallyNotJson.993 : List U8 = CallByName List.18 TotallyNotJson.181 TotallyNotJson.182 TotallyNotJson.996;
|
||||
let TotallyNotJson.995 : U8 = 34i64;
|
||||
let TotallyNotJson.994 : List U8 = Array [TotallyNotJson.995];
|
||||
let TotallyNotJson.992 : List U8 = CallByName List.8 TotallyNotJson.993 TotallyNotJson.994;
|
||||
ret TotallyNotJson.992;
|
||||
|
||||
procedure TotallyNotJson.27 (TotallyNotJson.186):
|
||||
switch TotallyNotJson.186:
|
||||
case 34:
|
||||
let TotallyNotJson.999 : List U8 = Array [92i64, 34i64];
|
||||
ret TotallyNotJson.999;
|
||||
|
||||
case 92:
|
||||
let TotallyNotJson.1000 : List U8 = Array [92i64, 92i64];
|
||||
ret TotallyNotJson.1000;
|
||||
|
||||
case 47:
|
||||
let TotallyNotJson.1001 : List U8 = Array [92i64, 47i64];
|
||||
ret TotallyNotJson.1001;
|
||||
|
||||
case 8:
|
||||
let TotallyNotJson.1003 : U8 = 98i64;
|
||||
let TotallyNotJson.1002 : List U8 = Array [92i64, TotallyNotJson.1003];
|
||||
ret TotallyNotJson.1002;
|
||||
|
||||
case 12:
|
||||
let TotallyNotJson.1005 : U8 = 102i64;
|
||||
let TotallyNotJson.1004 : List U8 = Array [92i64, TotallyNotJson.1005];
|
||||
ret TotallyNotJson.1004;
|
||||
|
||||
case 10:
|
||||
let TotallyNotJson.1007 : U8 = 110i64;
|
||||
let TotallyNotJson.1006 : List U8 = Array [92i64, TotallyNotJson.1007];
|
||||
ret TotallyNotJson.1006;
|
||||
|
||||
case 13:
|
||||
let TotallyNotJson.1009 : U8 = 114i64;
|
||||
let TotallyNotJson.1008 : List U8 = Array [92i64, TotallyNotJson.1009];
|
||||
ret TotallyNotJson.1008;
|
||||
|
||||
case 9:
|
||||
let TotallyNotJson.1011 : U8 = 114i64;
|
||||
let TotallyNotJson.1010 : List U8 = Array [92i64, TotallyNotJson.1011];
|
||||
ret TotallyNotJson.1010;
|
||||
|
||||
default:
|
||||
let TotallyNotJson.1012 : List U8 = Array [TotallyNotJson.186];
|
||||
ret TotallyNotJson.1012;
|
||||
|
||||
|
||||
procedure TotallyNotJson.8 ():
|
||||
let TotallyNotJson.973 : {} = Struct {};
|
||||
ret TotallyNotJson.973;
|
||||
procedure Test.56 (Test.57, Test.260, Test.55):
|
||||
let Test.267 : I64 = 115i64;
|
||||
let Test.268 : U64 = CallByName Str.36 Test.55;
|
||||
let Test.265 : List U8 = CallByName Test.3 Test.57 Test.267 Test.268;
|
||||
let Test.266 : List U8 = CallByName Str.12 Test.55;
|
||||
let Test.263 : List U8 = CallByName List.8 Test.265 Test.266;
|
||||
let Test.264 : U8 = 32i64;
|
||||
let Test.262 : List U8 = CallByName List.4 Test.263 Test.264;
|
||||
ret Test.262;
|
||||
|
||||
procedure Test.0 ():
|
||||
let Test.9 : Str = "abc";
|
||||
let Test.10 : {} = CallByName TotallyNotJson.8;
|
||||
let Test.8 : List U8 = CallByName Encode.26 Test.9 Test.10;
|
||||
let Test.1 : [C {U64, U8}, C Str] = CallByName Str.9 Test.8;
|
||||
let Test.5 : U8 = 1i64;
|
||||
let Test.6 : U8 = GetTagId Test.1;
|
||||
let Test.7 : Int1 = lowlevel Eq Test.5 Test.6;
|
||||
if Test.7 then
|
||||
let Test.2 : Str = UnionAtIndex (Id 1) (Index 0) Test.1;
|
||||
ret Test.2;
|
||||
let Test.255 : Str = "abc";
|
||||
let Test.256 : {} = CallByName Test.2;
|
||||
let Test.254 : List U8 = CallByName Encode.26 Test.255 Test.256;
|
||||
let Test.209 : [C {U64, U8}, C Str] = CallByName Str.9 Test.254;
|
||||
let Test.251 : U8 = 1i64;
|
||||
let Test.252 : U8 = GetTagId Test.209;
|
||||
let Test.253 : Int1 = lowlevel Eq Test.251 Test.252;
|
||||
if Test.253 then
|
||||
let Test.210 : Str = UnionAtIndex (Id 1) (Index 0) Test.209;
|
||||
ret Test.210;
|
||||
else
|
||||
dec Test.1;
|
||||
let Test.4 : Str = "<bad>";
|
||||
ret Test.4;
|
||||
dec Test.209;
|
||||
let Test.250 : Str = "<bad>";
|
||||
ret Test.250;
|
||||
|
|
|
@ -8,9 +8,9 @@ procedure #Derived.3 (#Derived.4, #Derived.5, #Derived.1):
|
|||
ret #Derived_gen.3;
|
||||
in
|
||||
let #Derived_gen.7 : Str = "A";
|
||||
let #Derived_gen.9 : Str = CallByName TotallyNotJson.25 #Derived.1;
|
||||
let #Derived_gen.9 : Str = CallByName Test.19 #Derived.1;
|
||||
let #Derived_gen.8 : List Str = Array [#Derived_gen.9];
|
||||
let #Derived_gen.6 : {Str, List Str} = CallByName TotallyNotJson.31 #Derived_gen.7 #Derived_gen.8;
|
||||
let #Derived_gen.6 : {List Str, {}} = CallByName Test.23 #Derived_gen.7 #Derived_gen.8;
|
||||
jump #Derived_gen.5 #Derived_gen.6;
|
||||
|
||||
procedure Encode.23 (Encode.98):
|
||||
|
@ -27,12 +27,12 @@ procedure Encode.24 (Encode.99, Encode.107, Encode.101):
|
|||
ret Encode.111;
|
||||
|
||||
procedure Encode.24 (Encode.99, Encode.107, Encode.101):
|
||||
let Encode.113 : List U8 = CallByName TotallyNotJson.231 Encode.99 Encode.101 Encode.107;
|
||||
let Encode.113 : List U8 = CallByName Test.60 Encode.99 Encode.101 Encode.107;
|
||||
ret Encode.113;
|
||||
|
||||
procedure Encode.24 (Encode.99, Encode.107, Encode.101):
|
||||
let Encode.116 : List U8 = CallByName TotallyNotJson.150 Encode.99 Encode.101 Encode.107;
|
||||
ret Encode.116;
|
||||
let Encode.117 : List U8 = CallByName Test.56 Encode.99 Encode.101 Encode.107;
|
||||
ret Encode.117;
|
||||
|
||||
procedure Encode.26 (Encode.105, Encode.106):
|
||||
let Encode.109 : List U8 = Array [];
|
||||
|
@ -40,200 +40,82 @@ procedure Encode.26 (Encode.105, Encode.106):
|
|||
let Encode.108 : List U8 = CallByName Encode.24 Encode.109 Encode.110 Encode.106;
|
||||
ret Encode.108;
|
||||
|
||||
procedure List.104 (List.488, List.489, List.490):
|
||||
let List.657 : U64 = 0i64;
|
||||
let List.658 : U64 = CallByName List.6 List.488;
|
||||
let List.656 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.80 List.488 List.489 List.490 List.657 List.658;
|
||||
ret List.656;
|
||||
|
||||
procedure List.18 (List.160, List.161, List.162):
|
||||
let List.601 : U64 = 0i64;
|
||||
let List.602 : U64 = CallByName List.6 List.160;
|
||||
let List.600 : {List U8, U64} = CallByName List.92 List.160 List.161 List.162 List.601 List.602;
|
||||
procedure List.13 (#Attr.2, #Attr.3):
|
||||
let List.600 : List Str = lowlevel ListPrepend #Attr.2 #Attr.3;
|
||||
ret List.600;
|
||||
|
||||
procedure List.18 (List.160, List.161, List.162):
|
||||
let List.613 : U64 = 0i64;
|
||||
let List.614 : U64 = CallByName List.6 List.160;
|
||||
let List.612 : List U8 = CallByName List.92 List.160 List.161 List.162 List.613 List.614;
|
||||
ret List.612;
|
||||
|
||||
procedure List.26 (List.201, List.202, List.203):
|
||||
let List.650 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.104 List.201 List.202 List.203;
|
||||
let List.653 : U8 = 1i64;
|
||||
let List.654 : U8 = GetTagId List.650;
|
||||
let List.655 : Int1 = lowlevel Eq List.653 List.654;
|
||||
if List.655 then
|
||||
let List.204 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.650;
|
||||
ret List.204;
|
||||
else
|
||||
let List.205 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.650;
|
||||
ret List.205;
|
||||
let List.575 : U64 = 0i64;
|
||||
let List.576 : U64 = CallByName List.6 List.160;
|
||||
let List.574 : List U8 = CallByName List.92 List.160 List.161 List.162 List.575 List.576;
|
||||
ret List.574;
|
||||
|
||||
procedure List.4 (List.124, List.125):
|
||||
let List.599 : U64 = 1i64;
|
||||
let List.598 : List U8 = CallByName List.70 List.124 List.599;
|
||||
let List.597 : List U8 = CallByName List.71 List.598 List.125;
|
||||
ret List.597;
|
||||
|
||||
procedure List.49 (List.420, List.421):
|
||||
let List.641 : U64 = StructAtIndex 1 List.421;
|
||||
let List.642 : U64 = StructAtIndex 0 List.421;
|
||||
let List.640 : List U8 = CallByName List.72 List.420 List.641 List.642;
|
||||
ret List.640;
|
||||
|
||||
procedure List.52 (List.435, List.436):
|
||||
let List.437 : U64 = CallByName List.6 List.435;
|
||||
joinpoint List.648 List.438:
|
||||
let List.646 : U64 = 0i64;
|
||||
let List.645 : {U64, U64} = Struct {List.438, List.646};
|
||||
inc List.435;
|
||||
let List.439 : List U8 = CallByName List.49 List.435 List.645;
|
||||
let List.644 : U64 = CallByName Num.75 List.437 List.438;
|
||||
let List.639 : {U64, U64} = Struct {List.644, List.438};
|
||||
let List.440 : List U8 = CallByName List.49 List.435 List.639;
|
||||
let List.638 : {List U8, List U8} = Struct {List.439, List.440};
|
||||
ret List.638;
|
||||
in
|
||||
let List.649 : Int1 = CallByName Num.24 List.437 List.436;
|
||||
if List.649 then
|
||||
jump List.648 List.436;
|
||||
else
|
||||
jump List.648 List.437;
|
||||
let List.596 : U64 = 1i64;
|
||||
let List.595 : List U8 = CallByName List.70 List.124 List.596;
|
||||
let List.594 : List U8 = CallByName List.71 List.595 List.125;
|
||||
ret List.594;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.624 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.624;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.626 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.626;
|
||||
let List.599 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.599;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.610 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.610;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.622 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.622;
|
||||
|
||||
procedure List.68 (#Attr.2):
|
||||
let List.637 : List U8 = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.637;
|
||||
let List.584 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.584;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.578 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.578;
|
||||
let List.590 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.590;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.576 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.576;
|
||||
|
||||
procedure List.72 (#Attr.2, #Attr.3, #Attr.4):
|
||||
let List.643 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.643;
|
||||
let List.588 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.588;
|
||||
|
||||
procedure List.8 (#Attr.2, #Attr.3):
|
||||
let List.635 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.635;
|
||||
let List.598 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.598;
|
||||
|
||||
procedure List.80 (#Derived_gen.18, #Derived_gen.19, #Derived_gen.20, #Derived_gen.21, #Derived_gen.22):
|
||||
joinpoint List.659 List.491 List.492 List.493 List.494 List.495:
|
||||
let List.661 : Int1 = CallByName Num.22 List.494 List.495;
|
||||
if List.661 then
|
||||
let List.670 : U8 = CallByName List.66 List.491 List.494;
|
||||
let List.662 : [C {U64, Int1}, C {U64, Int1}] = CallByName TotallyNotJson.157 List.492 List.670;
|
||||
let List.667 : U8 = 1i64;
|
||||
let List.668 : U8 = GetTagId List.662;
|
||||
let List.669 : Int1 = lowlevel Eq List.667 List.668;
|
||||
if List.669 then
|
||||
let List.496 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.662;
|
||||
let List.665 : U64 = 1i64;
|
||||
let List.664 : U64 = CallByName Num.51 List.494 List.665;
|
||||
jump List.659 List.491 List.496 List.493 List.664 List.495;
|
||||
else
|
||||
dec List.491;
|
||||
let List.497 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.662;
|
||||
let List.666 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) List.497;
|
||||
ret List.666;
|
||||
else
|
||||
dec List.491;
|
||||
let List.660 : [C {U64, Int1}, C {U64, Int1}] = TagId(1) List.492;
|
||||
ret List.660;
|
||||
in
|
||||
jump List.659 #Derived_gen.18 #Derived_gen.19 #Derived_gen.20 #Derived_gen.21 #Derived_gen.22;
|
||||
|
||||
procedure List.92 (#Derived_gen.10, #Derived_gen.11, #Derived_gen.12, #Derived_gen.13, #Derived_gen.14):
|
||||
joinpoint List.603 List.163 List.164 List.165 List.166 List.167:
|
||||
let List.605 : Int1 = CallByName Num.22 List.166 List.167;
|
||||
if List.605 then
|
||||
let List.609 : Str = CallByName List.66 List.163 List.166;
|
||||
inc List.609;
|
||||
let List.168 : {List U8, U64} = CallByName TotallyNotJson.233 List.164 List.609;
|
||||
let List.608 : U64 = 1i64;
|
||||
let List.607 : U64 = CallByName Num.51 List.166 List.608;
|
||||
jump List.603 List.163 List.168 List.165 List.607 List.167;
|
||||
procedure List.92 (#Derived_gen.13, #Derived_gen.14, #Derived_gen.15, #Derived_gen.16, #Derived_gen.17):
|
||||
joinpoint List.577 List.163 List.164 List.165 List.166 List.167:
|
||||
let List.579 : Int1 = CallByName Num.22 List.166 List.167;
|
||||
if List.579 then
|
||||
let List.583 : Str = CallByName List.66 List.163 List.166;
|
||||
inc List.583;
|
||||
let List.168 : List U8 = CallByName Test.63 List.164 List.583 List.165;
|
||||
let List.582 : U64 = 1i64;
|
||||
let List.581 : U64 = CallByName Num.51 List.166 List.582;
|
||||
jump List.577 List.163 List.168 List.165 List.581 List.167;
|
||||
else
|
||||
dec List.163;
|
||||
ret List.164;
|
||||
in
|
||||
jump List.603 #Derived_gen.10 #Derived_gen.11 #Derived_gen.12 #Derived_gen.13 #Derived_gen.14;
|
||||
|
||||
procedure List.92 (#Derived_gen.23, #Derived_gen.24, #Derived_gen.25, #Derived_gen.26, #Derived_gen.27):
|
||||
joinpoint List.615 List.163 List.164 List.165 List.166 List.167:
|
||||
let List.617 : Int1 = CallByName Num.22 List.166 List.167;
|
||||
if List.617 then
|
||||
let List.621 : U8 = CallByName List.66 List.163 List.166;
|
||||
let List.168 : List U8 = CallByName TotallyNotJson.183 List.164 List.621;
|
||||
let List.620 : U64 = 1i64;
|
||||
let List.619 : U64 = CallByName Num.51 List.166 List.620;
|
||||
jump List.615 List.163 List.168 List.165 List.619 List.167;
|
||||
else
|
||||
dec List.163;
|
||||
ret List.164;
|
||||
in
|
||||
jump List.615 #Derived_gen.23 #Derived_gen.24 #Derived_gen.25 #Derived_gen.26 #Derived_gen.27;
|
||||
jump List.577 #Derived_gen.13 #Derived_gen.14 #Derived_gen.15 #Derived_gen.16 #Derived_gen.17;
|
||||
|
||||
procedure Num.127 (#Attr.2):
|
||||
let Num.286 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
ret Num.286;
|
||||
|
||||
procedure Num.137 (#Attr.2, #Attr.3):
|
||||
let Num.291 : U64 = lowlevel NumDivCeilUnchecked #Attr.2 #Attr.3;
|
||||
ret Num.291;
|
||||
|
||||
procedure Num.19 (#Attr.2, #Attr.3):
|
||||
let Num.290 : U64 = lowlevel NumAdd #Attr.2 #Attr.3;
|
||||
ret Num.290;
|
||||
|
||||
procedure Num.20 (#Attr.2, #Attr.3):
|
||||
let Num.287 : U64 = lowlevel NumSub #Attr.2 #Attr.3;
|
||||
ret Num.287;
|
||||
|
||||
procedure Num.21 (#Attr.2, #Attr.3):
|
||||
let Num.292 : U64 = lowlevel NumMul #Attr.2 #Attr.3;
|
||||
ret Num.292;
|
||||
let Num.280 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
ret Num.280;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.298 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
ret Num.298;
|
||||
|
||||
procedure Num.24 (#Attr.2, #Attr.3):
|
||||
let Num.300 : Int1 = lowlevel NumGt #Attr.2 #Attr.3;
|
||||
ret Num.300;
|
||||
let Num.282 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
ret Num.282;
|
||||
|
||||
procedure Num.51 (#Attr.2, #Attr.3):
|
||||
let Num.295 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
|
||||
ret Num.295;
|
||||
let Num.281 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
|
||||
ret Num.281;
|
||||
|
||||
procedure Num.75 (#Attr.2, #Attr.3):
|
||||
let Num.299 : U64 = lowlevel NumSubWrap #Attr.2 #Attr.3;
|
||||
ret Num.299;
|
||||
procedure Num.96 (#Attr.2):
|
||||
let Num.279 : Str = lowlevel NumToStr #Attr.2;
|
||||
ret Num.279;
|
||||
|
||||
procedure Str.12 (#Attr.2):
|
||||
let Str.241 : List U8 = lowlevel StrToUtf8 #Attr.2;
|
||||
ret Str.241;
|
||||
|
||||
procedure Str.36 (#Attr.2):
|
||||
let Str.242 : U64 = lowlevel StrCountUtf8Bytes #Attr.2;
|
||||
ret Str.242;
|
||||
|
||||
procedure Str.43 (#Attr.2):
|
||||
let Str.239 : {U64, Str, Int1, U8} = lowlevel StrFromUtf8 #Attr.2;
|
||||
ret Str.239;
|
||||
|
@ -248,253 +130,86 @@ procedure Str.9 (Str.67):
|
|||
else
|
||||
let Str.234 : U8 = StructAtIndex 3 Str.68;
|
||||
let Str.235 : U64 = StructAtIndex 0 Str.68;
|
||||
let #Derived_gen.34 : Str = StructAtIndex 1 Str.68;
|
||||
dec #Derived_gen.34;
|
||||
let #Derived_gen.27 : Str = StructAtIndex 1 Str.68;
|
||||
dec #Derived_gen.27;
|
||||
let Str.233 : {U64, U8} = Struct {Str.235, Str.234};
|
||||
let Str.232 : [C {U64, U8}, C Str] = TagId(0) Str.233;
|
||||
ret Str.232;
|
||||
|
||||
procedure TotallyNotJson.150 (TotallyNotJson.151, TotallyNotJson.1017, TotallyNotJson.149):
|
||||
let TotallyNotJson.1020 : List U8 = CallByName TotallyNotJson.26 TotallyNotJson.149;
|
||||
let TotallyNotJson.1019 : List U8 = CallByName List.8 TotallyNotJson.151 TotallyNotJson.1020;
|
||||
ret TotallyNotJson.1019;
|
||||
procedure Test.19 (Test.55):
|
||||
let Test.296 : Str = CallByName Encode.23 Test.55;
|
||||
ret Test.296;
|
||||
|
||||
procedure TotallyNotJson.157 (TotallyNotJson.1068, TotallyNotJson.160):
|
||||
let TotallyNotJson.158 : U64 = StructAtIndex 0 TotallyNotJson.1068;
|
||||
let TotallyNotJson.159 : Int1 = StructAtIndex 1 TotallyNotJson.1068;
|
||||
switch TotallyNotJson.160:
|
||||
case 34:
|
||||
let TotallyNotJson.1071 : Int1 = false;
|
||||
let TotallyNotJson.1070 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1071};
|
||||
let TotallyNotJson.1069 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1070;
|
||||
ret TotallyNotJson.1069;
|
||||
|
||||
case 92:
|
||||
let TotallyNotJson.1074 : Int1 = false;
|
||||
let TotallyNotJson.1073 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1074};
|
||||
let TotallyNotJson.1072 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1073;
|
||||
ret TotallyNotJson.1072;
|
||||
|
||||
case 47:
|
||||
let TotallyNotJson.1077 : Int1 = false;
|
||||
let TotallyNotJson.1076 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1077};
|
||||
let TotallyNotJson.1075 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1076;
|
||||
ret TotallyNotJson.1075;
|
||||
|
||||
case 8:
|
||||
let TotallyNotJson.1080 : Int1 = false;
|
||||
let TotallyNotJson.1079 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1080};
|
||||
let TotallyNotJson.1078 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1079;
|
||||
ret TotallyNotJson.1078;
|
||||
|
||||
case 12:
|
||||
let TotallyNotJson.1083 : Int1 = false;
|
||||
let TotallyNotJson.1082 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1083};
|
||||
let TotallyNotJson.1081 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1082;
|
||||
ret TotallyNotJson.1081;
|
||||
|
||||
case 10:
|
||||
let TotallyNotJson.1086 : Int1 = false;
|
||||
let TotallyNotJson.1085 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1086};
|
||||
let TotallyNotJson.1084 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1085;
|
||||
ret TotallyNotJson.1084;
|
||||
|
||||
case 13:
|
||||
let TotallyNotJson.1089 : Int1 = false;
|
||||
let TotallyNotJson.1088 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1089};
|
||||
let TotallyNotJson.1087 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1088;
|
||||
ret TotallyNotJson.1087;
|
||||
|
||||
case 9:
|
||||
let TotallyNotJson.1092 : Int1 = false;
|
||||
let TotallyNotJson.1091 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1092};
|
||||
let TotallyNotJson.1090 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1091;
|
||||
ret TotallyNotJson.1090;
|
||||
|
||||
default:
|
||||
let TotallyNotJson.1096 : U64 = 1i64;
|
||||
let TotallyNotJson.1095 : U64 = CallByName Num.19 TotallyNotJson.158 TotallyNotJson.1096;
|
||||
let TotallyNotJson.1094 : {U64, Int1} = Struct {TotallyNotJson.1095, TotallyNotJson.159};
|
||||
let TotallyNotJson.1093 : [C {U64, Int1}, C {U64, Int1}] = TagId(1) TotallyNotJson.1094;
|
||||
ret TotallyNotJson.1093;
|
||||
|
||||
procedure Test.2 ():
|
||||
let Test.258 : {} = Struct {};
|
||||
ret Test.258;
|
||||
|
||||
procedure TotallyNotJson.183 (TotallyNotJson.184, TotallyNotJson.185):
|
||||
let TotallyNotJson.1039 : List U8 = CallByName TotallyNotJson.27 TotallyNotJson.185;
|
||||
let TotallyNotJson.1038 : List U8 = CallByName List.8 TotallyNotJson.184 TotallyNotJson.1039;
|
||||
ret TotallyNotJson.1038;
|
||||
procedure Test.20 (Test.58, Test.59):
|
||||
let Test.265 : {List Str, {}} = Struct {Test.58, Test.59};
|
||||
let Test.264 : {List Str, {}} = CallByName Encode.23 Test.265;
|
||||
ret Test.264;
|
||||
|
||||
procedure TotallyNotJson.231 (TotallyNotJson.232, TotallyNotJson.976, #Attr.12):
|
||||
let TotallyNotJson.230 : List Str = StructAtIndex 1 #Attr.12;
|
||||
let TotallyNotJson.229 : Str = StructAtIndex 0 #Attr.12;
|
||||
let TotallyNotJson.1014 : I64 = 123i64;
|
||||
let TotallyNotJson.1013 : U8 = CallByName Num.127 TotallyNotJson.1014;
|
||||
let TotallyNotJson.1010 : List U8 = CallByName List.4 TotallyNotJson.232 TotallyNotJson.1013;
|
||||
let TotallyNotJson.1012 : I64 = 34i64;
|
||||
let TotallyNotJson.1011 : U8 = CallByName Num.127 TotallyNotJson.1012;
|
||||
let TotallyNotJson.1008 : List U8 = CallByName List.4 TotallyNotJson.1010 TotallyNotJson.1011;
|
||||
let TotallyNotJson.1009 : List U8 = CallByName Str.12 TotallyNotJson.229;
|
||||
let TotallyNotJson.1005 : List U8 = CallByName List.8 TotallyNotJson.1008 TotallyNotJson.1009;
|
||||
let TotallyNotJson.1007 : I64 = 34i64;
|
||||
let TotallyNotJson.1006 : U8 = CallByName Num.127 TotallyNotJson.1007;
|
||||
let TotallyNotJson.1002 : List U8 = CallByName List.4 TotallyNotJson.1005 TotallyNotJson.1006;
|
||||
let TotallyNotJson.1004 : I64 = 58i64;
|
||||
let TotallyNotJson.1003 : U8 = CallByName Num.127 TotallyNotJson.1004;
|
||||
let TotallyNotJson.999 : List U8 = CallByName List.4 TotallyNotJson.1002 TotallyNotJson.1003;
|
||||
let TotallyNotJson.1001 : I64 = 91i64;
|
||||
let TotallyNotJson.1000 : U8 = CallByName Num.127 TotallyNotJson.1001;
|
||||
let TotallyNotJson.234 : List U8 = CallByName List.4 TotallyNotJson.999 TotallyNotJson.1000;
|
||||
let TotallyNotJson.998 : U64 = CallByName List.6 TotallyNotJson.230;
|
||||
let TotallyNotJson.986 : {List U8, U64} = Struct {TotallyNotJson.234, TotallyNotJson.998};
|
||||
let TotallyNotJson.987 : {} = Struct {};
|
||||
let TotallyNotJson.985 : {List U8, U64} = CallByName List.18 TotallyNotJson.230 TotallyNotJson.986 TotallyNotJson.987;
|
||||
let TotallyNotJson.236 : List U8 = StructAtIndex 0 TotallyNotJson.985;
|
||||
let TotallyNotJson.984 : I64 = 93i64;
|
||||
let TotallyNotJson.983 : U8 = CallByName Num.127 TotallyNotJson.984;
|
||||
let TotallyNotJson.980 : List U8 = CallByName List.4 TotallyNotJson.236 TotallyNotJson.983;
|
||||
let TotallyNotJson.982 : I64 = 125i64;
|
||||
let TotallyNotJson.981 : U8 = CallByName Num.127 TotallyNotJson.982;
|
||||
let TotallyNotJson.979 : List U8 = CallByName List.4 TotallyNotJson.980 TotallyNotJson.981;
|
||||
ret TotallyNotJson.979;
|
||||
procedure Test.22 (Test.74):
|
||||
let Test.263 : {} = Struct {};
|
||||
let Test.262 : {List Str, {}} = CallByName Test.20 Test.74 Test.263;
|
||||
ret Test.262;
|
||||
|
||||
procedure TotallyNotJson.233 (TotallyNotJson.978, TotallyNotJson.239):
|
||||
let TotallyNotJson.237 : List U8 = StructAtIndex 0 TotallyNotJson.978;
|
||||
let TotallyNotJson.238 : U64 = StructAtIndex 1 TotallyNotJson.978;
|
||||
let TotallyNotJson.997 : {} = Struct {};
|
||||
let TotallyNotJson.240 : List U8 = CallByName Encode.24 TotallyNotJson.237 TotallyNotJson.239 TotallyNotJson.997;
|
||||
joinpoint TotallyNotJson.992 TotallyNotJson.241:
|
||||
let TotallyNotJson.990 : U64 = 1i64;
|
||||
let TotallyNotJson.989 : U64 = CallByName Num.20 TotallyNotJson.238 TotallyNotJson.990;
|
||||
let TotallyNotJson.988 : {List U8, U64} = Struct {TotallyNotJson.241, TotallyNotJson.989};
|
||||
ret TotallyNotJson.988;
|
||||
in
|
||||
let TotallyNotJson.996 : U64 = 1i64;
|
||||
let TotallyNotJson.993 : Int1 = CallByName Num.24 TotallyNotJson.238 TotallyNotJson.996;
|
||||
if TotallyNotJson.993 then
|
||||
let TotallyNotJson.995 : I64 = 44i64;
|
||||
let TotallyNotJson.994 : U8 = CallByName Num.127 TotallyNotJson.995;
|
||||
let TotallyNotJson.991 : List U8 = CallByName List.4 TotallyNotJson.240 TotallyNotJson.994;
|
||||
jump TotallyNotJson.992 TotallyNotJson.991;
|
||||
else
|
||||
jump TotallyNotJson.992 TotallyNotJson.240;
|
||||
procedure Test.23 (Test.77, Test.78):
|
||||
let Test.284 : Str = CallByName Test.19 Test.77;
|
||||
let Test.261 : List Str = CallByName List.13 Test.78 Test.284;
|
||||
let Test.260 : {List Str, {}} = CallByName Test.22 Test.261;
|
||||
ret Test.260;
|
||||
|
||||
procedure TotallyNotJson.25 (TotallyNotJson.149):
|
||||
let TotallyNotJson.1015 : Str = CallByName Encode.23 TotallyNotJson.149;
|
||||
ret TotallyNotJson.1015;
|
||||
procedure Test.3 (Test.48, Test.49, Test.50):
|
||||
let Test.282 : U8 = CallByName Num.127 Test.49;
|
||||
let Test.279 : List U8 = CallByName List.4 Test.48 Test.282;
|
||||
let Test.281 : Str = CallByName Num.96 Test.50;
|
||||
let Test.280 : List U8 = CallByName Str.12 Test.281;
|
||||
let Test.277 : List U8 = CallByName List.8 Test.279 Test.280;
|
||||
let Test.278 : U8 = 32i64;
|
||||
let Test.276 : List U8 = CallByName List.4 Test.277 Test.278;
|
||||
ret Test.276;
|
||||
|
||||
procedure TotallyNotJson.26 (TotallyNotJson.152):
|
||||
let TotallyNotJson.153 : List U8 = CallByName Str.12 TotallyNotJson.152;
|
||||
let TotallyNotJson.1097 : U64 = 0i64;
|
||||
let TotallyNotJson.1098 : Int1 = true;
|
||||
let TotallyNotJson.154 : {U64, Int1} = Struct {TotallyNotJson.1097, TotallyNotJson.1098};
|
||||
let TotallyNotJson.1067 : {} = Struct {};
|
||||
inc TotallyNotJson.153;
|
||||
let TotallyNotJson.155 : {U64, Int1} = CallByName List.26 TotallyNotJson.153 TotallyNotJson.154 TotallyNotJson.1067;
|
||||
let TotallyNotJson.1021 : Int1 = StructAtIndex 1 TotallyNotJson.155;
|
||||
let TotallyNotJson.1065 : Int1 = true;
|
||||
let TotallyNotJson.1066 : Int1 = lowlevel Eq TotallyNotJson.1065 TotallyNotJson.1021;
|
||||
if TotallyNotJson.1066 then
|
||||
let TotallyNotJson.1031 : U64 = CallByName List.6 TotallyNotJson.153;
|
||||
let TotallyNotJson.1032 : U64 = 2i64;
|
||||
let TotallyNotJson.1030 : U64 = CallByName Num.19 TotallyNotJson.1031 TotallyNotJson.1032;
|
||||
let TotallyNotJson.1027 : List U8 = CallByName List.68 TotallyNotJson.1030;
|
||||
let TotallyNotJson.1029 : U8 = 34i64;
|
||||
let TotallyNotJson.1028 : List U8 = Array [TotallyNotJson.1029];
|
||||
let TotallyNotJson.1026 : List U8 = CallByName List.8 TotallyNotJson.1027 TotallyNotJson.1028;
|
||||
let TotallyNotJson.1023 : List U8 = CallByName List.8 TotallyNotJson.1026 TotallyNotJson.153;
|
||||
let TotallyNotJson.1025 : U8 = 34i64;
|
||||
let TotallyNotJson.1024 : List U8 = Array [TotallyNotJson.1025];
|
||||
let TotallyNotJson.1022 : List U8 = CallByName List.8 TotallyNotJson.1023 TotallyNotJson.1024;
|
||||
ret TotallyNotJson.1022;
|
||||
else
|
||||
inc TotallyNotJson.153;
|
||||
let TotallyNotJson.1064 : U64 = StructAtIndex 0 TotallyNotJson.155;
|
||||
let TotallyNotJson.1063 : {List U8, List U8} = CallByName List.52 TotallyNotJson.153 TotallyNotJson.1064;
|
||||
let TotallyNotJson.179 : List U8 = StructAtIndex 0 TotallyNotJson.1063;
|
||||
let TotallyNotJson.181 : List U8 = StructAtIndex 1 TotallyNotJson.1063;
|
||||
let TotallyNotJson.1061 : U64 = CallByName List.6 TotallyNotJson.153;
|
||||
dec TotallyNotJson.153;
|
||||
let TotallyNotJson.1062 : U64 = 120i64;
|
||||
let TotallyNotJson.1059 : U64 = CallByName Num.21 TotallyNotJson.1061 TotallyNotJson.1062;
|
||||
let TotallyNotJson.1060 : U64 = 100i64;
|
||||
let TotallyNotJson.1058 : U64 = CallByName Num.137 TotallyNotJson.1059 TotallyNotJson.1060;
|
||||
let TotallyNotJson.1055 : List U8 = CallByName List.68 TotallyNotJson.1058;
|
||||
let TotallyNotJson.1057 : U8 = 34i64;
|
||||
let TotallyNotJson.1056 : List U8 = Array [TotallyNotJson.1057];
|
||||
let TotallyNotJson.1054 : List U8 = CallByName List.8 TotallyNotJson.1055 TotallyNotJson.1056;
|
||||
let TotallyNotJson.182 : List U8 = CallByName List.8 TotallyNotJson.1054 TotallyNotJson.179;
|
||||
let TotallyNotJson.1037 : {} = Struct {};
|
||||
let TotallyNotJson.1034 : List U8 = CallByName List.18 TotallyNotJson.181 TotallyNotJson.182 TotallyNotJson.1037;
|
||||
let TotallyNotJson.1036 : U8 = 34i64;
|
||||
let TotallyNotJson.1035 : List U8 = Array [TotallyNotJson.1036];
|
||||
let TotallyNotJson.1033 : List U8 = CallByName List.8 TotallyNotJson.1034 TotallyNotJson.1035;
|
||||
ret TotallyNotJson.1033;
|
||||
procedure Test.56 (Test.57, Test.287, Test.55):
|
||||
let Test.294 : I64 = 115i64;
|
||||
let Test.295 : U64 = CallByName Str.36 Test.55;
|
||||
let Test.292 : List U8 = CallByName Test.3 Test.57 Test.294 Test.295;
|
||||
let Test.293 : List U8 = CallByName Str.12 Test.55;
|
||||
let Test.290 : List U8 = CallByName List.8 Test.292 Test.293;
|
||||
let Test.291 : U8 = 32i64;
|
||||
let Test.289 : List U8 = CallByName List.4 Test.290 Test.291;
|
||||
ret Test.289;
|
||||
|
||||
procedure TotallyNotJson.27 (TotallyNotJson.186):
|
||||
switch TotallyNotJson.186:
|
||||
case 34:
|
||||
let TotallyNotJson.1040 : List U8 = Array [92i64, 34i64];
|
||||
ret TotallyNotJson.1040;
|
||||
|
||||
case 92:
|
||||
let TotallyNotJson.1041 : List U8 = Array [92i64, 92i64];
|
||||
ret TotallyNotJson.1041;
|
||||
|
||||
case 47:
|
||||
let TotallyNotJson.1042 : List U8 = Array [92i64, 47i64];
|
||||
ret TotallyNotJson.1042;
|
||||
|
||||
case 8:
|
||||
let TotallyNotJson.1044 : U8 = 98i64;
|
||||
let TotallyNotJson.1043 : List U8 = Array [92i64, TotallyNotJson.1044];
|
||||
ret TotallyNotJson.1043;
|
||||
|
||||
case 12:
|
||||
let TotallyNotJson.1046 : U8 = 102i64;
|
||||
let TotallyNotJson.1045 : List U8 = Array [92i64, TotallyNotJson.1046];
|
||||
ret TotallyNotJson.1045;
|
||||
|
||||
case 10:
|
||||
let TotallyNotJson.1048 : U8 = 110i64;
|
||||
let TotallyNotJson.1047 : List U8 = Array [92i64, TotallyNotJson.1048];
|
||||
ret TotallyNotJson.1047;
|
||||
|
||||
case 13:
|
||||
let TotallyNotJson.1050 : U8 = 114i64;
|
||||
let TotallyNotJson.1049 : List U8 = Array [92i64, TotallyNotJson.1050];
|
||||
ret TotallyNotJson.1049;
|
||||
|
||||
case 9:
|
||||
let TotallyNotJson.1052 : U8 = 114i64;
|
||||
let TotallyNotJson.1051 : List U8 = Array [92i64, TotallyNotJson.1052];
|
||||
ret TotallyNotJson.1051;
|
||||
|
||||
default:
|
||||
let TotallyNotJson.1053 : List U8 = Array [TotallyNotJson.186];
|
||||
ret TotallyNotJson.1053;
|
||||
|
||||
procedure Test.60 (Test.61, Test.266, #Attr.12):
|
||||
let Test.59 : {} = StructAtIndex 1 #Attr.12;
|
||||
let Test.58 : List Str = StructAtIndex 0 #Attr.12;
|
||||
let Test.274 : I64 = 108i64;
|
||||
let Test.275 : U64 = CallByName List.6 Test.58;
|
||||
let Test.62 : List U8 = CallByName Test.3 Test.61 Test.274 Test.275;
|
||||
let Test.268 : List U8 = CallByName List.18 Test.58 Test.62 Test.59;
|
||||
ret Test.268;
|
||||
|
||||
procedure TotallyNotJson.31 (TotallyNotJson.229, TotallyNotJson.230):
|
||||
let TotallyNotJson.975 : {Str, List Str} = Struct {TotallyNotJson.229, TotallyNotJson.230};
|
||||
let TotallyNotJson.974 : {Str, List Str} = CallByName Encode.23 TotallyNotJson.975;
|
||||
ret TotallyNotJson.974;
|
||||
procedure Test.63 (Test.64, Test.65, Test.59):
|
||||
let Test.272 : Str = CallByName Test.75 Test.65;
|
||||
let Test.273 : {} = Struct {};
|
||||
let Test.271 : List U8 = CallByName Encode.24 Test.64 Test.272 Test.273;
|
||||
ret Test.271;
|
||||
|
||||
procedure TotallyNotJson.8 ():
|
||||
let TotallyNotJson.973 : {} = Struct {};
|
||||
ret TotallyNotJson.973;
|
||||
procedure Test.75 (Test.76):
|
||||
ret Test.76;
|
||||
|
||||
procedure Test.0 ():
|
||||
let Test.12 : Str = "foo";
|
||||
let Test.11 : {} = CallByName TotallyNotJson.8;
|
||||
let Test.10 : List U8 = CallByName Encode.26 Test.12 Test.11;
|
||||
let Test.2 : [C {U64, U8}, C Str] = CallByName Str.9 Test.10;
|
||||
let Test.7 : U8 = 1i64;
|
||||
let Test.8 : U8 = GetTagId Test.2;
|
||||
let Test.9 : Int1 = lowlevel Eq Test.7 Test.8;
|
||||
if Test.9 then
|
||||
let Test.4 : Str = UnionAtIndex (Id 1) (Index 0) Test.2;
|
||||
ret Test.4;
|
||||
let Test.259 : Str = "foo";
|
||||
let Test.257 : {} = CallByName Test.2;
|
||||
let Test.256 : List U8 = CallByName Encode.26 Test.259 Test.257;
|
||||
let Test.210 : [C {U64, U8}, C Str] = CallByName Str.9 Test.256;
|
||||
let Test.253 : U8 = 1i64;
|
||||
let Test.254 : U8 = GetTagId Test.210;
|
||||
let Test.255 : Int1 = lowlevel Eq Test.253 Test.254;
|
||||
if Test.255 then
|
||||
let Test.212 : Str = UnionAtIndex (Id 1) (Index 0) Test.210;
|
||||
ret Test.212;
|
||||
else
|
||||
dec Test.2;
|
||||
let Test.6 : Str = "<bad>";
|
||||
ret Test.6;
|
||||
dec Test.210;
|
||||
let Test.252 : Str = "<bad>";
|
||||
ret Test.252;
|
||||
|
|
|
@ -10,10 +10,10 @@ procedure #Derived.4 (#Derived.5, #Derived.6, #Derived.1):
|
|||
let #Derived.2 : Str = StructAtIndex 0 #Derived.1;
|
||||
let #Derived.3 : Str = StructAtIndex 1 #Derived.1;
|
||||
let #Derived_gen.7 : Str = "A";
|
||||
let #Derived_gen.9 : Str = CallByName TotallyNotJson.25 #Derived.2;
|
||||
let #Derived_gen.10 : Str = CallByName TotallyNotJson.25 #Derived.3;
|
||||
let #Derived_gen.9 : Str = CallByName Test.19 #Derived.2;
|
||||
let #Derived_gen.10 : Str = CallByName Test.19 #Derived.3;
|
||||
let #Derived_gen.8 : List Str = Array [#Derived_gen.9, #Derived_gen.10];
|
||||
let #Derived_gen.6 : {Str, List Str} = CallByName TotallyNotJson.31 #Derived_gen.7 #Derived_gen.8;
|
||||
let #Derived_gen.6 : {List Str, {}} = CallByName Test.23 #Derived_gen.7 #Derived_gen.8;
|
||||
jump #Derived_gen.5 #Derived_gen.6;
|
||||
|
||||
procedure Encode.23 (Encode.98):
|
||||
|
@ -30,12 +30,12 @@ procedure Encode.24 (Encode.99, Encode.107, Encode.101):
|
|||
ret Encode.111;
|
||||
|
||||
procedure Encode.24 (Encode.99, Encode.107, Encode.101):
|
||||
let Encode.113 : List U8 = CallByName TotallyNotJson.231 Encode.99 Encode.101 Encode.107;
|
||||
let Encode.113 : List U8 = CallByName Test.60 Encode.99 Encode.101 Encode.107;
|
||||
ret Encode.113;
|
||||
|
||||
procedure Encode.24 (Encode.99, Encode.107, Encode.101):
|
||||
let Encode.117 : List U8 = CallByName TotallyNotJson.150 Encode.99 Encode.101 Encode.107;
|
||||
ret Encode.117;
|
||||
let Encode.118 : List U8 = CallByName Test.56 Encode.99 Encode.101 Encode.107;
|
||||
ret Encode.118;
|
||||
|
||||
procedure Encode.26 (Encode.105, Encode.106):
|
||||
let Encode.109 : List U8 = Array [];
|
||||
|
@ -43,200 +43,82 @@ procedure Encode.26 (Encode.105, Encode.106):
|
|||
let Encode.108 : List U8 = CallByName Encode.24 Encode.109 Encode.110 Encode.106;
|
||||
ret Encode.108;
|
||||
|
||||
procedure List.104 (List.488, List.489, List.490):
|
||||
let List.657 : U64 = 0i64;
|
||||
let List.658 : U64 = CallByName List.6 List.488;
|
||||
let List.656 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.80 List.488 List.489 List.490 List.657 List.658;
|
||||
ret List.656;
|
||||
|
||||
procedure List.18 (List.160, List.161, List.162):
|
||||
let List.601 : U64 = 0i64;
|
||||
let List.602 : U64 = CallByName List.6 List.160;
|
||||
let List.600 : {List U8, U64} = CallByName List.92 List.160 List.161 List.162 List.601 List.602;
|
||||
procedure List.13 (#Attr.2, #Attr.3):
|
||||
let List.600 : List Str = lowlevel ListPrepend #Attr.2 #Attr.3;
|
||||
ret List.600;
|
||||
|
||||
procedure List.18 (List.160, List.161, List.162):
|
||||
let List.613 : U64 = 0i64;
|
||||
let List.614 : U64 = CallByName List.6 List.160;
|
||||
let List.612 : List U8 = CallByName List.92 List.160 List.161 List.162 List.613 List.614;
|
||||
ret List.612;
|
||||
|
||||
procedure List.26 (List.201, List.202, List.203):
|
||||
let List.650 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.104 List.201 List.202 List.203;
|
||||
let List.653 : U8 = 1i64;
|
||||
let List.654 : U8 = GetTagId List.650;
|
||||
let List.655 : Int1 = lowlevel Eq List.653 List.654;
|
||||
if List.655 then
|
||||
let List.204 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.650;
|
||||
ret List.204;
|
||||
else
|
||||
let List.205 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.650;
|
||||
ret List.205;
|
||||
let List.575 : U64 = 0i64;
|
||||
let List.576 : U64 = CallByName List.6 List.160;
|
||||
let List.574 : List U8 = CallByName List.92 List.160 List.161 List.162 List.575 List.576;
|
||||
ret List.574;
|
||||
|
||||
procedure List.4 (List.124, List.125):
|
||||
let List.599 : U64 = 1i64;
|
||||
let List.598 : List U8 = CallByName List.70 List.124 List.599;
|
||||
let List.597 : List U8 = CallByName List.71 List.598 List.125;
|
||||
ret List.597;
|
||||
|
||||
procedure List.49 (List.420, List.421):
|
||||
let List.641 : U64 = StructAtIndex 1 List.421;
|
||||
let List.642 : U64 = StructAtIndex 0 List.421;
|
||||
let List.640 : List U8 = CallByName List.72 List.420 List.641 List.642;
|
||||
ret List.640;
|
||||
|
||||
procedure List.52 (List.435, List.436):
|
||||
let List.437 : U64 = CallByName List.6 List.435;
|
||||
joinpoint List.648 List.438:
|
||||
let List.646 : U64 = 0i64;
|
||||
let List.645 : {U64, U64} = Struct {List.438, List.646};
|
||||
inc List.435;
|
||||
let List.439 : List U8 = CallByName List.49 List.435 List.645;
|
||||
let List.644 : U64 = CallByName Num.75 List.437 List.438;
|
||||
let List.639 : {U64, U64} = Struct {List.644, List.438};
|
||||
let List.440 : List U8 = CallByName List.49 List.435 List.639;
|
||||
let List.638 : {List U8, List U8} = Struct {List.439, List.440};
|
||||
ret List.638;
|
||||
in
|
||||
let List.649 : Int1 = CallByName Num.24 List.437 List.436;
|
||||
if List.649 then
|
||||
jump List.648 List.436;
|
||||
else
|
||||
jump List.648 List.437;
|
||||
let List.596 : U64 = 1i64;
|
||||
let List.595 : List U8 = CallByName List.70 List.124 List.596;
|
||||
let List.594 : List U8 = CallByName List.71 List.595 List.125;
|
||||
ret List.594;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.624 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.624;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.626 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.626;
|
||||
let List.599 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.599;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.610 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.610;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.622 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.622;
|
||||
|
||||
procedure List.68 (#Attr.2):
|
||||
let List.637 : List U8 = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.637;
|
||||
let List.584 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.584;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.578 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.578;
|
||||
let List.590 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.590;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.576 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.576;
|
||||
|
||||
procedure List.72 (#Attr.2, #Attr.3, #Attr.4):
|
||||
let List.643 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.643;
|
||||
let List.588 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.588;
|
||||
|
||||
procedure List.8 (#Attr.2, #Attr.3):
|
||||
let List.635 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.635;
|
||||
|
||||
procedure List.80 (#Derived_gen.19, #Derived_gen.20, #Derived_gen.21, #Derived_gen.22, #Derived_gen.23):
|
||||
joinpoint List.659 List.491 List.492 List.493 List.494 List.495:
|
||||
let List.661 : Int1 = CallByName Num.22 List.494 List.495;
|
||||
if List.661 then
|
||||
let List.670 : U8 = CallByName List.66 List.491 List.494;
|
||||
let List.662 : [C {U64, Int1}, C {U64, Int1}] = CallByName TotallyNotJson.157 List.492 List.670;
|
||||
let List.667 : U8 = 1i64;
|
||||
let List.668 : U8 = GetTagId List.662;
|
||||
let List.669 : Int1 = lowlevel Eq List.667 List.668;
|
||||
if List.669 then
|
||||
let List.496 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.662;
|
||||
let List.665 : U64 = 1i64;
|
||||
let List.664 : U64 = CallByName Num.51 List.494 List.665;
|
||||
jump List.659 List.491 List.496 List.493 List.664 List.495;
|
||||
else
|
||||
dec List.491;
|
||||
let List.497 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.662;
|
||||
let List.666 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) List.497;
|
||||
ret List.666;
|
||||
else
|
||||
dec List.491;
|
||||
let List.660 : [C {U64, Int1}, C {U64, Int1}] = TagId(1) List.492;
|
||||
ret List.660;
|
||||
in
|
||||
jump List.659 #Derived_gen.19 #Derived_gen.20 #Derived_gen.21 #Derived_gen.22 #Derived_gen.23;
|
||||
let List.598 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.598;
|
||||
|
||||
procedure List.92 (#Derived_gen.14, #Derived_gen.15, #Derived_gen.16, #Derived_gen.17, #Derived_gen.18):
|
||||
joinpoint List.615 List.163 List.164 List.165 List.166 List.167:
|
||||
let List.617 : Int1 = CallByName Num.22 List.166 List.167;
|
||||
if List.617 then
|
||||
let List.621 : U8 = CallByName List.66 List.163 List.166;
|
||||
let List.168 : List U8 = CallByName TotallyNotJson.183 List.164 List.621;
|
||||
let List.620 : U64 = 1i64;
|
||||
let List.619 : U64 = CallByName Num.51 List.166 List.620;
|
||||
jump List.615 List.163 List.168 List.165 List.619 List.167;
|
||||
joinpoint List.577 List.163 List.164 List.165 List.166 List.167:
|
||||
let List.579 : Int1 = CallByName Num.22 List.166 List.167;
|
||||
if List.579 then
|
||||
let List.583 : Str = CallByName List.66 List.163 List.166;
|
||||
inc List.583;
|
||||
let List.168 : List U8 = CallByName Test.63 List.164 List.583 List.165;
|
||||
let List.582 : U64 = 1i64;
|
||||
let List.581 : U64 = CallByName Num.51 List.166 List.582;
|
||||
jump List.577 List.163 List.168 List.165 List.581 List.167;
|
||||
else
|
||||
dec List.163;
|
||||
ret List.164;
|
||||
in
|
||||
jump List.615 #Derived_gen.14 #Derived_gen.15 #Derived_gen.16 #Derived_gen.17 #Derived_gen.18;
|
||||
|
||||
procedure List.92 (#Derived_gen.30, #Derived_gen.31, #Derived_gen.32, #Derived_gen.33, #Derived_gen.34):
|
||||
joinpoint List.603 List.163 List.164 List.165 List.166 List.167:
|
||||
let List.605 : Int1 = CallByName Num.22 List.166 List.167;
|
||||
if List.605 then
|
||||
let List.609 : Str = CallByName List.66 List.163 List.166;
|
||||
inc List.609;
|
||||
let List.168 : {List U8, U64} = CallByName TotallyNotJson.233 List.164 List.609;
|
||||
let List.608 : U64 = 1i64;
|
||||
let List.607 : U64 = CallByName Num.51 List.166 List.608;
|
||||
jump List.603 List.163 List.168 List.165 List.607 List.167;
|
||||
else
|
||||
dec List.163;
|
||||
ret List.164;
|
||||
in
|
||||
jump List.603 #Derived_gen.30 #Derived_gen.31 #Derived_gen.32 #Derived_gen.33 #Derived_gen.34;
|
||||
jump List.577 #Derived_gen.14 #Derived_gen.15 #Derived_gen.16 #Derived_gen.17 #Derived_gen.18;
|
||||
|
||||
procedure Num.127 (#Attr.2):
|
||||
let Num.286 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
ret Num.286;
|
||||
|
||||
procedure Num.137 (#Attr.2, #Attr.3):
|
||||
let Num.291 : U64 = lowlevel NumDivCeilUnchecked #Attr.2 #Attr.3;
|
||||
ret Num.291;
|
||||
|
||||
procedure Num.19 (#Attr.2, #Attr.3):
|
||||
let Num.290 : U64 = lowlevel NumAdd #Attr.2 #Attr.3;
|
||||
ret Num.290;
|
||||
|
||||
procedure Num.20 (#Attr.2, #Attr.3):
|
||||
let Num.287 : U64 = lowlevel NumSub #Attr.2 #Attr.3;
|
||||
ret Num.287;
|
||||
|
||||
procedure Num.21 (#Attr.2, #Attr.3):
|
||||
let Num.292 : U64 = lowlevel NumMul #Attr.2 #Attr.3;
|
||||
ret Num.292;
|
||||
let Num.280 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
ret Num.280;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.298 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
ret Num.298;
|
||||
|
||||
procedure Num.24 (#Attr.2, #Attr.3):
|
||||
let Num.300 : Int1 = lowlevel NumGt #Attr.2 #Attr.3;
|
||||
ret Num.300;
|
||||
let Num.282 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
ret Num.282;
|
||||
|
||||
procedure Num.51 (#Attr.2, #Attr.3):
|
||||
let Num.295 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
|
||||
ret Num.295;
|
||||
let Num.281 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
|
||||
ret Num.281;
|
||||
|
||||
procedure Num.75 (#Attr.2, #Attr.3):
|
||||
let Num.299 : U64 = lowlevel NumSubWrap #Attr.2 #Attr.3;
|
||||
ret Num.299;
|
||||
procedure Num.96 (#Attr.2):
|
||||
let Num.279 : Str = lowlevel NumToStr #Attr.2;
|
||||
ret Num.279;
|
||||
|
||||
procedure Str.12 (#Attr.2):
|
||||
let Str.241 : List U8 = lowlevel StrToUtf8 #Attr.2;
|
||||
ret Str.241;
|
||||
|
||||
procedure Str.36 (#Attr.2):
|
||||
let Str.242 : U64 = lowlevel StrCountUtf8Bytes #Attr.2;
|
||||
ret Str.242;
|
||||
|
||||
procedure Str.43 (#Attr.2):
|
||||
let Str.239 : {U64, Str, Int1, U8} = lowlevel StrFromUtf8 #Attr.2;
|
||||
ret Str.239;
|
||||
|
@ -251,255 +133,88 @@ procedure Str.9 (Str.67):
|
|||
else
|
||||
let Str.234 : U8 = StructAtIndex 3 Str.68;
|
||||
let Str.235 : U64 = StructAtIndex 0 Str.68;
|
||||
let #Derived_gen.35 : Str = StructAtIndex 1 Str.68;
|
||||
dec #Derived_gen.35;
|
||||
let #Derived_gen.28 : Str = StructAtIndex 1 Str.68;
|
||||
dec #Derived_gen.28;
|
||||
let Str.233 : {U64, U8} = Struct {Str.235, Str.234};
|
||||
let Str.232 : [C {U64, U8}, C Str] = TagId(0) Str.233;
|
||||
ret Str.232;
|
||||
|
||||
procedure TotallyNotJson.150 (TotallyNotJson.151, TotallyNotJson.1017, TotallyNotJson.149):
|
||||
let TotallyNotJson.1020 : List U8 = CallByName TotallyNotJson.26 TotallyNotJson.149;
|
||||
let TotallyNotJson.1019 : List U8 = CallByName List.8 TotallyNotJson.151 TotallyNotJson.1020;
|
||||
ret TotallyNotJson.1019;
|
||||
procedure Test.19 (Test.55):
|
||||
let Test.300 : Str = CallByName Encode.23 Test.55;
|
||||
ret Test.300;
|
||||
|
||||
procedure TotallyNotJson.157 (TotallyNotJson.1068, TotallyNotJson.160):
|
||||
let TotallyNotJson.158 : U64 = StructAtIndex 0 TotallyNotJson.1068;
|
||||
let TotallyNotJson.159 : Int1 = StructAtIndex 1 TotallyNotJson.1068;
|
||||
switch TotallyNotJson.160:
|
||||
case 34:
|
||||
let TotallyNotJson.1071 : Int1 = false;
|
||||
let TotallyNotJson.1070 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1071};
|
||||
let TotallyNotJson.1069 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1070;
|
||||
ret TotallyNotJson.1069;
|
||||
|
||||
case 92:
|
||||
let TotallyNotJson.1074 : Int1 = false;
|
||||
let TotallyNotJson.1073 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1074};
|
||||
let TotallyNotJson.1072 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1073;
|
||||
ret TotallyNotJson.1072;
|
||||
|
||||
case 47:
|
||||
let TotallyNotJson.1077 : Int1 = false;
|
||||
let TotallyNotJson.1076 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1077};
|
||||
let TotallyNotJson.1075 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1076;
|
||||
ret TotallyNotJson.1075;
|
||||
|
||||
case 8:
|
||||
let TotallyNotJson.1080 : Int1 = false;
|
||||
let TotallyNotJson.1079 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1080};
|
||||
let TotallyNotJson.1078 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1079;
|
||||
ret TotallyNotJson.1078;
|
||||
|
||||
case 12:
|
||||
let TotallyNotJson.1083 : Int1 = false;
|
||||
let TotallyNotJson.1082 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1083};
|
||||
let TotallyNotJson.1081 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1082;
|
||||
ret TotallyNotJson.1081;
|
||||
|
||||
case 10:
|
||||
let TotallyNotJson.1086 : Int1 = false;
|
||||
let TotallyNotJson.1085 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1086};
|
||||
let TotallyNotJson.1084 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1085;
|
||||
ret TotallyNotJson.1084;
|
||||
|
||||
case 13:
|
||||
let TotallyNotJson.1089 : Int1 = false;
|
||||
let TotallyNotJson.1088 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1089};
|
||||
let TotallyNotJson.1087 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1088;
|
||||
ret TotallyNotJson.1087;
|
||||
|
||||
case 9:
|
||||
let TotallyNotJson.1092 : Int1 = false;
|
||||
let TotallyNotJson.1091 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1092};
|
||||
let TotallyNotJson.1090 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1091;
|
||||
ret TotallyNotJson.1090;
|
||||
|
||||
default:
|
||||
let TotallyNotJson.1096 : U64 = 1i64;
|
||||
let TotallyNotJson.1095 : U64 = CallByName Num.19 TotallyNotJson.158 TotallyNotJson.1096;
|
||||
let TotallyNotJson.1094 : {U64, Int1} = Struct {TotallyNotJson.1095, TotallyNotJson.159};
|
||||
let TotallyNotJson.1093 : [C {U64, Int1}, C {U64, Int1}] = TagId(1) TotallyNotJson.1094;
|
||||
ret TotallyNotJson.1093;
|
||||
|
||||
procedure Test.2 ():
|
||||
let Test.258 : {} = Struct {};
|
||||
ret Test.258;
|
||||
|
||||
procedure TotallyNotJson.183 (TotallyNotJson.184, TotallyNotJson.185):
|
||||
let TotallyNotJson.1039 : List U8 = CallByName TotallyNotJson.27 TotallyNotJson.185;
|
||||
let TotallyNotJson.1038 : List U8 = CallByName List.8 TotallyNotJson.184 TotallyNotJson.1039;
|
||||
ret TotallyNotJson.1038;
|
||||
procedure Test.20 (Test.58, Test.59):
|
||||
let Test.266 : {List Str, {}} = Struct {Test.58, Test.59};
|
||||
let Test.265 : {List Str, {}} = CallByName Encode.23 Test.266;
|
||||
ret Test.265;
|
||||
|
||||
procedure TotallyNotJson.231 (TotallyNotJson.232, TotallyNotJson.976, #Attr.12):
|
||||
let TotallyNotJson.230 : List Str = StructAtIndex 1 #Attr.12;
|
||||
let TotallyNotJson.229 : Str = StructAtIndex 0 #Attr.12;
|
||||
let TotallyNotJson.1014 : I64 = 123i64;
|
||||
let TotallyNotJson.1013 : U8 = CallByName Num.127 TotallyNotJson.1014;
|
||||
let TotallyNotJson.1010 : List U8 = CallByName List.4 TotallyNotJson.232 TotallyNotJson.1013;
|
||||
let TotallyNotJson.1012 : I64 = 34i64;
|
||||
let TotallyNotJson.1011 : U8 = CallByName Num.127 TotallyNotJson.1012;
|
||||
let TotallyNotJson.1008 : List U8 = CallByName List.4 TotallyNotJson.1010 TotallyNotJson.1011;
|
||||
let TotallyNotJson.1009 : List U8 = CallByName Str.12 TotallyNotJson.229;
|
||||
let TotallyNotJson.1005 : List U8 = CallByName List.8 TotallyNotJson.1008 TotallyNotJson.1009;
|
||||
let TotallyNotJson.1007 : I64 = 34i64;
|
||||
let TotallyNotJson.1006 : U8 = CallByName Num.127 TotallyNotJson.1007;
|
||||
let TotallyNotJson.1002 : List U8 = CallByName List.4 TotallyNotJson.1005 TotallyNotJson.1006;
|
||||
let TotallyNotJson.1004 : I64 = 58i64;
|
||||
let TotallyNotJson.1003 : U8 = CallByName Num.127 TotallyNotJson.1004;
|
||||
let TotallyNotJson.999 : List U8 = CallByName List.4 TotallyNotJson.1002 TotallyNotJson.1003;
|
||||
let TotallyNotJson.1001 : I64 = 91i64;
|
||||
let TotallyNotJson.1000 : U8 = CallByName Num.127 TotallyNotJson.1001;
|
||||
let TotallyNotJson.234 : List U8 = CallByName List.4 TotallyNotJson.999 TotallyNotJson.1000;
|
||||
let TotallyNotJson.998 : U64 = CallByName List.6 TotallyNotJson.230;
|
||||
let TotallyNotJson.986 : {List U8, U64} = Struct {TotallyNotJson.234, TotallyNotJson.998};
|
||||
let TotallyNotJson.987 : {} = Struct {};
|
||||
let TotallyNotJson.985 : {List U8, U64} = CallByName List.18 TotallyNotJson.230 TotallyNotJson.986 TotallyNotJson.987;
|
||||
let TotallyNotJson.236 : List U8 = StructAtIndex 0 TotallyNotJson.985;
|
||||
let TotallyNotJson.984 : I64 = 93i64;
|
||||
let TotallyNotJson.983 : U8 = CallByName Num.127 TotallyNotJson.984;
|
||||
let TotallyNotJson.980 : List U8 = CallByName List.4 TotallyNotJson.236 TotallyNotJson.983;
|
||||
let TotallyNotJson.982 : I64 = 125i64;
|
||||
let TotallyNotJson.981 : U8 = CallByName Num.127 TotallyNotJson.982;
|
||||
let TotallyNotJson.979 : List U8 = CallByName List.4 TotallyNotJson.980 TotallyNotJson.981;
|
||||
ret TotallyNotJson.979;
|
||||
procedure Test.22 (Test.74):
|
||||
let Test.264 : {} = Struct {};
|
||||
let Test.263 : {List Str, {}} = CallByName Test.20 Test.74 Test.264;
|
||||
ret Test.263;
|
||||
|
||||
procedure TotallyNotJson.233 (TotallyNotJson.978, TotallyNotJson.239):
|
||||
let TotallyNotJson.237 : List U8 = StructAtIndex 0 TotallyNotJson.978;
|
||||
let TotallyNotJson.238 : U64 = StructAtIndex 1 TotallyNotJson.978;
|
||||
let TotallyNotJson.997 : {} = Struct {};
|
||||
let TotallyNotJson.240 : List U8 = CallByName Encode.24 TotallyNotJson.237 TotallyNotJson.239 TotallyNotJson.997;
|
||||
joinpoint TotallyNotJson.992 TotallyNotJson.241:
|
||||
let TotallyNotJson.990 : U64 = 1i64;
|
||||
let TotallyNotJson.989 : U64 = CallByName Num.20 TotallyNotJson.238 TotallyNotJson.990;
|
||||
let TotallyNotJson.988 : {List U8, U64} = Struct {TotallyNotJson.241, TotallyNotJson.989};
|
||||
ret TotallyNotJson.988;
|
||||
in
|
||||
let TotallyNotJson.996 : U64 = 1i64;
|
||||
let TotallyNotJson.993 : Int1 = CallByName Num.24 TotallyNotJson.238 TotallyNotJson.996;
|
||||
if TotallyNotJson.993 then
|
||||
let TotallyNotJson.995 : I64 = 44i64;
|
||||
let TotallyNotJson.994 : U8 = CallByName Num.127 TotallyNotJson.995;
|
||||
let TotallyNotJson.991 : List U8 = CallByName List.4 TotallyNotJson.240 TotallyNotJson.994;
|
||||
jump TotallyNotJson.992 TotallyNotJson.991;
|
||||
else
|
||||
jump TotallyNotJson.992 TotallyNotJson.240;
|
||||
procedure Test.23 (Test.77, Test.78):
|
||||
let Test.285 : Str = CallByName Test.19 Test.77;
|
||||
let Test.262 : List Str = CallByName List.13 Test.78 Test.285;
|
||||
let Test.261 : {List Str, {}} = CallByName Test.22 Test.262;
|
||||
ret Test.261;
|
||||
|
||||
procedure TotallyNotJson.25 (TotallyNotJson.149):
|
||||
let TotallyNotJson.1099 : Str = CallByName Encode.23 TotallyNotJson.149;
|
||||
ret TotallyNotJson.1099;
|
||||
procedure Test.3 (Test.48, Test.49, Test.50):
|
||||
let Test.283 : U8 = CallByName Num.127 Test.49;
|
||||
let Test.280 : List U8 = CallByName List.4 Test.48 Test.283;
|
||||
let Test.282 : Str = CallByName Num.96 Test.50;
|
||||
let Test.281 : List U8 = CallByName Str.12 Test.282;
|
||||
let Test.278 : List U8 = CallByName List.8 Test.280 Test.281;
|
||||
let Test.279 : U8 = 32i64;
|
||||
let Test.277 : List U8 = CallByName List.4 Test.278 Test.279;
|
||||
ret Test.277;
|
||||
|
||||
procedure TotallyNotJson.26 (TotallyNotJson.152):
|
||||
let TotallyNotJson.153 : List U8 = CallByName Str.12 TotallyNotJson.152;
|
||||
let TotallyNotJson.1097 : U64 = 0i64;
|
||||
let TotallyNotJson.1098 : Int1 = true;
|
||||
let TotallyNotJson.154 : {U64, Int1} = Struct {TotallyNotJson.1097, TotallyNotJson.1098};
|
||||
let TotallyNotJson.1067 : {} = Struct {};
|
||||
inc TotallyNotJson.153;
|
||||
let TotallyNotJson.155 : {U64, Int1} = CallByName List.26 TotallyNotJson.153 TotallyNotJson.154 TotallyNotJson.1067;
|
||||
let TotallyNotJson.1021 : Int1 = StructAtIndex 1 TotallyNotJson.155;
|
||||
let TotallyNotJson.1065 : Int1 = true;
|
||||
let TotallyNotJson.1066 : Int1 = lowlevel Eq TotallyNotJson.1065 TotallyNotJson.1021;
|
||||
if TotallyNotJson.1066 then
|
||||
let TotallyNotJson.1031 : U64 = CallByName List.6 TotallyNotJson.153;
|
||||
let TotallyNotJson.1032 : U64 = 2i64;
|
||||
let TotallyNotJson.1030 : U64 = CallByName Num.19 TotallyNotJson.1031 TotallyNotJson.1032;
|
||||
let TotallyNotJson.1027 : List U8 = CallByName List.68 TotallyNotJson.1030;
|
||||
let TotallyNotJson.1029 : U8 = 34i64;
|
||||
let TotallyNotJson.1028 : List U8 = Array [TotallyNotJson.1029];
|
||||
let TotallyNotJson.1026 : List U8 = CallByName List.8 TotallyNotJson.1027 TotallyNotJson.1028;
|
||||
let TotallyNotJson.1023 : List U8 = CallByName List.8 TotallyNotJson.1026 TotallyNotJson.153;
|
||||
let TotallyNotJson.1025 : U8 = 34i64;
|
||||
let TotallyNotJson.1024 : List U8 = Array [TotallyNotJson.1025];
|
||||
let TotallyNotJson.1022 : List U8 = CallByName List.8 TotallyNotJson.1023 TotallyNotJson.1024;
|
||||
ret TotallyNotJson.1022;
|
||||
else
|
||||
inc TotallyNotJson.153;
|
||||
let TotallyNotJson.1064 : U64 = StructAtIndex 0 TotallyNotJson.155;
|
||||
let TotallyNotJson.1063 : {List U8, List U8} = CallByName List.52 TotallyNotJson.153 TotallyNotJson.1064;
|
||||
let TotallyNotJson.179 : List U8 = StructAtIndex 0 TotallyNotJson.1063;
|
||||
let TotallyNotJson.181 : List U8 = StructAtIndex 1 TotallyNotJson.1063;
|
||||
let TotallyNotJson.1061 : U64 = CallByName List.6 TotallyNotJson.153;
|
||||
dec TotallyNotJson.153;
|
||||
let TotallyNotJson.1062 : U64 = 120i64;
|
||||
let TotallyNotJson.1059 : U64 = CallByName Num.21 TotallyNotJson.1061 TotallyNotJson.1062;
|
||||
let TotallyNotJson.1060 : U64 = 100i64;
|
||||
let TotallyNotJson.1058 : U64 = CallByName Num.137 TotallyNotJson.1059 TotallyNotJson.1060;
|
||||
let TotallyNotJson.1055 : List U8 = CallByName List.68 TotallyNotJson.1058;
|
||||
let TotallyNotJson.1057 : U8 = 34i64;
|
||||
let TotallyNotJson.1056 : List U8 = Array [TotallyNotJson.1057];
|
||||
let TotallyNotJson.1054 : List U8 = CallByName List.8 TotallyNotJson.1055 TotallyNotJson.1056;
|
||||
let TotallyNotJson.182 : List U8 = CallByName List.8 TotallyNotJson.1054 TotallyNotJson.179;
|
||||
let TotallyNotJson.1037 : {} = Struct {};
|
||||
let TotallyNotJson.1034 : List U8 = CallByName List.18 TotallyNotJson.181 TotallyNotJson.182 TotallyNotJson.1037;
|
||||
let TotallyNotJson.1036 : U8 = 34i64;
|
||||
let TotallyNotJson.1035 : List U8 = Array [TotallyNotJson.1036];
|
||||
let TotallyNotJson.1033 : List U8 = CallByName List.8 TotallyNotJson.1034 TotallyNotJson.1035;
|
||||
ret TotallyNotJson.1033;
|
||||
procedure Test.56 (Test.57, Test.288, Test.55):
|
||||
let Test.295 : I64 = 115i64;
|
||||
let Test.296 : U64 = CallByName Str.36 Test.55;
|
||||
let Test.293 : List U8 = CallByName Test.3 Test.57 Test.295 Test.296;
|
||||
let Test.294 : List U8 = CallByName Str.12 Test.55;
|
||||
let Test.291 : List U8 = CallByName List.8 Test.293 Test.294;
|
||||
let Test.292 : U8 = 32i64;
|
||||
let Test.290 : List U8 = CallByName List.4 Test.291 Test.292;
|
||||
ret Test.290;
|
||||
|
||||
procedure TotallyNotJson.27 (TotallyNotJson.186):
|
||||
switch TotallyNotJson.186:
|
||||
case 34:
|
||||
let TotallyNotJson.1040 : List U8 = Array [92i64, 34i64];
|
||||
ret TotallyNotJson.1040;
|
||||
|
||||
case 92:
|
||||
let TotallyNotJson.1041 : List U8 = Array [92i64, 92i64];
|
||||
ret TotallyNotJson.1041;
|
||||
|
||||
case 47:
|
||||
let TotallyNotJson.1042 : List U8 = Array [92i64, 47i64];
|
||||
ret TotallyNotJson.1042;
|
||||
|
||||
case 8:
|
||||
let TotallyNotJson.1044 : U8 = 98i64;
|
||||
let TotallyNotJson.1043 : List U8 = Array [92i64, TotallyNotJson.1044];
|
||||
ret TotallyNotJson.1043;
|
||||
|
||||
case 12:
|
||||
let TotallyNotJson.1046 : U8 = 102i64;
|
||||
let TotallyNotJson.1045 : List U8 = Array [92i64, TotallyNotJson.1046];
|
||||
ret TotallyNotJson.1045;
|
||||
|
||||
case 10:
|
||||
let TotallyNotJson.1048 : U8 = 110i64;
|
||||
let TotallyNotJson.1047 : List U8 = Array [92i64, TotallyNotJson.1048];
|
||||
ret TotallyNotJson.1047;
|
||||
|
||||
case 13:
|
||||
let TotallyNotJson.1050 : U8 = 114i64;
|
||||
let TotallyNotJson.1049 : List U8 = Array [92i64, TotallyNotJson.1050];
|
||||
ret TotallyNotJson.1049;
|
||||
|
||||
case 9:
|
||||
let TotallyNotJson.1052 : U8 = 114i64;
|
||||
let TotallyNotJson.1051 : List U8 = Array [92i64, TotallyNotJson.1052];
|
||||
ret TotallyNotJson.1051;
|
||||
|
||||
default:
|
||||
let TotallyNotJson.1053 : List U8 = Array [TotallyNotJson.186];
|
||||
ret TotallyNotJson.1053;
|
||||
|
||||
procedure Test.60 (Test.61, Test.267, #Attr.12):
|
||||
let Test.59 : {} = StructAtIndex 1 #Attr.12;
|
||||
let Test.58 : List Str = StructAtIndex 0 #Attr.12;
|
||||
let Test.275 : I64 = 108i64;
|
||||
let Test.276 : U64 = CallByName List.6 Test.58;
|
||||
let Test.62 : List U8 = CallByName Test.3 Test.61 Test.275 Test.276;
|
||||
let Test.269 : List U8 = CallByName List.18 Test.58 Test.62 Test.59;
|
||||
ret Test.269;
|
||||
|
||||
procedure TotallyNotJson.31 (TotallyNotJson.229, TotallyNotJson.230):
|
||||
let TotallyNotJson.975 : {Str, List Str} = Struct {TotallyNotJson.229, TotallyNotJson.230};
|
||||
let TotallyNotJson.974 : {Str, List Str} = CallByName Encode.23 TotallyNotJson.975;
|
||||
ret TotallyNotJson.974;
|
||||
procedure Test.63 (Test.64, Test.65, Test.59):
|
||||
let Test.273 : Str = CallByName Test.75 Test.65;
|
||||
let Test.274 : {} = Struct {};
|
||||
let Test.272 : List U8 = CallByName Encode.24 Test.64 Test.273 Test.274;
|
||||
ret Test.272;
|
||||
|
||||
procedure TotallyNotJson.8 ():
|
||||
let TotallyNotJson.973 : {} = Struct {};
|
||||
ret TotallyNotJson.973;
|
||||
procedure Test.75 (Test.76):
|
||||
ret Test.76;
|
||||
|
||||
procedure Test.0 ():
|
||||
let Test.13 : Str = "foo";
|
||||
let Test.12 : Str = "foo";
|
||||
let Test.1 : {Str, Str} = Struct {Test.12, Test.13};
|
||||
let Test.11 : {} = CallByName TotallyNotJson.8;
|
||||
let Test.10 : List U8 = CallByName Encode.26 Test.1 Test.11;
|
||||
let Test.2 : [C {U64, U8}, C Str] = CallByName Str.9 Test.10;
|
||||
let Test.7 : U8 = 1i64;
|
||||
let Test.8 : U8 = GetTagId Test.2;
|
||||
let Test.9 : Int1 = lowlevel Eq Test.7 Test.8;
|
||||
if Test.9 then
|
||||
let Test.4 : Str = UnionAtIndex (Id 1) (Index 0) Test.2;
|
||||
ret Test.4;
|
||||
let Test.260 : Str = "foo";
|
||||
let Test.259 : Str = "foo";
|
||||
let Test.209 : {Str, Str} = Struct {Test.259, Test.260};
|
||||
let Test.257 : {} = CallByName Test.2;
|
||||
let Test.256 : List U8 = CallByName Encode.26 Test.209 Test.257;
|
||||
let Test.210 : [C {U64, U8}, C Str] = CallByName Str.9 Test.256;
|
||||
let Test.253 : U8 = 1i64;
|
||||
let Test.254 : U8 = GetTagId Test.210;
|
||||
let Test.255 : Int1 = lowlevel Eq Test.253 Test.254;
|
||||
if Test.255 then
|
||||
let Test.212 : Str = UnionAtIndex (Id 1) (Index 0) Test.210;
|
||||
ret Test.212;
|
||||
else
|
||||
dec Test.2;
|
||||
let Test.6 : Str = "<bad>";
|
||||
ret Test.6;
|
||||
dec Test.210;
|
||||
let Test.252 : Str = "<bad>";
|
||||
ret Test.252;
|
||||
|
|
|
@ -17,7 +17,7 @@ procedure Test.4 (Test.5, #Attr.12):
|
|||
let Test.16 : I64 = CallByName Num.19 Test.5 Test.17;
|
||||
ret Test.16;
|
||||
|
||||
procedure Test.0 (#Derived_gen.2):
|
||||
procedure Test.0 (#Derived_gen.0):
|
||||
joinpoint Test.7 Test.1:
|
||||
let Test.21 : I64 = 1i64;
|
||||
let Test.9 : I64 = CallByName Num.19 Test.1 Test.21;
|
||||
|
@ -33,4 +33,4 @@ procedure Test.0 (#Derived_gen.2):
|
|||
ret Test.8;
|
||||
|
||||
in
|
||||
jump Test.7 #Derived_gen.2;
|
||||
jump Test.7 #Derived_gen.0;
|
||||
|
|
834
crates/compiler/test_mono/generated/issue_4749.txt
generated
834
crates/compiler/test_mono/generated/issue_4749.txt
generated
|
@ -1,823 +1,17 @@
|
|||
procedure Bool.1 ():
|
||||
let Bool.51 : Int1 = false;
|
||||
ret Bool.51;
|
||||
procedure Bool.12 (#Attr.2, #Attr.3):
|
||||
let Bool.24 : Int1 = lowlevel NotEq #Attr.2 #Attr.3;
|
||||
ret Bool.24;
|
||||
|
||||
procedure Bool.11 (#Attr.2, #Attr.3):
|
||||
let Bool.23 : Int1 = lowlevel Eq #Attr.2 #Attr.3;
|
||||
procedure Bool.7 (Bool.19, Bool.20):
|
||||
let Bool.23 : Int1 = CallByName Bool.12 Bool.19 Bool.20;
|
||||
ret Bool.23;
|
||||
|
||||
procedure Bool.11 (#Attr.2, #Attr.3):
|
||||
let Bool.42 : Int1 = lowlevel Eq #Attr.2 #Attr.3;
|
||||
ret Bool.42;
|
||||
|
||||
procedure Bool.11 (#Attr.2, #Attr.3):
|
||||
let Bool.54 : Int1 = lowlevel Eq #Attr.2 #Attr.3;
|
||||
ret Bool.54;
|
||||
|
||||
procedure Bool.2 ():
|
||||
let Bool.50 : Int1 = true;
|
||||
ret Bool.50;
|
||||
|
||||
procedure Bool.3 (#Attr.2, #Attr.3):
|
||||
let Bool.33 : Int1 = lowlevel And #Attr.2 #Attr.3;
|
||||
ret Bool.33;
|
||||
|
||||
procedure Bool.4 (#Attr.2, #Attr.3):
|
||||
let Bool.53 : Int1 = lowlevel Or #Attr.2 #Attr.3;
|
||||
ret Bool.53;
|
||||
|
||||
procedure Decode.24 (Decode.101):
|
||||
ret Decode.101;
|
||||
|
||||
procedure Decode.25 (Decode.102, Decode.121, Decode.104):
|
||||
let Decode.134 : {List U8, [C {}, C Str]} = CallByName TotallyNotJson.491 Decode.102 Decode.104;
|
||||
ret Decode.134;
|
||||
|
||||
procedure Decode.26 (Decode.105, Decode.106):
|
||||
let Decode.133 : {} = CallByName TotallyNotJson.59;
|
||||
let Decode.132 : {List U8, [C {}, C Str]} = CallByName Decode.25 Decode.105 Decode.133 Decode.106;
|
||||
ret Decode.132;
|
||||
|
||||
procedure Decode.27 (Decode.107, Decode.108):
|
||||
let Decode.122 : {List U8, [C {}, C Str]} = CallByName Decode.26 Decode.107 Decode.108;
|
||||
let Decode.110 : List U8 = StructAtIndex 0 Decode.122;
|
||||
inc Decode.110;
|
||||
let Decode.109 : [C {}, C Str] = StructAtIndex 1 Decode.122;
|
||||
let Decode.125 : Int1 = CallByName List.1 Decode.110;
|
||||
if Decode.125 then
|
||||
dec Decode.110;
|
||||
let Decode.129 : U8 = 1i64;
|
||||
let Decode.130 : U8 = GetTagId Decode.109;
|
||||
let Decode.131 : Int1 = lowlevel Eq Decode.129 Decode.130;
|
||||
if Decode.131 then
|
||||
let Decode.111 : Str = UnionAtIndex (Id 1) (Index 0) Decode.109;
|
||||
let Decode.126 : [C [C List U8, C ], C Str] = TagId(1) Decode.111;
|
||||
ret Decode.126;
|
||||
else
|
||||
dec Decode.109;
|
||||
let Decode.128 : [C List U8, C ] = TagId(1) ;
|
||||
let Decode.127 : [C [C List U8, C ], C Str] = TagId(0) Decode.128;
|
||||
ret Decode.127;
|
||||
else
|
||||
dec Decode.109;
|
||||
let Decode.124 : [C List U8, C ] = TagId(0) Decode.110;
|
||||
let Decode.123 : [C [C List U8, C ], C Str] = TagId(0) Decode.124;
|
||||
ret Decode.123;
|
||||
|
||||
procedure List.1 (List.107):
|
||||
let List.628 : U64 = CallByName List.6 List.107;
|
||||
dec List.107;
|
||||
let List.629 : U64 = 0i64;
|
||||
let List.627 : Int1 = CallByName Bool.11 List.628 List.629;
|
||||
ret List.627;
|
||||
|
||||
procedure List.104 (List.488, List.489, List.490):
|
||||
let List.637 : U64 = 0i64;
|
||||
let List.638 : U64 = CallByName List.6 List.488;
|
||||
let List.636 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = CallByName List.80 List.488 List.489 List.490 List.637 List.638;
|
||||
ret List.636;
|
||||
|
||||
procedure List.2 (List.108, List.109):
|
||||
let List.619 : U64 = CallByName List.6 List.108;
|
||||
let List.616 : Int1 = CallByName Num.22 List.109 List.619;
|
||||
if List.616 then
|
||||
let List.618 : U8 = CallByName List.66 List.108 List.109;
|
||||
dec List.108;
|
||||
let List.617 : [C {}, C U8] = TagId(1) List.618;
|
||||
ret List.617;
|
||||
else
|
||||
dec List.108;
|
||||
let List.615 : {} = Struct {};
|
||||
let List.614 : [C {}, C U8] = TagId(0) List.615;
|
||||
ret List.614;
|
||||
|
||||
procedure List.26 (List.201, List.202, List.203):
|
||||
let List.630 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = CallByName List.104 List.201 List.202 List.203;
|
||||
let List.633 : U8 = 1i64;
|
||||
let List.634 : U8 = GetTagId List.630;
|
||||
let List.635 : Int1 = lowlevel Eq List.633 List.634;
|
||||
if List.635 then
|
||||
let List.204 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = UnionAtIndex (Id 1) (Index 0) List.630;
|
||||
ret List.204;
|
||||
else
|
||||
let List.205 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = UnionAtIndex (Id 0) (Index 0) List.630;
|
||||
ret List.205;
|
||||
|
||||
procedure List.38 (List.344, List.345):
|
||||
let List.596 : U64 = CallByName List.6 List.344;
|
||||
let List.346 : U64 = CallByName Num.77 List.596 List.345;
|
||||
let List.595 : List U8 = CallByName List.43 List.344 List.346;
|
||||
ret List.595;
|
||||
|
||||
procedure List.4 (List.124, List.125):
|
||||
let List.606 : U64 = 1i64;
|
||||
let List.605 : List U8 = CallByName List.70 List.124 List.606;
|
||||
let List.604 : List U8 = CallByName List.71 List.605 List.125;
|
||||
ret List.604;
|
||||
|
||||
procedure List.43 (List.342, List.343):
|
||||
let List.586 : U64 = CallByName List.6 List.342;
|
||||
let List.585 : U64 = CallByName Num.77 List.586 List.343;
|
||||
let List.580 : {U64, U64} = Struct {List.343, List.585};
|
||||
let List.579 : List U8 = CallByName List.49 List.342 List.580;
|
||||
ret List.579;
|
||||
|
||||
procedure List.49 (List.420, List.421):
|
||||
let List.624 : U64 = StructAtIndex 1 List.421;
|
||||
let List.625 : U64 = StructAtIndex 0 List.421;
|
||||
let List.623 : List U8 = CallByName List.72 List.420 List.624 List.625;
|
||||
ret List.623;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.626 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.626;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.612 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.612;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.603 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.603;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.601 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.601;
|
||||
|
||||
procedure List.72 (#Attr.2, #Attr.3, #Attr.4):
|
||||
let List.584 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.584;
|
||||
|
||||
procedure List.8 (#Attr.2, #Attr.3):
|
||||
let List.598 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.598;
|
||||
|
||||
procedure List.80 (#Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.4, #Derived_gen.5):
|
||||
joinpoint List.639 List.491 List.492 List.493 List.494 List.495:
|
||||
let List.641 : Int1 = CallByName Num.22 List.494 List.495;
|
||||
if List.641 then
|
||||
let List.650 : U8 = CallByName List.66 List.491 List.494;
|
||||
let List.642 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = CallByName TotallyNotJson.61 List.492 List.650;
|
||||
let List.647 : U8 = 1i64;
|
||||
let List.648 : U8 = GetTagId List.642;
|
||||
let List.649 : Int1 = lowlevel Eq List.647 List.648;
|
||||
if List.649 then
|
||||
let List.496 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = UnionAtIndex (Id 1) (Index 0) List.642;
|
||||
let List.645 : U64 = 1i64;
|
||||
let List.644 : U64 = CallByName Num.51 List.494 List.645;
|
||||
jump List.639 List.491 List.496 List.493 List.644 List.495;
|
||||
else
|
||||
dec List.491;
|
||||
let List.497 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = UnionAtIndex (Id 0) (Index 0) List.642;
|
||||
let List.646 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(0) List.497;
|
||||
ret List.646;
|
||||
else
|
||||
dec List.491;
|
||||
let List.640 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) List.492;
|
||||
ret List.640;
|
||||
in
|
||||
jump List.639 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4 #Derived_gen.5;
|
||||
|
||||
procedure Num.19 (#Attr.2, #Attr.3):
|
||||
let Num.282 : U8 = lowlevel NumAdd #Attr.2 #Attr.3;
|
||||
ret Num.282;
|
||||
|
||||
procedure Num.19 (#Attr.2, #Attr.3):
|
||||
let Num.291 : U64 = lowlevel NumAdd #Attr.2 #Attr.3;
|
||||
ret Num.291;
|
||||
|
||||
procedure Num.20 (#Attr.2, #Attr.3):
|
||||
let Num.294 : U8 = lowlevel NumSub #Attr.2 #Attr.3;
|
||||
ret Num.294;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.316 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
ret Num.316;
|
||||
|
||||
procedure Num.23 (#Attr.2, #Attr.3):
|
||||
let Num.300 : Int1 = lowlevel NumLte #Attr.2 #Attr.3;
|
||||
ret Num.300;
|
||||
|
||||
procedure Num.25 (#Attr.2, #Attr.3):
|
||||
let Num.306 : Int1 = lowlevel NumGte #Attr.2 #Attr.3;
|
||||
ret Num.306;
|
||||
|
||||
procedure Num.51 (#Attr.2, #Attr.3):
|
||||
let Num.317 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
|
||||
ret Num.317;
|
||||
|
||||
procedure Num.71 (#Attr.2, #Attr.3):
|
||||
let Num.279 : U8 = lowlevel NumBitwiseOr #Attr.2 #Attr.3;
|
||||
ret Num.279;
|
||||
|
||||
procedure Num.72 (#Attr.2, #Attr.3):
|
||||
let Num.280 : U8 = lowlevel NumShiftLeftBy #Attr.2 #Attr.3;
|
||||
ret Num.280;
|
||||
|
||||
procedure Num.77 (#Attr.2, #Attr.3):
|
||||
let Num.313 : U64 = lowlevel NumSubSaturated #Attr.2 #Attr.3;
|
||||
ret Num.313;
|
||||
|
||||
procedure Str.43 (#Attr.2):
|
||||
let Str.239 : {U64, Str, Int1, U8} = lowlevel StrFromUtf8 #Attr.2;
|
||||
ret Str.239;
|
||||
|
||||
procedure Str.9 (Str.67):
|
||||
let Str.68 : {U64, Str, Int1, U8} = CallByName Str.43 Str.67;
|
||||
let Str.236 : Int1 = StructAtIndex 2 Str.68;
|
||||
if Str.236 then
|
||||
let Str.238 : Str = StructAtIndex 1 Str.68;
|
||||
let Str.237 : [C {U64, U8}, C Str] = TagId(1) Str.238;
|
||||
ret Str.237;
|
||||
else
|
||||
let Str.234 : U8 = StructAtIndex 3 Str.68;
|
||||
let Str.235 : U64 = StructAtIndex 0 Str.68;
|
||||
let #Derived_gen.7 : Str = StructAtIndex 1 Str.68;
|
||||
dec #Derived_gen.7;
|
||||
let Str.233 : {U64, U8} = Struct {Str.235, Str.234};
|
||||
let Str.232 : [C {U64, U8}, C Str] = TagId(0) Str.233;
|
||||
ret Str.232;
|
||||
|
||||
procedure Test.3 ():
|
||||
let Test.0 : List U8 = Array [82i64, 111i64, 99i64];
|
||||
let Test.8 : {} = CallByName TotallyNotJson.8;
|
||||
inc Test.0;
|
||||
let Test.1 : [C [C List U8, C ], C Str] = CallByName Decode.27 Test.0 Test.8;
|
||||
let Test.7 : Str = "Roc";
|
||||
let Test.6 : [C [C List U8, C ], C Str] = TagId(1) Test.7;
|
||||
let Test.5 : Int1 = CallByName Bool.11 Test.1 Test.6;
|
||||
dec Test.7;
|
||||
expect Test.5;
|
||||
dec Test.1;
|
||||
dec Test.0;
|
||||
let Test.4 : {} = Struct {};
|
||||
ret Test.4;
|
||||
|
||||
procedure TotallyNotJson.491 (TotallyNotJson.492, TotallyNotJson.976):
|
||||
joinpoint TotallyNotJson.1260:
|
||||
inc TotallyNotJson.492;
|
||||
let TotallyNotJson.1129 : {List U8, List U8} = CallByName TotallyNotJson.60 TotallyNotJson.492;
|
||||
let TotallyNotJson.496 : List U8 = StructAtIndex 0 TotallyNotJson.1129;
|
||||
let TotallyNotJson.495 : List U8 = StructAtIndex 1 TotallyNotJson.1129;
|
||||
inc TotallyNotJson.495;
|
||||
let TotallyNotJson.1125 : Int1 = CallByName List.1 TotallyNotJson.495;
|
||||
if TotallyNotJson.1125 then
|
||||
dec TotallyNotJson.495;
|
||||
dec TotallyNotJson.496;
|
||||
let TotallyNotJson.1128 : {} = Struct {};
|
||||
let TotallyNotJson.1127 : [C {}, C Str] = TagId(0) TotallyNotJson.1128;
|
||||
let TotallyNotJson.1126 : {List U8, [C {}, C Str]} = Struct {TotallyNotJson.492, TotallyNotJson.1127};
|
||||
ret TotallyNotJson.1126;
|
||||
else
|
||||
let TotallyNotJson.1123 : U64 = CallByName List.6 TotallyNotJson.495;
|
||||
let TotallyNotJson.1124 : U64 = 2i64;
|
||||
let TotallyNotJson.1121 : U64 = CallByName Num.77 TotallyNotJson.1123 TotallyNotJson.1124;
|
||||
let TotallyNotJson.1122 : U64 = 1i64;
|
||||
let TotallyNotJson.1120 : {U64, U64} = Struct {TotallyNotJson.1121, TotallyNotJson.1122};
|
||||
let TotallyNotJson.995 : List U8 = CallByName List.49 TotallyNotJson.495 TotallyNotJson.1120;
|
||||
let TotallyNotJson.996 : {} = Struct {};
|
||||
let TotallyNotJson.991 : {List U8, List U8} = CallByName TotallyNotJson.500 TotallyNotJson.995;
|
||||
let TotallyNotJson.992 : {} = Struct {};
|
||||
let TotallyNotJson.990 : List U8 = CallByName TotallyNotJson.502 TotallyNotJson.991;
|
||||
let TotallyNotJson.499 : [C {U64, U8}, C Str] = CallByName Str.9 TotallyNotJson.990;
|
||||
let TotallyNotJson.987 : U8 = 1i64;
|
||||
let TotallyNotJson.988 : U8 = GetTagId TotallyNotJson.499;
|
||||
let TotallyNotJson.989 : Int1 = lowlevel Eq TotallyNotJson.987 TotallyNotJson.988;
|
||||
if TotallyNotJson.989 then
|
||||
dec TotallyNotJson.492;
|
||||
let TotallyNotJson.503 : Str = UnionAtIndex (Id 1) (Index 0) TotallyNotJson.499;
|
||||
let TotallyNotJson.983 : [C {}, C Str] = TagId(1) TotallyNotJson.503;
|
||||
let TotallyNotJson.982 : {List U8, [C {}, C Str]} = Struct {TotallyNotJson.496, TotallyNotJson.983};
|
||||
ret TotallyNotJson.982;
|
||||
else
|
||||
dec TotallyNotJson.499;
|
||||
dec TotallyNotJson.496;
|
||||
let TotallyNotJson.986 : {} = Struct {};
|
||||
let TotallyNotJson.985 : [C {}, C Str] = TagId(0) TotallyNotJson.986;
|
||||
let TotallyNotJson.984 : {List U8, [C {}, C Str]} = Struct {TotallyNotJson.492, TotallyNotJson.985};
|
||||
ret TotallyNotJson.984;
|
||||
in
|
||||
let TotallyNotJson.1258 : U64 = lowlevel ListLenUsize TotallyNotJson.492;
|
||||
let TotallyNotJson.1259 : U64 = 4i64;
|
||||
let TotallyNotJson.1265 : Int1 = lowlevel NumGte TotallyNotJson.1258 TotallyNotJson.1259;
|
||||
if TotallyNotJson.1265 then
|
||||
let TotallyNotJson.1255 : U64 = 3i64;
|
||||
let TotallyNotJson.1256 : U8 = lowlevel ListGetUnsafe TotallyNotJson.492 TotallyNotJson.1255;
|
||||
let TotallyNotJson.1257 : U8 = 108i64;
|
||||
let TotallyNotJson.1264 : Int1 = lowlevel Eq TotallyNotJson.1257 TotallyNotJson.1256;
|
||||
if TotallyNotJson.1264 then
|
||||
let TotallyNotJson.1252 : U64 = 2i64;
|
||||
let TotallyNotJson.1253 : U8 = lowlevel ListGetUnsafe TotallyNotJson.492 TotallyNotJson.1252;
|
||||
let TotallyNotJson.1254 : U8 = 108i64;
|
||||
let TotallyNotJson.1263 : Int1 = lowlevel Eq TotallyNotJson.1254 TotallyNotJson.1253;
|
||||
if TotallyNotJson.1263 then
|
||||
let TotallyNotJson.1249 : U64 = 1i64;
|
||||
let TotallyNotJson.1250 : U8 = lowlevel ListGetUnsafe TotallyNotJson.492 TotallyNotJson.1249;
|
||||
let TotallyNotJson.1251 : U8 = 117i64;
|
||||
let TotallyNotJson.1262 : Int1 = lowlevel Eq TotallyNotJson.1251 TotallyNotJson.1250;
|
||||
if TotallyNotJson.1262 then
|
||||
let TotallyNotJson.1246 : U64 = 0i64;
|
||||
let TotallyNotJson.1247 : U8 = lowlevel ListGetUnsafe TotallyNotJson.492 TotallyNotJson.1246;
|
||||
let TotallyNotJson.1248 : U8 = 110i64;
|
||||
let TotallyNotJson.1261 : Int1 = lowlevel Eq TotallyNotJson.1248 TotallyNotJson.1247;
|
||||
if TotallyNotJson.1261 then
|
||||
let TotallyNotJson.981 : U64 = 4i64;
|
||||
let TotallyNotJson.978 : List U8 = CallByName List.38 TotallyNotJson.492 TotallyNotJson.981;
|
||||
let TotallyNotJson.980 : Str = "null";
|
||||
let TotallyNotJson.979 : [C {}, C Str] = TagId(1) TotallyNotJson.980;
|
||||
let TotallyNotJson.977 : {List U8, [C {}, C Str]} = Struct {TotallyNotJson.978, TotallyNotJson.979};
|
||||
ret TotallyNotJson.977;
|
||||
else
|
||||
jump TotallyNotJson.1260;
|
||||
else
|
||||
jump TotallyNotJson.1260;
|
||||
else
|
||||
jump TotallyNotJson.1260;
|
||||
else
|
||||
jump TotallyNotJson.1260;
|
||||
else
|
||||
jump TotallyNotJson.1260;
|
||||
|
||||
procedure TotallyNotJson.500 (TotallyNotJson.501):
|
||||
let TotallyNotJson.1119 : List U8 = Array [];
|
||||
let TotallyNotJson.998 : {List U8, List U8} = Struct {TotallyNotJson.501, TotallyNotJson.1119};
|
||||
let TotallyNotJson.997 : {List U8, List U8} = CallByName TotallyNotJson.69 TotallyNotJson.998;
|
||||
ret TotallyNotJson.997;
|
||||
|
||||
procedure TotallyNotJson.502 (TotallyNotJson.993):
|
||||
let TotallyNotJson.994 : List U8 = StructAtIndex 1 TotallyNotJson.993;
|
||||
let #Derived_gen.6 : List U8 = StructAtIndex 0 TotallyNotJson.993;
|
||||
dec #Derived_gen.6;
|
||||
ret TotallyNotJson.994;
|
||||
|
||||
procedure TotallyNotJson.59 ():
|
||||
let TotallyNotJson.975 : {} = Struct {};
|
||||
let TotallyNotJson.974 : {} = CallByName Decode.24 TotallyNotJson.975;
|
||||
ret TotallyNotJson.974;
|
||||
|
||||
procedure TotallyNotJson.60 (TotallyNotJson.507):
|
||||
let TotallyNotJson.1141 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(4) ;
|
||||
let TotallyNotJson.1142 : {} = Struct {};
|
||||
inc TotallyNotJson.507;
|
||||
let TotallyNotJson.1130 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = CallByName List.26 TotallyNotJson.507 TotallyNotJson.1141 TotallyNotJson.1142;
|
||||
let TotallyNotJson.1138 : U8 = 2i64;
|
||||
let TotallyNotJson.1139 : U8 = GetTagId TotallyNotJson.1130;
|
||||
let TotallyNotJson.1140 : Int1 = lowlevel Eq TotallyNotJson.1138 TotallyNotJson.1139;
|
||||
if TotallyNotJson.1140 then
|
||||
inc TotallyNotJson.507;
|
||||
let TotallyNotJson.509 : U64 = UnionAtIndex (Id 2) (Index 0) TotallyNotJson.1130;
|
||||
let TotallyNotJson.1132 : List U8 = CallByName List.38 TotallyNotJson.507 TotallyNotJson.509;
|
||||
let TotallyNotJson.1135 : U64 = 0i64;
|
||||
let TotallyNotJson.1134 : {U64, U64} = Struct {TotallyNotJson.509, TotallyNotJson.1135};
|
||||
let TotallyNotJson.1133 : List U8 = CallByName List.49 TotallyNotJson.507 TotallyNotJson.1134;
|
||||
let TotallyNotJson.1131 : {List U8, List U8} = Struct {TotallyNotJson.1132, TotallyNotJson.1133};
|
||||
ret TotallyNotJson.1131;
|
||||
else
|
||||
let TotallyNotJson.1137 : List U8 = Array [];
|
||||
let TotallyNotJson.1136 : {List U8, List U8} = Struct {TotallyNotJson.507, TotallyNotJson.1137};
|
||||
ret TotallyNotJson.1136;
|
||||
|
||||
procedure TotallyNotJson.61 (TotallyNotJson.510, TotallyNotJson.511):
|
||||
let TotallyNotJson.1143 : {[C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], U8} = Struct {TotallyNotJson.510, TotallyNotJson.511};
|
||||
joinpoint TotallyNotJson.1186:
|
||||
let TotallyNotJson.1184 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(3) ;
|
||||
let TotallyNotJson.1183 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(0) TotallyNotJson.1184;
|
||||
ret TotallyNotJson.1183;
|
||||
in
|
||||
let TotallyNotJson.1187 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 TotallyNotJson.1143;
|
||||
let TotallyNotJson.1245 : U8 = GetTagId TotallyNotJson.1187;
|
||||
switch TotallyNotJson.1245:
|
||||
case 4:
|
||||
let TotallyNotJson.512 : U8 = StructAtIndex 1 TotallyNotJson.1143;
|
||||
joinpoint TotallyNotJson.1189 TotallyNotJson.1188:
|
||||
if TotallyNotJson.1188 then
|
||||
let TotallyNotJson.1146 : U64 = 1i64;
|
||||
let TotallyNotJson.1145 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(0) TotallyNotJson.1146;
|
||||
let TotallyNotJson.1144 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) TotallyNotJson.1145;
|
||||
ret TotallyNotJson.1144;
|
||||
else
|
||||
jump TotallyNotJson.1186;
|
||||
in
|
||||
let TotallyNotJson.1191 : U8 = 34i64;
|
||||
let TotallyNotJson.1190 : Int1 = CallByName Bool.11 TotallyNotJson.512 TotallyNotJson.1191;
|
||||
jump TotallyNotJson.1189 TotallyNotJson.1190;
|
||||
|
||||
case 0:
|
||||
let TotallyNotJson.1202 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 TotallyNotJson.1143;
|
||||
let TotallyNotJson.515 : U64 = UnionAtIndex (Id 0) (Index 0) TotallyNotJson.1202;
|
||||
let TotallyNotJson.516 : U8 = StructAtIndex 1 TotallyNotJson.1143;
|
||||
joinpoint TotallyNotJson.1199 TotallyNotJson.1193:
|
||||
if TotallyNotJson.1193 then
|
||||
let TotallyNotJson.1150 : U64 = 1i64;
|
||||
let TotallyNotJson.1149 : U64 = CallByName Num.19 TotallyNotJson.515 TotallyNotJson.1150;
|
||||
let TotallyNotJson.1148 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(2) TotallyNotJson.1149;
|
||||
let TotallyNotJson.1147 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(0) TotallyNotJson.1148;
|
||||
ret TotallyNotJson.1147;
|
||||
else
|
||||
let TotallyNotJson.1198 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 TotallyNotJson.1143;
|
||||
let TotallyNotJson.519 : U64 = UnionAtIndex (Id 0) (Index 0) TotallyNotJson.1198;
|
||||
let TotallyNotJson.520 : U8 = StructAtIndex 1 TotallyNotJson.1143;
|
||||
joinpoint TotallyNotJson.1195 TotallyNotJson.1194:
|
||||
if TotallyNotJson.1194 then
|
||||
let TotallyNotJson.1154 : U64 = 1i64;
|
||||
let TotallyNotJson.1153 : U64 = CallByName Num.19 TotallyNotJson.519 TotallyNotJson.1154;
|
||||
let TotallyNotJson.1152 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(1) TotallyNotJson.1153;
|
||||
let TotallyNotJson.1151 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) TotallyNotJson.1152;
|
||||
ret TotallyNotJson.1151;
|
||||
else
|
||||
let TotallyNotJson.1185 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 TotallyNotJson.1143;
|
||||
let TotallyNotJson.523 : U64 = UnionAtIndex (Id 0) (Index 0) TotallyNotJson.1185;
|
||||
let TotallyNotJson.1158 : U64 = 1i64;
|
||||
let TotallyNotJson.1157 : U64 = CallByName Num.19 TotallyNotJson.523 TotallyNotJson.1158;
|
||||
let TotallyNotJson.1156 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(0) TotallyNotJson.1157;
|
||||
let TotallyNotJson.1155 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) TotallyNotJson.1156;
|
||||
ret TotallyNotJson.1155;
|
||||
in
|
||||
let TotallyNotJson.1197 : U8 = 92i64;
|
||||
let TotallyNotJson.1196 : Int1 = CallByName Bool.11 TotallyNotJson.520 TotallyNotJson.1197;
|
||||
jump TotallyNotJson.1195 TotallyNotJson.1196;
|
||||
in
|
||||
let TotallyNotJson.1201 : U8 = 34i64;
|
||||
let TotallyNotJson.1200 : Int1 = CallByName Bool.11 TotallyNotJson.516 TotallyNotJson.1201;
|
||||
jump TotallyNotJson.1199 TotallyNotJson.1200;
|
||||
|
||||
case 1:
|
||||
let TotallyNotJson.1211 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 TotallyNotJson.1143;
|
||||
let TotallyNotJson.526 : U64 = UnionAtIndex (Id 1) (Index 0) TotallyNotJson.1211;
|
||||
let TotallyNotJson.527 : U8 = StructAtIndex 1 TotallyNotJson.1143;
|
||||
joinpoint TotallyNotJson.1209 TotallyNotJson.1203:
|
||||
if TotallyNotJson.1203 then
|
||||
let TotallyNotJson.1162 : U64 = 1i64;
|
||||
let TotallyNotJson.1161 : U64 = CallByName Num.19 TotallyNotJson.526 TotallyNotJson.1162;
|
||||
let TotallyNotJson.1160 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(0) TotallyNotJson.1161;
|
||||
let TotallyNotJson.1159 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) TotallyNotJson.1160;
|
||||
ret TotallyNotJson.1159;
|
||||
else
|
||||
let TotallyNotJson.1208 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 TotallyNotJson.1143;
|
||||
let TotallyNotJson.530 : U64 = UnionAtIndex (Id 1) (Index 0) TotallyNotJson.1208;
|
||||
let TotallyNotJson.531 : U8 = StructAtIndex 1 TotallyNotJson.1143;
|
||||
joinpoint TotallyNotJson.1205 TotallyNotJson.1204:
|
||||
if TotallyNotJson.1204 then
|
||||
let TotallyNotJson.1166 : U64 = 1i64;
|
||||
let TotallyNotJson.1165 : U64 = CallByName Num.19 TotallyNotJson.530 TotallyNotJson.1166;
|
||||
let TotallyNotJson.1164 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(5) TotallyNotJson.1165;
|
||||
let TotallyNotJson.1163 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) TotallyNotJson.1164;
|
||||
ret TotallyNotJson.1163;
|
||||
else
|
||||
jump TotallyNotJson.1186;
|
||||
in
|
||||
let TotallyNotJson.1207 : U8 = 117i64;
|
||||
let TotallyNotJson.1206 : Int1 = CallByName Bool.11 TotallyNotJson.531 TotallyNotJson.1207;
|
||||
jump TotallyNotJson.1205 TotallyNotJson.1206;
|
||||
in
|
||||
let TotallyNotJson.1210 : Int1 = CallByName TotallyNotJson.62 TotallyNotJson.527;
|
||||
jump TotallyNotJson.1209 TotallyNotJson.1210;
|
||||
|
||||
case 5:
|
||||
let TotallyNotJson.1232 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 TotallyNotJson.1143;
|
||||
let TotallyNotJson.534 : U64 = UnionAtIndex (Id 5) (Index 0) TotallyNotJson.1232;
|
||||
let TotallyNotJson.535 : U8 = StructAtIndex 1 TotallyNotJson.1143;
|
||||
joinpoint TotallyNotJson.1213 TotallyNotJson.1212:
|
||||
if TotallyNotJson.1212 then
|
||||
let TotallyNotJson.1170 : U64 = 1i64;
|
||||
let TotallyNotJson.1169 : U64 = CallByName Num.19 TotallyNotJson.534 TotallyNotJson.1170;
|
||||
let TotallyNotJson.1168 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(6) TotallyNotJson.1169;
|
||||
let TotallyNotJson.1167 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) TotallyNotJson.1168;
|
||||
ret TotallyNotJson.1167;
|
||||
else
|
||||
jump TotallyNotJson.1186;
|
||||
in
|
||||
let TotallyNotJson.1214 : Int1 = CallByName TotallyNotJson.64 TotallyNotJson.535;
|
||||
jump TotallyNotJson.1213 TotallyNotJson.1214;
|
||||
|
||||
case 6:
|
||||
let TotallyNotJson.1236 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 TotallyNotJson.1143;
|
||||
let TotallyNotJson.538 : U64 = UnionAtIndex (Id 6) (Index 0) TotallyNotJson.1236;
|
||||
let TotallyNotJson.539 : U8 = StructAtIndex 1 TotallyNotJson.1143;
|
||||
joinpoint TotallyNotJson.1234 TotallyNotJson.1233:
|
||||
if TotallyNotJson.1233 then
|
||||
let TotallyNotJson.1174 : U64 = 1i64;
|
||||
let TotallyNotJson.1173 : U64 = CallByName Num.19 TotallyNotJson.538 TotallyNotJson.1174;
|
||||
let TotallyNotJson.1172 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(7) TotallyNotJson.1173;
|
||||
let TotallyNotJson.1171 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) TotallyNotJson.1172;
|
||||
ret TotallyNotJson.1171;
|
||||
else
|
||||
jump TotallyNotJson.1186;
|
||||
in
|
||||
let TotallyNotJson.1235 : Int1 = CallByName TotallyNotJson.64 TotallyNotJson.539;
|
||||
jump TotallyNotJson.1234 TotallyNotJson.1235;
|
||||
|
||||
case 7:
|
||||
let TotallyNotJson.1240 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 TotallyNotJson.1143;
|
||||
let TotallyNotJson.542 : U64 = UnionAtIndex (Id 7) (Index 0) TotallyNotJson.1240;
|
||||
let TotallyNotJson.543 : U8 = StructAtIndex 1 TotallyNotJson.1143;
|
||||
joinpoint TotallyNotJson.1238 TotallyNotJson.1237:
|
||||
if TotallyNotJson.1237 then
|
||||
let TotallyNotJson.1178 : U64 = 1i64;
|
||||
let TotallyNotJson.1177 : U64 = CallByName Num.19 TotallyNotJson.542 TotallyNotJson.1178;
|
||||
let TotallyNotJson.1176 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(8) TotallyNotJson.1177;
|
||||
let TotallyNotJson.1175 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) TotallyNotJson.1176;
|
||||
ret TotallyNotJson.1175;
|
||||
else
|
||||
jump TotallyNotJson.1186;
|
||||
in
|
||||
let TotallyNotJson.1239 : Int1 = CallByName TotallyNotJson.64 TotallyNotJson.543;
|
||||
jump TotallyNotJson.1238 TotallyNotJson.1239;
|
||||
|
||||
case 8:
|
||||
let TotallyNotJson.1244 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 TotallyNotJson.1143;
|
||||
let TotallyNotJson.546 : U64 = UnionAtIndex (Id 8) (Index 0) TotallyNotJson.1244;
|
||||
let TotallyNotJson.547 : U8 = StructAtIndex 1 TotallyNotJson.1143;
|
||||
joinpoint TotallyNotJson.1242 TotallyNotJson.1241:
|
||||
if TotallyNotJson.1241 then
|
||||
let TotallyNotJson.1182 : U64 = 1i64;
|
||||
let TotallyNotJson.1181 : U64 = CallByName Num.19 TotallyNotJson.546 TotallyNotJson.1182;
|
||||
let TotallyNotJson.1180 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(0) TotallyNotJson.1181;
|
||||
let TotallyNotJson.1179 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) TotallyNotJson.1180;
|
||||
ret TotallyNotJson.1179;
|
||||
else
|
||||
jump TotallyNotJson.1186;
|
||||
in
|
||||
let TotallyNotJson.1243 : Int1 = CallByName TotallyNotJson.64 TotallyNotJson.547;
|
||||
jump TotallyNotJson.1242 TotallyNotJson.1243;
|
||||
|
||||
default:
|
||||
jump TotallyNotJson.1186;
|
||||
|
||||
|
||||
procedure TotallyNotJson.62 (TotallyNotJson.552):
|
||||
switch TotallyNotJson.552:
|
||||
case 34:
|
||||
let TotallyNotJson.1087 : Int1 = CallByName Bool.2;
|
||||
ret TotallyNotJson.1087;
|
||||
|
||||
case 92:
|
||||
let TotallyNotJson.1088 : Int1 = CallByName Bool.2;
|
||||
ret TotallyNotJson.1088;
|
||||
|
||||
case 47:
|
||||
let TotallyNotJson.1089 : Int1 = CallByName Bool.2;
|
||||
ret TotallyNotJson.1089;
|
||||
|
||||
case 98:
|
||||
let TotallyNotJson.1090 : Int1 = CallByName Bool.2;
|
||||
ret TotallyNotJson.1090;
|
||||
|
||||
case 102:
|
||||
let TotallyNotJson.1091 : Int1 = CallByName Bool.2;
|
||||
ret TotallyNotJson.1091;
|
||||
|
||||
case 110:
|
||||
let TotallyNotJson.1092 : Int1 = CallByName Bool.2;
|
||||
ret TotallyNotJson.1092;
|
||||
|
||||
case 114:
|
||||
let TotallyNotJson.1093 : Int1 = CallByName Bool.2;
|
||||
ret TotallyNotJson.1093;
|
||||
|
||||
case 116:
|
||||
let TotallyNotJson.1094 : Int1 = CallByName Bool.2;
|
||||
ret TotallyNotJson.1094;
|
||||
|
||||
default:
|
||||
let TotallyNotJson.1095 : Int1 = CallByName Bool.1;
|
||||
ret TotallyNotJson.1095;
|
||||
|
||||
|
||||
procedure TotallyNotJson.63 (TotallyNotJson.553):
|
||||
switch TotallyNotJson.553:
|
||||
case 34:
|
||||
let TotallyNotJson.1064 : U8 = 34i64;
|
||||
ret TotallyNotJson.1064;
|
||||
|
||||
case 92:
|
||||
let TotallyNotJson.1065 : U8 = 92i64;
|
||||
ret TotallyNotJson.1065;
|
||||
|
||||
case 47:
|
||||
let TotallyNotJson.1066 : U8 = 47i64;
|
||||
ret TotallyNotJson.1066;
|
||||
|
||||
case 98:
|
||||
let TotallyNotJson.1067 : U8 = 8i64;
|
||||
ret TotallyNotJson.1067;
|
||||
|
||||
case 102:
|
||||
let TotallyNotJson.1068 : U8 = 12i64;
|
||||
ret TotallyNotJson.1068;
|
||||
|
||||
case 110:
|
||||
let TotallyNotJson.1069 : U8 = 10i64;
|
||||
ret TotallyNotJson.1069;
|
||||
|
||||
case 114:
|
||||
let TotallyNotJson.1070 : U8 = 13i64;
|
||||
ret TotallyNotJson.1070;
|
||||
|
||||
case 116:
|
||||
let TotallyNotJson.1071 : U8 = 9i64;
|
||||
ret TotallyNotJson.1071;
|
||||
|
||||
default:
|
||||
ret TotallyNotJson.553;
|
||||
|
||||
|
||||
procedure TotallyNotJson.64 (TotallyNotJson.554):
|
||||
let TotallyNotJson.1231 : U8 = 48i64;
|
||||
let TotallyNotJson.1228 : Int1 = CallByName Num.25 TotallyNotJson.554 TotallyNotJson.1231;
|
||||
let TotallyNotJson.1230 : U8 = 57i64;
|
||||
let TotallyNotJson.1229 : Int1 = CallByName Num.23 TotallyNotJson.554 TotallyNotJson.1230;
|
||||
let TotallyNotJson.1216 : Int1 = CallByName Bool.3 TotallyNotJson.1228 TotallyNotJson.1229;
|
||||
let TotallyNotJson.1227 : U8 = 97i64;
|
||||
let TotallyNotJson.1224 : Int1 = CallByName Num.25 TotallyNotJson.554 TotallyNotJson.1227;
|
||||
let TotallyNotJson.1226 : U8 = 102i64;
|
||||
let TotallyNotJson.1225 : Int1 = CallByName Num.23 TotallyNotJson.554 TotallyNotJson.1226;
|
||||
let TotallyNotJson.1218 : Int1 = CallByName Bool.3 TotallyNotJson.1224 TotallyNotJson.1225;
|
||||
let TotallyNotJson.1223 : U8 = 65i64;
|
||||
let TotallyNotJson.1220 : Int1 = CallByName Num.25 TotallyNotJson.554 TotallyNotJson.1223;
|
||||
let TotallyNotJson.1222 : U8 = 70i64;
|
||||
let TotallyNotJson.1221 : Int1 = CallByName Num.23 TotallyNotJson.554 TotallyNotJson.1222;
|
||||
let TotallyNotJson.1219 : Int1 = CallByName Bool.3 TotallyNotJson.1220 TotallyNotJson.1221;
|
||||
let TotallyNotJson.1217 : Int1 = CallByName Bool.4 TotallyNotJson.1218 TotallyNotJson.1219;
|
||||
let TotallyNotJson.1215 : Int1 = CallByName Bool.4 TotallyNotJson.1216 TotallyNotJson.1217;
|
||||
ret TotallyNotJson.1215;
|
||||
|
||||
procedure TotallyNotJson.65 (TotallyNotJson.555):
|
||||
let TotallyNotJson.1043 : U8 = 48i64;
|
||||
let TotallyNotJson.1040 : Int1 = CallByName Num.25 TotallyNotJson.555 TotallyNotJson.1043;
|
||||
let TotallyNotJson.1042 : U8 = 57i64;
|
||||
let TotallyNotJson.1041 : Int1 = CallByName Num.23 TotallyNotJson.555 TotallyNotJson.1042;
|
||||
let TotallyNotJson.1037 : Int1 = CallByName Bool.3 TotallyNotJson.1040 TotallyNotJson.1041;
|
||||
if TotallyNotJson.1037 then
|
||||
let TotallyNotJson.1039 : U8 = 48i64;
|
||||
let TotallyNotJson.1038 : U8 = CallByName Num.20 TotallyNotJson.555 TotallyNotJson.1039;
|
||||
ret TotallyNotJson.1038;
|
||||
else
|
||||
let TotallyNotJson.1036 : U8 = 97i64;
|
||||
let TotallyNotJson.1033 : Int1 = CallByName Num.25 TotallyNotJson.555 TotallyNotJson.1036;
|
||||
let TotallyNotJson.1035 : U8 = 102i64;
|
||||
let TotallyNotJson.1034 : Int1 = CallByName Num.23 TotallyNotJson.555 TotallyNotJson.1035;
|
||||
let TotallyNotJson.1028 : Int1 = CallByName Bool.3 TotallyNotJson.1033 TotallyNotJson.1034;
|
||||
if TotallyNotJson.1028 then
|
||||
let TotallyNotJson.1032 : U8 = 97i64;
|
||||
let TotallyNotJson.1030 : U8 = CallByName Num.20 TotallyNotJson.555 TotallyNotJson.1032;
|
||||
let TotallyNotJson.1031 : U8 = 10i64;
|
||||
let TotallyNotJson.1029 : U8 = CallByName Num.19 TotallyNotJson.1030 TotallyNotJson.1031;
|
||||
ret TotallyNotJson.1029;
|
||||
else
|
||||
let TotallyNotJson.1027 : U8 = 65i64;
|
||||
let TotallyNotJson.1024 : Int1 = CallByName Num.25 TotallyNotJson.555 TotallyNotJson.1027;
|
||||
let TotallyNotJson.1026 : U8 = 70i64;
|
||||
let TotallyNotJson.1025 : Int1 = CallByName Num.23 TotallyNotJson.555 TotallyNotJson.1026;
|
||||
let TotallyNotJson.1019 : Int1 = CallByName Bool.3 TotallyNotJson.1024 TotallyNotJson.1025;
|
||||
if TotallyNotJson.1019 then
|
||||
let TotallyNotJson.1023 : U8 = 65i64;
|
||||
let TotallyNotJson.1021 : U8 = CallByName Num.20 TotallyNotJson.555 TotallyNotJson.1023;
|
||||
let TotallyNotJson.1022 : U8 = 10i64;
|
||||
let TotallyNotJson.1020 : U8 = CallByName Num.19 TotallyNotJson.1021 TotallyNotJson.1022;
|
||||
ret TotallyNotJson.1020;
|
||||
else
|
||||
let TotallyNotJson.1018 : Str = "got an invalid hex char";
|
||||
Crash TotallyNotJson.1018
|
||||
|
||||
procedure TotallyNotJson.66 (TotallyNotJson.556, TotallyNotJson.557):
|
||||
let TotallyNotJson.1009 : U8 = 4i64;
|
||||
let TotallyNotJson.1008 : U8 = CallByName Num.72 TotallyNotJson.556 TotallyNotJson.1009;
|
||||
let TotallyNotJson.1007 : U8 = CallByName Num.71 TotallyNotJson.1008 TotallyNotJson.557;
|
||||
ret TotallyNotJson.1007;
|
||||
|
||||
procedure TotallyNotJson.67 (TotallyNotJson.558, TotallyNotJson.559, TotallyNotJson.560, TotallyNotJson.561):
|
||||
let TotallyNotJson.562 : U8 = CallByName TotallyNotJson.65 TotallyNotJson.558;
|
||||
let TotallyNotJson.563 : U8 = CallByName TotallyNotJson.65 TotallyNotJson.559;
|
||||
let TotallyNotJson.564 : U8 = CallByName TotallyNotJson.65 TotallyNotJson.560;
|
||||
let TotallyNotJson.565 : U8 = CallByName TotallyNotJson.65 TotallyNotJson.561;
|
||||
let TotallyNotJson.1016 : U8 = 0i64;
|
||||
let TotallyNotJson.1013 : Int1 = CallByName Bool.11 TotallyNotJson.562 TotallyNotJson.1016;
|
||||
let TotallyNotJson.1015 : U8 = 0i64;
|
||||
let TotallyNotJson.1014 : Int1 = CallByName Bool.11 TotallyNotJson.563 TotallyNotJson.1015;
|
||||
let TotallyNotJson.1010 : Int1 = CallByName Bool.3 TotallyNotJson.1013 TotallyNotJson.1014;
|
||||
if TotallyNotJson.1010 then
|
||||
let TotallyNotJson.1012 : U8 = CallByName TotallyNotJson.66 TotallyNotJson.564 TotallyNotJson.565;
|
||||
let TotallyNotJson.1011 : List U8 = Array [TotallyNotJson.1012];
|
||||
ret TotallyNotJson.1011;
|
||||
else
|
||||
let TotallyNotJson.1005 : U8 = CallByName TotallyNotJson.66 TotallyNotJson.562 TotallyNotJson.563;
|
||||
let TotallyNotJson.1006 : U8 = CallByName TotallyNotJson.66 TotallyNotJson.564 TotallyNotJson.565;
|
||||
let TotallyNotJson.1004 : List U8 = Array [TotallyNotJson.1005, TotallyNotJson.1006];
|
||||
ret TotallyNotJson.1004;
|
||||
|
||||
procedure TotallyNotJson.68 ():
|
||||
let TotallyNotJson.1049 : U8 = 102i64;
|
||||
let TotallyNotJson.1050 : U8 = 102i64;
|
||||
let TotallyNotJson.1051 : U8 = 100i64;
|
||||
let TotallyNotJson.1052 : U8 = 100i64;
|
||||
let TotallyNotJson.1048 : List U8 = CallByName TotallyNotJson.67 TotallyNotJson.1049 TotallyNotJson.1050 TotallyNotJson.1051 TotallyNotJson.1052;
|
||||
ret TotallyNotJson.1048;
|
||||
|
||||
procedure TotallyNotJson.69 (#Derived_gen.0):
|
||||
joinpoint TotallyNotJson.999 TotallyNotJson.970:
|
||||
let TotallyNotJson.566 : List U8 = StructAtIndex 0 TotallyNotJson.970;
|
||||
inc 4 TotallyNotJson.566;
|
||||
let TotallyNotJson.567 : List U8 = StructAtIndex 1 TotallyNotJson.970;
|
||||
let TotallyNotJson.1118 : U64 = 0i64;
|
||||
let TotallyNotJson.568 : [C {}, C U8] = CallByName List.2 TotallyNotJson.566 TotallyNotJson.1118;
|
||||
let TotallyNotJson.1117 : U64 = 1i64;
|
||||
let TotallyNotJson.569 : [C {}, C U8] = CallByName List.2 TotallyNotJson.566 TotallyNotJson.1117;
|
||||
let TotallyNotJson.1116 : U64 = 2i64;
|
||||
let TotallyNotJson.570 : List U8 = CallByName List.38 TotallyNotJson.566 TotallyNotJson.1116;
|
||||
let TotallyNotJson.1115 : U64 = 6i64;
|
||||
let TotallyNotJson.571 : List U8 = CallByName List.38 TotallyNotJson.566 TotallyNotJson.1115;
|
||||
let TotallyNotJson.1000 : {[C {}, C U8], [C {}, C U8]} = Struct {TotallyNotJson.568, TotallyNotJson.569};
|
||||
joinpoint TotallyNotJson.1080:
|
||||
let TotallyNotJson.1079 : [C {}, C U8] = StructAtIndex 0 TotallyNotJson.1000;
|
||||
let TotallyNotJson.582 : U8 = UnionAtIndex (Id 1) (Index 0) TotallyNotJson.1079;
|
||||
let TotallyNotJson.1077 : U64 = 1i64;
|
||||
let TotallyNotJson.1075 : List U8 = CallByName List.38 TotallyNotJson.566 TotallyNotJson.1077;
|
||||
let TotallyNotJson.1076 : List U8 = CallByName List.4 TotallyNotJson.567 TotallyNotJson.582;
|
||||
let TotallyNotJson.1074 : {List U8, List U8} = Struct {TotallyNotJson.1075, TotallyNotJson.1076};
|
||||
jump TotallyNotJson.999 TotallyNotJson.1074;
|
||||
in
|
||||
let TotallyNotJson.1111 : [C {}, C U8] = StructAtIndex 0 TotallyNotJson.1000;
|
||||
let TotallyNotJson.1112 : U8 = 1i64;
|
||||
let TotallyNotJson.1113 : U8 = GetTagId TotallyNotJson.1111;
|
||||
let TotallyNotJson.1114 : Int1 = lowlevel Eq TotallyNotJson.1112 TotallyNotJson.1113;
|
||||
if TotallyNotJson.1114 then
|
||||
let TotallyNotJson.1107 : [C {}, C U8] = StructAtIndex 1 TotallyNotJson.1000;
|
||||
let TotallyNotJson.1108 : U8 = 1i64;
|
||||
let TotallyNotJson.1109 : U8 = GetTagId TotallyNotJson.1107;
|
||||
let TotallyNotJson.1110 : Int1 = lowlevel Eq TotallyNotJson.1108 TotallyNotJson.1109;
|
||||
if TotallyNotJson.1110 then
|
||||
let TotallyNotJson.1106 : [C {}, C U8] = StructAtIndex 0 TotallyNotJson.1000;
|
||||
let TotallyNotJson.573 : U8 = UnionAtIndex (Id 1) (Index 0) TotallyNotJson.1106;
|
||||
let TotallyNotJson.1105 : [C {}, C U8] = StructAtIndex 1 TotallyNotJson.1000;
|
||||
let TotallyNotJson.574 : U8 = UnionAtIndex (Id 1) (Index 0) TotallyNotJson.1105;
|
||||
joinpoint TotallyNotJson.1099 TotallyNotJson.1081:
|
||||
if TotallyNotJson.1081 then
|
||||
dec TotallyNotJson.566;
|
||||
let TotallyNotJson.1057 : U64 = lowlevel ListLenUsize TotallyNotJson.570;
|
||||
let TotallyNotJson.1058 : U64 = 4i64;
|
||||
let TotallyNotJson.1059 : Int1 = lowlevel NumGte TotallyNotJson.1057 TotallyNotJson.1058;
|
||||
if TotallyNotJson.1059 then
|
||||
let TotallyNotJson.1056 : U64 = 0i64;
|
||||
let TotallyNotJson.575 : U8 = lowlevel ListGetUnsafe TotallyNotJson.570 TotallyNotJson.1056;
|
||||
let TotallyNotJson.1055 : U64 = 1i64;
|
||||
let TotallyNotJson.576 : U8 = lowlevel ListGetUnsafe TotallyNotJson.570 TotallyNotJson.1055;
|
||||
let TotallyNotJson.1054 : U64 = 2i64;
|
||||
let TotallyNotJson.577 : U8 = lowlevel ListGetUnsafe TotallyNotJson.570 TotallyNotJson.1054;
|
||||
let TotallyNotJson.1053 : U64 = 3i64;
|
||||
let TotallyNotJson.578 : U8 = lowlevel ListGetUnsafe TotallyNotJson.570 TotallyNotJson.1053;
|
||||
dec TotallyNotJson.570;
|
||||
let TotallyNotJson.579 : List U8 = CallByName TotallyNotJson.67 TotallyNotJson.575 TotallyNotJson.576 TotallyNotJson.577 TotallyNotJson.578;
|
||||
let TotallyNotJson.1003 : List U8 = CallByName List.8 TotallyNotJson.567 TotallyNotJson.579;
|
||||
let TotallyNotJson.1002 : {List U8, List U8} = Struct {TotallyNotJson.571, TotallyNotJson.1003};
|
||||
jump TotallyNotJson.999 TotallyNotJson.1002;
|
||||
else
|
||||
dec TotallyNotJson.571;
|
||||
let TotallyNotJson.1047 : List U8 = CallByName TotallyNotJson.68;
|
||||
let TotallyNotJson.1046 : List U8 = CallByName List.8 TotallyNotJson.567 TotallyNotJson.1047;
|
||||
let TotallyNotJson.1045 : {List U8, List U8} = Struct {TotallyNotJson.570, TotallyNotJson.1046};
|
||||
jump TotallyNotJson.999 TotallyNotJson.1045;
|
||||
else
|
||||
dec TotallyNotJson.571;
|
||||
let TotallyNotJson.1098 : [C {}, C U8] = StructAtIndex 0 TotallyNotJson.1000;
|
||||
let TotallyNotJson.580 : U8 = UnionAtIndex (Id 1) (Index 0) TotallyNotJson.1098;
|
||||
let TotallyNotJson.1097 : [C {}, C U8] = StructAtIndex 1 TotallyNotJson.1000;
|
||||
let TotallyNotJson.581 : U8 = UnionAtIndex (Id 1) (Index 0) TotallyNotJson.1097;
|
||||
joinpoint TotallyNotJson.1083 TotallyNotJson.1082:
|
||||
if TotallyNotJson.1082 then
|
||||
dec TotallyNotJson.566;
|
||||
let TotallyNotJson.1063 : U8 = CallByName TotallyNotJson.63 TotallyNotJson.581;
|
||||
let TotallyNotJson.1062 : List U8 = CallByName List.4 TotallyNotJson.567 TotallyNotJson.1063;
|
||||
let TotallyNotJson.1061 : {List U8, List U8} = Struct {TotallyNotJson.570, TotallyNotJson.1062};
|
||||
jump TotallyNotJson.999 TotallyNotJson.1061;
|
||||
else
|
||||
dec TotallyNotJson.570;
|
||||
jump TotallyNotJson.1080;
|
||||
in
|
||||
let TotallyNotJson.1096 : U8 = 92i64;
|
||||
let TotallyNotJson.1085 : Int1 = CallByName Bool.11 TotallyNotJson.580 TotallyNotJson.1096;
|
||||
let TotallyNotJson.1086 : Int1 = CallByName TotallyNotJson.62 TotallyNotJson.581;
|
||||
let TotallyNotJson.1084 : Int1 = CallByName Bool.3 TotallyNotJson.1085 TotallyNotJson.1086;
|
||||
jump TotallyNotJson.1083 TotallyNotJson.1084;
|
||||
in
|
||||
let TotallyNotJson.1104 : U8 = 92i64;
|
||||
let TotallyNotJson.1101 : Int1 = CallByName Bool.11 TotallyNotJson.573 TotallyNotJson.1104;
|
||||
let TotallyNotJson.1103 : U8 = 117i64;
|
||||
let TotallyNotJson.1102 : Int1 = CallByName Bool.11 TotallyNotJson.574 TotallyNotJson.1103;
|
||||
let TotallyNotJson.1100 : Int1 = CallByName Bool.3 TotallyNotJson.1101 TotallyNotJson.1102;
|
||||
jump TotallyNotJson.1099 TotallyNotJson.1100;
|
||||
else
|
||||
dec TotallyNotJson.571;
|
||||
dec TotallyNotJson.570;
|
||||
jump TotallyNotJson.1080;
|
||||
else
|
||||
dec TotallyNotJson.571;
|
||||
dec TotallyNotJson.570;
|
||||
let TotallyNotJson.1078 : {List U8, List U8} = Struct {TotallyNotJson.566, TotallyNotJson.567};
|
||||
ret TotallyNotJson.1078;
|
||||
in
|
||||
jump TotallyNotJson.999 #Derived_gen.0;
|
||||
|
||||
procedure TotallyNotJson.8 ():
|
||||
let TotallyNotJson.973 : {} = Struct {};
|
||||
ret TotallyNotJson.973;
|
||||
procedure Test.6 ():
|
||||
let Test.10 : Int1 = false;
|
||||
let Test.0 : [C Int1, C Int1, C Int1] = TagId(2) Test.10;
|
||||
let Test.9 : Int1 = false;
|
||||
let Test.1 : [C Int1, C Int1, C Int1] = TagId(0) Test.9;
|
||||
let Test.8 : Int1 = CallByName Bool.7 Test.0 Test.1;
|
||||
expect Test.8;
|
||||
let Test.7 : {} = Struct {};
|
||||
ret Test.7;
|
||||
|
|
|
@ -1,197 +1,23 @@
|
|||
procedure Bool.1 ():
|
||||
let Bool.51 : Int1 = false;
|
||||
ret Bool.51;
|
||||
|
||||
procedure Bool.11 (#Attr.2, #Attr.3):
|
||||
let Bool.23 : Int1 = lowlevel Eq #Attr.2 #Attr.3;
|
||||
ret Bool.23;
|
||||
|
||||
procedure Bool.11 (#Attr.2, #Attr.3):
|
||||
let Bool.42 : Int1 = lowlevel Eq #Attr.2 #Attr.3;
|
||||
ret Bool.42;
|
||||
|
||||
procedure Bool.11 (#Attr.2, #Attr.3):
|
||||
let Bool.54 : Int1 = lowlevel Eq #Attr.2 #Attr.3;
|
||||
ret Bool.54;
|
||||
|
||||
procedure Bool.2 ():
|
||||
let Bool.50 : Int1 = true;
|
||||
ret Bool.50;
|
||||
|
||||
procedure Bool.3 (#Attr.2, #Attr.3):
|
||||
let Bool.33 : Int1 = lowlevel And #Attr.2 #Attr.3;
|
||||
ret Bool.33;
|
||||
|
||||
procedure Bool.4 (#Attr.2, #Attr.3):
|
||||
let Bool.53 : Int1 = lowlevel Or #Attr.2 #Attr.3;
|
||||
ret Bool.53;
|
||||
let Bool.24 : Int1 = lowlevel Eq #Attr.2 #Attr.3;
|
||||
ret Bool.24;
|
||||
|
||||
procedure Decode.24 (Decode.101):
|
||||
ret Decode.101;
|
||||
|
||||
procedure Decode.25 (Decode.102, Decode.121, Decode.104):
|
||||
let Decode.124 : {List U8, [C {}, C Str]} = CallByName TotallyNotJson.491 Decode.102 Decode.104;
|
||||
let Decode.124 : {List U8, [C {}, C Str]} = CallByName Test.76 Decode.102 Decode.104;
|
||||
ret Decode.124;
|
||||
|
||||
procedure Decode.26 (Decode.105, Decode.106):
|
||||
let Decode.123 : {} = CallByName TotallyNotJson.59;
|
||||
let Decode.123 : {} = CallByName Test.15;
|
||||
let Decode.122 : {List U8, [C {}, C Str]} = CallByName Decode.25 Decode.105 Decode.123 Decode.106;
|
||||
ret Decode.122;
|
||||
|
||||
procedure List.1 (List.107):
|
||||
let List.624 : U64 = CallByName List.6 List.107;
|
||||
dec List.107;
|
||||
let List.625 : U64 = 0i64;
|
||||
let List.623 : Int1 = CallByName Bool.11 List.624 List.625;
|
||||
ret List.623;
|
||||
|
||||
procedure List.104 (List.488, List.489, List.490):
|
||||
let List.633 : U64 = 0i64;
|
||||
let List.634 : U64 = CallByName List.6 List.488;
|
||||
let List.632 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = CallByName List.80 List.488 List.489 List.490 List.633 List.634;
|
||||
ret List.632;
|
||||
|
||||
procedure List.2 (List.108, List.109):
|
||||
let List.615 : U64 = CallByName List.6 List.108;
|
||||
let List.612 : Int1 = CallByName Num.22 List.109 List.615;
|
||||
if List.612 then
|
||||
let List.614 : U8 = CallByName List.66 List.108 List.109;
|
||||
dec List.108;
|
||||
let List.613 : [C {}, C U8] = TagId(1) List.614;
|
||||
ret List.613;
|
||||
else
|
||||
dec List.108;
|
||||
let List.611 : {} = Struct {};
|
||||
let List.610 : [C {}, C U8] = TagId(0) List.611;
|
||||
ret List.610;
|
||||
|
||||
procedure List.26 (List.201, List.202, List.203):
|
||||
let List.626 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = CallByName List.104 List.201 List.202 List.203;
|
||||
let List.629 : U8 = 1i64;
|
||||
let List.630 : U8 = GetTagId List.626;
|
||||
let List.631 : Int1 = lowlevel Eq List.629 List.630;
|
||||
if List.631 then
|
||||
let List.204 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = UnionAtIndex (Id 1) (Index 0) List.626;
|
||||
ret List.204;
|
||||
else
|
||||
let List.205 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = UnionAtIndex (Id 0) (Index 0) List.626;
|
||||
ret List.205;
|
||||
|
||||
procedure List.38 (List.344, List.345):
|
||||
let List.592 : U64 = CallByName List.6 List.344;
|
||||
let List.346 : U64 = CallByName Num.77 List.592 List.345;
|
||||
let List.591 : List U8 = CallByName List.43 List.344 List.346;
|
||||
ret List.591;
|
||||
|
||||
procedure List.4 (List.124, List.125):
|
||||
let List.602 : U64 = 1i64;
|
||||
let List.601 : List U8 = CallByName List.70 List.124 List.602;
|
||||
let List.600 : List U8 = CallByName List.71 List.601 List.125;
|
||||
ret List.600;
|
||||
|
||||
procedure List.43 (List.342, List.343):
|
||||
let List.582 : U64 = CallByName List.6 List.342;
|
||||
let List.581 : U64 = CallByName Num.77 List.582 List.343;
|
||||
let List.576 : {U64, U64} = Struct {List.343, List.581};
|
||||
let List.575 : List U8 = CallByName List.49 List.342 List.576;
|
||||
ret List.575;
|
||||
|
||||
procedure List.49 (List.420, List.421):
|
||||
let List.620 : U64 = StructAtIndex 1 List.421;
|
||||
let List.621 : U64 = StructAtIndex 0 List.421;
|
||||
let List.619 : List U8 = CallByName List.72 List.420 List.620 List.621;
|
||||
ret List.619;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.622 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.622;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.608 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.608;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.599 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.599;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.597 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.597;
|
||||
|
||||
procedure List.72 (#Attr.2, #Attr.3, #Attr.4):
|
||||
let List.580 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.580;
|
||||
|
||||
procedure List.8 (#Attr.2, #Attr.3):
|
||||
let List.594 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.594;
|
||||
|
||||
procedure List.80 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.4):
|
||||
joinpoint List.635 List.491 List.492 List.493 List.494 List.495:
|
||||
let List.637 : Int1 = CallByName Num.22 List.494 List.495;
|
||||
if List.637 then
|
||||
let List.646 : U8 = CallByName List.66 List.491 List.494;
|
||||
let List.638 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = CallByName TotallyNotJson.61 List.492 List.646;
|
||||
let List.643 : U8 = 1i64;
|
||||
let List.644 : U8 = GetTagId List.638;
|
||||
let List.645 : Int1 = lowlevel Eq List.643 List.644;
|
||||
if List.645 then
|
||||
let List.496 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = UnionAtIndex (Id 1) (Index 0) List.638;
|
||||
let List.641 : U64 = 1i64;
|
||||
let List.640 : U64 = CallByName Num.51 List.494 List.641;
|
||||
jump List.635 List.491 List.496 List.493 List.640 List.495;
|
||||
else
|
||||
dec List.491;
|
||||
let List.497 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = UnionAtIndex (Id 0) (Index 0) List.638;
|
||||
let List.642 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(0) List.497;
|
||||
ret List.642;
|
||||
else
|
||||
dec List.491;
|
||||
let List.636 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) List.492;
|
||||
ret List.636;
|
||||
in
|
||||
jump List.635 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
|
||||
|
||||
procedure Num.19 (#Attr.2, #Attr.3):
|
||||
let Num.282 : U8 = lowlevel NumAdd #Attr.2 #Attr.3;
|
||||
ret Num.282;
|
||||
|
||||
procedure Num.19 (#Attr.2, #Attr.3):
|
||||
let Num.291 : U64 = lowlevel NumAdd #Attr.2 #Attr.3;
|
||||
ret Num.291;
|
||||
|
||||
procedure Num.20 (#Attr.2, #Attr.3):
|
||||
let Num.294 : U8 = lowlevel NumSub #Attr.2 #Attr.3;
|
||||
ret Num.294;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.316 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
ret Num.316;
|
||||
|
||||
procedure Num.23 (#Attr.2, #Attr.3):
|
||||
let Num.300 : Int1 = lowlevel NumLte #Attr.2 #Attr.3;
|
||||
ret Num.300;
|
||||
|
||||
procedure Num.25 (#Attr.2, #Attr.3):
|
||||
let Num.306 : Int1 = lowlevel NumGte #Attr.2 #Attr.3;
|
||||
ret Num.306;
|
||||
|
||||
procedure Num.51 (#Attr.2, #Attr.3):
|
||||
let Num.317 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
|
||||
ret Num.317;
|
||||
|
||||
procedure Num.71 (#Attr.2, #Attr.3):
|
||||
let Num.279 : U8 = lowlevel NumBitwiseOr #Attr.2 #Attr.3;
|
||||
ret Num.279;
|
||||
|
||||
procedure Num.72 (#Attr.2, #Attr.3):
|
||||
let Num.280 : U8 = lowlevel NumShiftLeftBy #Attr.2 #Attr.3;
|
||||
ret Num.280;
|
||||
|
||||
procedure Num.77 (#Attr.2, #Attr.3):
|
||||
let Num.313 : U64 = lowlevel NumSubSaturated #Attr.2 #Attr.3;
|
||||
ret Num.313;
|
||||
|
||||
procedure Str.12 (#Attr.2):
|
||||
let Str.241 : List U8 = lowlevel StrToUtf8 #Attr.2;
|
||||
ret Str.241;
|
||||
|
@ -204,10 +30,6 @@ procedure Str.42 (#Attr.2):
|
|||
let Str.240 : {I64, U8} = lowlevel StrToNum #Attr.2;
|
||||
ret Str.240;
|
||||
|
||||
procedure Str.43 (#Attr.2):
|
||||
let Str.249 : {U64, Str, Int1, U8} = lowlevel StrFromUtf8 #Attr.2;
|
||||
ret Str.249;
|
||||
|
||||
procedure Str.60 (Str.185):
|
||||
let Str.186 : {I64, U8} = CallByName Str.42 Str.185;
|
||||
dec Str.185;
|
||||
|
@ -223,633 +45,59 @@ procedure Str.60 (Str.185):
|
|||
let Str.233 : [C {}, C I64] = TagId(0) Str.234;
|
||||
ret Str.233;
|
||||
|
||||
procedure Str.9 (Str.67):
|
||||
let Str.68 : {U64, Str, Int1, U8} = CallByName Str.43 Str.67;
|
||||
let Str.246 : Int1 = StructAtIndex 2 Str.68;
|
||||
if Str.246 then
|
||||
let Str.248 : Str = StructAtIndex 1 Str.68;
|
||||
let Str.247 : [C {U64, U8}, C Str] = TagId(1) Str.248;
|
||||
ret Str.247;
|
||||
else
|
||||
let Str.244 : U8 = StructAtIndex 3 Str.68;
|
||||
let Str.245 : U64 = StructAtIndex 0 Str.68;
|
||||
let #Derived_gen.7 : Str = StructAtIndex 1 Str.68;
|
||||
dec #Derived_gen.7;
|
||||
let Str.243 : {U64, U8} = Struct {Str.245, Str.244};
|
||||
let Str.242 : [C {U64, U8}, C Str] = TagId(0) Str.243;
|
||||
ret Str.242;
|
||||
procedure Test.103 ():
|
||||
let Test.101 : [C Str, C {List U8, I64}] = CallByName Test.19;
|
||||
let Test.115 : List U8 = Array [];
|
||||
let Test.116 : I64 = -1234i64;
|
||||
let Test.114 : {List U8, I64} = Struct {Test.115, Test.116};
|
||||
let Test.113 : [C Str, C {List U8, I64}] = TagId(1) Test.114;
|
||||
let Test.112 : Int1 = CallByName Bool.11 Test.101 Test.113;
|
||||
dec Test.114;
|
||||
expect Test.112;
|
||||
dec Test.101;
|
||||
let Test.111 : {} = Struct {};
|
||||
ret Test.111;
|
||||
|
||||
procedure Test.0 ():
|
||||
let Test.37 : Str = "-1234";
|
||||
let Test.35 : List U8 = CallByName Str.12 Test.37;
|
||||
let Test.36 : {} = CallByName TotallyNotJson.8;
|
||||
let Test.34 : {List U8, [C {}, C Str]} = CallByName Decode.26 Test.35 Test.36;
|
||||
let Test.2 : List U8 = StructAtIndex 0 Test.34;
|
||||
let Test.1 : [C {}, C Str] = StructAtIndex 1 Test.34;
|
||||
let Test.31 : U8 = 1i64;
|
||||
let Test.32 : U8 = GetTagId Test.1;
|
||||
let Test.33 : Int1 = lowlevel Eq Test.31 Test.32;
|
||||
if Test.33 then
|
||||
let Test.3 : Str = UnionAtIndex (Id 1) (Index 0) Test.1;
|
||||
let Test.19 : [C {}, C I64] = CallByName Str.27 Test.3;
|
||||
let Test.25 : U8 = 1i64;
|
||||
let Test.26 : U8 = GetTagId Test.19;
|
||||
let Test.27 : Int1 = lowlevel Eq Test.25 Test.26;
|
||||
if Test.27 then
|
||||
let Test.4 : I64 = UnionAtIndex (Id 1) (Index 0) Test.19;
|
||||
let Test.21 : {List U8, I64} = Struct {Test.2, Test.4};
|
||||
let Test.20 : [C Str, C {List U8, I64}] = TagId(1) Test.21;
|
||||
ret Test.20;
|
||||
procedure Test.15 ():
|
||||
let Test.137 : {} = Struct {};
|
||||
let Test.136 : {} = CallByName Decode.24 Test.137;
|
||||
ret Test.136;
|
||||
|
||||
procedure Test.19 ():
|
||||
let Test.135 : Str = "-1234";
|
||||
let Test.133 : List U8 = CallByName Str.12 Test.135;
|
||||
let Test.134 : {} = Struct {};
|
||||
let Test.132 : {List U8, [C {}, C Str]} = CallByName Decode.26 Test.133 Test.134;
|
||||
let Test.93 : List U8 = StructAtIndex 0 Test.132;
|
||||
let Test.92 : [C {}, C Str] = StructAtIndex 1 Test.132;
|
||||
let Test.129 : U8 = 1i64;
|
||||
let Test.130 : U8 = GetTagId Test.92;
|
||||
let Test.131 : Int1 = lowlevel Eq Test.129 Test.130;
|
||||
if Test.131 then
|
||||
let Test.94 : Str = UnionAtIndex (Id 1) (Index 0) Test.92;
|
||||
let Test.117 : [C {}, C I64] = CallByName Str.27 Test.94;
|
||||
let Test.123 : U8 = 1i64;
|
||||
let Test.124 : U8 = GetTagId Test.117;
|
||||
let Test.125 : Int1 = lowlevel Eq Test.123 Test.124;
|
||||
if Test.125 then
|
||||
let Test.95 : I64 = UnionAtIndex (Id 1) (Index 0) Test.117;
|
||||
let Test.119 : {List U8, I64} = Struct {Test.93, Test.95};
|
||||
let Test.118 : [C Str, C {List U8, I64}] = TagId(1) Test.119;
|
||||
ret Test.118;
|
||||
else
|
||||
dec Test.2;
|
||||
let Test.24 : Str = "not a number";
|
||||
let Test.22 : [C Str, C {List U8, I64}] = TagId(0) Test.24;
|
||||
ret Test.22;
|
||||
dec Test.93;
|
||||
let Test.122 : Str = "not a number";
|
||||
let Test.120 : [C Str, C {List U8, I64}] = TagId(0) Test.122;
|
||||
ret Test.120;
|
||||
else
|
||||
dec Test.2;
|
||||
dec Test.1;
|
||||
let Test.30 : Str = "not a number";
|
||||
let Test.28 : [C Str, C {List U8, I64}] = TagId(0) Test.30;
|
||||
ret Test.28;
|
||||
dec Test.92;
|
||||
dec Test.93;
|
||||
let Test.128 : Str = "not a number";
|
||||
let Test.126 : [C Str, C {List U8, I64}] = TagId(0) Test.128;
|
||||
ret Test.126;
|
||||
|
||||
procedure Test.12 ():
|
||||
let Test.10 : [C Str, C {List U8, I64}] = CallByName Test.0;
|
||||
let Test.17 : List U8 = Array [];
|
||||
let Test.18 : I64 = -1234i64;
|
||||
let Test.16 : {List U8, I64} = Struct {Test.17, Test.18};
|
||||
let Test.15 : [C Str, C {List U8, I64}] = TagId(1) Test.16;
|
||||
let Test.14 : Int1 = CallByName Bool.11 Test.10 Test.15;
|
||||
dec Test.16;
|
||||
expect Test.14;
|
||||
dec Test.10;
|
||||
let Test.13 : {} = Struct {};
|
||||
ret Test.13;
|
||||
|
||||
procedure TotallyNotJson.491 (TotallyNotJson.492, TotallyNotJson.976):
|
||||
joinpoint TotallyNotJson.1260:
|
||||
inc TotallyNotJson.492;
|
||||
let TotallyNotJson.1129 : {List U8, List U8} = CallByName TotallyNotJson.60 TotallyNotJson.492;
|
||||
let TotallyNotJson.496 : List U8 = StructAtIndex 0 TotallyNotJson.1129;
|
||||
let TotallyNotJson.495 : List U8 = StructAtIndex 1 TotallyNotJson.1129;
|
||||
inc TotallyNotJson.495;
|
||||
let TotallyNotJson.1125 : Int1 = CallByName List.1 TotallyNotJson.495;
|
||||
if TotallyNotJson.1125 then
|
||||
dec TotallyNotJson.495;
|
||||
dec TotallyNotJson.496;
|
||||
let TotallyNotJson.1128 : {} = Struct {};
|
||||
let TotallyNotJson.1127 : [C {}, C Str] = TagId(0) TotallyNotJson.1128;
|
||||
let TotallyNotJson.1126 : {List U8, [C {}, C Str]} = Struct {TotallyNotJson.492, TotallyNotJson.1127};
|
||||
ret TotallyNotJson.1126;
|
||||
else
|
||||
let TotallyNotJson.1123 : U64 = CallByName List.6 TotallyNotJson.495;
|
||||
let TotallyNotJson.1124 : U64 = 2i64;
|
||||
let TotallyNotJson.1121 : U64 = CallByName Num.77 TotallyNotJson.1123 TotallyNotJson.1124;
|
||||
let TotallyNotJson.1122 : U64 = 1i64;
|
||||
let TotallyNotJson.1120 : {U64, U64} = Struct {TotallyNotJson.1121, TotallyNotJson.1122};
|
||||
let TotallyNotJson.995 : List U8 = CallByName List.49 TotallyNotJson.495 TotallyNotJson.1120;
|
||||
let TotallyNotJson.996 : {} = Struct {};
|
||||
let TotallyNotJson.991 : {List U8, List U8} = CallByName TotallyNotJson.500 TotallyNotJson.995;
|
||||
let TotallyNotJson.992 : {} = Struct {};
|
||||
let TotallyNotJson.990 : List U8 = CallByName TotallyNotJson.502 TotallyNotJson.991;
|
||||
let TotallyNotJson.499 : [C {U64, U8}, C Str] = CallByName Str.9 TotallyNotJson.990;
|
||||
let TotallyNotJson.987 : U8 = 1i64;
|
||||
let TotallyNotJson.988 : U8 = GetTagId TotallyNotJson.499;
|
||||
let TotallyNotJson.989 : Int1 = lowlevel Eq TotallyNotJson.987 TotallyNotJson.988;
|
||||
if TotallyNotJson.989 then
|
||||
dec TotallyNotJson.492;
|
||||
let TotallyNotJson.503 : Str = UnionAtIndex (Id 1) (Index 0) TotallyNotJson.499;
|
||||
let TotallyNotJson.983 : [C {}, C Str] = TagId(1) TotallyNotJson.503;
|
||||
let TotallyNotJson.982 : {List U8, [C {}, C Str]} = Struct {TotallyNotJson.496, TotallyNotJson.983};
|
||||
ret TotallyNotJson.982;
|
||||
else
|
||||
dec TotallyNotJson.499;
|
||||
dec TotallyNotJson.496;
|
||||
let TotallyNotJson.986 : {} = Struct {};
|
||||
let TotallyNotJson.985 : [C {}, C Str] = TagId(0) TotallyNotJson.986;
|
||||
let TotallyNotJson.984 : {List U8, [C {}, C Str]} = Struct {TotallyNotJson.492, TotallyNotJson.985};
|
||||
ret TotallyNotJson.984;
|
||||
in
|
||||
let TotallyNotJson.1258 : U64 = lowlevel ListLenUsize TotallyNotJson.492;
|
||||
let TotallyNotJson.1259 : U64 = 4i64;
|
||||
let TotallyNotJson.1265 : Int1 = lowlevel NumGte TotallyNotJson.1258 TotallyNotJson.1259;
|
||||
if TotallyNotJson.1265 then
|
||||
let TotallyNotJson.1255 : U64 = 3i64;
|
||||
let TotallyNotJson.1256 : U8 = lowlevel ListGetUnsafe TotallyNotJson.492 TotallyNotJson.1255;
|
||||
let TotallyNotJson.1257 : U8 = 108i64;
|
||||
let TotallyNotJson.1264 : Int1 = lowlevel Eq TotallyNotJson.1257 TotallyNotJson.1256;
|
||||
if TotallyNotJson.1264 then
|
||||
let TotallyNotJson.1252 : U64 = 2i64;
|
||||
let TotallyNotJson.1253 : U8 = lowlevel ListGetUnsafe TotallyNotJson.492 TotallyNotJson.1252;
|
||||
let TotallyNotJson.1254 : U8 = 108i64;
|
||||
let TotallyNotJson.1263 : Int1 = lowlevel Eq TotallyNotJson.1254 TotallyNotJson.1253;
|
||||
if TotallyNotJson.1263 then
|
||||
let TotallyNotJson.1249 : U64 = 1i64;
|
||||
let TotallyNotJson.1250 : U8 = lowlevel ListGetUnsafe TotallyNotJson.492 TotallyNotJson.1249;
|
||||
let TotallyNotJson.1251 : U8 = 117i64;
|
||||
let TotallyNotJson.1262 : Int1 = lowlevel Eq TotallyNotJson.1251 TotallyNotJson.1250;
|
||||
if TotallyNotJson.1262 then
|
||||
let TotallyNotJson.1246 : U64 = 0i64;
|
||||
let TotallyNotJson.1247 : U8 = lowlevel ListGetUnsafe TotallyNotJson.492 TotallyNotJson.1246;
|
||||
let TotallyNotJson.1248 : U8 = 110i64;
|
||||
let TotallyNotJson.1261 : Int1 = lowlevel Eq TotallyNotJson.1248 TotallyNotJson.1247;
|
||||
if TotallyNotJson.1261 then
|
||||
let TotallyNotJson.981 : U64 = 4i64;
|
||||
let TotallyNotJson.978 : List U8 = CallByName List.38 TotallyNotJson.492 TotallyNotJson.981;
|
||||
let TotallyNotJson.980 : Str = "null";
|
||||
let TotallyNotJson.979 : [C {}, C Str] = TagId(1) TotallyNotJson.980;
|
||||
let TotallyNotJson.977 : {List U8, [C {}, C Str]} = Struct {TotallyNotJson.978, TotallyNotJson.979};
|
||||
ret TotallyNotJson.977;
|
||||
else
|
||||
jump TotallyNotJson.1260;
|
||||
else
|
||||
jump TotallyNotJson.1260;
|
||||
else
|
||||
jump TotallyNotJson.1260;
|
||||
else
|
||||
jump TotallyNotJson.1260;
|
||||
else
|
||||
jump TotallyNotJson.1260;
|
||||
|
||||
procedure TotallyNotJson.500 (TotallyNotJson.501):
|
||||
let TotallyNotJson.1119 : List U8 = Array [];
|
||||
let TotallyNotJson.998 : {List U8, List U8} = Struct {TotallyNotJson.501, TotallyNotJson.1119};
|
||||
let TotallyNotJson.997 : {List U8, List U8} = CallByName TotallyNotJson.69 TotallyNotJson.998;
|
||||
ret TotallyNotJson.997;
|
||||
|
||||
procedure TotallyNotJson.502 (TotallyNotJson.993):
|
||||
let TotallyNotJson.994 : List U8 = StructAtIndex 1 TotallyNotJson.993;
|
||||
let #Derived_gen.6 : List U8 = StructAtIndex 0 TotallyNotJson.993;
|
||||
dec #Derived_gen.6;
|
||||
ret TotallyNotJson.994;
|
||||
|
||||
procedure TotallyNotJson.59 ():
|
||||
let TotallyNotJson.975 : {} = Struct {};
|
||||
let TotallyNotJson.974 : {} = CallByName Decode.24 TotallyNotJson.975;
|
||||
ret TotallyNotJson.974;
|
||||
|
||||
procedure TotallyNotJson.60 (TotallyNotJson.507):
|
||||
let TotallyNotJson.1141 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(4) ;
|
||||
let TotallyNotJson.1142 : {} = Struct {};
|
||||
inc TotallyNotJson.507;
|
||||
let TotallyNotJson.1130 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = CallByName List.26 TotallyNotJson.507 TotallyNotJson.1141 TotallyNotJson.1142;
|
||||
let TotallyNotJson.1138 : U8 = 2i64;
|
||||
let TotallyNotJson.1139 : U8 = GetTagId TotallyNotJson.1130;
|
||||
let TotallyNotJson.1140 : Int1 = lowlevel Eq TotallyNotJson.1138 TotallyNotJson.1139;
|
||||
if TotallyNotJson.1140 then
|
||||
inc TotallyNotJson.507;
|
||||
let TotallyNotJson.509 : U64 = UnionAtIndex (Id 2) (Index 0) TotallyNotJson.1130;
|
||||
let TotallyNotJson.1132 : List U8 = CallByName List.38 TotallyNotJson.507 TotallyNotJson.509;
|
||||
let TotallyNotJson.1135 : U64 = 0i64;
|
||||
let TotallyNotJson.1134 : {U64, U64} = Struct {TotallyNotJson.509, TotallyNotJson.1135};
|
||||
let TotallyNotJson.1133 : List U8 = CallByName List.49 TotallyNotJson.507 TotallyNotJson.1134;
|
||||
let TotallyNotJson.1131 : {List U8, List U8} = Struct {TotallyNotJson.1132, TotallyNotJson.1133};
|
||||
ret TotallyNotJson.1131;
|
||||
else
|
||||
let TotallyNotJson.1137 : List U8 = Array [];
|
||||
let TotallyNotJson.1136 : {List U8, List U8} = Struct {TotallyNotJson.507, TotallyNotJson.1137};
|
||||
ret TotallyNotJson.1136;
|
||||
|
||||
procedure TotallyNotJson.61 (TotallyNotJson.510, TotallyNotJson.511):
|
||||
let TotallyNotJson.1143 : {[C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], U8} = Struct {TotallyNotJson.510, TotallyNotJson.511};
|
||||
joinpoint TotallyNotJson.1186:
|
||||
let TotallyNotJson.1184 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(3) ;
|
||||
let TotallyNotJson.1183 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(0) TotallyNotJson.1184;
|
||||
ret TotallyNotJson.1183;
|
||||
in
|
||||
let TotallyNotJson.1187 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 TotallyNotJson.1143;
|
||||
let TotallyNotJson.1245 : U8 = GetTagId TotallyNotJson.1187;
|
||||
switch TotallyNotJson.1245:
|
||||
case 4:
|
||||
let TotallyNotJson.512 : U8 = StructAtIndex 1 TotallyNotJson.1143;
|
||||
joinpoint TotallyNotJson.1189 TotallyNotJson.1188:
|
||||
if TotallyNotJson.1188 then
|
||||
let TotallyNotJson.1146 : U64 = 1i64;
|
||||
let TotallyNotJson.1145 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(0) TotallyNotJson.1146;
|
||||
let TotallyNotJson.1144 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) TotallyNotJson.1145;
|
||||
ret TotallyNotJson.1144;
|
||||
else
|
||||
jump TotallyNotJson.1186;
|
||||
in
|
||||
let TotallyNotJson.1191 : U8 = 34i64;
|
||||
let TotallyNotJson.1190 : Int1 = CallByName Bool.11 TotallyNotJson.512 TotallyNotJson.1191;
|
||||
jump TotallyNotJson.1189 TotallyNotJson.1190;
|
||||
|
||||
case 0:
|
||||
let TotallyNotJson.1202 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 TotallyNotJson.1143;
|
||||
let TotallyNotJson.515 : U64 = UnionAtIndex (Id 0) (Index 0) TotallyNotJson.1202;
|
||||
let TotallyNotJson.516 : U8 = StructAtIndex 1 TotallyNotJson.1143;
|
||||
joinpoint TotallyNotJson.1199 TotallyNotJson.1193:
|
||||
if TotallyNotJson.1193 then
|
||||
let TotallyNotJson.1150 : U64 = 1i64;
|
||||
let TotallyNotJson.1149 : U64 = CallByName Num.19 TotallyNotJson.515 TotallyNotJson.1150;
|
||||
let TotallyNotJson.1148 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(2) TotallyNotJson.1149;
|
||||
let TotallyNotJson.1147 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(0) TotallyNotJson.1148;
|
||||
ret TotallyNotJson.1147;
|
||||
else
|
||||
let TotallyNotJson.1198 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 TotallyNotJson.1143;
|
||||
let TotallyNotJson.519 : U64 = UnionAtIndex (Id 0) (Index 0) TotallyNotJson.1198;
|
||||
let TotallyNotJson.520 : U8 = StructAtIndex 1 TotallyNotJson.1143;
|
||||
joinpoint TotallyNotJson.1195 TotallyNotJson.1194:
|
||||
if TotallyNotJson.1194 then
|
||||
let TotallyNotJson.1154 : U64 = 1i64;
|
||||
let TotallyNotJson.1153 : U64 = CallByName Num.19 TotallyNotJson.519 TotallyNotJson.1154;
|
||||
let TotallyNotJson.1152 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(1) TotallyNotJson.1153;
|
||||
let TotallyNotJson.1151 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) TotallyNotJson.1152;
|
||||
ret TotallyNotJson.1151;
|
||||
else
|
||||
let TotallyNotJson.1185 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 TotallyNotJson.1143;
|
||||
let TotallyNotJson.523 : U64 = UnionAtIndex (Id 0) (Index 0) TotallyNotJson.1185;
|
||||
let TotallyNotJson.1158 : U64 = 1i64;
|
||||
let TotallyNotJson.1157 : U64 = CallByName Num.19 TotallyNotJson.523 TotallyNotJson.1158;
|
||||
let TotallyNotJson.1156 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(0) TotallyNotJson.1157;
|
||||
let TotallyNotJson.1155 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) TotallyNotJson.1156;
|
||||
ret TotallyNotJson.1155;
|
||||
in
|
||||
let TotallyNotJson.1197 : U8 = 92i64;
|
||||
let TotallyNotJson.1196 : Int1 = CallByName Bool.11 TotallyNotJson.520 TotallyNotJson.1197;
|
||||
jump TotallyNotJson.1195 TotallyNotJson.1196;
|
||||
in
|
||||
let TotallyNotJson.1201 : U8 = 34i64;
|
||||
let TotallyNotJson.1200 : Int1 = CallByName Bool.11 TotallyNotJson.516 TotallyNotJson.1201;
|
||||
jump TotallyNotJson.1199 TotallyNotJson.1200;
|
||||
|
||||
case 1:
|
||||
let TotallyNotJson.1211 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 TotallyNotJson.1143;
|
||||
let TotallyNotJson.526 : U64 = UnionAtIndex (Id 1) (Index 0) TotallyNotJson.1211;
|
||||
let TotallyNotJson.527 : U8 = StructAtIndex 1 TotallyNotJson.1143;
|
||||
joinpoint TotallyNotJson.1209 TotallyNotJson.1203:
|
||||
if TotallyNotJson.1203 then
|
||||
let TotallyNotJson.1162 : U64 = 1i64;
|
||||
let TotallyNotJson.1161 : U64 = CallByName Num.19 TotallyNotJson.526 TotallyNotJson.1162;
|
||||
let TotallyNotJson.1160 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(0) TotallyNotJson.1161;
|
||||
let TotallyNotJson.1159 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) TotallyNotJson.1160;
|
||||
ret TotallyNotJson.1159;
|
||||
else
|
||||
let TotallyNotJson.1208 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 TotallyNotJson.1143;
|
||||
let TotallyNotJson.530 : U64 = UnionAtIndex (Id 1) (Index 0) TotallyNotJson.1208;
|
||||
let TotallyNotJson.531 : U8 = StructAtIndex 1 TotallyNotJson.1143;
|
||||
joinpoint TotallyNotJson.1205 TotallyNotJson.1204:
|
||||
if TotallyNotJson.1204 then
|
||||
let TotallyNotJson.1166 : U64 = 1i64;
|
||||
let TotallyNotJson.1165 : U64 = CallByName Num.19 TotallyNotJson.530 TotallyNotJson.1166;
|
||||
let TotallyNotJson.1164 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(5) TotallyNotJson.1165;
|
||||
let TotallyNotJson.1163 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) TotallyNotJson.1164;
|
||||
ret TotallyNotJson.1163;
|
||||
else
|
||||
jump TotallyNotJson.1186;
|
||||
in
|
||||
let TotallyNotJson.1207 : U8 = 117i64;
|
||||
let TotallyNotJson.1206 : Int1 = CallByName Bool.11 TotallyNotJson.531 TotallyNotJson.1207;
|
||||
jump TotallyNotJson.1205 TotallyNotJson.1206;
|
||||
in
|
||||
let TotallyNotJson.1210 : Int1 = CallByName TotallyNotJson.62 TotallyNotJson.527;
|
||||
jump TotallyNotJson.1209 TotallyNotJson.1210;
|
||||
|
||||
case 5:
|
||||
let TotallyNotJson.1232 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 TotallyNotJson.1143;
|
||||
let TotallyNotJson.534 : U64 = UnionAtIndex (Id 5) (Index 0) TotallyNotJson.1232;
|
||||
let TotallyNotJson.535 : U8 = StructAtIndex 1 TotallyNotJson.1143;
|
||||
joinpoint TotallyNotJson.1213 TotallyNotJson.1212:
|
||||
if TotallyNotJson.1212 then
|
||||
let TotallyNotJson.1170 : U64 = 1i64;
|
||||
let TotallyNotJson.1169 : U64 = CallByName Num.19 TotallyNotJson.534 TotallyNotJson.1170;
|
||||
let TotallyNotJson.1168 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(6) TotallyNotJson.1169;
|
||||
let TotallyNotJson.1167 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) TotallyNotJson.1168;
|
||||
ret TotallyNotJson.1167;
|
||||
else
|
||||
jump TotallyNotJson.1186;
|
||||
in
|
||||
let TotallyNotJson.1214 : Int1 = CallByName TotallyNotJson.64 TotallyNotJson.535;
|
||||
jump TotallyNotJson.1213 TotallyNotJson.1214;
|
||||
|
||||
case 6:
|
||||
let TotallyNotJson.1236 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 TotallyNotJson.1143;
|
||||
let TotallyNotJson.538 : U64 = UnionAtIndex (Id 6) (Index 0) TotallyNotJson.1236;
|
||||
let TotallyNotJson.539 : U8 = StructAtIndex 1 TotallyNotJson.1143;
|
||||
joinpoint TotallyNotJson.1234 TotallyNotJson.1233:
|
||||
if TotallyNotJson.1233 then
|
||||
let TotallyNotJson.1174 : U64 = 1i64;
|
||||
let TotallyNotJson.1173 : U64 = CallByName Num.19 TotallyNotJson.538 TotallyNotJson.1174;
|
||||
let TotallyNotJson.1172 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(7) TotallyNotJson.1173;
|
||||
let TotallyNotJson.1171 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) TotallyNotJson.1172;
|
||||
ret TotallyNotJson.1171;
|
||||
else
|
||||
jump TotallyNotJson.1186;
|
||||
in
|
||||
let TotallyNotJson.1235 : Int1 = CallByName TotallyNotJson.64 TotallyNotJson.539;
|
||||
jump TotallyNotJson.1234 TotallyNotJson.1235;
|
||||
|
||||
case 7:
|
||||
let TotallyNotJson.1240 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 TotallyNotJson.1143;
|
||||
let TotallyNotJson.542 : U64 = UnionAtIndex (Id 7) (Index 0) TotallyNotJson.1240;
|
||||
let TotallyNotJson.543 : U8 = StructAtIndex 1 TotallyNotJson.1143;
|
||||
joinpoint TotallyNotJson.1238 TotallyNotJson.1237:
|
||||
if TotallyNotJson.1237 then
|
||||
let TotallyNotJson.1178 : U64 = 1i64;
|
||||
let TotallyNotJson.1177 : U64 = CallByName Num.19 TotallyNotJson.542 TotallyNotJson.1178;
|
||||
let TotallyNotJson.1176 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(8) TotallyNotJson.1177;
|
||||
let TotallyNotJson.1175 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) TotallyNotJson.1176;
|
||||
ret TotallyNotJson.1175;
|
||||
else
|
||||
jump TotallyNotJson.1186;
|
||||
in
|
||||
let TotallyNotJson.1239 : Int1 = CallByName TotallyNotJson.64 TotallyNotJson.543;
|
||||
jump TotallyNotJson.1238 TotallyNotJson.1239;
|
||||
|
||||
case 8:
|
||||
let TotallyNotJson.1244 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 TotallyNotJson.1143;
|
||||
let TotallyNotJson.546 : U64 = UnionAtIndex (Id 8) (Index 0) TotallyNotJson.1244;
|
||||
let TotallyNotJson.547 : U8 = StructAtIndex 1 TotallyNotJson.1143;
|
||||
joinpoint TotallyNotJson.1242 TotallyNotJson.1241:
|
||||
if TotallyNotJson.1241 then
|
||||
let TotallyNotJson.1182 : U64 = 1i64;
|
||||
let TotallyNotJson.1181 : U64 = CallByName Num.19 TotallyNotJson.546 TotallyNotJson.1182;
|
||||
let TotallyNotJson.1180 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(0) TotallyNotJson.1181;
|
||||
let TotallyNotJson.1179 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) TotallyNotJson.1180;
|
||||
ret TotallyNotJson.1179;
|
||||
else
|
||||
jump TotallyNotJson.1186;
|
||||
in
|
||||
let TotallyNotJson.1243 : Int1 = CallByName TotallyNotJson.64 TotallyNotJson.547;
|
||||
jump TotallyNotJson.1242 TotallyNotJson.1243;
|
||||
|
||||
default:
|
||||
jump TotallyNotJson.1186;
|
||||
|
||||
|
||||
procedure TotallyNotJson.62 (TotallyNotJson.552):
|
||||
switch TotallyNotJson.552:
|
||||
case 34:
|
||||
let TotallyNotJson.1087 : Int1 = CallByName Bool.2;
|
||||
ret TotallyNotJson.1087;
|
||||
|
||||
case 92:
|
||||
let TotallyNotJson.1088 : Int1 = CallByName Bool.2;
|
||||
ret TotallyNotJson.1088;
|
||||
|
||||
case 47:
|
||||
let TotallyNotJson.1089 : Int1 = CallByName Bool.2;
|
||||
ret TotallyNotJson.1089;
|
||||
|
||||
case 98:
|
||||
let TotallyNotJson.1090 : Int1 = CallByName Bool.2;
|
||||
ret TotallyNotJson.1090;
|
||||
|
||||
case 102:
|
||||
let TotallyNotJson.1091 : Int1 = CallByName Bool.2;
|
||||
ret TotallyNotJson.1091;
|
||||
|
||||
case 110:
|
||||
let TotallyNotJson.1092 : Int1 = CallByName Bool.2;
|
||||
ret TotallyNotJson.1092;
|
||||
|
||||
case 114:
|
||||
let TotallyNotJson.1093 : Int1 = CallByName Bool.2;
|
||||
ret TotallyNotJson.1093;
|
||||
|
||||
case 116:
|
||||
let TotallyNotJson.1094 : Int1 = CallByName Bool.2;
|
||||
ret TotallyNotJson.1094;
|
||||
|
||||
default:
|
||||
let TotallyNotJson.1095 : Int1 = CallByName Bool.1;
|
||||
ret TotallyNotJson.1095;
|
||||
|
||||
|
||||
procedure TotallyNotJson.63 (TotallyNotJson.553):
|
||||
switch TotallyNotJson.553:
|
||||
case 34:
|
||||
let TotallyNotJson.1064 : U8 = 34i64;
|
||||
ret TotallyNotJson.1064;
|
||||
|
||||
case 92:
|
||||
let TotallyNotJson.1065 : U8 = 92i64;
|
||||
ret TotallyNotJson.1065;
|
||||
|
||||
case 47:
|
||||
let TotallyNotJson.1066 : U8 = 47i64;
|
||||
ret TotallyNotJson.1066;
|
||||
|
||||
case 98:
|
||||
let TotallyNotJson.1067 : U8 = 8i64;
|
||||
ret TotallyNotJson.1067;
|
||||
|
||||
case 102:
|
||||
let TotallyNotJson.1068 : U8 = 12i64;
|
||||
ret TotallyNotJson.1068;
|
||||
|
||||
case 110:
|
||||
let TotallyNotJson.1069 : U8 = 10i64;
|
||||
ret TotallyNotJson.1069;
|
||||
|
||||
case 114:
|
||||
let TotallyNotJson.1070 : U8 = 13i64;
|
||||
ret TotallyNotJson.1070;
|
||||
|
||||
case 116:
|
||||
let TotallyNotJson.1071 : U8 = 9i64;
|
||||
ret TotallyNotJson.1071;
|
||||
|
||||
default:
|
||||
ret TotallyNotJson.553;
|
||||
|
||||
|
||||
procedure TotallyNotJson.64 (TotallyNotJson.554):
|
||||
let TotallyNotJson.1231 : U8 = 48i64;
|
||||
let TotallyNotJson.1228 : Int1 = CallByName Num.25 TotallyNotJson.554 TotallyNotJson.1231;
|
||||
let TotallyNotJson.1230 : U8 = 57i64;
|
||||
let TotallyNotJson.1229 : Int1 = CallByName Num.23 TotallyNotJson.554 TotallyNotJson.1230;
|
||||
let TotallyNotJson.1216 : Int1 = CallByName Bool.3 TotallyNotJson.1228 TotallyNotJson.1229;
|
||||
let TotallyNotJson.1227 : U8 = 97i64;
|
||||
let TotallyNotJson.1224 : Int1 = CallByName Num.25 TotallyNotJson.554 TotallyNotJson.1227;
|
||||
let TotallyNotJson.1226 : U8 = 102i64;
|
||||
let TotallyNotJson.1225 : Int1 = CallByName Num.23 TotallyNotJson.554 TotallyNotJson.1226;
|
||||
let TotallyNotJson.1218 : Int1 = CallByName Bool.3 TotallyNotJson.1224 TotallyNotJson.1225;
|
||||
let TotallyNotJson.1223 : U8 = 65i64;
|
||||
let TotallyNotJson.1220 : Int1 = CallByName Num.25 TotallyNotJson.554 TotallyNotJson.1223;
|
||||
let TotallyNotJson.1222 : U8 = 70i64;
|
||||
let TotallyNotJson.1221 : Int1 = CallByName Num.23 TotallyNotJson.554 TotallyNotJson.1222;
|
||||
let TotallyNotJson.1219 : Int1 = CallByName Bool.3 TotallyNotJson.1220 TotallyNotJson.1221;
|
||||
let TotallyNotJson.1217 : Int1 = CallByName Bool.4 TotallyNotJson.1218 TotallyNotJson.1219;
|
||||
let TotallyNotJson.1215 : Int1 = CallByName Bool.4 TotallyNotJson.1216 TotallyNotJson.1217;
|
||||
ret TotallyNotJson.1215;
|
||||
|
||||
procedure TotallyNotJson.65 (TotallyNotJson.555):
|
||||
let TotallyNotJson.1043 : U8 = 48i64;
|
||||
let TotallyNotJson.1040 : Int1 = CallByName Num.25 TotallyNotJson.555 TotallyNotJson.1043;
|
||||
let TotallyNotJson.1042 : U8 = 57i64;
|
||||
let TotallyNotJson.1041 : Int1 = CallByName Num.23 TotallyNotJson.555 TotallyNotJson.1042;
|
||||
let TotallyNotJson.1037 : Int1 = CallByName Bool.3 TotallyNotJson.1040 TotallyNotJson.1041;
|
||||
if TotallyNotJson.1037 then
|
||||
let TotallyNotJson.1039 : U8 = 48i64;
|
||||
let TotallyNotJson.1038 : U8 = CallByName Num.20 TotallyNotJson.555 TotallyNotJson.1039;
|
||||
ret TotallyNotJson.1038;
|
||||
else
|
||||
let TotallyNotJson.1036 : U8 = 97i64;
|
||||
let TotallyNotJson.1033 : Int1 = CallByName Num.25 TotallyNotJson.555 TotallyNotJson.1036;
|
||||
let TotallyNotJson.1035 : U8 = 102i64;
|
||||
let TotallyNotJson.1034 : Int1 = CallByName Num.23 TotallyNotJson.555 TotallyNotJson.1035;
|
||||
let TotallyNotJson.1028 : Int1 = CallByName Bool.3 TotallyNotJson.1033 TotallyNotJson.1034;
|
||||
if TotallyNotJson.1028 then
|
||||
let TotallyNotJson.1032 : U8 = 97i64;
|
||||
let TotallyNotJson.1030 : U8 = CallByName Num.20 TotallyNotJson.555 TotallyNotJson.1032;
|
||||
let TotallyNotJson.1031 : U8 = 10i64;
|
||||
let TotallyNotJson.1029 : U8 = CallByName Num.19 TotallyNotJson.1030 TotallyNotJson.1031;
|
||||
ret TotallyNotJson.1029;
|
||||
else
|
||||
let TotallyNotJson.1027 : U8 = 65i64;
|
||||
let TotallyNotJson.1024 : Int1 = CallByName Num.25 TotallyNotJson.555 TotallyNotJson.1027;
|
||||
let TotallyNotJson.1026 : U8 = 70i64;
|
||||
let TotallyNotJson.1025 : Int1 = CallByName Num.23 TotallyNotJson.555 TotallyNotJson.1026;
|
||||
let TotallyNotJson.1019 : Int1 = CallByName Bool.3 TotallyNotJson.1024 TotallyNotJson.1025;
|
||||
if TotallyNotJson.1019 then
|
||||
let TotallyNotJson.1023 : U8 = 65i64;
|
||||
let TotallyNotJson.1021 : U8 = CallByName Num.20 TotallyNotJson.555 TotallyNotJson.1023;
|
||||
let TotallyNotJson.1022 : U8 = 10i64;
|
||||
let TotallyNotJson.1020 : U8 = CallByName Num.19 TotallyNotJson.1021 TotallyNotJson.1022;
|
||||
ret TotallyNotJson.1020;
|
||||
else
|
||||
let TotallyNotJson.1018 : Str = "got an invalid hex char";
|
||||
Crash TotallyNotJson.1018
|
||||
|
||||
procedure TotallyNotJson.66 (TotallyNotJson.556, TotallyNotJson.557):
|
||||
let TotallyNotJson.1009 : U8 = 4i64;
|
||||
let TotallyNotJson.1008 : U8 = CallByName Num.72 TotallyNotJson.556 TotallyNotJson.1009;
|
||||
let TotallyNotJson.1007 : U8 = CallByName Num.71 TotallyNotJson.1008 TotallyNotJson.557;
|
||||
ret TotallyNotJson.1007;
|
||||
|
||||
procedure TotallyNotJson.67 (TotallyNotJson.558, TotallyNotJson.559, TotallyNotJson.560, TotallyNotJson.561):
|
||||
let TotallyNotJson.562 : U8 = CallByName TotallyNotJson.65 TotallyNotJson.558;
|
||||
let TotallyNotJson.563 : U8 = CallByName TotallyNotJson.65 TotallyNotJson.559;
|
||||
let TotallyNotJson.564 : U8 = CallByName TotallyNotJson.65 TotallyNotJson.560;
|
||||
let TotallyNotJson.565 : U8 = CallByName TotallyNotJson.65 TotallyNotJson.561;
|
||||
let TotallyNotJson.1016 : U8 = 0i64;
|
||||
let TotallyNotJson.1013 : Int1 = CallByName Bool.11 TotallyNotJson.562 TotallyNotJson.1016;
|
||||
let TotallyNotJson.1015 : U8 = 0i64;
|
||||
let TotallyNotJson.1014 : Int1 = CallByName Bool.11 TotallyNotJson.563 TotallyNotJson.1015;
|
||||
let TotallyNotJson.1010 : Int1 = CallByName Bool.3 TotallyNotJson.1013 TotallyNotJson.1014;
|
||||
if TotallyNotJson.1010 then
|
||||
let TotallyNotJson.1012 : U8 = CallByName TotallyNotJson.66 TotallyNotJson.564 TotallyNotJson.565;
|
||||
let TotallyNotJson.1011 : List U8 = Array [TotallyNotJson.1012];
|
||||
ret TotallyNotJson.1011;
|
||||
else
|
||||
let TotallyNotJson.1005 : U8 = CallByName TotallyNotJson.66 TotallyNotJson.562 TotallyNotJson.563;
|
||||
let TotallyNotJson.1006 : U8 = CallByName TotallyNotJson.66 TotallyNotJson.564 TotallyNotJson.565;
|
||||
let TotallyNotJson.1004 : List U8 = Array [TotallyNotJson.1005, TotallyNotJson.1006];
|
||||
ret TotallyNotJson.1004;
|
||||
|
||||
procedure TotallyNotJson.68 ():
|
||||
let TotallyNotJson.1049 : U8 = 102i64;
|
||||
let TotallyNotJson.1050 : U8 = 102i64;
|
||||
let TotallyNotJson.1051 : U8 = 100i64;
|
||||
let TotallyNotJson.1052 : U8 = 100i64;
|
||||
let TotallyNotJson.1048 : List U8 = CallByName TotallyNotJson.67 TotallyNotJson.1049 TotallyNotJson.1050 TotallyNotJson.1051 TotallyNotJson.1052;
|
||||
ret TotallyNotJson.1048;
|
||||
|
||||
procedure TotallyNotJson.69 (#Derived_gen.5):
|
||||
joinpoint TotallyNotJson.999 TotallyNotJson.970:
|
||||
let TotallyNotJson.566 : List U8 = StructAtIndex 0 TotallyNotJson.970;
|
||||
inc 4 TotallyNotJson.566;
|
||||
let TotallyNotJson.567 : List U8 = StructAtIndex 1 TotallyNotJson.970;
|
||||
let TotallyNotJson.1118 : U64 = 0i64;
|
||||
let TotallyNotJson.568 : [C {}, C U8] = CallByName List.2 TotallyNotJson.566 TotallyNotJson.1118;
|
||||
let TotallyNotJson.1117 : U64 = 1i64;
|
||||
let TotallyNotJson.569 : [C {}, C U8] = CallByName List.2 TotallyNotJson.566 TotallyNotJson.1117;
|
||||
let TotallyNotJson.1116 : U64 = 2i64;
|
||||
let TotallyNotJson.570 : List U8 = CallByName List.38 TotallyNotJson.566 TotallyNotJson.1116;
|
||||
let TotallyNotJson.1115 : U64 = 6i64;
|
||||
let TotallyNotJson.571 : List U8 = CallByName List.38 TotallyNotJson.566 TotallyNotJson.1115;
|
||||
let TotallyNotJson.1000 : {[C {}, C U8], [C {}, C U8]} = Struct {TotallyNotJson.568, TotallyNotJson.569};
|
||||
joinpoint TotallyNotJson.1080:
|
||||
let TotallyNotJson.1079 : [C {}, C U8] = StructAtIndex 0 TotallyNotJson.1000;
|
||||
let TotallyNotJson.582 : U8 = UnionAtIndex (Id 1) (Index 0) TotallyNotJson.1079;
|
||||
let TotallyNotJson.1077 : U64 = 1i64;
|
||||
let TotallyNotJson.1075 : List U8 = CallByName List.38 TotallyNotJson.566 TotallyNotJson.1077;
|
||||
let TotallyNotJson.1076 : List U8 = CallByName List.4 TotallyNotJson.567 TotallyNotJson.582;
|
||||
let TotallyNotJson.1074 : {List U8, List U8} = Struct {TotallyNotJson.1075, TotallyNotJson.1076};
|
||||
jump TotallyNotJson.999 TotallyNotJson.1074;
|
||||
in
|
||||
let TotallyNotJson.1111 : [C {}, C U8] = StructAtIndex 0 TotallyNotJson.1000;
|
||||
let TotallyNotJson.1112 : U8 = 1i64;
|
||||
let TotallyNotJson.1113 : U8 = GetTagId TotallyNotJson.1111;
|
||||
let TotallyNotJson.1114 : Int1 = lowlevel Eq TotallyNotJson.1112 TotallyNotJson.1113;
|
||||
if TotallyNotJson.1114 then
|
||||
let TotallyNotJson.1107 : [C {}, C U8] = StructAtIndex 1 TotallyNotJson.1000;
|
||||
let TotallyNotJson.1108 : U8 = 1i64;
|
||||
let TotallyNotJson.1109 : U8 = GetTagId TotallyNotJson.1107;
|
||||
let TotallyNotJson.1110 : Int1 = lowlevel Eq TotallyNotJson.1108 TotallyNotJson.1109;
|
||||
if TotallyNotJson.1110 then
|
||||
let TotallyNotJson.1106 : [C {}, C U8] = StructAtIndex 0 TotallyNotJson.1000;
|
||||
let TotallyNotJson.573 : U8 = UnionAtIndex (Id 1) (Index 0) TotallyNotJson.1106;
|
||||
let TotallyNotJson.1105 : [C {}, C U8] = StructAtIndex 1 TotallyNotJson.1000;
|
||||
let TotallyNotJson.574 : U8 = UnionAtIndex (Id 1) (Index 0) TotallyNotJson.1105;
|
||||
joinpoint TotallyNotJson.1099 TotallyNotJson.1081:
|
||||
if TotallyNotJson.1081 then
|
||||
dec TotallyNotJson.566;
|
||||
let TotallyNotJson.1057 : U64 = lowlevel ListLenUsize TotallyNotJson.570;
|
||||
let TotallyNotJson.1058 : U64 = 4i64;
|
||||
let TotallyNotJson.1059 : Int1 = lowlevel NumGte TotallyNotJson.1057 TotallyNotJson.1058;
|
||||
if TotallyNotJson.1059 then
|
||||
let TotallyNotJson.1056 : U64 = 0i64;
|
||||
let TotallyNotJson.575 : U8 = lowlevel ListGetUnsafe TotallyNotJson.570 TotallyNotJson.1056;
|
||||
let TotallyNotJson.1055 : U64 = 1i64;
|
||||
let TotallyNotJson.576 : U8 = lowlevel ListGetUnsafe TotallyNotJson.570 TotallyNotJson.1055;
|
||||
let TotallyNotJson.1054 : U64 = 2i64;
|
||||
let TotallyNotJson.577 : U8 = lowlevel ListGetUnsafe TotallyNotJson.570 TotallyNotJson.1054;
|
||||
let TotallyNotJson.1053 : U64 = 3i64;
|
||||
let TotallyNotJson.578 : U8 = lowlevel ListGetUnsafe TotallyNotJson.570 TotallyNotJson.1053;
|
||||
dec TotallyNotJson.570;
|
||||
let TotallyNotJson.579 : List U8 = CallByName TotallyNotJson.67 TotallyNotJson.575 TotallyNotJson.576 TotallyNotJson.577 TotallyNotJson.578;
|
||||
let TotallyNotJson.1003 : List U8 = CallByName List.8 TotallyNotJson.567 TotallyNotJson.579;
|
||||
let TotallyNotJson.1002 : {List U8, List U8} = Struct {TotallyNotJson.571, TotallyNotJson.1003};
|
||||
jump TotallyNotJson.999 TotallyNotJson.1002;
|
||||
else
|
||||
dec TotallyNotJson.571;
|
||||
let TotallyNotJson.1047 : List U8 = CallByName TotallyNotJson.68;
|
||||
let TotallyNotJson.1046 : List U8 = CallByName List.8 TotallyNotJson.567 TotallyNotJson.1047;
|
||||
let TotallyNotJson.1045 : {List U8, List U8} = Struct {TotallyNotJson.570, TotallyNotJson.1046};
|
||||
jump TotallyNotJson.999 TotallyNotJson.1045;
|
||||
else
|
||||
dec TotallyNotJson.571;
|
||||
let TotallyNotJson.1098 : [C {}, C U8] = StructAtIndex 0 TotallyNotJson.1000;
|
||||
let TotallyNotJson.580 : U8 = UnionAtIndex (Id 1) (Index 0) TotallyNotJson.1098;
|
||||
let TotallyNotJson.1097 : [C {}, C U8] = StructAtIndex 1 TotallyNotJson.1000;
|
||||
let TotallyNotJson.581 : U8 = UnionAtIndex (Id 1) (Index 0) TotallyNotJson.1097;
|
||||
joinpoint TotallyNotJson.1083 TotallyNotJson.1082:
|
||||
if TotallyNotJson.1082 then
|
||||
dec TotallyNotJson.566;
|
||||
let TotallyNotJson.1063 : U8 = CallByName TotallyNotJson.63 TotallyNotJson.581;
|
||||
let TotallyNotJson.1062 : List U8 = CallByName List.4 TotallyNotJson.567 TotallyNotJson.1063;
|
||||
let TotallyNotJson.1061 : {List U8, List U8} = Struct {TotallyNotJson.570, TotallyNotJson.1062};
|
||||
jump TotallyNotJson.999 TotallyNotJson.1061;
|
||||
else
|
||||
dec TotallyNotJson.570;
|
||||
jump TotallyNotJson.1080;
|
||||
in
|
||||
let TotallyNotJson.1096 : U8 = 92i64;
|
||||
let TotallyNotJson.1085 : Int1 = CallByName Bool.11 TotallyNotJson.580 TotallyNotJson.1096;
|
||||
let TotallyNotJson.1086 : Int1 = CallByName TotallyNotJson.62 TotallyNotJson.581;
|
||||
let TotallyNotJson.1084 : Int1 = CallByName Bool.3 TotallyNotJson.1085 TotallyNotJson.1086;
|
||||
jump TotallyNotJson.1083 TotallyNotJson.1084;
|
||||
in
|
||||
let TotallyNotJson.1104 : U8 = 92i64;
|
||||
let TotallyNotJson.1101 : Int1 = CallByName Bool.11 TotallyNotJson.573 TotallyNotJson.1104;
|
||||
let TotallyNotJson.1103 : U8 = 117i64;
|
||||
let TotallyNotJson.1102 : Int1 = CallByName Bool.11 TotallyNotJson.574 TotallyNotJson.1103;
|
||||
let TotallyNotJson.1100 : Int1 = CallByName Bool.3 TotallyNotJson.1101 TotallyNotJson.1102;
|
||||
jump TotallyNotJson.1099 TotallyNotJson.1100;
|
||||
else
|
||||
dec TotallyNotJson.571;
|
||||
dec TotallyNotJson.570;
|
||||
jump TotallyNotJson.1080;
|
||||
else
|
||||
dec TotallyNotJson.571;
|
||||
dec TotallyNotJson.570;
|
||||
let TotallyNotJson.1078 : {List U8, List U8} = Struct {TotallyNotJson.566, TotallyNotJson.567};
|
||||
ret TotallyNotJson.1078;
|
||||
in
|
||||
jump TotallyNotJson.999 #Derived_gen.5;
|
||||
|
||||
procedure TotallyNotJson.8 ():
|
||||
let TotallyNotJson.973 : {} = Struct {};
|
||||
ret TotallyNotJson.973;
|
||||
procedure Test.76 (Test.77, Test.138):
|
||||
let Test.141 : {} = Struct {};
|
||||
let Test.140 : [C {}, C Str] = TagId(0) Test.141;
|
||||
let Test.139 : {List U8, [C {}, C Str]} = Struct {Test.77, Test.140};
|
||||
ret Test.139;
|
||||
|
|
|
@ -57,8 +57,8 @@ procedure Test.0 ():
|
|||
else
|
||||
let Test.22 : Str = "B";
|
||||
let Test.23 : Int1 = lowlevel Eq Test.22 Test.12;
|
||||
dec Test.12;
|
||||
dec Test.22;
|
||||
dec Test.12;
|
||||
if Test.23 then
|
||||
let Test.17 : [C U8, C U8, C ] = TagId(1) Test.2;
|
||||
jump Test.13 Test.17;
|
||||
|
|
|
@ -20,9 +20,9 @@ procedure Test.0 ():
|
|||
if Test.13 then
|
||||
let Test.6 : {I64, Str} = CallByName Test.1;
|
||||
let Test.5 : Int1 = CallByName Bool.11 Test.6 Test.4;
|
||||
dec Test.6;
|
||||
let #Derived_gen.0 : Str = StructAtIndex 1 Test.4;
|
||||
dec #Derived_gen.0;
|
||||
dec Test.6;
|
||||
ret Test.5;
|
||||
else
|
||||
let #Derived_gen.1 : Str = StructAtIndex 1 Test.4;
|
||||
|
|
|
@ -6,10 +6,10 @@ procedure List.5 (#Attr.2, #Attr.3):
|
|||
procedure Test.2 (Test.5):
|
||||
let Test.6 : List [<rnnu>C List *self] = UnionAtIndex (Id 0) (Index 0) Test.5;
|
||||
inc Test.6;
|
||||
let #Derived_gen.1 : [<rnnu>C List *self] = Reset { symbol: Test.5, id: UpdateModeId { id: 0 } };
|
||||
let #Derived_gen.2 : [<rnnu>C List *self] = Reset { symbol: Test.5, id: UpdateModeId { id: 1 } };
|
||||
let Test.15 : {} = Struct {};
|
||||
let Test.7 : List [<rnnu>C List *self] = CallByName List.5 Test.6 Test.15;
|
||||
let Test.14 : [<rnnu>C List *self] = Reuse #Derived_gen.1 UpdateModeId { id: 0 } TagId(0) Test.7;
|
||||
let Test.14 : [<rnnu>C List *self] = Reuse #Derived_gen.2 UpdateModeId { id: 1 } TagId(0) Test.7;
|
||||
ret Test.14;
|
||||
|
||||
procedure Test.0 ():
|
||||
|
|
|
@ -10,7 +10,7 @@ procedure Num.21 (#Attr.2, #Attr.3):
|
|||
let Num.279 : U8 = lowlevel NumMul #Attr.2 #Attr.3;
|
||||
ret Num.279;
|
||||
|
||||
procedure Test.1 (#Derived_gen.2, #Derived_gen.3):
|
||||
procedure Test.1 (#Derived_gen.0, #Derived_gen.1):
|
||||
joinpoint Test.11 Test.2 Test.3:
|
||||
let Test.26 : U8 = 0i64;
|
||||
let Test.22 : Int1 = CallByName Bool.11 Test.2 Test.26;
|
||||
|
@ -33,9 +33,9 @@ procedure Test.1 (#Derived_gen.2, #Derived_gen.3):
|
|||
let Test.14 : [<rnu><null>, C *self U8] = TagId(0) Test.3 Test.2;
|
||||
jump Test.11 Test.13 Test.14;
|
||||
in
|
||||
jump Test.11 #Derived_gen.2 #Derived_gen.3;
|
||||
jump Test.11 #Derived_gen.0 #Derived_gen.1;
|
||||
|
||||
procedure Test.4 (#Derived_gen.0, #Derived_gen.1):
|
||||
procedure Test.4 (#Derived_gen.2, #Derived_gen.3):
|
||||
joinpoint Test.15 Test.5 #Attr.12:
|
||||
let Test.20 : U8 = UnionAtIndex (Id 0) (Index 1) #Attr.12;
|
||||
let Test.19 : [<rnu><null>, C *self U8] = UnionAtIndex (Id 0) (Index 0) #Attr.12;
|
||||
|
@ -61,7 +61,7 @@ procedure Test.4 (#Derived_gen.0, #Derived_gen.1):
|
|||
decref #Attr.12;
|
||||
jump #Derived_gen.4;
|
||||
in
|
||||
jump Test.15 #Derived_gen.0 #Derived_gen.1;
|
||||
jump Test.15 #Derived_gen.2 #Derived_gen.3;
|
||||
|
||||
procedure Test.6 (Test.7):
|
||||
ret Test.7;
|
||||
|
|
|
@ -8,8 +8,8 @@ procedure Str.3 (#Attr.2, #Attr.3):
|
|||
|
||||
procedure Test.11 (Test.29, #Attr.12):
|
||||
let Test.32 : {} = UnionAtIndex (Id 0) (Index 0) #Attr.12;
|
||||
let #Derived_gen.11 : Int1 = lowlevel RefCountIsUnique #Attr.12;
|
||||
if #Derived_gen.11 then
|
||||
let #Derived_gen.9 : Int1 = lowlevel RefCountIsUnique #Attr.12;
|
||||
if #Derived_gen.9 then
|
||||
free #Attr.12;
|
||||
ret Test.32;
|
||||
else
|
||||
|
@ -19,11 +19,11 @@ procedure Test.11 (Test.29, #Attr.12):
|
|||
procedure Test.11 (Test.29, Test.10):
|
||||
ret Test.10;
|
||||
|
||||
procedure Test.14 (#Derived_gen.0, #Derived_gen.1):
|
||||
procedure Test.14 (#Derived_gen.7, #Derived_gen.8):
|
||||
joinpoint Test.38 Test.37 #Attr.12:
|
||||
let Test.46 : {} = UnionAtIndex (Id 1) (Index 1) #Attr.12;
|
||||
let Test.45 : I64 = UnionAtIndex (Id 1) (Index 0) #Attr.12;
|
||||
joinpoint #Derived_gen.9:
|
||||
joinpoint #Derived_gen.10:
|
||||
let Test.44 : {} = Struct {};
|
||||
let Test.43 : {} = CallByName Test.11 Test.44 Test.46;
|
||||
let Test.39 : [<r>C {}, C I64 {}] = CallByName Test.9 Test.43 Test.45;
|
||||
|
@ -38,15 +38,15 @@ procedure Test.14 (#Derived_gen.0, #Derived_gen.1):
|
|||
jump Test.38 Test.41 Test.39;
|
||||
|
||||
in
|
||||
let #Derived_gen.10 : Int1 = lowlevel RefCountIsUnique #Attr.12;
|
||||
if #Derived_gen.10 then
|
||||
let #Derived_gen.11 : Int1 = lowlevel RefCountIsUnique #Attr.12;
|
||||
if #Derived_gen.11 then
|
||||
free #Attr.12;
|
||||
jump #Derived_gen.9;
|
||||
jump #Derived_gen.10;
|
||||
else
|
||||
decref #Attr.12;
|
||||
jump #Derived_gen.9;
|
||||
jump #Derived_gen.10;
|
||||
in
|
||||
jump Test.38 #Derived_gen.0 #Derived_gen.1;
|
||||
jump Test.38 #Derived_gen.7 #Derived_gen.8;
|
||||
|
||||
procedure Test.2 ():
|
||||
let Test.6 : Str = "Hello";
|
||||
|
|
|
@ -23,7 +23,7 @@ procedure Test.2 (Test.9, Test.10):
|
|||
let Test.29 : U64 = CallByName Test.3 Test.9;
|
||||
ret Test.29;
|
||||
else
|
||||
joinpoint #Derived_gen.1:
|
||||
joinpoint #Derived_gen.4:
|
||||
let Test.13 : Str = UnionAtIndex (Id 0) (Index 0) Test.10;
|
||||
let Test.14 : [<rnu><null>, C Str *self] = UnionAtIndex (Id 0) (Index 1) Test.10;
|
||||
let Test.33 : U64 = CallByName Test.3 Test.12;
|
||||
|
@ -36,15 +36,15 @@ procedure Test.2 (Test.9, Test.10):
|
|||
else
|
||||
ret Test.16;
|
||||
in
|
||||
let #Derived_gen.2 : Int1 = lowlevel RefCountIsUnique Test.9;
|
||||
if #Derived_gen.2 then
|
||||
let #Derived_gen.5 : Int1 = lowlevel RefCountIsUnique Test.9;
|
||||
if #Derived_gen.5 then
|
||||
dec Test.11;
|
||||
free Test.9;
|
||||
jump #Derived_gen.1;
|
||||
jump #Derived_gen.4;
|
||||
else
|
||||
inc Test.12;
|
||||
decref Test.9;
|
||||
jump #Derived_gen.1;
|
||||
jump #Derived_gen.4;
|
||||
|
||||
procedure Test.3 (Test.17):
|
||||
let Test.26 : U8 = 1i64;
|
||||
|
@ -55,22 +55,22 @@ procedure Test.3 (Test.17):
|
|||
ret Test.22;
|
||||
else
|
||||
let Test.18 : [<rnu><null>, C Str *self] = UnionAtIndex (Id 0) (Index 1) Test.17;
|
||||
joinpoint #Derived_gen.3:
|
||||
joinpoint #Derived_gen.1:
|
||||
let Test.24 : U64 = 1i64;
|
||||
let Test.25 : U64 = CallByName Test.3 Test.18;
|
||||
let Test.23 : U64 = CallByName Num.19 Test.24 Test.25;
|
||||
ret Test.23;
|
||||
in
|
||||
let #Derived_gen.5 : Int1 = lowlevel RefCountIsUnique Test.17;
|
||||
if #Derived_gen.5 then
|
||||
let #Derived_gen.4 : Str = UnionAtIndex (Id 0) (Index 0) Test.17;
|
||||
dec #Derived_gen.4;
|
||||
let #Derived_gen.3 : Int1 = lowlevel RefCountIsUnique Test.17;
|
||||
if #Derived_gen.3 then
|
||||
let #Derived_gen.2 : Str = UnionAtIndex (Id 0) (Index 0) Test.17;
|
||||
dec #Derived_gen.2;
|
||||
free Test.17;
|
||||
jump #Derived_gen.3;
|
||||
jump #Derived_gen.1;
|
||||
else
|
||||
inc Test.18;
|
||||
decref Test.17;
|
||||
jump #Derived_gen.3;
|
||||
jump #Derived_gen.1;
|
||||
|
||||
procedure Test.0 ():
|
||||
let Test.5 : [<rnu><null>, C Str *self] = TagId(1) ;
|
||||
|
|
|
@ -12,483 +12,198 @@ procedure Encode.23 (Encode.98):
|
|||
ret Encode.98;
|
||||
|
||||
procedure Encode.24 (Encode.99, Encode.107, Encode.101):
|
||||
let Encode.111 : List U8 = CallByName Test.5 Encode.99 Encode.101 Encode.107;
|
||||
let Encode.111 : List U8 = CallByName Test.213 Encode.99 Encode.101 Encode.107;
|
||||
ret Encode.111;
|
||||
|
||||
procedure Encode.24 (Encode.99, Encode.107, Encode.101):
|
||||
let Encode.113 : List U8 = CallByName TotallyNotJson.231 Encode.99 Encode.101 Encode.107;
|
||||
ret Encode.113;
|
||||
let Encode.115 : List U8 = CallByName Test.63 Encode.99 Encode.101 Encode.107;
|
||||
ret Encode.115;
|
||||
|
||||
procedure Encode.24 (Encode.99, Encode.107, Encode.101):
|
||||
let Encode.118 : List U8 = CallByName TotallyNotJson.150 Encode.99 Encode.101 Encode.107;
|
||||
ret Encode.118;
|
||||
let Encode.116 : List U8 = CallByName Test.59 Encode.99 Encode.101 Encode.107;
|
||||
ret Encode.116;
|
||||
|
||||
procedure Encode.26 (Encode.105, Encode.106):
|
||||
let Encode.109 : List U8 = Array [];
|
||||
let Encode.110 : {Str, Str} = CallByName Test.2 Encode.105;
|
||||
let Encode.110 : {Str, Str} = CallByName Test.49 Encode.105;
|
||||
let Encode.108 : List U8 = CallByName Encode.24 Encode.109 Encode.110 Encode.106;
|
||||
ret Encode.108;
|
||||
|
||||
procedure List.104 (List.488, List.489, List.490):
|
||||
let List.657 : U64 = 0i64;
|
||||
let List.658 : U64 = CallByName List.6 List.488;
|
||||
let List.656 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.80 List.488 List.489 List.490 List.657 List.658;
|
||||
ret List.656;
|
||||
|
||||
procedure List.18 (List.160, List.161, List.162):
|
||||
let List.601 : U64 = 0i64;
|
||||
let List.602 : U64 = CallByName List.6 List.160;
|
||||
let List.600 : {List U8, U64} = CallByName List.92 List.160 List.161 List.162 List.601 List.602;
|
||||
procedure List.13 (#Attr.2, #Attr.3):
|
||||
let List.600 : List Str = lowlevel ListPrepend #Attr.2 #Attr.3;
|
||||
ret List.600;
|
||||
|
||||
procedure List.18 (List.160, List.161, List.162):
|
||||
let List.613 : U64 = 0i64;
|
||||
let List.614 : U64 = CallByName List.6 List.160;
|
||||
let List.612 : List U8 = CallByName List.92 List.160 List.161 List.162 List.613 List.614;
|
||||
ret List.612;
|
||||
|
||||
procedure List.26 (List.201, List.202, List.203):
|
||||
let List.650 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.104 List.201 List.202 List.203;
|
||||
let List.653 : U8 = 1i64;
|
||||
let List.654 : U8 = GetTagId List.650;
|
||||
let List.655 : Int1 = lowlevel Eq List.653 List.654;
|
||||
if List.655 then
|
||||
let List.204 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.650;
|
||||
ret List.204;
|
||||
else
|
||||
let List.205 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.650;
|
||||
ret List.205;
|
||||
let List.575 : U64 = 0i64;
|
||||
let List.576 : U64 = CallByName List.6 List.160;
|
||||
let List.574 : List U8 = CallByName List.92 List.160 List.161 List.162 List.575 List.576;
|
||||
ret List.574;
|
||||
|
||||
procedure List.4 (List.124, List.125):
|
||||
let List.599 : U64 = 1i64;
|
||||
let List.598 : List U8 = CallByName List.70 List.124 List.599;
|
||||
let List.597 : List U8 = CallByName List.71 List.598 List.125;
|
||||
ret List.597;
|
||||
|
||||
procedure List.49 (List.420, List.421):
|
||||
let List.641 : U64 = StructAtIndex 1 List.421;
|
||||
let List.642 : U64 = StructAtIndex 0 List.421;
|
||||
let List.640 : List U8 = CallByName List.72 List.420 List.641 List.642;
|
||||
ret List.640;
|
||||
|
||||
procedure List.52 (List.435, List.436):
|
||||
let List.437 : U64 = CallByName List.6 List.435;
|
||||
joinpoint List.648 List.438:
|
||||
let List.646 : U64 = 0i64;
|
||||
let List.645 : {U64, U64} = Struct {List.438, List.646};
|
||||
inc List.435;
|
||||
let List.439 : List U8 = CallByName List.49 List.435 List.645;
|
||||
let List.644 : U64 = CallByName Num.75 List.437 List.438;
|
||||
let List.639 : {U64, U64} = Struct {List.644, List.438};
|
||||
let List.440 : List U8 = CallByName List.49 List.435 List.639;
|
||||
let List.638 : {List U8, List U8} = Struct {List.439, List.440};
|
||||
ret List.638;
|
||||
in
|
||||
let List.649 : Int1 = CallByName Num.24 List.437 List.436;
|
||||
if List.649 then
|
||||
jump List.648 List.436;
|
||||
else
|
||||
jump List.648 List.437;
|
||||
let List.596 : U64 = 1i64;
|
||||
let List.595 : List U8 = CallByName List.70 List.124 List.596;
|
||||
let List.594 : List U8 = CallByName List.71 List.595 List.125;
|
||||
ret List.594;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.624 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.624;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.626 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.626;
|
||||
let List.599 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.599;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.610 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.610;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.622 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.622;
|
||||
|
||||
procedure List.68 (#Attr.2):
|
||||
let List.637 : List U8 = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.637;
|
||||
let List.584 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.584;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.578 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.578;
|
||||
let List.590 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.590;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.576 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.576;
|
||||
|
||||
procedure List.72 (#Attr.2, #Attr.3, #Attr.4):
|
||||
let List.643 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.643;
|
||||
let List.588 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.588;
|
||||
|
||||
procedure List.8 (#Attr.2, #Attr.3):
|
||||
let List.635 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.635;
|
||||
let List.598 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.598;
|
||||
|
||||
procedure List.80 (#Derived_gen.8, #Derived_gen.9, #Derived_gen.10, #Derived_gen.11, #Derived_gen.12):
|
||||
joinpoint List.659 List.491 List.492 List.493 List.494 List.495:
|
||||
let List.661 : Int1 = CallByName Num.22 List.494 List.495;
|
||||
if List.661 then
|
||||
let List.670 : U8 = CallByName List.66 List.491 List.494;
|
||||
let List.662 : [C {U64, Int1}, C {U64, Int1}] = CallByName TotallyNotJson.157 List.492 List.670;
|
||||
let List.667 : U8 = 1i64;
|
||||
let List.668 : U8 = GetTagId List.662;
|
||||
let List.669 : Int1 = lowlevel Eq List.667 List.668;
|
||||
if List.669 then
|
||||
let List.496 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.662;
|
||||
let List.665 : U64 = 1i64;
|
||||
let List.664 : U64 = CallByName Num.51 List.494 List.665;
|
||||
jump List.659 List.491 List.496 List.493 List.664 List.495;
|
||||
else
|
||||
dec List.491;
|
||||
let List.497 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.662;
|
||||
let List.666 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) List.497;
|
||||
ret List.666;
|
||||
else
|
||||
dec List.491;
|
||||
let List.660 : [C {U64, Int1}, C {U64, Int1}] = TagId(1) List.492;
|
||||
ret List.660;
|
||||
in
|
||||
jump List.659 #Derived_gen.8 #Derived_gen.9 #Derived_gen.10 #Derived_gen.11 #Derived_gen.12;
|
||||
|
||||
procedure List.92 (#Derived_gen.16, #Derived_gen.17, #Derived_gen.18, #Derived_gen.19, #Derived_gen.20):
|
||||
joinpoint List.615 List.163 List.164 List.165 List.166 List.167:
|
||||
let List.617 : Int1 = CallByName Num.22 List.166 List.167;
|
||||
if List.617 then
|
||||
let List.621 : U8 = CallByName List.66 List.163 List.166;
|
||||
let List.168 : List U8 = CallByName TotallyNotJson.183 List.164 List.621;
|
||||
let List.620 : U64 = 1i64;
|
||||
let List.619 : U64 = CallByName Num.51 List.166 List.620;
|
||||
jump List.615 List.163 List.168 List.165 List.619 List.167;
|
||||
procedure List.92 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.4):
|
||||
joinpoint List.577 List.163 List.164 List.165 List.166 List.167:
|
||||
let List.579 : Int1 = CallByName Num.22 List.166 List.167;
|
||||
if List.579 then
|
||||
let List.583 : Str = CallByName List.66 List.163 List.166;
|
||||
inc List.583;
|
||||
let List.168 : List U8 = CallByName Test.66 List.164 List.583 List.165;
|
||||
let List.582 : U64 = 1i64;
|
||||
let List.581 : U64 = CallByName Num.51 List.166 List.582;
|
||||
jump List.577 List.163 List.168 List.165 List.581 List.167;
|
||||
else
|
||||
dec List.163;
|
||||
ret List.164;
|
||||
in
|
||||
jump List.615 #Derived_gen.16 #Derived_gen.17 #Derived_gen.18 #Derived_gen.19 #Derived_gen.20;
|
||||
|
||||
procedure List.92 (#Derived_gen.3, #Derived_gen.4, #Derived_gen.5, #Derived_gen.6, #Derived_gen.7):
|
||||
joinpoint List.603 List.163 List.164 List.165 List.166 List.167:
|
||||
let List.605 : Int1 = CallByName Num.22 List.166 List.167;
|
||||
if List.605 then
|
||||
let List.609 : Str = CallByName List.66 List.163 List.166;
|
||||
inc List.609;
|
||||
let List.168 : {List U8, U64} = CallByName TotallyNotJson.233 List.164 List.609;
|
||||
let List.608 : U64 = 1i64;
|
||||
let List.607 : U64 = CallByName Num.51 List.166 List.608;
|
||||
jump List.603 List.163 List.168 List.165 List.607 List.167;
|
||||
else
|
||||
dec List.163;
|
||||
ret List.164;
|
||||
in
|
||||
jump List.603 #Derived_gen.3 #Derived_gen.4 #Derived_gen.5 #Derived_gen.6 #Derived_gen.7;
|
||||
jump List.577 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
|
||||
|
||||
procedure Num.127 (#Attr.2):
|
||||
let Num.286 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
ret Num.286;
|
||||
|
||||
procedure Num.137 (#Attr.2, #Attr.3):
|
||||
let Num.291 : U64 = lowlevel NumDivCeilUnchecked #Attr.2 #Attr.3;
|
||||
ret Num.291;
|
||||
|
||||
procedure Num.19 (#Attr.2, #Attr.3):
|
||||
let Num.290 : U64 = lowlevel NumAdd #Attr.2 #Attr.3;
|
||||
ret Num.290;
|
||||
|
||||
procedure Num.20 (#Attr.2, #Attr.3):
|
||||
let Num.287 : U64 = lowlevel NumSub #Attr.2 #Attr.3;
|
||||
ret Num.287;
|
||||
|
||||
procedure Num.21 (#Attr.2, #Attr.3):
|
||||
let Num.292 : U64 = lowlevel NumMul #Attr.2 #Attr.3;
|
||||
ret Num.292;
|
||||
let Num.280 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
ret Num.280;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.298 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
ret Num.298;
|
||||
|
||||
procedure Num.24 (#Attr.2, #Attr.3):
|
||||
let Num.300 : Int1 = lowlevel NumGt #Attr.2 #Attr.3;
|
||||
ret Num.300;
|
||||
let Num.282 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
ret Num.282;
|
||||
|
||||
procedure Num.51 (#Attr.2, #Attr.3):
|
||||
let Num.295 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
|
||||
ret Num.295;
|
||||
let Num.281 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
|
||||
ret Num.281;
|
||||
|
||||
procedure Num.75 (#Attr.2, #Attr.3):
|
||||
let Num.299 : U64 = lowlevel NumSubWrap #Attr.2 #Attr.3;
|
||||
ret Num.299;
|
||||
procedure Num.96 (#Attr.2):
|
||||
let Num.279 : Str = lowlevel NumToStr #Attr.2;
|
||||
ret Num.279;
|
||||
|
||||
procedure Str.12 (#Attr.2):
|
||||
let Str.233 : List U8 = lowlevel StrToUtf8 #Attr.2;
|
||||
ret Str.233;
|
||||
|
||||
procedure Test.2 (Test.10):
|
||||
let Test.15 : {Str, Str} = CallByName Encode.23 Test.10;
|
||||
ret Test.15;
|
||||
procedure Str.36 (#Attr.2):
|
||||
let Str.234 : U64 = lowlevel StrCountUtf8Bytes #Attr.2;
|
||||
ret Str.234;
|
||||
|
||||
procedure Test.20 (Test.58):
|
||||
let Test.295 : Str = CallByName Encode.23 Test.58;
|
||||
ret Test.295;
|
||||
|
||||
procedure Test.21 (Test.61, Test.62):
|
||||
let Test.275 : {List Str, {}} = Struct {Test.61, Test.62};
|
||||
let Test.274 : {List Str, {}} = CallByName Encode.23 Test.275;
|
||||
ret Test.274;
|
||||
|
||||
procedure Test.213 (Test.214, Test.215, Test.212):
|
||||
joinpoint Test.267 Test.216:
|
||||
let Test.265 : List U8 = CallByName Encode.24 Test.214 Test.216 Test.215;
|
||||
ret Test.265;
|
||||
in
|
||||
let Test.308 : Int1 = CallByName Bool.2;
|
||||
if Test.308 then
|
||||
let Test.309 : Str = "A";
|
||||
let Test.312 : Str = StructAtIndex 0 Test.212;
|
||||
let #Derived_gen.17 : Str = StructAtIndex 1 Test.212;
|
||||
dec #Derived_gen.17;
|
||||
let Test.311 : Str = CallByName Test.20 Test.312;
|
||||
let Test.310 : List Str = Array [Test.311];
|
||||
let Test.266 : {List Str, {}} = CallByName Test.24 Test.309 Test.310;
|
||||
jump Test.267 Test.266;
|
||||
else
|
||||
let Test.268 : Str = "B";
|
||||
let Test.307 : Str = StructAtIndex 1 Test.212;
|
||||
let #Derived_gen.18 : Str = StructAtIndex 0 Test.212;
|
||||
dec #Derived_gen.18;
|
||||
let Test.306 : Str = CallByName Test.20 Test.307;
|
||||
let Test.269 : List Str = Array [Test.306];
|
||||
let Test.266 : {List Str, {}} = CallByName Test.24 Test.268 Test.269;
|
||||
jump Test.267 Test.266;
|
||||
|
||||
procedure Test.23 (Test.77):
|
||||
let Test.273 : {} = Struct {};
|
||||
let Test.272 : {List Str, {}} = CallByName Test.21 Test.77 Test.273;
|
||||
ret Test.272;
|
||||
|
||||
procedure Test.24 (Test.80, Test.81):
|
||||
let Test.294 : Str = CallByName Test.20 Test.80;
|
||||
let Test.271 : List Str = CallByName List.13 Test.81 Test.294;
|
||||
let Test.270 : {List Str, {}} = CallByName Test.23 Test.271;
|
||||
ret Test.270;
|
||||
|
||||
procedure Test.3 ():
|
||||
let Test.9 : Str = "";
|
||||
inc Test.9;
|
||||
let Test.14 : {Str, Str} = Struct {Test.9, Test.9};
|
||||
ret Test.14;
|
||||
let Test.260 : {} = Struct {};
|
||||
ret Test.260;
|
||||
|
||||
procedure Test.5 (Test.6, Test.7, Test.4):
|
||||
joinpoint Test.20 Test.8:
|
||||
let Test.18 : List U8 = CallByName Encode.24 Test.6 Test.8 Test.7;
|
||||
ret Test.18;
|
||||
in
|
||||
let Test.25 : Int1 = CallByName Bool.2;
|
||||
if Test.25 then
|
||||
let Test.26 : Str = "A";
|
||||
let Test.29 : Str = StructAtIndex 0 Test.4;
|
||||
let #Derived_gen.24 : Str = StructAtIndex 1 Test.4;
|
||||
dec #Derived_gen.24;
|
||||
let Test.28 : Str = CallByName TotallyNotJson.25 Test.29;
|
||||
let Test.27 : List Str = Array [Test.28];
|
||||
let Test.19 : {Str, List Str} = CallByName TotallyNotJson.31 Test.26 Test.27;
|
||||
jump Test.20 Test.19;
|
||||
else
|
||||
let Test.21 : Str = "B";
|
||||
let Test.24 : Str = StructAtIndex 1 Test.4;
|
||||
let #Derived_gen.25 : Str = StructAtIndex 0 Test.4;
|
||||
dec #Derived_gen.25;
|
||||
let Test.23 : Str = CallByName TotallyNotJson.25 Test.24;
|
||||
let Test.22 : List Str = Array [Test.23];
|
||||
let Test.19 : {Str, List Str} = CallByName TotallyNotJson.31 Test.21 Test.22;
|
||||
jump Test.20 Test.19;
|
||||
procedure Test.4 (Test.51, Test.52, Test.53):
|
||||
let Test.292 : U8 = CallByName Num.127 Test.52;
|
||||
let Test.289 : List U8 = CallByName List.4 Test.51 Test.292;
|
||||
let Test.291 : Str = CallByName Num.96 Test.53;
|
||||
let Test.290 : List U8 = CallByName Str.12 Test.291;
|
||||
let Test.287 : List U8 = CallByName List.8 Test.289 Test.290;
|
||||
let Test.288 : U8 = 32i64;
|
||||
let Test.286 : List U8 = CallByName List.4 Test.287 Test.288;
|
||||
ret Test.286;
|
||||
|
||||
procedure TotallyNotJson.150 (TotallyNotJson.151, TotallyNotJson.1020, TotallyNotJson.149):
|
||||
let TotallyNotJson.1023 : List U8 = CallByName TotallyNotJson.26 TotallyNotJson.149;
|
||||
let TotallyNotJson.1022 : List U8 = CallByName List.8 TotallyNotJson.151 TotallyNotJson.1023;
|
||||
ret TotallyNotJson.1022;
|
||||
procedure Test.49 (Test.255):
|
||||
let Test.262 : {Str, Str} = CallByName Encode.23 Test.255;
|
||||
ret Test.262;
|
||||
|
||||
procedure TotallyNotJson.157 (TotallyNotJson.1071, TotallyNotJson.160):
|
||||
let TotallyNotJson.158 : U64 = StructAtIndex 0 TotallyNotJson.1071;
|
||||
let TotallyNotJson.159 : Int1 = StructAtIndex 1 TotallyNotJson.1071;
|
||||
switch TotallyNotJson.160:
|
||||
case 34:
|
||||
let TotallyNotJson.1074 : Int1 = false;
|
||||
let TotallyNotJson.1073 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1074};
|
||||
let TotallyNotJson.1072 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1073;
|
||||
ret TotallyNotJson.1072;
|
||||
|
||||
case 92:
|
||||
let TotallyNotJson.1077 : Int1 = false;
|
||||
let TotallyNotJson.1076 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1077};
|
||||
let TotallyNotJson.1075 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1076;
|
||||
ret TotallyNotJson.1075;
|
||||
|
||||
case 47:
|
||||
let TotallyNotJson.1080 : Int1 = false;
|
||||
let TotallyNotJson.1079 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1080};
|
||||
let TotallyNotJson.1078 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1079;
|
||||
ret TotallyNotJson.1078;
|
||||
|
||||
case 8:
|
||||
let TotallyNotJson.1083 : Int1 = false;
|
||||
let TotallyNotJson.1082 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1083};
|
||||
let TotallyNotJson.1081 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1082;
|
||||
ret TotallyNotJson.1081;
|
||||
|
||||
case 12:
|
||||
let TotallyNotJson.1086 : Int1 = false;
|
||||
let TotallyNotJson.1085 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1086};
|
||||
let TotallyNotJson.1084 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1085;
|
||||
ret TotallyNotJson.1084;
|
||||
|
||||
case 10:
|
||||
let TotallyNotJson.1089 : Int1 = false;
|
||||
let TotallyNotJson.1088 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1089};
|
||||
let TotallyNotJson.1087 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1088;
|
||||
ret TotallyNotJson.1087;
|
||||
|
||||
case 13:
|
||||
let TotallyNotJson.1092 : Int1 = false;
|
||||
let TotallyNotJson.1091 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1092};
|
||||
let TotallyNotJson.1090 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1091;
|
||||
ret TotallyNotJson.1090;
|
||||
|
||||
case 9:
|
||||
let TotallyNotJson.1095 : Int1 = false;
|
||||
let TotallyNotJson.1094 : {U64, Int1} = Struct {TotallyNotJson.158, TotallyNotJson.1095};
|
||||
let TotallyNotJson.1093 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) TotallyNotJson.1094;
|
||||
ret TotallyNotJson.1093;
|
||||
|
||||
default:
|
||||
let TotallyNotJson.1099 : U64 = 1i64;
|
||||
let TotallyNotJson.1098 : U64 = CallByName Num.19 TotallyNotJson.158 TotallyNotJson.1099;
|
||||
let TotallyNotJson.1097 : {U64, Int1} = Struct {TotallyNotJson.1098, TotallyNotJson.159};
|
||||
let TotallyNotJson.1096 : [C {U64, Int1}, C {U64, Int1}] = TagId(1) TotallyNotJson.1097;
|
||||
ret TotallyNotJson.1096;
|
||||
|
||||
procedure Test.50 ():
|
||||
let Test.217 : Str = "";
|
||||
inc Test.217;
|
||||
let Test.261 : {Str, Str} = Struct {Test.217, Test.217};
|
||||
ret Test.261;
|
||||
|
||||
procedure TotallyNotJson.183 (TotallyNotJson.184, TotallyNotJson.185):
|
||||
let TotallyNotJson.1042 : List U8 = CallByName TotallyNotJson.27 TotallyNotJson.185;
|
||||
let TotallyNotJson.1041 : List U8 = CallByName List.8 TotallyNotJson.184 TotallyNotJson.1042;
|
||||
ret TotallyNotJson.1041;
|
||||
procedure Test.59 (Test.60, Test.297, Test.58):
|
||||
let Test.304 : I64 = 115i64;
|
||||
let Test.305 : U64 = CallByName Str.36 Test.58;
|
||||
let Test.302 : List U8 = CallByName Test.4 Test.60 Test.304 Test.305;
|
||||
let Test.303 : List U8 = CallByName Str.12 Test.58;
|
||||
let Test.300 : List U8 = CallByName List.8 Test.302 Test.303;
|
||||
let Test.301 : U8 = 32i64;
|
||||
let Test.299 : List U8 = CallByName List.4 Test.300 Test.301;
|
||||
ret Test.299;
|
||||
|
||||
procedure TotallyNotJson.231 (TotallyNotJson.232, TotallyNotJson.976, #Attr.12):
|
||||
let TotallyNotJson.230 : List Str = StructAtIndex 1 #Attr.12;
|
||||
let TotallyNotJson.229 : Str = StructAtIndex 0 #Attr.12;
|
||||
let TotallyNotJson.1014 : I64 = 123i64;
|
||||
let TotallyNotJson.1013 : U8 = CallByName Num.127 TotallyNotJson.1014;
|
||||
let TotallyNotJson.1010 : List U8 = CallByName List.4 TotallyNotJson.232 TotallyNotJson.1013;
|
||||
let TotallyNotJson.1012 : I64 = 34i64;
|
||||
let TotallyNotJson.1011 : U8 = CallByName Num.127 TotallyNotJson.1012;
|
||||
let TotallyNotJson.1008 : List U8 = CallByName List.4 TotallyNotJson.1010 TotallyNotJson.1011;
|
||||
let TotallyNotJson.1009 : List U8 = CallByName Str.12 TotallyNotJson.229;
|
||||
let TotallyNotJson.1005 : List U8 = CallByName List.8 TotallyNotJson.1008 TotallyNotJson.1009;
|
||||
let TotallyNotJson.1007 : I64 = 34i64;
|
||||
let TotallyNotJson.1006 : U8 = CallByName Num.127 TotallyNotJson.1007;
|
||||
let TotallyNotJson.1002 : List U8 = CallByName List.4 TotallyNotJson.1005 TotallyNotJson.1006;
|
||||
let TotallyNotJson.1004 : I64 = 58i64;
|
||||
let TotallyNotJson.1003 : U8 = CallByName Num.127 TotallyNotJson.1004;
|
||||
let TotallyNotJson.999 : List U8 = CallByName List.4 TotallyNotJson.1002 TotallyNotJson.1003;
|
||||
let TotallyNotJson.1001 : I64 = 91i64;
|
||||
let TotallyNotJson.1000 : U8 = CallByName Num.127 TotallyNotJson.1001;
|
||||
let TotallyNotJson.234 : List U8 = CallByName List.4 TotallyNotJson.999 TotallyNotJson.1000;
|
||||
let TotallyNotJson.998 : U64 = CallByName List.6 TotallyNotJson.230;
|
||||
let TotallyNotJson.986 : {List U8, U64} = Struct {TotallyNotJson.234, TotallyNotJson.998};
|
||||
let TotallyNotJson.987 : {} = Struct {};
|
||||
let TotallyNotJson.985 : {List U8, U64} = CallByName List.18 TotallyNotJson.230 TotallyNotJson.986 TotallyNotJson.987;
|
||||
let TotallyNotJson.236 : List U8 = StructAtIndex 0 TotallyNotJson.985;
|
||||
let TotallyNotJson.984 : I64 = 93i64;
|
||||
let TotallyNotJson.983 : U8 = CallByName Num.127 TotallyNotJson.984;
|
||||
let TotallyNotJson.980 : List U8 = CallByName List.4 TotallyNotJson.236 TotallyNotJson.983;
|
||||
let TotallyNotJson.982 : I64 = 125i64;
|
||||
let TotallyNotJson.981 : U8 = CallByName Num.127 TotallyNotJson.982;
|
||||
let TotallyNotJson.979 : List U8 = CallByName List.4 TotallyNotJson.980 TotallyNotJson.981;
|
||||
ret TotallyNotJson.979;
|
||||
procedure Test.63 (Test.64, Test.276, #Attr.12):
|
||||
let Test.62 : {} = StructAtIndex 1 #Attr.12;
|
||||
let Test.61 : List Str = StructAtIndex 0 #Attr.12;
|
||||
let Test.284 : I64 = 108i64;
|
||||
let Test.285 : U64 = CallByName List.6 Test.61;
|
||||
let Test.65 : List U8 = CallByName Test.4 Test.64 Test.284 Test.285;
|
||||
let Test.278 : List U8 = CallByName List.18 Test.61 Test.65 Test.62;
|
||||
ret Test.278;
|
||||
|
||||
procedure TotallyNotJson.233 (TotallyNotJson.978, TotallyNotJson.239):
|
||||
let TotallyNotJson.237 : List U8 = StructAtIndex 0 TotallyNotJson.978;
|
||||
let TotallyNotJson.238 : U64 = StructAtIndex 1 TotallyNotJson.978;
|
||||
let TotallyNotJson.997 : {} = Struct {};
|
||||
let TotallyNotJson.240 : List U8 = CallByName Encode.24 TotallyNotJson.237 TotallyNotJson.239 TotallyNotJson.997;
|
||||
joinpoint TotallyNotJson.992 TotallyNotJson.241:
|
||||
let TotallyNotJson.990 : U64 = 1i64;
|
||||
let TotallyNotJson.989 : U64 = CallByName Num.20 TotallyNotJson.238 TotallyNotJson.990;
|
||||
let TotallyNotJson.988 : {List U8, U64} = Struct {TotallyNotJson.241, TotallyNotJson.989};
|
||||
ret TotallyNotJson.988;
|
||||
in
|
||||
let TotallyNotJson.996 : U64 = 1i64;
|
||||
let TotallyNotJson.993 : Int1 = CallByName Num.24 TotallyNotJson.238 TotallyNotJson.996;
|
||||
if TotallyNotJson.993 then
|
||||
let TotallyNotJson.995 : I64 = 44i64;
|
||||
let TotallyNotJson.994 : U8 = CallByName Num.127 TotallyNotJson.995;
|
||||
let TotallyNotJson.991 : List U8 = CallByName List.4 TotallyNotJson.240 TotallyNotJson.994;
|
||||
jump TotallyNotJson.992 TotallyNotJson.991;
|
||||
else
|
||||
jump TotallyNotJson.992 TotallyNotJson.240;
|
||||
procedure Test.66 (Test.67, Test.68, Test.62):
|
||||
let Test.282 : Str = CallByName Test.78 Test.68;
|
||||
let Test.283 : {} = Struct {};
|
||||
let Test.281 : List U8 = CallByName Encode.24 Test.67 Test.282 Test.283;
|
||||
ret Test.281;
|
||||
|
||||
procedure TotallyNotJson.25 (TotallyNotJson.149):
|
||||
let TotallyNotJson.1102 : Str = CallByName Encode.23 TotallyNotJson.149;
|
||||
ret TotallyNotJson.1102;
|
||||
|
||||
procedure TotallyNotJson.26 (TotallyNotJson.152):
|
||||
let TotallyNotJson.153 : List U8 = CallByName Str.12 TotallyNotJson.152;
|
||||
let TotallyNotJson.1100 : U64 = 0i64;
|
||||
let TotallyNotJson.1101 : Int1 = true;
|
||||
let TotallyNotJson.154 : {U64, Int1} = Struct {TotallyNotJson.1100, TotallyNotJson.1101};
|
||||
let TotallyNotJson.1070 : {} = Struct {};
|
||||
inc TotallyNotJson.153;
|
||||
let TotallyNotJson.155 : {U64, Int1} = CallByName List.26 TotallyNotJson.153 TotallyNotJson.154 TotallyNotJson.1070;
|
||||
let TotallyNotJson.1024 : Int1 = StructAtIndex 1 TotallyNotJson.155;
|
||||
let TotallyNotJson.1068 : Int1 = true;
|
||||
let TotallyNotJson.1069 : Int1 = lowlevel Eq TotallyNotJson.1068 TotallyNotJson.1024;
|
||||
if TotallyNotJson.1069 then
|
||||
let TotallyNotJson.1034 : U64 = CallByName List.6 TotallyNotJson.153;
|
||||
let TotallyNotJson.1035 : U64 = 2i64;
|
||||
let TotallyNotJson.1033 : U64 = CallByName Num.19 TotallyNotJson.1034 TotallyNotJson.1035;
|
||||
let TotallyNotJson.1030 : List U8 = CallByName List.68 TotallyNotJson.1033;
|
||||
let TotallyNotJson.1032 : U8 = 34i64;
|
||||
let TotallyNotJson.1031 : List U8 = Array [TotallyNotJson.1032];
|
||||
let TotallyNotJson.1029 : List U8 = CallByName List.8 TotallyNotJson.1030 TotallyNotJson.1031;
|
||||
let TotallyNotJson.1026 : List U8 = CallByName List.8 TotallyNotJson.1029 TotallyNotJson.153;
|
||||
let TotallyNotJson.1028 : U8 = 34i64;
|
||||
let TotallyNotJson.1027 : List U8 = Array [TotallyNotJson.1028];
|
||||
let TotallyNotJson.1025 : List U8 = CallByName List.8 TotallyNotJson.1026 TotallyNotJson.1027;
|
||||
ret TotallyNotJson.1025;
|
||||
else
|
||||
inc TotallyNotJson.153;
|
||||
let TotallyNotJson.1067 : U64 = StructAtIndex 0 TotallyNotJson.155;
|
||||
let TotallyNotJson.1066 : {List U8, List U8} = CallByName List.52 TotallyNotJson.153 TotallyNotJson.1067;
|
||||
let TotallyNotJson.179 : List U8 = StructAtIndex 0 TotallyNotJson.1066;
|
||||
let TotallyNotJson.181 : List U8 = StructAtIndex 1 TotallyNotJson.1066;
|
||||
let TotallyNotJson.1064 : U64 = CallByName List.6 TotallyNotJson.153;
|
||||
dec TotallyNotJson.153;
|
||||
let TotallyNotJson.1065 : U64 = 120i64;
|
||||
let TotallyNotJson.1062 : U64 = CallByName Num.21 TotallyNotJson.1064 TotallyNotJson.1065;
|
||||
let TotallyNotJson.1063 : U64 = 100i64;
|
||||
let TotallyNotJson.1061 : U64 = CallByName Num.137 TotallyNotJson.1062 TotallyNotJson.1063;
|
||||
let TotallyNotJson.1058 : List U8 = CallByName List.68 TotallyNotJson.1061;
|
||||
let TotallyNotJson.1060 : U8 = 34i64;
|
||||
let TotallyNotJson.1059 : List U8 = Array [TotallyNotJson.1060];
|
||||
let TotallyNotJson.1057 : List U8 = CallByName List.8 TotallyNotJson.1058 TotallyNotJson.1059;
|
||||
let TotallyNotJson.182 : List U8 = CallByName List.8 TotallyNotJson.1057 TotallyNotJson.179;
|
||||
let TotallyNotJson.1040 : {} = Struct {};
|
||||
let TotallyNotJson.1037 : List U8 = CallByName List.18 TotallyNotJson.181 TotallyNotJson.182 TotallyNotJson.1040;
|
||||
let TotallyNotJson.1039 : U8 = 34i64;
|
||||
let TotallyNotJson.1038 : List U8 = Array [TotallyNotJson.1039];
|
||||
let TotallyNotJson.1036 : List U8 = CallByName List.8 TotallyNotJson.1037 TotallyNotJson.1038;
|
||||
ret TotallyNotJson.1036;
|
||||
|
||||
procedure TotallyNotJson.27 (TotallyNotJson.186):
|
||||
switch TotallyNotJson.186:
|
||||
case 34:
|
||||
let TotallyNotJson.1043 : List U8 = Array [92i64, 34i64];
|
||||
ret TotallyNotJson.1043;
|
||||
|
||||
case 92:
|
||||
let TotallyNotJson.1044 : List U8 = Array [92i64, 92i64];
|
||||
ret TotallyNotJson.1044;
|
||||
|
||||
case 47:
|
||||
let TotallyNotJson.1045 : List U8 = Array [92i64, 47i64];
|
||||
ret TotallyNotJson.1045;
|
||||
|
||||
case 8:
|
||||
let TotallyNotJson.1047 : U8 = 98i64;
|
||||
let TotallyNotJson.1046 : List U8 = Array [92i64, TotallyNotJson.1047];
|
||||
ret TotallyNotJson.1046;
|
||||
|
||||
case 12:
|
||||
let TotallyNotJson.1049 : U8 = 102i64;
|
||||
let TotallyNotJson.1048 : List U8 = Array [92i64, TotallyNotJson.1049];
|
||||
ret TotallyNotJson.1048;
|
||||
|
||||
case 10:
|
||||
let TotallyNotJson.1051 : U8 = 110i64;
|
||||
let TotallyNotJson.1050 : List U8 = Array [92i64, TotallyNotJson.1051];
|
||||
ret TotallyNotJson.1050;
|
||||
|
||||
case 13:
|
||||
let TotallyNotJson.1053 : U8 = 114i64;
|
||||
let TotallyNotJson.1052 : List U8 = Array [92i64, TotallyNotJson.1053];
|
||||
ret TotallyNotJson.1052;
|
||||
|
||||
case 9:
|
||||
let TotallyNotJson.1055 : U8 = 114i64;
|
||||
let TotallyNotJson.1054 : List U8 = Array [92i64, TotallyNotJson.1055];
|
||||
ret TotallyNotJson.1054;
|
||||
|
||||
default:
|
||||
let TotallyNotJson.1056 : List U8 = Array [TotallyNotJson.186];
|
||||
ret TotallyNotJson.1056;
|
||||
|
||||
|
||||
procedure TotallyNotJson.31 (TotallyNotJson.229, TotallyNotJson.230):
|
||||
let TotallyNotJson.1016 : {Str, List Str} = Struct {TotallyNotJson.229, TotallyNotJson.230};
|
||||
let TotallyNotJson.1015 : {Str, List Str} = CallByName Encode.23 TotallyNotJson.1016;
|
||||
ret TotallyNotJson.1015;
|
||||
|
||||
procedure TotallyNotJson.8 ():
|
||||
let TotallyNotJson.973 : {} = Struct {};
|
||||
ret TotallyNotJson.973;
|
||||
procedure Test.78 (Test.79):
|
||||
ret Test.79;
|
||||
|
||||
procedure Test.0 ():
|
||||
let Test.12 : {Str, Str} = CallByName Test.3;
|
||||
let Test.13 : {} = CallByName TotallyNotJson.8;
|
||||
let Test.11 : List U8 = CallByName Encode.26 Test.12 Test.13;
|
||||
ret Test.11;
|
||||
let Test.258 : {Str, Str} = CallByName Test.50;
|
||||
let Test.259 : {} = CallByName Test.3;
|
||||
let Test.257 : List U8 = CallByName Encode.26 Test.258 Test.259;
|
||||
ret Test.257;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
procedure #Derived.0 (#Derived.1):
|
||||
let #Derived_gen.11 : [C {}, C {}] = TagId(0) #Derived.1;
|
||||
let #Derived_gen.10 : [C {}, C {}] = CallByName Encode.23 #Derived_gen.11;
|
||||
let #Derived_gen.11 : [C {}, C {}, C Str] = TagId(0) #Derived.1;
|
||||
let #Derived_gen.10 : [C {}, C {}, C Str] = CallByName Encode.23 #Derived_gen.11;
|
||||
ret #Derived_gen.10;
|
||||
|
||||
procedure #Derived.2 (#Derived.3, #Derived.4, #Attr.12):
|
||||
|
@ -10,13 +10,13 @@ procedure #Derived.2 (#Derived.3, #Derived.4, #Attr.12):
|
|||
ret #Derived_gen.13;
|
||||
in
|
||||
let #Derived_gen.17 : Str = "A";
|
||||
let #Derived_gen.18 : List [] = Array [];
|
||||
let #Derived_gen.16 : {Str, List []} = CallByName TotallyNotJson.31 #Derived_gen.17 #Derived_gen.18;
|
||||
let #Derived_gen.18 : List Str = Array [];
|
||||
let #Derived_gen.16 : {List Str, {}} = CallByName Test.24 #Derived_gen.17 #Derived_gen.18;
|
||||
jump #Derived_gen.15 #Derived_gen.16;
|
||||
|
||||
procedure #Derived.5 (#Derived.6):
|
||||
let #Derived_gen.1 : [C {}, C {}] = TagId(1) #Derived.6;
|
||||
let #Derived_gen.0 : [C {}, C {}] = CallByName Encode.23 #Derived_gen.1;
|
||||
let #Derived_gen.1 : [C {}, C {}, C Str] = TagId(1) #Derived.6;
|
||||
let #Derived_gen.0 : [C {}, C {}, C Str] = CallByName Encode.23 #Derived_gen.1;
|
||||
ret #Derived_gen.0;
|
||||
|
||||
procedure #Derived.7 (#Derived.8, #Derived.9, #Attr.12):
|
||||
|
@ -26,8 +26,8 @@ procedure #Derived.7 (#Derived.8, #Derived.9, #Attr.12):
|
|||
ret #Derived_gen.3;
|
||||
in
|
||||
let #Derived_gen.7 : Str = "B";
|
||||
let #Derived_gen.8 : List [] = Array [];
|
||||
let #Derived_gen.6 : {Str, List []} = CallByName TotallyNotJson.31 #Derived_gen.7 #Derived_gen.8;
|
||||
let #Derived_gen.8 : List Str = Array [];
|
||||
let #Derived_gen.6 : {List Str, {}} = CallByName Test.24 #Derived_gen.7 #Derived_gen.8;
|
||||
jump #Derived_gen.5 #Derived_gen.6;
|
||||
|
||||
procedure Bool.2 ():
|
||||
|
@ -46,18 +46,16 @@ procedure Encode.23 (Encode.98):
|
|||
procedure Encode.23 (Encode.98):
|
||||
ret Encode.98;
|
||||
|
||||
procedure Encode.24 (Encode.99, Encode.107, Encode.101):
|
||||
dec Encode.99;
|
||||
let Encode.125 : Str = "a Lambda Set is empty. Most likely there is a type error in your program.";
|
||||
Crash Encode.125
|
||||
procedure Encode.23 (Encode.98):
|
||||
ret Encode.98;
|
||||
|
||||
procedure Encode.24 (Encode.99, Encode.107, Encode.101):
|
||||
let Encode.111 : List U8 = CallByName Test.5 Encode.99 Encode.101 Encode.107;
|
||||
let Encode.111 : List U8 = CallByName Test.213 Encode.99 Encode.101 Encode.107;
|
||||
ret Encode.111;
|
||||
|
||||
procedure Encode.24 (Encode.99, Encode.107, Encode.101):
|
||||
let Encode.113 : List U8 = CallByName TotallyNotJson.231 Encode.99 Encode.101 Encode.107;
|
||||
ret Encode.113;
|
||||
let Encode.115 : List U8 = CallByName Test.63 Encode.99 Encode.101 Encode.107;
|
||||
ret Encode.115;
|
||||
|
||||
procedure Encode.24 (Encode.99, Encode.107, Encode.101):
|
||||
let Encode.117 : U8 = GetTagId Encode.107;
|
||||
|
@ -66,276 +64,284 @@ procedure Encode.24 (Encode.99, Encode.107, Encode.101):
|
|||
let Encode.116 : List U8 = CallByName #Derived.2 Encode.99 Encode.101 Encode.107;
|
||||
ret Encode.116;
|
||||
|
||||
default:
|
||||
case 1:
|
||||
let Encode.116 : List U8 = CallByName #Derived.7 Encode.99 Encode.101 Encode.107;
|
||||
ret Encode.116;
|
||||
|
||||
default:
|
||||
let Encode.116 : List U8 = CallByName Test.59 Encode.99 Encode.101 Encode.107;
|
||||
ret Encode.116;
|
||||
|
||||
|
||||
procedure Encode.24 (Encode.99, Encode.107, Encode.101):
|
||||
let Encode.121 : List U8 = CallByName TotallyNotJson.231 Encode.99 Encode.101 Encode.107;
|
||||
let Encode.121 : List U8 = CallByName Test.63 Encode.99 Encode.101 Encode.107;
|
||||
ret Encode.121;
|
||||
|
||||
procedure Encode.24 (Encode.99, Encode.107, Encode.101):
|
||||
let Encode.124 : List U8 = CallByName Test.59 Encode.99 Encode.101 Encode.107;
|
||||
ret Encode.124;
|
||||
|
||||
procedure Encode.26 (Encode.105, Encode.106):
|
||||
let Encode.109 : List U8 = Array [];
|
||||
let Encode.110 : {{}, {}} = CallByName Test.2 Encode.105;
|
||||
let Encode.110 : {{}, {}} = CallByName Test.49 Encode.105;
|
||||
let Encode.108 : List U8 = CallByName Encode.24 Encode.109 Encode.110 Encode.106;
|
||||
ret Encode.108;
|
||||
|
||||
procedure List.18 (List.160, List.161, List.162):
|
||||
let List.601 : U64 = 0i64;
|
||||
let List.602 : U64 = CallByName List.6 List.160;
|
||||
let List.600 : {List U8, U64} = CallByName List.92 List.160 List.161 List.162 List.601 List.602;
|
||||
procedure List.13 (#Attr.2, #Attr.3):
|
||||
let List.600 : List [C {}, C {}, C Str] = lowlevel ListPrepend #Attr.2 #Attr.3;
|
||||
ret List.600;
|
||||
|
||||
procedure List.13 (#Attr.2, #Attr.3):
|
||||
let List.628 : List Str = lowlevel ListPrepend #Attr.2 #Attr.3;
|
||||
ret List.628;
|
||||
|
||||
procedure List.18 (List.160, List.161, List.162):
|
||||
let List.641 : U64 = 0i64;
|
||||
let List.642 : U64 = CallByName List.6 List.160;
|
||||
let List.640 : {List U8, U64} = CallByName List.92 List.160 List.161 List.162 List.641 List.642;
|
||||
ret List.640;
|
||||
let List.575 : U64 = 0i64;
|
||||
let List.576 : U64 = CallByName List.6 List.160;
|
||||
let List.574 : List U8 = CallByName List.92 List.160 List.161 List.162 List.575 List.576;
|
||||
ret List.574;
|
||||
|
||||
procedure List.18 (List.160, List.161, List.162):
|
||||
let List.602 : U64 = 0i64;
|
||||
let List.603 : U64 = CallByName List.6 List.160;
|
||||
let List.601 : List U8 = CallByName List.92 List.160 List.161 List.162 List.602 List.603;
|
||||
ret List.601;
|
||||
|
||||
procedure List.4 (List.124, List.125):
|
||||
let List.639 : U64 = 1i64;
|
||||
let List.638 : List U8 = CallByName List.70 List.124 List.639;
|
||||
let List.637 : List U8 = CallByName List.71 List.638 List.125;
|
||||
ret List.637;
|
||||
let List.623 : U64 = 1i64;
|
||||
let List.622 : List U8 = CallByName List.70 List.124 List.623;
|
||||
let List.621 : List U8 = CallByName List.71 List.622 List.125;
|
||||
ret List.621;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.612 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.612;
|
||||
let List.599 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.599;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.652 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.652;
|
||||
let List.626 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.626;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.610 : [C {}, C {}] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.610;
|
||||
let List.584 : [C {}, C {}, C Str] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.584;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.650 : [] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.650;
|
||||
let List.611 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.611;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.618 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.618;
|
||||
let List.617 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.617;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.616 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.616;
|
||||
let List.615 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.615;
|
||||
|
||||
procedure List.8 (#Attr.2, #Attr.3):
|
||||
let List.653 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.653;
|
||||
let List.625 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.625;
|
||||
|
||||
procedure List.92 (#Derived_gen.20, #Derived_gen.21, #Derived_gen.22, #Derived_gen.23, #Derived_gen.24):
|
||||
joinpoint List.603 List.163 List.164 List.165 List.166 List.167:
|
||||
let List.605 : Int1 = CallByName Num.22 List.166 List.167;
|
||||
if List.605 then
|
||||
let List.609 : [C {}, C {}] = CallByName List.66 List.163 List.166;
|
||||
let List.168 : {List U8, U64} = CallByName TotallyNotJson.233 List.164 List.609;
|
||||
let List.608 : U64 = 1i64;
|
||||
let List.607 : U64 = CallByName Num.51 List.166 List.608;
|
||||
jump List.603 List.163 List.168 List.165 List.607 List.167;
|
||||
procedure List.92 (#Derived_gen.29, #Derived_gen.30, #Derived_gen.31, #Derived_gen.32, #Derived_gen.33):
|
||||
joinpoint List.577 List.163 List.164 List.165 List.166 List.167:
|
||||
let List.579 : Int1 = CallByName Num.22 List.166 List.167;
|
||||
if List.579 then
|
||||
let List.583 : [C {}, C {}, C Str] = CallByName List.66 List.163 List.166;
|
||||
inc List.583;
|
||||
let List.168 : List U8 = CallByName Test.66 List.164 List.583 List.165;
|
||||
let List.582 : U64 = 1i64;
|
||||
let List.581 : U64 = CallByName Num.51 List.166 List.582;
|
||||
jump List.577 List.163 List.168 List.165 List.581 List.167;
|
||||
else
|
||||
dec List.163;
|
||||
ret List.164;
|
||||
in
|
||||
jump List.603 #Derived_gen.20 #Derived_gen.21 #Derived_gen.22 #Derived_gen.23 #Derived_gen.24;
|
||||
jump List.577 #Derived_gen.29 #Derived_gen.30 #Derived_gen.31 #Derived_gen.32 #Derived_gen.33;
|
||||
|
||||
procedure List.92 (#Derived_gen.40, #Derived_gen.41, #Derived_gen.42, #Derived_gen.43, #Derived_gen.44):
|
||||
joinpoint List.643 List.163 List.164 List.165 List.166 List.167:
|
||||
let List.645 : Int1 = CallByName Num.22 List.166 List.167;
|
||||
if List.645 then
|
||||
let List.649 : [] = CallByName List.66 List.163 List.166;
|
||||
let List.168 : {List U8, U64} = CallByName TotallyNotJson.233 List.164 List.649;
|
||||
let List.648 : U64 = 1i64;
|
||||
let List.647 : U64 = CallByName Num.51 List.166 List.648;
|
||||
jump List.643 List.163 List.168 List.165 List.647 List.167;
|
||||
procedure List.92 (#Derived_gen.52, #Derived_gen.53, #Derived_gen.54, #Derived_gen.55, #Derived_gen.56):
|
||||
joinpoint List.604 List.163 List.164 List.165 List.166 List.167:
|
||||
let List.606 : Int1 = CallByName Num.22 List.166 List.167;
|
||||
if List.606 then
|
||||
let List.610 : Str = CallByName List.66 List.163 List.166;
|
||||
inc List.610;
|
||||
let List.168 : List U8 = CallByName Test.66 List.164 List.610 List.165;
|
||||
let List.609 : U64 = 1i64;
|
||||
let List.608 : U64 = CallByName Num.51 List.166 List.609;
|
||||
jump List.604 List.163 List.168 List.165 List.608 List.167;
|
||||
else
|
||||
dec List.163;
|
||||
ret List.164;
|
||||
in
|
||||
jump List.643 #Derived_gen.40 #Derived_gen.41 #Derived_gen.42 #Derived_gen.43 #Derived_gen.44;
|
||||
jump List.604 #Derived_gen.52 #Derived_gen.53 #Derived_gen.54 #Derived_gen.55 #Derived_gen.56;
|
||||
|
||||
procedure Num.127 (#Attr.2):
|
||||
let Num.298 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
ret Num.298;
|
||||
|
||||
procedure Num.20 (#Attr.2, #Attr.3):
|
||||
let Num.299 : U64 = lowlevel NumSub #Attr.2 #Attr.3;
|
||||
ret Num.299;
|
||||
let Num.284 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
ret Num.284;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.302 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
ret Num.302;
|
||||
|
||||
procedure Num.24 (#Attr.2, #Attr.3):
|
||||
let Num.300 : Int1 = lowlevel NumGt #Attr.2 #Attr.3;
|
||||
ret Num.300;
|
||||
let Num.286 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
ret Num.286;
|
||||
|
||||
procedure Num.51 (#Attr.2, #Attr.3):
|
||||
let Num.301 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
|
||||
ret Num.301;
|
||||
let Num.285 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
|
||||
ret Num.285;
|
||||
|
||||
procedure Num.96 (#Attr.2):
|
||||
let Num.283 : Str = lowlevel NumToStr #Attr.2;
|
||||
ret Num.283;
|
||||
|
||||
procedure Str.12 (#Attr.2):
|
||||
let Str.233 : List U8 = lowlevel StrToUtf8 #Attr.2;
|
||||
ret Str.233;
|
||||
let Str.236 : List U8 = lowlevel StrToUtf8 #Attr.2;
|
||||
ret Str.236;
|
||||
|
||||
procedure Test.2 (Test.11):
|
||||
let Test.18 : {{}, {}} = CallByName Encode.23 Test.11;
|
||||
ret Test.18;
|
||||
procedure Str.36 (#Attr.2):
|
||||
let Str.237 : U64 = lowlevel StrCountUtf8Bytes #Attr.2;
|
||||
ret Str.237;
|
||||
|
||||
procedure Test.20 (Test.58):
|
||||
let Test.299 : [C {}, C {}, C Str] = TagId(2) Test.58;
|
||||
let Test.298 : [C {}, C {}, C Str] = CallByName Encode.23 Test.299;
|
||||
ret Test.298;
|
||||
|
||||
procedure Test.20 (Test.58):
|
||||
let Test.342 : Str = CallByName Encode.23 Test.58;
|
||||
ret Test.342;
|
||||
|
||||
procedure Test.21 (Test.61, Test.62):
|
||||
let Test.278 : {List [C {}, C {}, C Str], {}} = Struct {Test.61, Test.62};
|
||||
let Test.277 : {List [C {}, C {}, C Str], {}} = CallByName Encode.23 Test.278;
|
||||
ret Test.277;
|
||||
|
||||
procedure Test.21 (Test.61, Test.62):
|
||||
let Test.322 : {List Str, {}} = Struct {Test.61, Test.62};
|
||||
let Test.321 : {List Str, {}} = CallByName Encode.23 Test.322;
|
||||
ret Test.321;
|
||||
|
||||
procedure Test.213 (Test.214, Test.215, Test.212):
|
||||
joinpoint Test.270 Test.216:
|
||||
let Test.268 : List U8 = CallByName Encode.24 Test.214 Test.216 Test.215;
|
||||
ret Test.268;
|
||||
in
|
||||
let Test.312 : Int1 = CallByName Bool.2;
|
||||
if Test.312 then
|
||||
let Test.313 : Str = "A";
|
||||
let Test.316 : {} = StructAtIndex 0 Test.212;
|
||||
let Test.315 : [C {}, C {}, C Str] = CallByName #Derived.0 Test.316;
|
||||
let Test.314 : List [C {}, C {}, C Str] = Array [Test.315];
|
||||
let Test.269 : {List [C {}, C {}, C Str], {}} = CallByName Test.24 Test.313 Test.314;
|
||||
jump Test.270 Test.269;
|
||||
else
|
||||
let Test.271 : Str = "B";
|
||||
let Test.311 : {} = StructAtIndex 1 Test.212;
|
||||
let Test.310 : [C {}, C {}, C Str] = CallByName #Derived.5 Test.311;
|
||||
let Test.272 : List [C {}, C {}, C Str] = Array [Test.310];
|
||||
let Test.269 : {List [C {}, C {}, C Str], {}} = CallByName Test.24 Test.271 Test.272;
|
||||
jump Test.270 Test.269;
|
||||
|
||||
procedure Test.23 (Test.77):
|
||||
let Test.276 : {} = Struct {};
|
||||
let Test.275 : {List [C {}, C {}, C Str], {}} = CallByName Test.21 Test.77 Test.276;
|
||||
ret Test.275;
|
||||
|
||||
procedure Test.23 (Test.77):
|
||||
let Test.320 : {} = Struct {};
|
||||
let Test.319 : {List Str, {}} = CallByName Test.21 Test.77 Test.320;
|
||||
ret Test.319;
|
||||
|
||||
procedure Test.24 (Test.80, Test.81):
|
||||
let Test.297 : [C {}, C {}, C Str] = CallByName Test.20 Test.80;
|
||||
let Test.274 : List [C {}, C {}, C Str] = CallByName List.13 Test.81 Test.297;
|
||||
let Test.273 : {List [C {}, C {}, C Str], {}} = CallByName Test.23 Test.274;
|
||||
ret Test.273;
|
||||
|
||||
procedure Test.24 (Test.80, Test.81):
|
||||
let Test.355 : Str = CallByName Test.20 Test.80;
|
||||
let Test.354 : List Str = CallByName List.13 Test.81 Test.355;
|
||||
let Test.353 : {List Str, {}} = CallByName Test.23 Test.354;
|
||||
ret Test.353;
|
||||
|
||||
procedure Test.3 ():
|
||||
let Test.16 : {} = Struct {};
|
||||
let Test.17 : {} = Struct {};
|
||||
let Test.15 : {{}, {}} = Struct {Test.16, Test.17};
|
||||
ret Test.15;
|
||||
let Test.261 : {} = Struct {};
|
||||
ret Test.261;
|
||||
|
||||
procedure Test.5 (Test.6, Test.7, Test.4):
|
||||
joinpoint Test.23 Test.8:
|
||||
let Test.21 : List U8 = CallByName Encode.24 Test.6 Test.8 Test.7;
|
||||
ret Test.21;
|
||||
in
|
||||
let Test.28 : Int1 = CallByName Bool.2;
|
||||
if Test.28 then
|
||||
let Test.29 : Str = "A";
|
||||
let Test.32 : {} = StructAtIndex 0 Test.4;
|
||||
let Test.31 : [C {}, C {}] = CallByName #Derived.0 Test.32;
|
||||
let Test.30 : List [C {}, C {}] = Array [Test.31];
|
||||
let Test.22 : {Str, List [C {}, C {}]} = CallByName TotallyNotJson.31 Test.29 Test.30;
|
||||
jump Test.23 Test.22;
|
||||
else
|
||||
let Test.24 : Str = "B";
|
||||
let Test.27 : {} = StructAtIndex 1 Test.4;
|
||||
let Test.26 : [C {}, C {}] = CallByName #Derived.5 Test.27;
|
||||
let Test.25 : List [C {}, C {}] = Array [Test.26];
|
||||
let Test.22 : {Str, List [C {}, C {}]} = CallByName TotallyNotJson.31 Test.24 Test.25;
|
||||
jump Test.23 Test.22;
|
||||
procedure Test.4 (Test.51, Test.52, Test.53):
|
||||
let Test.339 : U8 = CallByName Num.127 Test.52;
|
||||
let Test.336 : List U8 = CallByName List.4 Test.51 Test.339;
|
||||
let Test.338 : Str = CallByName Num.96 Test.53;
|
||||
let Test.337 : List U8 = CallByName Str.12 Test.338;
|
||||
let Test.334 : List U8 = CallByName List.8 Test.336 Test.337;
|
||||
let Test.335 : U8 = 32i64;
|
||||
let Test.333 : List U8 = CallByName List.4 Test.334 Test.335;
|
||||
ret Test.333;
|
||||
|
||||
procedure TotallyNotJson.231 (TotallyNotJson.232, TotallyNotJson.976, #Attr.12):
|
||||
let TotallyNotJson.230 : List [C {}, C {}] = StructAtIndex 1 #Attr.12;
|
||||
let TotallyNotJson.229 : Str = StructAtIndex 0 #Attr.12;
|
||||
let TotallyNotJson.1014 : I64 = 123i64;
|
||||
let TotallyNotJson.1013 : U8 = CallByName Num.127 TotallyNotJson.1014;
|
||||
let TotallyNotJson.1010 : List U8 = CallByName List.4 TotallyNotJson.232 TotallyNotJson.1013;
|
||||
let TotallyNotJson.1012 : I64 = 34i64;
|
||||
let TotallyNotJson.1011 : U8 = CallByName Num.127 TotallyNotJson.1012;
|
||||
let TotallyNotJson.1008 : List U8 = CallByName List.4 TotallyNotJson.1010 TotallyNotJson.1011;
|
||||
let TotallyNotJson.1009 : List U8 = CallByName Str.12 TotallyNotJson.229;
|
||||
let TotallyNotJson.1005 : List U8 = CallByName List.8 TotallyNotJson.1008 TotallyNotJson.1009;
|
||||
let TotallyNotJson.1007 : I64 = 34i64;
|
||||
let TotallyNotJson.1006 : U8 = CallByName Num.127 TotallyNotJson.1007;
|
||||
let TotallyNotJson.1002 : List U8 = CallByName List.4 TotallyNotJson.1005 TotallyNotJson.1006;
|
||||
let TotallyNotJson.1004 : I64 = 58i64;
|
||||
let TotallyNotJson.1003 : U8 = CallByName Num.127 TotallyNotJson.1004;
|
||||
let TotallyNotJson.999 : List U8 = CallByName List.4 TotallyNotJson.1002 TotallyNotJson.1003;
|
||||
let TotallyNotJson.1001 : I64 = 91i64;
|
||||
let TotallyNotJson.1000 : U8 = CallByName Num.127 TotallyNotJson.1001;
|
||||
let TotallyNotJson.234 : List U8 = CallByName List.4 TotallyNotJson.999 TotallyNotJson.1000;
|
||||
let TotallyNotJson.998 : U64 = CallByName List.6 TotallyNotJson.230;
|
||||
let TotallyNotJson.986 : {List U8, U64} = Struct {TotallyNotJson.234, TotallyNotJson.998};
|
||||
let TotallyNotJson.987 : {} = Struct {};
|
||||
let TotallyNotJson.985 : {List U8, U64} = CallByName List.18 TotallyNotJson.230 TotallyNotJson.986 TotallyNotJson.987;
|
||||
let TotallyNotJson.236 : List U8 = StructAtIndex 0 TotallyNotJson.985;
|
||||
let TotallyNotJson.984 : I64 = 93i64;
|
||||
let TotallyNotJson.983 : U8 = CallByName Num.127 TotallyNotJson.984;
|
||||
let TotallyNotJson.980 : List U8 = CallByName List.4 TotallyNotJson.236 TotallyNotJson.983;
|
||||
let TotallyNotJson.982 : I64 = 125i64;
|
||||
let TotallyNotJson.981 : U8 = CallByName Num.127 TotallyNotJson.982;
|
||||
let TotallyNotJson.979 : List U8 = CallByName List.4 TotallyNotJson.980 TotallyNotJson.981;
|
||||
ret TotallyNotJson.979;
|
||||
procedure Test.49 (Test.256):
|
||||
let Test.265 : {{}, {}} = CallByName Encode.23 Test.256;
|
||||
ret Test.265;
|
||||
|
||||
procedure TotallyNotJson.231 (TotallyNotJson.232, TotallyNotJson.976, #Attr.12):
|
||||
let TotallyNotJson.230 : List [] = StructAtIndex 1 #Attr.12;
|
||||
let TotallyNotJson.229 : Str = StructAtIndex 0 #Attr.12;
|
||||
let TotallyNotJson.1057 : I64 = 123i64;
|
||||
let TotallyNotJson.1056 : U8 = CallByName Num.127 TotallyNotJson.1057;
|
||||
let TotallyNotJson.1053 : List U8 = CallByName List.4 TotallyNotJson.232 TotallyNotJson.1056;
|
||||
let TotallyNotJson.1055 : I64 = 34i64;
|
||||
let TotallyNotJson.1054 : U8 = CallByName Num.127 TotallyNotJson.1055;
|
||||
let TotallyNotJson.1051 : List U8 = CallByName List.4 TotallyNotJson.1053 TotallyNotJson.1054;
|
||||
let TotallyNotJson.1052 : List U8 = CallByName Str.12 TotallyNotJson.229;
|
||||
let TotallyNotJson.1048 : List U8 = CallByName List.8 TotallyNotJson.1051 TotallyNotJson.1052;
|
||||
let TotallyNotJson.1050 : I64 = 34i64;
|
||||
let TotallyNotJson.1049 : U8 = CallByName Num.127 TotallyNotJson.1050;
|
||||
let TotallyNotJson.1045 : List U8 = CallByName List.4 TotallyNotJson.1048 TotallyNotJson.1049;
|
||||
let TotallyNotJson.1047 : I64 = 58i64;
|
||||
let TotallyNotJson.1046 : U8 = CallByName Num.127 TotallyNotJson.1047;
|
||||
let TotallyNotJson.1042 : List U8 = CallByName List.4 TotallyNotJson.1045 TotallyNotJson.1046;
|
||||
let TotallyNotJson.1044 : I64 = 91i64;
|
||||
let TotallyNotJson.1043 : U8 = CallByName Num.127 TotallyNotJson.1044;
|
||||
let TotallyNotJson.234 : List U8 = CallByName List.4 TotallyNotJson.1042 TotallyNotJson.1043;
|
||||
let TotallyNotJson.1041 : U64 = CallByName List.6 TotallyNotJson.230;
|
||||
let TotallyNotJson.1029 : {List U8, U64} = Struct {TotallyNotJson.234, TotallyNotJson.1041};
|
||||
let TotallyNotJson.1030 : {} = Struct {};
|
||||
let TotallyNotJson.1028 : {List U8, U64} = CallByName List.18 TotallyNotJson.230 TotallyNotJson.1029 TotallyNotJson.1030;
|
||||
let TotallyNotJson.236 : List U8 = StructAtIndex 0 TotallyNotJson.1028;
|
||||
let TotallyNotJson.1027 : I64 = 93i64;
|
||||
let TotallyNotJson.1026 : U8 = CallByName Num.127 TotallyNotJson.1027;
|
||||
let TotallyNotJson.1023 : List U8 = CallByName List.4 TotallyNotJson.236 TotallyNotJson.1026;
|
||||
let TotallyNotJson.1025 : I64 = 125i64;
|
||||
let TotallyNotJson.1024 : U8 = CallByName Num.127 TotallyNotJson.1025;
|
||||
let TotallyNotJson.1022 : List U8 = CallByName List.4 TotallyNotJson.1023 TotallyNotJson.1024;
|
||||
ret TotallyNotJson.1022;
|
||||
procedure Test.50 ():
|
||||
let Test.263 : {} = Struct {};
|
||||
let Test.264 : {} = Struct {};
|
||||
let Test.262 : {{}, {}} = Struct {Test.263, Test.264};
|
||||
ret Test.262;
|
||||
|
||||
procedure TotallyNotJson.233 (TotallyNotJson.978, TotallyNotJson.239):
|
||||
let TotallyNotJson.237 : List U8 = StructAtIndex 0 TotallyNotJson.978;
|
||||
let TotallyNotJson.238 : U64 = StructAtIndex 1 TotallyNotJson.978;
|
||||
let TotallyNotJson.1040 : {} = Struct {};
|
||||
let TotallyNotJson.240 : List U8 = CallByName Encode.24 TotallyNotJson.237 TotallyNotJson.239 TotallyNotJson.1040;
|
||||
joinpoint TotallyNotJson.1035 TotallyNotJson.241:
|
||||
let TotallyNotJson.1033 : U64 = 1i64;
|
||||
let TotallyNotJson.1032 : U64 = CallByName Num.20 TotallyNotJson.238 TotallyNotJson.1033;
|
||||
let TotallyNotJson.1031 : {List U8, U64} = Struct {TotallyNotJson.241, TotallyNotJson.1032};
|
||||
ret TotallyNotJson.1031;
|
||||
in
|
||||
let TotallyNotJson.1039 : U64 = 1i64;
|
||||
let TotallyNotJson.1036 : Int1 = CallByName Num.24 TotallyNotJson.238 TotallyNotJson.1039;
|
||||
if TotallyNotJson.1036 then
|
||||
let TotallyNotJson.1038 : I64 = 44i64;
|
||||
let TotallyNotJson.1037 : U8 = CallByName Num.127 TotallyNotJson.1038;
|
||||
let TotallyNotJson.1034 : List U8 = CallByName List.4 TotallyNotJson.240 TotallyNotJson.1037;
|
||||
jump TotallyNotJson.1035 TotallyNotJson.1034;
|
||||
else
|
||||
jump TotallyNotJson.1035 TotallyNotJson.240;
|
||||
procedure Test.59 (Test.60, Test.300, #Attr.12):
|
||||
let Test.309 : Str = UnionAtIndex (Id 2) (Index 0) #Attr.12;
|
||||
let Test.307 : I64 = 115i64;
|
||||
let Test.308 : U64 = CallByName Str.36 Test.309;
|
||||
let Test.305 : List U8 = CallByName Test.4 Test.60 Test.307 Test.308;
|
||||
let Test.306 : List U8 = CallByName Str.12 Test.309;
|
||||
let Test.303 : List U8 = CallByName List.8 Test.305 Test.306;
|
||||
let Test.304 : U8 = 32i64;
|
||||
let Test.302 : List U8 = CallByName List.4 Test.303 Test.304;
|
||||
ret Test.302;
|
||||
|
||||
procedure TotallyNotJson.233 (TotallyNotJson.978, TotallyNotJson.239):
|
||||
let TotallyNotJson.237 : List U8 = StructAtIndex 0 TotallyNotJson.978;
|
||||
let TotallyNotJson.238 : U64 = StructAtIndex 1 TotallyNotJson.978;
|
||||
let TotallyNotJson.997 : {} = Struct {};
|
||||
let TotallyNotJson.240 : List U8 = CallByName Encode.24 TotallyNotJson.237 TotallyNotJson.239 TotallyNotJson.997;
|
||||
joinpoint TotallyNotJson.992 TotallyNotJson.241:
|
||||
let TotallyNotJson.990 : U64 = 1i64;
|
||||
let TotallyNotJson.989 : U64 = CallByName Num.20 TotallyNotJson.238 TotallyNotJson.990;
|
||||
let TotallyNotJson.988 : {List U8, U64} = Struct {TotallyNotJson.241, TotallyNotJson.989};
|
||||
ret TotallyNotJson.988;
|
||||
in
|
||||
let TotallyNotJson.996 : U64 = 1i64;
|
||||
let TotallyNotJson.993 : Int1 = CallByName Num.24 TotallyNotJson.238 TotallyNotJson.996;
|
||||
if TotallyNotJson.993 then
|
||||
let TotallyNotJson.995 : I64 = 44i64;
|
||||
let TotallyNotJson.994 : U8 = CallByName Num.127 TotallyNotJson.995;
|
||||
let TotallyNotJson.991 : List U8 = CallByName List.4 TotallyNotJson.240 TotallyNotJson.994;
|
||||
jump TotallyNotJson.992 TotallyNotJson.991;
|
||||
else
|
||||
jump TotallyNotJson.992 TotallyNotJson.240;
|
||||
procedure Test.59 (Test.60, Test.300, Test.58):
|
||||
let Test.351 : I64 = 115i64;
|
||||
let Test.352 : U64 = CallByName Str.36 Test.58;
|
||||
let Test.349 : List U8 = CallByName Test.4 Test.60 Test.351 Test.352;
|
||||
let Test.350 : List U8 = CallByName Str.12 Test.58;
|
||||
let Test.347 : List U8 = CallByName List.8 Test.349 Test.350;
|
||||
let Test.348 : U8 = 32i64;
|
||||
let Test.346 : List U8 = CallByName List.4 Test.347 Test.348;
|
||||
ret Test.346;
|
||||
|
||||
procedure TotallyNotJson.31 (TotallyNotJson.229, TotallyNotJson.230):
|
||||
let TotallyNotJson.1016 : {Str, List [C {}, C {}]} = Struct {TotallyNotJson.229, TotallyNotJson.230};
|
||||
let TotallyNotJson.1015 : {Str, List [C {}, C {}]} = CallByName Encode.23 TotallyNotJson.1016;
|
||||
ret TotallyNotJson.1015;
|
||||
procedure Test.63 (Test.64, Test.279, #Attr.12):
|
||||
let Test.62 : {} = StructAtIndex 1 #Attr.12;
|
||||
let Test.61 : List Str = StructAtIndex 0 #Attr.12;
|
||||
let Test.331 : I64 = 108i64;
|
||||
let Test.332 : U64 = CallByName List.6 Test.61;
|
||||
let Test.65 : List U8 = CallByName Test.4 Test.64 Test.331 Test.332;
|
||||
let Test.325 : List U8 = CallByName List.18 Test.61 Test.65 Test.62;
|
||||
ret Test.325;
|
||||
|
||||
procedure TotallyNotJson.31 (TotallyNotJson.229, TotallyNotJson.230):
|
||||
let TotallyNotJson.1059 : {Str, List []} = Struct {TotallyNotJson.229, TotallyNotJson.230};
|
||||
let TotallyNotJson.1058 : {Str, List []} = CallByName Encode.23 TotallyNotJson.1059;
|
||||
ret TotallyNotJson.1058;
|
||||
procedure Test.63 (Test.64, Test.279, #Attr.12):
|
||||
let Test.62 : {} = StructAtIndex 1 #Attr.12;
|
||||
let Test.61 : List [C {}, C {}, C Str] = StructAtIndex 0 #Attr.12;
|
||||
let Test.287 : I64 = 108i64;
|
||||
let Test.288 : U64 = CallByName List.6 Test.61;
|
||||
let Test.65 : List U8 = CallByName Test.4 Test.64 Test.287 Test.288;
|
||||
let Test.281 : List U8 = CallByName List.18 Test.61 Test.65 Test.62;
|
||||
ret Test.281;
|
||||
|
||||
procedure TotallyNotJson.8 ():
|
||||
let TotallyNotJson.973 : {} = Struct {};
|
||||
ret TotallyNotJson.973;
|
||||
procedure Test.66 (Test.67, Test.68, Test.62):
|
||||
let Test.285 : [C {}, C {}, C Str] = CallByName Test.78 Test.68;
|
||||
let Test.286 : {} = Struct {};
|
||||
let Test.284 : List U8 = CallByName Encode.24 Test.67 Test.285 Test.286;
|
||||
ret Test.284;
|
||||
|
||||
procedure Test.66 (Test.67, Test.68, Test.62):
|
||||
let Test.329 : Str = CallByName Test.78 Test.68;
|
||||
let Test.330 : {} = Struct {};
|
||||
let Test.328 : List U8 = CallByName Encode.24 Test.67 Test.329 Test.330;
|
||||
ret Test.328;
|
||||
|
||||
procedure Test.78 (Test.79):
|
||||
ret Test.79;
|
||||
|
||||
procedure Test.78 (Test.79):
|
||||
ret Test.79;
|
||||
|
||||
procedure Test.0 ():
|
||||
let Test.13 : {{}, {}} = CallByName Test.3;
|
||||
let Test.14 : {} = CallByName TotallyNotJson.8;
|
||||
let Test.12 : List U8 = CallByName Encode.26 Test.13 Test.14;
|
||||
ret Test.12;
|
||||
let Test.259 : {{}, {}} = CallByName Test.50;
|
||||
let Test.260 : {} = CallByName Test.3;
|
||||
let Test.258 : List U8 = CallByName Encode.26 Test.259 Test.260;
|
||||
ret Test.258;
|
||||
|
|
|
@ -5,15 +5,13 @@
|
|||
// we actually want to compare against the literal float bits
|
||||
#![allow(clippy::float_cmp)]
|
||||
|
||||
#[macro_use]
|
||||
extern crate indoc;
|
||||
|
||||
/// Used in the with_larger_debug_stack() function, for tests that otherwise
|
||||
/// run out of stack space in debug builds (but don't in --release builds)
|
||||
#[allow(dead_code)]
|
||||
const EXPANDED_STACK_SIZE: usize = 8 * 1024 * 1024;
|
||||
|
||||
use bumpalo::Bump;
|
||||
use indoc::{formatdoc, indoc};
|
||||
use roc_collections::all::MutMap;
|
||||
use roc_load::ExecutionMode;
|
||||
use roc_load::FunctionKind;
|
||||
|
@ -25,10 +23,59 @@ use roc_module::symbol::Symbol;
|
|||
use roc_mono::ir::Proc;
|
||||
use roc_mono::ir::ProcLayout;
|
||||
use roc_mono::layout::STLayoutInterner;
|
||||
use roc_test_utils::TAG_LEN_ENCODER_FMT;
|
||||
use test_mono_macros::*;
|
||||
|
||||
const TARGET: roc_target::Target = roc_target::Target::LinuxX64;
|
||||
|
||||
/// err decoder is a trivial implementation of a decoder which only returns an error
|
||||
/// useful when you need a decoder implementation, but want minimal code generation
|
||||
pub const ERR_DECODER_FMT: &str = r#"
|
||||
ErrDecoder := {} implements [
|
||||
DecoderFormatting {
|
||||
u8: decodeU8,
|
||||
u16: decodeU16,
|
||||
u32: decodeU32,
|
||||
u64: decodeU64,
|
||||
u128: decodeU128,
|
||||
i8: decodeI8,
|
||||
i16: decodeI16,
|
||||
i32: decodeI32,
|
||||
i64: decodeI64,
|
||||
i128: decodeI128,
|
||||
f32: decodeF32,
|
||||
f64: decodeF64,
|
||||
dec: decodeDec,
|
||||
bool: decodeBool,
|
||||
string: decodeString,
|
||||
list: decodeList,
|
||||
record: decodeRecord,
|
||||
tuple: decodeTuple,
|
||||
},
|
||||
]
|
||||
decodeU8 = Decode.custom \rest, @ErrDecoder {} -> { result: Err TooShort, rest }
|
||||
decodeU16 = Decode.custom \rest, @ErrDecoder {} -> { result: Err TooShort, rest }
|
||||
decodeU32 = Decode.custom \rest, @ErrDecoder {} -> { result: Err TooShort, rest }
|
||||
decodeU64 = Decode.custom \rest, @ErrDecoder {} -> { result: Err TooShort, rest }
|
||||
decodeU128 = Decode.custom \rest, @ErrDecoder {} -> { result: Err TooShort, rest }
|
||||
decodeI8 = Decode.custom \rest, @ErrDecoder {} -> { result: Err TooShort, rest }
|
||||
decodeI16 = Decode.custom \rest, @ErrDecoder {} -> { result: Err TooShort, rest }
|
||||
decodeI32 = Decode.custom \rest, @ErrDecoder {} -> { result: Err TooShort, rest }
|
||||
decodeI64 = Decode.custom \rest, @ErrDecoder {} -> { result: Err TooShort, rest }
|
||||
decodeI128 = Decode.custom \rest, @ErrDecoder {} -> { result: Err TooShort, rest }
|
||||
decodeF32 = Decode.custom \rest, @ErrDecoder {} -> { result: Err TooShort, rest }
|
||||
decodeF64 = Decode.custom \rest, @ErrDecoder {} -> { result: Err TooShort, rest }
|
||||
decodeDec = Decode.custom \rest, @ErrDecoder {} -> { result: Err TooShort, rest }
|
||||
decodeBool = Decode.custom \rest, @ErrDecoder {} -> { result: Err TooShort, rest }
|
||||
decodeString = Decode.custom \rest, @ErrDecoder {} -> { result: Err TooShort, rest }
|
||||
decodeList : Decoder elem ErrDecoder -> Decoder (List elem) ErrDecoder
|
||||
decodeList = \_ -> Decode.custom \rest, @ErrDecoder {} -> { result: Err TooShort, rest }
|
||||
decodeRecord : state, (state, Str -> [Keep (Decoder state ErrDecoder), Skip]), (state, ErrDecoder -> Result val DecodeError) -> Decoder val ErrDecoder
|
||||
decodeRecord = \_, _, _ -> Decode.custom \rest, @ErrDecoder {} -> { result: Err TooShort, rest }
|
||||
decodeTuple : state, (state, U64 -> [Next (Decoder state ErrDecoder), TooLong]), (state -> Result val DecodeError) -> Decoder val ErrDecoder
|
||||
decodeTuple = \_, _, _ -> Decode.custom \rest, @ErrDecoder {} -> { result: Err TooShort, rest }
|
||||
"#;
|
||||
|
||||
/// Without this, some tests pass in `cargo test --release` but fail without
|
||||
/// the --release flag because they run out of stack space. This increases
|
||||
/// stack size for debug builds only, while leaving the stack space at the default
|
||||
|
@ -1522,20 +1569,22 @@ fn list_sort_asc() {
|
|||
#[mono_test]
|
||||
#[ignore]
|
||||
fn encode_custom_type() {
|
||||
indoc!(
|
||||
&formatdoc!(
|
||||
r#"
|
||||
app "test"
|
||||
imports [Encode.{ toEncoder }, TotallyNotJson]
|
||||
imports [Encode.{{ toEncoder }}]
|
||||
provides [main] to "./platform"
|
||||
|
||||
HelloWorld := {}
|
||||
toEncoder = \@HelloWorld {} ->
|
||||
{TAG_LEN_ENCODER_FMT}
|
||||
|
||||
HelloWorld := {{}}
|
||||
toEncoder = \@HelloWorld {{}} ->
|
||||
Encode.custom \bytes, fmt ->
|
||||
bytes
|
||||
|> Encode.appendWith (Encode.string "Hello, World!\n") fmt
|
||||
|
||||
main =
|
||||
result = Str.fromUtf8 (Encode.toBytes (@HelloWorld {}) TotallyNotJson.json)
|
||||
result = Str.fromUtf8 (Encode.toBytes (@HelloWorld {{}}) tagLenFmt)
|
||||
when result is
|
||||
Ok s -> s
|
||||
_ -> "<bad>"
|
||||
|
@ -1545,14 +1594,16 @@ fn encode_custom_type() {
|
|||
|
||||
#[mono_test]
|
||||
fn encode_derived_string() {
|
||||
indoc!(
|
||||
&formatdoc!(
|
||||
r#"
|
||||
app "test"
|
||||
imports [Encode.{ toEncoder }, TotallyNotJson]
|
||||
imports [Encode.{{ toEncoder }}]
|
||||
provides [main] to "./platform"
|
||||
|
||||
{TAG_LEN_ENCODER_FMT}
|
||||
|
||||
main =
|
||||
result = Str.fromUtf8 (Encode.toBytes "abc" TotallyNotJson.json)
|
||||
result = Str.fromUtf8 (Encode.toBytes "abc" tagLenFmt)
|
||||
when result is
|
||||
Ok s -> s
|
||||
_ -> "<bad>"
|
||||
|
@ -1563,14 +1614,16 @@ fn encode_derived_string() {
|
|||
#[mono_test]
|
||||
#[ignore = "TODO"]
|
||||
fn encode_derived_record() {
|
||||
indoc!(
|
||||
&formatdoc!(
|
||||
r#"
|
||||
app "test"
|
||||
imports [Encode.{ toEncoder }, TotallyNotJson]
|
||||
imports [Encode.{{ toEncoder }}]
|
||||
provides [main] to "./platform"
|
||||
|
||||
{TAG_LEN_ENCODER_FMT}
|
||||
|
||||
main =
|
||||
result = Str.fromUtf8 (Encode.toBytes {a: "a"} TotallyNotJson.json)
|
||||
result = Str.fromUtf8 (Encode.toBytes {{a: "a"}} tagLenFmt)
|
||||
when result is
|
||||
Ok s -> s
|
||||
_ -> "<bad>"
|
||||
|
@ -1905,14 +1958,16 @@ fn instantiate_annotated_as_recursive_alias_multiple_polymorphic_expr() {
|
|||
|
||||
#[mono_test(large_stack = "true")]
|
||||
fn encode_derived_record_one_field_string() {
|
||||
indoc!(
|
||||
&formatdoc!(
|
||||
r#"
|
||||
app "test"
|
||||
imports [Encode.{ toEncoder }, TotallyNotJson]
|
||||
imports [Encode.{{ toEncoder }}]
|
||||
provides [main] to "./platform"
|
||||
|
||||
{TAG_LEN_ENCODER_FMT}
|
||||
|
||||
main =
|
||||
result = Str.fromUtf8 (Encode.toBytes {a: "foo"} TotallyNotJson.json)
|
||||
result = Str.fromUtf8 (Encode.toBytes {{a: "foo"}} tagLenFmt)
|
||||
when result is
|
||||
Ok s -> s
|
||||
_ -> "<bad>"
|
||||
|
@ -1922,14 +1977,16 @@ fn encode_derived_record_one_field_string() {
|
|||
|
||||
#[mono_test(large_stack = "true")]
|
||||
fn encode_derived_record_two_field_strings() {
|
||||
indoc!(
|
||||
&formatdoc!(
|
||||
r#"
|
||||
app "test"
|
||||
imports [Encode.{ toEncoder }, TotallyNotJson]
|
||||
imports [Encode.{{ toEncoder }}]
|
||||
provides [main] to "./platform"
|
||||
|
||||
{TAG_LEN_ENCODER_FMT}
|
||||
|
||||
main =
|
||||
result = Str.fromUtf8 (Encode.toBytes {a: "foo", b: "bar"} TotallyNotJson.json)
|
||||
result = Str.fromUtf8 (Encode.toBytes {{a: "foo", b: "bar"}} tagLenFmt)
|
||||
when result is
|
||||
Ok s -> s
|
||||
_ -> "<bad>"
|
||||
|
@ -1939,14 +1996,16 @@ fn encode_derived_record_two_field_strings() {
|
|||
|
||||
#[mono_test(large_stack = "true")]
|
||||
fn encode_derived_nested_record_string() {
|
||||
indoc!(
|
||||
&formatdoc!(
|
||||
r#"
|
||||
app "test"
|
||||
imports [Encode.{ toEncoder }, TotallyNotJson]
|
||||
imports [Encode.{{ toEncoder }}]
|
||||
provides [main] to "./platform"
|
||||
|
||||
{TAG_LEN_ENCODER_FMT}
|
||||
|
||||
main =
|
||||
result = Str.fromUtf8 (Encode.toBytes {a: {b: "bar"}} TotallyNotJson.json)
|
||||
result = Str.fromUtf8 (Encode.toBytes {{a: {{b: "bar"}}}} tagLenFmt)
|
||||
when result is
|
||||
Ok s -> s
|
||||
_ -> "<bad>"
|
||||
|
@ -1956,16 +2015,18 @@ fn encode_derived_nested_record_string() {
|
|||
|
||||
#[mono_test]
|
||||
fn encode_derived_tag_one_field_string() {
|
||||
indoc!(
|
||||
&formatdoc!(
|
||||
r#"
|
||||
app "test"
|
||||
imports [Encode.{ toEncoder }, TotallyNotJson]
|
||||
imports [Encode.{{ toEncoder }}]
|
||||
provides [main] to "./platform"
|
||||
|
||||
{TAG_LEN_ENCODER_FMT}
|
||||
|
||||
main =
|
||||
x : [A Str]
|
||||
x = A "foo"
|
||||
result = Str.fromUtf8 (Encode.toBytes x TotallyNotJson.json)
|
||||
result = Str.fromUtf8 (Encode.toBytes x tagLenFmt)
|
||||
when result is
|
||||
Ok s -> s
|
||||
_ -> "<bad>"
|
||||
|
@ -1997,16 +2058,18 @@ fn polymorphic_expression_unification() {
|
|||
|
||||
#[mono_test]
|
||||
fn encode_derived_tag_two_payloads_string() {
|
||||
indoc!(
|
||||
&formatdoc!(
|
||||
r#"
|
||||
app "test"
|
||||
imports [Encode.{ toEncoder }, TotallyNotJson]
|
||||
imports [Encode.{{ toEncoder }}]
|
||||
provides [main] to "./platform"
|
||||
|
||||
{TAG_LEN_ENCODER_FMT}
|
||||
|
||||
main =
|
||||
x : [A Str Str]
|
||||
x = A "foo" "foo"
|
||||
result = Str.fromUtf8 (Encode.toBytes x TotallyNotJson.json)
|
||||
result = Str.fromUtf8 (Encode.toBytes x tagLenFmt)
|
||||
when result is
|
||||
Ok s -> s
|
||||
_ -> "<bad>"
|
||||
|
@ -2271,14 +2334,18 @@ fn issue_4705() {
|
|||
|
||||
#[mono_test(mode = "test", large_stack = "true")]
|
||||
fn issue_4749() {
|
||||
indoc!(
|
||||
&formatdoc!(
|
||||
r#"
|
||||
interface Test exposes [] imports [TotallyNotJson]
|
||||
interface Test exposes [] imports []
|
||||
|
||||
expect
|
||||
input = [82, 111, 99]
|
||||
got = Decode.fromBytes input TotallyNotJson.json
|
||||
got == Ok "Roc"
|
||||
got : [Y [Y1, Y2], Z [Z1, Z2]]_
|
||||
got = Z Z1
|
||||
|
||||
t : [A [A1, A2]]_
|
||||
t = A A1
|
||||
|
||||
got != t
|
||||
"#
|
||||
)
|
||||
}
|
||||
|
@ -2485,18 +2552,20 @@ fn function_specialization_information_in_lambda_set_thunk_independent_defs() {
|
|||
|
||||
#[mono_test(mode = "test", large_stack = "true")]
|
||||
fn issue_4772_weakened_monomorphic_destructure() {
|
||||
indoc!(
|
||||
&formatdoc!(
|
||||
r#"
|
||||
interface Test exposes [] imports [TotallyNotJson]
|
||||
interface Test exposes [] imports []
|
||||
|
||||
{ERR_DECODER_FMT}
|
||||
|
||||
getNumber =
|
||||
{ result, rest } = Decode.fromBytesPartial (Str.toUtf8 "-1234") TotallyNotJson.json
|
||||
{{ result, rest }} = Decode.fromBytesPartial (Str.toUtf8 "-1234") (@ErrDecoder {{}})
|
||||
|
||||
when result is
|
||||
Ok val ->
|
||||
when Str.toI64 val is
|
||||
Ok number ->
|
||||
Ok {val : number, input : rest}
|
||||
Ok {{val : number, input : rest}}
|
||||
Err InvalidNumStr ->
|
||||
Err (ParsingFailure "not a number")
|
||||
|
||||
|
@ -2505,7 +2574,7 @@ fn issue_4772_weakened_monomorphic_destructure() {
|
|||
|
||||
expect
|
||||
result = getNumber
|
||||
result == Ok {val : -1234i64, input : []}
|
||||
result == Ok {{val : -1234i64, input : []}}
|
||||
"#
|
||||
)
|
||||
}
|
||||
|
@ -2682,11 +2751,13 @@ fn unspecialized_lambda_set_unification_keeps_all_concrete_types_without_unifica
|
|||
// be, because they in fact represent to different specializations of needed encoders. In
|
||||
// particular, the lambda set `[[] + [A]:toEncoder:1 + [B]:toEncoder:1]` must be preserved,
|
||||
// rather than collapsing to `[[] + [A, B]:toEncoder:1]`.
|
||||
indoc!(
|
||||
&formatdoc!(
|
||||
r#"
|
||||
app "test" imports [TotallyNotJson] provides [main] to "./platform"
|
||||
app "test" imports [] provides [main] to "./platform"
|
||||
|
||||
Q a b := { a: a, b: b } implements [Encoding {toEncoder: toEncoderQ}]
|
||||
{TAG_LEN_ENCODER_FMT}
|
||||
|
||||
Q a b := {{ a: a, b: b }} implements [Encoding {{toEncoder: toEncoderQ}}]
|
||||
|
||||
toEncoderQ =
|
||||
\@Q t -> Encode.custom \bytes, fmt ->
|
||||
|
@ -2696,10 +2767,10 @@ fn unspecialized_lambda_set_unification_keeps_all_concrete_types_without_unifica
|
|||
|
||||
Encode.appendWith bytes f fmt
|
||||
|
||||
accessor = @Q {a : A, b: B}
|
||||
accessor = @Q {{a : A, b: B}}
|
||||
|
||||
main =
|
||||
Encode.toBytes accessor TotallyNotJson.json
|
||||
Encode.toBytes accessor tagLenFmt
|
||||
"#
|
||||
)
|
||||
}
|
||||
|
@ -2720,11 +2791,13 @@ fn unspecialized_lambda_set_unification_does_not_duplicate_identical_concrete_ty
|
|||
// such, the lambda set `[[] + Str:toEncoder:1]` should be produced during compaction, rather
|
||||
// than staying as the expanded `[[] + Str:toEncoder:1 + Str:toEncoder:1]` after the types of
|
||||
// `t.a` and `t.b` are filled in.
|
||||
indoc!(
|
||||
&formatdoc!(
|
||||
r#"
|
||||
app "test" imports [TotallyNotJson] provides [main] to "./platform"
|
||||
app "test" imports [] provides [main] to "./platform"
|
||||
|
||||
Q a b := { a: a, b: b } implements [Encoding {toEncoder: toEncoderQ}]
|
||||
{TAG_LEN_ENCODER_FMT}
|
||||
|
||||
Q a b := {{ a: a, b: b }} implements [Encoding {{toEncoder: toEncoderQ}}]
|
||||
|
||||
toEncoderQ =
|
||||
\@Q t -> Encode.custom \bytes, fmt ->
|
||||
|
@ -2736,10 +2809,10 @@ fn unspecialized_lambda_set_unification_does_not_duplicate_identical_concrete_ty
|
|||
|
||||
accessor =
|
||||
x = ""
|
||||
@Q {a : x, b: x}
|
||||
@Q {{a : x, b: x}}
|
||||
|
||||
main =
|
||||
Encode.toBytes accessor TotallyNotJson.json
|
||||
Encode.toBytes accessor tagLenFmt
|
||||
"#
|
||||
)
|
||||
}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
main =
|
||||
a! "Bar"
|
||||
x = B.b! "Foo"
|
||||
|
||||
c! x
|
||||
|
|
|
@ -18,28 +18,24 @@ Defs {
|
|||
@0-4 Identifier {
|
||||
ident: "main",
|
||||
},
|
||||
@0-49 SpaceBefore(
|
||||
@12-49 SpaceBefore(
|
||||
Defs(
|
||||
Defs {
|
||||
tags: [
|
||||
Index(2147483648),
|
||||
Index(2147483649),
|
||||
Index(2147483650),
|
||||
],
|
||||
regions: [
|
||||
@14-21,
|
||||
@26-39,
|
||||
@45-49,
|
||||
],
|
||||
space_before: [
|
||||
Slice(start = 0, length = 0),
|
||||
Slice(start = 0, length = 1),
|
||||
Slice(start = 1, length = 0),
|
||||
],
|
||||
space_after: [
|
||||
Slice(start = 0, length = 0),
|
||||
Slice(start = 1, length = 0),
|
||||
Slice(start = 1, length = 0),
|
||||
],
|
||||
spaces: [
|
||||
Newline,
|
||||
|
@ -85,32 +81,29 @@ Defs {
|
|||
Space,
|
||||
),
|
||||
),
|
||||
Stmt(
|
||||
@45-49 SpaceBefore(
|
||||
Apply(
|
||||
@45-46 TaskAwaitBang(
|
||||
Var {
|
||||
module_name: "",
|
||||
ident: "c",
|
||||
},
|
||||
),
|
||||
[
|
||||
@48-49 Var {
|
||||
module_name: "",
|
||||
ident: "x",
|
||||
},
|
||||
],
|
||||
Space,
|
||||
),
|
||||
[
|
||||
Newline,
|
||||
Newline,
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
},
|
||||
EmptyDefsFinal,
|
||||
@45-49 SpaceBefore(
|
||||
Apply(
|
||||
@45-46 TaskAwaitBang(
|
||||
Var {
|
||||
module_name: "",
|
||||
ident: "c",
|
||||
},
|
||||
),
|
||||
[
|
||||
@48-49 Var {
|
||||
module_name: "",
|
||||
ident: "x",
|
||||
},
|
||||
],
|
||||
Space,
|
||||
),
|
||||
[
|
||||
Newline,
|
||||
Newline,
|
||||
],
|
||||
),
|
||||
),
|
||||
[
|
||||
Newline,
|
||||
|
|
|
@ -64,7 +64,7 @@ Full {
|
|||
@88-92 Identifier {
|
||||
ident: "main",
|
||||
},
|
||||
@88-202 SpaceBefore(
|
||||
@100-202 SpaceBefore(
|
||||
BinOps(
|
||||
[
|
||||
(
|
||||
|
|
|
@ -1,18 +0,0 @@
|
|||
app "test"
|
||||
imports [TotallyNotJson]
|
||||
provides [main] to "./platform"
|
||||
|
||||
HelloWorld := {} implements [Encoding {toEncoder}]
|
||||
|
||||
toEncoder = \@HelloWorld {} ->
|
||||
Encode.custom \bytes, fmt ->
|
||||
bytes
|
||||
|> Encode.appendWith (Encode.string "Hello, World!\n") fmt
|
||||
|
||||
f =
|
||||
when Str.fromUtf8 (Encode.toBytes (@HelloWorld {}) TotallyNotJson.json) is
|
||||
Ok s -> s
|
||||
_ -> "<bad>"
|
||||
|
||||
main = f
|
||||
# ^ Str
|
|
@ -0,0 +1,66 @@
|
|||
app "test"
|
||||
imports []
|
||||
provides [main] to "./platform"
|
||||
|
||||
OnlyStrEncoder := {} implements [Encode.EncoderFormatting {
|
||||
u8: encodeU8,
|
||||
u16: encodeU16,
|
||||
u32: encodeU32,
|
||||
u64: encodeU64,
|
||||
u128: encodeU128,
|
||||
i8: encodeI8,
|
||||
i16: encodeI16,
|
||||
i32: encodeI32,
|
||||
i64: encodeI64,
|
||||
i128: encodeI128,
|
||||
f32: encodeF32,
|
||||
f64: encodeF64,
|
||||
dec: encodeDec,
|
||||
bool: encodeBool,
|
||||
string: encodeString,
|
||||
list: encodeList,
|
||||
record: encodeRecord,
|
||||
tuple: encodeTuple,
|
||||
tag: encodeTag,
|
||||
}]
|
||||
|
||||
encodeNothing = Encode.custom \bytes, @OnlyStrEncoder {} -> bytes
|
||||
encodeU8 = \_n -> encodeNothing
|
||||
encodeU16 = \_n -> encodeNothing
|
||||
encodeU32 = \_n -> encodeNothing
|
||||
encodeU64 = \_n -> encodeNothing
|
||||
encodeU128 = \_n -> encodeNothing
|
||||
encodeI8 = \_n -> encodeNothing
|
||||
encodeI16 = \_n -> encodeNothing
|
||||
encodeI32 = \_n -> encodeNothing
|
||||
encodeI64 = \_n -> encodeNothing
|
||||
encodeI128 = \_n -> encodeNothing
|
||||
encodeF32 = \_n -> encodeNothing
|
||||
encodeF64 = \_n -> encodeNothing
|
||||
encodeDec = \_n -> encodeNothing
|
||||
encodeBool = \_b -> encodeNothing
|
||||
encodeString = \str -> Encode.custom \bytes, @OnlyStrEncoder {} -> List.concat bytes (Str.toUtf8 str)
|
||||
encodeList : List elem, (elem -> Encoder OnlyStrEncoder) -> Encoder OnlyStrEncoder
|
||||
encodeList = \_lst, _encodeElem -> encodeNothing
|
||||
encodeRecord : List {key: Str, value: Encoder OnlyStrEncoder} -> Encoder OnlyStrEncoder
|
||||
encodeRecord = \_fields -> encodeNothing
|
||||
encodeTuple : List (Encoder OnlyStrEncoder) -> Encoder OnlyStrEncoder
|
||||
encodeTuple = \_elems -> encodeNothing
|
||||
encodeTag : Str, List (Encoder OnlyStrEncoder) -> Encoder OnlyStrEncoder
|
||||
encodeTag = \_name, _payload -> encodeNothing
|
||||
|
||||
|
||||
HelloWorld := {} implements [Encoding {toEncoder}]
|
||||
|
||||
toEncoder = \@HelloWorld {} ->
|
||||
Encode.custom \bytes, fmt ->
|
||||
bytes
|
||||
|> Encode.appendWith (Encode.string "Hello, World!\n") fmt
|
||||
|
||||
f =
|
||||
when Str.fromUtf8 (Encode.toBytes (@HelloWorld {}) (@OnlyStrEncoder {})) is
|
||||
Ok s -> s
|
||||
_ -> "<bad>"
|
||||
|
||||
main = f
|
||||
# ^ Str
|
Loading…
Add table
Add a link
Reference in a new issue