Skip to content

Commit

Permalink
Static macroexpansion for @doc (#2797)
Browse files Browse the repository at this point in the history
  • Loading branch information
fonsp authored Jan 29, 2024
1 parent f64af1a commit 8af2932
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 2 deletions.
2 changes: 1 addition & 1 deletion src/analysis/PlutoDependencyExplorer/ExpressionExplorer.jl
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ function macro_has_special_heuristic_inside(; symstate::SymbolsState, expr::Expr
return PlutoDependencyExplorer.cell_precedence_heuristic(node, code) < PlutoDependencyExplorer.DEFAULT_PRECEDENCE_HEURISTIC
end

const can_macroexpand_no_bind = Set(Symbol.(["@md_str", "Markdown.@md_str", "@gensym", "Base.@gensym", "@enum", "Base.@enum", "@assert", "Base.@assert", "@cmd"]))
const can_macroexpand_no_bind = Set(Symbol.(["@md_str", "Markdown.@md_str", "@gensym", "Base.@gensym", "@enum", "Base.@enum", "@assert", "Base.@assert", "@cmd", "Base.@cmd", "@doc", "Base.@doc", "Core.@doc"]))
const can_macroexpand = can_macroexpand_no_bind Set(Symbol.(["@bind", "PlutoRunner.@bind"]))

const plutorunner_id = Base.PkgId(Base.UUID("dc6b355a-2368-4481-ae6d-ae0351418d79"), "PlutoRunner")
Expand Down
2 changes: 1 addition & 1 deletion test/ExpressionExplorer.jl
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@ end
@test t(:(@gensym a b c), [], [:a, :b, :c], [:gensym], [], [Symbol("@gensym")])
@test t(:(Base.@gensym a b c), [], [:a, :b, :c], [:gensym], [], [[:Base, Symbol("@gensym")]])
@test t(:(Base.@kwdef struct A; x = 1; y::Int = two; z end), [], [], [], [], [[:Base, Symbol("@kwdef")]])
@test t(quote "asdf" f(x) = x end, [], [], [], [], [Symbol("@doc")])
# @test t(quote "asdf" f(x) = x end, [], [], [], [], [Symbol("@doc")])

# @test t(:(@bind a b), [], [], [], [], [Symbol("@bind")])
# @test t(:(PlutoRunner.@bind a b), [], [], [], [], [[:PlutoRunner, Symbol("@bind")]])
Expand Down
4 changes: 4 additions & 0 deletions test/MacroAnalysis.jl
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,10 @@ import Memoize: @memoize
])
cell(idx) = notebook.cells[idx]

temp_topology = Pluto.updated_topology(notebook.topology, notebook, notebook.cells) |> Pluto.static_resolve_topology

@test :f temp_topology.nodes[cell(1)].funcdefs_without_signatures

update_run!(🍭, notebook, notebook.cells)

@test :f notebook.topology.nodes[cell(1)].funcdefs_without_signatures
Expand Down

0 comments on commit 8af2932

Please sign in to comment.