lib/furnace/ssa/terminator_instruction.rb in furnace-0.4.0.beta.1 vs lib/furnace/ssa/terminator_instruction.rb in furnace-0.4.0.beta.2
- old
+ new
@@ -1,24 +1,24 @@
module Furnace
class SSA::TerminatorInstruction < SSA::Instruction
- def has_side_effects?
+ def terminator?
true
end
- def terminator?
- true
+ def has_side_effects?
+ exits?
end
def exits?
- raise NotImplementedError, "reimplement SSA::TerminatorInstruction#exits? in a subclass"
+ raise NotImplementedError, "reimplement #{self.class}#exits?"
end
def successors
operands.
select do |value|
- value.type == SSA::BasicBlockType.instance
+ value.type == SSA::BasicBlockType.new
end.map do |value|
value.name
end
end
end
-end
\ No newline at end of file
+end