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_(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_).