from abc import ABC, abstractmethod
from codeanalysis.syntaxkind import SyntaxKind
from typing import Any, List


class SyntaxNode(ABC):
    """Structure to support a Syntax Token Node. 
    :param ABC: Since this will be an abstract base class - inheriting from ABC
    """

    def __init__(self) ->None:
        return

    @property
    @abstractmethod
    def kind(self) ->SyntaxKind:
        pass
    """Every derived class must state what kind of token it is.
    """

    @property
    @abstractmethod
    def get_children(self) ->List[Any]:
        pass
    """A node may have children
    """

8fa57b45a645c947d2cc579c8fdd54333cd9f970
<mask token>


class SyntaxNode(ABC):
    <mask token>

    def __init__(self) ->None:
        return
    <mask token>
    <mask token>

    @property
    @abstractmethod
    def get_children(self) ->List[Any]:
        pass
    <mask token>

<mask token>


class SyntaxNode(ABC):
    <mask token>

    def __init__(self) ->None:
        return

    @property
    @abstractmethod
    def kind(self) ->SyntaxKind:
        pass
    <mask token>

    @property
    @abstractmethod
    def get_children(self) ->List[Any]:
        pass
    <mask token>

<mask token>


class SyntaxNode(ABC):
    """Structure to support a Syntax Token Node. 
    :param ABC: Since this will be an abstract base class - inheriting from ABC
    """

    def __init__(self) ->None:
        return

    @property
    @abstractmethod
    def kind(self) ->SyntaxKind:
        pass
    """Every derived class must state what kind of token it is.
    """

    @property
    @abstractmethod
    def get_children(self) ->List[Any]:
        pass
    """A node may have children
    """

from abc import ABC, abstractmethod
from codeanalysis.syntaxkind import SyntaxKind
from typing import Any, List


class SyntaxNode(ABC):
    """Structure to support a Syntax Token Node. 
    :param ABC: Since this will be an abstract base class - inheriting from ABC
    """

    def __init__(self) ->None:
        return

    @property
    @abstractmethod
    def kind(self) ->SyntaxKind:
        pass
    """Every derived class must state what kind of token it is.
    """

    @property
    @abstractmethod
    def get_children(self) ->List[Any]:
        pass
    """A node may have children
    """
