-
-
Notifications
You must be signed in to change notification settings - Fork 5.7k
Open
Labels
Description
MRE:
julia> jlparse("""Range[Range(; var"end"=nothing)]""")[1]
SyntaxTree with attributes kind,value,name_val,syntax_flags,source
[ref] │
Range :: Identifier │
[call] │
Range :: Identifier │
[parameters] │
[kw] │
end :: Identifier │
nothing :: Identifier │
julia> JL.lower(Main, jlparse("""Range[Range(; var"end"=nothing)]""")[1])
ERROR: LoweringError:
Range[Range(; var"end"=nothing)]
# └─┘ ── invalid keyword argument name
Detailed provenance:
(call top.lastindex #₁/tmp)
└─ end
└─ end
└─ @ /Users/aviatesk/worktrees/JETLS/temp/test/jsjl_utils.jl:1
Stacktrace:
[1] expand_named_tuple(ctx::JuliaLowering.DesugaringContext{…}, ex::JuliaLowering.SyntaxTree{…}, kws::JuliaLowering.SyntaxList{…}, eq_is_kw::Bool; field_name::String, element_name::String)
@ JuliaLowering ~/julia/julia/JuliaLowering/src/desugaring.jl:1634
[2] expand_named_tuple
@ ~/julia/julia/JuliaLowering/src/desugaring.jl:1615 [inlined]
[3] macro expansion
@ ~/julia/julia/JuliaLowering/src/ast.jl:303 [inlined]
[4] expand_kw_call(ctx::JuliaLowering.DesugaringContext{…}, srcref::JuliaLowering.SyntaxTree{…}, farg::JuliaLowering.SyntaxTree{…}, args::JuliaLowering.SyntaxList{…}, kws::JuliaLowering.SyntaxList{…})
@ JuliaLowering ~/julia/julia/JuliaLowering/src/desugaring.jl:1697
[5] expand_call(ctx::JuliaLowering.DesugaringContext{JuliaLowering.SyntaxGraph{…}}, ex::JuliaLowering.SyntaxTree{JuliaLowering.SyntaxGraph{…}})
@ JuliaLowering ~/julia/julia/JuliaLowering/src/desugaring.jl:1917
[6] expand_forms_2(ctx::JuliaLowering.DesugaringContext{…}, ex::JuliaLowering.SyntaxTree{…}, docs::Nothing)
@ JuliaLowering ~/julia/julia/JuliaLowering/src/desugaring.jl:4401
[7] expand_forms_2(ctx::JuliaLowering.DesugaringContext{JuliaLowering.SyntaxGraph{…}}, ex::JuliaLowering.SyntaxTree{JuliaLowering.SyntaxGraph{…}})
@ JuliaLowering ~/julia/julia/JuliaLowering/src/desugaring.jl:4397
[8] expand_forms_2(ctx::JuliaLowering.DesugaringContext{…}, exs::JuliaLowering.SyntaxList{…})
@ JuliaLowering ~/julia/julia/JuliaLowering/src/desugaring.jl:4640
[9] macro expansion
@ ~/julia/julia/JuliaLowering/src/ast.jl:284 [inlined]
[10] expand_call(ctx::JuliaLowering.DesugaringContext{JuliaLowering.SyntaxGraph{…}}, ex::JuliaLowering.SyntaxTree{JuliaLowering.SyntaxGraph{…}})
@ JuliaLowering ~/julia/julia/JuliaLowering/src/desugaring.jl:1934
[11] expand_forms_2(ctx::JuliaLowering.DesugaringContext{…}, ex::JuliaLowering.SyntaxTree{…}, docs::Nothing)
@ JuliaLowering ~/julia/julia/JuliaLowering/src/desugaring.jl:4401
[12] expand_forms_2
@ ~/julia/julia/JuliaLowering/src/desugaring.jl:4397 [inlined]
[13] #expand_forms_2##2
@ ~/julia/julia/JuliaLowering/src/desugaring.jl:4633 [inlined]
[14] mapchildren(f::JuliaLowering.var"#expand_forms_2##2#expand_forms_2##3"{…}, ctx::JuliaLowering.DesugaringContext{…}, ex::JuliaLowering.SyntaxTree{…}, do_map_child::JuliaLowering.var"#39#40"; extra_attrs::@Kwargs{})
@ JuliaLowering ~/julia/julia/JuliaLowering/src/ast.jl:404
[15] mapchildren(f::Function, ctx::JuliaLowering.DesugaringContext{…}, ex::JuliaLowering.SyntaxTree{…}, do_map_child::Function)
@ JuliaLowering ~/julia/julia/JuliaLowering/src/ast.jl:396
[16] #mapchildren#37
@ ~/julia/julia/JuliaLowering/src/ast.jl:443 [inlined]
[17] mapchildren(f::Function, ctx::JuliaLowering.DesugaringContext{…}, ex::JuliaLowering.SyntaxTree{…})
@ JuliaLowering ~/julia/julia/JuliaLowering/src/ast.jl:442
[18] expand_forms_2(ctx::JuliaLowering.DesugaringContext{…}, ex::JuliaLowering.SyntaxTree{…}, docs::Nothing)
@ JuliaLowering ~/julia/julia/JuliaLowering/src/desugaring.jl:4633
[19] expand_forms_2(ctx::JuliaLowering.DesugaringContext{JuliaLowering.SyntaxGraph{…}}, ex::JuliaLowering.SyntaxTree{JuliaLowering.SyntaxGraph{…}})
@ JuliaLowering ~/julia/julia/JuliaLowering/src/desugaring.jl:4397
[20] expand_forms_2(ctx::JuliaLowering.DesugaringContext{…}, ex::JuliaLowering.SyntaxTree{…}, docs::Nothing)
@ JuliaLowering ~/julia/julia/JuliaLowering/src/desugaring.jl:4550
[21] expand_forms_2
@ ~/julia/julia/JuliaLowering/src/desugaring.jl:4397 [inlined]
[22] expand_forms_2
@ ~/julia/julia/JuliaLowering/src/desugaring.jl:4651 [inlined]
[23] lower(mod::Module, ex0::JuliaLowering.SyntaxTree{JuliaLowering.SyntaxGraph{Dict{Symbol, Any}}}; expr_compat_mode::Bool, world::UInt64)
@ JuliaLowering ~/julia/julia/JuliaLowering/src/eval.jl:6
[24] lower(mod::Module, ex0::JuliaLowering.SyntaxTree{JuliaLowering.SyntaxGraph{Dict{Symbol, Any}}})
@ JuliaLowering ~/julia/julia/JuliaLowering/src/eval.jl:4
[25] top-level scope
@ REPL[4]:1
Some type information was truncated. Use `show(err)` to see complete types.It works outside of the array expression, e.g. julia> JL.lower(Main, jlparse("""Range(; var"end"=nothing)""")[1]).
mlechu