Skip to content

Commit 841f426

Browse files
Comply with naming convention for guards and functions (#14680)
1 parent 2367300 commit 841f426

File tree

5 files changed

+33
-33
lines changed

5 files changed

+33
-33
lines changed

lib/elixir/lib/exception.ex

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -288,10 +288,10 @@ defmodule Exception do
288288
end
289289
end
290290

291-
defp is_map_node?({:is_map, _, [_]}), do: true
292-
defp is_map_node?(_), do: false
293-
defp is_map_key_node?({:is_map_key, _, [_, _]}), do: true
294-
defp is_map_key_node?(_), do: false
291+
defp map_node?({:is_map, _, [_]}), do: true
292+
defp map_node?(_), do: false
293+
defp map_key_node?({:is_map_key, _, [_, _]}), do: true
294+
defp map_key_node?(_), do: false
295295

296296
defp struct_validation_node?(
297297
{:is_atom, _, [{{:., [], [:erlang, :map_get]}, _, [:__struct__, _]}]}
@@ -305,16 +305,16 @@ defmodule Exception do
305305

306306
defp struct_validation_node?(_), do: false
307307

308-
defp is_struct_macro?(
308+
defp struct_macro?(
309309
{:and, _,
310310
[
311311
{:and, _, [%{node: node_1 = {_, _, [arg]}}, %{node: node_2 = {_, _, [arg, _]}}]},
312312
%{node: node_3 = {_, _, [{_, _, [_, arg]}]}}
313313
]}
314314
),
315-
do: is_map_node?(node_1) and is_map_key_node?(node_2) and struct_validation_node?(node_3)
315+
do: map_node?(node_1) and map_key_node?(node_2) and struct_validation_node?(node_3)
316316

317-
defp is_struct_macro?(
317+
defp struct_macro?(
318318
{:and, _,
319319
[
320320
{:and, _,
@@ -329,12 +329,12 @@ defmodule Exception do
329329
%{node: node_3 = {_, _, [{_, _, [_, arg]}, _]}}
330330
]}
331331
),
332-
do: is_map_node?(node_1) and is_map_key_node?(node_2) and struct_validation_node?(node_3)
332+
do: map_node?(node_1) and map_key_node?(node_2) and struct_validation_node?(node_3)
333333

334-
defp is_struct_macro?(_), do: false
334+
defp struct_macro?(_), do: false
335335

336336
defp translate_guard(guard) do
337-
if is_struct_macro?(guard) do
337+
if struct_macro?(guard) do
338338
undo_is_struct_guard(guard)
339339
else
340340
guard

lib/elixir/pages/references/patterns-and-guards.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -378,23 +378,23 @@ However, if your guard has multiple conditions, such as checking for tuples or m
378378
There exists an additional way to simplify a chain of `or` expressions in guards: Elixir supports writing "multiple guards" in the same clause. The following code:
379379

380380
```elixir
381-
def is_number_or_nil(term) when is_integer(term) or is_float(term) or is_nil(term),
381+
def categorize_number(term) when is_integer(term) or is_float(term) or is_nil(term),
382382
do: :maybe_number
383-
def is_number_or_nil(_other),
383+
def categorize_number(_other),
384384
do: :something_else
385385
```
386386

387387
can be alternatively written as:
388388

389389
```elixir
390-
def is_number_or_nil(term)
390+
def categorize_number(term)
391391
when is_integer(term)
392392
when is_float(term)
393393
when is_nil(term) do
394394
:maybe_number
395395
end
396396

397-
def is_number_or_nil(_other) do
397+
def categorize_number(_other) do
398398
:something_else
399399
end
400400
```

lib/elixir/test/elixir/kernel/guard_test.exs

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ defmodule Kernel.GuardTest do
2929
defguard is_foo(atom) when atom == :foo
3030
defguard is_equal(foo, bar) when foo == bar
3131

32-
def is_foobar(atom) when is_foo(atom) do
32+
def foo?(atom) when is_foo(atom) do
3333
is_foo(atom)
3434
end
3535
end
@@ -151,39 +151,39 @@ defmodule Kernel.GuardTest do
151151
defmodule IntegerPrivateGuards do
152152
defguardp is_even(value) when is_integer(value) and rem(value, 2) == 0
153153

154-
def is_even_and_large?(value) when is_even(value) and value > 100, do: true
155-
def is_even_and_large?(_), do: false
154+
def even_and_large?(value) when is_even(value) and value > 100, do: true
155+
def even_and_large?(_), do: false
156156

157-
def is_even_and_small?(value) do
157+
def even_and_small?(value) do
158158
if is_even(value) and value <= 100, do: true, else: false
159159
end
160160
end
161161

162162
test "defguardp defines private guards that work inside and outside guard clauses" do
163-
assert IntegerPrivateGuards.is_even_and_large?(102)
164-
refute IntegerPrivateGuards.is_even_and_large?(98)
165-
refute IntegerPrivateGuards.is_even_and_large?(99)
166-
refute IntegerPrivateGuards.is_even_and_large?(103)
163+
assert IntegerPrivateGuards.even_and_large?(102)
164+
refute IntegerPrivateGuards.even_and_large?(98)
165+
refute IntegerPrivateGuards.even_and_large?(99)
166+
refute IntegerPrivateGuards.even_and_large?(103)
167167

168-
assert IntegerPrivateGuards.is_even_and_small?(98)
169-
refute IntegerPrivateGuards.is_even_and_small?(99)
170-
refute IntegerPrivateGuards.is_even_and_small?(102)
171-
refute IntegerPrivateGuards.is_even_and_small?(103)
168+
assert IntegerPrivateGuards.even_and_small?(98)
169+
refute IntegerPrivateGuards.even_and_small?(99)
170+
refute IntegerPrivateGuards.even_and_small?(102)
171+
refute IntegerPrivateGuards.even_and_small?(103)
172172

173173
assert_compile_error(~r"cannot find or invoke local is_even/1", fn ->
174174
defmodule IntegerPrivateGuardUtils do
175175
import IntegerPrivateGuards
176176

177-
def is_even_and_large?(value) when is_even(value) and value > 100, do: true
178-
def is_even_and_large?(_), do: false
177+
def even_and_large?(value) when is_even(value) and value > 100, do: true
178+
def even_and_large?(_), do: false
179179
end
180180
end)
181181

182182
assert_compile_error(~r"undefined function is_even/1", fn ->
183183
defmodule IntegerPrivateFunctionUtils do
184184
import IntegerPrivateGuards
185185

186-
def is_even_and_small?(value) do
186+
def even_and_small?(value) do
187187
if is_even(value) and value <= 100, do: true, else: false
188188
end
189189
end

lib/elixir/test/elixir/kernel/lexical_tracker_test.exs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -406,7 +406,7 @@ defmodule Kernel.LexicalTrackerTest do
406406
{{compile, exports, runtime, _}, _binding} =
407407
Code.eval_string("""
408408
defmodule Kernel.LexicalTrackerTest.StructPattern do
409-
def is_uri(%URI{}), do: true
409+
def uri?(%URI{}), do: true
410410
Kernel.LexicalTracker.references(__ENV__.lexical_tracker)
411411
end |> elem(3)
412412
""")
@@ -439,8 +439,8 @@ defmodule Kernel.LexicalTrackerTest do
439439
{{compile, exports, runtime, _}, _binding} =
440440
Code.eval_string("""
441441
defmodule Kernel.LexicalTrackerTest.PatternGuardsRuntime do
442-
def is_uri_atom(URI), do: true
443-
def is_range_struct(range) when is_struct(range, Range), do: true
442+
def uri_atom?(URI), do: true
443+
def range_struct?(range) when is_struct(range, Range), do: true
444444
Kernel.LexicalTracker.references(__ENV__.lexical_tracker)
445445
end |> elem(3)
446446
""")

lib/mix/test/mix/umbrella_test.exs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -454,7 +454,7 @@ defmodule Mix.UmbrellaTest do
454454
# Add struct dependency
455455
File.write!("lib/bar.ex", """
456456
defmodule Bar do
457-
def is_foo_bar(%Foo{bar: true}), do: true
457+
def foo_bar?(%Foo{bar: true}), do: true
458458
end
459459
""")
460460

0 commit comments

Comments
 (0)