Class: AdLint::Cc1::ScalarDataType

Inherits:
Type
  • Object
show all
Includes:
UsualArithmeticTypeConversion
Defined in:
lib/adlint/cc1/type.rb

Direct Known Subclasses

FloatingType, IntegerType

Instance Attribute Summary collapse

Attributes inherited from Type

#declarations, #name, #type_table

Instance Method Summary collapse

Methods included from UsualArithmeticTypeConversion

#do_usual_arithmetic_type_conversion

Methods inherited from Type

#==, #aligned_bit_size, #aligned_byte_size, #byte_alignment, #byte_size, #composite?, #convertible?, #incomplete?, #inspect, #length=, #more_cv_qualified?, #parameter?, #same_as?, #unsigned?

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, bit_size, bit_align, type_dcls = []) ⇒ ScalarDataType

Returns a new instance of ScalarDataType.



2992
2993
2994
2995
2996
# File 'lib/adlint/cc1/type.rb', line 2992

def initialize(type_tbl, name, bit_size, bit_align, type_dcls = [])
  super(type_tbl, name, type_dcls)
  @bit_size = bit_size
  @bit_alignment = bit_align
end

Instance Attribute Details

#bit_alignmentObject (readonly)

Returns the value of attribute bit_alignment.



2999
3000
3001
# File 'lib/adlint/cc1/type.rb', line 2999

def bit_alignment
  @bit_alignment
end

#bit_sizeObject (readonly)

Returns the value of attribute bit_size.



2998
2999
3000
# File 'lib/adlint/cc1/type.rb', line 2998

def bit_size
  @bit_size
end

Instance Method Details

#_arithmetic_type_with_array(lhs_type, rhs_type = self) ⇒ Object



3378
3379
3380
# File 'lib/adlint/cc1/type.rb', line 3378

def _arithmetic_type_with_array(lhs_type, rhs_type = self)
  rhs_type.arithmetic_type_with(lhs_type)
end

#_arithmetic_type_with_bitfield(lhs_type, rhs_type = self) ⇒ Object



3366
3367
3368
# File 'lib/adlint/cc1/type.rb', line 3366

def _arithmetic_type_with_bitfield(lhs_type, rhs_type = self)
  do_usual_arithmetic_type_conversion(lhs_type, rhs_type)
end

#_arithmetic_type_with_char(lhs_type, rhs_type = self) ⇒ Object



3250
3251
3252
# File 'lib/adlint/cc1/type.rb', line 3250

def _arithmetic_type_with_char(lhs_type, rhs_type = self)
  do_usual_arithmetic_type_conversion(lhs_type, rhs_type)
end

#_arithmetic_type_with_double(lhs_type, rhs_type = self) ⇒ Object



3358
3359
3360
# File 'lib/adlint/cc1/type.rb', line 3358

def _arithmetic_type_with_double(lhs_type, rhs_type = self)
  do_usual_arithmetic_type_conversion(lhs_type, rhs_type)
end

#_arithmetic_type_with_enum(lhs_type, rhs_type = self) ⇒ Object



3370
3371
3372
# File 'lib/adlint/cc1/type.rb', line 3370

def _arithmetic_type_with_enum(lhs_type, rhs_type = self)
  do_usual_arithmetic_type_conversion(lhs_type, rhs_type)
end

#_arithmetic_type_with_extended_big_int(lhs_type, rhs_type = self) ⇒ Object



3390
3391
3392
3393
3394
# File 'lib/adlint/cc1/type.rb', line 3390

def _arithmetic_type_with_extended_big_int(lhs_type, rhs_type = self)
  # NOTE: Binary operation with ExtendedBigIntType and any scalar type
  #       makes ExtendedBigIntType.
  lhs_type
end

#_arithmetic_type_with_float(lhs_type, rhs_type = self) ⇒ Object



3354
3355
3356
# File 'lib/adlint/cc1/type.rb', line 3354

def _arithmetic_type_with_float(lhs_type, rhs_type = self)
  do_usual_arithmetic_type_conversion(lhs_type, rhs_type)
end

#_arithmetic_type_with_function(lhs_type, rhs_type = self) ⇒ Object



3246
3247
3248
# File 'lib/adlint/cc1/type.rb', line 3246

