| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
Doubles maximal number of phases from 32 to 64. Needed because adding the pickling phase
would push us over the edge of 32 phases.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
(1) Template nodes have to be treated specially. They contain
primary constructors, self definitions and local dummys,
all of which have to be properly mapped and re-integrated.
(2) Symbol substitutions have ot be done all together instead of
one after the other.
(3) When creating new symbols, need to create ClassSymbols for ClassSymbols.
|
|
|
|
|
|
|
|
| |
If a symbol is defined in phases M..N, and that
symbol is then accessed in a phase before M, but in a new run,
we should not issue a stale symbol error (after all, the
symbol is not defined yet). Instead we now return a
NoDenotation.
|
| |
|
|
|
|
| |
And avoid name clashes
|
|
|
|
|
|
| |
Previous version was wrong because every context is a fresh context at runtime,
so the overriding version would always be executed, which means that withPhase
becomes a side-effecting operation!
|
|
|
|
|
|
| |
All MiniPhases now as are full-fledged phases,
and are given their own periods and can register DenotTransformers.
MiniPhases belonging to same group(list) will be squashed to single phase.
|
|
|
|
|
|
|
|
| |
Many small and large changes. Added samplePhase to demonstrate functionality.
To test functioning, run the compiler with args
tests/pos/uncurry.scala -Ylog:sample,terminal
|
|
|
|
| |
To bring in line with TreeTransformer terminology.
|
| |
|
|
|
|
|
|
|
| |
Added general way to put attachments on some base type (which needs to inherit from Attachment.Container).
Used it to turn typedTree map into an attachment.
Also, moved DotClass to dotc.util.
|
|
|
|
| |
Need to ensure that specially generated symbols in definitions are valid forever; otherwise they would disappear after first run.
|
| |
|
|
|
|
| |
Still fighting with CyclicReference errors.
|
|
|
|
| |
Plus renamed NullSignature -> NotAMethod
|
|
|
|
|
|
|
| |
Added reporters.
Added context for signatures.
Implemented method signatures via erasure.
Refined derivedNameType handling.
|
| |
|
|
|
|
| |
validity periods. Instead, we simply retry on missing member lookup in an earlier phase. This scheme is less complicated and works as long as names that are renamed in phase A are not re-used in a phase B >= A.
|
| |
|
| |
|
|
|
|
| |
types. (3) FlagSet is now a value class.
|
|
|