File 0744-Add-unwrap-calls-to-map_field_-in-erl_syntax.patch of Package erlang

From 204252d7dc8e2936f14ef48346317146a2f5f4af Mon Sep 17 00:00:00 2001
From: Zachary Dean <contact@zadean.com>
Date: Wed, 14 Aug 2019 14:39:08 +0200
Subject: [PATCH 1/3] Add unwrap calls to map_field_* in erl_syntax

This adds missing calls to unwrap/1 for the map_field_* name and value functions and puts them inline with map_expr_fields/1.
Using these functions with "wrapped" nodes fails with badarg.
---
 lib/syntax_tools/src/erl_syntax.erl | 24 ++++++++++++------------
 1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/lib/syntax_tools/src/erl_syntax.erl b/lib/syntax_tools/src/erl_syntax.erl
index b856a5d1dd..385094d5bd 100644
--- a/lib/syntax_tools/src/erl_syntax.erl
+++ b/lib/syntax_tools/src/erl_syntax.erl
@@ -2166,11 +2166,11 @@ revert_map_field_assoc(Node) ->
 -spec map_field_assoc_name(syntaxTree()) -> syntaxTree().
 
 map_field_assoc_name(Node) ->
-    case Node of
+    case unwrap(Node) of
         {map_field_assoc, _, Name, _} ->
             Name;
-        _ ->
-            (data(Node))#map_field_assoc.name
+        Node1 ->
+            (data(Node1))#map_field_assoc.name
     end.
 
 
@@ -2182,11 +2182,11 @@ map_field_assoc_name(Node) ->
 -spec map_field_assoc_value(syntaxTree()) -> syntaxTree().
 
 map_field_assoc_value(Node) ->
-    case Node of
+    case unwrap(Node) of
         {map_field_assoc, _, _, Value} ->
             Value;
-        _ ->
-            (data(Node))#map_field_assoc.value
+        Node1 ->
+            (data(Node1))#map_field_assoc.value
     end.
 
 
@@ -2224,11 +2224,11 @@ revert_map_field_exact(Node) ->
 -spec map_field_exact_name(syntaxTree()) -> syntaxTree().
 
 map_field_exact_name(Node) ->
-    case Node of
+    case unwrap(Node) of
         {map_field_exact, _, Name, _} ->
             Name;
-        _ ->
-            (data(Node))#map_field_exact.name
+        Node1 ->
+            (data(Node1))#map_field_exact.name
     end.
 
 
@@ -2240,11 +2240,11 @@ map_field_exact_name(Node) ->
 -spec map_field_exact_value(syntaxTree()) -> syntaxTree().
 
 map_field_exact_value(Node) ->
-    case Node of
+    case unwrap(Node) of
         {map_field_exact, _, _, Value} ->
             Value;
-        _ ->
-            (data(Node))#map_field_exact.value
+        Node1 ->
+            (data(Node1))#map_field_exact.value
     end.
 
 
-- 
2.16.4

openSUSE Build Service is sponsored by