256 references to EditKind
Microsoft.CodeAnalysis.CSharp.Features (42)
EditAndContinue\CSharpEditAndContinueAnalyzer.cs (42)
1042
EditKind
editKind,
1085
ref TemporaryArray<(ISymbol?, ISymbol?,
EditKind
)> result,
1086
EditKind
editKind,
1094
IReadOnlyDictionary<SyntaxNode,
EditKind
> editMap,
1165
result.Add((oldSymbol, newSymbol, isTypeConstraint ?
EditKind
.Update : editKind));
1172
case
EditKind
.Reorder:
1179
result.Add((oldSymbol, newSymbol,
EditKind
.Update));
1185
result.Add((oldSymbol, newSymbol,
EditKind
.Reorder));
1189
case
EditKind
.Update:
1285
result.Add((oldSymbol, newSymbol,
EditKind
.Update));
1301
result.Add((oldPrimaryConstructor, newPrimaryConstructor,
EditKind
.Update));
1311
result.Add((oldCopyConstructor, newCopyConstructor,
EditKind
.Update));
1319
case
EditKind
.Delete:
1320
case
EditKind
.Insert:
1351
result.Add((oldSymbol, newSymbol,
EditKind
.Update));
1358
result.Add((oldSymbol, newSymbol,
EditKind
.Update));
1366
result.Add((oldSymbol, newSymbol,
EditKind
.Update));
1372
case
EditKind
.Move:
1390
if ((editKind ==
EditKind
.Delete ? oldSymbol : newSymbol) is null)
1616
protected override TextSpan? TryGetDiagnosticSpan(SyntaxNode node,
EditKind
editKind)
1619
internal static new TextSpan GetDiagnosticSpan(SyntaxNode node,
EditKind
editKind)
1622
private static TextSpan? TryGetDiagnosticSpanImpl(SyntaxNode node,
EditKind
editKind)
1626
internal static TextSpan? TryGetDiagnosticSpanImpl(SyntaxKind kind, SyntaxNode node,
EditKind
editKind)
1636
(editKind ==
EditKind
.Delete ? globalStatements.LastOrDefault() : globalStatements.FirstOrDefault()) ??
1749
if (editKind ==
EditKind
.Delete)
2007
protected override string? TryGetDisplayName(SyntaxNode node,
EditKind
editKind)
2010
internal static new string? GetDisplayName(SyntaxNode node,
EditKind
editKind)
2013
internal static string? TryGetDisplayNameImpl(SyntaxNode node,
EditKind
editKind)
2277
protected override string GetSuspensionPointDisplayName(SyntaxNode node,
EditKind
editKind)
2305
private readonly
EditKind
_kind;
2313
EditKind
kind,
2359
case
EditKind
.Delete:
2363
case
EditKind
.Update:
2367
case
EditKind
.Move:
2371
case
EditKind
.Insert:
2375
case
EditKind
.Reorder:
2493
Dictionary<SyntaxNode,
EditKind
> editMap)
2577
GetDiagnosticSpan(newNode,
EditKind
.Insert),
2579
arguments: [GetDisplayName(newNode,
EditKind
.Insert)]));
2650
Debug.Assert(edit.Kind !=
EditKind
.Update || edit.OldNode.RawKind == edit.NewNode.RawKind);
2652
if (edit.Kind !=
EditKind
.Update || !AreExceptionClausesEquivalent(edit.OldNode, edit.NewNode))
2907
GetDiagnosticSpan(newSwitch,
EditKind
.Update),
Microsoft.CodeAnalysis.CSharp.Features.UnitTests (24)
EditAndContinue\CSharpEditAndContinueAnalyzerTests.cs (2)
62
var actual = CSharpEditAndContinueAnalyzer.GetDiagnosticSpan(node,
EditKind
.Update);
100
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);
18218
edits.VerifyEdits(
EditKind
.Reorder);
18248
edits.VerifyEdits(
EditKind
.Reorder);
18282
edits.VerifyEdits(
EditKind
.Reorder);
18299
edits.VerifyEdits(
EditKind
.Reorder);
18332
edits.VerifyEdits(
EditKind
.Reorder);
21506
edits.VerifyEdits(
EditKind
.Reorder);
21538
edits.VerifyEdits(
EditKind
.Reorder);
21574
edits.VerifyEdits(
EditKind
.Reorder);
21607
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, 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,
263
protected abstract TextSpan? TryGetDiagnosticSpan(SyntaxNode node,
EditKind
editKind);
265
internal TextSpan GetDiagnosticSpan(SyntaxNode node,
EditKind
editKind)
268
protected virtual TextSpan GetBodyDiagnosticSpan(SyntaxNode node,
EditKind
editKind)
310
internal string GetDisplayName(SyntaxNode node,
EditKind
editKind =
EditKind
.Update)
361
protected virtual string GetBodyDisplayName(SyntaxNode node,
EditKind
editKind =
EditKind
.Update)
391
protected abstract string? TryGetDisplayName(SyntaxNode node,
EditKind
editKind);
393
protected virtual string GetSuspensionPointDisplayName(SyntaxNode node,
EditKind
editKind)
402
internal abstract void ReportTopLevelSyntacticRudeEdits(RudeEditDiagnosticsBuilder diagnostics, Match<SyntaxNode> match, Edit<SyntaxNode> edit, Dictionary<SyntaxNode,
EditKind
> editMap);
742
private void ReportTopLevelSyntacticRudeEdits(RudeEditDiagnosticsBuilder diagnostics, EditScript<SyntaxNode> syntacticEdits, Dictionary<SyntaxNode,
EditKind
> editMap)
750
internal Dictionary<SyntaxNode,
EditKind
> BuildEditMap(EditScript<SyntaxNode> editScript)
752
var map = new Dictionary<SyntaxNode,
EditKind
>(editScript.Edits.Length);
758
if (edit.Kind is
EditKind
.Delete or
EditKind
.Update)
763
if (edit.Kind is
EditKind
.Insert or
EditKind
.Update)
776
map.Add(editScript.Match.OldRoot,
EditKind
.Update);
777
map.Add(editScript.Match.NewRoot,
EditKind
.Update);
1727
return GetDiagnosticSpan(newAncestor,
EditKind
.Delete);
1734
return GetDiagnosticSpan(newAncestor,
EditKind
.Delete);
1758
protected static bool HasParentEdit(IReadOnlyDictionary<SyntaxNode,
EditKind
> editMap, Edit<SyntaxNode> edit)
1763
case
EditKind
.Insert:
1767
case
EditKind
.Delete:
1778
protected static bool HasEdit(IReadOnlyDictionary<SyntaxNode,
EditKind
> editMap, SyntaxNode? node,
EditKind
editKind)
1782
editMap.TryGetValue(node, out
var
parentEdit) &&
1812
GetDiagnosticSpan(newNode,
EditKind
.Update),
1814
[GetDisplayName(newNode,
EditKind
.Update), oldType.ToDisplayString(), newType.ToDisplayString()]));
1821
GetDiagnosticSpan(newNode,
EditKind
.Update),
1823
[GetDisplayName(newNode,
EditKind
.Update)]));
1830
GetDiagnosticSpan(newNode,
EditKind
.Insert),
1832
[GetDisplayName(newNode,
EditKind
.Insert)]));
1841
[GetDisplayName(oldNode,
EditKind
.Delete)]));
2063
IReadOnlyDictionary<SyntaxNode,
EditKind
> editMap,
2088
Debug.Assert(editMap[newNode] is
EditKind
.Update or
EditKind
.Insert);
2521
IReadOnlyDictionary<SyntaxNode,
EditKind
> editMap,
2577
if (syntacticEditKind ==
EditKind
.Move)
2601
GetDiagnosticSpan(newTypeDeclaration,
EditKind
.Update),
2631
if (syntacticEditKind ==
EditKind
.Update)
2635
syntacticEditKind =
EditKind
.Insert;
2639
syntacticEditKind =
EditKind
.Delete;
2653
if (containingType != null && (syntacticEditKind !=
EditKind
.Delete || newSymbol == null))
2683
if (syntacticEditKind !=
EditKind
.Delete && oldSymbol is INamedTypeSymbol oldType && newSymbol is INamedTypeSymbol newType && IsReloadable(oldType))
2717
case
EditKind
.Delete:
2764
diagnostics.Add(new RudeEditDiagnostic(RudeEditKind.Delete, diagnosticSpan, edit.OldNode, [GetDisplayName(edit.OldNode!,
EditKind
.Delete)]));
2781
[GetDisplayKindAndName(oldSymbol, GetDisplayName(oldDeclaration,
EditKind
.Delete), fullyQualify: diagnosticSpan.IsEmpty)]));
2808
[GetDisplayKindAndName(oldSymbol, GetDisplayName(oldDeclaration,
EditKind
.Delete), fullyQualify: diagnosticSpan.IsEmpty)]));
2866
case
EditKind
.Insert:
2913
HasEdit(editMap, GetSymbolDeclarationSyntax(newAssociatedMember, cancellationToken),
EditKind
.Insert);
2941
GetDiagnosticSpan(newDeclaration,
EditKind
.Insert),
2943
arguments: [GetDisplayName(newDeclaration,
EditKind
.Insert)]));
2983
GetDiagnosticSpan(newDeclaration,
EditKind
.Insert),
2985
arguments: [GetDisplayName(newDeclaration,
EditKind
.Insert)]));
3017
case
EditKind
.Update:
3026
case
EditKind
.Reorder:
3307
var triviaSymbolEdits = GetSymbolEdits(
EditKind
.Update, oldEditNode, newEditNode, oldModel, newModel, editScript.Match, editMap, symbolCache, cancellationToken);
3537
protected static void AddMemberUpdate(ref TemporaryArray<(ISymbol?, ISymbol?,
EditKind
)> result, ISymbol? oldSymbol, ISymbol? newSymbol, ISymbol? newSemanticallyMatchingSymbol)
3544
result.Add((oldSymbol, null,
EditKind
.Delete));
3545
result.Add((null, newSymbol,
EditKind
.Insert));
3549
result.Add((oldSymbol, newSymbol,
EditKind
.Update));
3848
private ImmutableArray<(ISymbol? oldSymbol, ISymbol? newSymbol,
EditKind
editKind)> GetNamespaceSymbolEdits(
3853
using var _1 = ArrayBuilder<(ISymbol? oldSymbol, ISymbol? newSymbol,
EditKind
editKind)>.GetInstance(out var builder);
3884
builder.Add((oldSymbol: oldType, newSymbol: null,
EditKind
.Delete));
3915
builder[deletedTypeIndex] = (builder[deletedTypeIndex].oldSymbol, newType,
EditKind
.Move);
3919
builder.Add((oldSymbol: null, newSymbol: newType,
EditKind
.Insert));
4526
/// and therefore not produced by <see cref="GetSymbolEdits(
EditKind
, SyntaxNode?, SyntaxNode?, SemanticModel?, SemanticModel, Match{SyntaxNode}, IReadOnlyDictionary{SyntaxNode,
EditKind
}, SymbolInfoCache, CancellationToken)"/>
5019
locationNode.Span : analyzer.GetDiagnosticSpan(GetDiagnosticNode(out var distance, cancellationToken), distance > 0 ?
EditKind
.Delete :
EditKind
.Update),
5047
? analyzer.GetDiagnosticSpan(node, (distance > 0 || kind == RudeEditKind.ChangeImplicitMainReturnType) ?
EditKind
.Delete :
EditKind
.Update)
5831
diagnostics.Add(new RudeEditDiagnostic(RudeEditKind.InsertNotSupportedByRuntime, GetDiagnosticSpan(newLambda,
EditKind
.Insert), newLambda, [GetDisplayName(newLambda,
EditKind
.Insert)]));
5839
diagnostics.Add(new RudeEditDiagnostic(RudeEditKind.InsertLocalFunctionIntoInterfaceMethod, GetDiagnosticSpan(newLambda,
EditKind
.Insert), newLambda, [GetDisplayName(newLambda,
EditKind
.Insert)]));
6186
return IsGlobalMain(symbol) ? GetDiagnosticSpan(GetSymbolDeclarationSyntax(symbol, cancellationToken),
EditKind
.Update) :
6187
symbol is IParameterSymbol && IsGlobalMain(symbol.ContainingSymbol) ? GetDiagnosticSpan(GetSymbolDeclarationSyntax(symbol.ContainingSymbol, cancellationToken),
EditKind
.Update) :
6929
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)
698
editKind As
EditKind
,
738
ByRef result As TemporaryArray(Of (ISymbol, ISymbol,
EditKind
)),
739
editKind As
EditKind
,
747
editMap As IReadOnlyDictionary(Of SyntaxNode,
EditKind
),
793
result.Add((oldSymbol, newSymbol, If(isTypeConstraint,
EditKind
.Update, editKind)))
799
Case
EditKind
.Reorder
806
result.Add((oldSymbol, newSymbol,
EditKind
.Reorder))
808
Case
EditKind
.Delete
811
Case
EditKind
.Insert
814
Case
EditKind
.Update
822
result.Add((oldPropertySymbol, newPropertySymbol,
EditKind
.Update))
842
result.Add((oldEventSymbol, newEventSymbol,
EditKind
.Update))
868
Case
EditKind
.Move
886
editKind As
EditKind
,
910
If editKind =
EditKind
.Update OrElse editKind =
EditKind
.Reorder Then
1073
Protected Overrides Function TryGetDiagnosticSpan(node As SyntaxNode, editKind As
EditKind
) As TextSpan?
1077
Protected Overloads Shared Function GetDiagnosticSpan(node As SyntaxNode, editKind As
EditKind
) As TextSpan
1081
Private Shared Function TryGetDiagnosticSpanImpl(node As SyntaxNode, editKind As
EditKind
) As TextSpan?
1085
Protected Overrides Function GetBodyDiagnosticSpan(node As SyntaxNode, editKind As
EditKind
) As TextSpan
1090
Friend Shared Function TryGetDiagnosticSpanImpl(kind As SyntaxKind, node As SyntaxNode, editKind As
EditKind
) As TextSpan?
1189
If editKind =
EditKind
.Delete Then
1462
Protected Overrides Function TryGetDisplayName(node As SyntaxNode, editKind As
EditKind
) As String
1466
Protected Overloads Shared Function GetDisplayName(node As SyntaxNode, editKind As
EditKind
) As String
1476
Protected Overrides Function GetBodyDisplayName(node As SyntaxNode, Optional editKind As
EditKind
=
EditKind
.Update) As String
1480
Private Shared Function TryGetDisplayNameImpl(node As SyntaxNode, editKind As
EditKind
) As String
1617
Return If(editKind =
EditKind
.Update, VBFeaturesResources.Using_statement, VBFeaturesResources.Using_block)
1620
Return If(editKind =
EditKind
.Update, VBFeaturesResources.With_statement, VBFeaturesResources.With_block)
1623
Return If(editKind =
EditKind
.Update, VBFeaturesResources.SyncLock_statement, VBFeaturesResources.SyncLock_block)
1626
Return If(editKind =
EditKind
.Update, VBFeaturesResources.For_Each_statement, VBFeaturesResources.For_Each_block)
1712
Private ReadOnly _kind As
EditKind
1719
kind As
EditKind
,
1737
arguments:={GetDisplayName(If(_newNode, _oldNode),
EditKind
.Update)}))
1754
Case
EditKind
.Delete
1758
Case
EditKind
.Update
1762
Case
EditKind
.Move
1766
Case
EditKind
.Insert
1770
Case
EditKind
.Reorder
1911
editMap As Dictionary(Of SyntaxNode,
EditKind
))
1918
If edit.Kind =
EditKind
.Delete AndAlso
1922
If HasEdit(editMap, edit.OldNode.Parent.Parent,
EditKind
.Delete) Then
1926
ElseIf edit.Kind =
EditKind
.Insert AndAlso
1930
If HasEdit(editMap, edit.NewNode.Parent.Parent,
EditKind
.Insert) Then
1991
GetDiagnosticSpan(newNode,
EditKind
.Insert),
1993
arguments:={GetDisplayName(newNode,
EditKind
.Insert)}))
2101
Debug.Assert(edit.Kind <>
EditKind
.Update OrElse edit.OldNode.RawKind = edit.NewNode.RawKind)
2103
If edit.Kind <>
EditKind
.Update OrElse Not AreExceptionHandlingPartsEquivalent(edit.OldNode, edit.NewNode) Then
Microsoft.CodeAnalysis.VisualBasic.Features.UnitTests (18)
EditAndContinue\TopLevelEditingTests.vb (16)
5114
edits.VerifyEdits(
EditKind
.Reorder)
5136
edits.VerifyEdits(
EditKind
.Reorder)
5165
edits.VerifyEdits(
EditKind
.Reorder)
7694
edits.VerifyEdits(
EditKind
.Reorder)
7741
edits.VerifyEdits(
EditKind
.Reorder)
7765
edits.VerifyEdits(
EditKind
.Reorder)
7789
edits.VerifyEdits(
EditKind
.Reorder)
7811
edits.VerifyEdits(
EditKind
.Reorder)
7836
edits.VerifyEdits(
EditKind
.Reorder)
7861
edits.VerifyEdits(
EditKind
.Reorder)
8590
edits.VerifyEdits(
EditKind
.Reorder)
8612
edits.VerifyEdits(
EditKind
.Reorder)
8634
edits.VerifyEdits(
EditKind
.Reorder)
8670
edits.VerifyEdits(
EditKind
.Reorder)
8693
edits.VerifyEdits(
EditKind
.Reorder)
8719
edits.VerifyEdits(
EditKind
.Reorder)
EditAndContinue\VisualBasicEditAndContinueAnalyzerTests.vb (2)
45
Dim actualSpan = VisualBasicEditAndContinueAnalyzer.TryGetDiagnosticSpanImpl(node.Kind, node,
EditKind
.Update).Value
105
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: