Compilation クラス

定義

コンパイル オブジェクトは、コンパイラの 1 回の呼び出しを変更できない表現です。 不変ですが、コンパイルもオンデマンドであり、必要に応じてデータを実現してキャッシュします。 コンパイルでは、小さなデルタのアプリケーションを使用して、既存のコンパイルから新しいコンパイルを生成できます。 多くの場合、新しいコンパイルでは古いコンパイルの情報を再利用できるため、新しいコンパイルをゼロから作成するよりも効率的です。

public ref class Compilation abstract
public abstract class Compilation
type Compilation = class
Public MustInherit Class Compilation
継承
Compilation
派生

フィールド

_features

コンパイル オブジェクトは、コンパイラの 1 回の呼び出しを変更できない表現です。 不変ですが、コンパイルもオンデマンドであり、必要に応じてデータを実現してキャッシュします。 コンパイルでは、小さなデルタのアプリケーションを使用して、既存のコンパイルから新しいコンパイルを生成できます。 多くの場合、新しいコンパイルでは古いコンパイルの情報を再利用できるため、新しいコンパイルをゼロから作成するよりも効率的です。

プロパティ

Assembly

IAssemblySymbol作成されるアセンブリを表す 。

AssemblyName

単純なアセンブリ名。指定しない場合は null。

CommonAssembly

コンパイル オブジェクトは、コンパイラの 1 回の呼び出しを変更できない表現です。 不変ですが、コンパイルもオンデマンドであり、必要に応じてデータを実現してキャッシュします。 コンパイルでは、小さなデルタのアプリケーションを使用して、既存のコンパイルから新しいコンパイルを生成できます。 多くの場合、新しいコンパイルでは古いコンパイルの情報を再利用できるため、新しいコンパイルをゼロから作成するよりも効率的です。

CommonDynamicType

コンパイル オブジェクトは、コンパイラの 1 回の呼び出しを変更できない表現です。 不変ですが、コンパイルもオンデマンドであり、必要に応じてデータを実現してキャッシュします。 コンパイルでは、小さなデルタのアプリケーションを使用して、既存のコンパイルから新しいコンパイルを生成できます。 多くの場合、新しいコンパイルでは古いコンパイルの情報を再利用できるため、新しいコンパイルをゼロから作成するよりも効率的です。

CommonGlobalNamespace

コンパイル オブジェクトは、コンパイラの 1 回の呼び出しを変更できない表現です。 不変ですが、コンパイルもオンデマンドであり、必要に応じてデータを実現してキャッシュします。 コンパイルでは、小さなデルタのアプリケーションを使用して、既存のコンパイルから新しいコンパイルを生成できます。 多くの場合、新しいコンパイルでは古いコンパイルの情報を再利用できるため、新しいコンパイルをゼロから作成するよりも効率的です。

CommonObjectType

コンパイル オブジェクトは、コンパイラの 1 回の呼び出しを変更できない表現です。 不変ですが、コンパイルもオンデマンドであり、必要に応じてデータを実現してキャッシュします。 コンパイルでは、小さなデルタのアプリケーションを使用して、既存のコンパイルから新しいコンパイルを生成できます。 多くの場合、新しいコンパイルでは古いコンパイルの情報を再利用できるため、新しいコンパイルをゼロから作成するよりも効率的です。

CommonOptions

コンパイル オブジェクトは、コンパイラの 1 回の呼び出しを変更できない表現です。 不変ですが、コンパイルもオンデマンドであり、必要に応じてデータを実現してキャッシュします。 コンパイルでは、小さなデルタのアプリケーションを使用して、既存のコンパイルから新しいコンパイルを生成できます。 多くの場合、新しいコンパイルでは古いコンパイルの情報を再利用できるため、新しいコンパイルをゼロから作成するよりも効率的です。

CommonScriptClass

コンパイル オブジェクトは、コンパイラの 1 回の呼び出しを変更できない表現です。 不変ですが、コンパイルもオンデマンドであり、必要に応じてデータを実現してキャッシュします。 コンパイルでは、小さなデルタのアプリケーションを使用して、既存のコンパイルから新しいコンパイルを生成できます。 多くの場合、新しいコンパイルでは古いコンパイルの情報を再利用できるため、新しいコンパイルをゼロから作成するよりも効率的です。

CommonScriptGlobalsType

コンパイル オブジェクトは、コンパイラの 1 回の呼び出しを変更できない表現です。 不変ですが、コンパイルもオンデマンドであり、必要に応じてデータを実現してキャッシュします。 コンパイルでは、小さなデルタのアプリケーションを使用して、既存のコンパイルから新しいコンパイルを生成できます。 多くの場合、新しいコンパイルでは古いコンパイルの情報を再利用できるため、新しいコンパイルをゼロから作成するよりも効率的です。

CommonSourceModule

コンパイル オブジェクトは、コンパイラの 1 回の呼び出しを変更できない表現です。 不変ですが、コンパイルもオンデマンドであり、必要に応じてデータを実現してキャッシュします。 コンパイルでは、小さなデルタのアプリケーションを使用して、既存のコンパイルから新しいコンパイルを生成できます。 多くの場合、新しいコンパイルでは古いコンパイルの情報を再利用できるため、新しいコンパイルをゼロから作成するよりも効率的です。

CommonSyntaxTrees

コンパイル オブジェクトは、コンパイラの 1 回の呼び出しを変更できない表現です。 不変ですが、コンパイルもオンデマンドであり、必要に応じてデータを実現してキャッシュします。 コンパイルでは、小さなデルタのアプリケーションを使用して、既存のコンパイルから新しいコンパイルを生成できます。 多くの場合、新しいコンパイルでは古いコンパイルの情報を再利用できるため、新しいコンパイルをゼロから作成するよりも効率的です。

DirectiveReferences

このコンパイルのソース コードで、#r ディレクティブを使用して指定された一意のメタデータ参照。

DynamicType

このコンパイルの型 'dynamic' の TypeSymbol。

ExternalReferences

コンパイル コンストラクターに渡されるメタデータ参照。

