Sha256: 20526dbb42c19ee27af091a9bbef3c25d95f13d860dde016584f1aa7565e68fe

Contents?: true

Size: 864 Bytes

Versions: 4

Compression:

Stored size: 864 Bytes

Contents

# frozen_string_literal: true


module MiniKraken
  module Core
    # A record of the fusion / merge of two or more logical variables.
    class Fusion
      # @return [String] i_name of substituting variable.
      attr_reader :i_name

      # @return [Array<String>] i_names of variables being substituted
      attr_reader :elements

      # Records the fusion of two or more logical variables.
      # The fused variables are substituted by a new variable
      # @param aName [String] Internal name of the substituting variable
      # @param fused [Array<String>] The i_names of the fused variables
      def initialize(aName, fused)
        @i_name = aName
        @elements = fused
      end

      # @return [Set] The empty set
      def dependencies(_ctx)
        @dependencies ||= Set.new(elements)
      end
    end # class
  end # module
end # module

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
mini_kraken-0.3.03 lib/mini_kraken/core/fusion.rb
mini_kraken-0.3.02 lib/mini_kraken/core/fusion.rb
mini_kraken-0.3.01 lib/mini_kraken/core/fusion.rb
mini_kraken-0.3.00 lib/mini_kraken/core/fusion.rb