- 13 8月, 2020 1 次提交
-
-
由 Rikki Gibson 提交于
Co-authored-by: NYair Halberstadt <yairhalberstadt@gmail.com>
-
- 12 8月, 2020 1 次提交
-
-
由 Julien Couvreur 提交于
-
- 05 8月, 2020 1 次提交
-
-
由 AlekseyTs 提交于
Fixes #46249.
-
- 04 8月, 2020 3 次提交
-
-
由 AlekseyTs 提交于
Closes #46381.
-
由 AlekseyTs 提交于
Fixes #46348.
-
由 Julien Couvreur 提交于
-
- 01 8月, 2020 1 次提交
-
-
由 Charles Stoner 提交于
-
- 31 7月, 2020 1 次提交
-
-
由 Julien Couvreur 提交于
-
- 30 7月, 2020 1 次提交
-
-
由 Julien Couvreur 提交于
-
- 29 7月, 2020 2 次提交
-
-
由 AlekseyTs 提交于
-
由 Julien Couvreur 提交于
-
- 28 7月, 2020 1 次提交
-
-
由 AlekseyTs 提交于
Closes #44988
-
- 22 7月, 2020 1 次提交
-
-
由 Julien Couvreur 提交于
-
- 21 7月, 2020 1 次提交
-
-
由 AlekseyTs 提交于
Closes #45296. Closes #44903. Fixes #45012.
-
- 20 7月, 2020 1 次提交
-
-
由 Julien Couvreur 提交于
-
- 17 7月, 2020 1 次提交
-
-
由 Julien Couvreur 提交于
-
- 15 7月, 2020 1 次提交
-
-
由 AlekseyTs 提交于
Closes #45564. Related to #45110.
-
- 14 7月, 2020 1 次提交
-
-
由 AlekseyTs 提交于
Support applying attributes to properties and fields that are created to back primary constructor parameters in records. (#45908) Closes #44691.
-
- 11 7月, 2020 1 次提交
-
-
由 Julien Couvreur 提交于
-
- 10 7月, 2020 1 次提交
-
-
由 AlekseyTs 提交于
Related to #45296. From specification: If the record is derived from `object`, the record type includes a synthesized readonly property equivalent to a property declared as follows: ```C# protected Type EqualityContract { get; }; ``` The property is `virtual` unless the record type is `sealed`. The property can be declared explicitly. It is an error if the explicit declaration does not match the expected signature or accessibility, or if the explicit declaration doesn't allow overiding it in a derived type and the record type is not `sealed`. If the record type is derived from a base record type `Base`, the record type includes a synthesized readonly property equivalent to a property declared as follows: ```C# protected override Type EqualityContract { get; }; ``` The property can be declared explicitly. It is an error if the explicit declaration does not match the expected signature or accessibility, or if the explicit declaration doesn't allow overiding it in a derived type and the record type is not `sealed`. It is an error if either synthesized, or explicitly declared property doesn't override a property with this signature in the record type `Base` (for example, if the property is missing in the `Base`, or sealed, or not virtual, etc.). The synthesized property returns `typeof(R)` where `R` is the record type.
-
- 09 7月, 2020 1 次提交
-
-
由 AlekseyTs 提交于
Align addition of a synthesized record.Equals(record? other) in records with the latest design. (#45647) Related to #45296. From specification: includes a synthesized strongly-typed overload of `Equals(R? other)` where `R` is the record type. The method is `public`, and the method is `virtual` unless the record type is `sealed`. The method can be declared explicitly. It is an error if the explicit declaration does not match the expected signature or accessibility, or the explicit declaration doesn't allow overriding it in a derived type and the record type is not `sealed`. ```C# public virtual bool Equals(R? other); ```
-
- 07 7月, 2020 1 次提交
-
-
由 Neal Gafter 提交于
* Implement and test retargeting symbols for covariant returns. * A PE symbol with multiple methodimpl entries is ignored as an explicit override for language covariant returns. * Test binary compatibility scenarios with overrides inserted into the hierarchy. * Test a scenario with duplicate requirements for a methodimpl entry * A methodimpl may be required anytime the runtime and language disagree about the overridden method. (As a side-effect, this fixes a number of previously-believed-unfixable bugs regarding the mismatch between C# and CIL) * Emit a call to the least derived override in the hierarchy with the correct return type. * Test covariant returns in expression trees. * Test capturing a covariant method in a delegate creation. * Test consumption and override of covariantly overridden methods, properties, and indexers from VB. * Require that the target runtime supports covariant returns when the feature is used. * Adjust tests for new special member. * Test compile-time behavior of nullable variance in covariant returns. * Produce RequireMethodImplToRemainInEffectAttribute on covariant overrides. * Eliminate CS1957 by generating correct code. Fixes #44067 * Cache `PEMethodSymbol.ExplicitlyOverriddenClassMethod` Closes #44068 * Move some PROTOTYPE comments to issues. Relates to #44206, #44207, #44208, #44209 * Remove virtual `ExplicitlyOverriddenClassMethod` from MethodSymbol. Instead provide (and test) leaf APIs to be used directly by `OverriddenOrHiddenMembersHelpers`. * Enhance the covariant return tests per PR review. * Rename `RequireMethodImplToRemainInEffectAttribute` to `PreserveBaseOverridesAttribute` per API review * Document breaking change * Changes per review comments - Revert behavior of PEMethodSymbol.IsOverride (true even if we cannot report a unique overridden method) - Add runtime test for behavior of methodimpl in ambiguous scenarios (reported https://github.com/dotnet/runtime/issues/38119) * Modify how overrides are computed for PE symbols as requested in code review. * Condition WRN_MultipleRuntimeOverrideMatches on whether runtime has working methodimpl Relates to https://github.com/dotnet/runtime/issues/38119 Fixes https://github.com/dotnet/roslyn/issues/45453 * Test `SourceMethodSymbol.RequiresExplicitOverride` in ambiguous scenarios. * Preserve historical test for methodimpl generation as a fallback.
-
- 03 7月, 2020 1 次提交
-
-
由 AlekseyTs 提交于
Align addition of a synthesized override of Base.Equals(Base? other) in records with the latest design. (#45601) Related to #45296. From specification: If the record type is derived from a base record type Base, the record type includes a synthesized override of the strongly-typed Equals(Base other). The synthesized override is sealed. It is an error if the override is declared explicitly. The synthesized override returns Equals((object?)other). This change also adjusts code-gen to properly compare EqualityContracts.
-
- 02 7月, 2020 2 次提交
-
-
由 AlekseyTs 提交于
-
由 AlekseyTs 提交于
Align addition of a synthesized override of object.GetHashCode() in records with the latest design. (#45518) Related to #45296. From specification: The record type includes a synthesized override of object.GetHashCode(). The method can be declared explicitly. It is an error if the explicit declaration is sealed unless the record type is sealed.
-
- 01 7月, 2020 1 次提交
-
-
由 Charles Stoner 提交于
-
- 30 6月, 2020 1 次提交
-
-
由 AlekseyTs 提交于
Align addition of a synthesized override of object.Equals(object? obj) in records with the latest design. (#45475) * Align addition of a synthesized override of object.Equals(object? obj) in records with the latest design. Related to #45296. From specification: The record type includes a synthesized override of object.Equals(object? obj). It is an error if the override is declared explicitly. The synthesized override returns Equals(other as R) where R is the record type.
-
- 26 6月, 2020 1 次提交
-
-
由 Andy Gocke 提交于
Records need to provide a new form of source property symbol with different syntax. This PR extracts a new base class to try to share as much code as possible with the existing SourcePropertySymbol and the SynthesizedRecordPropertySymbol.
-
- 24 6月, 2020 1 次提交
-
-
由 AlekseyTs 提交于
Finalize the design for the shape of the BaseTypeSyntax for records and implement SemanticModel APIs around it. (#45351) Finalize the design for the shape of the BaseTypeSyntax for records and implement SemanticModel APIs around it. Closes #44795.
-
- 17 6月, 2020 4 次提交
-
-
由 Julien Couvreur 提交于
-
由 Fredric Silberberg 提交于
-
由 Charles Stoner 提交于
-
由 AlekseyTs 提交于
-
- 16 6月, 2020 1 次提交
-
-
由 Julien Couvreur 提交于
-
- 12 6月, 2020 1 次提交
-
-
由 Julien Couvreur 提交于
-
- 11 6月, 2020 3 次提交
-
-
由 Charles Stoner 提交于
-
由 Julien Couvreur 提交于
-
由 AlekseyTs 提交于
Closes #44683.
-
- 10 6月, 2020 1 次提交
-
-
由 Rikki Gibson 提交于
-
- 09 6月, 2020 1 次提交
-
-
由 Julien Couvreur 提交于
-