Sha256: 7e9623232694816a99f1c5fdcefab0b86752c6f79d5665549236e1781886aef6
Contents?: true
Size: 696 Bytes
Versions: 2
Compression:
Stored size: 696 Bytes
Contents
module Yoda module Typing module Tree class Case < Base # @return [[Store::Types::Base, Environment]] def infer_case_node # TODO Types::Union.new([*when_body_nodes, else_node].map { |node| infer(node) }) end def children @children ||= [subject, *when_branches, else_branch] end def subject @subject ||= build_child(node.children.first) end def when_branches @when_branches ||= node.children.slice(1, -2).map(&method(:build_child)) end def else_branch @else_branch ||= build_child(node.children.last) end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
yoda-language-server-0.9.0 | lib/yoda/typing/tree/case.rb |
yoda-language-server-0.8.0 | lib/yoda/typing/tree/case.rb |