2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
|
# File 'lib/adlint/cc1/value.rb', line 2408
def test_must_be_true
non_nil_vals = effective_values.select { |mval| mval._base.value.exist? }
if non_nil_vals.empty?
TrivialValueTest.new(false)
else
pred = lambda { |val| val.test_must_be_true.true? }
evid = DefinableTestEvidence.new(pred, true)
non_nil_vals.each do |mval|
if pred.call(mval._base.value)
evid.add_positive_contributor(mval)
else
evid.add_negative_contributor(mval)
end
break if evid.fulfilled?
end
NontrivialValueTest.new(evid, true)
end
end
|