From a276c0b42d61433dd7fff9c092e682831d65e1f4 Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Sun, 28 May 2017 17:14:20 +0200 Subject: [PATCH] Try to add rules for normalizers. --- parso/normalizer.py | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/parso/normalizer.py b/parso/normalizer.py index f45033f..83db7a3 100644 --- a/parso/normalizer.py +++ b/parso/normalizer.py @@ -1,4 +1,16 @@ -class Normalizer(): +class Normalizer(object): + @classmethod + def register_rule(cls, rule): + """ + Use it as a class decorator: + + >>> normalizer = Normalizer() + >>> @normalizer.register_rule + >>> class MyRule(Rule): + >>> error_code = 42 + """ + return rule + def normalize(self, leaf): return leaf.prefix + leaf.value @@ -6,8 +18,14 @@ class Normalizer(): return iter([]) -class Error(): +class Error(object): def __init__(self, leaf, code, message): self._leaf = leaf self.code = code self.message = message + + +class Rule(object): + error_code = None + message = None + type = None