Code Analysis. CSharp Namespace
The command line arguments to a C# Microsoft.CodeAnalysis.CSharp.CSharpCompiler.
The compilation object is an immutable representation of a single invocation of the compiler. Although immutable, a compilation is also on-demand, and will realize and cache data as necessary. A compilation can produce a new compilation from existing compilation with the application of small deltas. In many cases, it is more efficient than creating a new compilation from scratch, as the new compilation can reuse information from the old compilation.
Represents various options that affect compilation, such as whether to emit an executable or a library, whether to optimize generated code, and so on.
This class stores several source parsing related options and offers access to their values.
Represents a non-terminal node in the syntax tree.
The parsed representation of a C# source document.
Represents a CSharpSyntaxNode visitor that visits only the single CSharpSyntaxNode passed into its Visit method.
Represents a CSharpSyntaxNode visitor that visits only the single CSharpSyntaxNode
passed into its Visit method and produces
a value of the type specified by the
Displays a symbol in the C# style.
A class containing factory methods for constructing syntax nodes, tokens and trivia.
Defines a set of methods to determine how Unicode characters are treated by the C# compiler.
Structure containing all semantic information about an await expression.
Summarizes whether a conversion is allowed, and if so, which kind of conversion (and in some cases, the associated symbol).
The representation of a deconstruction as a tree of Deconstruct methods and conversions. Methods only appear in non-terminal nodes. All terminal nodes have a Conversion.
Here's an example:
A deconstruction like
The top-level node has a Method (Deconstructable1.Deconstruct), no Conversion, but has two Nested nodes. Its first nested node has no Method, but has a Conversion (Identity). Its second nested node has a Method (Deconstructable2.Deconstruct), no Conversion, and two Nested nodes. Those last two nested nodes have no Method, but each have a Conversion (ImplicitNumeric, from int to long).
Structure containing all semantic information about a for each statement.
Semantic information associated with a query clause in a C# query expression.
Specifies the language version.
Specifies the nullable context.