GlobalNamespace

ソース コードまたは参照先メタデータで定義されているすべての名前空間と型を含むルート名前空間。単一の名前空間階層にマージされます。

IsCaseSensitive

大文字と小文字が区別されるコンパイルの場合は true、それ以外の場合は false を返します。 大文字と小文字の区別は、名前の参照などのコンパイル機能に影響します。また、複数の異なる選択肢がある場合 (仮想メソッドとオーバーライドの間など) に出力する名前を選択します。

Language

ソース言語 ("C#" または "Visual Basic") を取得します。

ObjectType

.NET System.Object 型の INamedTypeSymbol。このコンパイルに COR ライブラリがない場合は、TypeKind のエラーが発生する可能性があります。

Options

コンパイルが作成されたオプションを取得します。

ReferencedAssemblyNames

このコンパイルによって直接参照されるすべてのアセンブリのアセンブリ ID。

References

すべてのメタデータ参照 -- コンパイル コンストラクターに渡される参照と、#r ディレクティブを介して指定された参照。

ScriptClass

暗黙的な Script クラスを表すシンボル。 クラスがコンパイルで定義されていない場合、これは null です。

ScriptCompilationInfo

コンパイル オブジェクトは、コンパイラの 1 回の呼び出しを変更できない表現です。 不変ですが、コンパイルもオンデマンドであり、必要に応じてデータを実現してキャッシュします。 コンパイルでは、小さなデルタのアプリケーションを使用して、既存のコンパイルから新しいコンパイルを生成できます。 多くの場合、新しいコンパイルでは古いコンパイルの情報を再利用できるため、新しいコンパイルをゼロから作成するよりも効率的です。

SourceModule

IModuleSymbolすべてのソース コードをコンパイルして作成されるモジュールの を取得します。

SyntaxTrees

このコンパイルで作成された構文ツリー (ソース コードから解析) を取得します。

メソッド

AddReferences(IEnumerable<MetadataReference>)

追加のメタデータ参照を含む新しいコンパイルを作成します。

AddReferences(MetadataReference[])

追加のメタデータ参照を含む新しいコンパイルを作成します。

AddSyntaxTrees(IEnumerable<SyntaxTree>)

追加の構文ツリーを使用して新しいコンパイルを作成します。

AddSyntaxTrees(SyntaxTree[])

追加の構文ツリーを使用して新しいコンパイルを作成します。

AppendDefaultVersionResource(Stream)

コンパイル オブジェクトは、コンパイラの 1 回の呼び出しを変更できない表現です。 不変ですが、コンパイルもオンデマンドであり、必要に応じてデータを実現してキャッシュします。 コンパイルでは、小さなデルタのアプリケーションを使用して、既存のコンパイルから新しいコンパイルを生成できます。 多くの場合、新しいコンパイルでは古いコンパイルの情報を再利用できるため、新しいコンパイルをゼロから作成するよりも効率的です。

CheckTupleElementLocations(Int32, ImmutableArray<Location>)

コンパイル オブジェクトは、コンパイラの 1 回の呼び出しを変更できない表現です。 不変ですが、コンパイルもオンデマンドであり、必要に応じてデータを実現してキャッシュします。 コンパイルでは、小さなデルタのアプリケーションを使用して、既存のコンパイルから新しいコンパイルを生成できます。 多くの場合、新しいコンパイルでは古いコンパイルの情報を再利用できるため、新しいコンパイルをゼロから作成するよりも効率的です。

CheckTupleElementNames(Int32, ImmutableArray<String>)

名前が指定されていて、その番号が予想されるカーディナリティと一致するかどうかを確認します。 要素名の正規化されたバージョンを返します (すべての名前が null の場合は空の配列)。

CheckTupleElementNullableAnnotations(Int32, ImmutableArray<NullableAnnotation>)

コンパイル オブジェクトは、コンパイラの 1 回の呼び出しを変更できない表現です。 不変ですが、コンパイルもオンデマンドであり、必要に応じてデータを実現してキャッシュします。 コンパイルでは、小さなデルタのアプリケーションを使用して、既存のコンパイルから新しいコンパイルを生成できます。 多くの場合、新しいコンパイルでは古いコンパイルの情報を再利用できるため、新しいコンパイルをゼロから作成するよりも効率的です。

ClassifyCommonConversion(ITypeSymbol, ITypeSymbol)

このコンパイルのプログラミング言語に従って から source への destination 変換を分類します。

Clone()

シンボル インスタンスが異なるこのコンパイルと同等の新しいコンパイルを作成します。

CommonAddSyntaxTrees(IEnumerable<SyntaxTree>)

コンパイル オブジェクトは、コンパイラの 1 回の呼び出しを変更できない表現です。 不変ですが、コンパイルもオンデマンドであり、必要に応じてデータを実現してキャッシュします。 コンパイルでは、小さなデルタのアプリケーションを使用して、既存のコンパイルから新しいコンパイルを生成できます。 多くの場合、新しいコンパイルでは古いコンパイルの情報を再利用できるため、新しいコンパイルをゼロから作成するよりも効率的です。

CommonBindScriptClass()

スクリプト コンテナー (Script クラス) を表すシンボルを解決します。 に格納されている ScriptClassName コンテナー クラスの完全な名前を使用して、シンボルを検索します。

CommonClone()

コンパイル オブジェクトは、コンパイラの 1 回の呼び出しを変更できない表現です。 不変ですが、コンパイルもオンデマンドであり、必要に応じてデータを実現してキャッシュします。 コンパイルでは、小さなデルタのアプリケーションを使用して、既存のコンパイルから新しいコンパイルを生成できます。 多くの場合、新しいコンパイルでは古いコンパイルの情報を再利用できるため、新しいコンパイルをゼロから作成するよりも効率的です。

CommonContainsSyntaxTree(SyntaxTree)

コンパイル オブジェクトは、コンパイラの 1 回の呼び出しを変更できない表現です。 不変ですが、コンパイルもオンデマンドであり、必要に応じてデータを実現してキャッシュします。 コンパイルでは、小さなデルタのアプリケーションを使用して、既存のコンパイルから新しいコンパイルを生成できます。 多くの場合、新しいコンパイルでは古いコンパイルの情報を再利用できるため、新しいコンパイルをゼロから作成するよりも効率的です。

CommonCreateAnonymousTypeSymbol(ImmutableArray<ITypeSymbol>, ImmutableArray<String>, ImmutableArray<Location>, ImmutableArray<Boolean>)

コンパイル オブジェクトは、コンパイラの 1 回の呼び出しを変更できない表現です。 不変ですが、コンパイルもオンデマンドであり、必要に応じてデータを実現してキャッシュします。 コンパイルでは、小さなデルタのアプリケーションを使用して、既存のコンパイルから新しいコンパイルを生成できます。 多くの場合、新しいコンパイルでは古いコンパイルの情報を再利用できるため、新しいコンパイルをゼロから作成するよりも効率的です。

CommonCreateAnonymousTypeSymbol(ImmutableArray<ITypeSymbol>, ImmutableArray<String>, ImmutableArray<Location>, ImmutableArray<Boolean>, ImmutableArray<NullableAnnotation>)

コンパイル オブジェクトは、コンパイラの 1 回の呼び出しを変更できない表現です。 不変ですが、コンパイルもオンデマンドであり、必要に応じてデータを実現してキャッシュします。 コンパイルでは、小さなデルタのアプリケーションを使用して、既存のコンパイルから新しいコンパイルを生成できます。 多くの場合、新しいコンパイルでは古いコンパイルの情報を再利用できるため、新しいコンパイルをゼロから作成するよりも効率的です。

CommonCreateArrayTypeSymbol(ITypeSymbol, Int32)

コンパイル オブジェクトは、コンパイラの 1 回の呼び出しを変更できない表現です。 不変ですが、コンパイルもオンデマンドであり、必要に応じてデータを実現してキャッシュします。 コンパイルでは、小さなデルタのアプリケーションを使用して、既存のコンパイルから新しいコンパイルを生成できます。 多くの場合、新しいコンパイルでは古いコンパイルの情報を再利用できるため、新しいコンパイルをゼロから作成するよりも効率的です。

CommonCreateArrayTypeSymbol(ITypeSymbol, Int32, NullableAnnotation)

コンパイル オブジェクトは、コンパイラの 1 回の呼び出しを変更できない表現です。 不変ですが、コンパイルもオンデマンドであり、必要に応じてデータを実現してキャッシュします。 コンパイルでは、小さなデルタのアプリケーションを使用して、既存のコンパイルから新しいコンパイルを生成できます。 多くの場合、新しいコンパイルでは古いコンパイルの情報を再利用できるため、新しいコンパイルをゼロから作成するよりも効率的です。

CommonCreateBuiltinOperator(String, ITypeSymbol, ITypeSymbol)

コンパイル オブジェクトは、コンパイラの 1 回の呼び出しを変更できない表現です。 不変ですが、コンパイルもオンデマンドであり、必要に応じてデータを実現してキャッシュします。 コンパイルでは、小さなデルタのアプリケーションを使用して、既存のコンパイルから新しいコンパイルを生成できます。 多くの場合、新しいコンパイルでは古いコンパイルの情報を再利用できるため、新しいコンパイルをゼロから作成するよりも効率的です。

CommonCreateBuiltinOperator(String, ITypeSymbol, ITypeSymbol, ITypeSymbol)

コンパイル オブジェクトは、コンパイラの 1 回の呼び出しを変更できない表現です。 不変ですが、コンパイルもオンデマンドであり、必要に応じてデータを実現してキャッシュします。 コンパイルでは、小さなデルタのアプリケーションを使用して、既存のコンパイルから新しいコンパイルを生成できます。 多くの場合、新しいコンパイルでは古いコンパイルの情報を再利用できるため、新しいコンパイルをゼロから作成するよりも効率的です。

CommonCreateErrorNamespaceSymbol(INamespaceSymbol, String)

コンパイル オブジェクトは、コンパイラの 1 回の呼び出しを変更できない表現です。 不変ですが、コンパイルもオンデマンドであり、必要に応じてデータを実現してキャッシュします。 コンパイルでは、小さなデルタのアプリケーションを使用して、既存のコンパイルから新しいコンパイルを生成できます。 多くの場合、新しいコンパイルでは古いコンパイルの情報を再利用できるため、新しいコンパイルをゼロから作成するよりも効率的です。

CommonCreateErrorTypeSymbol(INamespaceOrTypeSymbol, String, Int32)

コンパイル オブジェクトは、コンパイラの 1 回の呼び出しを変更できない表現です。 不変ですが、コンパイルもオンデマンドであり、必要に応じてデータを実現してキャッシュします。 コンパイルでは、小さなデルタのアプリケーションを使用して、既存のコンパイルから新しいコンパイルを生成できます。 多くの場合、新しいコンパイルでは古いコンパイルの情報を再利用できるため、新しいコンパイルをゼロから作成するよりも効率的です。

CommonCreateFunctionPointerTypeSymbol(ITypeSymbol, RefKind, ImmutableArray<ITypeSymbol>, ImmutableArray<RefKind>)

コンパイル オブジェクトは、コンパイラの 1 回の呼び出しを変更できない表現です。 不変ですが、コンパイルもオンデマンドであり、必要に応じてデータを実現してキャッシュします。 コンパイルでは、小さなデルタのアプリケーションを使用して、既存のコンパイルから新しいコンパイルを生成できます。 多くの場合、新しいコンパイルでは古いコンパイルの情報を再利用できるため、新しいコンパイルをゼロから作成するよりも効率的です。

CommonCreateFunctionPointerTypeSymbol(ITypeSymbol, RefKind, ImmutableArray<ITypeSymbol>, ImmutableArray<RefKind>, SignatureCallingConvention, ImmutableArray<INamedTypeSymbol>)

