Methods directly calling one or several methods changed

Code Query Code Diff Summary

Runs only in diff mode (baseline defined). Lists unchanged methods directly calling methods whose code changed since the baseline: their code didn't change but their behavior might have. The result includes the changed methods called.

CQLinq source

This code query is written in CQLinq, C# LINQ over the NDepend code model. It ships with every new NDepend project: you can read it, adapt it, or use it as a starting point for your own custom rules.

// <Name>Methods directly calling one or several methods changed</Name>
let methodsChanged = Application.Methods.Where(m => m.CodeWasChanged()).ToHashSetEx()

from m in JustMyCode.Methods.UsingAny(methodsChanged ) where
  !m.CodeWasChanged() && 
  !m.WasAdded()
let methodsChangedCalled = m.MethodsCalled.Intersect(methodsChanged) 
select new { 
   m, 
   methodsChangedCalled 
}

//<Desc>
// Runs only in *diff mode* (baseline defined). Lists *unchanged* methods
// directly calling *methods* whose code changed since the *baseline*: their
// code didn't change but their behavior might have. The result includes the
// changed methods called.
//</Desc>

Code Diff Summary: all 25 items