253 references to EditKind
Microsoft.CodeAnalysis.CSharp.EditorFeatures.UnitTests (2)
EditAndContinue\CSharpEditAndContinueAnalyzerTests.cs (2)
64var actual = CSharpEditAndContinueAnalyzer.GetDiagnosticSpan(node, EditKind.Update); 102span = CSharpEditAndContinueAnalyzer.TryGetDiagnosticSpanImpl(kind, null, EditKind.Update);
Microsoft.CodeAnalysis.CSharp.Features (57)
EditAndContinue\CSharpEditAndContinueAnalyzer.cs (57)
700GetDiagnosticSpan(newNode, EditKind.Delete), 711GetDiagnosticSpan(newNode, EditKind.Delete), 731GetDiagnosticSpan(newNode, EditKind.Update), 797return GetDiagnosticSpan(node, EditKind.Delete); 1163internal override bool TryGetAssociatedMemberDeclaration(SyntaxNode node, EditKind editKind, [NotNullWhen(true)] out SyntaxNode? declaration) 1176if (editKind != EditKind.Delete && 1244protected override OneOrMany<(ISymbol? oldSymbol, ISymbol? newSymbol, EditKind editKind)> GetSymbolEdits( 1245EditKind editKind, 1250IReadOnlyDictionary<SyntaxNode, EditKind> editMap, 1258case EditKind.Reorder: 1267return new OneOrMany<(ISymbol?, ISymbol?, EditKind)>((oldSymbol.ContainingSymbol, newSymbol.ContainingSymbol, EditKind.Update)); 1273return new OneOrMany<(ISymbol?, ISymbol?, EditKind)>((oldSymbol, newSymbol, EditKind.Update)); 1284return OneOrMany<(ISymbol?, ISymbol?, EditKind)>.Empty; 1286case EditKind.Update: 1321using var _ = ArrayBuilder<(ISymbol?, ISymbol?, EditKind)>.GetInstance(out var builder); 1353OneOrMany<(ISymbol?, ISymbol?, EditKind)> GetFieldSymbolUpdates(SeparatedSyntaxList<VariableDeclaratorSyntax> oldVariables, SeparatedSyntaxList<VariableDeclaratorSyntax> newVariables) 1357return OneOrMany.Create((oldModel.GetDeclaredSymbol(oldVariables[0], cancellationToken), newModel.GetDeclaredSymbol(newVariables[0], cancellationToken), EditKind.Update)); 1362select (oldModel.GetDeclaredSymbol(oldVariable, cancellationToken), newModel.GetDeclaredSymbol(newVariable, cancellationToken), EditKind.Update); 1369case EditKind.Delete: 1370case EditKind.Insert: 1381return OneOrMany<(ISymbol?, ISymbol?, EditKind)>.Empty; 1399return OneOrMany.Create(ImmutableArray.Create((oldSymbol, newSymbol, EditKind.Update))); 1405return OneOrMany.Create(ImmutableArray.Create((oldSymbol, newSymbol, EditKind.Update))); 1410case EditKind.Move: 1420? OneOrMany<(ISymbol?, ISymbol?, EditKind)>.Empty 1424return (editKind == EditKind.Delete ? oldSymbol : newSymbol) is null ? 1425OneOrMany<(ISymbol?, ISymbol?, EditKind)>.Empty : new OneOrMany<(ISymbol?, ISymbol?, EditKind)>((oldSymbol, newSymbol, editKind)); 1585protected override TextSpan? TryGetDiagnosticSpan(SyntaxNode node, EditKind editKind) 1588internal static new TextSpan GetDiagnosticSpan(SyntaxNode node, EditKind editKind) 1591private static TextSpan? TryGetDiagnosticSpanImpl(SyntaxNode node, EditKind editKind) 1595internal static TextSpan? TryGetDiagnosticSpanImpl(SyntaxKind kind, SyntaxNode node, EditKind editKind) 1701if (editKind == EditKind.Delete) 1955protected override string? TryGetDisplayName(SyntaxNode node, EditKind editKind) 1958internal static new string? GetDisplayName(SyntaxNode node, EditKind editKind) 1961internal static string? TryGetDisplayNameImpl(SyntaxNode node, EditKind editKind) 2220protected override string GetSuspensionPointDisplayName(SyntaxNode node, EditKind editKind) 2248private readonly EditKind _kind; 2256EditKind kind, 2302case EditKind.Delete: 2306case EditKind.Update: 2310case EditKind.Move: 2314case EditKind.Insert: 2318case EditKind.Reorder: 2458Dictionary<SyntaxNode, EditKind> editMap) 2471var classifier = new EditClassifier(this, diagnostics, oldNode: null, newMember, EditKind.Update, span: span); 2531GetDiagnosticSpan(newNode, EditKind.Insert), 2533arguments: new[] { GetDisplayName(newNode, EditKind.Insert) })); 2603Debug.Assert(edit.Kind != EditKind.Update || edit.OldNode.RawKind == edit.NewNode.RawKind); 2605if (edit.Kind != EditKind.Update || !AreExceptionClausesEquivalent(edit.OldNode, edit.NewNode)) 2730GetDiagnosticSpan(newForEachStatement, EditKind.Update), 2732new[] { GetDisplayName(newForEachStatement, EditKind.Update) })); 2744GetDiagnosticSpan(newLocalDeclaration, EditKind.Update), 2746new[] { GetDisplayName(newLocalDeclaration, EditKind.Update) })); 2942GetDiagnosticSpan(newSwitch, EditKind.Update),
Microsoft.CodeAnalysis.Features (105)
EditAndContinue\AbstractEditAndContinueAnalyzer.cs (105)
274protected abstract OneOrMany<(ISymbol? oldSymbol, ISymbol? newSymbol, EditKind editKind)> GetSymbolEdits( 275EditKind editKind, 280IReadOnlyDictionary<SyntaxNode, EditKind> editMap, 297protected abstract TextSpan? TryGetDiagnosticSpan(SyntaxNode node, EditKind editKind); 299internal TextSpan GetDiagnosticSpan(SyntaxNode node, EditKind editKind) 302protected virtual TextSpan GetBodyDiagnosticSpan(SyntaxNode node, EditKind editKind) 325internal string GetDisplayName(SyntaxNode node, EditKind editKind = EditKind.Update) 372protected virtual string GetBodyDisplayName(SyntaxNode node, EditKind editKind = EditKind.Update) 402protected abstract string? TryGetDisplayName(SyntaxNode node, EditKind editKind); 404protected virtual string GetSuspensionPointDisplayName(SyntaxNode node, EditKind editKind) 414internal abstract void ReportTopLevelSyntacticRudeEdits(ArrayBuilder<RudeEditDiagnostic> diagnostics, Match<SyntaxNode> match, Edit<SyntaxNode> edit, Dictionary<SyntaxNode, EditKind> editMap); 469internal abstract bool TryGetAssociatedMemberDeclaration(SyntaxNode node, EditKind editKind, [NotNullWhen(true)] out SyntaxNode? declaration); 723private void ReportTopLevelSyntacticRudeEdits(ArrayBuilder<RudeEditDiagnostic> diagnostics, EditScript<SyntaxNode> syntacticEdits, Dictionary<SyntaxNode, EditKind> editMap) 733/// <see cref="EditKind.Move"/> or <see cref="EditKind.Reorder"/>. 754internal Dictionary<SyntaxNode, EditKind> BuildEditMap(EditScript<SyntaxNode> editScript) 756var map = new Dictionary<SyntaxNode, EditKind>(editScript.Edits.Length); 762if (edit.Kind is EditKind.Delete or EditKind.Update) 767if (edit.Kind is EditKind.Insert or EditKind.Update) 780map.Add(editScript.Match.OldRoot, EditKind.Update); 781map.Add(editScript.Match.NewRoot, EditKind.Update); 995ReportMemberBodyUpdateRudeEdits(diagnostics, newDeclaration, GetDiagnosticSpan(newDeclaration, EditKind.Update)); 1059diagnostics.Add(new RudeEditDiagnostic(RudeEditKind.MakeMethodAsyncNotSupportedByRuntime, GetDiagnosticSpan(newDeclaration, EditKind.Insert))); 1063diagnostics.Add(new RudeEditDiagnostic(RudeEditKind.MakeMethodIteratorNotSupportedByRuntime, GetDiagnosticSpan(newDeclaration, EditKind.Insert))); 1239var bodySpan = GetBodyDiagnosticSpan(newBody, EditKind.Update); 1512GetBodyDiagnosticSpan(newBody, EditKind.Update))); 1521GetBodyDiagnosticSpan(newBody, EditKind.Update), 1531GetBodyDiagnosticSpan(newBody, EditKind.Update), 1545new[] { GetSuspensionPointDisplayName(deletedSuspensionPoint, EditKind.Delete) })); 1552GetDiagnosticSpan(insertedSuspensionPoint, EditKind.Insert), 1554new[] { GetSuspensionPointDisplayName(insertedSuspensionPoint, EditKind.Insert) })); 1677return GetDiagnosticSpan(newAncestor, EditKind.Delete); 1724protected static bool HasParentEdit(IReadOnlyDictionary<SyntaxNode, EditKind> editMap, Edit<SyntaxNode> edit) 1729case EditKind.Insert: 1733case EditKind.Delete: 1744protected static bool HasEdit(IReadOnlyDictionary<SyntaxNode, EditKind> editMap, SyntaxNode? node, EditKind editKind) 1748editMap.TryGetValue(node, out var parentEdit) && 1778GetDiagnosticSpan(newNode, EditKind.Update), 1780new[] { GetDisplayName(newNode, EditKind.Update) })); 1787GetDiagnosticSpan(newNode, EditKind.Insert), 1789new[] { GetDisplayName(newNode, EditKind.Insert) })); 1798new[] { GetDisplayName(oldNode, EditKind.Delete) })); 1980IReadOnlyDictionary<SyntaxNode, EditKind> editMap, 1998Debug.Assert(editMap[newNode] is EditKind.Update or EditKind.Insert); 2404IReadOnlyDictionary<SyntaxNode, EditKind> editMap, 2468if (syntacticEditKind == EditKind.Move) 2486GetDiagnosticSpan(newTypeDeclaration, EditKind.Update), 2509if (syntacticEditKind == EditKind.Update) 2513syntacticEditKind = EditKind.Insert; 2517syntacticEditKind = EditKind.Delete; 2531if (containingType != null && (syntacticEditKind != EditKind.Delete || newSymbol == null)) 2563if (syntacticEditKind != EditKind.Delete && oldType != null && newType != null && IsReloadable(oldType)) 2594case EditKind.Delete: 2604oldDeclaration, new[] { GetDisplayName(oldDeclaration, EditKind.Delete) })); 2698diagnostics.Add(new RudeEditDiagnostic(RudeEditKind.Delete, diagnosticSpan, edit.OldNode, new[] { GetDisplayName(edit.OldNode!, EditKind.Delete) })); 2712if (TryGetAssociatedMemberDeclaration(oldDeclaration, EditKind.Delete, out var oldAssociatedMemberDeclaration)) 2714if (HasEdit(editMap, oldAssociatedMemberDeclaration, EditKind.Delete)) 2760GetDisplayName(oldDeclaration, EditKind.Delete), 2770case EditKind.Insert: 2779diagnostics.Add(new RudeEditDiagnostic(RudeEditKind.Insert, GetDiagnosticSpan(newDeclaration, EditKind.Insert), 2780newDeclaration, new[] { GetDisplayName(newDeclaration, EditKind.Insert) })); 2903else if (TryGetAssociatedMemberDeclaration(newDeclaration, EditKind.Insert, out var newAssociatedMemberDeclaration) && 2904HasEdit(editMap, newAssociatedMemberDeclaration, EditKind.Insert)) 2914GetDiagnosticSpan(newDeclaration, EditKind.Insert), 2916arguments: new[] { GetDisplayName(newDeclaration, EditKind.Insert) })); 2926GetDiagnosticSpan(newDeclaration, EditKind.Insert), 2928arguments: new[] { GetDisplayName(newDeclaration, EditKind.Insert) })); 2944GetDiagnosticSpan(newDeclaration, EditKind.Insert), 2946arguments: new[] { GetDisplayName(newDeclaration, EditKind.Insert) })); 2983GetDiagnosticSpan(newDeclaration, EditKind.Insert), 2985arguments: new[] { GetDisplayName(newDeclaration, EditKind.Insert) })); 3005diagnostics.Add(new RudeEditDiagnostic(RudeEditKind.InsertConstructorToTypeWithInitializersWithLambdas, GetDiagnosticSpan(newDeclaration, EditKind.Insert))); 3030case EditKind.Update: 3053diagnostics.Add(new RudeEditDiagnostic(RudeEditKind.Update, GetDiagnosticSpan(newDeclaration, EditKind.Update), 3054newDeclaration, new[] { GetDisplayName(newDeclaration, EditKind.Update) })); 3207foreach (var (oldSymbol, newSymbol, editKind) in GetSymbolEdits(EditKind.Update, oldEditNode, newEditNode, oldModel, newModel, editMap, cancellationToken)) 3551private ImmutableArray<(ISymbol? oldSymbol, ISymbol? newSymbol, EditKind editKind)> GetNamespaceSymbolEdits( 3556using var _1 = ArrayBuilder<(ISymbol? oldSymbol, ISymbol? newSymbol, EditKind editKind)>.GetInstance(out var builder); 3589builder.Add((oldSymbol: oldType, newSymbol: null, EditKind.Delete)); 3622builder[deletedTypeIndex] = (builder[deletedTypeIndex].oldSymbol, newType, EditKind.Move); 3626builder.Add((oldSymbol: null, newSymbol: newType, EditKind.Insert)); 4381diagnostics.Add(new RudeEditDiagnostic(RudeEditKind.ChangingNonCustomAttribute, GetDiagnosticSpan(node, EditKind.Update), node, new[] 4586GetDiagnosticSpan(newNode, EditKind.Delete), 4597GetDiagnosticSpan(newNode, EditKind.Update), 4605var span = (rudeEdit == RudeEditKind.ChangeImplicitMainReturnType) ? GetGlobalStatementDiagnosticSpan(node) : GetDiagnosticSpan(node, EditKind.Update); 4719GetDisplayName(syntax, EditKind.Insert), 4720GetDisplayName(TryGetContainingTypeDeclaration(syntax)!, EditKind.Update) 4959diagnostics.Add(new RudeEditDiagnostic(RudeEditKind.InsertConstructorToTypeWithInitializersWithLambdas, GetDiagnosticSpan(newDeclaration, EditKind.Insert))); 4988GetDiagnosticSpan(newDeclaration, EditKind.Update), 5165GetDiagnosticSpan(newQueryClause, EditKind.Update), 5167new[] { GetDisplayName(newQueryClause, EditKind.Update) })); 5270diagnostics.Add(new RudeEditDiagnostic(rudeEdit, GetDiagnosticSpan(GetLambda(newLambdaBody), EditKind.Update), null, arguments)); 5331diagnostics.Add(new RudeEditDiagnostic(RudeEditKind.InsertNotSupportedByRuntime, GetDiagnosticSpan(newLambda, EditKind.Insert), newLambda, new string[] { GetDisplayName(newLambda, EditKind.Insert) })); 5339diagnostics.Add(new RudeEditDiagnostic(RudeEditKind.InsertLocalFunctionIntoInterfaceMethod, GetDiagnosticSpan(newLambda, EditKind.Insert), newLambda, new string[] { GetDisplayName(newLambda, EditKind.Insert) })); 5450errorSpan = GetDiagnosticSpan(GetLambda(lambdaBody), EditKind.Insert); 5986GetBodyDiagnosticSpan(newBody, EditKind.Update), 6096internal void ReportTopLevelSyntacticRudeEdits(ArrayBuilder<RudeEditDiagnostic> diagnostics, EditScript<SyntaxNode> syntacticEdits, Dictionary<SyntaxNode, EditKind> editMap)
Microsoft.CodeAnalysis.VisualBasic.EditorFeatures.UnitTests (2)
EditAndContinue\VisualBasicEditAndContinueAnalyzerTests.vb (2)
51Dim actualSpan = VisualBasicEditAndContinueAnalyzer.TryGetDiagnosticSpanImpl(node.Kind, node, EditKind.Update).Value 111span = VisualBasicEditAndContinueAnalyzer.TryGetDiagnosticSpanImpl(k, Nothing, EditKind.Update)
Microsoft.CodeAnalysis.VisualBasic.Features (56)
EditAndContinue\VisualBasicEditAndContinueAnalyzer.vb (56)
1046Friend Overrides Function TryGetAssociatedMemberDeclaration(node As SyntaxNode, editKind As EditKind, <Out> ByRef declaration As SyntaxNode) As Boolean 1054If editKind <> EditKind.Delete AndAlso node.IsParentKind(SyntaxKind.PropertyBlock, SyntaxKind.EventBlock) Then 1261editKind As EditKind, 1266editMap As IReadOnlyDictionary(Of SyntaxNode, EditKind), 1267cancellationToken As CancellationToken) As OneOrMany(Of (oldSymbol As ISymbol, newSymbol As ISymbol, editKind As EditKind)) 1273Case EditKind.Reorder 1283Return OneOrMany(Of (ISymbol, ISymbol, EditKind)).Empty 1288Return OneOrMany(Of (ISymbol, ISymbol, EditKind)).Empty 1291Return OneOrMany.Create((oldSymbols(0).ContainingSymbol, newSymbols(0).ContainingSymbol, EditKind.Update)) 1292Case EditKind.Delete 1294Return OneOrMany(Of (ISymbol, ISymbol, EditKind)).Empty 1297Return oldSymbols.Select(Function(s) New ValueTuple(Of ISymbol, ISymbol, EditKind)(s, Nothing, editKind)) 1299Case EditKind.Insert 1301Return OneOrMany(Of (ISymbol, ISymbol, EditKind)).Empty 1304Return newSymbols.Select(Function(s) New ValueTuple(Of ISymbol, ISymbol, EditKind)(Nothing, s, editKind)) 1306Case EditKind.Update 1309Return OneOrMany(Of (ISymbol, ISymbol, EditKind)).Empty 1319Dim builder = ArrayBuilder(Of (ISymbol, ISymbol, EditKind)).GetInstance() 1329Case EditKind.Move 1336Return OneOrMany(Of (ISymbol, ISymbol, EditKind)).Empty 1348editKind As EditKind, 1370If editKind = EditKind.Update Then 1499Protected Overrides Function TryGetDiagnosticSpan(node As SyntaxNode, editKind As EditKind) As TextSpan? 1503Protected Overloads Shared Function GetDiagnosticSpan(node As SyntaxNode, editKind As EditKind) As TextSpan 1507Private Shared Function TryGetDiagnosticSpanImpl(node As SyntaxNode, editKind As EditKind) As TextSpan? 1511Protected Overrides Function GetBodyDiagnosticSpan(node As SyntaxNode, editKind As EditKind) As TextSpan 1516Friend Shared Function TryGetDiagnosticSpanImpl(kind As SyntaxKind, node As SyntaxNode, editKind As EditKind) As TextSpan? 1608If editKind = EditKind.Delete Then 1879Protected Overrides Function TryGetDisplayName(node As SyntaxNode, editKind As EditKind) As String 1883Protected Overloads Shared Function GetDisplayName(node As SyntaxNode, editKind As EditKind) As String 1893Protected Overrides Function GetBodyDisplayName(node As SyntaxNode, Optional editKind As EditKind = EditKind.Update) As String 1897Private Shared Function TryGetDisplayNameImpl(node As SyntaxNode, editKind As EditKind) As String 2034Return If(editKind = EditKind.Update, VBFeaturesResources.Using_statement, VBFeaturesResources.Using_block) 2037Return If(editKind = EditKind.Update, VBFeaturesResources.With_statement, VBFeaturesResources.With_block) 2040Return If(editKind = EditKind.Update, VBFeaturesResources.SyncLock_statement, VBFeaturesResources.SyncLock_block) 2043Return If(editKind = EditKind.Update, VBFeaturesResources.For_Each_statement, VBFeaturesResources.For_Each_block) 2129Private ReadOnly _kind As EditKind 2136kind As EditKind, 2150ReportError(kind, {GetDisplayName(If(_newNode, _oldNode), EditKind.Update)}) 2158_diagnostics.Add(New RudeEditDiagnostic(kind, GetDiagnosticSpan(spanNode, _kind), displayNode, {GetDisplayName(displayNode, EditKind.Update)})) 2175Case EditKind.Delete 2179Case EditKind.Update 2183Case EditKind.Move 2187Case EditKind.Insert 2191Case EditKind.Reorder 2403editMap As Dictionary(Of SyntaxNode, EditKind)) 2410If edit.Kind = EditKind.Delete AndAlso 2414If HasEdit(editMap, edit.OldNode.Parent.Parent, EditKind.Delete) Then 2418ElseIf edit.Kind = EditKind.Insert AndAlso 2422If HasEdit(editMap, edit.NewNode.Parent.Parent, EditKind.Insert) Then 2435Dim classifier = New EditClassifier(Me, diagnostics, Nothing, newMember, EditKind.Update, span:=span) 2459GetDiagnosticSpan(newNode, EditKind.Insert), 2461arguments:={GetDisplayName(newNode, EditKind.Insert)})) 2575Debug.Assert(edit.Kind <> EditKind.Update OrElse edit.OldNode.RawKind = edit.NewNode.RawKind) 2577If edit.Kind <> EditKind.Update OrElse Not AreExceptionHandlingPartsEquivalent(edit.OldNode, edit.NewNode) Then
Microsoft.CodeAnalysis.Workspaces (25)
Differencing\Edit.cs (10)
21private readonly EditKind _kind; 25internal Edit(EditKind kind, TreeComparer<TNode> comparer, TNode oldNode, TNode newNode) 27Debug.Assert((oldNode == null || oldNode.Equals(null)) == (kind == EditKind.Insert)); 28Debug.Assert((newNode == null || newNode.Equals(null)) == (kind == EditKind.Delete)); 40public EditKind Kind => _kind; 98case EditKind.Delete: 101case EditKind.Insert: 104case EditKind.Update: 107case EditKind.Move: 108case EditKind.Reorder:
Differencing\EditScript.cs (5)
98edits.Add(new Edit<TNode>(EditKind.Insert, Comparer, oldNode: default, newNode: x)); 117edits.Add(new Edit<TNode>(EditKind.Update, Comparer, oldNode: w, newNode: x)); 129edits.Add(new Edit<TNode>(EditKind.Move, Comparer, oldNode: w, newNode: x)); 159edits.Add(new Edit<TNode>(EditKind.Delete, Comparer, oldNode: w, newNode: default)); 239edits.Add(new Edit<TNode>(EditKind.Reorder, Comparer, oldNode: a, newNode: b));
Differencing\SequenceEdit.cs (10)
33/// The kind of edit: <see cref="EditKind.Delete"/>, <see cref="EditKind.Insert"/>, or <see cref="EditKind.Update"/>. 35public EditKind Kind 41return EditKind.Insert; 46return EditKind.Delete; 49return EditKind.Update; 80case EditKind.Delete: 83case EditKind.Insert: 86case EditKind.Update:
Microsoft.CodeAnalysis.Workspaces.UnitTests (6)
Differencing\LongestCommonSubsequenceTests.cs (6)
52Assert.True(edit.Kind is EditKind.Delete or EditKind.Insert or EditKind.Update); 55case EditKind.Delete: 60case EditKind.Insert: 65case EditKind.Update: