循環的複雑度の計算でさ、ブロックとJavaScriptの即時関数はどう計算するのが良いと思う?

例えばさ、これみたいな時って、fooとbarは別関数として計算するべきだろうか?
function foo() {
 ・・・
 function bar() {
  ・・・
 }
 bar();
 ・・・
}

一般的には別関数な気がする。もしそうなら、これも別関数だろうか?
単に無名関数になってるだけだよね。
function foo() {
 ・・・
 (function() {
  ・・・
 })();
 ・・・
}

でもその理屈だとさ、即時関数ってただ変数のスコープを作ってるだけとも言えるから
このブロックも別で計算するべきってことにならないか?
function foo() {
 ・・・
 {
  ・・・
 }
 ・・・
}