Scratchpad for the macro expander, which is used to store all intermediate data except the details about the runtime.
Is added by the macro engine to originals and results of macro expansions.
After being synthesized by the parser, primary constructors aren't fully baked yet.
Carries information necessary to expand the host tree.
Since mkInvoke, the applyDynamic/selectDynamic/etc desugarer, is disconnected from typedNamedApply, the applyDynamicNamed argument rewriter, the latter doesn’t know whether it needs to apply the rewriting because the application has just been desugared or it needs to hold on because it’s already performed a desugaring on this tree.
When present, suppresses macro expansion for the host.
Determines whether the target is either an original or a result of a macro expansion.
Determines whether the given tree has an associated SuperArgsAttachment.
Determines whether a tree should not be expanded, because someone has put SuppressMacroExpansionAttachment on it or one of its children.
Determines whether a tree should or should not be adapted, because someone has put MacroImplRefAttachment on it.
After macro expansion is completed, links the expandee and the expansion result
by annotating them both with a
After macro expansion is completed, links the expandee and the expansion result by annotating them both with a
Returns the original tree of the macro expansion if the argument is a macro expansion or EmptyTree otherwise.
Loads underlying MacroExpanderAttachment from a macro expandee or returns a default value for that attachment.
Marks the tree as a macro impl reference, which is a naked reference to a method.
Convenience method for
Suppresses macro expansion of the tree by putting SuppressMacroExpansionAttachment on it.
Unmarks the tree as a macro impl reference (see
markMacroImplRef for more information).
Unsuppresses macro expansion of the tree by removing SuppressMacroExpansionAttachment from it and its children.