def _arithmetic_type_with_function(lhs_type, rhs_type = self)
  rhs_type.arithmetic_type_with(lhs_type)
end

#_arithmetic_type_with_int(lhs_type, rhs_type = self) ⇒ Object



3286
3287
3288
# File 'lib/adlint/cc1/type.rb', line 3286

def _arithmetic_type_with_int(lhs_type, rhs_type = self)
  do_usual_arithmetic_type_conversion(lhs_type, rhs_type)
end

#_arithmetic_type_with_long(lhs_type, rhs_type = self) ⇒ Object



3306
3307
3308
# File 'lib/adlint/cc1/type.rb', line 3306

def _arithmetic_type_with_long(lhs_type, rhs_type = self)
  do_usual_arithmetic_type_conversion(lhs_type, rhs_type)
end

#_arithmetic_type_with_long_double(lhs_type, rhs_type = self) ⇒ Object



3362
3363
3364
# File 'lib/adlint/cc1/type.rb', line 3362

def _arithmetic_type_with_long_double(lhs_type, rhs_type = self)
  do_usual_arithmetic_type_conversion(lhs_type, rhs_type)
end

#_arithmetic_type_with_long_int(lhs_type, rhs_type = self) ⇒ Object



3318
3319
3320
# File 'lib/adlint/cc1/type.rb', line 3318

def _arithmetic_type_with_long_int(lhs_type, rhs_type = self)
  do_usual_arithmetic_type_conversion(lhs_type, rhs_type)
end

#_arithmetic_type_with_long_long(lhs_type, rhs_type = self) ⇒ Object



3330
3331
3332
# File 'lib/adlint/cc1/type.rb', line 3330

def _arithmetic_type_with_long_long(lhs_type, rhs_type = self)
  do_usual_arithmetic_type_conversion(lhs_type, rhs_type)
end

#_arithmetic_type_with_long_long_int(lhs_type, rhs_type = self) ⇒ Object



3342
3343
3344
# File 'lib/adlint/cc1/type.rb', line 3342

def _arithmetic_type_with_long_long_int(lhs_type, rhs_type = self)
  do_usual_arithmetic_type_conversion(lhs_type, rhs_type)
end

#_arithmetic_type_with_pointer(lhs_type, rhs_type = self) ⇒ Object



3374
3375
3376
# File 'lib/adlint/cc1/type.rb', line 3374

def _arithmetic_type_with_pointer(lhs_type, rhs_type = self)
  do_usual_arithmetic_type_conversion(lhs_type, rhs_type)
end

#_arithmetic_type_with_short(lhs_type, rhs_type = self) ⇒ Object



3262
3263
3264
# File 'lib/adlint/cc1/type.rb', line 3262

def _arithmetic_type_with_short(lhs_type, rhs_type = self)
  do_usual_arithmetic_type_conversion(lhs_type, rhs_type)
end

#_arithmetic_type_with_short_int(lhs_type, rhs_type = self) ⇒ Object



3274
3275
3276
# File 'lib/adlint/cc1/type.rb', line 3274

def _arithmetic_type_with_short_int(lhs_type, rhs_type = self)
  do_usual_arithmetic_type_conversion(lhs_type, rhs_type)
end

#_arithmetic_type_with_signed(lhs_type, rhs_type = self) ⇒ Object



3290
3291
3292
# File 'lib/adlint/cc1/type.rb', line 3290

def _arithmetic_type_with_signed(lhs_type, rhs_type = self)
  do_usual_arithmetic_type_conversion(lhs_type, rhs_type)
end

#_arithmetic_type_with_signed_char(lhs_type, rhs_type = self) ⇒ Object



3254
3255
3256
# File 'lib/adlint/cc1/type.rb', line 3254

def _arithmetic_type_with_signed_char(lhs_type, rhs_type = self)
  do_usual_arithmetic_type_conversion(lhs_type, rhs_type)
end

#_arithmetic_type_with_signed_int(lhs_type, rhs_type = self) ⇒ Object



3294
3295
3296
# File 'lib/adlint/cc1/type.rb', line 3294

def _arithmetic_type_with_signed_int(lhs_type, rhs_type = self)
  do_usual_arithmetic_type_conversion(lhs_type, rhs_type)
end

#_arithmetic_type_with_signed_long(lhs_type, rhs_type = self) ⇒ Object



