113 references to EditAndContinueCapabilities
Microsoft.CodeAnalysis.Features (113)
EditAndContinue\AbstractEditAndContinueAnalyzer.cs (27)
510
AsyncLazy<
EditAndContinueCapabilities
> lazyCapabilities,
593
if (!capabilities.Grant(
EditAndContinueCapabilities
.Baseline))
3240
!capabilities.Grant(
EditAndContinueCapabilities
.UpdateParameters))
4282
!capabilities.Grant(
EditAndContinueCapabilities
.NewTypeDefinition |
EditAndContinueCapabilities
.AddExplicitInterfaceImplementation))
4292
if (!capabilities.Grant(
EditAndContinueCapabilities
.AddInstanceFieldToExistingType))
4301
!capabilities.Grant(
EditAndContinueCapabilities
.GenericAddFieldToExistingType))
4599
else if (oldParameter.Name != newParameter.Name && !capabilities.Grant(
EditAndContinueCapabilities
.UpdateParameters))
4624
!capabilities.Grant(
EditAndContinueCapabilities
.GenericUpdateMethod))
4880
if (!capabilities.Grant(
EditAndContinueCapabilities
.ChangeCustomAttributes))
5051
var
requiredCapabilities =
EditAndContinueCapabilities
.None;
5066
private static
EditAndContinueCapabilities
GetRequiredAddMethodCapabilities(ISymbol symbol)
5067
=>
EditAndContinueCapabilities
.AddMethodToExistingType |
5068
(InGenericContext(symbol) ?
EditAndContinueCapabilities
.GenericAddMethodToExistingType : 0);
5070
private static
EditAndContinueCapabilities
GetRequiredAddFieldCapabilities(ISymbol symbol)
5071
=> (symbol.IsStatic ?
EditAndContinueCapabilities
.AddStaticFieldToExistingType :
EditAndContinueCapabilities
.AddInstanceFieldToExistingType) |
5072
(InGenericContext(symbol) ?
EditAndContinueCapabilities
.GenericAddFieldToExistingType : 0);
5079
return capabilities.Grant(
EditAndContinueCapabilities
.GenericUpdateMethod);
5907
!capabilities.Grant(
EditAndContinueCapabilities
.GenericUpdateMethod))
6113
var
requiredCapabilities =
EditAndContinueCapabilities
.AddMethodToExistingType;
6119
requiredCapabilities |=
EditAndContinueCapabilities
.GenericAddMethodToExistingType;
6132
requiredCapabilities |=
EditAndContinueCapabilities
.AddStaticFieldToExistingType;
6137
requiredCapabilities |=
EditAndContinueCapabilities
.GenericAddFieldToExistingType;
6149
requiredCapabilities |=
EditAndContinueCapabilities
.NewTypeDefinition;
EditAndContinue\DocumentAnalysisResults.cs (8)
83
/// <see cref="
EditAndContinueCapabilities
.None"/> if the document does not have valid changes.
85
public
EditAndContinueCapabilities
RequiredCapabilities { get; }
116
EditAndContinueCapabilities
requiredCapabilities,
132
Debug.Assert(requiredCapabilities ==
EditAndContinueCapabilities
.None);
144
Debug.Assert(requiredCapabilities ==
EditAndContinueCapabilities
.None);
160
Debug.Assert(requiredCapabilities !=
EditAndContinueCapabilities
.None);
195
EditAndContinueCapabilities
.None,
214
EditAndContinueCapabilities
.None,
EditAndContinue\EditAndContinueCapabilities.cs (50)
83
public static
EditAndContinueCapabilities
Parse(ImmutableArray<string> capabilities)
85
var
caps =
EditAndContinueCapabilities
.None;
91
nameof(
EditAndContinueCapabilities
.Baseline) =>
EditAndContinueCapabilities
.Baseline,
92
nameof(
EditAndContinueCapabilities
.AddMethodToExistingType) =>
EditAndContinueCapabilities
.AddMethodToExistingType,
93
nameof(
EditAndContinueCapabilities
.AddStaticFieldToExistingType) =>
EditAndContinueCapabilities
.AddStaticFieldToExistingType,
94
nameof(
EditAndContinueCapabilities
.AddInstanceFieldToExistingType) =>
EditAndContinueCapabilities
.AddInstanceFieldToExistingType,
95
nameof(
EditAndContinueCapabilities
.NewTypeDefinition) =>
EditAndContinueCapabilities
.NewTypeDefinition,
96
nameof(
EditAndContinueCapabilities
.ChangeCustomAttributes) =>
EditAndContinueCapabilities
.ChangeCustomAttributes,
97
nameof(
EditAndContinueCapabilities
.UpdateParameters) =>
EditAndContinueCapabilities
.UpdateParameters,
98
nameof(
EditAndContinueCapabilities
.GenericAddMethodToExistingType) =>
EditAndContinueCapabilities
.GenericAddMethodToExistingType,
99
nameof(
EditAndContinueCapabilities
.GenericUpdateMethod) =>
EditAndContinueCapabilities
.GenericUpdateMethod,
100
nameof(
EditAndContinueCapabilities
.GenericAddFieldToExistingType) =>
EditAndContinueCapabilities
.GenericAddFieldToExistingType,
101
nameof(
EditAndContinueCapabilities
.AddExplicitInterfaceImplementation) =>
EditAndContinueCapabilities
.AddExplicitInterfaceImplementation,
102
nameof(
EditAndContinueCapabilities
.AddFieldRva) =>
EditAndContinueCapabilities
.AddFieldRva,
105
"AddDefinitionToExistingType" =>
EditAndContinueCapabilities
.AddMethodToExistingType |
EditAndContinueCapabilities
.AddStaticFieldToExistingType |
EditAndContinueCapabilities
.AddInstanceFieldToExistingType,
107
_ =>
EditAndContinueCapabilities
.None
114
public static ImmutableArray<string> ToStringArray(this
EditAndContinueCapabilities
capabilities)
118
if (capabilities.HasFlag(
EditAndContinueCapabilities
.Baseline))
119
builder.Add(nameof(
EditAndContinueCapabilities
.Baseline));
121
if (capabilities.HasFlag(
EditAndContinueCapabilities
.AddMethodToExistingType))
122
builder.Add(nameof(
EditAndContinueCapabilities
.AddMethodToExistingType));
124
if (capabilities.HasFlag(
EditAndContinueCapabilities
.AddStaticFieldToExistingType))
125
builder.Add(nameof(
EditAndContinueCapabilities
.AddStaticFieldToExistingType));
127
if (capabilities.HasFlag(
EditAndContinueCapabilities
.AddInstanceFieldToExistingType))
128
builder.Add(nameof(
EditAndContinueCapabilities
.AddInstanceFieldToExistingType));
130
if (capabilities.HasFlag(
EditAndContinueCapabilities
.NewTypeDefinition))
131
builder.Add(nameof(
EditAndContinueCapabilities
.NewTypeDefinition));
133
if (capabilities.HasFlag(
EditAndContinueCapabilities
.ChangeCustomAttributes))
134
builder.Add(nameof(
EditAndContinueCapabilities
.ChangeCustomAttributes));
136
if (capabilities.HasFlag(
EditAndContinueCapabilities
.UpdateParameters))
137
builder.Add(nameof(
EditAndContinueCapabilities
.UpdateParameters));
139
if (capabilities.HasFlag(
EditAndContinueCapabilities
.AddExplicitInterfaceImplementation))
140
builder.Add(nameof(
EditAndContinueCapabilities
.AddExplicitInterfaceImplementation));
142
if (capabilities.HasFlag(
EditAndContinueCapabilities
.AddFieldRva))
143
builder.Add(nameof(
EditAndContinueCapabilities
.AddFieldRva));
EditAndContinue\EditAndContinueCapabilitiesGrantor.cs (6)
10
internal sealed class EditAndContinueCapabilitiesGrantor(
EditAndContinueCapabilities
availableCapabilities)
12
private readonly
EditAndContinueCapabilities
_availableCapabilities = availableCapabilities;
14
public
EditAndContinueCapabilities
GrantedCapabilities { get; private set; } = 0;
16
public bool Grant(
EditAndContinueCapabilities
capabilities)
24
if (!Grant(
EditAndContinueCapabilities
.NewTypeDefinition))
29
if (type.HasExplicitlyImplementedInterfaceMember() && !Grant(
EditAndContinueCapabilities
.AddExplicitInterfaceImplementation))
EditAndContinue\EditAndContinueDocumentAnalysesCache.cs (2)
24
internal sealed class EditAndContinueDocumentAnalysesCache(AsyncLazy<ActiveStatementsMap> baseActiveStatements, AsyncLazy<
EditAndContinueCapabilities
> capabilities, TraceLog log)
29
private readonly AsyncLazy<
EditAndContinueCapabilities
> _capabilities = capabilities;
EditAndContinue\EditSession.cs (11)
69
internal readonly AsyncLazy<
EditAndContinueCapabilities
> Capabilities;
133
var
capabilities = await Capabilities.GetValueAsync(cancellationToken).ConfigureAwait(false);
134
if (!capabilities.HasFlag(
EditAndContinueCapabilities
.NewTypeDefinition))
227
private async Task<
EditAndContinueCapabilities
> GetCapabilitiesAsync(CancellationToken cancellationToken)
236
return
EditAndContinueCapabilities
.Baseline;
817
var
requiredCapabilities =
EditAndContinueCapabilities
.None;
1379
var
capabilities = await Capabilities.GetValueAsync(cancellationToken).ConfigureAwait(false);
1382
var isAddedSymbolPredicate = capabilities.HasFlag(
EditAndContinueCapabilities
.GenericAddMethodToExistingType) ?
1410
EmitFieldRva = capabilities.HasFlag(
EditAndContinueCapabilities
.AddFieldRva),
1411
MethodImplEntriesSupported = capabilities.HasFlag(
EditAndContinueCapabilities
.AddExplicitInterfaceImplementation)
EditAndContinue\EditSessionTelemetry.cs (5)
22
public readonly
EditAndContinueCapabilities
Capabilities = telemetry._capabilities;
53
private
EditAndContinueCapabilities
_capabilities;
69
_capabilities =
EditAndContinueCapabilities
.None;
154
public void LogRuntimeCapabilities(
EditAndContinueCapabilities
capabilities)
158
Debug.Assert(_capabilities ==
EditAndContinueCapabilities
.None || _capabilities == capabilities);
EditAndContinue\IEditAndContinueAnalyzer.cs (1)
24
AsyncLazy<
EditAndContinueCapabilities
> lazyCapabilities,
EditAndContinue\ProjectChanges.cs (3)
37
public readonly
EditAndContinueCapabilities
RequiredCapabilities;
44
EditAndContinueCapabilities
requiredCapabilities)
49
Debug.Assert(requiredCapabilities !=
EditAndContinueCapabilities
.None);