Class: AdLint::Cc1::SignedShortIntType

Inherits:
StandardIntegerType show all
Defined in:
lib/adlint/cc1/type.rb

Instance Attribute Summary

Attributes inherited from ScalarDataType

#bit_alignment, #bit_size

Attributes inherited from Type

#declarations, #name, #type_table

Instance Method Summary collapse

Methods inherited from StandardIntegerType

#bitfield?, #dup, #enum?, #enumerators, #incomplete?, #named?, #pointer?, #standard?

Methods inherited from IntegerType

#argument_promoted_type, #bitfield?, #brief_image, #compatible?, #dup, #enum?, #enumerators, #explicitly_signed?, #floating?, #image, #integer?, #integer_promoted_type, #location, #max, #min, #pointer?, #signed?, #standard?

Methods inherited from ScalarDataType

#_arithmetic_type_with_array, #_arithmetic_type_with_bitfield, #_arithmetic_type_with_char, #_arithmetic_type_with_double, #_arithmetic_type_with_enum, #_arithmetic_type_with_extended_big_int, #_arithmetic_type_with_float, #_arithmetic_type_with_function, #_arithmetic_type_with_int, #_arithmetic_type_with_long, #_arithmetic_type_with_long_double, #_arithmetic_type_with_long_int, #_arithmetic_type_with_long_long, #_arithmetic_type_with_long_long_int, #_arithmetic_type_with_pointer, #_arithmetic_type_with_short, #_arithmetic_type_with_short_int, #_arithmetic_type_with_signed, #_arithmetic_type_with_signed_char, #_arithmetic_type_with_signed_int, #_arithmetic_type_with_signed_long, #_arithmetic_type_with_signed_long_int, #_arithmetic_type_with_signed_long_long, #_arithmetic_type_with_signed_long_long_int, #_arithmetic_type_with_signed_short, #_arithmetic_type_with_signed_short_int, #_arithmetic_type_with_struct, #_arithmetic_type_with_undeclared, #_arithmetic_type_with_union, #_arithmetic_type_with_unresolved, #_arithmetic_type_with_unsigned, #_arithmetic_type_with_unsigned_char, #_arithmetic_type_with_unsigned_int, #_arithmetic_type_with_unsigned_long, #_arithmetic_type_with_unsigned_long_int, #_arithmetic_type_with_unsigned_long_long, #_arithmetic_type_with_unsigned_long_long_int, #_arithmetic_type_with_unsigned_short, #_arithmetic_type_with_unsigned_short_int, #_arithmetic_type_with_void, #arbitrary_value, #argument_promoted_type, #array?, #base_type, #bitfield?, #brief_image, #coerce_array_value, #coerce_composite_value, #coerce_scalar_value, #coercible?, #compatible?, #const?, #dup, #enum?, #enumerators, #explicitly_signed?, #floating?, #function?, #have_va_list?, #image, #impl_length, #integer?, #integer_promoted_type, #length, #location, #max, #member_named, #members, #min, #named?, #nil_value, #parameter_types, #parameter_value, #pointer?, #qualified?, #real_type, #restrict?, #return_type, #return_value, #scalar?, #signed?, #standard?, #struct?, #undeclared?, #undefined_value, #union?, #unqualify, #unresolved?, #user?, #void?, #volatile?, #zero_value

Methods included from UsualArithmeticTypeConversion

#do_usual_arithmetic_type_conversion

Methods inherited from Type

