Sha256: e4a47b529626d24cee582d19392b87e9e35fb8adca2a75b5dc3d756eba896b0b

Contents?: true

Size: 767 Bytes

Versions: 26

Compression:

Stored size: 767 Bytes

Contents

module BEL
  module LibBEL

    class BelToken < FFI::Struct

      layout :type,      :bel_token_type,
             :pos_start, :int,
             :pos_end,   :int,
             :value,     :pointer

      def type
        self[:type]
      end

      def pos_start
        self[:pos_start]
      end

      def pos_end
        self[:pos_end]
      end

      def value
        self[:value].read_string
      end

      def hash
        [self.type, self.value, self.pos_start, self.pos_end].hash
      end

      def ==(other)
        return false if other == nil
        self.type == other.type && self.value == other.value &&
          self.pos_start == other.pos_start && self.pos_end == other.pos_end
      end

      alias_method :eql?, :'=='
    end
  end
end

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
bel-1.1.2 lib/bel/libbel/bel_token.rb
bel-1.1.1 lib/bel/libbel/bel_token.rb
bel-1.1.0 lib/bel/libbel/bel_token.rb
bel-1.0.1 lib/bel/libbel/bel_token.rb
bel-1.0.0 lib/bel/libbel/bel_token.rb
bel-0.7.0 lib/bel/libbel/bel_token.rb
bel-0.6.0 lib/bel/libbel/bel_token.rb
bel-0.5.0 lib/bel/libbel/bel_token.rb
bel-0.4.2 lib/bel/libbel/bel_token.rb
bel-0.4.1 lib/bel/libbel/bel_token.rb
bel-0.4.0 lib/bel/libbel/bel_token.rb
bel-0.4.0.beta.13 lib/bel/libbel/bel_token.rb
bel-0.4.0.beta.12 lib/bel/libbel/bel_token.rb
bel-0.4.0.beta.11 lib/bel/libbel/bel_token.rb
bel-0.4.0.beta.10 lib/bel/libbel/bel_token.rb
bel-0.4.0.beta.9 lib/bel/libbel/bel_token.rb
bel-0.4.0.beta.8 lib/bel/libbel/bel_token.rb
bel-0.4.0.beta.7 lib/bel/libbel/bel_token.rb
bel-0.4.0.beta.5 lib/bel/libbel/bel_token.rb
bel-0.4.0.beta.4 lib/bel/libbel/bel_token.rb