[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [pykde5/srhaque-new-sip-generator] sip_generation: Some tracing for the MethodCode logic.
From: Shaheed Haque <srhaque () theiet ! org>
Date: 2016-04-30 18:25:35
Message-ID: E1awZaB-0005ih-72 () scm ! kde ! org
[Download RAW message or body]
Git commit 3205c1ea48934f4036621363867170ec4957f286 by Shaheed Haque.
Committed on 30/04/2016 at 18:25.
Pushed by shaheed into branch 'srhaque-new-sip-generator'.
Some tracing for the MethodCode logic.
M +3 -3 sip_generation/PyKF5_methodcode.py
M +21 -1 sip_generation/rules_engine.py
M +2 -0 sip_generation/sip_bulk_generator.py
http://commits.kde.org/pykde5/3205c1ea48934f4036621363867170ec4957f286
diff --git a/sip_generation/PyKF5_methodcode.py b/sip_generation/PyKF5_methodcode.py
index 90af577..ec1665a 100644
--- a/sip_generation/PyKF5_methodcode.py
+++ b/sip_generation/PyKF5_methodcode.py
@@ -1065,6 +1065,9 @@ code = {
delete list;
"""
},
+},
+"KFontChooser":
+{
"KFontChooser":
{
"decl": "QWidget* parent /TransferThis/ = 0, const \
KFontChooser::DisplayFlags& flags = KFontChooser::DisplayFrame, const QStringList& \
fontList = QStringList(), int visibleListSize = 8, Qt::CheckState* \
sizeIsRelativeState = 0", @@ -1077,9 +1080,6 @@ code = {
Py_END_ALLOW_THREADS
"""
},
-},
-"KFontChooser":
-{
"KFontChooser":
{
"decl": "QWidget* parent /TransferThis/ = 0, const \
KFontChooser::DisplayFlags& flags = KFontChooser::NoDisplayFlags, const QStringList& \
fontlist = QStringList(), Qt::CheckState* sizeIsRelativeState = 0",
diff --git a/sip_generation/rules_engine.py b/sip_generation/rules_engine.py
index 6f512bd..cf4392e 100755
--- a/sip_generation/rules_engine.py
+++ b/sip_generation/rules_engine.py
@@ -574,6 +574,21 @@ class AbstractCompiledCodeDb(object):
entry["usage"] += 1
return entry
+ def trace_result(self, parents, item, original, modified):
+ fqn = parents + "::" + original["name"] + "[" + str(item.extent.start.line) \
+ "]" + if not modified["name"]:
+ logger.debug(_("Rule {} suppressed {}, {}").format(self, fqn, original))
+ else:
+ delta = False
+ for k, v in original.iteritems():
+ if v != modified[k]:
+ delta = True
+ break
+ if delta:
+ logger.debug(_("Rule {} modified {}, {}->{}").format(self, fqn, \
original, modified)) + else:
+ logger.warn(_("Rule {} did not modify {}, {}").format(self, fqn, \
original)) +
class MethodCodeDb(AbstractCompiledCodeDb):
__metaclass__ = ABCMeta
@@ -591,6 +606,7 @@ class MethodCodeDb(AbstractCompiledCodeDb):
sip["fn_result2"] = ""
sip["code"] = ""
if entry:
+ before = deepcopy(sip)
sip["decl"] = entry.get("decl", sip["decl"])
sip["fn_result"] = entry.get("fn_result", sip["fn_result"])
#
@@ -606,6 +622,7 @@ class MethodCodeDb(AbstractCompiledCodeDb):
text = textwrap.dedent(entry["code"]).strip()
text = [" " + t for t in text.split("\n")]
sip["code"] = self.directive + "\n".join(text) + "\n%End\n"
+ self.trace_result(_parents(function), function, before, sip)
class RuleSet(object):
@@ -710,7 +727,10 @@ class RuleSet(object):
def dump_unused(self):
def dumper(db_name, rule, usage):
- logger.error(_("{}, rule {}, used {}".format(db_name, rule, usage)))
+ if usage:
+ logger.info(_("Used rule {}::{} {} times".format(db_name, rule, \
usage))) + else:
+ logger.error(_("Did not use rule {}::{}".format(db_name, rule)))
for db in [self._methodcode]:
db.dump_usage(dumper)
diff --git a/sip_generation/sip_bulk_generator.py \
b/sip_generation/sip_bulk_generator.py index bece3f9..e3889a3 100755
--- a/sip_generation/sip_bulk_generator.py
+++ b/sip_generation/sip_bulk_generator.py
@@ -407,6 +407,8 @@ def main(argv=None):
rules = rules_engine.rules(args.project_rules, args.includes + "," + \
args.sources, args.sips)
d = SipBulkGenerator(rules, args.omit, args.select, args.sources, args.sip)
d.process_tree()
+ if args.verbose:
+ rules.dump_unused()
except Exception as e:
tbk = traceback.format_exc()
print(tbk)
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic