Class: IDL::Expression::Operation::Integer2

Inherits:
IDL::Expression::Operation show all
Defined in:
lib/ridl/expression.rb

Overview

of class Unary

Direct Known Subclasses

Boolean2, Float2, Mod, Shift

Constant Summary collapse

NUMBER_OF_OPERANDS =
2
Applicable =
[
  IDL::Type::LongLong, IDL::Type::ULongLong,
  IDL::Type::Long, IDL::Type::ULong,
  IDL::Type::Short, IDL::Type::UShort,
  IDL::Type::Octet
]

Instance Attribute Summary

Attributes inherited from IDL::Expression::Operation

#operands

Attributes inherited from IDL::Expression

#idltype, #value

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from IDL::Expression::Operation

#initialize, #instantiate, #is_template?, suite_type

Methods inherited from IDL::Expression

#instantiate, #is_template?, #typename

Constructor Details

This class inherits a constructor from IDL::Expression::Operation

Class Method Details

.suite_sign(_t, _v) ⇒ Object



150
151
152
153
154
155
156
157
158
# File 'lib/ridl/expression.rb', line 150

def Integer2.suite_sign(_t, _v)
  [ [IDL::Type::LongLong, IDL::Type::ULongLong],
    [IDL::Type::Long,     IDL::Type::ULong],
    [IDL::Type::Short,    IDL::Type::UShort]
  ].each do |t|
    next unless t.include? _t
    return (if _v < 0 then t[0] else t[1] end)
  end
end

Instance Method Details

#set_typeObject



160
161
162
163
164
# File 'lib/ridl/expression.rb', line 160

def set_type
  if Integer2::Applicable.include? @idltype
    @idltype = self.class.suite_sign(@idltype, @value)
  end
end