40 lines
839 B
Python
40 lines
839 B
Python
from abc import ABC, abstractmethod
|
|
|
|
from cpl_core.console.console import Console
|
|
from cpl_core.console.foreground_color_enum import ForegroundColorEnum
|
|
|
|
from runtime.model.error import Error
|
|
|
|
|
|
class RuntimeServiceABC(ABC):
|
|
|
|
@abstractmethod
|
|
def __init__(self): pass
|
|
|
|
@property
|
|
@abstractmethod
|
|
def line_count(self) -> int: pass
|
|
|
|
@line_count.setter
|
|
@abstractmethod
|
|
def line_count(self, line_count: int): pass
|
|
|
|
@property
|
|
def file(self) -> str:
|
|
return self._file
|
|
@file.setter
|
|
def file(self, value: str):
|
|
self._file = value
|
|
|
|
@abstractmethod
|
|
def input(self, prefix: str) -> str: pass
|
|
|
|
@abstractmethod
|
|
def output(self, text: str): pass
|
|
|
|
@abstractmethod
|
|
def error(self, error: Error): pass
|
|
|
|
@abstractmethod
|
|
def runtime_error(self, error: Error): pass
|