Sha256: 32acdcdbc8479993c1ebb204c35106f74c9eff29f87c866bd5a984966af7bcdc

Contents?: true

Size: 521 Bytes

Versions: 1

Compression:

Stored size: 521 Bytes

Contents

# frozen_string_literal: true

module Zapata
  module Primitive
    class Lvar < Base
      def node
        name = @code.to_a.first
        type = @code.type
        OpenStruct.new(type: type, name: name, body: @code)
      end

      def to_raw
        chosen_value = Predictor::Value.new(node.name, self).choose

        if chosen_value.respond_to?(:node) && chosen_value.node.body == node.body
          Missing.new(node.name).to_raw
        else
          chosen_value.to_raw
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
zapata-1.0.0 lib/zapata/primitive/lvar.rb