コンパイル オブジェクトは、コンパイラの 1 回の呼び出しを変更できない表現です。 不変ですが、コンパイルもオンデマンドであり、必要に応じてデータを実現してキャッシュします。 コンパイルでは、小さなデルタのアプリケーションを使用して、既存のコンパイルから新しいコンパイルを生成できます。 多くの場合、新しいコンパイルでは古いコンパイルの情報を再利用できるため、新しいコンパイルをゼロから作成するよりも効率的です。

CommonCreateNativeIntegerTypeSymbol(Boolean)

コンパイル オブジェクトは、コンパイラの 1 回の呼び出しを変更できない表現です。 不変ですが、コンパイルもオンデマンドであり、必要に応じてデータを実現してキャッシュします。 コンパイルでは、小さなデルタのアプリケーションを使用して、既存のコンパイルから新しいコンパイルを生成できます。 多くの場合、新しいコンパイルでは古いコンパイルの情報を再利用できるため、新しいコンパイルをゼロから作成するよりも効率的です。

CommonCreatePointerTypeSymbol(ITypeSymbol)

コンパイル オブジェクトは、コンパイラの 1 回の呼び出しを変更できない表現です。 不変ですが、コンパイルもオンデマンドであり、必要に応じてデータを実現してキャッシュします。 コンパイルでは、小さなデルタのアプリケーションを使用して、既存のコンパイルから新しいコンパイルを生成できます。 多くの場合、新しいコンパイルでは古いコンパイルの情報を再利用できるため、新しいコンパイルをゼロから作成するよりも効率的です。

CommonCreateTupleTypeSymbol(ImmutableArray<ITypeSymbol>, ImmutableArray<String>, ImmutableArray<Location>)

コンパイル オブジェクトは、コンパイラの 1 回の呼び出しを変更できない表現です。 不変ですが、コンパイルもオンデマンドであり、必要に応じてデータを実現してキャッシュします。 コンパイルでは、小さなデルタのアプリケーションを使用して、既存のコンパイルから新しいコンパイルを生成できます。 多くの場合、新しいコンパイルでは古いコンパイルの情報を再利用できるため、新しいコンパイルをゼロから作成するよりも効率的です。

CommonCreateTupleTypeSymbol(ImmutableArray<ITypeSymbol>, ImmutableArray<String>, ImmutableArray<Location>, ImmutableArray<NullableAnnotation>)

コンパイル オブジェクトは、コンパイラの 1 回の呼び出しを変更できない表現です。 不変ですが、コンパイルもオンデマンドであり、必要に応じてデータを実現してキャッシュします。 コンパイルでは、小さなデルタのアプリケーションを使用して、既存のコンパイルから新しいコンパイルを生成できます。 多くの場合、新しいコンパイルでは古いコンパイルの情報を再利用できるため、新しいコンパイルをゼロから作成するよりも効率的です。

CommonCreateTupleTypeSymbol(INamedTypeSymbol, ImmutableArray<String>, ImmutableArray<Location>)

コンパイル オブジェクトは、コンパイラの 1 回の呼び出しを変更できない表現です。 不変ですが、コンパイルもオンデマンドであり、必要に応じてデータを実現してキャッシュします。 コンパイルでは、小さなデルタのアプリケーションを使用して、既存のコンパイルから新しいコンパイルを生成できます。 多くの場合、新しいコンパイルでは古いコンパイルの情報を再利用できるため、新しいコンパイルをゼロから作成するよりも効率的です。

CommonCreateTupleTypeSymbol(INamedTypeSymbol, ImmutableArray<String>, ImmutableArray<Location>, ImmutableArray<NullableAnnotation>)

コンパイル オブジェクトは、コンパイラの 1 回の呼び出しを変更できない表現です。 不変ですが、コンパイルもオンデマンドであり、必要に応じてデータを実現してキャッシュします。 コンパイルでは、小さなデルタのアプリケーションを使用して、既存のコンパイルから新しいコンパイルを生成できます。 多くの場合、新しいコンパイルでは古いコンパイルの情報を再利用できるため、新しいコンパイルをゼロから作成するよりも効率的です。

CommonGetAssemblyOrModuleSymbol(MetadataReference)

コンパイル オブジェクトは、コンパイラの 1 回の呼び出しを変更できない表現です。 不変ですが、コンパイルもオンデマンドであり、必要に応じてデータを実現してキャッシュします。 コンパイルでは、小さなデルタのアプリケーションを使用して、既存のコンパイルから新しいコンパイルを生成できます。 多くの場合、新しいコンパイルでは古いコンパイルの情報を再利用できるため、新しいコンパイルをゼロから作成するよりも効率的です。

CommonGetCompilationNamespace(INamespaceSymbol)

コンパイル オブジェクトは、コンパイラの 1 回の呼び出しを変更できない表現です。 不変ですが、コンパイルもオンデマンドであり、必要に応じてデータを実現してキャッシュします。 コンパイルでは、小さなデルタのアプリケーションを使用して、既存のコンパイルから新しいコンパイルを生成できます。 多くの場合、新しいコンパイルでは古いコンパイルの情報を再利用できるため、新しいコンパイルをゼロから作成するよりも効率的です。

CommonGetEntryPoint(CancellationToken)

コンパイル オブジェクトは、コンパイラの 1 回の呼び出しを変更できない表現です。 不変ですが、コンパイルもオンデマンドであり、必要に応じてデータを実現してキャッシュします。 コンパイルでは、小さなデルタのアプリケーションを使用して、既存のコンパイルから新しいコンパイルを生成できます。 多くの場合、新しいコンパイルでは古いコンパイルの情報を再利用できるため、新しいコンパイルをゼロから作成するよりも効率的です。

CommonGetSemanticModel(SyntaxTree, Boolean)

指定した syntaxTreeの をSemanticModel取得します。 が null 以外の場合 Microsoft.CodeAnalysis.Compilation.SemanticModelProvider は、 を使用 Microsoft.CodeAnalysis.SemanticModelProvider.GetSemanticModel(Microsoft.CodeAnalysis.SyntaxTree,Microsoft.CodeAnalysis.Compilation,System.Boolean) してセマンティック モデルを取得しようとします。 それ以外の場合は、 を使用して新しいセマンティック モデルが Microsoft.CodeAnalysis.Compilation.CreateSemanticModel(Microsoft.CodeAnalysis.SyntaxTree,System.Boolean)作成されます。

