From d5c4030527361fb73ddd183d69c3187a80d915d6 Mon Sep 17 00:00:00 2001 From: Lerking Date: Thu, 21 Feb 2019 22:57:38 +0100 Subject: [PATCH] Updated analyze_typedef --- lineanalyzer.py | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/lineanalyzer.py b/lineanalyzer.py index 1e66166..ee0291d 100644 --- a/lineanalyzer.py +++ b/lineanalyzer.py @@ -17,14 +17,15 @@ class ANALYZEOBJECT: self.comment = False self.typedef = False self.members = False + self.ts = '' def analyze(self,l): + if l == '' or l == '\n': + return l if self.typedef == True: rv = self.analyze_typedef(l) if rv != False: return rv - if l == '' or l == '\n': - return l rv = self.analyze_comment(l) if rv != False: return rv @@ -60,25 +61,32 @@ class ANALYZEOBJECT: return False def analyze_typedef(self,l): - ts = '' - ts += l + if self.typedef == False: + self.ts = '' + self.ts += l s = l.split() w = [w for w in s] if w[0] == 'typedef': if w[1] == 'struct': if w[-1].endswith(';'): self.typedef = False - return ts + return self.ts else: self.typedef = True return 'next' if w[1] == 'enum': if w[-1].endswith(';'): self.typedef = False - return ts + return self.ts else: self.typedef = True return 'next' + if self.typedef == True: + if w[0].startswith('{'): + return self.ts + if w[0].startswith('}'): + self.typedef = False + return self.ts return False def analyze_struct(self,l): @@ -108,6 +116,7 @@ class ANALYZER(ANALYZEOBJECT): _passes = count(0) def __init__(self): + ANALYZEOBJECT.__init__(self) self.id = next(self._ids) self.tupline = [] self.tupfile = []