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_(JXO, JXP) :: {function,
list({binary(),
gleamgen@types:generated_type(gleamgen@types:unchecked())}),
gleamgen@types:generated_type(JXP),
gleamgen@expression:expression(JXP)} |
{gleam_phantom, JXO}.
-file("/home/weasel/gleam/testing_gleamgen/gleamgen/src/gleamgen/function.gleam", 12).
-spec new0(
gleamgen@types:generated_type(JXQ),
fun(() -> gleamgen@expression:expression(JXQ))
) -> function_(fun((any()) -> JXQ), JXQ).
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(JXW)},
gleamgen@types:generated_type(JXY),
fun((gleamgen@expression:expression(JXW)) -> gleamgen@expression:expression(JXY))
) -> function_(fun((JXW) -> JXY), JXY).
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(JYE)},
{binary(), gleamgen@types:generated_type(JYG)},
gleamgen@types:generated_type(JYI),
fun((gleamgen@expression:expression(JYE), gleamgen@expression:expression(JYG)) -> gleamgen@expression:expression(JYI))
) -> function_(fun((JYE, JYG) -> JYI), JYI).
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(JYP)},
{binary(), gleamgen@types:generated_type(JYR)},
{binary(), gleamgen@types:generated_type(JYT)},
gleamgen@types:generated_type(JYV),
fun((gleamgen@expression:expression(JYP), gleamgen@expression:expression(JYR), gleamgen@expression:expression(JYT)) -> gleamgen@expression:expression(JYV))
) -> function_(fun((JYP, JYR, JYT) -> JYV), JYV).
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(JZD)},
{binary(), gleamgen@types:generated_type(JZF)},
{binary(), gleamgen@types:generated_type(JZH)},
{binary(), gleamgen@types:generated_type(JZJ)},
gleamgen@types:generated_type(JZL),
fun((gleamgen@expression:expression(JZD), gleamgen@expression:expression(JZF), gleamgen@expression:expression(JZH), gleamgen@expression:expression(JZJ)) -> gleamgen@expression:expression(JZL))
) -> function_(fun((JZD, JZF, JZH, JZJ) -> JZL), JZL).
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(JZU)},
{binary(), gleamgen@types:generated_type(JZW)},
{binary(), gleamgen@types:generated_type(JZY)},
{binary(), gleamgen@types:generated_type(KAA)},
{binary(), gleamgen@types:generated_type(KAC)},
gleamgen@types:generated_type(KAE),
fun((gleamgen@expression:expression(JZU), gleamgen@expression:expression(JZW), gleamgen@expression:expression(JZY), gleamgen@expression:expression(KAA), gleamgen@expression:expression(KAC)) -> gleamgen@expression:expression(KAE))
) -> function_(fun((JZU, JZW, JZY, KAA, KAC) -> KAE), KAE).
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(KAO)},
{binary(), gleamgen@types:generated_type(KAQ)},
{binary(), gleamgen@types:generated_type(KAS)},
{binary(), gleamgen@types:generated_type(KAU)},
{binary(), gleamgen@types:generated_type(KAW)},
{binary(), gleamgen@types:generated_type(KAY)},
gleamgen@types:generated_type(KBA),
fun((gleamgen@expression:expression(KAO), gleamgen@expression:expression(KAQ), gleamgen@expression:expression(KAS), gleamgen@expression:expression(KAU), gleamgen@expression:expression(KAW), gleamgen@expression:expression(KAY)) -> gleamgen@expression:expression(KBA))
) -> function_(fun((KAO, KAQ, KAS, KAU, KAW, KAY) -> KBA), KBA).
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(KBL)},
{binary(), gleamgen@types:generated_type(KBN)},
{binary(), gleamgen@types:generated_type(KBP)},
{binary(), gleamgen@types:generated_type(KBR)},
{binary(), gleamgen@types:generated_type(KBT)},
{binary(), gleamgen@types:generated_type(KBV)},
{binary(), gleamgen@types:generated_type(KBX)},
gleamgen@types:generated_type(KBZ),
fun((gleamgen@expression:expression(KBL), gleamgen@expression:expression(KBN), gleamgen@expression:expression(KBP), gleamgen@expression:expression(KBR), gleamgen@expression:expression(KBT), gleamgen@expression:expression(KBV), gleamgen@expression:expression(KBX)) -> gleamgen@expression:expression(KBZ))
) -> function_(fun((KBL, KBN, KBP, KBR, KBT, KBV, KBX) -> KBZ), KBZ).
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(KCL)},
{binary(), gleamgen@types:generated_type(KCN)},
{binary(), gleamgen@types:generated_type(KCP)},
{binary(), gleamgen@types:generated_type(KCR)},
{binary(), gleamgen@types:generated_type(KCT)},
{binary(), gleamgen@types:generated_type(KCV)},
{binary(), gleamgen@types:generated_type(KCX)},
{binary(), gleamgen@types:generated_type(KCZ)},
gleamgen@types:generated_type(KDB),
fun((gleamgen@expression:expression(KCL), gleamgen@expression:expression(KCN), gleamgen@expression:expression(KCP), gleamgen@expression:expression(KCR), gleamgen@expression:expression(KCT), gleamgen@expression:expression(KCV), gleamgen@expression:expression(KCX), gleamgen@expression:expression(KCZ)) -> gleamgen@expression:expression(KDB))
) -> function_(fun((KCL, KCN, KCP, KCR, KCT, KCV, KCX, KCZ) -> KDB), KDB).
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(KDO)},
{binary(), gleamgen@types:generated_type(KDQ)},
{binary(), gleamgen@types:generated_type(KDS)},
{binary(), gleamgen@types:generated_type(KDU)},
{binary(), gleamgen@types:generated_type(KDW)},
{binary(), gleamgen@types:generated_type(KDY)},
{binary(), gleamgen@types:generated_type(KEA)},
{binary(), gleamgen@types:generated_type(KEC)},
{binary(), gleamgen@types:generated_type(KEE)},
gleamgen@types:generated_type(KEG),
fun((gleamgen@expression:expression(KDO), gleamgen@expression:expression(KDQ), gleamgen@expression:expression(KDS), gleamgen@expression:expression(KDU), gleamgen@expression:expression(KDW), gleamgen@expression:expression(KDY), gleamgen@expression:expression(KEA), gleamgen@expression:expression(KEC), gleamgen@expression:expression(KEE)) -> gleamgen@expression:expression(KEG))
) -> function_(fun((KDO, KDQ, KDS, KDU, KDW, KDY, KEA, KEC, KEE) -> KEG), KEG).
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_).