#==, #_arithmetic_type_with_array, #_arithmetic_type_with_bitfield, #_arithmetic_type_with_char, #_arithmetic_type_with_double, #_arithmetic_type_with_enum, #_arithmetic_type_with_extended_big_int, #_arithmetic_type_with_float, #_arithmetic_type_with_function, #_arithmetic_type_with_int, #_arithmetic_type_with_long, #_arithmetic_type_with_long_double, #_arithmetic_type_with_long_int, #_arithmetic_type_with_long_long, #_arithmetic_type_with_long_long_int, #_arithmetic_type_with_pointer, #_arithmetic_type_with_short, #_arithmetic_type_with_short_int, #_arithmetic_type_with_signed, #_arithmetic_type_with_signed_char, #_arithmetic_type_with_signed_int, #_arithmetic_type_with_signed_long, #_arithmetic_type_with_signed_long_int, #_arithmetic_type_with_signed_long_long, #_arithmetic_type_with_signed_long_long_int, #_arithmetic_type_with_signed_short, #_arithmetic_type_with_signed_short_int, #_arithmetic_type_with_struct, #_arithmetic_type_with_undeclared, #_arithmetic_type_with_union, #_arithmetic_type_with_unresolved, #_arithmetic_type_with_unsigned, #_arithmetic_type_with_unsigned_char, #_arithmetic_type_with_unsigned_int, #_arithmetic_type_with_unsigned_long, #_arithmetic_type_with_unsigned_long_int, #_arithmetic_type_with_unsigned_long_long, #_arithmetic_type_with_unsigned_long_long_int, #_arithmetic_type_with_unsigned_short, #_arithmetic_type_with_unsigned_short_int, #_arithmetic_type_with_void, #aligned_bit_size, #aligned_byte_size, #arbitrary_value, #argument_promoted_type, #array?, #base_type, #bit_alignment, #bit_size, #bitfield?, #brief_image, #byte_alignment, #byte_size, #coerce_array_value, #coerce_composite_value, #coerce_scalar_value, #coercible?, #compatible?, #composite?, #const?, #convertible?, #dup, #enum?, #enumerators, #explicitly_signed?, #floating?, #function?, #have_va_list?, #image, #impl_length, #incomplete?, #inspect, #integer?, #integer_promoted_type, #length, #length=, #location, #max, #member_named, #members, #min, #more_cv_qualified?, #named?, #nil_value, #parameter?, #parameter_types, #parameter_value, #pointer?, #qualified?, #real_type, #restrict?, #return_type, #return_value, #same_as?, #scalar?, #signed?, #standard?, #struct?, #undeclared?, #undefined_value, #union?, #unqualify, #unresolved?, #unsigned?, #user?, #void?, #volatile?, #zero_value

Methods included from StandardTypesAccessor

#char_alignment, #char_as_unsigned_char?, #char_size, #code_ptr_alignment, #code_ptr_size, #data_ptr_alignment, #data_ptr_size, #double_alignment, #double_size, #float_alignment, #float_size, #int_alignment, #int_size, #long_alignment, #long_double_alignment, #long_double_size, #long_long_alignment, #long_long_size, #long_size, #short_alignment, #short_size, #standard_types

Methods included from ArithmeticAccessor

#arithmetic, #logical_right_shift?

Methods included from Visitable

#accept

Constructor Details

#initialize(type_tbl) ⇒ SignedShortIntType

Returns a new instance of SignedShortIntType.



3991
3992
3993
3994
3995
3996
3997
# File 'lib/adlint/cc1/type.rb', line 3991

def initialize(type_tbl)
  # FIXME: StandardTypesAccessor is not ready until @type_table is
  #        initialized.
  @type_table = type_tbl
  super(type_tbl, "signed short int",
        short_size, short_alignment, true, true)
end

Instance Method Details

#arithmetic_type_with(type) ⇒ Object



4007
4008
4009
# File 'lib/adlint/cc1/type.rb', line 4007

def arithmetic_type_with(type)
  type._arithmetic_type_with_signed_short_int(self)
end

#corresponding_signed_typeObject



4011
4012
4013
# File 'lib/adlint/cc1/type.rb', line 4011

def corresponding_signed_type
  self
end

#corresponding_unsigned_typeObject



4015
4016
4017
# File 'lib/adlint/cc1/type.rb', line 4015

def corresponding_unsigned_type
  unsigned_short_int_t
end

#idObject



3999
4000
4001
# File 'lib/adlint/cc1/type.rb', line 3999

def id
  @id ||= SignedShortIntTypeId.new
end

#integer_conversion_rankObject



4003
4004
4005
# File 'lib/adlint/cc1/type.rb', line 4003

def integer_conversion_rank
  2
end