LinkSource

trait LinkSource

An implementation trait for attachments. Clients should inherit from Container instead.

class Object
trait Matchable
class Any
trait Container
class Tree[T]
trait TypTree[T]
class TypeTree[T]
trait TermTree[T]
class This[T]
class Super[T]
class Apply[T]
class TypeApply[T]
class Literal[T]
class New[T]
class Typed[T]
class Assign[T]
class If[T]
class InlineIf[T]
class Closure[T]
class Match[T]
class InlineMatch[T]
class Return[T]
class WhileDo[T]
class Try[T]
trait PatternTree[T]
class Bind[T]
class Alternative[T]
class UnApply[T]
class NameTree[T]
class RefTree[T]
class Ident[T]
class Select[T]
class MemberDef[T]
class ValOrDefDef[T]
class ValDef[T]
class EmptyValDef[T]
class DefDef[T]
class TypeDef[T]
class ModuleDef
class Labeled[T]
trait DefTree[T]
class Template[T]
class Import[T]
class Export[T]
class ProxyTree[T]
class PackageDef[T]
class Annotated[T]
class Parens
class NamedArg[T]
class Block[T]
class XMLBlock
class CaseDef[T]
class SeqLiteral[T]
class Inlined[T]
class Thicket[T]
class EmptyTree[T]
class OpTree
class InfixOp
class PostfixOp
class PrefixOp
class Function
class Tuple
class GenFrom
class GenAlias
class MacroTree
class Hole

Value members

Concrete methods

final def allAttachments: List[(Key[_], Any)]

The list of all keys and values attached to this container.

The list of all keys and values attached to this container.

final def attachment[V](key: Key[V]): V

The attachment corresponding to key.

The attachment corresponding to key.

Throws
NoSuchElementException

if no attachment with key exists

final def attachmentOrElse[V](key: Key[V], default: V): V

The attachment corresponding to key, or default if no attachment with key exists.

The attachment corresponding to key, or default if no attachment with key exists.

final def getAttachment[V](key: Key[V]): Option[V]

Optionally get attachment corresponding to key

Optionally get attachment corresponding to key

final def hasAttachment[V](key: Key[V]): Boolean

Does an attachment corresponding to key exist?

Does an attachment corresponding to key exist?

final def putAttachment[V](key: Key[V], value: V): Option[V]

Add attachment with given key and value.

Add attachment with given key and value.

Returns

Optionally, the old attachment with given key if one existed before. The new attachment is added at the position of the old one, or at the end if no attachment with same key existed.

final def removeAttachment[V](key: Key[V]): Option[V]

Remove attachment with given key, if it exists.

Remove attachment with given key, if it exists.

Returns

Optionally, the removed attachment with given key if one existed before.