Class: AdLint::MetricRecord

Inherits:
CsvRecord show all
Defined in:
lib/adlint/metric.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from CsvRecord

#field_at

Constructor Details

#initialize(csv_row, sma_wd) ⇒ MetricRecord

Returns a new instance of MetricRecord.



201
202
203
204
# File 'lib/adlint/metric.rb', line 201

def initialize(csv_row, sma_wd)
  super(csv_row)
  @sma_wd = sma_wd
end

Class Method Details

.of(csv_row, sma_wd) ⇒ Object



172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
# File 'lib/adlint/metric.rb', line 172

def self.of(csv_row, sma_wd)
  case csv_row[0]
  when "VER"
    create_version_record(csv_row)
  when "DCL"
    create_declaration_record(csv_row, sma_wd)
  when "DEF"
    create_definition_record(csv_row, sma_wd)
  when "INI"
    create_initialization_record(csv_row, sma_wd)
  when "ASN"
    create_assignment_record(csv_row, sma_wd)
  when "DEP"
    create_dependency_record(csv_row, sma_wd)
  when "LIT"
    create_literal_record(csv_row, sma_wd)
  when "PRE"
    create_pp_directive_record(csv_row, sma_wd)
  when "MET"
    create_metric_record(csv_row, sma_wd)
  else
    # NOTE: Silently ignore unknown records so that an optional examination
    #       package may output its own special ones.
    #
    #raise "invalid metric record."
    nil
  end
end

Instance Method Details

#assignment?Boolean

Returns:

  • (Boolean)


252
# File 'lib/adlint/metric.rb', line 252

def assignment?; false end

#column_noObject



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

def column_no
  field_at(3).to_i
end

#enum_declaration?Boolean

Returns:

  • (Boolean)


236
# File 'lib/adlint/metric.rb', line 236

def enum_declaration?; false end

#fpathObject



210
211
212
213
# File 'lib/adlint/metric.rb', line 210

def fpath
  sma_abs_fpath = Pathname.new(field_at(1)).expand_path(@sma_wd)
  sma_abs_fpath.relative_path_from(Pathname.pwd)
end

#function_call?Boolean

Returns:

  • (Boolean)


256
# File 'lib/adlint/metric.rb', line 256

def function_call?; false end

#function_declaration?Boolean

Returns:

  • (Boolean)


240
# File 'lib/adlint/metric.rb', line 240

def function_declaration?; false end

#function_definition?Boolean

Returns:

  • (Boolean)


244
# File 'lib/adlint/metric.rb', line 244

def function_definition?; false end

#function_xref?Boolean

Returns:

  • (Boolean)


260
# File 'lib/adlint/metric.rb', line 260

def function_xref?; false end

#global_variable_declaration?Boolean

Returns:

  • (Boolean)


238
# File 'lib/adlint/metric.rb', line 238

def global_variable_declaration?; false end

#include?Boolean

Returns:

  • (Boolean)


254
# File 'lib/adlint/metric.rb', line 254

def include?; false end

#initialization?Boolean

Returns:

  • (Boolean)


250
# File 'lib/adlint/metric.rb', line 250

def initialization?; false end

#label_definition?Boolean

Returns:

  • (Boolean)


248
# File 'lib/adlint/metric.rb', line 248

def label_definition?; false end

#line_noObject



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

def line_no
  field_at(2).to_i
end

#literal?Boolean

Returns:

  • (Boolean)


262
# File 'lib/adlint/metric.rb', line 262

def literal?; false end

#locationObject



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

def location
  Location.new(fpath, line_no, column_no)
end

#macro_definition?Boolean

Returns:

  • (Boolean)


246
# File 'lib/adlint/metric.rb', line 246

def macro_definition?; false end

#pp_directive?Boolean

Returns:

  • (Boolean)


264
# File 'lib/adlint/metric.rb', line 264

def pp_directive?; false end

#struct_declaration?Boolean

Returns:

  • (Boolean)


232
# File 'lib/adlint/metric.rb', line 232

def struct_declaration?; false end

#typeObject



206
207
208
# File 'lib/adlint/metric.rb', line 206

def type
  field_at(0)
end

#typedef_declaration?Boolean

Returns:

  • (Boolean)


230
# File 'lib/adlint/metric.rb', line 230

def typedef_declaration?; false end

#union_declaration?Boolean

Returns:

  • (Boolean)


234
# File 'lib/adlint/metric.rb', line 234

def union_declaration?; false end

#variable_definition?Boolean

Returns:

  • (Boolean)


242
# File 'lib/adlint/metric.rb', line 242

def variable_definition?; false end

#variable_xref?Boolean

Returns:

  • (Boolean)


258
# File 'lib/adlint/metric.rb', line 258

def variable_xref?; false end

#version?Boolean

Returns:

  • (Boolean)


228
# File 'lib/adlint/metric.rb', line 228

def version?; false end