Skip to content

Commit 177bad5

Browse files
committed
Mention that dotty does use an IR, just not multiple ones
1 parent 6d18892 commit 177bad5

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

docs/docs/internals/dotty-internals-1-notes.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ See the paper "[Miniphases: Compilation using Modular and Efficient Tree Transfo
2020

2121
Trees represent code written by the user (e.g. methods, classes, expressions). There are two kinds of trees: untyped and typed.
2222

23-
Unlike other compilers (but like `scalac`), dotty doesn't use intermediate representations (IRs) during the compilation pipeline. Instead, it uses trees for all phases.
23+
Unlike other compilers (but like `scalac`), dotty doesn't use multiple intermediate representations (IRs) during the compilation pipeline. Instead, it uses trees for all phases.
2424

2525
Dotty trees are immutable, so they can be shared.
2626

@@ -113,6 +113,7 @@ trait T {
113113
Another caveat, before typechecking there can be some trees where the lhs isn't a `RefTree`: e.g. `(a, b) = (3, 4)`.
114114

115115
# Symbols
116+
`dotc/core/Symbols.scala`
116117

117118
Symbols are references to definitions (e.g. of variables, fields, classes). Symbols can be used to refer to definitions for which we don't have ASTs (for example, from the Java standard library).
118119

@@ -141,6 +142,7 @@ val O = new O$
141142
where we have a type symbol for `class O$` and a term symbol for `val O`. Notice the use of the selftype `O.type` to indicate that `this` has a singleton type.
142143

143144
## SymDenotation
145+
`dotc/core/SymDenotations.scala`
144146

145147
Symbols contain `SymDenotation`s. The denotation, in turn, refers to:
146148

0 commit comments

Comments
 (0)