Kaba class EdgeType ed

...

Syntax ed

class EdgeType

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

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

    # constants
    let CABLE: EdgeType
    let CAPACITOR: EdgeType
    let DIODE: EdgeType
    let INDUCTOR: EdgeType
    let RESISTOR: EdgeType
    let SOURCE: EdgeType

Functions ed

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

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

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