class Bpl::AST::AssignStatement
Public Instance Methods
abstract() { |{ description: "havocing assigned variables", weight: count, action: proc do replace_with(*map{|id| bpl("havoc #{id};")}) end }| ... }
click to toggle source
# File lib/bpl/passes/transformation/abstraction.rb, line 185 def abstract ids = lhs.map do |expr| loop do break if expr.is_a?(Identifier) expr = expr.map end expr end yield({ description: "havocing assigned variables", weight: count, action: Proc.new do replace_with(*ids.map{|id| bpl("havoc #{id};")}) end }) end
show()
click to toggle source
# File lib/bpl/ast/statement.rb, line 39 def show "#{@lhs.map{|a| yield a} * ", "} := #{@rhs.map{|a| yield a} * ", "};" end