from dataclasses import dataclass, field from typing import Set from .base import * @dataclass(frozen=True,eq=True) class ConstType(Type): of: Type def __hash__(self): return hash(("const", self.of)) def type(self, specialize_templates: bool = False, without_template: bool = False) -> str: return f"{self.of.type(specialize_templates=specialize_templates,without_template=without_template)} const" def traverse(self, callback, depth): should_exit = callback(self, depth) if not should_exit: self.of.traverse(callback, depth + 1)