class AdLint::Cc1::StandardTypeCatalog

Attributes

char_t[R]
double_t[R]
extended_big_int_t[R]
float_t[R]
int_t[R]
long_double_t[R]
long_int_t[R]
long_long_int_t[R]
long_long_t[R]
long_t[R]
short_int_t[R]
short_t[R]
signed_char_t[R]
signed_int_t[R]
signed_long_int_t[R]
signed_long_long_int_t[R]
signed_long_long_t[R]
signed_long_t[R]
signed_short_int_t[R]
signed_short_t[R]
signed_t[R]
unsigned_char_t[R]
unsigned_int_t[R]
unsigned_long_int_t[R]
unsigned_long_long_int_t[R]
unsigned_long_long_t[R]
unsigned_long_t[R]
unsigned_short_int_t[R]
unsigned_short_t[R]
unsigned_t[R]
void_t[R]

Public Class Methods

new(type_tbl) click to toggle source
# File lib/adlint/cc1/type.rb, line 7190
def initialize(type_tbl)
  @types = {}

  install_char_t_family(type_tbl)
  install_short_t_family(type_tbl)
  install_int_t_family(type_tbl)
  install_long_t_family(type_tbl)
  install_long_long_t_family(type_tbl)

  install_float_t(type_tbl)
  install_double_t(type_tbl)
  install_long_double_t(type_tbl)

  install_void_t(type_tbl)
  install_extended_bit_int_t(type_tbl)
end

Public Instance Methods

all_types() click to toggle source
# File lib/adlint/cc1/type.rb, line 7244
def all_types
  @types.each_value
end
lookup_by_type_specifiers(type_specs) click to toggle source
# File lib/adlint/cc1/type.rb, line 7239
def lookup_by_type_specifiers(type_specs)
  type_name = type_specs.map { |ts| ts.to_s }.sort.join(" ")
  @types[type_name]
end

Private Instance Methods

install(type) click to toggle source
# File lib/adlint/cc1/type.rb, line 7310
def install(type)
  @types[type.name.split(" ").sort.join(" ")] = type
end
install_char_t_family(type_tbl) click to toggle source
# File lib/adlint/cc1/type.rb, line 7249
def install_char_t_family(type_tbl)
  install @char_t          = CharType.new(type_tbl)
  install @signed_char_t   = SignedCharType.new(type_tbl)
  install @unsigned_char_t = UnsignedCharType.new(type_tbl)
end
install_double_t(type_tbl) click to toggle source
# File lib/adlint/cc1/type.rb, line 7294
def install_double_t(type_tbl)
  install @double_t = DoubleType.new(type_tbl)
end
install_extended_bit_int_t(type_tbl) click to toggle source
# File lib/adlint/cc1/type.rb, line 7306
def install_extended_bit_int_t(type_tbl)
  install @extended_big_int_t = ExtendedBigIntType.new(type_tbl)
end
install_float_t(type_tbl) click to toggle source
# File lib/adlint/cc1/type.rb, line 7290
def install_float_t(type_tbl)
  install @float_t = FloatType.new(type_tbl)
end
install_int_t_family(type_tbl) click to toggle source
# File lib/adlint/cc1/type.rb, line 7264
def install_int_t_family(type_tbl)
  install @int_t          = IntType.new(type_tbl)
  install @signed_t       = SignedType.new(type_tbl)
  install @signed_int_t   = SignedIntType.new(type_tbl)
  install @unsigned_t     = UnsignedType.new(type_tbl)
  install @unsigned_int_t = UnsignedIntType.new(type_tbl)
end
install_long_double_t(type_tbl) click to toggle source
# File lib/adlint/cc1/type.rb, line 7298
def install_long_double_t(type_tbl)
  install @long_double_t = LongDoubleType.new(type_tbl)
end
install_long_long_t_family(type_tbl) click to toggle source
# File lib/adlint/cc1/type.rb, line 7281
def install_long_long_t_family(type_tbl)
  install @long_long_t              = LongLongType.new(type_tbl)
  install @signed_long_long_t       = SignedLongLongType.new(type_tbl)
  install @unsigned_long_long_t     = UnsignedLongLongType.new(type_tbl)
  install @long_long_int_t          = LongLongIntType.new(type_tbl)
  install @signed_long_long_int_t   = SignedLongLongIntType.new(type_tbl)
  install @unsigned_long_long_int_t = UnsignedLongLongIntType.new(type_tbl)
end
install_long_t_family(type_tbl) click to toggle source
# File lib/adlint/cc1/type.rb, line 7272
def install_long_t_family(type_tbl)
  install @long_t              = LongType.new(type_tbl)
  install @signed_long_t       = SignedLongType.new(type_tbl)
  install @unsigned_long_t     = UnsignedLongType.new(type_tbl)
  install @long_int_t          = LongIntType.new(type_tbl)
  install @signed_long_int_t   = SignedLongIntType.new(type_tbl)
  install @unsigned_long_int_t = UnsignedLongIntType.new(type_tbl)
end
install_short_t_family(type_tbl) click to toggle source
# File lib/adlint/cc1/type.rb, line 7255
def install_short_t_family(type_tbl)
  install @short_t              = ShortType.new(type_tbl)
  install @signed_short_t       = SignedShortType.new(type_tbl)
  install @unsigned_short_t     = UnsignedShortType.new(type_tbl)
  install @short_int_t          = ShortIntType.new(type_tbl)
  install @signed_short_int_t   = SignedShortIntType.new(type_tbl)
  install @unsigned_short_int_t = UnsignedShortIntType.new(type_tbl)
end
install_void_t(type_tbl) click to toggle source
# File lib/adlint/cc1/type.rb, line 7302
def install_void_t(type_tbl)
  install @void_t = VoidType.new(type_tbl)
end