CommonGetSpecialType(SpecialType)

コンパイル オブジェクトは、コンパイラの 1 回の呼び出しを変更できない表現です。 不変ですが、コンパイルもオンデマンドであり、必要に応じてデータを実現してキャッシュします。 コンパイルでは、小さなデルタのアプリケーションを使用して、既存のコンパイルから新しいコンパイルを生成できます。 多くの場合、新しいコンパイルでは古いコンパイルの情報を再利用できるため、新しいコンパイルをゼロから作成するよりも効率的です。

CommonGetTypeByMetadataName(String)

コンパイル オブジェクトは、コンパイラの 1 回の呼び出しを変更できない表現です。 不変ですが、コンパイルもオンデマンドであり、必要に応じてデータを実現してキャッシュします。 コンパイルでは、小さなデルタのアプリケーションを使用して、既存のコンパイルから新しいコンパイルを生成できます。 多くの場合、新しいコンパイルでは古いコンパイルの情報を再利用できるため、新しいコンパイルをゼロから作成するよりも効率的です。

CommonRemoveAllSyntaxTrees()

コンパイル オブジェクトは、コンパイラの 1 回の呼び出しを変更できない表現です。 不変ですが、コンパイルもオンデマンドであり、必要に応じてデータを実現してキャッシュします。 コンパイルでは、小さなデルタのアプリケーションを使用して、既存のコンパイルから新しいコンパイルを生成できます。 多くの場合、新しいコンパイルでは古いコンパイルの情報を再利用できるため、新しいコンパイルをゼロから作成するよりも効率的です。

CommonRemoveSyntaxTrees(IEnumerable<SyntaxTree>)

コンパイル オブジェクトは、コンパイラの 1 回の呼び出しを変更できない表現です。 不変ですが、コンパイルもオンデマンドであり、必要に応じてデータを実現してキャッシュします。 コンパイルでは、小さなデルタのアプリケーションを使用して、既存のコンパイルから新しいコンパイルを生成できます。 多くの場合、新しいコンパイルでは古いコンパイルの情報を再利用できるため、新しいコンパイルをゼロから作成するよりも効率的です。

CommonReplaceSyntaxTree(SyntaxTree, SyntaxTree)

コンパイル オブジェクトは、コンパイラの 1 回の呼び出しを変更できない表現です。 不変ですが、コンパイルもオンデマンドであり、必要に応じてデータを実現してキャッシュします。 コンパイルでは、小さなデルタのアプリケーションを使用して、既存のコンパイルから新しいコンパイルを生成できます。 多くの場合、新しいコンパイルでは古いコンパイルの情報を再利用できるため、新しいコンパイルをゼロから作成するよりも効率的です。

CommonWithAssemblyName(String)

コンパイル オブジェクトは、コンパイラの 1 回の呼び出しを変更できない表現です。 不変ですが、コンパイルもオンデマンドであり、必要に応じてデータを実現してキャッシュします。 コンパイルでは、小さなデルタのアプリケーションを使用して、既存のコンパイルから新しいコンパイルを生成できます。 多くの場合、新しいコンパイルでは古いコンパイルの情報を再利用できるため、新しいコンパイルをゼロから作成するよりも効率的です。

CommonWithOptions(CompilationOptions)

コンパイル オブジェクトは、コンパイラの 1 回の呼び出しを変更できない表現です。 不変ですが、コンパイルもオンデマンドであり、必要に応じてデータを実現してキャッシュします。 コンパイルでは、小さなデルタのアプリケーションを使用して、既存のコンパイルから新しいコンパイルを生成できます。 多くの場合、新しいコンパイルでは古いコンパイルの情報を再利用できるため、新しいコンパイルをゼロから作成するよりも効率的です。

CommonWithReferences(IEnumerable<MetadataReference>)

指定した参照を使用して新しいコンパイルを作成します。

CommonWithScriptCompilationInfo(ScriptCompilationInfo)

コンパイル オブジェクトは、コンパイラの 1 回の呼び出しを変更できない表現です。 不変ですが、コンパイルもオンデマンドであり、必要に応じてデータを実現してキャッシュします。 コンパイルでは、小さなデルタのアプリケーションを使用して、既存のコンパイルから新しいコンパイルを生成できます。 多くの場合、新しいコンパイルでは古いコンパイルの情報を再利用できるため、新しいコンパイルをゼロから作成するよりも効率的です。

ContainsSymbolsWithName(Func<String,Boolean>, SymbolFilter, CancellationToken)

指定された述語を満たすソース宣言シンボル名がある場合は true を返します。

ContainsSymbolsWithName(String, SymbolFilter, CancellationToken)

指定された名前と一致するソース宣言シンボル名がある場合は true を返します。 これは、述語が単純な文字列チェックである場合よりもContainsSymbolsWithName(Func<String,Boolean>, SymbolFilter, CancellationToken)高速になる可能性があります。 name は、ターゲット言語に応じて大文字と小文字が区別されます。

ContainsSyntaxTree(SyntaxTree)

このコンパイルに指定したツリーが含まれている場合は true を返します。 それ以外の場合は false です。

CreateAnonymousTypeSymbol(ImmutableArray<ITypeSymbol>, ImmutableArray<String>, ImmutableArray<Boolean>, ImmutableArray<Location>)

指定されたメンバー型、名前、およびソースの場所を持つ新しい匿名型シンボルを返します。 匿名型のメンバーは、既定では読み取り専用になります。 書き込み可能なプロパティは VB でサポートされており、 の適切な場所memberIsReadOnlyfalse を渡すことによって作成できます。

CreateAnonymousTypeSymbol(ImmutableArray<ITypeSymbol>, ImmutableArray<String>, ImmutableArray<Boolean>, ImmutableArray<Location>, ImmutableArray<NullableAnnotation>)

