class Metasm::C::Statement
Public Class Methods
dump(e, scope, r=[CRenderString.new], dep=[])
click to toggle source
# File metasm/parse_c.rb, line 3372 def self.dump(e, scope, r=[CRenderString.new], dep=[]) case e when nil; r.last << ';' when Block r.last << ' ' if not r.last.empty? r.last << '{' tr, dep = e.dump(scope, [CRenderString.new], dep) tr.pop if tr.last.empty? r.concat tr.map { |s| Case.dump_indent(s) } (r.last[-1] == ?{ ? r.last : r) << CRenderString.new('}') else tr, dep = e.dump(scope, [CRenderString.new], dep) r.concat tr.map { |s| Case.dump_indent(s) } end [r, dep] end
Public Instance Methods
precompile_make_block(scope)
click to toggle source
turns a statement into a new block
# File metasm/compile_c.rb, line 442 def precompile_make_block(scope) b = Block.new scope b.statements << self b end
to_s()
click to toggle source
# File metasm/parse_c.rb, line 3389 def to_s dump(Block.new(nil))[0].join(' ') end