From 2c770aa0f782eb6013e53c30c51a47a62917ae76 Mon Sep 17 00:00:00 2001 From: Eduardo Villalpando Mello Date: Mon, 18 Nov 2024 16:26:03 -0800 Subject: [PATCH 1/3] Suppress warnings --- .../Model/SolutionArgumentException.cs | 34 ++++++- .../Model/SolutionErrorType.cs | 97 ++++++++++++++++++- .../PublicAPI/PublicAPI.Unshipped.txt | 62 ++++++------ 3 files changed, 159 insertions(+), 34 deletions(-) diff --git a/src/Microsoft.VisualStudio.SolutionPersistence/Model/SolutionArgumentException.cs b/src/Microsoft.VisualStudio.SolutionPersistence/Model/SolutionArgumentException.cs index fa8d5fb0..e94134a9 100644 --- a/src/Microsoft.VisualStudio.SolutionPersistence/Model/SolutionArgumentException.cs +++ b/src/Microsoft.VisualStudio.SolutionPersistence/Model/SolutionArgumentException.cs @@ -5,31 +5,61 @@ namespace Microsoft.VisualStudio.SolutionPersistence.Model; +/// +/// Represents an argument exception inside the solution. +/// public class SolutionArgumentException : ArgumentException { - public readonly SolutionErrorType Type; - + /// + /// Initializes a new instance of the class. + /// + /// Message to be shown with the exception. + /// Reason for the exception. public SolutionArgumentException(string? message, SolutionErrorType type) : base(message) { this.Type = type; } + /// + /// Initializes a new instance of the class. + /// + /// Message to be shown with the exception. + /// Exception that triggered this exception. + /// Reason for the exception. public SolutionArgumentException(string? message, Exception? innerException, SolutionErrorType type) : base(message, innerException) { this.Type = type; } + /// + /// Initializes a new instance of the class. + /// + /// Message to be shown with the exception. + /// Name of parameter that triggered this exception. + /// Reason for the exception. public SolutionArgumentException(string? message, string? paramName, SolutionErrorType type) : base(message, paramName) { this.Type = type; } + /// + /// Initializes a new instance of the class. + /// + /// Message to be shown with the exception. + /// Name of parameter that triggered this exception. + /// Exception that triggered this exception. + /// Reason for the exception. public SolutionArgumentException(string? message, string? paramName, Exception? innerException, SolutionErrorType type) : base(message, paramName, innerException) { this.Type = type; } + + /// + /// Gets reason why the exception was raised. + /// + public SolutionErrorType Type { get; init; } } diff --git a/src/Microsoft.VisualStudio.SolutionPersistence/Model/SolutionErrorType.cs b/src/Microsoft.VisualStudio.SolutionPersistence/Model/SolutionErrorType.cs index a532db05..6c6d6f20 100644 --- a/src/Microsoft.VisualStudio.SolutionPersistence/Model/SolutionErrorType.cs +++ b/src/Microsoft.VisualStudio.SolutionPersistence/Model/SolutionErrorType.cs @@ -8,28 +8,123 @@ namespace Microsoft.VisualStudio.SolutionPersistence.Model; /// public enum SolutionErrorType { + /// + /// The cause of the error is not specified. + /// Undefined, + + /// + /// There was an error while trying to move a folder to a child folder. + /// CannotMoveFolderToChildFolder, + + /// + /// The default project type was duplicated. + /// DuplicateDefaultProjectType, + + /// + /// File has two extensions. + /// DuplicateExtension, + + /// + /// Item already exists in the solution. + /// DuplicateItemRef, + + /// + /// Name of item is duplicate. + /// DuplicateName, + + /// + /// A project with the same name already exists. + /// DuplicateProjectName, + + /// + /// A project with the same path already exists. + /// DuplicateProjectPath, + + /// + /// This project type is already specified. + /// DuplicateProjectTypeId, + + /// + /// Invalid syntax for solution configuration. + /// InvalidConfiguration, + + /// + /// Invalid encoding for solution. + /// InvalidEncoding, + + /// + /// Folder path doesn't follow correct format. + /// InvalidFolderPath, + + /// + /// Folder was not found. + /// InvalidFolderReference, + + /// + /// Item is not valid. + /// InvalidItemRef, + + /// + /// Found a circular dependency. + /// InvalidLoop, + + /// + /// Model does not belong to this solution. + /// InvalidModelItem, + + /// + /// Name of item is not valid. + /// InvalidName, + + /// + /// Project was not found. + /// InvalidProjectReference, + + /// + /// Project type was not found. + /// InvalidProjectTypeReference, + + /// + /// File version is not supported. + /// InvalidVersion, + + /// + /// Empty value for project attribute. + /// MissingProjectValue, + + /// + /// The file is not a solution file. + /// NotSolution, + + /// + /// This veersion is not supported. + /// UnsupportedVersion, - InvalidXmlDecoratorElementName + + /// + /// Invalid decorator element name. + /// + InvalidXmlDecoratorElementName, } diff --git a/src/Microsoft.VisualStudio.SolutionPersistence/PublicAPI/PublicAPI.Unshipped.txt b/src/Microsoft.VisualStudio.SolutionPersistence/PublicAPI/PublicAPI.Unshipped.txt index 21177d61..fec0135d 100644 --- a/src/Microsoft.VisualStudio.SolutionPersistence/PublicAPI/PublicAPI.Unshipped.txt +++ b/src/Microsoft.VisualStudio.SolutionPersistence/PublicAPI/PublicAPI.Unshipped.txt @@ -1,36 +1,36 @@ #nullable enable Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentException -Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentException.Type -> Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentExceptionType? -Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentExceptionType -Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentExceptionType.CannotMoveFolderToChildFolder = 0 -> Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentExceptionType -Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentExceptionType.DuplicateDefaultProjectType = 1 -> Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentExceptionType -Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentExceptionType.DuplicateExtension = 2 -> Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentExceptionType -Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentExceptionType.DuplicateItemRef = 3 -> Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentExceptionType -Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentExceptionType.DUplicateName = 4 -> Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentExceptionType -Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentExceptionType.DuplicateProjectName = 5 -> Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentExceptionType -Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentExceptionType.DuplicateProjectPath = 6 -> Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentExceptionType -Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentExceptionType.DuplicateProjectTypeId = 7 -> Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentExceptionType -Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentExceptionType.InvalidConfiguration = 8 -> Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentExceptionType -Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentExceptionType.InvalidEncoding = 9 -> Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentExceptionType -Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentExceptionType.InvalidFolderPath = 10 -> Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentExceptionType -Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentExceptionType.InvalidFolderReference = 11 -> Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentExceptionType -Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentExceptionType.InvalidItemRef = 12 -> Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentExceptionType -Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentExceptionType.InvalidLoop = 13 -> Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentExceptionType -Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentExceptionType.InvalidModelItem = 14 -> Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentExceptionType -Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentExceptionType.InvalidName = 15 -> Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentExceptionType -Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentExceptionType.InvalidProjectReference = 16 -> Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentExceptionType -Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentExceptionType.InvalidProjectType = 17 -> Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentExceptionType -Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentExceptionType.InvalidProjectTypeReference = 18 -> Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentExceptionType -Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentExceptionType.InvalidScope = 19 -> Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentExceptionType -Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentExceptionType.InvalidVersion = 20 -> Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentExceptionType -Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentExceptionType.MissingDisplayName = 21 -> Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentExceptionType -Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentExceptionType.MissingPath = 22 -> Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentExceptionType -Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentExceptionType.MissingProjectId = 23 -> Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentExceptionType -Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentExceptionType.MissingProjectValue = 24 -> Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentExceptionType -Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentExceptionType.MissingSectionName = 25 -> Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentExceptionType -Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentExceptionType.NotSolution = 26 -> Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentExceptionType -Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentExceptionType.SyntaxError = 27 -> Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentExceptionType -Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentExceptionType.UnsupportedVersion = 28 -> Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentExceptionType +Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentException.SolutionArgumentException(string? message, Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType type) -> void +Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentException.SolutionArgumentException(string? message, string? paramName, Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType type) -> void +Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentException.SolutionArgumentException(string? message, string? paramName, System.Exception? innerException, Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType type) -> void +Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentException.SolutionArgumentException(string? message, System.Exception? innerException, Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType type) -> void +Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentException.Type.get -> Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType +Microsoft.VisualStudio.SolutionPersistence.Model.SolutionArgumentException.Type.init -> void +Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType +Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType.CannotMoveFolderToChildFolder = 1 -> Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType +Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType.DuplicateDefaultProjectType = 2 -> Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType +Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType.DuplicateExtension = 3 -> Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType +Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType.DuplicateItemRef = 4 -> Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType +Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType.DuplicateName = 5 -> Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType +Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType.DuplicateProjectName = 6 -> Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType +Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType.DuplicateProjectPath = 7 -> Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType +Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType.DuplicateProjectTypeId = 8 -> Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType +Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType.InvalidConfiguration = 9 -> Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType +Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType.InvalidEncoding = 10 -> Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType +Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType.InvalidFolderPath = 11 -> Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType +Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType.InvalidFolderReference = 12 -> Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType +Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType.InvalidItemRef = 13 -> Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType +Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType.InvalidLoop = 14 -> Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType +Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType.InvalidModelItem = 15 -> Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType +Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType.InvalidName = 16 -> Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType +Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType.InvalidProjectReference = 17 -> Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType +Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType.InvalidProjectTypeReference = 18 -> Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType +Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType.InvalidVersion = 19 -> Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType +Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType.InvalidXmlDecoratorElementName = 23 -> Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType +Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType.MissingProjectValue = 20 -> Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType +Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType.NotSolution = 21 -> Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType +Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType.Undefined = 0 -> Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType +Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType.UnsupportedVersion = 22 -> Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType Microsoft.VisualStudio.SolutionPersistence.Model.SolutionException.ErrorType.get -> Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType? Microsoft.VisualStudio.SolutionPersistence.Model.SolutionException.ErrorType.init -> void Microsoft.VisualStudio.SolutionPersistence.Model.SolutionException.SolutionException(string! message, Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType errorType = Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType.Undefined) -> void From b87c996d2b900f2e11cfe1b2dcd953d163392130 Mon Sep 17 00:00:00 2001 From: Eduardo Villalpando Mello Date: Mon, 18 Nov 2024 16:33:19 -0800 Subject: [PATCH 2/3] Suppress warnings --- .../Model/SolutionException.cs | 4 ++-- .../PublicAPI/PublicAPI.Shipped.txt | 2 -- .../PublicAPI/PublicAPI.Unshipped.txt | 4 ++-- .../Serializer/SlnV12/SlnFileV12Serializer.Reader.cs | 4 ++-- 4 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/Microsoft.VisualStudio.SolutionPersistence/Model/SolutionException.cs b/src/Microsoft.VisualStudio.SolutionPersistence/Model/SolutionException.cs index e33b9676..cd59253a 100644 --- a/src/Microsoft.VisualStudio.SolutionPersistence/Model/SolutionException.cs +++ b/src/Microsoft.VisualStudio.SolutionPersistence/Model/SolutionException.cs @@ -24,7 +24,7 @@ public SolutionException() /// /// The error message that explains the reason for the exception. /// The type of error associated to this exception. - public SolutionException(string message, SolutionErrorType errorType = SolutionErrorType.Undefined) + public SolutionException(string message, SolutionErrorType errorType) : base(message) { this.ErrorType = errorType; @@ -36,7 +36,7 @@ public SolutionException(string message, SolutionErrorType errorType = SolutionE /// The error message that explains the reason for the exception. /// The exception that is the cause of the current exception. /// The type of error associated to this exception. - public SolutionException(string message, Exception inner, SolutionErrorType errorType = SolutionErrorType.Undefined) + public SolutionException(string message, Exception inner, SolutionErrorType errorType) : base(message, inner) { this.ErrorType = errorType; diff --git a/src/Microsoft.VisualStudio.SolutionPersistence/PublicAPI/PublicAPI.Shipped.txt b/src/Microsoft.VisualStudio.SolutionPersistence/PublicAPI/PublicAPI.Shipped.txt index 5fb7e7b1..6fbd0dd8 100644 --- a/src/Microsoft.VisualStudio.SolutionPersistence/PublicAPI/PublicAPI.Shipped.txt +++ b/src/Microsoft.VisualStudio.SolutionPersistence/PublicAPI/PublicAPI.Shipped.txt @@ -52,8 +52,6 @@ Microsoft.VisualStudio.SolutionPersistence.Model.SolutionException.File.init -> Microsoft.VisualStudio.SolutionPersistence.Model.SolutionException.Line.get -> int? Microsoft.VisualStudio.SolutionPersistence.Model.SolutionException.Line.init -> void Microsoft.VisualStudio.SolutionPersistence.Model.SolutionException.SolutionException() -> void -Microsoft.VisualStudio.SolutionPersistence.Model.SolutionException.SolutionException(string! message) -> void -Microsoft.VisualStudio.SolutionPersistence.Model.SolutionException.SolutionException(string! message, System.Exception! inner) -> void Microsoft.VisualStudio.SolutionPersistence.Model.SolutionFolderModel Microsoft.VisualStudio.SolutionPersistence.Model.SolutionFolderModel.AddFile(string! file) -> void Microsoft.VisualStudio.SolutionPersistence.Model.SolutionFolderModel.Files.get -> System.Collections.Generic.IReadOnlyList? diff --git a/src/Microsoft.VisualStudio.SolutionPersistence/PublicAPI/PublicAPI.Unshipped.txt b/src/Microsoft.VisualStudio.SolutionPersistence/PublicAPI/PublicAPI.Unshipped.txt index fec0135d..d34f9569 100644 --- a/src/Microsoft.VisualStudio.SolutionPersistence/PublicAPI/PublicAPI.Unshipped.txt +++ b/src/Microsoft.VisualStudio.SolutionPersistence/PublicAPI/PublicAPI.Unshipped.txt @@ -33,5 +33,5 @@ Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType.Undefined = 0 Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType.UnsupportedVersion = 22 -> Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType Microsoft.VisualStudio.SolutionPersistence.Model.SolutionException.ErrorType.get -> Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType? Microsoft.VisualStudio.SolutionPersistence.Model.SolutionException.ErrorType.init -> void -Microsoft.VisualStudio.SolutionPersistence.Model.SolutionException.SolutionException(string! message, Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType errorType = Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType.Undefined) -> void -Microsoft.VisualStudio.SolutionPersistence.Model.SolutionException.SolutionException(string! message, System.Exception! inner, Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType errorType = Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType.Undefined) -> void \ No newline at end of file +Microsoft.VisualStudio.SolutionPersistence.Model.SolutionException.SolutionException(string! message, Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType errorType) -> void +Microsoft.VisualStudio.SolutionPersistence.Model.SolutionException.SolutionException(string! message, System.Exception! inner, Microsoft.VisualStudio.SolutionPersistence.Model.SolutionErrorType errorType) -> void \ No newline at end of file diff --git a/src/Microsoft.VisualStudio.SolutionPersistence/Serializer/SlnV12/SlnFileV12Serializer.Reader.cs b/src/Microsoft.VisualStudio.SolutionPersistence/Serializer/SlnV12/SlnFileV12Serializer.Reader.cs index a0127554..e1df8ac1 100644 --- a/src/Microsoft.VisualStudio.SolutionPersistence/Serializer/SlnV12/SlnFileV12Serializer.Reader.cs +++ b/src/Microsoft.VisualStudio.SolutionPersistence/Serializer/SlnV12/SlnFileV12Serializer.Reader.cs @@ -213,7 +213,7 @@ internal ValueTask ParseAsync(ISolutionSerializer serializer, str } catch (Exception ex) when (SolutionException.ShouldWrap(ex)) { - throw new SolutionException(ex.Message, ex) { File = fullPath, Line = this.lineNumber }; + throw new SolutionException(ex.Message, ex, SolutionErrorType.Undefined) { File = fullPath, Line = this.lineNumber }; } return new ValueTask(solutionModel); @@ -564,7 +564,7 @@ private readonly void SolutionAssert([DoesNotReturnIf(false)] bool condition, st return; } - throw new SolutionException(message) { File = fullPath, Line = this.lineNumber }; + throw new SolutionException(message, SolutionErrorType.Undefined) { File = fullPath, Line = this.lineNumber }; } } } From 39c3a23a66f1f28dcfe2ee0c3073472c921df022 Mon Sep 17 00:00:00 2001 From: Eduardo Villalpando Mello Date: Tue, 19 Nov 2024 08:36:16 -0800 Subject: [PATCH 3/3] Address pr comments --- .../Model/SolutionException.cs | 21 +++++++++++++++++++ .../PublicAPI/PublicAPI.Shipped.txt | 2 ++ 2 files changed, 23 insertions(+) diff --git a/src/Microsoft.VisualStudio.SolutionPersistence/Model/SolutionException.cs b/src/Microsoft.VisualStudio.SolutionPersistence/Model/SolutionException.cs index cd59253a..dc6e40cc 100644 --- a/src/Microsoft.VisualStudio.SolutionPersistence/Model/SolutionException.cs +++ b/src/Microsoft.VisualStudio.SolutionPersistence/Model/SolutionException.cs @@ -19,6 +19,27 @@ public SolutionException() { } + /// + /// Initializes a new instance of the class. + /// + /// The error message that explains the reason for the exception. + public SolutionException(string message) + : base(message) + { + this.ErrorType = SolutionErrorType.Undefined; + } + + /// + /// Initializes a new instance of the class. + /// + /// The error message that explains the reason for the exception. + /// The exception that is the cause of the current exception. + public SolutionException(string message, Exception inner) + : base(message, inner) + { + this.ErrorType = SolutionErrorType.Undefined; + } + /// /// Initializes a new instance of the class. /// diff --git a/src/Microsoft.VisualStudio.SolutionPersistence/PublicAPI/PublicAPI.Shipped.txt b/src/Microsoft.VisualStudio.SolutionPersistence/PublicAPI/PublicAPI.Shipped.txt index 6fbd0dd8..5fb7e7b1 100644 --- a/src/Microsoft.VisualStudio.SolutionPersistence/PublicAPI/PublicAPI.Shipped.txt +++ b/src/Microsoft.VisualStudio.SolutionPersistence/PublicAPI/PublicAPI.Shipped.txt @@ -52,6 +52,8 @@ Microsoft.VisualStudio.SolutionPersistence.Model.SolutionException.File.init -> Microsoft.VisualStudio.SolutionPersistence.Model.SolutionException.Line.get -> int? Microsoft.VisualStudio.SolutionPersistence.Model.SolutionException.Line.init -> void Microsoft.VisualStudio.SolutionPersistence.Model.SolutionException.SolutionException() -> void +Microsoft.VisualStudio.SolutionPersistence.Model.SolutionException.SolutionException(string! message) -> void +Microsoft.VisualStudio.SolutionPersistence.Model.SolutionException.SolutionException(string! message, System.Exception! inner) -> void Microsoft.VisualStudio.SolutionPersistence.Model.SolutionFolderModel Microsoft.VisualStudio.SolutionPersistence.Model.SolutionFolderModel.AddFile(string! file) -> void Microsoft.VisualStudio.SolutionPersistence.Model.SolutionFolderModel.Files.get -> System.Collections.Generic.IReadOnlyList?