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 +1/−1
- src/Kbgen.hs +15/−1
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