packages feed

dhscanner-kbgen 1.0.19 → 1.0.20

raw patch · 2 files changed

+16/−2 lines, 2 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

dhscanner-kbgen.cabal view
@@ -33,7 +33,7 @@         * explain in plain English your query's purpose
         * et voilà !
 
-version:            1.0.19
+version:            1.0.20
 license:            GPL-3.0-only
 license-file:       LICENSE
 author:             OrenGitHub
src/Kbgen.hs view
@@ -92,10 +92,14 @@ 
 where
 
+-- general imports
 import Data.Aeson
 import Text.Printf
 import GHC.Generics
 
+-- general qualified imports
+import qualified Data.List as List
+
 -- project imports
 import Location
 import qualified Token
@@ -703,7 +707,7 @@ prologify_ClassHas1stPartySuper (ClassHas1stPartySuper (Class c) (Token.SuperName (Token.Named s _)) (SuperDefinedInFile f)) = prologify_ClassHas1stPartySuper' c s f
 
 prologify_ClassHas3rdPartySuper' :: Location -> String -> Fqn.Fqn -> String
-prologify_ClassHas3rdPartySuper' c s f = printf "kb_class_has_3rd_party_super( %s, \'%s\', \'%s\' )." (locationify c) s (show f)
+prologify_ClassHas3rdPartySuper' c s f = printf "kb_class_has_3rd_party_super( %s, \'%s\', \'%s\' )." (locationify c) s (prologifyFqn f)
  
 prologify_ClassHas3rdPartySuper :: ClassHas3rdPartySuper -> String
 prologify_ClassHas3rdPartySuper (ClassHas3rdPartySuper (Class c) (Token.SuperName (Token.Named s _)) (SuperQualifiedName f)) = prologify_ClassHas3rdPartySuper' c s f
@@ -755,6 +759,16 @@ 
 normalize :: FilePath -> FilePath
 normalize path = concatMap normalizeChar path
+
+prologifyFqn :: Fqn.Fqn -> String
+prologifyFqn (Fqn.ThirdPartyImport fqn) = prologifyThirdPartyImport fqn
+prologifyFqn fqn = show fqn
+
+prologifyThirdPartyImport :: Fqn.ThirdPartyImportContent -> String
+prologifyThirdPartyImport (Fqn.ThirdPartyImportContent p [] Nothing _) = p
+prologifyThirdPartyImport (Fqn.ThirdPartyImportContent p [] (Just name) _) = p ++ "." ++ name
+prologifyThirdPartyImport (Fqn.ThirdPartyImportContent p rest Nothing _) = p ++ "." ++ List.intercalate "." rest
+prologifyThirdPartyImport (Fqn.ThirdPartyImportContent p rest (Just name) _) = p ++ "." ++ List.intercalate "." rest ++ "." ++ name
 
 locationify :: Location -> String
 locationify l = let