treehugger

Types

Related Doc: package treehugger

trait Types extends treehugger.api.Types

Self Type
Forest
Linear Supertypes
api.Types, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Types
  2. Types
  3. AnyRef
  4. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. trait AbsCompoundType extends Universe.AbsType

    This class declares methods that are visible in a CompoundType (i.e.

    This class declares methods that are visible in a CompoundType (i.e. a class/trait/object template or refined type of the form

    P_1 with ... with P_m { D_1; ...; D_n }

    P_n

    Definition Classes
    Types
  2. trait AbsSingletonType extends Universe.AbsType

    This class declares methods that are visible in a SingleType.

    This class declares methods that are visible in a SingleType.

    Definition Classes
    Types
  3. abstract class AbsType extends AnyRef

    This class declares operations that are visible in a Type.

    This class declares operations that are visible in a Type.

    Definition Classes
    Types
  4. abstract class AbsTypeImpl extends Forest.AbsType

  5. case class AnnotatedType(annotations: List[Forest.AnnotationInfo], underlying: Forest.Type, selfsym: Forest.Symbol) extends Forest.Type with Product with Serializable

    A type carrying some annotations.

    A type carrying some annotations. Created by the typechecker when eliminating Annotated trees (see typedAnnotated).

    annotations

    the list of annotations on the type

    underlying

    the type without the annotation

    selfsym

    a "self" symbol with type underlying; only available if -Yself-in-annots is turned on. Can be NoSymbol if it is not used.

  6. abstract class AnnotatedTypeExtractor extends AnyRef

    Definition Classes
    Types
  7. case class ClassInfoType(parents: List[Forest.Type], decls: List[Forest.Tree], typeSymbol: Forest.Symbol) extends Forest.CompoundType with Product with Serializable

    A class representing a class info

  8. abstract class ClassInfoTypeExtractor extends AnyRef

    An extractor class to create and pattern match with syntax ClassInfo(parents, decls, clazz) Here, parents is the list of parent types of the class, decls is the scope containing all declarations in the class, and clazz is the symbol of the class itself.

    An extractor class to create and pattern match with syntax ClassInfo(parents, decls, clazz) Here, parents is the list of parent types of the class, decls is the scope containing all declarations in the class, and clazz is the symbol of the class itself.

    Definition Classes
    Types
  9. abstract class CompoundType extends Forest.Type

    A common base class for intersection types and class types

  10. abstract case class ConstantType(value: Forest.Constant) extends Forest.SingletonType with Product with Serializable

    A class representing a constant type.

    A class representing a constant type.

    value

    ...

  11. abstract class ConstantTypeExtractor extends AnyRef

    An extractor class to create and pattern match with syntax ConstantType(constant) Here, constant is the constant value represented by the type.

    An extractor class to create and pattern match with syntax ConstantType(constant) Here, constant is the constant value represented by the type.

    Definition Classes
    Types
  12. case class ExistentialType(quantified: List[Forest.Tree], underlying: Forest.Type) extends Forest.Type with Product with Serializable

  13. abstract class ExistentialTypeExtractor extends AnyRef

    Definition Classes
    Types
  14. class JavaMethodType extends Forest.MethodType

  15. case class MethodType(params: List[Forest.Symbol], resultType: Forest.Type) extends Forest.Type with Product with Serializable

    A class representing a method type with parameters.

    A class representing a method type with parameters. Note that a parameterless method is represented by a NullaryMethodType:

    def m(): Int MethodType(Nil, Int) def m: Int NullaryMethodType(Int)

  16. abstract class MethodTypeExtractor extends AnyRef

    An extractor class to create and pattern match with syntax MethodType(params, respte) Here, params is a potentially empty list of parameter symbols of the method, and restpe is the result type of the method.

    An extractor class to create and pattern match with syntax MethodType(params, respte) Here, params is a potentially empty list of parameter symbols of the method, and restpe is the result type of the method. If the method is curried, restpe would be another MethodType. Note: MethodType(Nil, Int) would be the type of a method defined with an empty parameter list.

    def f(): Int

    If the method is completely parameterless, as in

    def f: Int

    its type is a NullaryMethodType.

    Definition Classes
    Types
  17. case class NamedType(name: Forest.Name, tp: Forest.Type) extends Forest.Type with Product with Serializable

    A class representing types with a name.

    A class representing types with a name. When an application uses named arguments, the named argument types for calling isApplicable are represented as NamedType.

  18. case class NotNullType(underlying: Forest.Type) extends Forest.SubType with Product with Serializable

  19. case class NullaryMethodType(resultType: Forest.Type) extends Forest.Type with Forest.SimpleTypeProxy with Product with Serializable

  20. abstract class NullaryMethodTypeExtractor extends AnyRef

    Definition Classes
    Types
  21. case class OverloadedType(pre: Forest.Type, alternatives: List[Forest.Symbol]) extends Forest.Type with Product with Serializable

    A class containing the alternatives and type prefix of an overloaded symbol.

    A class containing the alternatives and type prefix of an overloaded symbol. Not used after phase typer.

  22. class PackageClassInfoType extends Forest.ClassInfoType

  23. case class PathType(tree: Forest.Tree) extends Forest.Type with Product with Serializable

    A class representing a path dependent type

  24. final class PathType0 extends Forest.PathType

  25. case class PolyType(typeParams: List[Forest.Symbol], resultType: Forest.Type) extends Forest.Type with Product with Serializable

    A type function or the type of a polymorphic value (and thus of kind *).

    A type function or the type of a polymorphic value (and thus of kind *).

    Before the introduction of NullaryMethodType, a polymorphic nullary method (e.g, def isInstanceOf[T]: Boolean) used to be typed as PolyType(tps, restpe), and a monomorphic one as PolyType(Nil, restpe) This is now: PolyType(tps, NullaryMethodType(restpe)) and NullaryMethodType(restpe) by symmetry to MethodTypes: PolyType(tps, MethodType(params, restpe)) and MethodType(params, restpe)

    Thus, a PolyType(tps, TypeRef(...)) unambiguously indicates a type function (which results from eta-expanding a type constructor alias). Similarly, PolyType(tps, ClassInfoType(...)) is a type constructor.

    A polytype is of kind * iff its resultType is a (nullary) method type.

  26. abstract class PolyTypeExtractor extends AnyRef

    Definition Classes
    Types
  27. case class RefinedType(parents: List[Forest.Type], decls: List[Forest.Tree]) extends Forest.CompoundType with Product with Serializable

    A class representing intersection types with refinements of the form <parents_0> with ... with <parents_n> { decls } Cannot be created directly; one should always use refinedType for creation.

  28. final class RefinedType0 extends Forest.RefinedType

  29. abstract class RefinedTypeExtractor extends AnyRef

    An extractor class to create and pattern match with syntax RefinedType(parents, decls) Here, parents is the list of parent types of the class, and decls is the scope containing all declarations in the class.

    An extractor class to create and pattern match with syntax RefinedType(parents, decls) Here, parents is the list of parent types of the class, and decls is the scope containing all declarations in the class.

    Definition Classes
    Types
  30. trait SimpleTypeProxy extends Forest.Type

    A proxy for a type (identified by field underlying) that forwards most operations to it (for exceptions, see WrappingProxy, which forwards even more operations).

    A proxy for a type (identified by field underlying) that forwards most operations to it (for exceptions, see WrappingProxy, which forwards even more operations). every operation that is overridden for some kind of types should be forwarded.

  31. abstract case class SingleType(pre: Forest.Type, sym: Forest.Symbol) extends Forest.SingletonType with Product with Serializable

    A class for singleton types of the form <prefix>.<sym.name>.type.

    A class for singleton types of the form <prefix>.<sym.name>.type. Cannot be created directly; one should always use singleType for creation.

  32. abstract class SingleTypeExtractor extends AnyRef

    An extractor class to create and pattern match with syntax SingleType(pre, sym) Here, pre is the prefix of the single-type, and sym is the stable value symbol referred to by the single-type.

    An extractor class to create and pattern match with syntax SingleType(pre, sym) Here, pre is the prefix of the single-type, and sym is the stable value symbol referred to by the single-type.

    Definition Classes
    Types
  33. abstract class SingletonType extends Forest.SubType with Forest.SimpleTypeProxy with Forest.AbsSingletonType

  34. abstract class SubType extends Forest.Type

    A base class for types that defer some operations to their immediate supertype.

  35. abstract case class SuperType(thistpe: Forest.Type, supertpe: Forest.Type) extends Forest.SingletonType with Product with Serializable

  36. abstract class SuperTypeExtractor extends AnyRef

    An extractor class to create and pattern match with syntax SingleType(thistpe, supertpe)

    An extractor class to create and pattern match with syntax SingleType(thistpe, supertpe)

    Definition Classes
    Types
  37. abstract case class ThisType(sym: Forest.Symbol) extends Forest.SingletonType with Product with Serializable

    A class for this-types of the form <sym>.this.type

  38. abstract class ThisTypeExtractor extends AnyRef

    An extractor class to create and pattern match with syntax ThisType(sym) where sym is the class prefix of the this type.

    An extractor class to create and pattern match with syntax ThisType(sym) where sym is the class prefix of the this type.

    Definition Classes
    Types
  39. abstract class Type extends Forest.AbsTypeImpl

    The base class for all types

  40. abstract case class TypeBounds(lo: Forest.Type, hi: Forest.Type, view: Forest.Type, context: Forest.Type) extends Forest.SubType with Product with Serializable

    A class for the bounds of abstract types and type parameters

  41. abstract class TypeBoundsExtractor extends AnyRef

    An extractor class to create and pattern match with syntax TypeBound(lower, upper) Here, lower is the lower bound of the TypeBounds pair, and upper is the upper bound.

    An extractor class to create and pattern match with syntax TypeBound(lower, upper) Here, lower is the lower bound of the TypeBounds pair, and upper is the upper bound.

    Definition Classes
    Types
  42. class TypeConstraint extends AnyRef

    A class expressing upper and lower bounds constraints of type variables, as well as their instantiations.

  43. abstract case class TypeRef(pre: Forest.Type, sym: Forest.Symbol, args: List[Forest.Type]) extends Forest.Type with Product with Serializable

    A class for named types of the form <prefix>.<sym.name>[args] Cannot be created directly; one should always use typeRef for creation.

    A class for named types of the form <prefix>.<sym.name>[args] Cannot be created directly; one should always use typeRef for creation.

    pre

    ...

    sym

    ...

    args

    ...

  44. abstract class TypeRefExtractor extends AnyRef

    An extractor class to create and pattern match with syntax TypeRef(pre, sym, args) Here, pre is the prefix of the type reference, sym is the symbol referred to by the type reference, and args is a possible empty list of type argumenrts.

    An extractor class to create and pattern match with syntax TypeRef(pre, sym, args) Here, pre is the prefix of the type reference, sym is the symbol referred to by the type reference, and args is a possible empty list of type argumenrts.

    Definition Classes
    Types
  45. class TypeVar extends Forest.Type

    A class representing a type variable: not used after phase typer.

    A class representing a type variable: not used after phase typer.

    A higher-kinded TypeVar has params (Symbols) and typeArgs (Types). A TypeVar with nonEmpty typeArgs can only be instantiated by a higher-kinded type that can be applied to those args. A TypeVar is much like a TypeRef, except it has special logic for equality and subtyping.

  46. final class UniqueConstantType extends Forest.ConstantType with Forest.UniqueType

  47. final class UniqueSingleType extends Forest.SingleType with Forest.UniqueType

  48. final class UniqueSuperType extends Forest.SuperType with Forest.UniqueType

  49. final class UniqueThisType extends Forest.ThisType with Forest.UniqueType

  50. trait UniqueType extends Product

  51. final class UniqueTypeBounds extends Forest.TypeBounds with Forest.UniqueType

  52. final class UniqueTypeRef extends Forest.TypeRef with Forest.UniqueType

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. object AnnotatedType extends Forest.AnnotatedTypeExtractor with Serializable

    Definition Classes
    Types → Types
  5. object ClassInfoType extends Forest.ClassInfoTypeExtractor with Serializable

    The constructor/deconstructor for ClassInfoType instances.

    The constructor/deconstructor for ClassInfoType instances.

    Definition Classes
    Types → Types
  6. object ConstantType extends Forest.ConstantTypeExtractor with Serializable

    The constructor/deconstructor for ConstantType instances.

    The constructor/deconstructor for ConstantType instances.

    Definition Classes
    Types → Types
  7. object ErrorType extends Forest.Type with Product with Serializable

    An object representing an erroneous type

  8. object ExistentialType extends Forest.ExistentialTypeExtractor with Serializable

    Definition Classes
    Types → Types
  9. object MethodType extends Forest.MethodTypeExtractor with Serializable

    The constructor/deconstructor for MethodType instances.

    The constructor/deconstructor for MethodType instances.

    Definition Classes
    Types → Types
  10. object NoPrefix extends Forest.Type with Product with Serializable

    An object representing a non-existing prefix

    An object representing a non-existing prefix

    Definition Classes
    Types → Types
  11. object NoType extends Forest.Type with Product with Serializable

    An object representing a non-existing type

    An object representing a non-existing type

    Definition Classes
    Types → Types
  12. object NullaryMethodType extends Forest.NullaryMethodTypeExtractor with Serializable

    Definition Classes
    Types → Types
  13. object PathType extends Serializable

  14. object PolyType extends Forest.PolyTypeExtractor with Serializable

    Definition Classes
    Types → Types
  15. object RefinedType extends Forest.RefinedTypeExtractor with Serializable

    The constructor/deconstructor for RefinedType instances.

    The constructor/deconstructor for RefinedType instances.

    Definition Classes
    Types → Types
  16. object SingleType extends Forest.SingleTypeExtractor with Serializable

    The constructor/deconstructor for SingleType instances.

    The constructor/deconstructor for SingleType instances.

    Definition Classes
    Types → Types
  17. object SuperType extends Forest.SuperTypeExtractor with Serializable

    The constructor/deconstructor for SuperType instances.

    The constructor/deconstructor for SuperType instances.

    Definition Classes
    Types → Types
  18. object ThisType extends Forest.ThisTypeExtractor with Serializable

    The constructor/deconstructor for ThisType instances.

    The constructor/deconstructor for ThisType instances.

    Definition Classes
    Types → Types
  19. object TypeBounds extends Forest.TypeBoundsExtractor with Serializable

    The constructor/deconstructor for TypeBounds instances.

    The constructor/deconstructor for TypeBounds instances.

    Definition Classes
    Types → Types
  20. object TypeRef extends Forest.TypeRefExtractor with Serializable

    The constructor/deconstructor for TypeRef instances.

    The constructor/deconstructor for TypeRef instances.

    Definition Classes
    Types → Types
  21. object TypeVar

  22. object WildcardType extends Forest.Type with Product with Serializable

    An object representing an unknown type, used during type inference.

    An object representing an unknown type, used during type inference. If you see WildcardType outside of inference it is almost certainly a bug.

  23. def annotatedType(annots: List[Forest.AnnotationInfo], underlying: Forest.Type, selfsym: Forest.Symbol = NoSymbol): Forest.Type

    Creator for AnnotatedTypes.

    Creator for AnnotatedTypes. It returns the underlying type if annotations.isEmpty rather than walking into the assertion.

  24. def appliedType(tycon: Forest.Type, args: List[Forest.Type]): Forest.Type

    A creator for type applications

  25. def appliedType(tycon: Forest.Type, args: Forest.Type*): Forest.Type

  26. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  27. val builtinFullNames: Set[String]

  28. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  29. final def compareLengths(xs1: List[_], xs2: List[_]): Int

    Annotations
    @tailrec()
  30. def copyTypeRef(tp: Forest.Type, pre: Forest.Type, sym: Forest.Symbol, args: List[Forest.Type]): Forest.Type

  31. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  32. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  33. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  34. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  35. final def hasLength(xs: List[_], len: Int): Boolean

    Again avoiding calling length, but the lengthCompare interface is clunky.

  36. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  37. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  38. final val maxTostringRecursions: Int(50)

    The maximum number of recursions allowed in toString

  39. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  40. final def notify(): Unit

    Definition Classes
    AnyRef
  41. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  42. def refinedType(parents: List[Forest.Type], owner: Forest.Symbol, decls: List[Forest.Tree], customToString: String): Forest.Type

    the canonical creator for a refined type with a given scope

  43. final def sameLength(xs1: List[_], xs2: List[_]): Boolean

    True if two lists have the same length.

    True if two lists have the same length. Since calling length on linear sequences is O(n), it is an inadvisable way to test length equality.

  44. def singleType(pre: Forest.Type, sym: Forest.Symbol): Forest.Type

    The canonical creator for single-types

  45. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  46. def toString(): String

    Definition Classes
    AnyRef → Any
  47. def typeRef(pre: Forest.Type, sym: Forest.Symbol, args: Forest.Type*): Forest.Type

  48. def typeRef(pre: Forest.Type, sym: Forest.Symbol, args: List[Forest.Type]): Forest.Type

  49. def typeRef(sym: Forest.Symbol): Forest.Type

  50. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  51. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  52. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from api.Types

Inherited from AnyRef

Inherited from Any

Ungrouped