From a490be5dd95982f77ff1447bea9ee06604038a96 Mon Sep 17 00:00:00 2001 From: David Brazdil Date: Tue, 28 Apr 2015 13:53:59 +0100 Subject: 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 --- tools/checker/file_format/c1visualizer/struct.py | 60 ++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 tools/checker/file_format/c1visualizer/struct.py (limited to 'tools/checker/file_format/c1visualizer/struct.py') 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 -- cgit v1.2.3