File tree 1 file changed +15
-0
lines changed
compiler/src/dotty/tools/dotc/transform/init
1 file changed +15
-0
lines changed Original file line number Diff line number Diff line change @@ -40,6 +40,20 @@ class Semantic {
40
40
* │ │ │ │
41
41
* └─────────┴──────┴───────┘
42
42
* Hot
43
+ *
44
+ * The most important ordering is the following:
45
+ *
46
+ * Hot ⊑ Warm(C) ⊑ ThisRef(C) ⊑ Cold
47
+ *
48
+ * The diagram above does not reflect relationship between `RefSet`
49
+ * and other values. `RefSet` represents a set of values which could
50
+ * be `ThisRef`, `Warm` or `Fun`. The following ordering applies for
51
+ * RefSet:
52
+ *
53
+ * R_a ⊑ R_b if R_a ⊆ R_b
54
+ *
55
+ * V ⊑ R if V ∈ R
56
+ *
43
57
*/
44
58
sealed abstract class Value {
45
59
def show : String = this .toString()
@@ -288,6 +302,7 @@ class Semantic {
288
302
Result (value2, errors)
289
303
}
290
304
305
+ /** Handle a new expression `new p.C` where `p` is abstracted by `value` */
291
306
def instantiate (klass : ClassSymbol , ctor : Symbol , source : Tree ): Contextual [Result ] =
292
307
value match {
293
308
case Hot =>
You can’t perform that action at this time.
0 commit comments