aboutsummaryrefslogtreecommitdiff
path: root/api/dotty/tools/dotc/transform/FullParameterization.html
diff options
context:
space:
mode:
authordotty-bot <felix.mulder@epfl.ch>2017-02-03 18:05:53 +0000
committerdotty-bot <felix.mulder@epfl.ch>2017-02-03 18:05:53 +0000
commit881c3b182fda1036d5a507d08ff85f7709d70703 (patch)
treec0248d0a1664dcbf9f483b65f65e4d4710c3d0bb /api/dotty/tools/dotc/transform/FullParameterization.html
parentb45ed2e609603cdaa94f9b7f5099da01e5e45314 (diff)
downloaddotty-881c3b182fda1036d5a507d08ff85f7709d70703.tar.gz
dotty-881c3b182fda1036d5a507d08ff85f7709d70703.tar.bz2
dotty-881c3b182fda1036d5a507d08ff85f7709d70703.zip
Update gh-pages site for da7d7231b7f21fe1085abc569eb783590074a359
Diffstat (limited to 'api/dotty/tools/dotc/transform/FullParameterization.html')
-rw-r--r--api/dotty/tools/dotc/transform/FullParameterization.html303
1 files changed, 285 insertions, 18 deletions
diff --git a/api/dotty/tools/dotc/transform/FullParameterization.html b/api/dotty/tools/dotc/transform/FullParameterization.html
index 8d182c189..ff5664897 100644
--- a/api/dotty/tools/dotc/transform/FullParameterization.html
+++ b/api/dotty/tools/dotc/transform/FullParameterization.html
@@ -5321,6 +5321,9 @@
<div id="entity-container">
<div id="entity-title">
+ <span id="entity-annotations">
+
+ </span>
<span id="entity-modifiers">
</span>
@@ -5330,6 +5333,8 @@
<span id="entity-name">
FullParameterization
</span>
+
+
</div>
@@ -5368,12 +5373,23 @@ to follow method parameters and translate to the following:</p>
</div>
- <h1 class="section ">Members</h1>
+ <h1 class="section empty">
+ Constructors
+ </h1>
+
+ <div id="entity-constructors" class="entity-section empty">
+
+ </div>
+
+ <h1 class="section ">
+ Members
+ </h1>
<div id="entity-members" class="entity-section ">
<div id="allInstanceTypeParams(originalDef,abstractOverClass)(ctx)" class="member private">
<div class="member-title">
+ <span class="expand-button" onclick="toggleMemberBody(this, 'allInstanceTypeParams(originalDef,abstractOverClass)(ctx)');">[+]</span>
<span class="member-annotations">
</span>
@@ -5428,19 +5444,41 @@ to follow method parameters and translate to the following:</p>
- <span class="no-left">: List</span>
+ <span class="no-left">: List
+<span class="no-left no-right">[</span>
+<a href="../../../../.././api/dotty/tools/dotc/core/Symbols$/Symbol.html">Symbol</a>
+<span class="no-left">]</span></span>
</div><!-- end member-title -->
<div class="member-body">
- <p>The type parameters (skolems) of the method definition <code>originalDef</code>,
+ <div class="member-body-short" id="short-body-allInstanceTypeParams(originalDef,abstractOverClass)(ctx)">
+ <p>The type parameters (skolems) of the method definition <code>originalDef</code>,
+followed by the class parameters of its enclosing class.</p>
+
+ </div>
+ <div class="member-body-long" id ="long-body-allInstanceTypeParams(originalDef,abstractOverClass)(ctx)">
+ <p>The type parameters (skolems) of the method definition <code>originalDef</code>,
followed by the class parameters of its enclosing class.</p>
+ </div>
</div>
+ <script>
+ function toggleMemberBody(span, sig) {
+ var shortBody = document.getElementById("short-body-" + sig);
+ var longBody = document.getElementById("long-body-" + sig);
+
+ shortBody.classList.toggle("toggled")
+ longBody.classList.toggle("toggled")
+
+ span.innerHTML = (span.innerHTML == "[+]") ? "[-]" : "[+]";
+ }
+ </script>
</div><!-- end member -->
<div id="forwarder(derived,originalDef,abstractOverClass,liftThisType)(ctx)" class="member ">
<div class="member-title">
+ <span class="expand-button" onclick="toggleMemberBody(this, 'forwarder(derived,originalDef,abstractOverClass,liftThisType)(ctx)');">[+]</span>
<span class="member-annotations">
</span>
@@ -5511,19 +5549,38 @@ followed by the class parameters of its enclosing class.</p>
- <span class="no-left">: Tree</span>
+ <span class="no-left">: <a href="../../../../.././api/dotty/tools/dotc/ast/Trees$/Instance.html#Tree">Tree</a></span>
</div><!-- end member-title -->
<div class="member-body">
- <p>A forwarder expression which calls <code>derived</code>, passing along
+ <div class="member-body-short" id="short-body-forwarder(derived,originalDef,abstractOverClass,liftThisType)(ctx)">
+ <p>A forwarder expression which calls <code>derived</code>, passing along
- if <code>abstractOverClass</code> the type parameters and enclosing class parameters of originalDef<code>, - t...</code></p>
+ </div>
+ <div class="member-body-long" id ="long-body-forwarder(derived,originalDef,abstractOverClass,liftThisType)(ctx)">
+ <p>A forwarder expression which calls <code>derived</code>, passing along
+- if <code>abstractOverClass</code> the type parameters and enclosing class parameters of originalDef<code>, - the</code>this<code>of the enclosing class, - the value parameters of the original method</code>originalDef`.</p>
+
+ </div>
</div>
+ <script>
+ function toggleMemberBody(span, sig) {
+ var shortBody = document.getElementById("short-body-" + sig);
+ var longBody = document.getElementById("long-body-" + sig);
+
+ shortBody.classList.toggle("toggled")
+ longBody.classList.toggle("toggled")
+
+ span.innerHTML = (span.innerHTML == "[+]") ? "[-]" : "[+]";
+ }
+ </script>
</div><!-- end member -->
<div id="forwarder$default$3" class="member ">
<div class="member-title">
+ <span class="expand-button" onclick="toggleMemberBody(this, 'forwarder$default$3');">[+]</span>
<span class="member-annotations">
</span>
@@ -5549,14 +5606,33 @@ followed by the class parameters of its enclosing class.</p>
</div><!-- end member-title -->
<div class="member-body">
- <p>A forwarder expression which calls <code>derived</code>, passing along
+ <div class="member-body-short" id="short-body-forwarder$default$3">
+ <p>A forwarder expression which calls <code>derived</code>, passing along
- if <code>abstractOverClass</code> the type parameters and enclosing class parameters of originalDef<code>, - t...</code></p>
+ </div>
+ <div class="member-body-long" id ="long-body-forwarder$default$3">
+ <p>A forwarder expression which calls <code>derived</code>, passing along
+- if <code>abstractOverClass</code> the type parameters and enclosing class parameters of originalDef<code>, - the</code>this<code>of the enclosing class, - the value parameters of the original method</code>originalDef`.</p>
+
+ </div>
</div>
+ <script>
+ function toggleMemberBody(span, sig) {
+ var shortBody = document.getElementById("short-body-" + sig);
+ var longBody = document.getElementById("long-body-" + sig);
+
+ shortBody.classList.toggle("toggled")
+ longBody.classList.toggle("toggled")
+
+ span.innerHTML = (span.innerHTML == "[+]") ? "[-]" : "[+]";
+ }
+ </script>
</div><!-- end member -->
<div id="forwarder$default$4" class="member ">
<div class="member-title">
+ <span class="expand-button" onclick="toggleMemberBody(this, 'forwarder$default$4');">[+]</span>
<span class="member-annotations">
</span>
@@ -5582,14 +5658,33 @@ followed by the class parameters of its enclosing class.</p>
</div><!-- end member-title -->
<div class="member-body">
- <p>A forwarder expression which calls <code>derived</code>, passing along
+ <div class="member-body-short" id="short-body-forwarder$default$4">
+ <p>A forwarder expression which calls <code>derived</code>, passing along
- if <code>abstractOverClass</code> the type parameters and enclosing class parameters of originalDef<code>, - t...</code></p>
+ </div>
+ <div class="member-body-long" id ="long-body-forwarder$default$4">
+ <p>A forwarder expression which calls <code>derived</code>, passing along
+- if <code>abstractOverClass</code> the type parameters and enclosing class parameters of originalDef<code>, - the</code>this<code>of the enclosing class, - the value parameters of the original method</code>originalDef`.</p>
+
+ </div>
</div>
+ <script>
+ function toggleMemberBody(span, sig) {
+ var shortBody = document.getElementById("short-body-" + sig);
+ var longBody = document.getElementById("long-body-" + sig);
+
+ shortBody.classList.toggle("toggled")
+ longBody.classList.toggle("toggled")
+
+ span.innerHTML = (span.innerHTML == "[+]") ? "[-]" : "[+]";
+ }
+ </script>
</div><!-- end member -->
<div id="fullyParameterizedDef(derived,originalDef,abstractOverClass)(ctx)" class="member ">
<div class="member-title">
+ <span class="expand-button" onclick="toggleMemberBody(this, 'fullyParameterizedDef(derived,originalDef,abstractOverClass)(ctx)');">[+]</span>
<span class="member-annotations">
</span>
@@ -5652,21 +5747,44 @@ followed by the class parameters of its enclosing class.</p>
- <span class="no-left">: Tree</span>
+ <span class="no-left">: <a href="../../../../.././api/dotty/tools/dotc/ast/Trees$/Instance.html#Tree">Tree</a></span>
</div><!-- end member-title -->
<div class="member-body">
- <p>Given an instance method definition <code>originalDef</code>, return a
+ <div class="member-body-short" id="short-body-fullyParameterizedDef(derived,originalDef,abstractOverClass)(ctx)">
+ <p>Given an instance method definition <code>originalDef</code>, return a
fully parameterized method definition derived from <code>originalDef</code>, which
has <code>derived</code> as symbol an...
</p>
+ </div>
+ <div class="member-body-long" id ="long-body-fullyParameterizedDef(derived,originalDef,abstractOverClass)(ctx)">
+ <p>Given an instance method definition <code>originalDef</code>, return a
+fully parameterized method definition derived from <code>originalDef</code>, which
+has <code>derived</code> as symbol and <code>fullyParameterizedType(originalDef.symbol.info)</code>
+as info.
+<code>abstractOverClass</code> defines weather the DefDef should abstract over type parameters
+of class that contained original defDef</p>
+
+ </div>
</div>
+ <script>
+ function toggleMemberBody(span, sig) {
+ var shortBody = document.getElementById("short-body-" + sig);
+ var longBody = document.getElementById("long-body-" + sig);
+
+ shortBody.classList.toggle("toggled")
+ longBody.classList.toggle("toggled")
+
+ span.innerHTML = (span.innerHTML == "[+]") ? "[-]" : "[+]";
+ }
+ </script>
</div><!-- end member -->
<div id="fullyParameterizedDef$default$3" class="member ">
<div class="member-title">
+ <span class="expand-button" onclick="toggleMemberBody(this, 'fullyParameterizedDef$default$3');">[+]</span>
<span class="member-annotations">
</span>
@@ -5692,16 +5810,39 @@ has <code>derived</code> as symbol an...
</div><!-- end member-title -->
<div class="member-body">
- <p>Given an instance method definition <code>originalDef</code>, return a
+ <div class="member-body-short" id="short-body-fullyParameterizedDef$default$3">
+ <p>Given an instance method definition <code>originalDef</code>, return a
fully parameterized method definition derived from <code>originalDef</code>, which
has <code>derived</code> as symbol an...
</p>
+ </div>
+ <div class="member-body-long" id ="long-body-fullyParameterizedDef$default$3">
+ <p>Given an instance method definition <code>originalDef</code>, return a
+fully parameterized method definition derived from <code>originalDef</code>, which
+has <code>derived</code> as symbol and <code>fullyParameterizedType(originalDef.symbol.info)</code>
+as info.
+<code>abstractOverClass</code> defines weather the DefDef should abstract over type parameters
+of class that contained original defDef</p>
+
+ </div>
</div>
+ <script>
+ function toggleMemberBody(span, sig) {
+ var shortBody = document.getElementById("short-body-" + sig);
+ var longBody = document.getElementById("long-body-" + sig);
+
+ shortBody.classList.toggle("toggled")
+ longBody.classList.toggle("toggled")
+
+ span.innerHTML = (span.innerHTML == "[+]") ? "[-]" : "[+]";
+ }
+ </script>
</div><!-- end member -->
<div id="fullyParameterizedType(info,clazz,abstractOverClass,liftThisType)(ctx)" class="member ">
<div class="member-title">
+ <span class="expand-button" onclick="toggleMemberBody(this, 'fullyParameterizedType(info,clazz,abstractOverClass,liftThisType)(ctx)');">[+]</span>
<span class="member-annotations">
</span>
@@ -5772,12 +5913,13 @@ has <code>derived</code> as symbol an...
- <span class="no-left">: Type</span>
+ <span class="no-left">: <a href="../../../../.././api/dotty/tools/dotc/core/Types$/Type.html">Type</a></span>
</div><!-- end member-title -->
<div class="member-body">
- <p>Converts the type <code>info</code> of a member of class <code>clazz</code> to a method type that
+ <div class="member-body-short" id="short-body-fullyParameterizedType(info,clazz,abstractOverClass,liftThisType)(ctx)">
+ <p>Converts the type <code>info</code> of a member of class <code>clazz</code> to a method type that
takes the <code>this</code> of the class and any type parameters of the class
as additional p...</p>
<p>[+A &lt;: AnyRef][A]
@@ -5789,11 +5931,38 @@ as additional p...</p>
</p>
<p></p>
+ </div>
+ <div class="member-body-long" id ="long-body-fullyParameterizedType(info,clazz,abstractOverClass,liftThisType)(ctx)">
+ <p>Converts the type <code>info</code> of a member of class <code>clazz</code> to a method type that
+takes the <code>this</code> of the class and any type parameters of the class
+as additional parameters. Example:</p>
+<p>class Foo[+A &lt;: AnyRef](val xs: List[A]) extends AnyVal {
+def baz[B &gt;: A](x: B): List[B] = ...
+}</p>
+<p>leads to:</p>
+<p>object Foo {
+def extension$baz[B &gt;: A &lt;: Any, A &gt;: Nothing &lt;: AnyRef]($this: Foo[A])(x: B): List[B]
+}</p>
+<p>If a self type is present, $this has this self type as its type.</p>
+
+ </div>
</div>
+ <script>
+ function toggleMemberBody(span, sig) {
+ var shortBody = document.getElementById("short-body-" + sig);
+ var longBody = document.getElementById("long-body-" + sig);
+
+ shortBody.classList.toggle("toggled")
+ longBody.classList.toggle("toggled")
+
+ span.innerHTML = (span.innerHTML == "[+]") ? "[-]" : "[+]";
+ }
+ </script>
</div><!-- end member -->
<div id="fullyParameterizedType$default$3" class="member ">
<div class="member-title">
+ <span class="expand-button" onclick="toggleMemberBody(this, 'fullyParameterizedType$default$3');">[+]</span>
<span class="member-annotations">
</span>
@@ -5819,7 +5988,8 @@ as additional p...</p>
</div><!-- end member-title -->
<div class="member-body">
- <p>Converts the type <code>info</code> of a member of class <code>clazz</code> to a method type that
+ <div class="member-body-short" id="short-body-fullyParameterizedType$default$3">
+ <p>Converts the type <code>info</code> of a member of class <code>clazz</code> to a method type that
takes the <code>this</code> of the class and any type parameters of the class
as additional p...</p>
<p>[+A &lt;: AnyRef][A]
@@ -5831,11 +6001,38 @@ as additional p...</p>
</p>
<p></p>
+ </div>
+ <div class="member-body-long" id ="long-body-fullyParameterizedType$default$3">
+ <p>Converts the type <code>info</code> of a member of class <code>clazz</code> to a method type that
+takes the <code>this</code> of the class and any type parameters of the class
+as additional parameters. Example:</p>
+<p>class Foo[+A &lt;: AnyRef](val xs: List[A]) extends AnyVal {
+def baz[B &gt;: A](x: B): List[B] = ...
+}</p>
+<p>leads to:</p>
+<p>object Foo {
+def extension$baz[B &gt;: A &lt;: Any, A &gt;: Nothing &lt;: AnyRef]($this: Foo[A])(x: B): List[B]
+}</p>
+<p>If a self type is present, $this has this self type as its type.</p>
+
+ </div>
</div>
+ <script>
+ function toggleMemberBody(span, sig) {
+ var shortBody = document.getElementById("short-body-" + sig);
+ var longBody = document.getElementById("long-body-" + sig);
+
+ shortBody.classList.toggle("toggled")
+ longBody.classList.toggle("toggled")
+
+ span.innerHTML = (span.innerHTML == "[+]") ? "[-]" : "[+]";
+ }
+ </script>
</div><!-- end member -->
<div id="fullyParameterizedType$default$4" class="member ">
<div class="member-title">
+ <span class="expand-button" onclick="toggleMemberBody(this, 'fullyParameterizedType$default$4');">[+]</span>
<span class="member-annotations">
</span>
@@ -5861,7 +6058,8 @@ as additional p...</p>
</div><!-- end member-title -->
<div class="member-body">
- <p>Converts the type <code>info</code> of a member of class <code>clazz</code> to a method type that
+ <div class="member-body-short" id="short-body-fullyParameterizedType$default$4">
+ <p>Converts the type <code>info</code> of a member of class <code>clazz</code> to a method type that
takes the <code>this</code> of the class and any type parameters of the class
as additional p...</p>
<p>[+A &lt;: AnyRef][A]
@@ -5873,11 +6071,38 @@ as additional p...</p>
</p>
<p></p>
+ </div>
+ <div class="member-body-long" id ="long-body-fullyParameterizedType$default$4">
+ <p>Converts the type <code>info</code> of a member of class <code>clazz</code> to a method type that
+takes the <code>this</code> of the class and any type parameters of the class
+as additional parameters. Example:</p>
+<p>class Foo[+A &lt;: AnyRef](val xs: List[A]) extends AnyVal {
+def baz[B &gt;: A](x: B): List[B] = ...
+}</p>
+<p>leads to:</p>
+<p>object Foo {
+def extension$baz[B &gt;: A &lt;: Any, A &gt;: Nothing &lt;: AnyRef]($this: Foo[A])(x: B): List[B]
+}</p>
+<p>If a self type is present, $this has this self type as its type.</p>
+
+ </div>
</div>
+ <script>
+ function toggleMemberBody(span, sig) {
+ var shortBody = document.getElementById("short-body-" + sig);
+ var longBody = document.getElementById("long-body-" + sig);
+
+ shortBody.classList.toggle("toggled")
+ longBody.classList.toggle("toggled")
+
+ span.innerHTML = (span.innerHTML == "[+]") ? "[-]" : "[+]";
+ }
+ </script>
</div><!-- end member -->
<div id="rewiredTarget(referenced,derived)(ctx)" class="member protected">
<div class="member-title">
+ <span class="expand-button" onclick="toggleMemberBody(this, 'rewiredTarget(referenced,derived)(ctx)');">[+]</span>
<span class="member-annotations">
</span>
@@ -5932,20 +6157,40 @@ as additional p...</p>
- <span class="no-left">: Symbol</span>
+ <span class="no-left">: <a href="../../../../.././api/dotty/tools/dotc/core/Symbols$/Symbol.html">Symbol</a></span>
</div><!-- end member-title -->
<div class="member-body">
- <p>If references to original symbol <code>referenced</code> from within fully parameterized method
+ <div class="member-body-short" id="short-body-rewiredTarget(referenced,derived)(ctx)">
+ <p>If references to original symbol <code>referenced</code> from within fully parameterized method
<code>derived</code> should be rewired to some fully parameterized method, the re...
</p>
+ </div>
+ <div class="member-body-long" id ="long-body-rewiredTarget(referenced,derived)(ctx)">
+ <p>If references to original symbol <code>referenced</code> from within fully parameterized method
+<code>derived</code> should be rewired to some fully parameterized method, the rewiring target symbol,
+otherwise NoSymbol.</p>
+
+ </div>
</div>
+ <script>
+ function toggleMemberBody(span, sig) {
+ var shortBody = document.getElementById("short-body-" + sig);
+ var longBody = document.getElementById("long-body-" + sig);
+
+ shortBody.classList.toggle("toggled")
+ longBody.classList.toggle("toggled")
+
+ span.innerHTML = (span.innerHTML == "[+]") ? "[-]" : "[+]";
+ }
+ </script>
</div><!-- end member -->
<div id="rewiredTarget(tree,derived)(ctx)" class="member protected">
<div class="member-title">
+ <span class="expand-button" onclick="toggleMemberBody(this, 'rewiredTarget(tree,derived)(ctx)');">[+]</span>
<span class="member-annotations">
</span>
@@ -6000,19 +6245,41 @@ as additional p...</p>
- <span class="no-left">: Symbol</span>
+ <span class="no-left">: <a href="../../../../.././api/dotty/tools/dotc/core/Symbols$/Symbol.html">Symbol</a></span>
</div><!-- end member-title -->
<div class="member-body">
- <p>If references to some original symbol from given tree node within fully parameterized method
+ <div class="member-body-short" id="short-body-rewiredTarget(tree,derived)(ctx)">
+ <p>If references to some original symbol from given tree node within fully parameterized method
<code>derived</code> should be rewired to some fully parameterized meth...
</p>
<pre><code>rewiredTarget(tree.symbol, derived)
</code></pre>
<p></p>
+ </div>
+ <div class="member-body-long" id ="long-body-rewiredTarget(tree,derived)(ctx)">
+ <p>If references to some original symbol from given tree node within fully parameterized method
+<code>derived</code> should be rewired to some fully parameterized method, the rewiring target symbol,
+otherwise NoSymbol. By default implemented as</p>
+<pre><code>rewiredTarget(tree.symbol, derived)
+</code></pre>
+<p>but can be overridden.</p>
+
+ </div>
</div>
+ <script>
+ function toggleMemberBody(span, sig) {
+ var shortBody = document.getElementById("short-body-" + sig);
+ var longBody = document.getElementById("long-body-" + sig);
+
+ shortBody.classList.toggle("toggled")
+ longBody.classList.toggle("toggled")
+
+ span.innerHTML = (span.innerHTML == "[+]") ? "[-]" : "[+]";
+ }
+ </script>
</div><!-- end member -->
</div>