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 +3/−2
- src/Kbgen.hs +20/−0
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