Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix NotYetAutoGenerated folder out of date issue by regenerate and sync the changes #2537

Merged
merged 5 commits into from
Sep 19, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion src/ReleaseHistory.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@
* BUGFIX: Resolve issue where `match-results-forward` command fails to generate VersionControlDetails data. [#2487](https://github.com/microsoft/sarif-sdk/pull/2487)
* BUGFIX: Remove duplicated rule definitions when executing `match-results-forward` commands for results with sub-rule ids. [#2486](https://github.com/microsoft/sarif-sdk/pull/2486)
* BUGFIX: Update `merge` command to properly produce runs by tool and version when passed the `--merge-runs` argument. [#2488](https://github.com/microsoft/sarif-sdk/pull/2488)
* BUGFIX: Eliminate `IOException` and `DirectoryNotFoundException` exceptions thrown by `merge` command when splitting by rule (due to invalid file characters in rule ids).
* BUGFIX: Eliminate `IOException` and `DirectoryNotFoundException` exceptions thrown by `merge` command when splitting by rule (due to invalid file characters in rule ids). [#2513](https://github.com/microsoft/sarif-sdk/pull/2513)
* BUGFIX: Fix classes inside NotYetAutoGenerated folder missing `virtual` keyword for public methods and properties, by regenerate and manually sync the changes. [#2537](https://github.com/microsoft/sarif-sdk/pull/2537)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Try this, which is a little more focused on customer impact:

Restore missing 'virtual' keyword for several SARIF types, previously overwritten by build system

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did we ship with this problem?


## **v3.1.0** [Sdk](https://www.nuget.org/packages/Sarif.Sdk/3.1.0) | [Driver](https://www.nuget.org/packages/Sarif.Driver/3.1.0) | [Converters](https://www.nuget.org/packages/Sarif.Converters/3.1.0) | [Multitool](https://www.nuget.org/packages/Sarif.Multitool/3.1.0) | [Multitool Library](https://www.nuget.org/packages/Sarif.Multitool.Library/3.1.0)

Expand Down
26 changes: 13 additions & 13 deletions src/Sarif/Autogenerated/Address.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ namespace Microsoft.CodeAnalysis.Sarif
/// A physical or virtual address, or a range of addresses, in an 'addressable region' (memory or a binary file).
/// </summary>
[DataContract]
[GeneratedCode("Microsoft.Json.Schema.ToDotNet", "0.62.0.0")]
[GeneratedCode("Microsoft.Json.Schema.ToDotNet", "1.1.5.0")]
public partial class Address : PropertyBagHolder, ISarifNode
{
public static IEqualityComparer<Address> ValueComparer => AddressEqualityComparer.Instance;
Expand All @@ -28,7 +28,7 @@ public partial class Address : PropertyBagHolder, ISarifNode
/// <summary>
/// Gets a value indicating the type of object implementing <see cref="ISarifNode" />.
/// </summary>
public SarifNodeKind SarifNodeKind
public virtual SarifNodeKind SarifNodeKind
{
get
{
Expand All @@ -42,60 +42,60 @@ public SarifNodeKind SarifNodeKind
[DataMember(Name = "absoluteAddress", IsRequired = false, EmitDefaultValue = false)]
[DefaultValue(-1)]
[JsonProperty(DefaultValueHandling = DefaultValueHandling.IgnoreAndPopulate)]
public int AbsoluteAddress { get; set; }
public virtual int AbsoluteAddress { get; set; }

/// <summary>
/// The address expressed as a byte offset from the absolute address of the top-most parent object.
/// </summary>
[DataMember(Name = "relativeAddress", IsRequired = false, EmitDefaultValue = false)]
[JsonProperty(DefaultValueHandling = DefaultValueHandling.IgnoreAndPopulate)]
public int? RelativeAddress { get; set; } // NOTYETAUTOGENERATED: Property should be nullable int. https://github.com/Microsoft/jschema/issues/112
public virtual int? RelativeAddress { get; set; } // NOTYETAUTOGENERATED: Property should be nullable int. https://github.com/Microsoft/jschema/issues/112

/// <summary>
/// The number of bytes in this range of addresses.
/// </summary>
[DataMember(Name = "length", IsRequired = false, EmitDefaultValue = false)]
public int? Length { get; set; } // NOTYETAUTOGENERATED: Property should be nullable int. https://github.com/Microsoft/jschema/issues/112
public virtual int? Length { get; set; } // NOTYETAUTOGENERATED: Property should be nullable int. https://github.com/Microsoft/jschema/issues/112

/// <summary>
/// An open-ended string that identifies the address kind. 'data', 'function', 'header','instruction', 'module', 'page', 'section', 'segment', 'stack', 'stackFrame', 'table' are well-known values.
/// </summary>
[DataMember(Name = "kind", IsRequired = false, EmitDefaultValue = false)]
public string Kind { get; set; }
public virtual string Kind { get; set; }

/// <summary>
/// A name that is associated with the address, e.g., '.text'.
/// </summary>
[DataMember(Name = "name", IsRequired = false, EmitDefaultValue = false)]
public string Name { get; set; }
public virtual string Name { get; set; }

/// <summary>
/// A human-readable fully qualified name that is associated with the address.
/// </summary>
[DataMember(Name = "fullyQualifiedName", IsRequired = false, EmitDefaultValue = false)]
public string FullyQualifiedName { get; set; }
public virtual string FullyQualifiedName { get; set; }

/// <summary>
/// The byte offset of this address from the absolute or relative address of the parent object.
/// </summary>
[DataMember(Name = "offsetFromParent", IsRequired = false, EmitDefaultValue = false)]
public int? OffsetFromParent { get; set; } // NOTYETAUTOGENERATED: Property should be nullable int. https://github.com/Microsoft/jschema/issues/112
public virtual int? OffsetFromParent { get; set; } // NOTYETAUTOGENERATED: Property should be nullable int. https://github.com/Microsoft/jschema/issues/112

/// <summary>
/// The index within run.addresses of the cached object for this address.
/// </summary>
[DataMember(Name = "index", IsRequired = false, EmitDefaultValue = false)]
[DefaultValue(-1)]
[JsonProperty(DefaultValueHandling = DefaultValueHandling.IgnoreAndPopulate)]
public int Index { get; set; }
public virtual int Index { get; set; }

/// <summary>
/// The index within run.addresses of the parent object.
/// </summary>
[DataMember(Name = "parentIndex", IsRequired = false, EmitDefaultValue = false)]
[DefaultValue(-1)]
[JsonProperty(DefaultValueHandling = DefaultValueHandling.IgnoreAndPopulate)]
public int ParentIndex { get; set; }
public virtual int ParentIndex { get; set; }

/// <summary>
/// Key/value pairs that provide additional information about the address.
Expand Down Expand Up @@ -179,7 +179,7 @@ ISarifNode ISarifNode.DeepClone()
/// <summary>
/// Creates a deep copy of this instance.
/// </summary>
public Address DeepClone()
public virtual Address DeepClone()
{
return (Address)DeepCloneCore();
}
Expand All @@ -189,7 +189,7 @@ private ISarifNode DeepCloneCore()
return new Address(this);
}

private void Init(int absoluteAddress, int? relativeAddress, int? length, string kind, string name, string fullyQualifiedName, int? offsetFromParent, int index, int parentIndex, IDictionary<string, SerializedPropertyInfo> properties)
protected virtual void Init(int absoluteAddress, int? relativeAddress, int? length, string kind, string name, string fullyQualifiedName, int? offsetFromParent, int index, int parentIndex, IDictionary<string, SerializedPropertyInfo> properties)
{
AbsoluteAddress = absoluteAddress;
RelativeAddress = relativeAddress;
Expand Down
2 changes: 1 addition & 1 deletion src/Sarif/Autogenerated/AddressComparer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ namespace Microsoft.CodeAnalysis.Sarif
/// <summary>
/// Defines methods to support the comparison of objects of type Address for sorting.
/// </summary>
[GeneratedCode("Microsoft.Json.Schema.ToDotNet", "1.1.4.0")]
[GeneratedCode("Microsoft.Json.Schema.ToDotNet", "1.1.5.0")]
internal sealed class AddressComparer : IComparer<Address>
{
internal static readonly AddressComparer Instance = new AddressComparer();
Expand Down
70 changes: 35 additions & 35 deletions src/Sarif/Autogenerated/Invocation.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ namespace Microsoft.CodeAnalysis.Sarif
/// The runtime environment of the analysis tool run.
/// </summary>
[DataContract]
[GeneratedCode("Microsoft.Json.Schema.ToDotNet", "1.1.0.0")]
[GeneratedCode("Microsoft.Json.Schema.ToDotNet", "1.1.5.0")]
public partial class Invocation : PropertyBagHolder, ISarifNode
{
public static IEqualityComparer<Invocation> ValueComparer => InvocationEqualityComparer.Instance;
Expand All @@ -27,7 +27,7 @@ public partial class Invocation : PropertyBagHolder, ISarifNode
/// <summary>
/// Gets a value indicating the type of object implementing <see cref="ISarifNode" />.
/// </summary>
public SarifNodeKind SarifNodeKind
public virtual SarifNodeKind SarifNodeKind
{
get
{
Expand All @@ -39,157 +39,157 @@ public SarifNodeKind SarifNodeKind
/// The command line used to invoke the tool.
/// </summary>
[DataMember(Name = "commandLine", IsRequired = false, EmitDefaultValue = false)]
public string CommandLine { get; set; }
public virtual string CommandLine { get; set; }

/// <summary>
/// An array of strings, containing in order the command line arguments passed to the tool from the operating system.
/// </summary>
[DataMember(Name = "arguments", IsRequired = false, EmitDefaultValue = false)]
public IList<string> Arguments { get; set; }
public virtual IList<string> Arguments { get; set; }

/// <summary>
/// The locations of any response files specified on the tool's command line.
/// </summary>
[DataMember(Name = "responseFiles", IsRequired = false, EmitDefaultValue = false)]
public IList<ArtifactLocation> ResponseFiles { get; set; }
public virtual IList<ArtifactLocation> ResponseFiles { get; set; }

/// <summary>
/// The Coordinated Universal Time (UTC) date and time at which the run started. See "Date/time properties" in the SARIF spec for the required format.
/// The Coordinated Universal Time (UTC) date and time at which the invocation started. See "Date/time properties" in the SARIF spec for the required format.
/// </summary>
[DataMember(Name = "startTimeUtc", IsRequired = false, EmitDefaultValue = false)]
[JsonConverter(typeof(Microsoft.CodeAnalysis.Sarif.Readers.DateTimeConverter))]
public DateTime StartTimeUtc { get; set; }
public virtual DateTime StartTimeUtc { get; set; }

/// <summary>
/// The Coordinated Universal Time (UTC) date and time at which the run ended. See "Date/time properties" in the SARIF spec for the required format.
/// The Coordinated Universal Time (UTC) date and time at which the invocation ended. See "Date/time properties" in the SARIF spec for the required format.
/// </summary>
[DataMember(Name = "endTimeUtc", IsRequired = false, EmitDefaultValue = false)]
[JsonConverter(typeof(Microsoft.CodeAnalysis.Sarif.Readers.DateTimeConverter))]
public DateTime EndTimeUtc { get; set; }
public virtual DateTime EndTimeUtc { get; set; }

/// <summary>
/// The process exit code.
/// </summary>
[DataMember(Name = "exitCode", IsRequired = false, EmitDefaultValue = false)]
public int ExitCode { get; set; }
public virtual int ExitCode { get; set; }

/// <summary>
/// An array of configurationOverride objects that describe rules related runtime overrides.
/// </summary>
[DataMember(Name = "ruleConfigurationOverrides", IsRequired = false, EmitDefaultValue = false)]
[JsonProperty(DefaultValueHandling = DefaultValueHandling.IgnoreAndPopulate)]
public IList<ConfigurationOverride> RuleConfigurationOverrides { get; set; }
public virtual IList<ConfigurationOverride> RuleConfigurationOverrides { get; set; }

/// <summary>
/// An array of configurationOverride objects that describe notifications related runtime overrides.
/// </summary>
[DataMember(Name = "notificationConfigurationOverrides", IsRequired = false, EmitDefaultValue = false)]
[JsonProperty(DefaultValueHandling = DefaultValueHandling.IgnoreAndPopulate)]
public IList<ConfigurationOverride> NotificationConfigurationOverrides { get; set; }
public virtual IList<ConfigurationOverride> NotificationConfigurationOverrides { get; set; }

/// <summary>
/// A list of runtime conditions detected by the tool during the analysis.
/// </summary>
[DataMember(Name = "toolExecutionNotifications", IsRequired = false, EmitDefaultValue = false)]
[JsonProperty(DefaultValueHandling = DefaultValueHandling.IgnoreAndPopulate)]
public IList<Notification> ToolExecutionNotifications { get; set; }
public virtual IList<Notification> ToolExecutionNotifications { get; set; }

/// <summary>
/// A list of conditions detected by the tool that are relevant to the tool's configuration.
/// </summary>
[DataMember(Name = "toolConfigurationNotifications", IsRequired = false, EmitDefaultValue = false)]
[JsonProperty(DefaultValueHandling = DefaultValueHandling.IgnoreAndPopulate)]
public IList<Notification> ToolConfigurationNotifications { get; set; }
public virtual IList<Notification> ToolConfigurationNotifications { get; set; }

/// <summary>
/// The reason for the process exit.
/// </summary>
[DataMember(Name = "exitCodeDescription", IsRequired = false, EmitDefaultValue = false)]
public string ExitCodeDescription { get; set; }
public virtual string ExitCodeDescription { get; set; }

/// <summary>
/// The name of the signal that caused the process to exit.
/// </summary>
[DataMember(Name = "exitSignalName", IsRequired = false, EmitDefaultValue = false)]
public string ExitSignalName { get; set; }
public virtual string ExitSignalName { get; set; }

/// <summary>
/// The numeric value of the signal that caused the process to exit.
/// </summary>
[DataMember(Name = "exitSignalNumber", IsRequired = false, EmitDefaultValue = false)]
public int ExitSignalNumber { get; set; }
public virtual int ExitSignalNumber { get; set; }

/// <summary>
/// The reason given by the operating system that the process failed to start.
/// </summary>
[DataMember(Name = "processStartFailureMessage", IsRequired = false, EmitDefaultValue = false)]
public string ProcessStartFailureMessage { get; set; }
public virtual string ProcessStartFailureMessage { get; set; }

/// <summary>
/// Specifies whether the tool's execution completed successfully.
/// </summary>
[DataMember(Name = "executionSuccessful", IsRequired = true)]
public bool ExecutionSuccessful { get; set; }
public virtual bool ExecutionSuccessful { get; set; }

/// <summary>
/// The machine that hosted the analysis tool run.
/// The machine on which the invocation occurred.
/// </summary>
[DataMember(Name = "machine", IsRequired = false, EmitDefaultValue = false)]
public string Machine { get; set; }
public virtual string Machine { get; set; }

/// <summary>
/// The account that ran the analysis tool.
/// The account under which the invocation occurred.
/// </summary>
[DataMember(Name = "account", IsRequired = false, EmitDefaultValue = false)]
public string Account { get; set; }
public virtual string Account { get; set; }

/// <summary>
/// The process id for the analysis tool run.
/// The id of the process in which the invocation occurred.
/// </summary>
[DataMember(Name = "processId", IsRequired = false, EmitDefaultValue = false)]
public int ProcessId { get; set; }
public virtual int ProcessId { get; set; }

/// <summary>
/// An absolute URI specifying the location of the analysis tool's executable.
/// An absolute URI specifying the location of the executable that was invoked.
/// </summary>
[DataMember(Name = "executableLocation", IsRequired = false, EmitDefaultValue = false)]
public ArtifactLocation ExecutableLocation { get; set; }
public virtual ArtifactLocation ExecutableLocation { get; set; }

/// <summary>
/// The working directory for the analysis tool run.
/// The working directory for the invocation.
/// </summary>
[DataMember(Name = "workingDirectory", IsRequired = false, EmitDefaultValue = false)]
public ArtifactLocation WorkingDirectory { get; set; }
public virtual ArtifactLocation WorkingDirectory { get; set; }

/// <summary>
/// The environment variables associated with the analysis tool process, expressed as key/value pairs.
/// </summary>
[DataMember(Name = "environmentVariables", IsRequired = false, EmitDefaultValue = false)]
public IDictionary<string, string> EnvironmentVariables { get; set; }
public virtual IDictionary<string, string> EnvironmentVariables { get; set; }

/// <summary>
/// A file containing the standard input stream to the process that was invoked.
/// </summary>
[DataMember(Name = "stdin", IsRequired = false, EmitDefaultValue = false)]
public ArtifactLocation Stdin { get; set; }
public virtual ArtifactLocation Stdin { get; set; }

/// <summary>
/// A file containing the standard output stream from the process that was invoked.
/// </summary>
[DataMember(Name = "stdout", IsRequired = false, EmitDefaultValue = false)]
public ArtifactLocation Stdout { get; set; }
public virtual ArtifactLocation Stdout { get; set; }

/// <summary>
/// A file containing the standard error stream from the process that was invoked.
/// </summary>
[DataMember(Name = "stderr", IsRequired = false, EmitDefaultValue = false)]
public ArtifactLocation Stderr { get; set; }
public virtual ArtifactLocation Stderr { get; set; }

/// <summary>
/// A file containing the interleaved standard output and standard error stream from the process that was invoked.
/// </summary>
[DataMember(Name = "stdoutStderr", IsRequired = false, EmitDefaultValue = false)]
public ArtifactLocation StdoutStderr { get; set; }
public virtual ArtifactLocation StdoutStderr { get; set; }

/// <summary>
/// Key/value pairs that provide additional information about the invocation.
Expand Down Expand Up @@ -323,7 +323,7 @@ ISarifNode ISarifNode.DeepClone()
/// <summary>
/// Creates a deep copy of this instance.
/// </summary>
public Invocation DeepClone()
public virtual Invocation DeepClone()
{
return (Invocation)DeepCloneCore();
}
Expand Down
2 changes: 1 addition & 1 deletion src/Sarif/Autogenerated/Location.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ namespace Microsoft.CodeAnalysis.Sarif
/// A location within a programming artifact.
/// </summary>
[DataContract]
[GeneratedCode("Microsoft.Json.Schema.ToDotNet", "1.1.3.0")]
[GeneratedCode("Microsoft.Json.Schema.ToDotNet", "1.1.5.0")]
public partial class Location : PropertyBagHolder, ISarifNode
{
public static IEqualityComparer<Location> ValueComparer => LocationEqualityComparer.Instance;
Expand Down
Loading