diff options
author | Eugene Burmako <xeno.by@gmail.com> | 2012-11-18 21:31:28 +0100 |
---|---|---|
committer | Eugene Burmako <xeno.by@gmail.com> | 2012-11-18 21:31:28 +0100 |
commit | 1fd3a2a289dae54840b091b822c29019d2ccb565 (patch) | |
tree | a8a0efbdf977005c358168f3f9a7bd592cffefe4 | |
parent | 907d6ea06ee2e2116dc24838b73990dca3d4c651 (diff) | |
download | scala-1fd3a2a289dae54840b091b822c29019d2ccb565.tar.gz scala-1fd3a2a289dae54840b091b822c29019d2ccb565.tar.bz2 scala-1fd3a2a289dae54840b091b822c29019d2ccb565.zip |
adds comments to standard attachments
-rw-r--r-- | src/reflect/scala/reflect/internal/StdAttachments.scala | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/reflect/scala/reflect/internal/StdAttachments.scala b/src/reflect/scala/reflect/internal/StdAttachments.scala index c1ed33ee77..1df91a67b0 100644 --- a/src/reflect/scala/reflect/internal/StdAttachments.scala +++ b/src/reflect/scala/reflect/internal/StdAttachments.scala @@ -19,11 +19,26 @@ trait StdAttachments { def setPos(newpos: Position): this.type = { pos = newpos; this } } + /** When present, indicates that the host `Ident` has been created from a backquoted identifier. + */ case object BackquotedIdentifierAttachment + /** Stores the trees that give rise to a refined type to be used in reification. + * Unfortunately typed `CompoundTypeTree` is lacking essential info, and the reifier cannot use `CompoundTypeTree.tpe`. + * Therefore we need this hack (see `Reshape.toPreTyperTypeTree` for a detailed explanation). + */ case class CompoundTypeTreeOriginalAttachment(parents: List[Tree], stats: List[Tree]) + /** Is added by the macro engine to the results of macro expansions. + * Stores the original expandee as it entered the `macroExpand` function. + */ case class MacroExpansionAttachment(original: Tree) + /** When present, suppresses macro expansion for the host. + * This is occasionally necessary, e.g. to prohibit eta-expansion of macros. + * + * Does not affect expandability of child nodes, there's context.withMacrosDisabled for that + * (but think thrice before using that API - see the discussion at https://github.com/scala/scala/pull/1639). + */ case object SuppressMacroExpansionAttachment } |