Newer
Older
from __future__ import annotations
class SfgHeaderInclude:
def __init__(self, header_file: str, system_header : bool = False, private: bool = False):
self._header_file = header_file
self._system_header = system_header
self._private = private
@property
def system_header(self):
return self._system_header
@property
def private(self):
return self._private
def get_code(self):
if self._system_header:
return f"#include <{self._header_file}>"
else:
return f'#include "{self._header_file}"'
def __hash__(self) -> int:
return hash((self._header_file, self._system_header, self._private))
def __eq__(self, other: SfgHeaderInclude) -> bool:
return (isinstance(other, SfgHeaderInclude)
and self._header_file == other._header_file
and self._system_header == other._system_header
and self._private == other._private)