Module: Duby::Compiler::JavaSource::Redoable
- Included in:
- ComplexWhileLoop, RedoableForLoop
- Defined in:
- lib/duby/jvm/source_generator/loops.rb
Instance Method Summary collapse
Instance Method Details
#break ⇒ Object
68 69 70 |
# File 'lib/duby/jvm/source_generator/loops.rb', line 68 def break compiler.method.puts "break #{@outer};" end |
#compile_with_redo(block) ⇒ Object
58 59 60 61 62 63 64 65 66 |
# File 'lib/duby/jvm/source_generator/loops.rb', line 58 def compile_with_redo(block) @redo = compiler.method.tmp(JVMTypes::Boolean) compiler.method.puts "#{@inner}:" compiler.method.block "do" do compiler.method.puts "#{@redo} = false;" block.compile(compiler, false) end compiler.method.puts "while (#{@redo});" end |
#next ⇒ Object
72 73 74 |
# File 'lib/duby/jvm/source_generator/loops.rb', line 72 def next compiler.method.puts "break #{@inner};" end |
#redo ⇒ Object
76 77 78 79 |
# File 'lib/duby/jvm/source_generator/loops.rb', line 76 def redo compiler.method.puts "#{@redo} = true;" compiler.method.puts "continue #{@inner};" end |