diff options
author | Eugene Burmako <xeno.by@gmail.com> | 2012-07-24 12:04:57 +0200 |
---|---|---|
committer | Eugene Burmako <xeno.by@gmail.com> | 2012-08-02 15:50:59 +0200 |
commit | 280c4906d18fd827e2c934af49e253064ac753ef (patch) | |
tree | 3e109d6967d21ba934c8bc6e0d5cca071b09a9b4 /gitignore.SAMPLE | |
parent | 027b00171c0d92ec669deaa471966e6468c6b8cf (diff) | |
download | scala-280c4906d18fd827e2c934af49e253064ac753ef.tar.gz scala-280c4906d18fd827e2c934af49e253064ac753ef.tar.bz2 scala-280c4906d18fd827e2c934af49e253064ac753ef.zip |
prepares our macro defs for refactoring (Step I)
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.
Diffstat (limited to 'gitignore.SAMPLE')
0 files changed, 0 insertions, 0 deletions