--- a/Utilities/ClassBrowsers/idlclbr.py Fri Mar 11 08:55:14 2011 +0100 +++ b/Utilities/ClassBrowsers/idlclbr.py Fri Mar 11 16:51:57 2011 +0100 @@ -37,7 +37,7 @@ (?: oneway [ \t]+ )? (?: [a-zA-Z0-9_:]+ | void ) [ \t]* (?P<MethodName> [a-zA-Z_] [a-zA-Z0-9_]* ) - [ \t]* + [ \t]* \( (?P<MethodSignature> [^)]*? ) \); @@ -83,12 +83,13 @@ """, re.VERBOSE | re.DOTALL | re.MULTILINE).search # function to replace comments -_commentsub = re.compile(r"""//[^\n]*\n|//[^\n]*$""").sub +_commentsub = re.compile(r"""//[^\n]*\n|//[^\n]*$""").sub # function to normalize whitespace -_normalize = re.compile(r"""[ \t]{2,}""").sub +_normalize = re.compile(r"""[ \t]{2,}""").sub _modules = {} # cache of modules we've seen + class VisibilityMixin(ClbrBaseClasses.ClbrVisibilityMixinBase): """ Mixin class implementing the notion of visibility. @@ -99,6 +100,7 @@ """ self.setPublic() + class Module(ClbrBaseClasses.Module, VisibilityMixin): """ Class to represent a CORBA IDL module. @@ -115,6 +117,7 @@ ClbrBaseClasses.Module.__init__(self, module, name, file, lineno) VisibilityMixin.__init__(self) + class Interface(ClbrBaseClasses.Class, VisibilityMixin): """ Class to represent a CORBA IDL interface. @@ -132,11 +135,12 @@ ClbrBaseClasses.Class.__init__(self, module, name, super, file, lineno) VisibilityMixin.__init__(self) + class Function(ClbrBaseClasses.Function, VisibilityMixin): """ Class to represent a CORBA IDL function. """ - def __init__(self, module, name, file, lineno, signature = '', separator = ','): + def __init__(self, module, name, file, lineno, signature='', separator=','): """ Constructor @@ -147,10 +151,11 @@ @param signature parameterlist of the method @param separator string separating the parameters """ - ClbrBaseClasses.Function.__init__(self, module, name, file, lineno, + ClbrBaseClasses.Function.__init__(self, module, name, file, lineno, signature, separator) VisibilityMixin.__init__(self) + class Attribute(ClbrBaseClasses.Attribute, VisibilityMixin): """ Class to represent a CORBA IDL attribute. @@ -167,6 +172,7 @@ ClbrBaseClasses.Attribute.__init__(self, module, name, file, lineno) VisibilityMixin.__init__(self) + def readmodule_ex(module, path=[]): ''' Read a CORBA IDL file and return a dictionary of classes, functions and modules. @@ -196,7 +202,7 @@ return dict _modules[module] = dict - classstack = [] # stack of (class, indent) pairs + classstack = [] # stack of (class, indent) pairs indent = 0 try: src = Utilities.readEncodedFile(file)[0] @@ -246,7 +252,7 @@ else: dict_counts[meth_name] = 0 dict[meth_name] = f - classstack.append((f, thisindent)) # Marker for nested fns + classstack.append((f, thisindent)) # Marker for nested fns elif m.start("String") >= 0: pass