t

scala.reflect.internal

StdAttachments

trait StdAttachments extends AnyRef

Self Type
SymbolTable
Linear Supertypes
AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. StdAttachments
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. trait Attachable extends AnyRef

    Common code between reflect-internal Symbol and Tree related to Attachments.

  2. case class CompoundTypeTreeOriginalAttachment(parents: List[SymbolTable.Tree], stats: List[SymbolTable.Tree]) extends Product with Serializable

    Stores the trees that give rise to a refined type to be used in reification.

    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).

  3. trait ImportableAttachment extends AnyRef

    Attachment that knows how to import itself into another universe.

  4. abstract class InlineAnnotatedAttachment extends AnyRef
  5. trait PlainAttachment extends SymbolTable.ImportableAttachment

    Attachment that doesn't contain any reflection artifacts and can be imported as-is.

  6. class QualTypeSymAttachment extends AnyRef
  7. case class SAMFunction(samTp: SymbolTable.Type, sam: SymbolTable.Symbol, synthCls: SymbolTable.Symbol) extends SymbolTable.PlainAttachment with Product with Serializable

    Attached to a Function node during type checking when the expected type is a SAM type (and not a built-in FunctionN).

    Attached to a Function node during type checking when the expected type is a SAM type (and not a built-in FunctionN).

    Ideally, we'd move to Dotty's Closure AST, which tracks the environment, the lifted method that has the implementation, and the target type. For backwards compatibility, an attachment is the best we can do right now.

    samTp

    the expected type that triggered sam conversion (may be a subtype of the type corresponding to sam's owner)

    sam

    the single abstract method implemented by the Function we're attaching this to

    synthCls

    the (synthetic) class representing the eventual implementation class (spun at runtime by LMF on the JVM)

    Since

    2.12.0-M4

  8. case class SubpatternsAttachment(patterns: List[SymbolTable.Tree]) extends Product with Serializable

    Untyped list of subpatterns attached to selector dummy.

  9. case class TypeParamVarargsAttachment(typeParamRef: SymbolTable.Type) extends Product with Serializable

    An attachment carrying information between uncurry and erasure

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  10. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  11. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  12. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  14. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  15. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  16. def toString(): String
    Definition Classes
    AnyRef → Any
  17. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  18. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  19. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  20. object BackquotedIdentifierAttachment extends SymbolTable.PlainAttachment with Product with Serializable

    When present, indicates that the host Ident has been created from a backquoted identifier.

  21. object DelambdafyTarget extends SymbolTable.PlainAttachment with Product with Serializable
  22. object ForAttachment extends SymbolTable.PlainAttachment with Product with Serializable

    Identifies trees are either result or intermediate value of for loop desugaring.

  23. object InlineCallsiteAttachment extends SymbolTable.InlineAnnotatedAttachment with Product with Serializable
  24. object KnownDirectSubclassesCalled extends SymbolTable.PlainAttachment with Product with Serializable

    Attached to a class symbol to indicate that its children have been observed via knownDirectSubclasses.

    Attached to a class symbol to indicate that its children have been observed via knownDirectSubclasses. Children added subsequently will trigger an error to indicate that the earlier observation was incomplete.

  25. object NoInlineCallsiteAttachment extends SymbolTable.InlineAnnotatedAttachment with Product with Serializable
  26. object NoWarnAttachment extends SymbolTable.PlainAttachment with Product with Serializable

    A pattern binding exempt from unused warning.

    A pattern binding exempt from unused warning.

    Its host Ident has been created from a pattern2 binding, case x @ p. In the absence of named parameters in patterns, allows nuanced warnings for unused variables. Hence, case X(x = _) => would not warn; for now, case X(x @ _) => is documentary if x is unused.

  27. object OuterArgCanBeElided extends SymbolTable.PlainAttachment with Product with Serializable

    Attached to a local class that has its outer field elided.

    Attached to a local class that has its outer field elided. A null constant may be passed in place of the outer parameter, can help callers to avoid capturing the outer instance.

  28. object PatVarDefAttachment extends SymbolTable.PlainAttachment with Product with Serializable

    Indicates that a ValDef was synthesized from a pattern definition, val P(x).

  29. object SyntheticUnitAttachment extends SymbolTable.PlainAttachment with Product with Serializable

    Identifies unit constants which were inserted by the compiler (e.g.

    Identifies unit constants which were inserted by the compiler (e.g. gen.mkBlock)

  30. object UseInvokeSpecial extends SymbolTable.PlainAttachment with Product with Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped