Module: AdLint::Cc1::DefinableContextTracing

Includes:
ContextTracing, NegativePathsTracing
Defined in:
lib/adlint/cc1/trace.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from NegativePathsTracing

#trace_negative_paths

Methods included from ContextTracing

#sample_positive_transition, #traceable_negative_contribs, #traceable_positive_contribs

Instance Attribute Details

#predicateObject (readonly)

NOTE: Host class must have instance variable named @predicate.



233
234
235
# File 'lib/adlint/cc1/trace.rb', line 233

def predicate
  @predicate
end

Instance Method Details

#emit_context_messages(report, loc) ⇒ Object



238
239
240
241
242
243
244
245
246
247
248
249
# File 'lib/adlint/cc1/trace.rb', line 238

def emit_context_messages(report, loc)
  traced = Set.new
  msgs = trace_positive_paths(report, loc, traced) +
         trace_negative_paths(report, loc, traced)

  unless msgs.empty?
    [report.C(:C1000, Location.new)] +
      msgs.sort { |a, b| a.location <=> b.location }
  else
    []
  end
end