Class: AdLint::Cc1::Type
Overview
DESCRIPTION
Type class hierarchy
Type
<-- UndeclaredType
<-- UnresolvedType
<-- QualifiedType
<-- VoidType
<-- FunctionType
<-- ScalarDataType --------> UsualArithmeticTypeConversion <<module>>
<-- IntegerType
<-- StandardIntegerType
<-- CharType
<-- SignedCharType
<-- UnsignedCharType
<-- ShortType
<-- SignedShortType
<-- UnsignedShortType
<-- ShortIntType
<-- SignedShortIntType
<-- UnsignedShortIntType
<-- IntType
<-- SignedType
<-- SignedIntType
<-- UnsignedType
<-- UnsignedIntType
<-- LongType
<-- SignedLongType
<-- UnsignedLongType
<-- LongIntType
<-- SignedLongIntType
<-- UnsignedLongIntType
<-- LongLongType
<-- SignedLongLongType
<-- UnsignedLongLongType
<-- LongLongIntType
<-- SignedLongLongIntType
<-- UnsignedLongLongIntType
<-- ExtendedBigIntType
<-- BitfieldType
<-- EnumType ----------------------> Scopeable <<module>>
<-- PointerType ^
<-- FloatingType |
<-- StandardFloatingType |
<-- FloatType |
<-- DoubleType |
<-- LongDoubleType |
<-- ArrayType |
<-- CompositeDataType -------------------------------+
<-- StructType |
<-- UnionType |
<-- UserType ----------------------------------------+
<-- ParameterType -----------------------------------+
Instance Attribute Summary collapse
Instance Method Summary
collapse
-
#==(rhs_type) ⇒ Object
-
#_arithmetic_type_with_array(lhs_type, rhs_type = self) ⇒ Object
-
#_arithmetic_type_with_bitfield(lhs_type, rhs_type = self) ⇒ Object
-
#_arithmetic_type_with_char(lhs_type, rhs_type = self) ⇒ Object
-
#_arithmetic_type_with_double(lhs_type, rhs_type = self) ⇒ Object
-
#_arithmetic_type_with_enum(lhs_type, rhs_type = self) ⇒ Object
-
#_arithmetic_type_with_extended_big_int(lhs_type, rhs_type = self) ⇒ Object
-
#_arithmetic_type_with_float(lhs_type, rhs_type = self) ⇒ Object
-
#_arithmetic_type_with_function(lhs_type, rhs_type = self) ⇒ Object
-
#_arithmetic_type_with_int(lhs_type, rhs_type = self) ⇒ Object
-
#_arithmetic_type_with_long(lhs_type, rhs_type = self) ⇒ Object
-
#_arithmetic_type_with_long_double(lhs_type, rhs_type = self) ⇒ Object
-
#_arithmetic_type_with_long_int(lhs_type, rhs_type = self) ⇒ Object
-
#_arithmetic_type_with_long_long(lhs_type, rhs_type = self) ⇒ Object
-
#_arithmetic_type_with_long_long_int(lhs_type, rhs_type = self) ⇒ Object
-
#_arithmetic_type_with_pointer(lhs_type, rhs_type = self) ⇒ Object
-
#_arithmetic_type_with_short(lhs_type, rhs_type = self) ⇒ Object
-
#_arithmetic_type_with_short_int(lhs_type, rhs_type = self) ⇒ Object
-
#_arithmetic_type_with_signed(lhs_type, rhs_type = self) ⇒ Object
-
#_arithmetic_type_with_signed_char(lhs_type, rhs_type = self) ⇒ Object
-
#_arithmetic_type_with_signed_int(lhs_type, rhs_type = self) ⇒ Object
-
#_arithmetic_type_with_signed_long(lhs_type, rhs_type = self) ⇒ Object
-
#_arithmetic_type_with_signed_long_int(lhs_type, rhs_type = self) ⇒ Object
-
#_arithmetic_type_with_signed_long_long(lhs_type, rhs_type = self) ⇒ Object
-
#_arithmetic_type_with_signed_long_long_int(lhs_type, rhs_type = self) ⇒ Object
-
#_arithmetic_type_with_signed_short(lhs_type, rhs_type = self) ⇒ Object
-
#_arithmetic_type_with_signed_short_int(lhs_type, rhs_type = self) ⇒ Object
-
#_arithmetic_type_with_struct(lhs_type, rhs_type = self) ⇒ Object
-
#_arithmetic_type_with_undeclared(lhs_type, rhs_type = self) ⇒ Object
-
#_arithmetic_type_with_union(lhs_type, rhs_type = self) ⇒ Object
-
#_arithmetic_type_with_unresolved(lhs_type, rhs_type = self) ⇒ Object
-
#_arithmetic_type_with_unsigned(lhs_type, rhs_type = self) ⇒ Object
-
#_arithmetic_type_with_unsigned_char(lhs_type, rhs_type = self) ⇒ Object
-
#_arithmetic_type_with_unsigned_int(lhs_type, rhs_type = self) ⇒ Object
-
#_arithmetic_type_with_unsigned_long(lhs_type, rhs_type = self) ⇒ Object
-
#_arithmetic_type_with_unsigned_long_int(lhs_type, rhs_type = self) ⇒ Object
-
#_arithmetic_type_with_unsigned_long_long(lhs_type, rhs_type = self) ⇒ Object
-
#_arithmetic_type_with_unsigned_long_long_int(lhs_type, rhs_type = self) ⇒ Object
-
#_arithmetic_type_with_unsigned_short(lhs_type, rhs_type = self) ⇒ Object
-
#_arithmetic_type_with_unsigned_short_int(lhs_type, rhs_type = self) ⇒ Object
-
#_arithmetic_type_with_void(lhs_type, rhs_type = self) ⇒ Object
-
#aligned_bit_size ⇒ Object
-
#aligned_byte_size ⇒ Object
-
#arbitrary_value ⇒ Object
-
#argument_promoted_type ⇒ Object
-
#arithmetic_type_with(type) ⇒ Object
-
#array? ⇒ Boolean
-
#base_type ⇒ Object
-
#bit_alignment ⇒ Object
-
#bit_size ⇒ Object
-
#bitfield? ⇒ Boolean
-
#brief_image ⇒ Object
-
#byte_alignment ⇒ Object
-
#byte_size ⇒ Object
-
#coerce_array_value(val) ⇒ Object
-
#coerce_composite_value(val) ⇒ Object
-
#coerce_scalar_value(val) ⇒ Object
-
#coercible?(to_type) ⇒ Boolean
-
#compatible?(to_type) ⇒ Boolean
-
#composite? ⇒ Boolean
-
#const? ⇒ Boolean
-
#convertible?(to_type) ⇒ Boolean
-
#corresponding_signed_type ⇒ Object
-
#corresponding_unsigned_type ⇒ Object
-
#dup ⇒ Object
-
#enum? ⇒ Boolean
-
#enumerators ⇒ Object
-
#explicitly_signed? ⇒ Boolean
-
#floating? ⇒ Boolean
-
#function? ⇒ Boolean
-
#have_va_list? ⇒ Boolean
-
#id ⇒ Object
-
#image ⇒ Object
-
#impl_length ⇒ Object
-
#incomplete? ⇒ Boolean
-
#initialize(type_tbl, name, type_dcls = []) ⇒ Type
constructor
-
#inspect ⇒ Object
-
#integer? ⇒ Boolean
-
#integer_conversion_rank ⇒ Object
-
#integer_promoted_type ⇒ Object
-
#length ⇒ Object
-
#length=(len) ⇒ Object
-
#location ⇒ Object
-
#max ⇒ Object
-
#member_named(name) ⇒ Object
-
#members ⇒ Object
-
#min ⇒ Object
-
#more_cv_qualified?(than_type) ⇒ Boolean
-
#named? ⇒ Boolean
-
#nil_value ⇒ Object
-
#parameter? ⇒ Boolean
-
#parameter_types ⇒ Object
-
#parameter_value ⇒ Object
-
#pointer? ⇒ Boolean
-
#qualified? ⇒ Boolean
-
#real_type ⇒ Object
-
#restrict? ⇒ Boolean
-
#return_type ⇒ Object
-
#return_value ⇒ Object
-
#same_as?(type) ⇒ Boolean
-
#scalar? ⇒ Boolean
-
#signed? ⇒ Boolean
-
#standard? ⇒ Boolean
-
#struct? ⇒ Boolean
-
#undeclared? ⇒ Boolean
-
#undefined_value ⇒ Object
-
#union? ⇒ Boolean
-
#unqualify ⇒ Object
-
#unresolved? ⇒ Boolean
-
#unsigned? ⇒ Boolean
-
#user? ⇒ Boolean
-
#void? ⇒ Boolean
-
#volatile? ⇒ Boolean
-
#zero_value ⇒ Object
#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
#arithmetic, #logical_right_shift?
Methods included from Visitable
#accept
Constructor Details
#initialize(type_tbl, name, type_dcls = []) ⇒ Type
Returns a new instance of Type.
141
142
143
144
145
|
# File 'lib/adlint/cc1/type.rb', line 141
def initialize(type_tbl, name, type_dcls = [])
@type_table = type_tbl
@name = name
@declarations = type_dcls
end
|
Instance Attribute Details
#declarations ⇒ Object
Returns the value of attribute declarations.
149
150
151
|
# File 'lib/adlint/cc1/type.rb', line 149
def declarations
@declarations
end
|
Returns the value of attribute name.
148
149
150
|
# File 'lib/adlint/cc1/type.rb', line 148
def name
@name
end
|
#type_table ⇒ Object
Returns the value of attribute type_table.
147
148
149
|
# File 'lib/adlint/cc1/type.rb', line 147
def type_table
@type_table
end
|
Instance Method Details
#==(rhs_type) ⇒ Object
591
592
593
594
595
596
597
598
|
# File 'lib/adlint/cc1/type.rb', line 591
def ==(rhs_type)
case rhs_type
when Type
id == rhs_type.id
else
super
end
end
|
#_arithmetic_type_with_array(lhs_type, rhs_type = self) ⇒ Object
567
568
569
|
# File 'lib/adlint/cc1/type.rb', line 567
def _arithmetic_type_with_array(lhs_type, rhs_type = self)
subclass_responsibility
end
|
#_arithmetic_type_with_bitfield(lhs_type, rhs_type = self) ⇒ Object
555
556
557
|
# File 'lib/adlint/cc1/type.rb', line 555
def _arithmetic_type_with_bitfield(lhs_type, rhs_type = self)
subclass_responsibility
end
|
#_arithmetic_type_with_char(lhs_type, rhs_type = self) ⇒ Object
439
440
441
|
# File 'lib/adlint/cc1/type.rb', line 439
def _arithmetic_type_with_char(lhs_type, rhs_type = self)
subclass_responsibility
end
|
#_arithmetic_type_with_double(lhs_type, rhs_type = self) ⇒ Object
547
548
549
|
# File 'lib/adlint/cc1/type.rb', line 547
def _arithmetic_type_with_double(lhs_type, rhs_type = self)
subclass_responsibility
end
|
#_arithmetic_type_with_enum(lhs_type, rhs_type = self) ⇒ Object
559
560
561
|
# File 'lib/adlint/cc1/type.rb', line 559
def _arithmetic_type_with_enum(lhs_type, rhs_type = self)
subclass_responsibility
end
|
#_arithmetic_type_with_extended_big_int(lhs_type, rhs_type = self) ⇒ Object
579
580
581
|
# File 'lib/adlint/cc1/type.rb', line 579
def _arithmetic_type_with_extended_big_int(lhs_type, rhs_type = self)
subclass_responsibility
end
|
#_arithmetic_type_with_float(lhs_type, rhs_type = self) ⇒ Object
543
544
545
|
# File 'lib/adlint/cc1/type.rb', line 543
def _arithmetic_type_with_float(lhs_type, rhs_type = self)
subclass_responsibility
end
|
#_arithmetic_type_with_function(lhs_type, rhs_type = self) ⇒ Object
435
436
437
|
# File 'lib/adlint/cc1/type.rb', line 435
def _arithmetic_type_with_function(lhs_type, rhs_type = self)
subclass_responsibility
end
|
#_arithmetic_type_with_int(lhs_type, rhs_type = self) ⇒ Object
475
476
477
|
# File 'lib/adlint/cc1/type.rb', line 475
def _arithmetic_type_with_int(lhs_type, rhs_type = self)
subclass_responsibility
end
|
#_arithmetic_type_with_long(lhs_type, rhs_type = self) ⇒ Object
495
496
497
|
# File 'lib/adlint/cc1/type.rb', line 495
def _arithmetic_type_with_long(lhs_type, rhs_type = self)
subclass_responsibility
end
|
#_arithmetic_type_with_long_double(lhs_type, rhs_type = self) ⇒ Object
551
552
553
|
# File 'lib/adlint/cc1/type.rb', line 551
def _arithmetic_type_with_long_double(lhs_type, rhs_type = self)
subclass_responsibility
end
|
#_arithmetic_type_with_long_int(lhs_type, rhs_type = self) ⇒ Object
507
508
509
|
# File 'lib/adlint/cc1/type.rb', line 507
def _arithmetic_type_with_long_int(lhs_type, rhs_type = self)
subclass_responsibility
end
|
#_arithmetic_type_with_long_long(lhs_type, rhs_type = self) ⇒ Object
519
520
521
|
# File 'lib/adlint/cc1/type.rb', line 519
def _arithmetic_type_with_long_long(lhs_type, rhs_type = self)
subclass_responsibility
end
|
#_arithmetic_type_with_long_long_int(lhs_type, rhs_type = self) ⇒ Object
531
532
533
|
# File 'lib/adlint/cc1/type.rb', line 531
def _arithmetic_type_with_long_long_int(lhs_type, rhs_type = self)
subclass_responsibility
end
|
#_arithmetic_type_with_pointer(lhs_type, rhs_type = self) ⇒ Object
563
564
565
|
# File 'lib/adlint/cc1/type.rb', line 563
def _arithmetic_type_with_pointer(lhs_type, rhs_type = self)
subclass_responsibility
end
|
#_arithmetic_type_with_short(lhs_type, rhs_type = self) ⇒ Object
451
452
453
|
# File 'lib/adlint/cc1/type.rb', line 451
def _arithmetic_type_with_short(lhs_type, rhs_type = self)
subclass_responsibility
end
|
#_arithmetic_type_with_short_int(lhs_type, rhs_type = self) ⇒ Object
463
464
465
|
# File 'lib/adlint/cc1/type.rb', line 463
def _arithmetic_type_with_short_int(lhs_type, rhs_type = self)
subclass_responsibility
end
|
#_arithmetic_type_with_signed(lhs_type, rhs_type = self) ⇒ Object
479
480
481
|
# File 'lib/adlint/cc1/type.rb', line 479
def _arithmetic_type_with_signed(lhs_type, rhs_type = self)
subclass_responsibility
end
|
#_arithmetic_type_with_signed_char(lhs_type, rhs_type = self) ⇒ Object
443
444
445
|
# File 'lib/adlint/cc1/type.rb', line 443
def _arithmetic_type_with_signed_char(lhs_type, rhs_type = self)
subclass_responsibility
end
|
#_arithmetic_type_with_signed_int(lhs_type, rhs_type = self) ⇒ Object
483
484
485
|
# File 'lib/adlint/cc1/type.rb', line 483
def _arithmetic_type_with_signed_int(lhs_type, rhs_type = self)
subclass_responsibility
end
|
#_arithmetic_type_with_signed_long(lhs_type, rhs_type = self) ⇒ Object
499
500
501
|
# File 'lib/adlint/cc1/type.rb', line 499
def _arithmetic_type_with_signed_long(lhs_type, rhs_type = self)
subclass_responsibility
end
|
#_arithmetic_type_with_signed_long_int(lhs_type, rhs_type = self) ⇒ Object
511
512
513
|
# File 'lib/adlint/cc1/type.rb', line 511
def _arithmetic_type_with_signed_long_int(lhs_type, rhs_type = self)
subclass_responsibility
end
|
#_arithmetic_type_with_signed_long_long(lhs_type, rhs_type = self) ⇒ Object
523
524
525
|
# File 'lib/adlint/cc1/type.rb', line 523
def _arithmetic_type_with_signed_long_long(lhs_type, rhs_type = self)
subclass_responsibility
end
|
#_arithmetic_type_with_signed_long_long_int(lhs_type, rhs_type = self) ⇒ Object
535
536
537
|
# File 'lib/adlint/cc1/type.rb', line 535
def _arithmetic_type_with_signed_long_long_int(lhs_type, rhs_type = self)
subclass_responsibility
end
|
#_arithmetic_type_with_signed_short(lhs_type, rhs_type = self) ⇒ Object
455
456
457
|
# File 'lib/adlint/cc1/type.rb', line 455
def _arithmetic_type_with_signed_short(lhs_type, rhs_type = self)
subclass_responsibility
end
|
#_arithmetic_type_with_signed_short_int(lhs_type, rhs_type = self) ⇒ Object
467
468
469
|
# File 'lib/adlint/cc1/type.rb', line 467
def _arithmetic_type_with_signed_short_int(lhs_type, rhs_type = self)
subclass_responsibility
end
|
#_arithmetic_type_with_struct(lhs_type, rhs_type = self) ⇒ Object
571
572
573
|
# File 'lib/adlint/cc1/type.rb', line 571
def _arithmetic_type_with_struct(lhs_type, rhs_type = self)
subclass_responsibility
end
|
#_arithmetic_type_with_undeclared(lhs_type, rhs_type = self) ⇒ Object
423
424
425
|
# File 'lib/adlint/cc1/type.rb', line 423
def _arithmetic_type_with_undeclared(lhs_type, rhs_type = self)
subclass_responsibility
end
|
#_arithmetic_type_with_union(lhs_type, rhs_type = self) ⇒ Object
575
576
577
|
# File 'lib/adlint/cc1/type.rb', line 575
def _arithmetic_type_with_union(lhs_type, rhs_type = self)
subclass_responsibility
end
|
#_arithmetic_type_with_unresolved(lhs_type, rhs_type = self) ⇒ Object
427
428
429
|
# File 'lib/adlint/cc1/type.rb', line 427
def _arithmetic_type_with_unresolved(lhs_type, rhs_type = self)
subclass_responsibility
end
|
#_arithmetic_type_with_unsigned(lhs_type, rhs_type = self) ⇒ Object
487
488
489
|
# File 'lib/adlint/cc1/type.rb', line 487
def _arithmetic_type_with_unsigned(lhs_type, rhs_type = self)
subclass_responsibility
end
|
#_arithmetic_type_with_unsigned_char(lhs_type, rhs_type = self) ⇒ Object
447
448
449
|
# File 'lib/adlint/cc1/type.rb', line 447
def _arithmetic_type_with_unsigned_char(lhs_type, rhs_type = self)
subclass_responsibility
end
|
#_arithmetic_type_with_unsigned_int(lhs_type, rhs_type = self) ⇒ Object
491
492
493
|
# File 'lib/adlint/cc1/type.rb', line 491
def _arithmetic_type_with_unsigned_int(lhs_type, rhs_type = self)
subclass_responsibility
end
|
#_arithmetic_type_with_unsigned_long(lhs_type, rhs_type = self) ⇒ Object
503
504
505
|
# File 'lib/adlint/cc1/type.rb', line 503
def _arithmetic_type_with_unsigned_long(lhs_type, rhs_type = self)
subclass_responsibility
end
|
#_arithmetic_type_with_unsigned_long_int(lhs_type, rhs_type = self) ⇒ Object
515
516
517
|
# File 'lib/adlint/cc1/type.rb', line 515
def _arithmetic_type_with_unsigned_long_int(lhs_type, rhs_type = self)
subclass_responsibility
end
|
#_arithmetic_type_with_unsigned_long_long(lhs_type, rhs_type = self) ⇒ Object
527
528
529
|
# File 'lib/adlint/cc1/type.rb', line 527
def _arithmetic_type_with_unsigned_long_long(lhs_type, rhs_type = self)
subclass_responsibility
end
|
#_arithmetic_type_with_unsigned_long_long_int(lhs_type, rhs_type = self) ⇒ Object
539
540
541
|
# File 'lib/adlint/cc1/type.rb', line 539
def _arithmetic_type_with_unsigned_long_long_int(lhs_type, rhs_type = self)
subclass_responsibility
end
|
#_arithmetic_type_with_unsigned_short(lhs_type, rhs_type = self) ⇒ Object
459
460
461
|
# File 'lib/adlint/cc1/type.rb', line 459
def _arithmetic_type_with_unsigned_short(lhs_type, rhs_type = self)
subclass_responsibility
end
|
#_arithmetic_type_with_unsigned_short_int(lhs_type, rhs_type = self) ⇒ Object
471
472
473
|
# File 'lib/adlint/cc1/type.rb', line 471
def _arithmetic_type_with_unsigned_short_int(lhs_type, rhs_type = self)
subclass_responsibility
end
|
#_arithmetic_type_with_void(lhs_type, rhs_type = self) ⇒ Object
431
432
433
|
# File 'lib/adlint/cc1/type.rb', line 431
def _arithmetic_type_with_void(lhs_type, rhs_type = self)
subclass_responsibility
end
|
#aligned_bit_size ⇒ Object
187
188
189
|
# File 'lib/adlint/cc1/type.rb', line 187
def aligned_bit_size
bit_size + (bit_alignment - bit_size)
end
|
#aligned_byte_size ⇒ Object
191
192
193
|
# File 'lib/adlint/cc1/type.rb', line 191
def aligned_byte_size
(aligned_bit_size / 8.0).ceil
end
|
#arbitrary_value ⇒ Object
379
380
381
|
# File 'lib/adlint/cc1/type.rb', line 379
def arbitrary_value
subclass_responsibility
end
|
415
416
417
|
# File 'lib/adlint/cc1/type.rb', line 415
def argument_promoted_type
subclass_responsibility
end
|
#arithmetic_type_with(type) ⇒ Object
419
420
421
|
# File 'lib/adlint/cc1/type.rb', line 419
def arithmetic_type_with(type)
subclass_responsibility
end
|
#array? ⇒ Boolean
247
248
249
|
# File 'lib/adlint/cc1/type.rb', line 247
def array?
subclass_responsibility
end
|
#base_type ⇒ Object
199
200
201
|
# File 'lib/adlint/cc1/type.rb', line 199
def base_type
subclass_responsibility
end
|
#bit_alignment ⇒ Object
179
180
181
|
# File 'lib/adlint/cc1/type.rb', line 179
def bit_alignment
subclass_responsibility
end
|
171
172
173
|
# File 'lib/adlint/cc1/type.rb', line 171
def bit_size
subclass_responsibility
end
|
#bitfield? ⇒ Boolean
311
312
313
|
# File 'lib/adlint/cc1/type.rb', line 311
def bitfield?
subclass_responsibility
end
|
#brief_image ⇒ Object
159
160
161
|
# File 'lib/adlint/cc1/type.rb', line 159
def brief_image
subclass_responsibility
end
|
#byte_alignment ⇒ Object
183
184
185
|
# File 'lib/adlint/cc1/type.rb', line 183
def byte_alignment
(bit_alignment / 8.0).ceil
end
|
#byte_size ⇒ Object
175
176
177
|
# File 'lib/adlint/cc1/type.rb', line 175
def byte_size
(bit_size / 8.0).ceil
end
|
#coerce_array_value(val) ⇒ Object
399
400
401
|
# File 'lib/adlint/cc1/type.rb', line 399
def coerce_array_value(val)
subclass_responsibility
end
|
#coerce_composite_value(val) ⇒ Object
403
404
405
|
# File 'lib/adlint/cc1/type.rb', line 403
def coerce_composite_value(val)
subclass_responsibility
end
|
#coerce_scalar_value(val) ⇒ Object
395
396
397
|
# File 'lib/adlint/cc1/type.rb', line 395
def coerce_scalar_value(val)
subclass_responsibility
end
|
#coercible?(to_type) ⇒ Boolean
215
216
217
|
# File 'lib/adlint/cc1/type.rb', line 215
def coercible?(to_type)
subclass_responsibility
end
|
#compatible?(to_type) ⇒ Boolean
211
212
213
|
# File 'lib/adlint/cc1/type.rb', line 211
def compatible?(to_type)
subclass_responsibility
end
|
#composite? ⇒ Boolean
251
252
253
|
# File 'lib/adlint/cc1/type.rb', line 251
def composite?
struct? || union?
end
|
#const? ⇒ Boolean
299
300
301
|
# File 'lib/adlint/cc1/type.rb', line 299
def const?
subclass_responsibility
end
|
#convertible?(to_type) ⇒ Boolean
219
220
221
|
# File 'lib/adlint/cc1/type.rb', line 219
def convertible?(to_type)
self.same_as?(to_type)
end
|
#corresponding_signed_type ⇒ Object
583
584
585
|
# File 'lib/adlint/cc1/type.rb', line 583
def corresponding_signed_type
subclass_responsibility
end
|
#corresponding_unsigned_type ⇒ Object
587
588
589
|
# File 'lib/adlint/cc1/type.rb', line 587
def corresponding_unsigned_type
subclass_responsibility
end
|
600
601
602
|
# File 'lib/adlint/cc1/type.rb', line 600
def dup
subclass_responsibility
end
|
#enum? ⇒ Boolean
275
276
277
|
# File 'lib/adlint/cc1/type.rb', line 275
def enum?
subclass_responsibility
end
|
#enumerators ⇒ Object
339
340
341
|
# File 'lib/adlint/cc1/type.rb', line 339
def enumerators
subclass_responsibility
end
|
#explicitly_signed? ⇒ Boolean
323
324
325
|
# File 'lib/adlint/cc1/type.rb', line 323
def explicitly_signed?
subclass_responsibility
end
|
#floating? ⇒ Boolean
243
244
245
|
# File 'lib/adlint/cc1/type.rb', line 243
def floating?
subclass_responsibility
end
|
#function? ⇒ Boolean
271
272
273
|
# File 'lib/adlint/cc1/type.rb', line 271
def function?
subclass_responsibility
end
|
#have_va_list? ⇒ Boolean
327
328
329
|
# File 'lib/adlint/cc1/type.rb', line 327
def have_va_list?
subclass_responsibility
end
|
151
152
153
|
# File 'lib/adlint/cc1/type.rb', line 151
def id
subclass_responsibility
end
|
155
156
157
|
# File 'lib/adlint/cc1/type.rb', line 155
def image
subclass_responsibility
end
|
#impl_length ⇒ Object
351
352
353
|
# File 'lib/adlint/cc1/type.rb', line 351
def impl_length
subclass_responsibility
end
|
#incomplete? ⇒ Boolean
207
208
209
|
# File 'lib/adlint/cc1/type.rb', line 207
def incomplete?
subclass_responsibility
end
|
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
|
# File 'lib/adlint/cc1/type.rb', line 604
def inspect
if @name == image
if location
"#{@name} (#{location.inspect})"
else
@name
end
else
if location
"#{@name}=>#{image} (#{location.inspect})"
else
"#{@name}=>#{image}"
end
end
end
|
#integer? ⇒ Boolean
239
240
241
|
# File 'lib/adlint/cc1/type.rb', line 239
def integer?
subclass_responsibility
end
|
#integer_conversion_rank ⇒ Object
407
408
409
|
# File 'lib/adlint/cc1/type.rb', line 407
def integer_conversion_rank
subclass_responsibility
end
|
411
412
413
|
# File 'lib/adlint/cc1/type.rb', line 411
def integer_promoted_type
subclass_responsibility
end
|
343
344
345
|
# File 'lib/adlint/cc1/type.rb', line 343
def length
subclass_responsibility
end
|
#length=(len) ⇒ Object
347
348
349
|
# File 'lib/adlint/cc1/type.rb', line 347
def length=(len)
subclass_responsibility
end
|
163
164
165
|
# File 'lib/adlint/cc1/type.rb', line 163
def location
subclass_responsibility
end
|
367
368
369
|
# File 'lib/adlint/cc1/type.rb', line 367
def max
subclass_responsibility
end
|
#member_named(name) ⇒ Object
359
360
361
|
# File 'lib/adlint/cc1/type.rb', line 359
def member_named(name)
subclass_responsibility
end
|
355
356
357
|
# File 'lib/adlint/cc1/type.rb', line 355
def members
subclass_responsibility
end
|
363
364
365
|
# File 'lib/adlint/cc1/type.rb', line 363
def min
subclass_responsibility
end
|
#more_cv_qualified?(than_type) ⇒ Boolean
223
224
225
|
# File 'lib/adlint/cc1/type.rb', line 223
def more_cv_qualified?(than_type)
false
end
|
#named? ⇒ Boolean
167
168
169
|
# File 'lib/adlint/cc1/type.rb', line 167
def named?
subclass_responsibility
end
|
#nil_value ⇒ Object
371
372
373
|
# File 'lib/adlint/cc1/type.rb', line 371
def nil_value
subclass_responsibility
end
|
#parameter? ⇒ Boolean
231
232
233
|
# File 'lib/adlint/cc1/type.rb', line 231
def parameter?
false
end
|
#parameter_types ⇒ Object
335
336
337
|
# File 'lib/adlint/cc1/type.rb', line 335
def parameter_types
subclass_responsibility
end
|
#parameter_value ⇒ Object
387
388
389
|
# File 'lib/adlint/cc1/type.rb', line 387
def parameter_value
subclass_responsibility
end
|
#pointer? ⇒ Boolean
263
264
265
|
# File 'lib/adlint/cc1/type.rb', line 263
def pointer?
subclass_responsibility
end
|
#qualified? ⇒ Boolean
267
268
269
|
# File 'lib/adlint/cc1/type.rb', line 267
def qualified?
subclass_responsibility
end
|
#real_type ⇒ Object
195
196
197
|
# File 'lib/adlint/cc1/type.rb', line 195
def real_type
subclass_responsibility
end
|
#restrict? ⇒ Boolean
307
308
309
|
# File 'lib/adlint/cc1/type.rb', line 307
def restrict?
subclass_responsibility
end
|
#return_type ⇒ Object
331
332
333
|
# File 'lib/adlint/cc1/type.rb', line 331
def return_type
subclass_responsibility
end
|
#return_value ⇒ Object
391
392
393
|
# File 'lib/adlint/cc1/type.rb', line 391
def return_value
subclass_responsibility
end
|
#same_as?(type) ⇒ Boolean
227
228
229
|
# File 'lib/adlint/cc1/type.rb', line 227
def same_as?(type)
self.real_type.unqualify == type.real_type.unqualify
end
|
#scalar? ⇒ Boolean
235
236
237
|
# File 'lib/adlint/cc1/type.rb', line 235
def scalar?
subclass_responsibility
end
|
#signed? ⇒ Boolean
315
316
317
|
# File 'lib/adlint/cc1/type.rb', line 315
def signed?
subclass_responsibility
end
|
#standard? ⇒ Boolean
287
288
289
|
# File 'lib/adlint/cc1/type.rb', line 287
def standard?
subclass_responsibility
end
|
#struct? ⇒ Boolean
255
256
257
|
# File 'lib/adlint/cc1/type.rb', line 255
def struct?
subclass_responsibility
end
|
#undeclared? ⇒ Boolean
291
292
293
|
# File 'lib/adlint/cc1/type.rb', line 291
def undeclared?
subclass_responsibility
end
|
#undefined_value ⇒ Object
383
384
385
|
# File 'lib/adlint/cc1/type.rb', line 383
def undefined_value
subclass_responsibility
end
|
#union? ⇒ Boolean
259
260
261
|
# File 'lib/adlint/cc1/type.rb', line 259
def union?
subclass_responsibility
end
|
#unqualify ⇒ Object
203
204
205
|
# File 'lib/adlint/cc1/type.rb', line 203
def unqualify
subclass_responsibility
end
|
#unresolved? ⇒ Boolean
295
296
297
|
# File 'lib/adlint/cc1/type.rb', line 295
def unresolved?
subclass_responsibility
end
|
#unsigned? ⇒ Boolean
319
320
321
|
# File 'lib/adlint/cc1/type.rb', line 319
def unsigned?
!signed?
end
|
#user? ⇒ Boolean
279
280
281
|
# File 'lib/adlint/cc1/type.rb', line 279
def user?
subclass_responsibility
end
|
#void? ⇒ Boolean
283
284
285
|
# File 'lib/adlint/cc1/type.rb', line 283
def void?
subclass_responsibility
end
|
#volatile? ⇒ Boolean
303
304
305
|
# File 'lib/adlint/cc1/type.rb', line 303
def volatile?
subclass_responsibility
end
|
#zero_value ⇒ Object
375
376
377
|
# File 'lib/adlint/cc1/type.rb', line 375
def zero_value
subclass_responsibility
end
|