Skip to content

Commit dd47d09

Browse files
author
José Valim
committed
Swap variables to kernel context
1 parent 992ac67 commit dd47d09

File tree

1 file changed

+19
-19
lines changed

1 file changed

+19
-19
lines changed

lib/elixir/lib/kernel.ex

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2139,7 +2139,7 @@ defmodule Kernel do
21392139
end
21402140

21412141
defmacro match?(left, right) do
2142-
{ left, _ } = falsify_var(left, [], &falsify_all/2)
2142+
{ left, _ } = kernelfy_var(left, [], &kernelfy_all/2)
21432143

21442144
quote do
21452145
case unquote(right) do
@@ -2151,48 +2151,48 @@ defmodule Kernel do
21512151
end
21522152
end
21532153

2154-
defp falsify_all({ var, meta, scope }, acc) when is_atom(var) and is_atom(scope) do
2155-
{ { var, meta, false }, [{ var, scope }|acc] }
2154+
defp kernelfy_all({ var, meta, scope }, acc) when is_atom(var) and is_atom(scope) do
2155+
{ { var, meta, Kernel }, [{ var, scope }|acc] }
21562156
end
21572157

2158-
defp falsify_selected({ var, meta, scope } = original, acc) when is_atom(var) and is_atom(scope) do
2158+
defp kernelfy_selected({ var, meta, scope } = original, acc) when is_atom(var) and is_atom(scope) do
21592159
case :lists.member({ var, scope }, acc) do
2160-
true -> { { var, meta, false }, acc }
2160+
true -> { { var, meta, Kernel }, acc }
21612161
false -> { original, acc }
21622162
end
21632163
end
21642164

2165-
defp falsify_var({ :^, _, [_] } = contents, acc, _fun) do
2165+
defp kernelfy_var({ :^, _, [_] } = contents, acc, _fun) do
21662166
{ contents, acc }
21672167
end
21682168

2169-
defp falsify_var({ :when, meta, [left, right] }, acc, fun) do
2170-
{ left, acc } = falsify_var(left, acc, fun)
2171-
{ right, acc } = falsify_var(right, acc, &falsify_selected/2)
2169+
defp kernelfy_var({ :when, meta, [left, right] }, acc, fun) do
2170+
{ left, acc } = kernelfy_var(left, acc, fun)
2171+
{ right, acc } = kernelfy_var(right, acc, &kernelfy_selected/2)
21722172
{ { :when, meta, [left, right] }, acc }
21732173
end
21742174

2175-
defp falsify_var({ var, _, scope } = original, acc, fun) when is_atom(var) and is_atom(scope) do
2175+
defp kernelfy_var({ var, _, scope } = original, acc, fun) when is_atom(var) and is_atom(scope) do
21762176
fun.(original, acc)
21772177
end
21782178

2179-
defp falsify_var({ left, meta, right }, acc, fun) do
2180-
{ left, acc } = falsify_var(left, acc, fun)
2181-
{ right, acc } = falsify_var(right, acc, fun)
2179+
defp kernelfy_var({ left, meta, right }, acc, fun) do
2180+
{ left, acc } = kernelfy_var(left, acc, fun)
2181+
{ right, acc } = kernelfy_var(right, acc, fun)
21822182
{ { left, meta, right }, acc }
21832183
end
21842184

2185-
defp falsify_var({ left, right }, acc, fun) do
2186-
{ left, acc } = falsify_var(left, acc, fun)
2187-
{ right, acc } = falsify_var(right, acc, fun)
2185+
defp kernelfy_var({ left, right }, acc, fun) do
2186+
{ left, acc } = kernelfy_var(left, acc, fun)
2187+
{ right, acc } = kernelfy_var(right, acc, fun)
21882188
{ { left, right }, acc }
21892189
end
21902190

2191-
defp falsify_var(list, acc, fun) when is_list(list) do
2192-
:lists.mapfoldl(&falsify_var(&1, &2, fun), acc, list)
2191+
defp kernelfy_var(list, acc, fun) when is_list(list) do
2192+
:lists.mapfoldl(&kernelfy_var(&1, &2, fun), acc, list)
21932193
end
21942194

2195-
defp falsify_var(other, acc, _fun) do
2195+
defp kernelfy_var(other, acc, _fun) do
21962196
{ other, acc }
21972197
end
21982198

0 commit comments

Comments
 (0)