-module(gleamgen@function). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]). -export([new0/2, new1/3, new2/4, new3/5, new4/6, new5/7, new6/8, new7/9, new8/10, new9/11, to_unchecked/1, get_function_name/1]). -export_type([function_/2]). -type function_(LKR, LKS) :: {function, list({binary(), gleamgen@types:generated_type(gleamgen@types:unchecked())}), gleamgen@types:generated_type(LKS), gleamgen@expression:expression(LKS)} | {gleam_phantom, LKR}. -file("/home/weasel/gleam/testing_gleamgen/gleamgen/src/gleamgen/function.gleam", 12). -spec new0( gleamgen@types:generated_type(LKT), fun(() -> gleamgen@expression:expression(LKT)) ) -> function_(fun((any()) -> LKT), LKT). new0(Returns, Handler) -> Body = Handler(), {function, [], Returns, Body}. -file("/home/weasel/gleam/testing_gleamgen/gleamgen/src/gleamgen/function.gleam", 20). -spec new1( {binary(), gleamgen@types:generated_type(LKZ)}, gleamgen@types:generated_type(LLB), fun((gleamgen@expression:expression(LKZ)) -> gleamgen@expression:expression(LLB)) ) -> function_(fun((LKZ) -> LLB), LLB). new1(Arg1, Returns, Handler) -> Body = Handler(gleamgen@expression:unchecked_ident(erlang:element(1, Arg1))), {function, [{erlang:element(1, Arg1), begin _pipe = erlang:element(2, Arg1), gleamgen_ffi:identity(_pipe) end}], Returns, Body}. -file("/home/weasel/gleam/testing_gleamgen/gleamgen/src/gleamgen/function.gleam", 32). -spec new2( {binary(), gleamgen@types:generated_type(LLH)}, {binary(), gleamgen@types:generated_type(LLJ)}, gleamgen@types:generated_type(LLL), fun((gleamgen@expression:expression(LLH), gleamgen@expression:expression(LLJ)) -> gleamgen@expression:expression(LLL)) ) -> function_(fun((LLH, LLJ) -> LLL), LLL). new2(Arg1, Arg2, Returns, Handler) -> Body = Handler( gleamgen@expression:unchecked_ident(erlang:element(1, Arg1)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg2)) ), {function, [{erlang:element(1, Arg1), begin _pipe = erlang:element(2, Arg1), gleamgen_ffi:identity(_pipe) end}, {erlang:element(1, Arg2), begin _pipe@1 = erlang:element(2, Arg2), gleamgen_ffi:identity(_pipe@1) end}], Returns, Body}. -file("/home/weasel/gleam/testing_gleamgen/gleamgen/src/gleamgen/function.gleam", 54). -spec new3( {binary(), gleamgen@types:generated_type(LLS)}, {binary(), gleamgen@types:generated_type(LLU)}, {binary(), gleamgen@types:generated_type(LLW)}, gleamgen@types:generated_type(LLY), fun((gleamgen@expression:expression(LLS), gleamgen@expression:expression(LLU), gleamgen@expression:expression(LLW)) -> gleamgen@expression:expression(LLY)) ) -> function_(fun((LLS, LLU, LLW) -> LLY), LLY). new3(Arg1, Arg2, Arg3, Returns, Handler) -> Body = Handler( gleamgen@expression:unchecked_ident(erlang:element(1, Arg1)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg2)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg3)) ), {function, [{erlang:element(1, Arg1), begin _pipe = erlang:element(2, Arg1), gleamgen_ffi:identity(_pipe) end}, {erlang:element(1, Arg2), begin _pipe@1 = erlang:element(2, Arg2), gleamgen_ffi:identity(_pipe@1) end}, {erlang:element(1, Arg3), begin _pipe@2 = erlang:element(2, Arg3), gleamgen_ffi:identity(_pipe@2) end}], Returns, Body}. -file("/home/weasel/gleam/testing_gleamgen/gleamgen/src/gleamgen/function.gleam", 83). -spec new4( {binary(), gleamgen@types:generated_type(LMG)}, {binary(), gleamgen@types:generated_type(LMI)}, {binary(), gleamgen@types:generated_type(LMK)}, {binary(), gleamgen@types:generated_type(LMM)}, gleamgen@types:generated_type(LMO), fun((gleamgen@expression:expression(LMG), gleamgen@expression:expression(LMI), gleamgen@expression:expression(LMK), gleamgen@expression:expression(LMM)) -> gleamgen@expression:expression(LMO)) ) -> function_(fun((LMG, LMI, LMK, LMM) -> LMO), LMO). new4(Arg1, Arg2, Arg3, Arg4, Returns, Handler) -> Body = Handler( gleamgen@expression:unchecked_ident(erlang:element(1, Arg1)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg2)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg3)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg4)) ), {function, [{erlang:element(1, Arg1), begin _pipe = erlang:element(2, Arg1), gleamgen_ffi:identity(_pipe) end}, {erlang:element(1, Arg2), begin _pipe@1 = erlang:element(2, Arg2), gleamgen_ffi:identity(_pipe@1) end}, {erlang:element(1, Arg3), begin _pipe@2 = erlang:element(2, Arg3), gleamgen_ffi:identity(_pipe@2) end}, {erlang:element(1, Arg4), begin _pipe@3 = erlang:element(2, Arg4), gleamgen_ffi:identity(_pipe@3) end}], Returns, Body}. -file("/home/weasel/gleam/testing_gleamgen/gleamgen/src/gleamgen/function.gleam", 116). -spec new5( {binary(), gleamgen@types:generated_type(LMX)}, {binary(), gleamgen@types:generated_type(LMZ)}, {binary(), gleamgen@types:generated_type(LNB)}, {binary(), gleamgen@types:generated_type(LND)}, {binary(), gleamgen@types:generated_type(LNF)}, gleamgen@types:generated_type(LNH), fun((gleamgen@expression:expression(LMX), gleamgen@expression:expression(LMZ), gleamgen@expression:expression(LNB), gleamgen@expression:expression(LND), gleamgen@expression:expression(LNF)) -> gleamgen@expression:expression(LNH)) ) -> function_(fun((LMX, LMZ, LNB, LND, LNF) -> LNH), LNH). new5(Arg1, Arg2, Arg3, Arg4, Arg5, Returns, Handler) -> Body = Handler( gleamgen@expression:unchecked_ident(erlang:element(1, Arg1)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg2)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg3)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg4)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg5)) ), {function, [{erlang:element(1, Arg1), begin _pipe = erlang:element(2, Arg1), gleamgen_ffi:identity(_pipe) end}, {erlang:element(1, Arg2), begin _pipe@1 = erlang:element(2, Arg2), gleamgen_ffi:identity(_pipe@1) end}, {erlang:element(1, Arg3), begin _pipe@2 = erlang:element(2, Arg3), gleamgen_ffi:identity(_pipe@2) end}, {erlang:element(1, Arg4), begin _pipe@3 = erlang:element(2, Arg4), gleamgen_ffi:identity(_pipe@3) end}, {erlang:element(1, Arg5), begin _pipe@4 = erlang:element(2, Arg5), gleamgen_ffi:identity(_pipe@4) end}], Returns, Body}. -file("/home/weasel/gleam/testing_gleamgen/gleamgen/src/gleamgen/function.gleam", 153). -spec new6( {binary(), gleamgen@types:generated_type(LNR)}, {binary(), gleamgen@types:generated_type(LNT)}, {binary(), gleamgen@types:generated_type(LNV)}, {binary(), gleamgen@types:generated_type(LNX)}, {binary(), gleamgen@types:generated_type(LNZ)}, {binary(), gleamgen@types:generated_type(LOB)}, gleamgen@types:generated_type(LOD), fun((gleamgen@expression:expression(LNR), gleamgen@expression:expression(LNT), gleamgen@expression:expression(LNV), gleamgen@expression:expression(LNX), gleamgen@expression:expression(LNZ), gleamgen@expression:expression(LOB)) -> gleamgen@expression:expression(LOD)) ) -> function_(fun((LNR, LNT, LNV, LNX, LNZ, LOB) -> LOD), LOD). new6(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Returns, Handler) -> Body = Handler( gleamgen@expression:unchecked_ident(erlang:element(1, Arg1)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg2)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg3)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg4)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg5)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg6)) ), {function, [{erlang:element(1, Arg1), begin _pipe = erlang:element(2, Arg1), gleamgen_ffi:identity(_pipe) end}, {erlang:element(1, Arg2), begin _pipe@1 = erlang:element(2, Arg2), gleamgen_ffi:identity(_pipe@1) end}, {erlang:element(1, Arg3), begin _pipe@2 = erlang:element(2, Arg3), gleamgen_ffi:identity(_pipe@2) end}, {erlang:element(1, Arg4), begin _pipe@3 = erlang:element(2, Arg4), gleamgen_ffi:identity(_pipe@3) end}, {erlang:element(1, Arg5), begin _pipe@4 = erlang:element(2, Arg5), gleamgen_ffi:identity(_pipe@4) end}, {erlang:element(1, Arg6), begin _pipe@5 = erlang:element(2, Arg6), gleamgen_ffi:identity(_pipe@5) end}], Returns, Body}. -file("/home/weasel/gleam/testing_gleamgen/gleamgen/src/gleamgen/function.gleam", 194). -spec new7( {binary(), gleamgen@types:generated_type(LOO)}, {binary(), gleamgen@types:generated_type(LOQ)}, {binary(), gleamgen@types:generated_type(LOS)}, {binary(), gleamgen@types:generated_type(LOU)}, {binary(), gleamgen@types:generated_type(LOW)}, {binary(), gleamgen@types:generated_type(LOY)}, {binary(), gleamgen@types:generated_type(LPA)}, gleamgen@types:generated_type(LPC), fun((gleamgen@expression:expression(LOO), gleamgen@expression:expression(LOQ), gleamgen@expression:expression(LOS), gleamgen@expression:expression(LOU), gleamgen@expression:expression(LOW), gleamgen@expression:expression(LOY), gleamgen@expression:expression(LPA)) -> gleamgen@expression:expression(LPC)) ) -> function_(fun((LOO, LOQ, LOS, LOU, LOW, LOY, LPA) -> LPC), LPC). new7(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Returns, Handler) -> Body = Handler( gleamgen@expression:unchecked_ident(erlang:element(1, Arg1)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg2)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg3)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg4)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg5)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg6)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg7)) ), {function, [{erlang:element(1, Arg1), begin _pipe = erlang:element(2, Arg1), gleamgen_ffi:identity(_pipe) end}, {erlang:element(1, Arg2), begin _pipe@1 = erlang:element(2, Arg2), gleamgen_ffi:identity(_pipe@1) end}, {erlang:element(1, Arg3), begin _pipe@2 = erlang:element(2, Arg3), gleamgen_ffi:identity(_pipe@2) end}, {erlang:element(1, Arg4), begin _pipe@3 = erlang:element(2, Arg4), gleamgen_ffi:identity(_pipe@3) end}, {erlang:element(1, Arg5), begin _pipe@4 = erlang:element(2, Arg5), gleamgen_ffi:identity(_pipe@4) end}, {erlang:element(1, Arg6), begin _pipe@5 = erlang:element(2, Arg6), gleamgen_ffi:identity(_pipe@5) end}, {erlang:element(1, Arg7), begin _pipe@6 = erlang:element(2, Arg7), gleamgen_ffi:identity(_pipe@6) end}], Returns, Body}. -file("/home/weasel/gleam/testing_gleamgen/gleamgen/src/gleamgen/function.gleam", 239). -spec new8( {binary(), gleamgen@types:generated_type(LPO)}, {binary(), gleamgen@types:generated_type(LPQ)}, {binary(), gleamgen@types:generated_type(LPS)}, {binary(), gleamgen@types:generated_type(LPU)}, {binary(), gleamgen@types:generated_type(LPW)}, {binary(), gleamgen@types:generated_type(LPY)}, {binary(), gleamgen@types:generated_type(LQA)}, {binary(), gleamgen@types:generated_type(LQC)}, gleamgen@types:generated_type(LQE), fun((gleamgen@expression:expression(LPO), gleamgen@expression:expression(LPQ), gleamgen@expression:expression(LPS), gleamgen@expression:expression(LPU), gleamgen@expression:expression(LPW), gleamgen@expression:expression(LPY), gleamgen@expression:expression(LQA), gleamgen@expression:expression(LQC)) -> gleamgen@expression:expression(LQE)) ) -> function_(fun((LPO, LPQ, LPS, LPU, LPW, LPY, LQA, LQC) -> LQE), LQE). new8(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Returns, Handler) -> Body = Handler( gleamgen@expression:unchecked_ident(erlang:element(1, Arg1)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg2)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg3)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg4)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg5)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg6)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg7)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg8)) ), {function, [{erlang:element(1, Arg1), begin _pipe = erlang:element(2, Arg1), gleamgen_ffi:identity(_pipe) end}, {erlang:element(1, Arg2), begin _pipe@1 = erlang:element(2, Arg2), gleamgen_ffi:identity(_pipe@1) end}, {erlang:element(1, Arg3), begin _pipe@2 = erlang:element(2, Arg3), gleamgen_ffi:identity(_pipe@2) end}, {erlang:element(1, Arg4), begin _pipe@3 = erlang:element(2, Arg4), gleamgen_ffi:identity(_pipe@3) end}, {erlang:element(1, Arg5), begin _pipe@4 = erlang:element(2, Arg5), gleamgen_ffi:identity(_pipe@4) end}, {erlang:element(1, Arg6), begin _pipe@5 = erlang:element(2, Arg6), gleamgen_ffi:identity(_pipe@5) end}, {erlang:element(1, Arg7), begin _pipe@6 = erlang:element(2, Arg7), gleamgen_ffi:identity(_pipe@6) end}, {erlang:element(1, Arg8), begin _pipe@7 = erlang:element(2, Arg8), gleamgen_ffi:identity(_pipe@7) end}], Returns, Body}. -file("/home/weasel/gleam/testing_gleamgen/gleamgen/src/gleamgen/function.gleam", 288). -spec new9( {binary(), gleamgen@types:generated_type(LQR)}, {binary(), gleamgen@types:generated_type(LQT)}, {binary(), gleamgen@types:generated_type(LQV)}, {binary(), gleamgen@types:generated_type(LQX)}, {binary(), gleamgen@types:generated_type(LQZ)}, {binary(), gleamgen@types:generated_type(LRB)}, {binary(), gleamgen@types:generated_type(LRD)}, {binary(), gleamgen@types:generated_type(LRF)}, {binary(), gleamgen@types:generated_type(LRH)}, gleamgen@types:generated_type(LRJ), fun((gleamgen@expression:expression(LQR), gleamgen@expression:expression(LQT), gleamgen@expression:expression(LQV), gleamgen@expression:expression(LQX), gleamgen@expression:expression(LQZ), gleamgen@expression:expression(LRB), gleamgen@expression:expression(LRD), gleamgen@expression:expression(LRF), gleamgen@expression:expression(LRH)) -> gleamgen@expression:expression(LRJ)) ) -> function_(fun((LQR, LQT, LQV, LQX, LQZ, LRB, LRD, LRF, LRH) -> LRJ), LRJ). new9(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9, Returns, Handler) -> Body = Handler( gleamgen@expression:unchecked_ident(erlang:element(1, Arg1)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg2)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg3)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg4)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg5)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg6)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg7)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg8)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg9)) ), {function, [{erlang:element(1, Arg1), begin _pipe = erlang:element(2, Arg1), gleamgen_ffi:identity(_pipe) end}, {erlang:element(1, Arg2), begin _pipe@1 = erlang:element(2, Arg2), gleamgen_ffi:identity(_pipe@1) end}, {erlang:element(1, Arg3), begin _pipe@2 = erlang:element(2, Arg3), gleamgen_ffi:identity(_pipe@2) end}, {erlang:element(1, Arg4), begin _pipe@3 = erlang:element(2, Arg4), gleamgen_ffi:identity(_pipe@3) end}, {erlang:element(1, Arg5), begin _pipe@4 = erlang:element(2, Arg5), gleamgen_ffi:identity(_pipe@4) end}, {erlang:element(1, Arg6), begin _pipe@5 = erlang:element(2, Arg6), gleamgen_ffi:identity(_pipe@5) end}, {erlang:element(1, Arg7), begin _pipe@6 = erlang:element(2, Arg7), gleamgen_ffi:identity(_pipe@6) end}, {erlang:element(1, Arg8), begin _pipe@7 = erlang:element(2, Arg8), gleamgen_ffi:identity(_pipe@7) end}, {erlang:element(1, Arg9), begin _pipe@8 = erlang:element(2, Arg9), gleamgen_ffi:identity(_pipe@8) end}], Returns, Body}. -file("/home/weasel/gleam/testing_gleamgen/gleamgen/src/gleamgen/function.gleam", 348). -spec to_unchecked(function_(any(), any())) -> function_(gleamgen@types:unchecked(), gleamgen@types:unchecked()). to_unchecked(Type_) -> gleamgen_ffi:identity(Type_). -file("/home/weasel/gleam/testing_gleamgen/gleamgen/src/gleamgen/function.gleam", 355). -spec get_function_name(any()) -> binary(). get_function_name(Type_) -> gleamgen_ffi:get_function_name(Type_).