From 30c4c1a5a1a54271eb5976e0b6c976980925c3a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A7=D0=B5=D1=80=D0=BD=D0=B8=D1=87=D0=BA=D0=B8=D0=BD=20?= =?UTF-8?q?=D0=A1=D1=82=D0=B0=D0=BD=D0=B8=D1=81=D0=BB=D0=B0=D0=B2=20=D0=92?= =?UTF-8?q?=D0=B8=D0=BA=D1=82=D0=BE=D1=80=D0=BE=D0=B2=D0=B8=D1=87?= Date: Wed, 9 Jan 2019 22:13:06 +0300 Subject: [PATCH] GH-81 Record fields name fix for JSON instances --- hprotoc/Text/ProtocolBuffers/ProtoCompile/Gen.hs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/hprotoc/Text/ProtocolBuffers/ProtoCompile/Gen.hs b/hprotoc/Text/ProtocolBuffers/ProtoCompile/Gen.hs index 607e7fa8..dbd3a6d4 100644 --- a/hprotoc/Text/ProtocolBuffers/ProtoCompile/Gen.hs +++ b/hprotoc/Text/ProtocolBuffers/ProtoCompile/Gen.hs @@ -862,7 +862,7 @@ instanceToJSON di makePair fld = let fldName = getFname fld fldName' = dropWhileEnd (== '\'') fldName - arg = Paren () (lvar fldName $$ lvar msgVar) + arg = Paren () (lvar (baseNamePrefix' (fieldName fld) ++ fldName) $$ lvar msgVar) toJSONCall = case (isRequired fld, canRepeat fld) of (True, False) -> toJSONFun fld $$ arg (_, _) -> pvar "toJSON" $$ Paren () (preludevar "fmap" $$ toJSONFun fld $$ arg) @@ -929,8 +929,8 @@ instanceFromJSON di ] in Generator () (patvar fldName) parseFieldCall'' updates = - (map (\fld -> FieldUpdate () (local (getFname fld)) (lvar (getFname fld))) flds) ++ - (map (\oi -> FieldUpdate () (local (getOneofFname oi)) (lvar (getOneofFname oi))) os) + (map (\fld -> FieldUpdate () (local (baseNamePrefix' (fieldName fld) ++ getFname fld)) (lvar (getFname fld))) flds) ++ + (map (\oi -> FieldUpdate () (local (baseNamePrefix' (oneofFName oi) ++ getOneofFname oi)) (lvar (getOneofFname oi))) os) retVal = case updates of [] -> pvar "defaultValue"