3310
3311
3312
# File 'lib/adlint/cc1/type.rb', line 3310

def _arithmetic_type_with_signed_long(lhs_type, rhs_type = self)
  do_usual_arithmetic_type_conversion(lhs_type, rhs_type)
end

#_arithmetic_type_with_signed_long_int(lhs_type, rhs_type = self) ⇒ Object



3322
3323
3324
# File 'lib/adlint/cc1/type.rb', line 3322

def _arithmetic_type_with_signed_long_int(lhs_type, rhs_type = self)
  do_usual_arithmetic_type_conversion(lhs_type, rhs_type)
end

#_arithmetic_type_with_signed_long_long(lhs_type, rhs_type = self) ⇒ Object



3334
3335
3336
# File 'lib/adlint/cc1/type.rb', line 3334

def _arithmetic_type_with_signed_long_long(lhs_type, rhs_type = self)
  do_usual_arithmetic_type_conversion(lhs_type, rhs_type)
end

#_arithmetic_type_with_signed_long_long_int(lhs_type, rhs_type = self) ⇒ Object



3346
3347
3348
# File 'lib/adlint/cc1/type.rb', line 3346

def _arithmetic_type_with_signed_long_long_int(lhs_type, rhs_type = self)
  do_usual_arithmetic_type_conversion(lhs_type, rhs_type)
end

#_arithmetic_type_with_signed_short(lhs_type, rhs_type = self) ⇒ Object



3266
3267
3268
# File 'lib/adlint/cc1/type.rb', line 3266

def _arithmetic_type_with_signed_short(lhs_type, rhs_type = self)
  do_usual_arithmetic_type_conversion(lhs_type, rhs_type)
end

#_arithmetic_type_with_signed_short_int(lhs_type, rhs_type = self) ⇒ Object



3278
3279
3280
# File 'lib/adlint/cc1/type.rb', line 3278

def _arithmetic_type_with_signed_short_int(lhs_type, rhs_type = self)
  do_usual_arithmetic_type_conversion(lhs_type, rhs_type)
end

#_arithmetic_type_with_struct(lhs_type, rhs_type = self) ⇒ Object



3382
3383
3384
# File 'lib/adlint/cc1/type.rb', line 3382

def _arithmetic_type_with_struct(lhs_type, rhs_type = self)
  rhs_type.arithmetic_type_with(lhs_type)
end

#_arithmetic_type_with_undeclared(lhs_type, rhs_type = self) ⇒ Object



3234
3235
3236
# File 'lib/adlint/cc1/type.rb', line 3234

def _arithmetic_type_with_undeclared(lhs_type, rhs_type = self)
  rhs_type.arithmetic_type_with(lhs_type)
end

#_arithmetic_type_with_union(lhs_type, rhs_type = self) ⇒ Object



3386
3387
3388
# File 'lib/adlint/cc1/type.rb', line 3386

def _arithmetic_type_with_union(lhs_type, rhs_type = self)
  rhs_type.arithmetic_type_with(lhs_type)
end

#_arithmetic_type_with_unresolved(lhs_type, rhs_type = self) ⇒ Object



3238
3239
3240
# File 'lib/adlint/cc1/type.rb', line 3238

def _arithmetic_type_with_unresolved(lhs_type, rhs_type = self)
  rhs_type.arithmetic_type_with(lhs_type)
end

#_arithmetic_type_with_unsigned(lhs_type, rhs_type = self) ⇒ Object



3298
3299
3300
# File 'lib/adlint/cc1/type.rb', line 3298

def _arithmetic_type_with_unsigned(lhs_type, rhs_type = self)
  do_usual_arithmetic_type_conversion(lhs_type, rhs_type)
end

#_arithmetic_type_with_unsigned_char(lhs_type, rhs_type = self) ⇒ Object



3258
3259
3260
# File 'lib/adlint/cc1/type.rb', line 3258

def _arithmetic_type_with_unsigned_char(lhs_type, rhs_type = self)
  do_usual_arithmetic_type_conversion(lhs_type, rhs_type)
end

#_arithmetic_type_with_unsigned_int(lhs_type, rhs_type = self) ⇒ Object



3302
3303
3304
# File 'lib/adlint/cc1/type.rb', line 3302

def _arithmetic_type_with_unsigned_int(lhs_type, rhs_type = self)
  do_usual_arithmetic_type_conversion(lhs_type, rhs_type)
