Sha256: bd5dd06b419b6cb68c881c074424ea4bb7a04053fc419277259e96ad704a18ce

Contents?: true

Size: 509 Bytes

Versions: 2

Compression:

Stored size: 509 Bytes

Contents

module Gisele
  module Language
    module Syntax
      module CaseSt
        include Node

        def _to_ast
          var     = captures[:var_ref].first
          var     = var.to_ast if var
          var     = nil if var && var.empty?
          whens   = captures[:when_clause].map{|x| x.to_ast}
          els     = captures[:else_clause].map{|x| x.to_ast}
          [:case_st, var] + whens + els
        end

      end # module CaseSt
    end # module Syntax
  end # module Language
end # module Gisele

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
gisele-0.4.0 lib/gisele/language/syntax/case_st.rb
gisele-0.3.0 lib/gisele/language/syntax/case_st.rb