Class: AdLint::Cc1::Type

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Includes:
ArithmeticAccessor, StandardTypeCatalogAccessor, StandardTypesAccessor, Visitable
Defined in:
lib/adlint/cc1/type.rb

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

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, 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

#declarationsObject (readonly)

Returns the value of attribute declarations.



149
150
151
# File 'lib/adlint/cc1/type.rb', line 149

def declarations
  @declarations
end

#nameObject (readonly)

Returns the value of attribute name.



148
149
150
# File 'lib/adlint/cc1/type.rb', line 148

def name
  @name
end

#type_tableObject (readonly)

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_sizeObject



187
188
189
# File 'lib/adlint/cc1/type.rb', line 187

def aligned_bit_size
  bit_size + (bit_alignment - bit_size)
end

#aligned_byte_sizeObject



191
192
193
# File 'lib/adlint/cc1/type.rb', line 191

def aligned_byte_size
  (aligned_bit_size / 8.0).ceil
end

#arbitrary_valueObject



379
380
381
# File 'lib/adlint/cc1/type.rb', line 379

def arbitrary_value
  subclass_responsibility
end

#argument_promoted_typeObject



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

Returns:

  • (Boolean)


247
248
249
# File 'lib/adlint/cc1/type.rb', line 247

def array?
  subclass_responsibility
end

#base_typeObject



199
200
201
# File 'lib/adlint/cc1/type.rb', line 199

def base_type
  subclass_responsibility
end

#bit_alignmentObject



179
180
181
# File 'lib/adlint/cc1/type.rb', line 179

def bit_alignment
  subclass_responsibility
end

#bit_sizeObject



171
172
173
# File 'lib/adlint/cc1/type.rb', line 171

def bit_size
  subclass_responsibility
end

#bitfield?Boolean

Returns:

  • (Boolean)


311
312
313
# File 'lib/adlint/cc1/type.rb', line 311

def bitfield?
  subclass_responsibility
end

#brief_imageObject



159
160
161
# File 'lib/adlint/cc1/type.rb', line 159

def brief_image
  subclass_responsibility
end

#byte_alignmentObject



183
184
185
# File 'lib/adlint/cc1/type.rb', line 183

def byte_alignment
  (bit_alignment / 8.0).ceil
end

#byte_sizeObject



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

Returns:

  • (Boolean)


215
216
217
# File 'lib/adlint/cc1/type.rb', line 215

def coercible?(to_type)
  subclass_responsibility
end

#compatible?(to_type) ⇒ Boolean

Returns:

  • (Boolean)


211
212
213
# File 'lib/adlint/cc1/type.rb', line 211

def compatible?(to_type)
  subclass_responsibility
end

#composite?Boolean

Returns:

  • (Boolean)


251
252
253
# File 'lib/adlint/cc1/type.rb', line 251

def composite?
  struct? || union?
end

#const?Boolean

Returns:

  • (Boolean)


299
300
301
# File 'lib/adlint/cc1/type.rb', line 299

def const?
  subclass_responsibility
end

#convertible?(to_type) ⇒ Boolean

Returns:

  • (Boolean)


219
220
221
# File 'lib/adlint/cc1/type.rb', line 219

def convertible?(to_type)
  self.same_as?(to_type)
end

#corresponding_signed_typeObject



583
584
585
# File 'lib/adlint/cc1/type.rb', line 583

def corresponding_signed_type
  subclass_responsibility
end

#corresponding_unsigned_typeObject



587
588
589
# File 'lib/adlint/cc1/type.rb', line 587

def corresponding_unsigned_type
  subclass_responsibility
end

#dupObject



600
601
602
# File 'lib/adlint/cc1/type.rb', line 600

def dup
  subclass_responsibility
end

#enum?Boolean

Returns:

  • (Boolean)


275
276
277
# File 'lib/adlint/cc1/type.rb', line 275

def enum?
  subclass_responsibility
end

#enumeratorsObject



339
340
341
# File 'lib/adlint/cc1/type.rb', line 339

def enumerators
  subclass_responsibility
end

#explicitly_signed?Boolean

Returns:

  • (Boolean)


323
324
325
# File 'lib/adlint/cc1/type.rb', line 323

def explicitly_signed?
  subclass_responsibility
end

#floating?Boolean

Returns:

  • (Boolean)


243
244
245
# File 'lib/adlint/cc1/type.rb', line 243

def floating?
  subclass_responsibility
end

#function?Boolean

Returns:

  • (Boolean)


271
272
273
# File 'lib/adlint/cc1/type.rb', line 271

def function?
  subclass_responsibility
end

#have_va_list?Boolean

Returns:

  • (Boolean)


327
328
329
# File 'lib/adlint/cc1/type.rb', line 327

def have_va_list?
  subclass_responsibility
end

#idObject



151
152
153
# File 'lib/adlint/cc1/type.rb', line 151

def id
  subclass_responsibility
end

#imageObject



155
156
157
# File 'lib/adlint/cc1/type.rb', line 155

def image
  subclass_responsibility
end

#impl_lengthObject



351
352
353
# File 'lib/adlint/cc1/type.rb', line 351

def impl_length
  subclass_responsibility
end

#incomplete?Boolean

Returns:

  • (Boolean)


207
208
209
# File 'lib/adlint/cc1/type.rb', line 207

def incomplete?
  subclass_responsibility
