Class: Sexp

Inherits:
Object
  • Object
show all
Defined in:
lib/ruby_parser_extras.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#parenObject



1330
1331
1332
# File 'lib/ruby_parser_extras.rb', line 1330

def paren
  @paren ||= false
end

Instance Method Details

#add(x) ⇒ Object



1344
1345
1346
# File 'lib/ruby_parser_extras.rb', line 1344

def add x
  concat x
end

#add_all(x) ⇒ Object



1348
1349
1350
# File 'lib/ruby_parser_extras.rb', line 1348

def add_all x
  raise "no: #{self.inspect}.add_all #{x.inspect}" # TODO: need a test to trigger this
end

#block_pass?Boolean

Returns:

  • (Boolean)


1352
1353
1354
# File 'lib/ruby_parser_extras.rb', line 1352

def block_pass?
  any? { |s| Sexp === s && s[0] == :block_pass }
end

#to_symObject



1339
1340
1341
1342
# File 'lib/ruby_parser_extras.rb', line 1339

def to_sym
  raise "no"
  self.value.to_sym
end

#valueObject



1334
1335
1336
1337
# File 'lib/ruby_parser_extras.rb', line 1334

def value
  raise "multi item sexp" if size > 2
  last
end