Class: Ibex::IR::UserCodeChunk

Inherits:
Object
  • Object
show all
Defined in:
lib/ibex/ir/grammar_ir.rb,
sig/ibex/ir/grammar_ir.rbs

Overview

One opaque user-code block and the location of its first code line.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(code:, location:) ⇒ UserCodeChunk

Returns a new instance of UserCodeChunk.

RBS:

  • (code: String, location: location) -> void

Parameters:



145
146
147
148
149
# File 'lib/ibex/ir/grammar_ir.rb', line 145

def initialize(code:, location:)
  @code = code.freeze
  @location = IR.deep_freeze(location)
  freeze
end

Instance Attribute Details

#codeString (readonly)

Signature:

  • String

Returns:

  • (String)


141
142
143
# File 'lib/ibex/ir/grammar_ir.rb', line 141

def code
  @code
end

#locationlocation (readonly)

Signature:

  • location

Returns:



142
143
144
# File 'lib/ibex/ir/grammar_ir.rb', line 142

def location
  @location
end

Instance Method Details

#to_hHash[Symbol, Object?]

RBS:

  • () -> Hash[Symbol, Object?]

Returns:

  • (Hash[Symbol, Object?])


152
153
154
# File 'lib/ibex/ir/grammar_ir.rb', line 152

def to_h
  { code: @code, loc: @location }
end