diff options
author | David Brazdil <dbrazdil@google.com> | 2015-04-28 13:53:59 +0100 |
---|---|---|
committer | David Brazdil <dbrazdil@google.com> | 2015-05-12 17:05:28 +0100 |
commit | a490be5dd95982f77ff1447bea9ee06604038a96 (patch) | |
tree | b08302c509e569590d4f506743467156eea6d836 /tools/checker/file_format/c1visualizer/struct.py | |
parent | 987b2e66de00d754d19b6f59a17891dd34e04e61 (diff) |
ART: Split Checker into smaller files
Checker code has become too messy and incomprehensible. This patch
splits it into more manageable and better structured units.
Functionality remains unchanged.
Change-Id: I870c69827d2be2d09196a51382a3f47f31cd2ba3
Diffstat (limited to 'tools/checker/file_format/c1visualizer/struct.py')
-rw-r--r-- | tools/checker/file_format/c1visualizer/struct.py | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/tools/checker/file_format/c1visualizer/struct.py b/tools/checker/file_format/c1visualizer/struct.py new file mode 100644 index 0000000000..0462765f19 --- /dev/null +++ b/tools/checker/file_format/c1visualizer/struct.py @@ -0,0 +1,60 @@ +# Copyright (C) 2015 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from common.logger import Logger +from common.mixins import PrintableMixin + +class C1visualizerFile(PrintableMixin): + + def __init__(self, fileName): + self.fileName = fileName + self.passes = [] + + def addPass(self, new_pass): + self.passes.append(new_pass) + + def findPass(self, name): + for entry in self.passes: + if entry.name == name: + return entry + return None + + def __eq__(self, other): + return isinstance(other, self.__class__) \ + and self.passes == other.passes + + +class C1visualizerPass(PrintableMixin): + + def __init__(self, parent, name, body, startLineNo): + self.parent = parent + self.name = name + self.body = body + self.startLineNo = startLineNo + + if not self.name: + Logger.fail("C1visualizer pass does not have a name", self.fileName, self.startLineNo) + if not self.body: + Logger.fail("C1visualizer pass does not have a body", self.fileName, self.startLineNo) + + self.parent.addPass(self) + + @property + def fileName(self): + return self.parent.fileName + + def __eq__(self, other): + return isinstance(other, self.__class__) \ + and self.name == other.name \ + and self.body == other.body |