Sha256: 57cd86458ed1a80f13d0e560bd6f0200926859a6ff33e307034bc6e0ac1b6a97

Contents?: true

Size: 397 Bytes

Versions: 3

Compression:

Stored size: 397 Bytes

Contents

module Xdrgen::AST
  module Definitions
    class UnionBody < Base
      extend Memoist

      memoize def arms
        [
          normal_arms,
          default_arm,
        ].flatten.compact
      end

      def normal_arms
        arms_n.elements.select{|c| c.is_a?(UnionArm)}
      end

      def default_arm
        default_case_n unless default_case_n.terminal?
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
xdrgen-0.1.1 lib/xdrgen/ast/definitions/union_body.rb
xdrgen-0.1.0 lib/xdrgen/ast/definitions/union_body.rb
xdrgen-0.0.1 lib/xdrgen/ast/definitions/union_body.rb