end

#_arithmetic_type_with_unsigned_long(lhs_type, rhs_type = self) ⇒ Object



3314
3315
3316
# File 'lib/adlint/cc1/type.rb', line 3314

def _arithmetic_type_with_unsigned_long(lhs_type, rhs_type = self)
  do_usual_arithmetic_type_conversion(lhs_type, rhs_type)
end

#_arithmetic_type_with_unsigned_long_int(lhs_type, rhs_type = self) ⇒ Object



3326
3327
3328
# File 'lib/adlint/cc1/type.rb', line 3326

def _arithmetic_type_with_unsigned_long_int(lhs_type, rhs_type = self)
  do_usual_arithmetic_type_conversion(lhs_type, rhs_type)
end

#_arithmetic_type_with_unsigned_long_long(lhs_type, rhs_type = self) ⇒ Object



3338
3339
3340
# File 'lib/adlint/cc1/type.rb', line 3338

def _arithmetic_type_with_unsigned_long_long(lhs_type, rhs_type = self)
  do_usual_arithmetic_type_conversion(lhs_type, rhs_type)
end

#_arithmetic_type_with_unsigned_long_long_int(lhs_type, rhs_type = self) ⇒ Object



3350
3351
3352
# File 'lib/adlint/cc1/type.rb', line 3350

def _arithmetic_type_with_unsigned_long_long_int(lhs_type, rhs_type = self)
  do_usual_arithmetic_type_conversion(lhs_type, rhs_type)
end

#_arithmetic_type_with_unsigned_short(lhs_type, rhs_type = self) ⇒ Object



3270
3271
3272
# File 'lib/adlint/cc1/type.rb', line 3270

def _arithmetic_type_with_unsigned_short(lhs_type, rhs_type = self)
  do_usual_arithmetic_type_conversion(lhs_type, rhs_type)
end

#_arithmetic_type_with_unsigned_short_int(lhs_type, rhs_type = self) ⇒ Object



3282
3283
3284
# File 'lib/adlint/cc1/type.rb', line 3282

def _arithmetic_type_with_unsigned_short_int(lhs_type, rhs_type = self)
  do_usual_arithmetic_type_conversion(lhs_type, rhs_type)
end

#_arithmetic_type_with_void(lhs_type, rhs_type = self) ⇒ Object



3242
3243
3244
# File 'lib/adlint/cc1/type.rb', line 3242

def _arithmetic_type_with_void(lhs_type, rhs_type = self)
  rhs_type.arithmetic_type_with(lhs_type)
end

#arbitrary_valueObject



3173
3174
3175
# File 'lib/adlint/cc1/type.rb', line 3173

def arbitrary_value
  ScalarValue.of_arbitrary(logical_right_shift?)
end

#argument_promoted_typeObject



3226
3227
3228
# File 'lib/adlint/cc1/type.rb', line 3226

def argument_promoted_type
  subclass_responsibility
end

#arithmetic_type_with(type) ⇒ Object



3230
3231
3232
# File 'lib/adlint/cc1/type.rb', line 3230

def arithmetic_type_with(type)
  subclass_responsibility
end

#array?Boolean

Returns:

  • (Boolean)


3053
3054
3055
# File 'lib/adlint/cc1/type.rb', line 3053

def array?
  false
end

#base_typeObject



3025
3026
3027
# File 'lib/adlint/cc1/type.rb', line 3025

def base_type
  nil
end

#bitfield?Boolean

Returns:

  • (Boolean)


3113
3114
3115
# File 'lib/adlint/cc1/type.rb', line 3113

def bitfield?
  subclass_responsibility
end

#brief_imageObject



3009
3010
3011
# File 'lib/adlint/cc1/type.rb', line 3009

def brief_image
  subclass_responsibility
end

#coerce_array_value(val) ⇒ Object



3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
# File 'lib/adlint/cc1/type.rb', line 3196

def coerce_array_value(val)
  fst_val = val.values.first
  fst_val = fst_val.values.first until fst_val && fst_val.scalar?

  if fst_val && fst_val.scalar?
    coerce_scalar_value(fst_val)
  else
    undefined_value
  end
end

#coerce_composite_value(val) ⇒ Object



3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
# File 'lib/adlint/cc1/type.rb', line 3207