end

#inspectObject



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

Returns:

  • (Boolean)


239
240
241
# File 'lib/adlint/cc1/type.rb', line 239

def integer?
  subclass_responsibility
end

#integer_conversion_rankObject



407
408
409
# File 'lib/adlint/cc1/type.rb', line 407

def integer_conversion_rank
  subclass_responsibility
end

#integer_promoted_typeObject



411
412
413
# File 'lib/adlint/cc1/type.rb', line 411

def integer_promoted_type
  subclass_responsibility
end

#lengthObject



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

#locationObject



163
164
165
# File 'lib/adlint/cc1/type.rb', line 163

def location
  subclass_responsibility
end

#maxObject



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

#membersObject



355
356
357
# File 'lib/adlint/cc1/type.rb', line 355

def members
  subclass_responsibility
end

#minObject



363
364
365
# File 'lib/adlint/cc1/type.rb', line 363

def min
  subclass_responsibility
end

#more_cv_qualified?(than_type) ⇒ Boolean

Returns:

  • (Boolean)


223
224
225
# File 'lib/adlint/cc1/type.rb', line 223

def more_cv_qualified?(than_type)
  false
end

#named?Boolean

Returns:

  • (Boolean)


167
168
169
# File 'lib/adlint/cc1/type.rb', line 167

def named?
  subclass_responsibility
end

#nil_valueObject



371
372
373
# File 'lib/adlint/cc1/type.rb', line 371

def nil_value
  subclass_responsibility
end

#parameter?Boolean

Returns:

  • (Boolean)


231
232
233
# File 'lib/adlint/cc1/type.rb', line 231

def parameter?
  false
end

#parameter_typesObject



335
336
337
# File 'lib/adlint/cc1/type.rb', line 335

def parameter_types
  subclass_responsibility
end

#parameter_valueObject



387
388
389
# File 'lib/adlint/cc1/type.rb', line 387

def parameter_value
  subclass_responsibility
end

#pointer?Boolean

Returns:

  • (Boolean)


263
264
265
# File 'lib/adlint/cc1/type.rb', line 263

def pointer?
  subclass_responsibility
end

#qualified?Boolean

Returns:

  • (Boolean)


267
268
269
# File 'lib/adlint/cc1/type.rb', line 267

def qualified?
  subclass_responsibility
end

#real_typeObject



195
196
197
# File 'lib/adlint/cc1/type.rb', line 195

def real_type
  subclass_responsibility
end

#restrict?Boolean

Returns:

  • (Boolean)


307
308
309
# File 'lib/adlint/cc1/type.rb', line 307

def restrict?
  subclass_responsibility
end

#return_typeObject



331
332
333
# File 'lib/adlint/cc1/type.rb', line 331

def return_type
  subclass_responsibility
end

#return_valueObject



391
392
393
# File 'lib/adlint/cc1/type.rb', line 391

def return_value
  subclass_responsibility
end

#same_as?(type) ⇒ Boolean

Returns:

  • (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

Returns:

  • (Boolean)


235
236
237
# File 'lib/adlint/cc1/type.rb', line 235

def scalar?
  subclass_responsibility
end

#signed?Boolean

Returns:

  • (Boolean)


315
316
317
# File 'lib/adlint/cc1/type.rb', line 315

def signed?
  subclass_responsibility
end

#standard?Boolean

Returns:

  • (Boolean)


287
288
289
# File 'lib/adlint/cc1/type.rb', line 287

def standard?
  subclass_responsibility
end

#struct?Boolean

Returns:

  • (Boolean)


255
256
257
# File 'lib/adlint/cc1/type.rb', line 255

def struct?
  subclass_responsibility
end

#undeclared?Boolean

Returns:

  • (Boolean)


291
292
293
# File 'lib/adlint/cc1/type.rb', line 291

def undeclared?
  subclass_responsibility
end

#undefined_valueObject



383
384
385
# File 'lib/adlint/cc1/type.rb', line 383

def undefined_value
  subclass_responsibility
end

#union?Boolean

Returns:

  • (Boolean)


259
260
261
# File 'lib/adlint/cc1/type.rb', line 259

def union?
  subclass_responsibility
end

#unqualifyObject



203
204
205
# File 'lib/adlint/cc1/type.rb', line 203

def unqualify
  subclass_responsibility
end

#unresolved?Boolean

Returns:

  • (Boolean)


295
296
297
# File 'lib/adlint/cc1/type.rb', line 295

def unresolved?
  subclass_responsibility
end

#unsigned?Boolean

Returns:

  • (Boolean)


319
320
321
# File 'lib/adlint/cc1/type.rb', line 319

def unsigned?
  !signed?
end

#user?Boolean

Returns:

  • (Boolean)


279
280
281
# File 'lib/adlint/cc1/type.rb', line 279

def user?
  subclass_responsibility
end

#void?Boolean

Returns:

  • (Boolean)


283
284
285
# File 'lib/adlint/cc1/type.rb', line 283

def void?
  subclass_responsibility
end

#volatile?Boolean

Returns:

  • (Boolean)


303
304
305
# File 'lib/adlint/cc1/type.rb', line 303

def volatile?
  subclass_responsibility
end

#zero_valueObject



375
376
377
# File 'lib/adlint/cc1/type.rb', line 375

def zero_value
  subclass_responsibility
end