指定されたメンバー型、名前、ソースの場所、および null 許容注釈を含む新しい匿名型シンボルを返します。 匿名型のメンバーは、既定では読み取り専用になります。 書き込み可能なプロパティは VB でサポートされており、 の適切な場所memberIsReadOnlyfalse を渡すことによって作成できます。

CreateArrayTypeSymbol(ITypeSymbol, Int32)

このコンパイルで COR ライブラリの基本型に関連付けられている配列型を表す新しい ArrayTypeSymbol を返します。

CreateArrayTypeSymbol(ITypeSymbol, Int32, NullableAnnotation)

このコンパイルで COR ライブラリの基本型に関連付けられている配列型を表す新しい ArrayTypeSymbol を返します。

CreateBuiltinOperator(String, ITypeSymbol, ITypeSymbol)

IMethodSymbol単項演算子の をBuiltinOperatorMethodKindつ を作成します。 組み込み演算子は、ソースまたはメタデータのいずれかでその型に対 bool int.operator -(int value) してそのようなシンボルが明示的に定義されていない場合でも、言語が暗黙的にサポートするようなシンボルに対して一般的に作成されます。

CreateBuiltinOperator(String, ITypeSymbol, ITypeSymbol, ITypeSymbol)

IMethodSymbol 2 項演算子の をBuiltinOperatorMethodKindつ を作成します。 組み込み演算子は、ソースまたはメタデータのいずれかでその型に対 bool int.operator ==(int v1, int v2) してそのようなシンボルが明示的に定義されていない場合でも、言語が暗黙的にサポートするようなシンボルに対して一般的に作成されます。

CreateDefaultWin32Resources(Boolean, Boolean, Stream, Stream)

既定の win32 リソースでいっぱいのストリームを作成します。

CreateErrorNamespaceSymbol(INamespaceSymbol, String)

指定された名前のエラー (不足している) 名前空間を表す新しい INamespaceSymbol を返します。

CreateErrorTypeSymbol(INamespaceOrTypeSymbol, String, Int32)

指定された省略可能なコンテナー内の指定された名前とアリティを持つエラーの種類を表す新しい INamedTypeSymbol を返します。

CreateFunctionPointerTypeSymbol(ITypeSymbol, RefKind, ImmutableArray<ITypeSymbol>, ImmutableArray<RefKind>)

このコンパイルの型に関連付けられた関数ポインター型を表す新しい IFunctionPointerTypeSymbol を返します。

CreateFunctionPointerTypeSymbol(ITypeSymbol, RefKind, ImmutableArray<ITypeSymbol>, ImmutableArray<RefKind>, SignatureCallingConvention, ImmutableArray<INamedTypeSymbol>)

このコンパイルの型に関連付けられた関数ポインター型を表す新しい IFunctionPointerTypeSymbol を返します。

CreateNativeIntegerTypeSymbol(Boolean)

ネイティブ整数を表す新しい INamedTypeSymbol を返します。

CreatePointerTypeSymbol(ITypeSymbol)

このコンパイルの型に関連付けられたポインター型を表す新しい IPointerTypeSymbol を返します。

CreateTupleTypeSymbol(ImmutableArray<ITypeSymbol>, ImmutableArray<String>, ImmutableArray<Location>)

指定された要素の型、名前、および場所を持つ新しい INamedTypeSymbol を返します。

CreateTupleTypeSymbol(ImmutableArray<ITypeSymbol>, ImmutableArray<String>, ImmutableArray<Location>, ImmutableArray<NullableAnnotation>)

指定された要素型と (省略可能) 要素名、場所、および null 許容注釈を含む新しい INamedTypeSymbol を返します。

CreateTupleTypeSymbol(INamedTypeSymbol, ImmutableArray<String>, ImmutableArray<Location>)

基になる型と要素の名前と場所を指定して、新しい INamedTypeSymbol を返します。 基になる型はタプル互換である必要があります。

CreateTupleTypeSymbol(INamedTypeSymbol, ImmutableArray<String>, ImmutableArray<Location>, ImmutableArray<NullableAnnotation>)

指定された基になる型と (省略可能) 要素名、場所、および null 許容注釈を持つ新しい INamedTypeSymbol を返します。 基になる型はタプル互換である必要があります。

Emit(Stream, Stream, Stream, Stream, IEnumerable<ResourceDescription>, EmitOptions, CancellationToken)

コンパイル オブジェクトは、コンパイラの 1 回の呼び出しを変更できない表現です。 不変ですが、コンパイルもオンデマンドであり、必要に応じてデータを実現してキャッシュします。 コンパイルでは、小さなデルタのアプリケーションを使用して、既存のコンパイルから新しいコンパイルを生成できます。 多くの場合、新しいコンパイルでは古いコンパイルの情報を再利用できるため、新しいコンパイルをゼロから作成するよりも効率的です。

Emit(Stream, Stream, Stream, Stream, IEnumerable<ResourceDescription>, EmitOptions, IMethodSymbol, CancellationToken)

コンパイル オブジェクトは、コンパイラの 1 回の呼び出しを変更できない表現です。 不変ですが、コンパイルもオンデマンドであり、必要に応じてデータを実現してキャッシュします。 コンパイルでは、小さなデルタのアプリケーションを使用して、既存のコンパイルから新しいコンパイルを生成できます。 多くの場合、新しいコンパイルでは古いコンパイルの情報を再利用できるため、新しいコンパイルをゼロから作成するよりも効率的です。

Emit(Stream, Stream, Stream, Stream, IEnumerable<ResourceDescription>, EmitOptions, IMethodSymbol, Stream, IEnumerable<EmbeddedText>, CancellationToken)

コンパイル オブジェクトは、コンパイラの 1 回の呼び出しを変更できない表現です。 不変ですが、コンパイルもオンデマンドであり、必要に応じてデータを実現してキャッシュします。 コンパイルでは、小さなデルタのアプリケーションを使用して、既存のコンパイルから新しいコンパイルを生成できます。 多くの場合、新しいコンパイルでは古いコンパイルの情報を再利用できるため、新しいコンパイルをゼロから作成するよりも効率的です。