def coerce_composite_value(val)
  fst_val = val.values.first
  fst_val = fst_val.values.first until fst_val && fst_val.scalar?

  if fst_val && fst_val.scalar?
    coerce_scalar_value(fst_val)
  else
    undefined_value
  end
end

#coerce_scalar_value(val) ⇒ Object



3189
3190
3191
3192
3193
3194
# File 'lib/adlint/cc1/type.rb', line 3189

def coerce_scalar_value(val)
  val.dup.tap do |v|
    v.narrow_domain!(Operator::EQ,
                     ScalarValue.of(min..max, logical_right_shift?))
  end
end

#coercible?(to_type) ⇒ Boolean

Returns:

  • (Boolean)


3037
3038
3039
# File 'lib/adlint/cc1/type.rb', line 3037

def coercible?(to_type)
  to_type.scalar?
end

#compatible?(to_type) ⇒ Boolean

Returns:

  • (Boolean)


3033
3034
3035
# File 'lib/adlint/cc1/type.rb', line 3033

def compatible?(to_type)
  subclass_responsibility
end

#const?Boolean

Returns:

  • (Boolean)


3101
3102
3103
# File 'lib/adlint/cc1/type.rb', line 3101

def const?
  false
end

#corresponding_signed_typeObject



3396
3397
3398
# File 'lib/adlint/cc1/type.rb', line 3396

def corresponding_signed_type
  subclass_responsibility
end

#corresponding_unsigned_typeObject



3400
3401
3402
# File 'lib/adlint/cc1/type.rb', line 3400

def corresponding_unsigned_type
  subclass_responsibility
end

#dupObject



3404
3405
3406
# File 'lib/adlint/cc1/type.rb', line 3404

def dup
  subclass_responsibility
end

#enum?Boolean

Returns:

  • (Boolean)


3077
3078
3079
# File 'lib/adlint/cc1/type.rb', line 3077

def enum?
  subclass_responsibility
end

#enumeratorsObject



3137
3138
3139
# File 'lib/adlint/cc1/type.rb', line 3137

def enumerators
  subclass_responsibility
end

#explicitly_signed?Boolean

Returns:

  • (Boolean)


3121
3122
3123
# File 'lib/adlint/cc1/type.rb', line 3121

def explicitly_signed?
  subclass_responsibility
end

#floating?Boolean

Returns:

  • (Boolean)


3049
3050
3051
# File 'lib/adlint/cc1/type.rb', line 3049

def floating?
  subclass_responsibility
end

#function?Boolean

Returns:

  • (Boolean)


3073
3074
3075
# File 'lib/adlint/cc1/type.rb', line 3073

def function?
  false
end

#have_va_list?Boolean

Returns:

  • (Boolean)


3125
3126
3127
# File 'lib/adlint/cc1/type.rb', line 3125

def have_va_list?
  false
end

#idObject



3001
3002
3003
# File 'lib/adlint/cc1/type.rb', line 3001

def id
  subclass_responsibility
end

#imageObject



3005
3006
3007
# File 'lib/adlint/cc1/type.rb', line 3005

def image
  subclass_responsibility
end

#impl_lengthObject



3145
3146
3147
# File 'lib/adlint/cc1/type.rb', line 3145

def impl_length
  0
end

#integer?Boolean

Returns:

  • (Boolean)


3045
3046
3047
# File 'lib/adlint/cc1/type.rb', line 3045

def integer?
  subclass_responsibility
end

#integer_conversion_rankObject



3218
3219
3220
# File 'lib/adlint/cc1/type.rb', line 3218

def integer_conversion_rank
  subclass_responsibility
end

#integer_promoted_typeObject



3222
3223
3224
# File 'lib/adlint/cc1/type.rb', line 3222

def integer_promoted_type
  subclass_responsibility
end

#lengthObject



3141
3142
3143
# File 'lib/adlint/cc1/type.rb', line 3141

def length
  0
end

#locationObject



3013
3014
3015
# File 'lib/adlint/cc1/type.rb', line 3013

def location
  subclass_responsibility
end

#maxObject



3161
3162
3163
# File 'lib/adlint/cc1/type.rb', line 3161

def max
  subclass_responsibility
end

#member_named(name) ⇒ Object



