t

scala.tools.nsc.transform.patmat

TreeAndTypeAnalysis

trait TreeAndTypeAnalysis extends Debugging

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. TreeAndTypeAnalysis
  2. Debugging
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. trait CheckableTreeAndTypeAnalysis extends AnyRef

Abstract Value Members

  1. abstract val global: Global
    Definition Classes
    Debugging

Concrete Value Members

  1. object debug
    Definition Classes
    Debugging
  2. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  3. final def ##(): Int
    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def binderTypeImpliedByPattern(pat: Global.Tree, pt: Global.Type, binder: Global.Symbol): Global.Type

    Compute the type T implied for a value v matched by a pattern pat (with expected type pt).

    Compute the type T implied for a value v matched by a pattern pat (with expected type pt).

    Usually, this is the pattern's type because pattern matching implies instance-of checks.

    However, Stable Identifier and Literal patterns are matched using ==, which does not imply a type for the binder that binds the matched value.

    See scala/bug#1503, scala/bug#5024: don't cast binders to types we're not sure they have

    TODO: update spec as follows (deviation between **):

    A pattern binder x@p consists of a pattern variable x and a pattern p. The type of the variable x is the static type T **IMPLIED BY** the pattern p. This pattern matches any value v matched by the pattern p **Deleted: , provided the run-time type of v is also an instance of T, ** and it binds the variable name to that value.

    Addition: A pattern p _implies_ a type T if the pattern matches only values of the type T.

  7. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  8. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  9. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  10. def equivalentTree(a: Global.Tree, b: Global.Tree): Boolean
  11. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  12. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  13. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  14. def instanceOfTpImplies(tp: Global.Type, tpImplied: Global.Type): Boolean
  15. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  16. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  17. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  18. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  19. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  20. def toString(): String
    Definition Classes
    AnyRef → Any
  21. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  22. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  23. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )

Inherited from Debugging

Inherited from AnyRef

Inherited from Any

Ungrouped