| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Seven weeks is a good amount of time between starrs,
and I'm going nutso for -Xdev during locker.
|
|
|
|
|
| |
Contains the extension method naming change, in the
interests of unbreaking the sbt build for a while.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Reification (both tree-based and type-based) should be avoided
before we release 2.10.0-final, since it impairs reflection refactorings
like the upcoming one.
Also the upcoming refactoring moves tag materialization anchors, and we
have to add them to fast track in advance, so that they are treated as
macros later.
|
|
|
|
|
|
| |
Deployed a new starr that does not depend on `@static` annotation.
The next step will be deleting `@static` from the library
altogether.
|
|
|
|
|
| |
Updates the starr with the changes introduced by the previous commit.
Cleans up obsolete symbols required by the previous starr.
|
|
|
|
| |
for those who use locker as their main development platform
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
reify has just been moved to base.Universe from api.Universe, so the fast track
in the old starr doesn't know about its existence. Therefore locker is built
without reify having the MACRO flag, thus it won't be able to expand reify.
Strictly speaking we don't need a new starr, because reify isn't used in scalac
so, even though locker won't recognize reify, quick will be fine.
However you don't know where a little sloppiness is going to bite you,
so I took time to rebuild and push the new starr.
It was as simple as "ant build starr.done" of the parent commit.
No file mingling was required.
|
|
|
|
|
|
|
|
|
| |
Builds a starr that uses stuff from scala.reflect.macros for macro activities.
Crucial makro thingies (such as makro.Context or makro.internal.macroImpl)
are temporarily left in place, because they are necessary for previous starr.
Macro tests will be fixed in a dedicated commit, so that they don't pollute
meaningful commits, making the life easy for reviewers and spelunkers.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In our codebase we have a bunch of macros, and some of those macros
(namely, tag materialization macros and string context "f" formatter)
are used inside the compiler itself.
The logic of those macros is hardwired into starr's fast track,
so it doesn't rely on any of the subsystems of the macro engine
to be located, bound and executed.
But to trigger this logic we need to color these macros as macros, i.e. as
term symbols having the MACRO flag. Currently this works automatically,
because fast track macros (the same as regular macros) have their rhs
in the "macro ???" form. Having seen the "macro" keyword, the compiler knows
that the corresponding def declares a macro and sets the MACRO flag.
As the latest refactoring attempt has shown, the "macro" in "macro ???"
is unnecessary and might stand in the way of macro refactorings. After all
if some symbol is in the fast track registry, then it's definitely a macro.
Hence I'm changing the compiler to not need the "macro" keyword in declarations
of fast track macros anymore.
|
|
|
|
| |
That doesn't require Context.reify anymore.
|
|
Requires a new starr.
|