Sha256: d902991be2aafb7f84406e0ec3d18c99e5be8b05ca5dc5fa278d1e4944089d88

Contents?: true

Size: 750 Bytes

Versions: 1

Compression:

Stored size: 750 Bytes

Contents

module Furnace
  class SSA::NamedValue < SSA::Value
    attr_reader :function
    attr_reader :name

    def initialize(name=nil)
      super()

      @function = nil
      @name     = name
    end

    def name=(name)
      if @function
        @name = @function.make_name(name)
      else
        @name = name
      end

      SSA.instrument(self)
    end

    def function=(function)
      if @function != function
        @name     = function.make_name(@name)
        @function = function
      end

      SSA.instrument(self)
    end

    def detach
      @function = nil

      SSA.instrument(self)
    end

    def awesome_print_as_value(p=AwesomePrinter.new)
      p.name(@name)
    end

    def inspect
      awesome_print
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
furnace-0.4.0.beta.2 lib/furnace/ssa/named_value.rb