3153
3154
3155
# File 'lib/adlint/cc1/type.rb', line 3153

def member_named(name)
  nil
end

#membersObject



3149
3150
3151
# File 'lib/adlint/cc1/type.rb', line 3149

def members
  []
end

#minObject



3157
3158
3159
# File 'lib/adlint/cc1/type.rb', line 3157

def min
  subclass_responsibility
end

#named?Boolean

Returns:

  • (Boolean)


3017
3018
3019
# File 'lib/adlint/cc1/type.rb', line 3017

def named?
  subclass_responsibility
end

#nil_valueObject



3165
3166
3167
# File 'lib/adlint/cc1/type.rb', line 3165

def nil_value
  ScalarValue.of_nil(logical_right_shift?)
end

#parameter_typesObject



3133
3134
3135
# File 'lib/adlint/cc1/type.rb', line 3133

def parameter_types
  []
end

#parameter_valueObject



3181
3182
3183
# File 'lib/adlint/cc1/type.rb', line 3181

def parameter_value
  ScalarValue.of(min..max, logical_right_shift?)
end

#pointer?Boolean

Returns:

  • (Boolean)


3065
3066
3067
# File 'lib/adlint/cc1/type.rb', line 3065

def pointer?
  subclass_responsibility
end

#qualified?Boolean

Returns:

  • (Boolean)


3069
3070
3071
# File 'lib/adlint/cc1/type.rb', line 3069

def qualified?
  false
end

#real_typeObject



3021
3022
3023
# File 'lib/adlint/cc1/type.rb', line 3021

def real_type
  self
end

#restrict?Boolean

Returns:

  • (Boolean)


3109
3110
3111
# File 'lib/adlint/cc1/type.rb', line 3109

def restrict?
  false
end

#return_typeObject



3129
3130
3131
# File 'lib/adlint/cc1/type.rb', line 3129

def return_type
  nil
end

#return_valueObject



3185
3186
3187
# File 'lib/adlint/cc1/type.rb', line 3185

def return_value
  ScalarValue.of(min..max, logical_right_shift?)
end

#scalar?Boolean

Returns:

  • (Boolean)


3041
3042
3043
# File 'lib/adlint/cc1/type.rb', line 3041

def scalar?
  true
end

#signed?Boolean

Returns:

  • (Boolean)


3117
3118
3119
# File 'lib/adlint/cc1/type.rb', line 3117

def signed?
  subclass_responsibility
end

#standard?Boolean

Returns:

  • (Boolean)


3089
3090
3091
# File 'lib/adlint/cc1/type.rb', line 3089

def standard?
  subclass_responsibility
end

#struct?Boolean

Returns:

  • (Boolean)


3057
3058
3059
# File 'lib/adlint/cc1/type.rb', line 3057

def struct?
  false
end

#undeclared?Boolean

Returns:

  • (Boolean)


3093
3094
3095
# File 'lib/adlint/cc1/type.rb', line 3093

def undeclared?
  false
end

#undefined_valueObject



3177
3178
3179
# File 'lib/adlint/cc1/type.rb', line 3177

def undefined_value
  ScalarValue.of_undefined(min..max, logical_right_shift?)
end

#union?Boolean

Returns:

  • (Boolean)


3061
3062
3063
# File 'lib/adlint/cc1/type.rb', line 3061

def union?
  false
end

#unqualifyObject



3029
3030
3031
# File 'lib/adlint/cc1/type.rb', line 3029

def unqualify
  self
end

#unresolved?Boolean

Returns:

  • (Boolean)


3097
3098
3099
# File 'lib/adlint/cc1/type.rb', line 3097

def unresolved?
  false
end

#user?Boolean

Returns:

  • (Boolean)


3081
3082
3083
# File 'lib/adlint/cc1/type.rb', line 3081

def user?
  false
end

#void?Boolean

Returns:

  • (Boolean)


3085
3086
3087
# File 'lib/adlint/cc1/type.rb', line 3085

def void?
  false
end

#volatile?Boolean

Returns:

  • (Boolean)


3105
3106
3107
# File 'lib/adlint/cc1/type.rb', line 3105

def volatile?
  false
end

#zero_valueObject



3169
3170
3171
# File 'lib/adlint/cc1/type.rb', line 3169

def zero_value
  ScalarValue.of(0, logical_right_shift?)
end