File tree Expand file tree Collapse file tree 2 files changed +12
-2
lines changed Expand file tree Collapse file tree 2 files changed +12
-2
lines changed Original file line number Diff line number Diff line change 77
77
defimpl Jason.Encoder , for: Any do
78
78
defmacro __deriving__ ( module , struct , opts ) do
79
79
fields = fields_to_encode ( struct , opts )
80
- kv = Enum . map ( fields , & { & 1 , Macro . var ( & 1 , __MODULE__ ) } )
80
+ kv = Enum . map ( fields , & { & 1 , generated_var ( & 1 , __MODULE__ ) } )
81
81
escape = quote ( do: escape )
82
82
encode_map = quote ( do: encode_map )
83
83
encode_args = [ escape , encode_map ]
@@ -94,6 +94,11 @@ defimpl Jason.Encoder, for: Any do
94
94
end
95
95
end
96
96
97
+ # The same as Macro.var/2 except it sets generated: true
98
+ defp generated_var ( name , context ) do
99
+ { name , [ generated: true ] , context }
100
+ end
101
+
97
102
def encode ( % _ { } = struct , _opts ) do
98
103
raise Protocol.UndefinedError ,
99
104
protocol: @ protocol ,
Original file line number Diff line number Diff line change @@ -61,7 +61,7 @@ defmodule Jason.Helpers do
61
61
"""
62
62
defmacro json_map_take ( map , take ) do
63
63
take = Macro . expand ( take , __CALLER__ )
64
- kv = Enum . map ( take , & { & 1 , Macro . var ( & 1 , Codegen ) } )
64
+ kv = Enum . map ( take , & { & 1 , generated_var ( & 1 , Codegen ) } )
65
65
escape = quote ( do: escape )
66
66
encode_map = quote ( do: encode_map )
67
67
encode_args = [ escape , encode_map ]
@@ -82,4 +82,9 @@ defmodule Jason.Helpers do
82
82
end
83
83
end
84
84
end
85
+
86
+ # The same as Macro.var/2 except it sets generated: true
87
+ defp generated_var ( name , context ) do
88
+ { name , [ generated: true ] , context }
89
+ end
85
90
end
You can’t perform that action at this time.
0 commit comments