diff options
author | Mikhail Melnikov <mikhail_melnikov@epam.com> | 2017-12-11 19:56:06 +0300 |
---|---|---|
committer | Joel Martinez <joelmartinez@gmail.com> | 2017-12-11 22:48:35 +0300 |
commit | 555de5c794e508ab36154ec57da6c5fd819cbf1f (patch) | |
tree | 0f9e56a5d1677ffb02e3bed0b7a5c53663a0fc6b /mdoc/Test/TestInterfaceImplementation | |
parent | 43f31b8e6ec4ed6e2a70121ef4ea3f2f01c08360 (diff) |
[mdoc] Fixed StackOverflow in F# and exception in members implementations generation
StackOverflow in F# was caused by generic types constrained recursively by themselves (`'T :> seq<'T>`)
Added `TestConstraints_2_2` unit test
For members implementations generation, we shouldn't count on order of type generic arguments because they can be passed to interface reordered. Slightly remade generation of fingerprints.
Extended `check-monodocer-members-implementation` integration test with `IScrollable` and `ScrollableBase` classes
Diffstat (limited to 'mdoc/Test/TestInterfaceImplementation')
3 files changed, 20 insertions, 0 deletions
diff --git a/mdoc/Test/TestInterfaceImplementation/IScorable.cs b/mdoc/Test/TestInterfaceImplementation/IScorable.cs new file mode 100644 index 00000000..0b02e7b7 --- /dev/null +++ b/mdoc/Test/TestInterfaceImplementation/IScorable.cs @@ -0,0 +1,7 @@ +namespace TestInterfaceImplementation +{ + public interface IScorable<Item, Score> + { + Score GetScore(Item item, object state); + } +}
\ No newline at end of file diff --git a/mdoc/Test/TestInterfaceImplementation/ScorableBase.cs b/mdoc/Test/TestInterfaceImplementation/ScorableBase.cs new file mode 100644 index 00000000..8e892662 --- /dev/null +++ b/mdoc/Test/TestInterfaceImplementation/ScorableBase.cs @@ -0,0 +1,11 @@ +namespace TestInterfaceImplementation +{ + public class ScorableBase<Item, State, Score> : IScorable<Item, Score> + { + Score IScorable<Item, Score>.GetScore(Item item, object opaque) + { + throw new System.NotImplementedException(); + } + + } +}
\ No newline at end of file diff --git a/mdoc/Test/TestInterfaceImplementation/TestInterfaceImplementation.csproj b/mdoc/Test/TestInterfaceImplementation/TestInterfaceImplementation.csproj index 8d184fbe..877b74f3 100644 --- a/mdoc/Test/TestInterfaceImplementation/TestInterfaceImplementation.csproj +++ b/mdoc/Test/TestInterfaceImplementation/TestInterfaceImplementation.csproj @@ -55,7 +55,9 @@ <Compile Include="Interface5.cs" /> <Compile Include="Interface6.cs" /> <Compile Include="Interface7.cs" /> + <Compile Include="IScorable.cs" /> <Compile Include="Properties\AssemblyInfo.cs" /> + <Compile Include="ScorableBase.cs" /> </ItemGroup> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> </Project>
\ No newline at end of file |