aboutsummaryrefslogtreecommitdiff
path: root/doc-tool/resources
diff options
context:
space:
mode:
authorFelix Mulder <felix.mulder@gmail.com>2017-01-13 17:55:30 +0100
committerFelix Mulder <felix.mulder@gmail.com>2017-01-31 14:31:08 +0100
commit248f469ddcf57067d02e8b1bea41237766a75cfb (patch)
tree44d2d1aa995376977fb63d42dd471a4a9b4fee26 /doc-tool/resources
parent3313ce1985a9ddbad37c28baeef838266d8ed47a (diff)
downloaddotty-248f469ddcf57067d02e8b1bea41237766a75cfb.tar.gz
dotty-248f469ddcf57067d02e8b1bea41237766a75cfb.tar.bz2
dotty-248f469ddcf57067d02e8b1bea41237766a75cfb.zip
Add proper materialization of references
Diffstat (limited to 'doc-tool/resources')
-rw-r--r--doc-tool/resources/_includes/link.html6
-rw-r--r--doc-tool/resources/_includes/reference.html77
-rw-r--r--doc-tool/resources/_layouts/api-page.html9
-rw-r--r--doc-tool/resources/css/api-page.css4
4 files changed, 92 insertions, 4 deletions
diff --git a/doc-tool/resources/_includes/link.html b/doc-tool/resources/_includes/link.html
new file mode 100644
index 000000000..621894eaf
--- /dev/null
+++ b/doc-tool/resources/_includes/link.html
@@ -0,0 +1,6 @@
+{% case tpeLink.kind %}
+{% when 'NoLink' %}
+ {{ tpeLink.title }}
+{% else %}
+ <a href="{{ tpeLink.target }}">{{ tpeLink.title }}</a>
+{% endcase %}
diff --git a/doc-tool/resources/_includes/reference.html b/doc-tool/resources/_includes/reference.html
new file mode 100644
index 000000000..eb741c02c
--- /dev/null
+++ b/doc-tool/resources/_includes/reference.html
@@ -0,0 +1,77 @@
+{% case reference.kind %}
+{% when 'TypeReference' %}
+
+ {% assign tpeLink = reference.tpeLink %}
+ {% include 'link' %}
+ {% if reference.paramLinks.size > 0 %}
+ <span class="no-left no-right">[</span>
+ {% for reference in reference.paramLinks %}
+ {% include 'reference' %}
+ {% if forloop.last != true %}
+ <span class="no-left">, </span>
+ {% endif %}
+ {% endfor %}
+ <span class="no-left">]</span>
+ {% endif %}
+
+{% when 'FunctionReference' %}
+
+ {% assign originalLink = reference %}
+ {% case reference.args.size %}
+ {% when 0 %}
+ <span>()</span>
+ {% when 1 %}
+ {% for reference in reference.args %}
+ {% include 'reference' %}
+ {% endfor %}
+ {% else %}
+ {% for reference in reference.args %}
+ {% if forloop.first %}
+ <span class="no-right">(</span>
+ {% endif %}
+ {% include 'reference' %}
+ {% if forloop.last != true %}
+ <span class="no-left">,</span>
+ {% else %}
+ <span class="no-left">)</span>
+ {% endif %}
+ {% endfor %}
+ {% endcase %}
+ <span>=&gt;</span>
+ {% assign reference = originalLink.returnValue %}
+ {% include 'reference' %}
+
+{% when 'TupleReference' %}
+
+ {% for reference in reference.args %}
+ {% if forloop.first %}<span class="no-right">(</span>{% endif %}
+ {% include 'reference' %}
+ {% if forloop.last %}
+ <span class="no-left">)</span>
+ {% else %}
+ <span class="no-left">,</span>
+ {% endif %}
+ {% endfor %}
+
+{% when 'BoundsReference' %}
+
+ {% assign oldRef = reference %}
+ {% assign reference = oldRef.low %}
+ {% include 'reference' %}
+ <span>&lt;:</span>
+ {% assign reference = oldRef.hi %}
+ {% include 'reference' %}
+
+{% when 'ConstantReference' %}
+ {{ reference.title }}
+
+{% else %}
+
+ {% assign original= reference %}
+ {% assign reference = original.left %}
+ {% include 'reference' %}
+ <span>{% if original.kind == "OrTypeReference" %}|{% else %}&amp;{% endif %}</span>
+ {% assign reference = original.right %}
+ {% include 'reference' %}
+
+{% endcase %}
diff --git a/doc-tool/resources/_layouts/api-page.html b/doc-tool/resources/_layouts/api-page.html
index 1f5a441de..292c334dc 100644
--- a/doc-tool/resources/_layouts/api-page.html
+++ b/doc-tool/resources/_layouts/api-page.html
@@ -49,10 +49,11 @@ extraCSS:
<span class="no-left keyword">implicit</span>
{% endif %}
{% for ref in plist.list %}
- {% if forloop.last %}
- <span class="no-left">{{ ref.title }}</span>
- {% else %}
- <span class="no-left">{{ ref.title }}, </span>
+ <span class="{% if forloop.first %}no-left{% endif %}">{{ ref.title }}:{% if ref.isByName %} =&gt;{% endif %}</span>
+ {% assign reference = ref.ref %}
+ {% include "reference" %}
+ {% if forloop.last != true %}
+ <span class="no-left">, </span>
{% endif %}
{% endfor %}
<span class="no-left">)</span>
diff --git a/doc-tool/resources/css/api-page.css b/doc-tool/resources/css/api-page.css
index e2927f0d4..743596813 100644
--- a/doc-tool/resources/css/api-page.css
+++ b/doc-tool/resources/css/api-page.css
@@ -63,3 +63,7 @@ div#entity-members > div.member > div.member-title span.keyword {
div#entity-members > div.member > div.member-title span.no-left {
margin-left: -11px;
}
+
+div#entity-members > div.member > div.member-title span.no-right {
+ margin-right: -11px;
+}