現在、C#およびVisual Basicコンパイラはブラックボックスです。ソースの高レベルコードを取得し、完成したILコードを提供します。 Roslyn Projectは、サービスとしてのコンパイラーです。 開発者に内部データにアクセスするためのAPIを提供するコンパイラ。 これで、コードを分析してコンパイルに参加できます。ソースコードを変更するには、C#およびVBの追加機能を作成します。
とりわけ、Roslyn Projectは、どの言語サービスが構築されるかに基づいて4種類のAPIを提供します(括弧内に示されています):
- SyntaxTree (フォーマッター、 カラライザー、アウトライン )
- Emit API (編集して続行)
- Symbol API (オブジェクトブラウザ、ナビゲート先)
- Binding&Flow Analysis API (定義へ移動、メソッドの抽出、署名ヘルプ、クイック情報、名前変更、すべての参照の検索、完了リスト)
プレゼンテーション中に、別の興味深いプロジェクト機能が示されました-これはVB.NETのコピーペーストC#-コードであり、その逆も同様です。
現時点では、Roslynプロジェクトはまだリリースされていませんが、CTP(Community Technology Preview)は2週間で見ることができ、C#vNext(C#5.0の後のC#のバージョン)で完全にリリースされ、Visual Studioに入ります。