Pex for fun のインテリセンスどうやって実現してるのかな

Pex for fun にインテリセンスが!! - お だ のスペース で紹介しましたが、どうやって実現してるんだろう?
色々試してみた。var で変数宣言すると、インテリセンスが効かない。using でエイリアス宣言すると、インテリセンスが効く。


サーバー側で書いてるコードコンパイルしてるのかな。でも、実装途中のコードをどういう風にコンパイルしてるんだろ?
変数に対するインテリセンスはたぶん、CodeDomProvider.Parse メソッド (System.CodeDom.Compiler) を使って、CodeCompileUnit クラス (System.CodeDom) から変数名とか使ってるのかな〜。
今晩にでも試してみよう。

てか、CodeDom って System.CodeDom.Compiler 名前空間 () しか使ったことなかったけど、System.CodeDom 名前空間 () の方が面白そうだな。