Kaba class Action ed

...

Syntax ed

class Action

    # functions
    func static pure all(type: Class&) -> Action[]
    func static pure from_int(i: i32) -> Action
    func static pure parse(label: string, type: Class&) -> Action

    # operators
    func pure __i32__() -> i32           # i32(Action) -> i32
    func static __assign__(a: Action, b: Action) # Action = Action
    func pure __add__(b: Action) -> Action # Action + Action -> Action
    func static __iadd__(a: Action, b: Action) # Action += Action
    func pure __eq__(b: Action) -> bool  # Action == Action -> bool
    func pure __neq__(b: Action) -> bool # Action __neq__ Action -> bool
    func pure __bitand__(b: Action) -> Action # Action & Action -> Action
    func pure __bitor__(b: Action) -> Action # Action | Action -> Action

    # constants
    const MIRROR: Action
    const MOVE: Action
    const ONCE: Action
    const ROTATE: Action
    const ROTATE_2D: Action
    const SCALE: Action
    const SCALE_2D: Action
    const SELECT: Action

Functions ed

func static pure all(type: Class&) -> Action[]
...

func static pure from_int(i: i32) -> Action
...

func static pure parse(label: string, type: Class&) -> Action
...