RaCoCo result: Red::AST::Case

# Red::AST::Case 81.8%

    use Red::AST;
    use Red::AST::Unary;
    use Red::AST::Infixes;
    use Red::AST::Value;

    #| Represents a case statement
    unit class Red::AST::Case does Red::AST;
    #also does Red::AST::Optimizer::Case;

    has Red::AST $.case;
    has Red::AST %.when{Red::AST};
    has Red::AST $.else;

    multi method new(Red::AST :$case, Red::AST :%when, Red::AST :$else is copy) {
        my \case-ret = self.optimize: :$case, :%when, :$else;
        return case-ret if case-ret.DEFINITE && case-ret !~~ Empty;

        self.WHAT.bless: :$case, :%when, :$else
    }

    method args {
        $!case, |%!when.kv, $!else
    }

    method returns {
        #%!when.head.value.returns
    }

    method find-column-name {}