Kaba class SourceType ed

...

Syntax ed

class SourceType

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

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

    # constants
    let LOCAL: SourceType
    let REPO: SourceType
    let UNKNOWN: SourceType

Functions ed

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

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

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