256 references to EditKind
Microsoft.CodeAnalysis.CSharp.Features (42)
EditAndContinue\CSharpEditAndContinueAnalyzer.cs (42)
1027
EditKind
editKind,
1068
ref TemporaryArray<(ISymbol?, ISymbol?,
EditKind
)> result,
1069
EditKind
editKind,
1077
IReadOnlyDictionary<SyntaxNode,
EditKind
> editMap,
1148
result.Add((oldSymbol, newSymbol, isTypeConstraint ?
EditKind
.Update : editKind));
1155
case
EditKind
.Reorder:
1162
result.Add((oldSymbol, newSymbol,
EditKind
.Update));
1168
result.Add((oldSymbol, newSymbol,
EditKind
.Reorder));
1172
case
EditKind
.Update:
1267
result.Add((oldSymbol, newSymbol,
EditKind
.Update));
1283
result.Add((oldPrimaryConstructor, newPrimaryConstructor,
EditKind
.Update));
1293
result.Add((oldCopyConstructor, newCopyConstructor,
EditKind
.Update));
1301
case
EditKind
.Delete:
1302
case
EditKind
.Insert:
1333
result.Add((oldSymbol, newSymbol,
EditKind
.Update));
1340
result.Add((oldSymbol, newSymbol,
EditKind
.Update));
1348
result.Add((oldSymbol, newSymbol,
EditKind
.Update));
1354
case
EditKind
.Move:
1371
if ((editKind ==
EditKind
.Delete ? oldSymbol : newSymbol) is null)
1597
protected override TextSpan? TryGetDiagnosticSpan(SyntaxNode node,
EditKind
editKind)
1600
internal static new TextSpan GetDiagnosticSpan(SyntaxNode node,
EditKind
editKind)
1603
private static TextSpan? TryGetDiagnosticSpanImpl(SyntaxNode node,
EditKind
editKind)
1607
internal static TextSpan? TryGetDiagnosticSpanImpl(SyntaxKind kind, SyntaxNode node,
EditKind
editKind)
1617
(editKind ==
EditKind
.Delete ? globalStatements.LastOrDefault() : globalStatements.FirstOrDefault()) ??
1730
if (editKind ==
EditKind
.Delete)
1988
protected override string? TryGetDisplayName(SyntaxNode node,
EditKind
editKind)
1991
internal static new string? GetDisplayName(SyntaxNode node,
EditKind
editKind)
1994
internal static string? TryGetDisplayNameImpl(SyntaxNode node,
EditKind
editKind)
2258
protected override string GetSuspensionPointDisplayName(SyntaxNode node,
EditKind
editKind)
2286
private readonly
EditKind
_kind;
2294
EditKind
kind,
2340
case
EditKind
.Delete:
2344
case
EditKind
.Update:
2348
case
EditKind
.Move:
2352
case
EditKind
.Insert:
2356
case
EditKind
.Reorder:
2474
Dictionary<SyntaxNode,
EditKind
> editMap)
2558
GetDiagnosticSpan(newNode,
EditKind
.Insert),
2560
arguments: [GetDisplayName(newNode,
EditKind
.Insert)]));
2631
Debug.Assert(edit.Kind !=
EditKind
.Update || edit.OldNode.RawKind == edit.NewNode.RawKind);
2633
if (edit.Kind !=
EditKind
.Update || !AreExceptionClausesEquivalent(edit.OldNode, edit.NewNode))
2888
GetDiagnosticSpan(newSwitch,
EditKind
.Update),
Microsoft.CodeAnalysis.CSharp.Features.UnitTests (24)
EditAndContinue\CSharpEditAndContinueAnalyzerTests.cs (2)
58
var actual = CSharpEditAndContinueAnalyzer.GetDiagnosticSpan(node,
EditKind
.Update);
96
span = CSharpEditAndContinueAnalyzer.TryGetDiagnosticSpanImpl(kind, null,
EditKind
.Update);
EditAndContinue\TopLevelEditingTests.cs (22)
8460
edits.VerifyEdits(
EditKind
.Reorder);
8491
edits.VerifyEdits(
EditKind
.Reorder);
8527
edits.VerifyEdits(
EditKind
.Reorder);
16851
edits.VerifyEdits(
EditKind
.Reorder);
16881
edits.VerifyEdits(
EditKind
.Reorder);
16912
edits.VerifyEdits(
EditKind
.Reorder,
EditKind
.Update);
16942
edits.VerifyEdits(
EditKind
.Reorder,
EditKind
.Update);
16977
edits.VerifyEdits(
EditKind
.Reorder,
EditKind
.Update);
16996
edits.VerifyEdits(
EditKind
.Reorder);
17029
edits.VerifyEdits(
EditKind
.Reorder);
18357
edits.VerifyEdits(
EditKind
.Reorder);
18387
edits.VerifyEdits(
EditKind
.Reorder);
18421
edits.VerifyEdits(
EditKind
.Reorder);
18438
edits.VerifyEdits(
EditKind
.Reorder);
18471
edits.VerifyEdits(
EditKind
.Reorder);
21785
edits.VerifyEdits(
EditKind
.Reorder);
21817
edits.VerifyEdits(
EditKind
.Reorder);
21853
edits.VerifyEdits(
EditKind
.Reorder);
21886
edits.VerifyEdits(
EditKind
.Reorder);
Microsoft.CodeAnalysis.Features (93)
EditAndContinue\AbstractEditAndContinueAnalyzer.ActiveMembersBuilder.cs (1)
94
var methods = analyzer.GetEditedSymbols(
EditKind
.Update, oldDeclaration, newDeclaration, oldModel, newModel, cancellationToken);
EditAndContinue\AbstractEditAndContinueAnalyzer.cs (92)
185
ref TemporaryArray<(ISymbol?, ISymbol?,
EditKind
)> result,
186
EditKind
editKind,
194
IReadOnlyDictionary<SyntaxNode,
EditKind
> editMap,
202
EditKind
editKind,
209
private OneOrMany<(ISymbol? oldSymbol, ISymbol? newSymbol,
EditKind
editKind)> GetSymbolEdits(
210
EditKind
editKind,
216
IReadOnlyDictionary<SyntaxNode,
EditKind
> editMap,
220
var result = new TemporaryArray<(ISymbol?, ISymbol?,
EditKind
)>();
236
if (editKind ==
EditKind
.Update && GetSemanticallyMatchingNewSymbol(oldSymbol, newSymbol, newModel.Compilation, symbolCache, cancellationToken) != null)
238
AddSymbolEdits(ref result,
EditKind
.Delete, oldNode, oldSymbol, newNode: null, newSymbol: null, oldModel, newModel, topMatch, editMap, symbolCache, cancellationToken);
239
AddSymbolEdits(ref result,
EditKind
.Insert, oldNode: null, oldSymbol: null, newNode, newSymbol, oldModel, newModel, topMatch, editMap, symbolCache, cancellationToken);
249
0 => OneOrMany<(ISymbol?, ISymbol?,
EditKind
)>.Empty,
258
protected abstract TextSpan? TryGetDiagnosticSpan(SyntaxNode node,
EditKind
editKind);
260
internal TextSpan GetDiagnosticSpan(SyntaxNode node,
EditKind
editKind)
263
protected virtual TextSpan GetBodyDiagnosticSpan(SyntaxNode node,
EditKind
editKind)
305
internal string GetDisplayName(SyntaxNode node,
EditKind
editKind =
EditKind
.Update)
356
protected virtual string GetBodyDisplayName(SyntaxNode node,
EditKind
editKind =
EditKind
.Update)
386
protected abstract string? TryGetDisplayName(SyntaxNode node,
EditKind
editKind);
388
protected virtual string GetSuspensionPointDisplayName(SyntaxNode node,
EditKind
editKind)
397
internal abstract void ReportTopLevelSyntacticRudeEdits(RudeEditDiagnosticsBuilder diagnostics, Match<SyntaxNode> match, Edit<SyntaxNode> edit, Dictionary<SyntaxNode,
EditKind
> editMap);
779
private void ReportTopLevelSyntacticRudeEdits(RudeEditDiagnosticsBuilder diagnostics, EditScript<SyntaxNode> syntacticEdits, Dictionary<SyntaxNode,
EditKind
> editMap)
787
internal Dictionary<SyntaxNode,
EditKind
> BuildEditMap(EditScript<SyntaxNode> editScript)
789
var map = new Dictionary<SyntaxNode,
EditKind
>(editScript.Edits.Length);
795
if (edit.Kind is
EditKind
.Delete or
EditKind
.Update)
800
if (edit.Kind is
EditKind
.Insert or
EditKind
.Update)
813
map.Add(editScript.Match.OldRoot,
EditKind
.Update);
814
map.Add(editScript.Match.NewRoot,
EditKind
.Update);
1762
return GetDiagnosticSpan(newAncestor,
EditKind
.Delete);
1769
return GetDiagnosticSpan(newAncestor,
EditKind
.Delete);
1793
protected static bool HasParentEdit(IReadOnlyDictionary<SyntaxNode,
EditKind
> editMap, Edit<SyntaxNode> edit)
1798
case
EditKind
.Insert:
1802
case
EditKind
.Delete:
1813
protected static bool HasEdit(IReadOnlyDictionary<SyntaxNode,
EditKind
> editMap, SyntaxNode? node,
EditKind
editKind)
1817
editMap.TryGetValue(node, out
var
parentEdit) &&
1847
GetDiagnosticSpan(newNode,
EditKind
.Update),
1849
[GetDisplayName(newNode,
EditKind
.Update), oldType.ToDisplayString(), newType.ToDisplayString()]));
1856
GetDiagnosticSpan(newNode,
EditKind
.Update),
1858
[GetDisplayName(newNode,
EditKind
.Update)]));
1865
GetDiagnosticSpan(newNode,
EditKind
.Insert),
1867
[GetDisplayName(newNode,
EditKind
.Insert)]));
1876
[GetDisplayName(oldNode,
EditKind
.Delete)]));
2098
IReadOnlyDictionary<SyntaxNode,
EditKind
> editMap,
2123
Debug.Assert(editMap[newNode] is
EditKind
.Update or
EditKind
.Insert);
2556
IReadOnlyDictionary<SyntaxNode,
EditKind
> editMap,
2608
if (syntacticEditKind ==
EditKind
.Move)
2632
GetDiagnosticSpan(newTypeDeclaration,
EditKind
.Update),
2662
if (syntacticEditKind ==
EditKind
.Update)
2666
syntacticEditKind =
EditKind
.Insert;
2670
syntacticEditKind =
EditKind
.Delete;
2684
if (containingType != null && (syntacticEditKind !=
EditKind
.Delete || newSymbol == null))
2714
if (syntacticEditKind !=
EditKind
.Delete && oldSymbol is INamedTypeSymbol oldType && newSymbol is INamedTypeSymbol newType && IsReloadable(oldType))
2748
case
EditKind
.Delete:
2794
diagnostics.Add(new RudeEditDiagnostic(RudeEditKind.Delete, diagnosticSpan, edit.OldNode, [GetDisplayName(edit.OldNode!,
EditKind
.Delete)]));
2811
[GetDisplayKindAndName(oldSymbol, GetDisplayName(oldDeclaration,
EditKind
.Delete), fullyQualify: diagnosticSpan.IsEmpty)]));
2838
[GetDisplayKindAndName(oldSymbol, GetDisplayName(oldDeclaration,
EditKind
.Delete), fullyQualify: diagnosticSpan.IsEmpty)]));
2896
case
EditKind
.Insert:
2942
HasEdit(editMap, GetSymbolDeclarationSyntax(newAssociatedMember, cancellationToken),
EditKind
.Insert);
2970
GetDiagnosticSpan(newDeclaration,
EditKind
.Insert),
2972
arguments: [GetDisplayName(newDeclaration,
EditKind
.Insert)]));
3012
GetDiagnosticSpan(newDeclaration,
EditKind
.Insert),
3014
arguments: [GetDisplayName(newDeclaration,
EditKind
.Insert)]));
3046
case
EditKind
.Update:
3053
case
EditKind
.Reorder:
3328
var triviaSymbolEdits = GetSymbolEdits(
EditKind
.Update, oldEditNode, newEditNode, oldModel, newModel, editScript.Match, editMap, symbolCache, cancellationToken);
3556
protected static void AddMemberUpdate(ref TemporaryArray<(ISymbol?, ISymbol?,
EditKind
)> result, ISymbol? oldSymbol, ISymbol? newSymbol, ISymbol? newSemanticallyMatchingSymbol)
3563
result.Add((oldSymbol, null,
EditKind
.Delete));
3564
result.Add((null, newSymbol,
EditKind
.Insert));
3568
result.Add((oldSymbol, newSymbol,
EditKind
.Update));
3867
private ImmutableArray<(ISymbol? oldSymbol, ISymbol? newSymbol,
EditKind
editKind)> GetNamespaceSymbolEdits(
3872
using var _1 = ArrayBuilder<(ISymbol? oldSymbol, ISymbol? newSymbol,
EditKind
editKind)>.GetInstance(out var builder);
3903
builder.Add((oldSymbol: oldType, newSymbol: null,
EditKind
.Delete));
3934
builder[deletedTypeIndex] = (builder[deletedTypeIndex].oldSymbol, newType,
EditKind
.Move);
3938
builder.Add((oldSymbol: null, newSymbol: newType,
EditKind
.Insert));
4545
/// and therefore not produced by <see cref="GetSymbolEdits(
EditKind
, SyntaxNode?, SyntaxNode?, DocumentSemanticModel, DocumentSemanticModel, Match{SyntaxNode}, IReadOnlyDictionary{SyntaxNode,
EditKind
}, SymbolInfoCache, CancellationToken)"/>
5038
locationNode.Span : analyzer.GetDiagnosticSpan(GetDiagnosticNode(out var distance, cancellationToken), distance > 0 ?
EditKind
.Delete :
EditKind
.Update),
5066
? analyzer.GetDiagnosticSpan(node, (distance > 0 || kind == RudeEditKind.ChangeImplicitMainReturnType) ?
EditKind
.Delete :
EditKind
.Update)
5844
diagnostics.Add(new RudeEditDiagnostic(RudeEditKind.InsertNotSupportedByRuntime, GetDiagnosticSpan(newLambda,
EditKind
.Insert), newLambda, [GetDisplayName(newLambda,
EditKind
.Insert)]));
5852
diagnostics.Add(new RudeEditDiagnostic(RudeEditKind.InsertLocalFunctionIntoInterfaceMethod, GetDiagnosticSpan(newLambda,
EditKind
.Insert), newLambda, [GetDisplayName(newLambda,
EditKind
.Insert)]));
6197
return IsGlobalMain(symbol) ? GetDiagnosticSpan(GetSymbolDeclarationSyntax(symbol, cancellationToken),
EditKind
.Update) :
6198
symbol is IParameterSymbol && IsGlobalMain(symbol.ContainingSymbol) ? GetDiagnosticSpan(GetSymbolDeclarationSyntax(symbol.ContainingSymbol, cancellationToken),
EditKind
.Update) :
6940
internal void ReportTopLevelSyntacticRudeEdits(RudeEditDiagnosticsBuilder diagnostics, EditScript<SyntaxNode> syntacticEdits, Dictionary<SyntaxNode,
EditKind
> editMap)
Microsoft.CodeAnalysis.Features.Test.Utilities (1)
EditAndContinue\EditScriptDescription.cs (1)
34
public void VerifyEdits(params
EditKind
[] expected)
Microsoft.CodeAnalysis.VisualBasic.Features (48)
EditAndContinue\VisualBasicEditAndContinueAnalyzer.vb (48)
684
editKind As
EditKind
,
724
ByRef result As TemporaryArray(Of (ISymbol, ISymbol,
EditKind
)),
725
editKind As
EditKind
,
733
editMap As IReadOnlyDictionary(Of SyntaxNode,
EditKind
),
779
result.Add((oldSymbol, newSymbol, If(isTypeConstraint,
EditKind
.Update, editKind)))
785
Case
EditKind
.Reorder
792
result.Add((oldSymbol, newSymbol,
EditKind
.Reorder))
794
Case
EditKind
.Delete
797
Case
EditKind
.Insert
800
Case
EditKind
.Update
808
result.Add((oldPropertySymbol, newPropertySymbol,
EditKind
.Update))
828
result.Add((oldEventSymbol, newEventSymbol,
EditKind
.Update))
854
Case
EditKind
.Move
872
editKind As
EditKind
,
896
If editKind =
EditKind
.Update OrElse editKind =
EditKind
.Reorder Then
1059
Protected Overrides Function TryGetDiagnosticSpan(node As SyntaxNode, editKind As
EditKind
) As TextSpan?
1063
Protected Overloads Shared Function GetDiagnosticSpan(node As SyntaxNode, editKind As
EditKind
) As TextSpan
1067
Private Shared Function TryGetDiagnosticSpanImpl(node As SyntaxNode, editKind As
EditKind
) As TextSpan?
1071
Protected Overrides Function GetBodyDiagnosticSpan(node As SyntaxNode, editKind As
EditKind
) As TextSpan
1076
Friend Shared Function TryGetDiagnosticSpanImpl(kind As SyntaxKind, node As SyntaxNode, editKind As
EditKind
) As TextSpan?
1175
If editKind =
EditKind
.Delete Then
1448
Protected Overrides Function TryGetDisplayName(node As SyntaxNode, editKind As
EditKind
) As String
1452
Protected Overloads Shared Function GetDisplayName(node As SyntaxNode, editKind As
EditKind
) As String
1462
Protected Overrides Function GetBodyDisplayName(node As SyntaxNode, Optional editKind As
EditKind
=
EditKind
.Update) As String
1466
Private Shared Function TryGetDisplayNameImpl(node As SyntaxNode, editKind As
EditKind
) As String
1603
Return If(editKind =
EditKind
.Update, VBFeaturesResources.Using_statement, VBFeaturesResources.Using_block)
1606
Return If(editKind =
EditKind
.Update, VBFeaturesResources.With_statement, VBFeaturesResources.With_block)
1609
Return If(editKind =
EditKind
.Update, VBFeaturesResources.SyncLock_statement, VBFeaturesResources.SyncLock_block)
1612
Return If(editKind =
EditKind
.Update, VBFeaturesResources.For_Each_statement, VBFeaturesResources.For_Each_block)
1698
Private ReadOnly _kind As
EditKind
1705
kind As
EditKind
,
1723
arguments:={GetDisplayName(If(_newNode, _oldNode),
EditKind
.Update)}))
1740
Case
EditKind
.Delete
1744
Case
EditKind
.Update
1748
Case
EditKind
.Move
1752
Case
EditKind
.Insert
1756
Case
EditKind
.Reorder
1897
editMap As Dictionary(Of SyntaxNode,
EditKind
))
1904
If edit.Kind =
EditKind
.Delete AndAlso
1908
If HasEdit(editMap, edit.OldNode.Parent.Parent,
EditKind
.Delete) Then
1912
ElseIf edit.Kind =
EditKind
.Insert AndAlso
1916
If HasEdit(editMap, edit.NewNode.Parent.Parent,
EditKind
.Insert) Then
1977
GetDiagnosticSpan(newNode,
EditKind
.Insert),
1979
arguments:={GetDisplayName(newNode,
EditKind
.Insert)}))
2087
Debug.Assert(edit.Kind <>
EditKind
.Update OrElse edit.OldNode.RawKind = edit.NewNode.RawKind)
2089
If edit.Kind <>
EditKind
.Update OrElse Not AreExceptionHandlingPartsEquivalent(edit.OldNode, edit.NewNode) Then
Microsoft.CodeAnalysis.VisualBasic.Features.UnitTests (18)
EditAndContinue\TopLevelEditingTests.vb (16)
5115
edits.VerifyEdits(
EditKind
.Reorder)
5137
edits.VerifyEdits(
EditKind
.Reorder)
5166
edits.VerifyEdits(
EditKind
.Reorder)
7695
edits.VerifyEdits(
EditKind
.Reorder)
7742
edits.VerifyEdits(
EditKind
.Reorder)
7766
edits.VerifyEdits(
EditKind
.Reorder)
7790
edits.VerifyEdits(
EditKind
.Reorder)
7812
edits.VerifyEdits(
EditKind
.Reorder)
7837
edits.VerifyEdits(
EditKind
.Reorder)
7862
edits.VerifyEdits(
EditKind
.Reorder)
8591
edits.VerifyEdits(
EditKind
.Reorder)
8613
edits.VerifyEdits(
EditKind
.Reorder)
8635
edits.VerifyEdits(
EditKind
.Reorder)
8671
edits.VerifyEdits(
EditKind
.Reorder)
8694
edits.VerifyEdits(
EditKind
.Reorder)
8720
edits.VerifyEdits(
EditKind
.Reorder)
EditAndContinue\VisualBasicEditAndContinueAnalyzerTests.vb (2)
43
Dim actualSpan = VisualBasicEditAndContinueAnalyzer.TryGetDiagnosticSpanImpl(node.Kind, node,
EditKind
.Update).Value
103
span = VisualBasicEditAndContinueAnalyzer.TryGetDiagnosticSpanImpl(k, Nothing,
EditKind
.Update)
Microsoft.CodeAnalysis.Workspaces (24)
Differencing\Edit.cs (9)
22
internal Edit(
EditKind
kind, TreeComparer<TNode> comparer, TNode oldNode, TNode newNode)
24
Debug.Assert((oldNode == null || oldNode.Equals(null)) == (kind ==
EditKind
.Insert));
25
Debug.Assert((newNode == null || newNode.Equals(null)) == (kind ==
EditKind
.Delete));
38
public
EditKind
Kind { get; }
96
case
EditKind
.Delete:
99
case
EditKind
.Insert:
102
case
EditKind
.Update:
105
case
EditKind
.Move:
106
case
EditKind
.Reorder:
Differencing\EditScript.cs (5)
95
edits.Add(new Edit<TNode>(
EditKind
.Insert, Comparer, oldNode: default, newNode: x));
114
edits.Add(new Edit<TNode>(
EditKind
.Update, Comparer, oldNode: w, newNode: x));
126
edits.Add(new Edit<TNode>(
EditKind
.Move, Comparer, oldNode: w, newNode: x));
156
edits.Add(new Edit<TNode>(
EditKind
.Delete, Comparer, oldNode: w, newNode: default));
236
edits.Add(new Edit<TNode>(
EditKind
.Reorder, Comparer, oldNode: a, newNode: b));
Differencing\SequenceEdit.cs (10)
30
/// The kind of edit: <see cref="
EditKind
.Delete"/>, <see cref="
EditKind
.Insert"/>, or <see cref="
EditKind
.Update"/>.
32
public
EditKind
Kind
38
return
EditKind
.Insert;
43
return
EditKind
.Delete;
46
return
EditKind
.Update;
77
case
EditKind
.Delete:
80
case
EditKind
.Insert:
83
case
EditKind
.Update:
Microsoft.CodeAnalysis.Workspaces.UnitTests (6)
Differencing\LongestCommonSubsequenceTests.cs (6)
50
Assert.True(edit.Kind is
EditKind
.Delete or
EditKind
.Insert or
EditKind
.Update);
53
case
EditKind
.Delete:
58
case
EditKind
.Insert:
63
case
EditKind
.Update: