diff --git a/src/arch/interface/icinstruction.py b/src/arch/interface/icinstruction.py new file mode 100644 index 000000000..7a75eb375 --- /dev/null +++ b/src/arch/interface/icinstruction.py @@ -0,0 +1,5 @@ +from enum import StrEnum + + +class ICInstruction(StrEnum): + pass diff --git a/src/arch/interface/quad.py b/src/arch/interface/quad.py index 4606dafce..d649edaf3 100644 --- a/src/arch/interface/quad.py +++ b/src/arch/interface/quad.py @@ -7,9 +7,10 @@ from dataclasses import dataclass -from src.arch.z80.backend.icinstruction import ICInstruction from src.symbols.symbol_ import Symbol +from .icinstruction import ICInstruction + __all__ = ("Quad",) diff --git a/src/arch/z80/backend/icinstruction.py b/src/arch/z80/backend/icinstruction.py index 32f09ff73..0b9ed3d5b 100644 --- a/src/arch/z80/backend/icinstruction.py +++ b/src/arch/z80/backend/icinstruction.py @@ -5,17 +5,17 @@ # See https://www.gnu.org/licenses/agpl-3.0.html for details. # -------------------------------------------------------------------- -from enum import StrEnum from functools import lru_cache from typing import Any +from src.arch.interface.icinstruction import ICInstruction as ICInstructionInterface from src.arch.z80.backend.exception import InvalidICError __all__ = ("ICInstruction",) # HINT: Do not use Enums here. They cannot be subclassed -class ICInstruction(StrEnum): +class ICInstruction(ICInstructionInterface): ADDU8 = "addu8" ADDI8 = "addi8" ADDI16 = "addi16"