Emit(Stream, Stream, Stream, Stream, IEnumerable<ResourceDescription>, EmitOptions, IMethodSymbol, Stream, IEnumerable<EmbeddedText>, Stream, CancellationToken)

コンパイルされたソース コードの IL を、指定されたストリームに出力します。

EmitDifference(EmitBaseline, IEnumerable<SemanticEdit>, Func<ISymbol,Boolean>, Stream, Stream, Stream, CancellationToken)

エディット コンティニュのコンパイルと前の世代の違いを出力します。 相違点は、追加および変更されたシンボルとして表され、メタデータ、IL、PDB デルタとして出力されます。 現在のコンパイルの表現は、後続のエディット コンティニュで使用するために EmitBaseline として返されます。

EmitDifference(EmitBaseline, IEnumerable<SemanticEdit>, Func<ISymbol, Boolean>, Stream, Stream, Stream, ICollection<MethodDefinitionHandle>, CancellationToken)
古い.

エディット コンティニュのコンパイルと前の世代の違いを出力します。 相違点は、追加および変更されたシンボルとして表され、メタデータ、IL、PDB デルタとして出力されます。 現在のコンパイルの表現は、後続のエディット コンティニュで使用するために EmitBaseline として返されます。

EmitDifference(EmitBaseline, IEnumerable<SemanticEdit>, Stream, Stream, Stream, ICollection<MethodDefinitionHandle>, CancellationToken)
古い.

エディット コンティニュのコンパイルと前の世代の違いを出力します。 相違点は、追加および変更されたシンボルとして表され、メタデータ、IL、PDB デルタとして出力されます。 現在のコンパイルの表現は、後続のエディット コンティニュで使用するために EmitBaseline として返されます。

GetAssemblyOrModuleSymbol(MetadataReference)

このコンパイルの作成に IAssemblySymbol 使用するメタデータ参照の または IModuleSymbol を取得します。

GetCompilationNamespace(INamespaceSymbol)

指定したモジュールまたはアセンブリ名前空間の対応するコンパイル名前空間を取得します。

GetDeclarationDiagnostics(CancellationToken)

シンボル宣言中に生成された診断を取得します。

GetDiagnostics(CancellationToken)

構文、宣言、バインドなど、コンパイルのすべての診断を取得します。 出力中に生成される可能性のある診断は含まれません。「」を参照してくださいEmitResult

GetEntryPoint(CancellationToken)

アセンブリのエントリ ポイントとして機能する Main メソッド (スクリプトではなく実行可能な場合) を返します。

GetMetadataReference(IAssemblySymbol)

アセンブリ シンボルに MetadataReference 対応する を取得します。

GetMethodBodyDiagnostics(CancellationToken)

メソッド本体とフィールド初期化子の分析中に生成された診断を取得します。

GetParseDiagnostics(CancellationToken)

解析ステージ中に生成された診断を取得します。

GetRequiredLanguageVersion(Diagnostic)

が見つかった場合は、 で Diagnostic見つかった必要な言語バージョンを返します。 見つからない場合は null を返します。

GetSemanticModel(SyntaxTree, Boolean)

指定した構文ツリーの新しい SemanticModel を取得します。

GetSpecialType(SpecialType)

このコンパイルによって参照される Cor ライブラリから、定義済みの型のシンボルを取得します。

GetSymbolsWithName(Func<String,Boolean>, SymbolFilter, CancellationToken)

指定された述語を満たす名前のソース宣言シンボルを返します。

GetSymbolsWithName(String, SymbolFilter, CancellationToken)

指定した名前と一致する名前を持つソース宣言シンボルを返します。 これは、述語が単純な文字列チェックである場合よりもGetSymbolsWithName(Func<String,Boolean>, SymbolFilter, CancellationToken)高速になる可能性があります。 name は、ターゲット言語に応じて大文字と小文字が区別されます。

GetTypeByMetadataName(String)

標準の CLR メタデータ名を使用して、コンパイルのアセンブリ内の型と、参照されているすべてのアセンブリ (extern エイリアス経由でのみ参照できるアセンブリを除く) を取得します。 この検索は、次の順序に従います。

  1. コンパイルのアセンブリで型が見つかった場合、その型が返されます。
  2. 次に、コア ライブラリ (アセンブリ参照を System.Object 定義し、アセンブリ参照を持たないライブラリ) が検索されます。 その型が見つかった場合は、その型が返されます。
  3. 最後に、参照されている他のすべての非 extern アセンブリが検索されます。 指定されたメタデータ名に一致する型が 1 つだけ見つかった場合は、その 1 つの型が返されます。 このチェックのアクセシビリティは無視されます。
GetTypesByMetadataName(String)

コンパイルのアセンブリと、指定された正規 CLR メタデータ名を持つ参照されているすべてのアセンブリを含むすべての型を取得します。 一致する型名を検索する場合、現在のアセンブリへのアクセシビリティは無視されます。

GetUnreferencedAssemblyIdentities(Diagnostic)

Diagnostic参照されていない を報告すると、 は参照されなかったAssemblyIdentity実際AssemblyIdentityのインスタンスを返します。

GetUsedAssemblyReferences(CancellationToken)

このコンパイルで使用されると見なされる一意のメタデータ アセンブリ参照。 たとえば、参照アセンブリで宣言された型がこのコンパイル内のソース コードで参照されている場合、参照は使用されると見なされます。 など。返されるセットは、API によって References 返される参照のサブセットです。 コンパイルにエラーが含まれている場合、結果は未定義になります。

この API の結果に対するインポートされた名前空間の影響は、コンパイルで未使用のインポートのレポートが無効になっているかどうかによって異なります。 が にNone設定されている場合DocumentationMode、未使用のインポートのレポートは無効になります。

未使用のインポート レポートを無効にすると、インポートされた名前空間に属するすべての型を含むすべての参照アセンブリが結果に含まれます。 つまり、使用されていると見なされます。

