Skip to content

Commit bf50ffa

Browse files
Merge pull request #73965 from CyrusNajmabadi/recoverableText
2 parents 50e65d2 + 8efeb0b commit bf50ffa

File tree

4 files changed

+13
-32
lines changed

4 files changed

+13
-32
lines changed

src/LanguageServer/Protocol/Features/Options/WorkspaceConfigurationOptionsStorage.cs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ public static WorkspaceConfigurationOptions GetWorkspaceConfigurationOptions(thi
1515
EnableOpeningSourceGeneratedFiles:
1616
globalOptions.GetOption(EnableOpeningSourceGeneratedFilesInWorkspace) ??
1717
globalOptions.GetOption(EnableOpeningSourceGeneratedFilesInWorkspaceFeatureFlag),
18-
DisableRecoverableText: globalOptions.GetOption(DisableRecoverableText),
1918
SourceGeneratorExecution:
2019
globalOptions.GetOption(SourceGeneratorExecution) ??
2120
(globalOptions.GetOption(SourceGeneratorExecutionBalancedFeatureFlag) ? SourceGeneratorExecutionPreference.Balanced : SourceGeneratorExecutionPreference.Automatic),
@@ -25,9 +24,6 @@ public static WorkspaceConfigurationOptions GetWorkspaceConfigurationOptions(thi
2524
public static readonly Option2<StorageDatabase> Database = new(
2625
"dotnet_storage_database", WorkspaceConfigurationOptions.Default.CacheStorage, serializer: EditorConfigValueSerializer.CreateSerializerForEnum<StorageDatabase>());
2726

28-
public static readonly Option2<bool> DisableRecoverableText = new(
29-
"dotnet_disable_recoverable_text", WorkspaceConfigurationOptions.Default.DisableRecoverableText);
30-
3127
public static readonly Option2<bool> ValidateCompilationTrackerStates = new(
3228
"dotnet_validate_compilation_tracker_states", WorkspaceConfigurationOptions.Default.ValidateCompilationTrackerStates);
3329

src/VisualStudio/Core/Def/Options/VisualStudioOptionStorage.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -421,7 +421,6 @@ public bool TryFetch(LocalUserRegistryOptionPersister persister, OptionKey2 opti
421421
{"visual_basic_style_unused_value_assignment_preference", new RoamingProfileStorage("TextEditor.VisualBasic.Specific.UnusedValueAssignmentPreference")},
422422
{"visual_basic_style_unused_value_expression_statement_preference", new RoamingProfileStorage("TextEditor.VisualBasic.Specific.UnusedValueExpressionStatementPreference")},
423423
{"visual_studio_navigate_to_object_browser", new RoamingProfileStorage("TextEditor.%LANGUAGE%.Specific.NavigateToObjectBrowser")},
424-
{"dotnet_disable_recoverable_text", new FeatureFlagStorage(@"Roslyn.DisableRecoverableText")},
425424
{"dotnet_validate_compilation_tracker_states", new FeatureFlagStorage(@"Roslyn.ValidateCompilationTrackerStates")},
426425
{"dotnet_enable_diagnostics_in_source_generated_files", new RoamingProfileStorage("TextEditor.Roslyn.Specific.EnableDiagnosticsInSourceGeneratedFilesExperiment")},
427426
{"dotnet_enable_diagnostics_in_source_generated_files_feature_flag", new FeatureFlagStorage(@"Roslyn.EnableDiagnosticsInSourceGeneratedFiles")},

src/Workspaces/Core/Portable/Workspace/IWorkspaceConfigurationService.cs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,8 @@ internal sealed class DefaultWorkspaceConfigurationService() : IWorkspaceConfigu
3636
internal readonly record struct WorkspaceConfigurationOptions(
3737
[property: DataMember(Order = 0)] StorageDatabase CacheStorage = StorageDatabase.SQLite,
3838
[property: DataMember(Order = 1)] bool EnableOpeningSourceGeneratedFiles = false,
39-
[property: DataMember(Order = 2)] bool DisableRecoverableText = false,
40-
[property: DataMember(Order = 3)] SourceGeneratorExecutionPreference SourceGeneratorExecution = SourceGeneratorExecutionPreference.Automatic,
41-
[property: DataMember(Order = 4)] bool ValidateCompilationTrackerStates =
39+
[property: DataMember(Order = 2)] SourceGeneratorExecutionPreference SourceGeneratorExecution = SourceGeneratorExecutionPreference.Automatic,
40+
[property: DataMember(Order = 3)] bool ValidateCompilationTrackerStates =
4241
#if DEBUG // We will default this on in DEBUG builds
4342
true
4443
#else
@@ -59,6 +58,5 @@ public WorkspaceConfigurationOptions()
5958
/// </summary>
6059
public static readonly WorkspaceConfigurationOptions RemoteDefault = new(
6160
CacheStorage: StorageDatabase.None,
62-
EnableOpeningSourceGeneratedFiles: false,
63-
DisableRecoverableText: false);
61+
EnableOpeningSourceGeneratedFiles: false);
6462
}

src/Workspaces/Core/Portable/Workspace/Solution/TextDocumentState.cs

Lines changed: 10 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -69,18 +69,11 @@ public TextDocumentState(SolutionServices solutionServices, DocumentInfo info, L
6969
public IReadOnlyList<string> Folders => Attributes.Folders;
7070
public string Name => Attributes.Name;
7171

72-
private static ITextAndVersionSource CreateStrongText(TextAndVersion text)
73-
=> new ConstantTextAndVersionSource(text);
72+
private static ConstantTextAndVersionSource CreateStrongText(TextAndVersion text)
73+
=> new(text);
7474

75-
private static ITextAndVersionSource CreateRecoverableText(TextAndVersion text, SolutionServices services)
76-
{
77-
var service = services.GetRequiredService<IWorkspaceConfigurationService>();
78-
var options = service.Options;
79-
80-
return options.DisableRecoverableText
81-
? CreateStrongText(text)
82-
: new RecoverableTextAndVersion(new ConstantTextAndVersionSource(text), services);
83-
}
75+
private static RecoverableTextAndVersion CreateRecoverableText(TextAndVersion text, SolutionServices services)
76+
=> new(new ConstantTextAndVersionSource(text), services);
8477

8578
public ITemporaryStorageTextHandle? StorageHandle
8679
=> (TextAndVersionSource as RecoverableTextAndVersion)?.StorageHandle;
@@ -144,13 +137,11 @@ public async Task<VersionStamp> GetTextVersionAsync(CancellationToken cancellati
144137
}
145138

146139
public TextDocumentState UpdateText(TextAndVersion newTextAndVersion, PreservationMode mode)
147-
{
148-
var newTextSource = mode == PreservationMode.PreserveIdentity
149-
? CreateStrongText(newTextAndVersion)
150-
: CreateRecoverableText(newTextAndVersion, solutionServices);
151-
152-
return UpdateText(newTextSource, mode, incremental: true);
153-
}
140+
=> UpdateText(mode == PreservationMode.PreserveIdentity
141+
? CreateStrongText(newTextAndVersion)
142+
: CreateRecoverableText(newTextAndVersion, solutionServices),
143+
mode,
144+
incremental: true);
154145

155146
public TextDocumentState UpdateText(SourceText newText, PreservationMode mode)
156147
{
@@ -170,12 +161,9 @@ public TextDocumentState UpdateText(TextLoader loader, PreservationMode mode)
170161

171162
private static ITextAndVersionSource CreateTextFromLoader(TextLoader loader, PreservationMode mode, SolutionServices solutionServices)
172163
{
173-
var service = solutionServices.GetRequiredService<IWorkspaceConfigurationService>();
174-
var options = service.Options;
175-
176164
// If the caller is explicitly stating that identity must be preserved, then we created a source that will load
177165
// from the loader the first time, but then cache that result so that hte same result is *always* returned.
178-
if (mode == PreservationMode.PreserveIdentity || options.DisableRecoverableText)
166+
if (mode == PreservationMode.PreserveIdentity)
179167
return new LoadableTextAndVersionSource(loader, cacheResult: true);
180168

181169
// If the loader asks us to always hold onto it strongly, then we do not want to create a recoverable text

0 commit comments

Comments
 (0)