Skip to content

Commit ceddf1a

Browse files
committed
trace aliases
1 parent 7752b1b commit ceddf1a

File tree

1 file changed

+29
-2
lines changed

1 file changed

+29
-2
lines changed

test/support/references_tracer.ex

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ defmodule ElixirSense.Core.References.Tracer do
2727
end)
2828
end
2929

30-
def trace({kind, meta, module, name, arity}, env)
30+
def trace({kind, meta, module, name, arity}, %Macro.Env{} = env)
3131
when kind in [:imported_function, :imported_macro, :remote_function, :remote_macro] do
3232
register_call(%{
3333
callee: {module, name, arity},
@@ -39,7 +39,7 @@ defmodule ElixirSense.Core.References.Tracer do
3939
:ok
4040
end
4141

42-
def trace({kind, meta, name, arity}, env)
42+
def trace({kind, meta, name, arity}, %Macro.Env{} = env)
4343
when kind in [:local_function, :local_macro] do
4444
register_call(%{
4545
callee: {env.module, name, arity},
@@ -51,6 +51,33 @@ defmodule ElixirSense.Core.References.Tracer do
5151
:ok
5252
end
5353

54+
def trace({:alias_reference, meta, module}, %Macro.Env{} = env) do
55+
register_call(%{
56+
callee: {module, nil, nil},
57+
file: env.file |> Path.relative_to_cwd(),
58+
line: meta[:line],
59+
column: meta[:column]
60+
})
61+
end
62+
63+
def trace({:alias, meta, module, _as, _opts}, %Macro.Env{} = env) do
64+
register_call(%{
65+
callee: {module, nil, nil},
66+
file: env.file |> Path.relative_to_cwd(),
67+
line: meta[:line],
68+
column: meta[:column]
69+
})
70+
end
71+
72+
def trace({kind, meta, module, _opts}, %Macro.Env{} = env) when kind in [:import, :require] do
73+
register_call(%{
74+
callee: {module, nil, nil},
75+
file: env.file |> Path.relative_to_cwd(),
76+
line: meta[:line],
77+
column: meta[:column]
78+
})
79+
end
80+
5481
def trace(_trace, _env) do
5582
:ok
5683
end

0 commit comments

Comments
 (0)