summaryrefslogtreecommitdiff
path: root/tools/checker/file_format/c1visualizer/struct.py
diff options
context:
space:
mode:
Diffstat (limited to 'tools/checker/file_format/c1visualizer/struct.py')
-rw-r--r--tools/checker/file_format/c1visualizer/struct.py44
1 files changed, 26 insertions, 18 deletions
diff --git a/tools/checker/file_format/c1visualizer/struct.py b/tools/checker/file_format/c1visualizer/struct.py
index 991564eff4..9428a0e5f6 100644
--- a/tools/checker/file_format/c1visualizer/struct.py
+++ b/tools/checker/file_format/c1visualizer/struct.py
@@ -12,49 +12,57 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+import os
+
+from common.immutables import ImmutableDict
from common.logger import Logger
from common.mixins import PrintableMixin
-class C1visualizerFile(PrintableMixin):
- def __init__(self, fileName):
- self.fileName = fileName
+class C1visualizerFile(PrintableMixin):
+ def __init__(self, filename):
+ self.base_file_name = os.path.basename(filename)
+ self.full_file_name = filename
self.passes = []
+ self.instruction_set_features = ImmutableDict()
- def addPass(self, new_pass):
+ def set_isa_features(self, features):
+ self.instruction_set_features = ImmutableDict(features)
+
+ def add_pass(self, new_pass):
self.passes.append(new_pass)
- def findPass(self, name):
+ def find_pass(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
+ return (isinstance(other, self.__class__)
+ and self.passes == other.passes
+ and self.instruction_set_features == other.instruction_set_features)
class C1visualizerPass(PrintableMixin):
-
- def __init__(self, parent, name, body, startLineNo):
+ def __init__(self, parent, name, body, start_line_no):
self.parent = parent
self.name = name
self.body = body
- self.startLineNo = startLineNo
+ self.start_line_no = start_line_no
if not self.name:
- Logger.fail("C1visualizer pass does not have a name", self.fileName, self.startLineNo)
+ Logger.fail("C1visualizer pass does not have a name", self.filename, self.start_line_no)
if not self.body:
- Logger.fail("C1visualizer pass does not have a body", self.fileName, self.startLineNo)
+ Logger.fail("C1visualizer pass does not have a body", self.filename, self.start_line_no)
- self.parent.addPass(self)
+ self.parent.add_pass(self)
@property
- def fileName(self):
- return self.parent.fileName
+ def filename(self):
+ return self.parent.base_file_name
def __eq__(self, other):
- return isinstance(other, self.__class__) \
- and self.name == other.name \
- and self.body == other.body
+ return (isinstance(other, self.__class__)
+ and self.name == other.name
+ and self.body == other.body)