Sha256: d703baf94ec329304e1921dbc69f75bcd04364596996af7eba17ef9c3fc72c9d

Contents?: true

Size: 705 Bytes

Versions: 14

Compression:

Stored size: 705 Bytes

Contents

module Antlr4::Runtime
  class DoubleKeyMap
    def initialize
      @data = {}
    end

    def put(k1, k2, v)
      data2 = @data[k1]
      prev = nil
      if data2.nil?
        data2 = {}
        @data[k1] = data2
      else
        prev = data2[k2]
      end
      data2[k2] = v
      prev
    end

    def get2(k1, k2)
      data2 = @data[k1]
      return nil if data2.nil?

      data2[k2]
    end

    def get1(k1)
      @data[k1]
    end

    def values(k1)
      data2 = @data[k1]
      return nil if data2.nil?

      data2.values
    end

    def key_set0
      @data.keys
    end

    def key_set1(k1)
      data2 = @data[k1]
      return nil if data2.nil?

      data2.keys
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
antlr4-runtime-0.2.12 lib/antlr4/runtime/double_key_map.rb
antlr4-runtime-0.2.11 lib/antlr4/runtime/double_key_map.rb
antlr4-runtime-0.2.10 lib/antlr4/runtime/double_key_map.rb
antlr4-runtime-0.2.9 lib/antlr4/runtime/double_key_map.rb
antlr4-runtime-0.2.8 lib/antlr4/runtime/double_key_map.rb
antlr4-runtime-0.2.7 lib/antlr4/runtime/double_key_map.rb
antlr4-runtime-0.2.6 lib/antlr4/runtime/double_key_map.rb
antlr4-runtime-0.2.5 lib/antlr4/runtime/double_key_map.rb
antlr4-runtime-0.2.4 lib/antlr4/runtime/double_key_map.rb
antlr4-runtime-0.2.3 lib/antlr4/runtime/double_key_map.rb
antlr4-runtime-0.2.2 lib/antlr4/runtime/double_key_map.rb
antlr4-runtime-0.2.1 lib/antlr4/runtime/double_key_map.rb
antlr4-runtime-0.2.0 lib/antlr4/runtime/double_key_map.rb
antlr4-runtime-0.1.0 lib/antlr4/runtime/double_key_map.rb