@@ -565,10 +565,10 @@ defmodule BadStructError do
565
565
end
566
566
567
567
defmodule BadMapError do
568
- defexception [ map : nil ]
569
-
568
+ defexception [ term : nil ]
569
+
570
570
def message ( exception ) do
571
- "expected a map, got: #{ inspect ( exception . map ) } "
571
+ "expected a map, got: #{ inspect ( exception . term ) } "
572
572
end
573
573
end
574
574
@@ -780,19 +780,19 @@ defmodule ErlangError do
780
780
def normalize ( { :badmatch , term } , _stacktrace ) do
781
781
% MatchError { term: term }
782
782
end
783
-
784
- # Erlang R18.0 changed this for various functions in the maps module
785
- def normalize ( { :badmap , map } , _stacktrace ) do
786
- % BadMapError { map: map }
783
+
784
+ def normalize ( { :badmap , term } , _stacktrace ) do
785
+ % BadMapError { term: term }
787
786
end
788
-
789
- # Erlang R18.0 changed this for various functions in the maps module
787
+
790
788
def normalize ( { :badkey , key } , stacktrace ) do
791
- term = case stacktrace do
792
- [ { :maps , :update , [ _ , _ , map ] , [ ] } | _ ] -> map
793
- _ -> nil
794
- end
795
- % KeyError { key: key , term: term }
789
+ term =
790
+ case stacktrace || :erlang . get_stacktrace do
791
+ [ { :maps , :update , [ _ , _ , map ] , _ } | _ ] -> map
792
+ [ { :maps , :get , [ _ , map ] , _ } | _ ] -> map
793
+ _ -> nil
794
+ end
795
+ % KeyError { key: key , term: term }
796
796
end
797
797
798
798
def normalize ( { :case_clause , term } , _stacktrace ) do
0 commit comments