Module: YTLJit::VM::TypeCodeGen::ArrayTypeCommonCodeGen

Includes:
TypeUtil
Included in:
ArrayTypeBoxedCodeGen, ArrayTypeUnboxedCodeGen
Defined in:
lib/ytljit/vm_type_gen.rb

Constant Summary

Constants included from AbsArch

AbsArch::AL, AbsArch::BL, AbsArch::CL, AbsArch::DL, AbsArch::FUNC_ARG, AbsArch::FUNC_ARG_YTL, AbsArch::FUNC_FLOAT_ARG, AbsArch::FUNC_FLOAT_ARG_YTL, AbsArch::INDIRECT_BPR, AbsArch::INDIRECT_RETR, AbsArch::INDIRECT_SPR, AbsArch::INDIRECT_TMPR, AbsArch::INDIRECT_TMPR2, AbsArch::INDIRECT_TMPR3

Constants included from SSE

SSE::XMM0, SSE::XMM1, SSE::XMM2, SSE::XMM3, SSE::XMM4, SSE::XMM5, SSE::XMM6, SSE::XMM7

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from TypeUtil

#gen_copy_common

Methods included from CommonCodeGen

#dump_context, #gen_alloca, #gen_call, #gen_save_thepr

Instance Attribute Details

#element_typeObject

Returns the value of attribute element_type.



291
292
293
# File 'lib/ytljit/vm_type_gen.rb', line 291

def element_type
  @element_type
end

Instance Method Details

#==(other) ⇒ Object



297
298
299
300
301
302
303
304
305
306
307
308
309
310
# File 'lib/ytljit/vm_type_gen.rb', line 297

def ==(other)
  if other then
    oc = other.ruby_type
    sc = self.ruby_type
    sc == oc and
      ((other.element_type == nil and
       @element_type == nil) or
       (other.element_type and @element_type and
        @element_type[nil][0] == other.element_type[nil][0])) and
      boxed == other.boxed
  else
    false
  end
end

#have_element?Boolean

Returns:

  • (Boolean)


293
294
295
# File 'lib/ytljit/vm_type_gen.rb', line 293

def have_element?
  true
end

#initObject



287
288
289
# File 'lib/ytljit/vm_type_gen.rb', line 287

def init
  @element_type = nil
end

#inspectObject



312
313
314
315
# File 'lib/ytljit/vm_type_gen.rb', line 312

def inspect
  etype = @element_type.inspect
  "{ #{boxed ? "BOXED" : "UNBOXED"} #{@ruby_type} (#{etype})}"
end