Module: YTLJit::RubyType
- Defined in:
- lib/ytljit/vm_type.rb
Defined Under Namespace
Classes: BaseType, DefaultType0, RubyTypeBoxed, RubyTypeUnboxed
Class Method Summary collapse
Class Method Details
.define_wraped_class(klass, base = RubyTypeBoxed) ⇒ Object
142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 |
# File 'lib/ytljit/vm_type.rb', line 142 def self.define_wraped_class(klass, base = RubyTypeBoxed) cn = nil if klass.name then cn = klass.name.to_sym else cns = klass.inspect if /([a-zA-Z:]+)/ =~ cns then cn = $1.to_sym else raise "Unexcepcted class format #{cns}" end end basett, boxtt, unboxtt = BaseType.type_tab if boxtt[cn] == nil then BaseType.(klass, base) end boxobj = boxtt[cn] unboxobj = unboxtt[cn] [boxobj, unboxobj] end |