未使用のインポート レポートが有効になっている場合、インポートされた名前空間は、この API の結果には影響しません。 そのため、結果にないアセンブリ参照を削除すると、未使用の名前空間インポートでエラー "CS0246: 型または名前空間名が見つかりませんでした (using ディレクティブまたはアセンブリ参照がありませんか?) " が発生する可能性があります。 ただし、そのインポートは、この API が呼び出されたコンパイルでは使用されていないとコンパイラによって報告されます。 エラーを回避するために、未使用のアセンブリ参照と未使用のインポートを同時に削除することをお勧めします。

HasImplicitConversion(ITypeSymbol, ITypeSymbol)

から fromType への暗黙的な (C#) 変換または拡大 (VB) 変換がある場合は true を toType返します。 または toTypefromType null の場合、またはそのような変換が存在しない場合は false を返します。

IsSymbolAccessibleWithin(ISymbol, ISymbol, ITypeSymbol)

が 内withinからアクセスできるかどうかをsymbol確認します。 型の throughType 省略可能な修飾子は、インスタンス メンバーの保護されたアクセスを解決するために使用されます。 すべてのシンボルは、このコンパイルまたはこのコンパイルによって参照されるアセンブリ (References) からである必要があります。 withinは または IAssemblySymbolである必要がありますINamedTypeSymbol

RemoveAllReferences()

メタデータ参照なしで新しいコンパイルを作成します。

RemoveAllSyntaxTrees()

構文ツリーなしで新しいコンパイルを作成します。 後で追加されたツリーで使用するメタデータ情報を保持します。

RemoveReferences(IEnumerable<MetadataReference>)

指定したメタデータ参照なしで新しいコンパイルを作成します。

RemoveReferences(MetadataReference[])

指定したメタデータ参照なしで新しいコンパイルを作成します。

RemoveSyntaxTrees(IEnumerable<SyntaxTree>)

指定した構文ツリーを使用せずに、新しいコンパイルを作成します。 後で追加されたツリーで使用するメタデータ情報を保持します。

RemoveSyntaxTrees(SyntaxTree[])

指定した構文ツリーを使用せずに、新しいコンパイルを作成します。 後で追加されたツリーで使用するメタデータ情報を保持します。

ReplaceReference(MetadataReference, MetadataReference)

古いメタデータ参照を新しいメタデータ参照に置き換えて、新しいコンパイルを作成します。

ReplaceSyntaxTree(SyntaxTree, SyntaxTree)

古い構文ツリーを新しい構文ツリーに置き換えて、新しいコンパイルを作成します。 古いコンパイル オブジェクトのメタデータを再利用します。

SupportsRuntimeCapability(RuntimeCapability)

これが Compilation 対象とするランタイムが特定の機能をサポートしているかどうかを判断します。

SyntaxTreeCommonFeatures(IEnumerable<SyntaxTree>)

コンパイル オブジェクトは、コンパイラの 1 回の呼び出しを変更できない表現です。 不変ですが、コンパイルもオンデマンドであり、必要に応じてデータを実現してキャッシュします。 コンパイルでは、小さなデルタのアプリケーションを使用して、既存のコンパイルから新しいコンパイルを生成できます。 多くの場合、新しいコンパイルでは古いコンパイルの情報を再利用できるため、新しいコンパイルをゼロから作成するよりも効率的です。

ToMetadataReference(ImmutableArray<String>, Boolean)

このコンパイルのメタデータ参照を作成します。

WithAssemblyName(String)

指定したアセンブリ名を使用してコンパイルを作成します。

WithOptions(CompilationOptions)

指定したコンパイル オプションを使用して、新しいコンパイルを作成します。

WithReferences(IEnumerable<MetadataReference>)

指定した参照を使用して新しいコンパイルを作成します。

WithReferences(MetadataReference[])

指定した参照を使用して新しいコンパイルを作成します。

WithScriptCompilationInfo(ScriptCompilationInfo)

コンパイル オブジェクトは、コンパイラの 1 回の呼び出しを変更できない表現です。 不変ですが、コンパイルもオンデマンドであり、必要に応じてデータを実現してキャッシュします。 コンパイルでは、小さなデルタのアプリケーションを使用して、既存のコンパイルから新しいコンパイルを生成できます。 多くの場合、新しいコンパイルでは古いコンパイルの情報を再利用できるため、新しいコンパイルをゼロから作成するよりも効率的です。

拡張メソッド

ClassifyConversion(Compilation, ITypeSymbol, ITypeSymbol)

コンパイル オブジェクトは、コンパイラの 1 回の呼び出しを変更できない表現です。 不変ですが、コンパイルもオンデマンドであり、必要に応じてデータを実現してキャッシュします。 コンパイルでは、小さなデルタのアプリケーションを使用して、既存のコンパイルから新しいコンパイルを生成できます。 多くの場合、新しいコンパイルでは古いコンパイルの情報を再利用できるため、新しいコンパイルをゼロから作成するよりも効率的です。

WithAnalyzers(Compilation, ImmutableArray<DiagnosticAnalyzer>, AnalyzerOptions)

アタッチされた診断アナライザーを使用して新しいコンパイルを返します。

WithAnalyzers(Compilation, ImmutableArray<DiagnosticAnalyzer>, AnalyzerOptions, CancellationToken)
古い.

アタッチされた診断アナライザーを使用して新しいコンパイルを返します。

WithAnalyzers(Compilation, ImmutableArray<DiagnosticAnalyzer>, CompilationWithAnalyzersOptions)

アタッチされた診断アナライザーを使用して新しいコンパイルを返します。

Emit(Compilation, String, String, String, String, IEnumerable<ResourceDescription>, CancellationToken)

コンパイル用の IL を指定されたストリームに出力します。

AliasImports(Compilation)

コンパイル AliasImports プロパティを取得します。

ClassifyConversion(Compilation, ITypeSymbol, ITypeSymbol)

指定した型間の変換の種類を決定します。

GetSpecialType(Compilation, SpecialType)

現在のコンパイルで特殊な型シンボルを取得します。

MemberImports(Compilation)

コンパイル MemberImports プロパティを取得します。

RootNamespace(Compilation)

コンパイル RootNamespace プロパティを取得します。

適用対象