Update of /cvsroot/pygccxml/source/pyplusplus/experimental
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9748
Modified Files:
declwrapper.py
Log Message:
Added support for logging the decoration operations
Index: declwrapper.py
===================================================================
RCS file: /cvsroot/pygccxml/source/pyplusplus/experimental/declwrapper.py,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** declwrapper.py 22 Mar 2006 10:44:56 -0000 1.7
--- declwrapper.py 28 Mar 2006 12:12:09 -0000 1.8
***************
*** 22,25 ****
--- 22,26 ----
default_recursive = False
query_log = None
+ decoration_log = None
# If this is set to True an attempt to decorate a declaration will
***************
*** 121,124 ****
--- 122,127 ----
self._checkLock()
for d in self._iterContained():
+ if decoration_log!=None:
+ self._logDecoration("expose", d)
d.include()
return self
***************
*** 138,141 ****
--- 141,146 ----
self._checkLock()
for d in self._iterContained():
+ if decoration_log!=None:
+ self._logDecoration("ignore", d)
d.exclude()
return self
***************
*** 162,165 ****
--- 167,172 ----
self._checkLock()
for decl in self._iterContained(recursive=False):
+ if decoration_log!=None:
+ self._logDecoration("rename(%s)"%name, decl)
decl.rename(name)
return self
***************
*** 173,176 ****
--- 180,185 ----
self._checkLock()
for decl in self._iterContained():
+ if decoration_log!=None:
+ self._logDecoration("finalize", decl)
decl.finalize()
return self
***************
*** 185,188 ****
--- 194,199 ----
self._checkLock()
for decl in self._iterContained():
+ if decoration_log!=None:
+ self._logDecoration("setPolicy(...)", decl)
decl.call_policies = policy
***************
*** 195,198 ****
--- 206,211 ----
self._checkLock()
for decl in self._iterContained():
+ if decoration_log!=None:
+ self._logDecoration("setHeldType(%s)"%heldtype, decl)
decl.held_type = heldType
return self
***************
*** 205,208 ****
--- 218,223 ----
self._checkLock()
for decl in self._iterContained():
+ if decoration_log!=None:
+ self._logDecoration("disableKeyWord", decl)
decl.use_keywords = False
# if ( isinstance(decl, calldef_t) and
***************
*** 659,662 ****
--- 674,692 ----
yield node
+ # _logDecoration
+ def _logDecoration(self, operation, decl):
+ """Write a line into the decoration log.
+
+ @param operation: Name of the decoration operation
+ @type operation: str
+ @param decl: Declaration that was decorated
+ @type decl: declaration_t
+ """
+ global decoration_log
+ if self.funcname==None:
+ print >>decoration_log, "%s,%d;%s; %s "%(self.filename, self.linenr, operation, decl)
+ else:
+ print >>decoration_log, "%s,%s(),%d;%s; %s "%(self.filename, self.funcname, self.linenr, operation, decl)
+
# _sourceInfo
def _sourceInfo(self):
|