Class: Lignite::JumpOffset

Inherits:
Object
  • Object
show all
Defined in:
lib/lignite/jump_offset.rb

Overview

A specialized Integer. When compiling jumps, the jump instruction itself must have a constant size so this class is special-cased in OpCompiler#param_simple.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(v) ⇒ JumpOffset

Returns a new instance of JumpOffset.



13
14
15
16
# File 'lib/lignite/jump_offset.rb', line 13

def initialize(v)
  raise "Jumping too far: #{value}" if v.abs > 32767
  @value = v
end

Instance Attribute Details

#valueInteger (readonly)

Returns:

  • (Integer)


7
8
9
# File 'lib/lignite/jump_offset.rb', line 7

def value
  @value
end

Instance Method Details

#sizeObject



9
10
11
# File 'lib/lignite/jump_offset.rb', line 9

def size
  2
end