From: Michael Tremer Date: Wed, 21 Dec 2011 23:15:58 +0000 (+0100) Subject: Improve inheritance of lexers. X-Git-Tag: 0.9.20~33^2~9^2~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=44cf798911b4efb927fe43ee4f02c71d1451934e;p=pakfire.git Improve inheritance of lexers. --- diff --git a/python/pakfire/packages/lexer.py b/python/pakfire/packages/lexer.py index 66811d5a9..1fc803a95 100644 --- a/python/pakfire/packages/lexer.py +++ b/python/pakfire/packages/lexer.py @@ -117,7 +117,14 @@ class Lexer(object): @property def definitions(self): - return self._definitions + definitions = {} + + if self.parent: + definitions.update(self.parent.definitions) + + definitions.update(self._definitions) + + return definitions @classmethod def open(cls, filename, *args, **kwargs): @@ -586,16 +593,6 @@ class TemplateLexer(DefaultLexer): # Inherit all scriptlets. self.scriptlets.update(other.scriptlets) - @property - def definitions(self): - definitions = {} - - assert self.parent - definitions.update(self.parent.definitions) - definitions.update(self._definitions) - - return definitions - def get_parsers(self): return [ (LEXER_SCRIPTLET_BEGIN, self.parse_scriptlet),