Sha256: fe83db10a5aeeed1caa48a172316574605045d12c1cf21bc8b50e3ba76ba976a

Contents?: true

Size: 508 Bytes

Versions: 4

Compression:

Stored size: 508 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

4 entries across 4 versions & 2 rubygems

Version Path
gisele-language-0.6.0 lib/gisele/language/syntax/case_st.rb
gisele-language-0.5.1 lib/gisele/language/syntax/case_st.rb
gisele-language-0.5.0 lib/gisele/language/syntax/case_st.rb
gisele-0.5.0 lib/gisele/language/syntax/case_st.rb