diff options
author | Niklas Haas <git@nand.wakku.to> | 2014-03-13 08:53:41 +0100 |
---|---|---|
committer | Mateusz Kowalczyk <fuuzetsu@fuuzetsu.co.uk> | 2014-03-13 19:18:10 +0000 |
commit | eaf0a0b51f452398f3c64882a334f90b920df794 (patch) | |
tree | e007ca9b2a8748ab9aeb135e813f91b673884f2f /html-test | |
parent | 64175d6ade5717b7e0c7fa0a122d16cae6779031 (diff) |
Display minimal complete definitions for type classes
This corresponds to the new {-# MINIMAL #-} pragma present in GHC 7.8+.
I also cleaned up some of the places in which ExportDecl is used to make
adding fields easier in the future.
Lots of test cases have been updated since they now render with
minimality information.
Diffstat (limited to 'html-test')
-rw-r--r-- | html-test/ref/DeprecatedClass.html | 16 | ||||
-rw-r--r-- | html-test/ref/Hash.html | 8 | ||||
-rw-r--r-- | html-test/ref/Minimal.html | 273 | ||||
-rw-r--r-- | html-test/ref/Test.html | 14 | ||||
-rw-r--r-- | html-test/ref/Ticket61.html | 8 | ||||
-rw-r--r-- | html-test/src/Test.hs | 1 |
6 files changed, 320 insertions, 0 deletions
diff --git a/html-test/ref/DeprecatedClass.html b/html-test/ref/DeprecatedClass.html index c8799bf2..76c0c173 100644 --- a/html-test/ref/DeprecatedClass.html +++ b/html-test/ref/DeprecatedClass.html @@ -95,6 +95,14 @@ window.onload = function () {pageLoad();setSynopsis("mini_DeprecatedClass.html") ><p >some class</p ></div + ><div class="subs minimal" + ><p class="caption" + >Minimal complete definition</p + ><p class="src" + ><a href="DeprecatedClass.html#v:foo" + >foo</a + ></p + ></div ><div class="subs methods" ><p class="caption" >Methods</p @@ -127,6 +135,14 @@ window.onload = function () {pageLoad();setSynopsis("mini_DeprecatedClass.html") >Deprecated: SomeOtherClass</p ></div ></div + ><div class="subs minimal" + ><p class="caption" + >Minimal complete definition</p + ><p class="src" + ><a href="DeprecatedClass.html#v:bar" + >bar</a + ></p + ></div ><div class="subs methods" ><p class="caption" >Methods</p diff --git a/html-test/ref/Hash.html b/html-test/ref/Hash.html index eff422f7..e0abc7f6 100644 --- a/html-test/ref/Hash.html +++ b/html-test/ref/Hash.html @@ -250,6 +250,14 @@ window.onload = function () {pageLoad();setSynopsis("mini_Hash.html");}; ><p >A class of types which can be hashed.</p ></div + ><div class="subs minimal" + ><p class="caption" + >Minimal complete definition</p + ><p class="src" + ><a href="Hash.html#v:hash" + >hash</a + ></p + ></div ><div class="subs methods" ><p class="caption" >Methods</p diff --git a/html-test/ref/Minimal.html b/html-test/ref/Minimal.html new file mode 100644 index 00000000..f062dc8c --- /dev/null +++ b/html-test/ref/Minimal.html @@ -0,0 +1,273 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" +><head + ><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" + /><title + >Minimal</title + ><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" + /><script src="haddock-util.js" type="text/javascript" + ></script + ><script type="text/javascript" + >//<![CDATA[ +window.onload = function () {pageLoad();setSynopsis("mini_Minimal.html");}; +//]]> +</script + ></head + ><body + ><div id="package-header" + ><ul class="links" id="page-menu" + ><li + ><a href="" + >Contents</a + ></li + ><li + ><a href="" + >Index</a + ></li + ></ul + ><p class="caption empty" + > </p + ></div + ><div id="content" + ><div id="module-header" + ><table class="info" + ><tr + ><th + >Safe Haskell</th + ><td + >Safe-Inferred</td + ></tr + ></table + ><p class="caption" + >Minimal</p + ></div + ><div id="description" + ><p class="caption" + >Description</p + ><div class="doc" + ><p + >This tests the new MINIMAL pragma present in GHC 7.8</p + ></div + ></div + ><div id="interface" + ><h1 + >Documentation</h1 + ><div class="top" + ><p class="src" + ><span class="keyword" + >class</span + > <a name="t:Foo" class="def" + >Foo</a + > a <span class="keyword" + >where</span + ></p + ><div class="subs minimal" + ><p class="caption" + >Minimal complete definition</p + ><p class="src" + ><a href="" + >foo</a + >, <a href="" + >bar</a + > | <a href="" + >bar</a + >, <a href="" + >bat</a + > | <a href="" + >foo</a + >, <a href="" + >bat</a + > | <a href="" + >fooBarBat</a + ></p + ></div + ><div class="subs methods" + ><p class="caption" + >Methods</p + ><p class="src" + ><a name="v:foo" class="def" + >foo</a + >, <a name="v:bat" class="def" + >bat</a + >, <a name="v:bar" class="def" + >bar</a + > :: a</p + ><div class="doc" + ><p + >Any two of these are required...</p + ></div + ><p class="src" + ><a name="v:fooBarBat" class="def" + >fooBarBat</a + > :: (a, a, a)</p + ><div class="doc" + ><p + >.. or just this</p + ></div + ></div + ></div + ><div class="top" + ><p class="src" + ><span class="keyword" + >class</span + > <a name="t:Weird" class="def" + >Weird</a + > a <span class="keyword" + >where</span + ></p + ><div class="subs minimal" + ><p class="caption" + >Minimal complete definition</p + ><p class="src" + ><a href="" + >a</a + >, <a href="" + >b</a + >, <a href="" + >c</a + > | <a href="" + >d</a + > | <a href="" + >e</a + >, (<a href="" + >f</a + > | <a href="" + >g</a + >)</p + ></div + ><div class="subs methods" + ><p class="caption" + >Methods</p + ><p class="src" + ><a name="v:a" class="def" + >a</a + >, <a name="v:g" class="def" + >g</a + >, <a name="v:f" class="def" + >f</a + >, <a name="v:e" class="def" + >e</a + >, <a name="v:d" class="def" + >d</a + >, <a name="v:c" class="def" + >c</a + >, <a name="v:b" class="def" + >b</a + > :: a</p + ></div + ></div + ><div class="top" + ><p class="src" + ><span class="keyword" + >class</span + > <a name="t:NoMins" class="def" + >NoMins</a + > a <span class="keyword" + >where</span + ></p + ><div class="subs minimal" + ><p class="caption" + >Minimal complete definition</p + ><p class="src" + ><a href="" + >x</a + >, <a href="" + >y</a + ></p + ></div + ><div class="subs methods" + ><p class="caption" + >Methods</p + ><p class="src" + ><a name="v:x" class="def" + >x</a + >, <a name="v:z" class="def" + >z</a + >, <a name="v:y" class="def" + >y</a + > :: a</p + ></div + ></div + ><div class="top" + ><p class="src" + ><span class="keyword" + >class</span + > <a name="t:FullMin" class="def" + >FullMin</a + > a <span class="keyword" + >where</span + ></p + ><div class="subs methods" + ><p class="caption" + >Methods</p + ><p class="src" + ><a name="v:aaa" class="def" + >aaa</a + >, <a name="v:bbb" class="def" + >bbb</a + > :: a</p + ></div + ></div + ><div class="top" + ><p class="src" + ><span class="keyword" + >class</span + > <a name="t:PartialMin" class="def" + >PartialMin</a + > a <span class="keyword" + >where</span + ></p + ><div class="subs minimal" + ><p class="caption" + >Minimal complete definition</p + ><p class="src" + ><a href="" + >ccc</a + >, ddd</p + ></div + ><div class="subs methods" + ><p class="caption" + >Methods</p + ><p class="src" + ><a name="v:ccc" class="def" + >ccc</a + > :: a</p + ></div + ></div + ><div class="top" + ><p class="src" + ><span class="keyword" + >class</span + > <a name="t:EmptyMin" class="def" + >EmptyMin</a + > a <span class="keyword" + >where</span + ></p + ><div class="subs minimal" + ><p class="caption" + >Minimal complete definition</p + ><p class="src" + >Nothing</p + ></div + ><div class="subs methods" + ><p class="caption" + >Methods</p + ><p class="src" + ><a name="v:eee" class="def" + >eee</a + >, <a name="v:fff" class="def" + >fff</a + > :: a</p + ></div + ></div + ></div + ></div + ><div id="footer" + ><p + >Produced by <a href="" + >Haddock</a + > version 2.15.0</p + ></div + ></body + ></html +> diff --git a/html-test/ref/Test.html b/html-test/ref/Test.html index 6b74e108..5d738a54 100644 --- a/html-test/ref/Test.html +++ b/html-test/ref/Test.html @@ -1583,6 +1583,12 @@ window.onload = function () {pageLoad();setSynopsis("mini_Test.html");}; ><p >This is a class declaration with no methods (or no methods exported)</p ></div + ><div class="subs minimal" + ><p class="caption" + >Minimal complete definition</p + ><p class="src" + >ee</p + ></div ></div ><div class="top" ><p class="src" @@ -1593,6 +1599,14 @@ window.onload = function () {pageLoad();setSynopsis("mini_Test.html");}; > a <span class="keyword" >where</span ></p + ><div class="subs minimal" + ><p class="caption" + >Minimal complete definition</p + ><p class="src" + ><a href="Test.html#v:ff" + >ff</a + ></p + ></div ><div class="subs methods" ><p class="caption" >Methods</p diff --git a/html-test/ref/Ticket61.html b/html-test/ref/Ticket61.html index 5a181e0c..bc0f0c0c 100644 --- a/html-test/ref/Ticket61.html +++ b/html-test/ref/Ticket61.html @@ -53,6 +53,14 @@ window.onload = function () {pageLoad();setSynopsis("mini_Ticket61.html");}; > a <span class="keyword" >where</span ></p + ><div class="subs minimal" + ><p class="caption" + >Minimal complete definition</p + ><p class="src" + ><a href="Ticket61.html#v:f" + >f</a + ></p + ></div ><div class="subs methods" ><p class="caption" >Methods</p diff --git a/html-test/src/Test.hs b/html-test/src/Test.hs index 677106c6..e94cc414 100644 --- a/html-test/src/Test.hs +++ b/html-test/src/Test.hs @@ -171,6 +171,7 @@ class (D a) => C a where b :: [a] -- ^ this is a description of the 'b' method c :: a -- c is hidden in the export list + c = undefined -- ^ This comment applies to the /previous/ declaration (the 'C' class) |