From 0fcc2dbf6c381cd7e1be24a88a4bce2213bd651f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Frederik=20Hangh=C3=B8j=20Iversen?= Date: Fri, 11 Oct 2019 16:26:15 +0200 Subject: [PATCH] Handle sequences constants for module identifiers --- src/Rubyhs/References.hs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/Rubyhs/References.hs b/src/Rubyhs/References.hs index ebca064..3267ae7 100644 --- a/src/Rubyhs/References.hs +++ b/src/Rubyhs/References.hs @@ -129,9 +129,14 @@ appendToContext n = updateContext go go q = name2ns n <> q name2ns :: Name -> Namespace -name2ns (Name o) = case o of - Aeson.Array [_, _, Aeson.String s] -> [s] - _ -> error $ show o +name2ns (Name o) = go o + where + go :: Aeson.Value -> Namespace + go = \case + Aeson.Array [Aeson.String "const", x, Aeson.String s] -> case x of + Aeson.Null -> [s] + _ -> go x <> [s] + _ -> error $ show o class References a where entries :: MyMonad m => a -> m ()