Current section

Files

Jump to
gleamgen src gleamgen@function.erl
Raw

src/gleamgen@function.erl

-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_(JXE, JXF) :: {function,
list({binary(),
gleamgen@types:generated_type(gleamgen@types:unchecked())}),
gleamgen@types:generated_type(JXF),
gleamgen@expression:expression(JXF)} |
{gleam_phantom, JXE}.
-file("/home/weasel/gleam/testing_gleamgen/gleamgen/src/gleamgen/function.gleam", 12).
-spec new0(
gleamgen@types:generated_type(JXG),
fun(() -> gleamgen@expression:expression(JXG))
) -> function_(fun((any()) -> JXG), JXG).
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(JXM)},
gleamgen@types:generated_type(JXO),
fun((gleamgen@expression:expression(JXM)) -> gleamgen@expression:expression(JXO))
) -> function_(fun((JXM) -> JXO), JXO).
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(JXU)},
{binary(), gleamgen@types:generated_type(JXW)},
gleamgen@types:generated_type(JXY),
fun((gleamgen@expression:expression(JXU), gleamgen@expression:expression(JXW)) -> gleamgen@expression:expression(JXY))
) -> function_(fun((JXU, JXW) -> JXY), JXY).
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(JYF)},
{binary(), gleamgen@types:generated_type(JYH)},
{binary(), gleamgen@types:generated_type(JYJ)},
gleamgen@types:generated_type(JYL),
fun((gleamgen@expression:expression(JYF), gleamgen@expression:expression(JYH), gleamgen@expression:expression(JYJ)) -> gleamgen@expression:expression(JYL))
) -> function_(fun((JYF, JYH, JYJ) -> JYL), JYL).
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(JYT)},
{binary(), gleamgen@types:generated_type(JYV)},
{binary(), gleamgen@types:generated_type(JYX)},
{binary(), gleamgen@types:generated_type(JYZ)},
gleamgen@types:generated_type(JZB),
fun((gleamgen@expression:expression(JYT), gleamgen@expression:expression(JYV), gleamgen@expression:expression(JYX), gleamgen@expression:expression(JYZ)) -> gleamgen@expression:expression(JZB))
) -> function_(fun((JYT, JYV, JYX, JYZ) -> JZB), JZB).
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(JZK)},
{binary(), gleamgen@types:generated_type(JZM)},
{binary(), gleamgen@types:generated_type(JZO)},
{binary(), gleamgen@types:generated_type(JZQ)},
{binary(), gleamgen@types:generated_type(JZS)},
gleamgen@types:generated_type(JZU),
fun((gleamgen@expression:expression(JZK), gleamgen@expression:expression(JZM), gleamgen@expression:expression(JZO), gleamgen@expression:expression(JZQ), gleamgen@expression:expression(JZS)) -> gleamgen@expression:expression(JZU))
) -> function_(fun((JZK, JZM, JZO, JZQ, JZS) -> JZU), JZU).
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(KAE)},
{binary(), gleamgen@types:generated_type(KAG)},
{binary(), gleamgen@types:generated_type(KAI)},
{binary(), gleamgen@types:generated_type(KAK)},
{binary(), gleamgen@types:generated_type(KAM)},
{binary(), gleamgen@types:generated_type(KAO)},
gleamgen@types:generated_type(KAQ),
fun((gleamgen@expression:expression(KAE), gleamgen@expression:expression(KAG), gleamgen@expression:expression(KAI), gleamgen@expression:expression(KAK), gleamgen@expression:expression(KAM), gleamgen@expression:expression(KAO)) -> gleamgen@expression:expression(KAQ))
) -> function_(fun((KAE, KAG, KAI, KAK, KAM, KAO) -> KAQ), KAQ).
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(KBB)},
{binary(), gleamgen@types:generated_type(KBD)},
{binary(), gleamgen@types:generated_type(KBF)},
{binary(), gleamgen@types:generated_type(KBH)},
{binary(), gleamgen@types:generated_type(KBJ)},
{binary(), gleamgen@types:generated_type(KBL)},
{binary(), gleamgen@types:generated_type(KBN)},
gleamgen@types:generated_type(KBP),
fun((gleamgen@expression:expression(KBB), gleamgen@expression:expression(KBD), gleamgen@expression:expression(KBF), gleamgen@expression:expression(KBH), gleamgen@expression:expression(KBJ), gleamgen@expression:expression(KBL), gleamgen@expression:expression(KBN)) -> gleamgen@expression:expression(KBP))
) -> function_(fun((KBB, KBD, KBF, KBH, KBJ, KBL, KBN) -> KBP), KBP).
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(KCB)},
{binary(), gleamgen@types:generated_type(KCD)},
{binary(), gleamgen@types:generated_type(KCF)},
{binary(), gleamgen@types:generated_type(KCH)},
{binary(), gleamgen@types:generated_type(KCJ)},
{binary(), gleamgen@types:generated_type(KCL)},
{binary(), gleamgen@types:generated_type(KCN)},
{binary(), gleamgen@types:generated_type(KCP)},
gleamgen@types:generated_type(KCR),
fun((gleamgen@expression:expression(KCB), gleamgen@expression:expression(KCD), gleamgen@expression:expression(KCF), gleamgen@expression:expression(KCH), gleamgen@expression:expression(KCJ), gleamgen@expression:expression(KCL), gleamgen@expression:expression(KCN), gleamgen@expression:expression(KCP)) -> gleamgen@expression:expression(KCR))
) -> function_(fun((KCB, KCD, KCF, KCH, KCJ, KCL, KCN, KCP) -> KCR), KCR).
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(KDE)},
{binary(), gleamgen@types:generated_type(KDG)},
{binary(), gleamgen@types:generated_type(KDI)},
{binary(), gleamgen@types:generated_type(KDK)},
{binary(), gleamgen@types:generated_type(KDM)},
{binary(), gleamgen@types:generated_type(KDO)},
{binary(), gleamgen@types:generated_type(KDQ)},
{binary(), gleamgen@types:generated_type(KDS)},
{binary(), gleamgen@types:generated_type(KDU)},
gleamgen@types:generated_type(KDW),
fun((gleamgen@expression:expression(KDE), gleamgen@expression:expression(KDG), gleamgen@expression:expression(KDI), gleamgen@expression:expression(KDK), gleamgen@expression:expression(KDM), gleamgen@expression:expression(KDO), gleamgen@expression:expression(KDQ), gleamgen@expression:expression(KDS), gleamgen@expression:expression(KDU)) -> gleamgen@expression:expression(KDW))
) -> function_(fun((KDE, KDG, KDI, KDK, KDM, KDO, KDQ, KDS, KDU) -> KDW), KDW).
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_).