Module: Wood::Types::CommonType

Defined in:
lib/wood/types.rb

Class Method Summary collapse

Class Method Details

.[](*types) ⇒ Object



240
241
242
# File 'lib/wood/types.rb', line 240

def self.[](*types)
  common_type_for(*types)
end

.common_type_for(*types) ⇒ Object



260
261
262
263
# File 'lib/wood/types.rb', line 260

def self.common_type_for(*types)
  type_order[types_to_indices(types).last]

end

.smallest_type_of(*types) ⇒ Object



265
266
267
# File 'lib/wood/types.rb', line 265

def self.smallest_type_of(*types)
  type_order[types_to_indices(types).first]
end

.type_orderObject



244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
# File 'lib/wood/types.rb', line 244

def self.type_order
  @@order ||= [
    Any,
    Bool,
    U8,
    I8,
    U16,
    Short,
    U32,
    I32,
    Int,
    U64,
    I64
  ]
end