•Macro Expanders are implemented as classes whose names are the name of the macro with a “SyntaxExpander” suffix
–forEach’s macro class would be named forEachSyntaxExpander
•Coexist with runtime Java source and class files
•Dynamically loaded into compiler on demand during
build
•Macros are looked up using the usual Java class lookup strategy:
–Package scoped
–Class scoped