packages feed

dhscanner-kbgen 1.0.33 → 1.0.34

raw patch · 2 files changed

+23/−2 lines, 2 filesdep +filepathdep ~basePVP ok

version bump matches the API change (PVP)

Dependencies added: filepath

Dependency ranges changed: base

API changes (from Hackage documentation)

+ Kbgen: AssignValueToToplevelVarName :: AssignedValue -> VarName -> AssignValueToToplevelVarName
+ Kbgen: AssignValueToToplevelVarNameCtor :: AssignValueToToplevelVarName -> Fact
+ Kbgen: AssignedValue :: Location -> AssignedValue
+ Kbgen: data AssignValueToToplevelVarName
+ Kbgen: data AssignedValue
+ Kbgen: instance Data.Aeson.Types.FromJSON.FromJSON Kbgen.AssignValueToToplevelVarName
+ Kbgen: instance Data.Aeson.Types.FromJSON.FromJSON Kbgen.AssignedValue
+ Kbgen: instance Data.Aeson.Types.ToJSON.ToJSON Kbgen.AssignValueToToplevelVarName
+ Kbgen: instance Data.Aeson.Types.ToJSON.ToJSON Kbgen.AssignedValue
+ Kbgen: instance GHC.Classes.Eq Kbgen.AssignValueToToplevelVarName
+ Kbgen: instance GHC.Classes.Eq Kbgen.AssignedValue
+ Kbgen: instance GHC.Classes.Ord Kbgen.AssignValueToToplevelVarName
+ Kbgen: instance GHC.Classes.Ord Kbgen.AssignedValue
+ Kbgen: instance GHC.Generics.Generic Kbgen.AssignValueToToplevelVarName
+ Kbgen: instance GHC.Generics.Generic Kbgen.AssignedValue
+ Kbgen: instance GHC.Show.Show Kbgen.AssignValueToToplevelVarName
+ Kbgen: instance GHC.Show.Show Kbgen.AssignedValue

Files

dhscanner-kbgen.cabal view
@@ -33,7 +33,7 @@         * explain in plain English your query's purpose
         * et voilà !
 
-version:            1.0.33
+version:            1.0.34
 license:            GPL-3.0-only
 license-file:       LICENSE
 author:             OrenGitHub
@@ -57,7 +57,8 @@ 
     build-depends:
         aeson < 2.3,
-        base >= 4.18 && < 4.19,
+        filepath,
+        base >= 4.18 && < 4.21,
         containers < 0.7,
         dhscanner-ast >= 1.1.5,
         dhscanner-bitcode >= 1.0.16
src/Kbgen.hs view
@@ -57,6 +57,7 @@     ClassDef(..),
     FuncDef(..),
     Call1stPartyFuncDefinedInDir(..),
+    AssignValueToToplevelVarName(..),
     Call1stPartyFuncDefinedInFile(..),
     ParamName(..),
     CallMethodOfClass(..),
@@ -89,6 +90,7 @@     MethodName(..),
     ResolvedType(..),
     CallResolved(..),
+    AssignedValue(..),
     ResolvedSuper(..),
     FuncDefinedInDir(..),
     FuncDefinedInFile(..),
@@ -105,6 +107,7 @@ import Data.Aeson
 import Text.Printf
 import GHC.Generics
+import System.FilePath (takeDirectory)
 
 -- general qualified imports
 import qualified Data.List as List
@@ -355,6 +358,11 @@     FuncDefinedInFile -- ^
     deriving ( Show, Eq, Ord, Generic, ToJSON, FromJSON )
 
+data AssignValueToToplevelVarName = AssignValueToToplevelVarName
+    AssignedValue -- ^
+    Token.VarName -- ^
+    deriving ( Show, Eq, Ord, Generic, ToJSON, FromJSON )
+
 -- |
 --
 -- __Description:__
@@ -802,6 +810,7 @@ data Callable = Callable Location deriving ( Show, Eq, Ord, Generic, ToJSON, FromJSON )
 data ConstStr = ConstStr Location deriving ( Show, Eq, Ord, Generic, ToJSON, FromJSON )
 data Annotation = Annotation Location deriving ( Show, Eq, Ord, Generic, ToJSON, FromJSON )
+data AssignedValue = AssignedValue Location deriving ( Show, Eq, Ord, Generic, ToJSON, FromJSON )
 data ConstBoolTrue = ConstBoolTrue Location deriving ( Show, Eq, Ord, Generic, ToJSON, FromJSON )
 
 data Keyword = Keyword String deriving ( Show, Eq, Ord, Generic, ToJSON, FromJSON )
@@ -848,6 +857,7 @@    | CallableAnnotationCtor CallableAnnotation
    | ClassHas1stPartySuperCtor ClassHas1stPartySuper
    | ClassHas3rdPartySuperCtor ClassHas3rdPartySuper
+   | AssignValueToToplevelVarNameCtor AssignValueToToplevelVarName
    | Call1stPartyFuncDefinedInDirCtor Call1stPartyFuncDefinedInDir
    | Call1stPartyFuncDefinedInFileCtor Call1stPartyFuncDefinedInFile
    | CallMethodOfUntypedNamedParamCtor CallMethodOfUntypedNamedParam
@@ -880,6 +890,7 @@ prologify (CallableAnnotationCtor content) = prologify_CallableAnnotation content
 prologify (ClassHas1stPartySuperCtor content) = prologify_ClassHas1stPartySuper content
 prologify (ClassHas3rdPartySuperCtor content) = prologify_ClassHas3rdPartySuper content
+prologify (AssignValueToToplevelVarNameCtor content) = prologify_AssignValueToToplevelVarName content
 prologify (Call1stPartyFuncDefinedInDirCtor content) = prologify_Call1stPartyFuncDefinedInDir content
 prologify (Call1stPartyFuncDefinedInFileCtor content) = prologify_Call1stPartyFuncDefinedInFile content
 prologify (CallMethodOfUntypedNamedParamCtor content) = prologify_CallMethodOfUntypedNamedParam content
@@ -962,6 +973,15 @@  
 prologify_ClassHas3rdPartySuper :: ClassHas3rdPartySuper -> String
 prologify_ClassHas3rdPartySuper (ClassHas3rdPartySuper (Class c) (Token.SuperName (Token.Named s _)) (SuperQualifiedName f)) = prologify_ClassHas3rdPartySuper' c s f
+
+prologify_AssignValueToToplevelVarName :: AssignValueToToplevelVarName -> String
+prologify_AssignValueToToplevelVarName (AssignValueToToplevelVarName value varname) = prologify_AssignValueToToplevelVarName' value varname
+
+prologify_AssignValueToToplevelVarName' :: AssignedValue -> Token.VarName -> String
+prologify_AssignValueToToplevelVarName' (AssignedValue value) (Token.VarName (Token.Named varname l)) = prologify_AssignValueToToplevelVarName'' value varname (Location.filename l)
+
+prologify_AssignValueToToplevelVarName'' :: Location -> String -> FilePath -> String
+prologify_AssignValueToToplevelVarName'' value varname f = printf "kb_assign_value_to_toplevel_varname( %s, \'%s\', \'%s\', \'%s\')." (locationify value) varname f (takeDirectory f)
 
 prologify_Call1stPartyFuncDefinedInFile :: Call1stPartyFuncDefinedInFile -> String
 prologify_Call1stPartyFuncDefinedInFile (Call1stPartyFuncDefinedInFile call func f) = prologify_Call1stPartyFuncDefinedInFile' call func f