SemanticEdit Struct
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Describes a symbol edit between two compilations. For example, an addition of a method, an update of a method, removal of a type, etc.
public value class SemanticEdit : IEquatable<Microsoft::CodeAnalysis::Emit::SemanticEdit>
public struct SemanticEdit : IEquatable<Microsoft.CodeAnalysis.Emit.SemanticEdit>
public readonly struct SemanticEdit : IEquatable<Microsoft.CodeAnalysis.Emit.SemanticEdit>
type SemanticEdit = struct
Public Structure SemanticEdit
Implements IEquatable(Of SemanticEdit)
- Inheritance
-
SemanticEdit
- Implements
Constructors
SemanticEdit(SemanticEditKind, ISymbol, ISymbol, Func<SyntaxNode,SyntaxNode>, Boolean, MethodInstrumentation) |
Obsolete.
Initializes an instance of SemanticEdit. |
SemanticEdit(SemanticEditKind, ISymbol, ISymbol, Func<SyntaxNode,SyntaxNode>, Boolean) |
Obsolete.
Initializes an instance of SemanticEdit. |
SemanticEdit(SemanticEditKind, ISymbol, ISymbol, Func<SyntaxNode,SyntaxNode>, Func<SyntaxNode,Nullable<RuntimeRudeEdit>>, MethodInstrumentation) |
Initializes an instance of SemanticEdit. |
Properties
Instrumentation |
Instrumentation update to be applied to a method. If not empty, OldSymbol and NewSymbol must be non-null IMethodSymbols, and Kind must be Update. |
Kind |
The type of edit. |
NewSymbol |
The symbol from the later compilation, or the symbol of the containing type from the later compilation if the edit represents a deletion. |
OldSymbol |
The symbol from the earlier compilation, or null if the edit represents an addition. |
PreserveLocalVariables |
True if SyntaxMap is not null. |
RuntimeRudeEdit |
Associates a syntax node in the later compilation to an error that should be reported at runtime by the IL generated for the node, if any. |
SyntaxMap |
A map from syntax node in the later compilation to syntax node in the previous compilation, or null if PreserveLocalVariables is false and the map is not needed or the source of the current method is the same as the source of the previous method. |
Methods
Equals(Object) | |
Equals(SemanticEdit) |
SemanticEdits are considered equal if they are of the same Kind and the corresponding OldSymbol and NewSymbol symbols are the same. The effects of edits that compare equal on the emitted metadata/IL are not necessarily the same. |
GetHashCode() |
Operators
Equality(SemanticEdit, SemanticEdit) | |
Inequality(SemanticEdit, SemanticEdit) |