Sha256: 6c4280d743a302f8472e55693b16a103f9a7d610c43886e465efc9a9db409b7c

Contents?: true

Size: 360 Bytes

Versions: 11

Compression:

Stored size: 360 Bytes

Contents

require 'rubygems'
require 'sexp'

class Sexp
  def accept(visitor)
    visitor.visit(self)
  end

  def node_type
    first
  end

  def children
    find_all { | sexp | Sexp === sexp }
  end
  
  def is_language_node?
    first.class == Symbol
  end
  
  def visitable_children
    parent = is_language_node? ? sexp_body : self
    parent.children
  end
end

Version data entries

11 entries across 11 versions & 3 rubygems

Version Path
roodi-3.1.0 lib/roodi/core/visitable_sexp.rb
roodi-3.0.1 lib/roodi/core/visitable_sexp.rb
roodi-3.0.0 lib/roodi/core/visitable_sexp.rb
metric_fu-roodi-2.2.2 lib/roodi/core/visitable_sexp.rb
metric_fu-roodi-2.2.1 lib/roodi/core/visitable_sexp.rb
roodi-2.2.0 lib/roodi/core/visitable_sexp.rb
metric_fu-roodi-2.2.0 lib/roodi/core/visitable_sexp.rb
roodi1.9-2.0.1 lib/roodi/core/visitable_sexp.rb
roodi-2.1.0 lib/roodi/core/visitable_sexp.rb
roodi-2.0.1 lib/roodi/core/visitable_sexp.rb
roodi-2.0.0 lib/roodi/core/visitable_sexp.rb