Skip to content

Commit

Permalink
Merge pull request #9621 from emfisch/dev/emilyfischer/launchJsonUI
Browse files Browse the repository at this point in the history
Expose ContextAndRuleProviderState, IProjectState, and QueryProjectPropertiesContext to Support JSPS Launch Profiles UI
  • Loading branch information
drewnoakes authored Dec 13, 2024
2 parents 86d2ef6 + f22999a commit 5f3636c
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ namespace Microsoft.VisualStudio.ProjectSystem.VS.Query;
/// to pass the state their child producers will need, but allows the actual binding
/// of the <see cref="Rule"/> to be delayed until needed.
/// </summary>
internal sealed class ContextAndRuleProviderState
public sealed class ContextAndRuleProviderState
{
public ContextAndRuleProviderState(IProjectState projectState, QueryProjectPropertiesContext propertiesContext, Rule rule)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ namespace Microsoft.VisualStudio.ProjectSystem.VS.Query;
/// significantly reduce the amount of work we need to do.
/// </para>
/// </remarks>
internal interface IProjectState
public interface IProjectState
{
/// <summary>
/// Binds the specified schema to a particular context within the given project configuration.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ namespace Microsoft.VisualStudio.ProjectSystem.VS.Query;
/// manner that can be passed from one provider to another and is also suitable as a
/// key into a cache (such as the <see cref="IProjectState"/>).
/// </remarks>
internal sealed class QueryProjectPropertiesContext : IProjectPropertiesContext, IEquatable<QueryProjectPropertiesContext>
public sealed class QueryProjectPropertiesContext : IProjectPropertiesContext, IEquatable<QueryProjectPropertiesContext>
{
/// <summary>
/// A well-known context representing the project file as a whole.
Expand Down Expand Up @@ -84,7 +84,7 @@ public override int GetHashCode()
/// Creates a <see cref="QueryProjectPropertiesContext"/> from a Project Query API
/// <see cref="EntityIdentity"/>.
/// </summary>
public static bool TryCreateFromEntityId(EntityIdentity id, [NotNullWhen(true)] out QueryProjectPropertiesContext? propertiesContext)
internal static bool TryCreateFromEntityId(EntityIdentity id, [NotNullWhen(true)] out QueryProjectPropertiesContext? propertiesContext)
{
if (id.TryGetValue(ProjectModelIdentityKeys.ProjectPath, out string? projectPath))
{
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
Microsoft.VisualStudio.ProjectSystem.VS.Query.ContextAndRuleProviderState
Microsoft.VisualStudio.ProjectSystem.VS.Query.ContextAndRuleProviderState.ContextAndRuleProviderState(Microsoft.VisualStudio.ProjectSystem.VS.Query.IProjectState! projectState, Microsoft.VisualStudio.ProjectSystem.VS.Query.QueryProjectPropertiesContext! propertiesContext, Microsoft.Build.Framework.XamlTypes.Rule! rule) -> void
Microsoft.VisualStudio.ProjectSystem.VS.Query.ContextAndRuleProviderState.ProjectState.get -> Microsoft.VisualStudio.ProjectSystem.VS.Query.IProjectState!
Microsoft.VisualStudio.ProjectSystem.VS.Query.ContextAndRuleProviderState.PropertiesContext.get -> Microsoft.VisualStudio.ProjectSystem.VS.Query.QueryProjectPropertiesContext!
Microsoft.VisualStudio.ProjectSystem.VS.Query.ContextAndRuleProviderState.Rule.get -> Microsoft.Build.Framework.XamlTypes.Rule!
Microsoft.VisualStudio.ProjectSystem.VS.Query.IProjectState
Microsoft.VisualStudio.ProjectSystem.VS.Query.IProjectState.BindToRuleAsync(Microsoft.VisualStudio.ProjectSystem.ProjectConfiguration! projectConfiguration, string! schemaName, Microsoft.VisualStudio.ProjectSystem.VS.Query.QueryProjectPropertiesContext! propertiesContext) -> System.Threading.Tasks.Task<Microsoft.VisualStudio.ProjectSystem.Properties.IRule?>!
Microsoft.VisualStudio.ProjectSystem.VS.Query.IProjectState.GetDataVersionAsync(Microsoft.VisualStudio.ProjectSystem.ProjectConfiguration! configuration) -> System.Threading.Tasks.Task<(string! versionKey, long versionNumber)?>!
Microsoft.VisualStudio.ProjectSystem.VS.Query.IProjectState.GetKnownConfigurationsAsync() -> System.Threading.Tasks.Task<System.Collections.Immutable.IImmutableSet<Microsoft.VisualStudio.ProjectSystem.ProjectConfiguration!>?>!
Microsoft.VisualStudio.ProjectSystem.VS.Query.IProjectState.GetMetadataVersionAsync() -> System.Threading.Tasks.Task<(string! versionKey, long versionNumber)?>!
Microsoft.VisualStudio.ProjectSystem.VS.Query.IProjectState.GetSuggestedConfigurationAsync() -> System.Threading.Tasks.Task<Microsoft.VisualStudio.ProjectSystem.ProjectConfiguration?>!
Microsoft.VisualStudio.ProjectSystem.VS.Query.QueryProjectPropertiesContext
Microsoft.VisualStudio.ProjectSystem.VS.Query.QueryProjectPropertiesContext.Equals(Microsoft.VisualStudio.ProjectSystem.VS.Query.QueryProjectPropertiesContext? other) -> bool
Microsoft.VisualStudio.ProjectSystem.VS.Query.QueryProjectPropertiesContext.File.get -> string!
Microsoft.VisualStudio.ProjectSystem.VS.Query.QueryProjectPropertiesContext.IsProjectFile.get -> bool
Microsoft.VisualStudio.ProjectSystem.VS.Query.QueryProjectPropertiesContext.ItemName.get -> string?
Microsoft.VisualStudio.ProjectSystem.VS.Query.QueryProjectPropertiesContext.ItemType.get -> string?
Microsoft.VisualStudio.ProjectSystem.VS.Query.QueryProjectPropertiesContext.QueryProjectPropertiesContext(bool isProjectFile, string! file, string? itemType, string? itemName) -> void
override Microsoft.VisualStudio.ProjectSystem.VS.Query.QueryProjectPropertiesContext.Equals(object! obj) -> bool
override Microsoft.VisualStudio.ProjectSystem.VS.Query.QueryProjectPropertiesContext.GetHashCode() -> int
static Microsoft.VisualStudio.ProjectSystem.VS.Query.QueryProjectPropertiesContext.TryCreateFromEntityId(Microsoft.VisualStudio.ProjectSystem.Query.EntityIdentity! id, out Microsoft.VisualStudio.ProjectSystem.VS.Query.QueryProjectPropertiesContext? propertiesContext) -> bool
static readonly Microsoft.VisualStudio.ProjectSystem.VS.Query.QueryProjectPropertiesContext.ProjectFile -> Microsoft.VisualStudio.ProjectSystem.VS.Query.QueryProjectPropertiesContext!

0 comments on commit 5f3636c

Please sign in to comment.