-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_(MQH, MQI) :: {function, list({binary(), gleamgen@types:generated_type(gleamgen@types:unchecked())}), gleamgen@types:generated_type(MQI), gleamgen@expression:expression(MQI)} | {gleam_phantom, MQH}. -file("/home/weasel/gleam/testing_gleamgen/gleamgen/src/gleamgen/function.gleam", 12). -spec new0( gleamgen@types:generated_type(MQJ), fun(() -> gleamgen@expression:expression(MQJ)) ) -> function_(fun((any()) -> MQJ), MQJ). 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(MQP)}, gleamgen@types:generated_type(MQR), fun((gleamgen@expression:expression(MQP)) -> gleamgen@expression:expression(MQR)) ) -> function_(fun((MQP) -> MQR), MQR). 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(MQX)}, {binary(), gleamgen@types:generated_type(MQZ)}, gleamgen@types:generated_type(MRB), fun((gleamgen@expression:expression(MQX), gleamgen@expression:expression(MQZ)) -> gleamgen@expression:expression(MRB)) ) -> function_(fun((MQX, MQZ) -> MRB), MRB). 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(MRI)}, {binary(), gleamgen@types:generated_type(MRK)}, {binary(), gleamgen@types:generated_type(MRM)}, gleamgen@types:generated_type(MRO), fun((gleamgen@expression:expression(MRI), gleamgen@expression:expression(MRK), gleamgen@expression:expression(MRM)) -> gleamgen@expression:expression(MRO)) ) -> function_(fun((MRI, MRK, MRM) -> MRO), MRO). 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(MRW)}, {binary(), gleamgen@types:generated_type(MRY)}, {binary(), gleamgen@types:generated_type(MSA)}, {binary(), gleamgen@types:generated_type(MSC)}, gleamgen@types:generated_type(MSE), fun((gleamgen@expression:expression(MRW), gleamgen@expression:expression(MRY), gleamgen@expression:expression(MSA), gleamgen@expression:expression(MSC)) -> gleamgen@expression:expression(MSE)) ) -> function_(fun((MRW, MRY, MSA, MSC) -> MSE), MSE). 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(MSN)}, {binary(), gleamgen@types:generated_type(MSP)}, {binary(), gleamgen@types:generated_type(MSR)}, {binary(), gleamgen@types:generated_type(MST)}, {binary(), gleamgen@types:generated_type(MSV)}, gleamgen@types:generated_type(MSX), fun((gleamgen@expression:expression(MSN), gleamgen@expression:expression(MSP), gleamgen@expression:expression(MSR), gleamgen@expression:expression(MST), gleamgen@expression:expression(MSV)) -> gleamgen@expression:expression(MSX)) ) -> function_(fun((MSN, MSP, MSR, MST, MSV) -> MSX), MSX). 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(MTH)}, {binary(), gleamgen@types:generated_type(MTJ)}, {binary(), gleamgen@types:generated_type(MTL)}, {binary(), gleamgen@types:generated_type(MTN)}, {binary(), gleamgen@types:generated_type(MTP)}, {binary(), gleamgen@types:generated_type(MTR)}, gleamgen@types:generated_type(MTT), fun((gleamgen@expression:expression(MTH), gleamgen@expression:expression(MTJ), gleamgen@expression:expression(MTL), gleamgen@expression:expression(MTN), gleamgen@expression:expression(MTP), gleamgen@expression:expression(MTR)) -> gleamgen@expression:expression(MTT)) ) -> function_(fun((MTH, MTJ, MTL, MTN, MTP, MTR) -> MTT), MTT). 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(MUE)}, {binary(), gleamgen@types:generated_type(MUG)}, {binary(), gleamgen@types:generated_type(MUI)}, {binary(), gleamgen@types:generated_type(MUK)}, {binary(), gleamgen@types:generated_type(MUM)}, {binary(), gleamgen@types:generated_type(MUO)}, {binary(), gleamgen@types:generated_type(MUQ)}, gleamgen@types:generated_type(MUS), fun((gleamgen@expression:expression(MUE), gleamgen@expression:expression(MUG), gleamgen@expression:expression(MUI), gleamgen@expression:expression(MUK), gleamgen@expression:expression(MUM), gleamgen@expression:expression(MUO), gleamgen@expression:expression(MUQ)) -> gleamgen@expression:expression(MUS)) ) -> function_(fun((MUE, MUG, MUI, MUK, MUM, MUO, MUQ) -> MUS), MUS). 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(MVE)}, {binary(), gleamgen@types:generated_type(MVG)}, {binary(), gleamgen@types:generated_type(MVI)}, {binary(), gleamgen@types:generated_type(MVK)}, {binary(), gleamgen@types:generated_type(MVM)}, {binary(), gleamgen@types:generated_type(MVO)}, {binary(), gleamgen@types:generated_type(MVQ)}, {binary(), gleamgen@types:generated_type(MVS)}, gleamgen@types:generated_type(MVU), fun((gleamgen@expression:expression(MVE), gleamgen@expression:expression(MVG), gleamgen@expression:expression(MVI), gleamgen@expression:expression(MVK), gleamgen@expression:expression(MVM), gleamgen@expression:expression(MVO), gleamgen@expression:expression(MVQ), gleamgen@expression:expression(MVS)) -> gleamgen@expression:expression(MVU)) ) -> function_(fun((MVE, MVG, MVI, MVK, MVM, MVO, MVQ, MVS) -> MVU), MVU). 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(MWH)}, {binary(), gleamgen@types:generated_type(MWJ)}, {binary(), gleamgen@types:generated_type(MWL)}, {binary(), gleamgen@types:generated_type(MWN)}, {binary(), gleamgen@types:generated_type(MWP)}, {binary(), gleamgen@types:generated_type(MWR)}, {binary(), gleamgen@types:generated_type(MWT)}, {binary(), gleamgen@types:generated_type(MWV)}, {binary(), gleamgen@types:generated_type(MWX)}, gleamgen@types:generated_type(MWZ), fun((gleamgen@expression:expression(MWH), gleamgen@expression:expression(MWJ), gleamgen@expression:expression(MWL), gleamgen@expression:expression(MWN), gleamgen@expression:expression(MWP), gleamgen@expression:expression(MWR), gleamgen@expression:expression(MWT), gleamgen@expression:expression(MWV), gleamgen@expression:expression(MWX)) -> gleamgen@expression:expression(MWZ)) ) -> function_(fun((MWH, MWJ, MWL, MWN, MWP, MWR, MWT, MWV, MWX) -> MWZ), MWZ). 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_).