dhscanner-kbgen 1.0.14 → 1.0.15
raw patch · 2 files changed
+10/−6 lines, 2 filesdep ~dhscanner-bitcodePVP ok
version bump matches the API change (PVP)
Dependency ranges changed: dhscanner-bitcode
API changes (from Hackage documentation)
Files
- dhscanner-kbgen.cabal +2/−2
- src/Kbgen.hs +8/−4
dhscanner-kbgen.cabal view
@@ -33,7 +33,7 @@ * explain in plain English your query's purpose * et voilà ! -version: 1.0.14 +version: 1.0.15 license: GPL-3.0-only license-file: LICENSE author: OrenGitHub @@ -60,7 +60,7 @@ base >= 4.18 && < 4.19, containers < 0.7, dhscanner-ast >= 1.1.4, - dhscanner-bitcode >= 1.0.12 + dhscanner-bitcode >= 1.0.13 hs-source-dirs: src
src/Kbgen.hs view
@@ -296,7 +296,7 @@ -- This is how the fact will look inside the Prolog file -- -- @ --- kb_call_method_of_super( Call, Method, ResolvedSuper ). +-- kb_call_method_of_class( Call, Method, Class ). -- @ -- -- __When should I use this fact__ ( motivation: [CVE-2024-53995](https://nvd.nist.gov/vuln/detail/CVE-2024-53995) ) @@ -580,11 +580,15 @@ prologify_ConstString :: ConstString -> String prologify_ConstString (ConstString (ConstStr loc) (Token.ConstStr value _)) = prologify_ConstString' loc value -prologify_CallResolved' :: Location -> String -> String -prologify_CallResolved' call resolved = printf "kb_call_resolved( %s, \'%s\' )." (locationify call) resolved +prologify_CallResolved'' :: Location -> String -> Token.ClassName -> String +prologify_CallResolved'' call m c = printf "kb_call_method_of_class( %s, %s, %s )." (locationify call) m (locationify (Token.getClassNameLocation c)) +prologify_CallResolved' :: Location -> Fqn.Fqn -> String +prologify_CallResolved' call (Fqn.CallMethodOfClass _ m c) = prologify_CallResolved'' call m c +prologify_CallResolved' call fqn = printf "kb_call_resolved( %s, \'%s\' )." (locationify call) (show fqn) + prologify_CallResolved :: CallResolved -> String -prologify_CallResolved (CallResolved (Call call) (Resolved fqn)) = prologify_CallResolved' call (show fqn) +prologify_CallResolved (CallResolved (Call call) (Resolved fqn)) = prologify_CallResolved' call fqn prologify_ConstBoolTrue' :: Location -> String prologify_ConstBoolTrue' trueValue = printf "kb_class_name( %s, \'%s\' )." (locationify trueValue)