Class: SeccompTools::Disasm::Context::Value

Inherits:
Object
  • Object
show all
Defined in:
lib/seccomp-tools/disasm/context.rb

Overview

Records the type and value.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(rel: :imm, val: nil) ⇒ Value

Returns a new instance of Value.

Parameters:

  • rel (:imm, :data, :mem) (defaults to: :imm)
  • val (Integer?) (defaults to: nil)


21
22
23
24
# File 'lib/seccomp-tools/disasm/context.rb', line 21

def initialize(rel: :imm, val: nil)
  @rel = rel
  @val = val
end

Instance Attribute Details

#valInteger (readonly)

Returns:

  • (Integer)


17
18
19
# File 'lib/seccomp-tools/disasm/context.rb', line 17

def val
  @val
end

Instance Method Details

#data?Boolean

Returns:

  • (Boolean)


27
28
29
# File 'lib/seccomp-tools/disasm/context.rb', line 27

def data?
  @rel == :data
end

#eql?(other) ⇒ Boolean

Defines eql?.

Parameters:

Returns:

  • (Boolean)


46
47
48
# File 'lib/seccomp-tools/disasm/context.rb', line 46

def eql?(other)
  @val == other.val && @rel == other.instance_variable_get(:@rel)
end

#hashInteger

Defines hash function.

Returns:

  • (Integer)


38
39
40
# File 'lib/seccomp-tools/disasm/context.rb', line 38

def hash
  @rel.hash ^ @val.hash
end

#imm?Boolean

Returns:

  • (Boolean)


32
33
34
# File 'lib/seccomp-tools/disasm/context.rb', line 32

def imm?
  @rel == :imm && @val.is_a?(Integer)
end