Class

scala.reflect.runtime

JavaUniverse

Related Doc: package runtime

Permalink

class JavaUniverse extends internal.SymbolTable with JavaUniverseForce with ReflectSetup with SymbolTable

An implementation of scala.reflect.api.Universe for runtime reflection using JVM classloaders.

Should not be instantiated directly, use scala.reflect.runtime.universe instead.

Self Type
JavaUniverse
Source
JavaUniverse.scala
Linear Supertypes
SymbolTable, runtime.ThreadLocalStorage, Gil, SynchronizedOps, SynchronizedTypes, SynchronizedSymbols, SymbolLoaders, JavaMirrors, TwoWayCaches, api.JavaUniverse, ReflectSetup, JavaUniverseForce, internal.SymbolTable, Reporting, Internals, FreshNames, Translations, PrivateWithin, ReificationSupport, StdCreators, StdAttachments, CapturedVariables, Required, Importers, TypeDebugging, Positions, Printers, Trees, AnnotationCheckers, AnnotationInfos, StdNames, Transforms, InfoTransformers, BaseTypeSeqs, Constants, Definitions, Mirrors, Scopes, FlagSets, ExistentialsAndSkolems, Kinds, Variances, Types, internal.tpe.FindMembers, TypeConstraints, TypeMaps, GlbLubs, CommonOwners, TypeToStrings, TypeComparers, Symbols, Names, Collections, Universe, Universe, Internals, Quasiquotes, Liftables, Printers, Mirrors, StandardLiftables, StandardNames, StandardDefinitions, ImplicitTags, TypeTags, Exprs, Positions, Annotations, Constants, Trees, Names, Scopes, FlagSets, Types, Symbols, AnyRef, Any
Type Hierarchy
Content Hierarchy
Ordering
  1. Grouped
  2. Alphabetic
  3. By Inheritance
Inherited
  1. JavaUniverse
  2. SymbolTable
  3. ThreadLocalStorage
  4. Gil
  5. SynchronizedOps
  6. SynchronizedTypes
  7. SynchronizedSymbols
  8. SymbolLoaders
  9. JavaMirrors
  10. TwoWayCaches
  11. JavaUniverse
  12. ReflectSetup
  13. JavaUniverseForce
  14. SymbolTable
  15. Reporting
  16. Internals
  17. FreshNames
  18. Translations
  19. PrivateWithin
  20. ReificationSupport
  21. StdCreators
  22. StdAttachments
  23. CapturedVariables
  24. Required
  25. Importers
  26. TypeDebugging
  27. Positions
  28. Printers
  29. Trees
  30. AnnotationCheckers
  31. AnnotationInfos
  32. StdNames
  33. Transforms
  34. InfoTransformers
  35. BaseTypeSeqs
  36. Constants
  37. Definitions
  38. Mirrors
  39. Scopes
  40. FlagSets
  41. ExistentialsAndSkolems
  42. Kinds
  43. Variances
  44. Types
  45. FindMembers
  46. TypeConstraints
  47. TypeMaps
  48. GlbLubs
  49. CommonOwners
  50. TypeToStrings
  51. TypeComparers
  52. Symbols
  53. Names
  54. Collections
  55. Universe
  56. Universe
  57. Internals
  58. Quasiquotes
  59. Liftables
  60. Printers
  61. Mirrors
  62. StandardLiftables
  63. StandardNames
  64. StandardDefinitions
  65. ImplicitTags
  66. TypeTags
  67. Exprs
  68. Positions
  69. Annotations
  70. Constants
  71. Trees
  72. Names
  73. Scopes
  74. FlagSets
  75. Types
  76. Symbols
  77. AnyRef
  78. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new JavaUniverse()

    Permalink

Type Members

  1. trait AbstractTypeRef extends internal.SymbolTable.TypeRef with internal.SymbolTable.NonClassTypeRef

    Permalink
    Definition Classes
    Types
  2. class AbstractTypeSymbol extends internal.SymbolTable.TypeSymbol

    Permalink

    Let's say you have a type definition

    Let's say you have a type definition

    type T <: Number

    and tsym is the symbol corresponding to T. Then

    tsym is an instance of AbstractTypeSymbol
    tsym.info == TypeBounds(Nothing, Number)
    tsym.tpe  == TypeRef(NoPrefix, T, List())
    Definition Classes
    Symbols
  3. trait AliasTypeRef extends internal.SymbolTable.TypeRef with internal.SymbolTable.NonClassTypeRef

    Permalink
    Definition Classes
    Types
  4. class AliasTypeSymbol extends internal.SymbolTable.TypeSymbol

    Permalink
    Definition Classes
    Symbols
  5. case class Alternative extends internal.SymbolTable.Tree with internal.SymbolTable.TermTree with internal.SymbolTable.AlternativeApi with Product with Serializable

    Permalink
    Definition Classes
    Trees
  6. trait AlternativeApi extends Universe.TermTreeApi

    Permalink

    The API that all alternatives support

    The API that all alternatives support

    Definition Classes
    Trees
  7. abstract class AlternativeExtractor extends AnyRef

    Permalink

    An extractor class to create and pattern match with syntax Alternative(trees).

    An extractor class to create and pattern match with syntax Alternative(trees). This AST node corresponds to the following Scala code:

    pat1 | ... | patn

    Definition Classes
    Trees
  8. trait Annotatable[Self] extends AnyRef

    Permalink
    Definition Classes
    AnnotationInfos
  9. case class Annotated extends internal.SymbolTable.Tree with internal.SymbolTable.AnnotatedApi with Product with Serializable

    Permalink
    Definition Classes
    Trees
  10. trait AnnotatedApi extends Universe.TreeApi

    Permalink

    The API that all annotateds support

    The API that all annotateds support

    Definition Classes
    Trees
  11. abstract class AnnotatedExtractor extends AnyRef

    Permalink

    An extractor class to create and pattern match with syntax Annotated(annot, arg).

    An extractor class to create and pattern match with syntax Annotated(annot, arg). This AST node corresponds to the following Scala code:

    arg @annot // for types arg: @annot // for exprs

    Definition Classes
    Trees
  12. case class AnnotatedType extends internal.SymbolTable.Type with internal.SymbolTable.RewrappingTypeProxy with internal.SymbolTable.AnnotatedTypeApi with Product with Serializable

    Permalink

    A type carrying some annotations.

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

    Definition Classes
    Types
  13. trait AnnotatedTypeApi extends Universe.TypeApi

    Permalink

    The API that all annotated types support.

    The API that all annotated types support. The main source of information about types is the scala.reflect.api.Types page.

    Definition Classes
    Types
  14. abstract class AnnotatedTypeExtractor extends AnyRef

    Permalink

    An extractor class to create and pattern match with syntax AnnotatedType(annotations, underlying).

    An extractor class to create and pattern match with syntax AnnotatedType(annotations, underlying). Here, annotations are the annotations decorating the underlying type underlying. selfSym is a symbol representing the annotated type itself.

    Definition Classes
    Types
  15. trait AnnotationApi extends AnyRef

    Permalink

    The API of Annotation instances.

    The API of Annotation instances. The main source of information about annotations is the scala.reflect.api.Annotations page.

    Definition Classes
    Annotations
  16. trait AnnotationChecker extends AnyRef

    Permalink

    An additional checker for annotations on types.

    An additional checker for annotations on types. Typically these are registered by compiler plugins with the addAnnotationChecker method.

    Definition Classes
    AnnotationCheckers
  17. abstract class AnnotationExtractor extends AnyRef

    Permalink

    An extractor class to create and pattern match with syntax Annotation(tpe, scalaArgs, javaArgs).

    An extractor class to create and pattern match with syntax Annotation(tpe, scalaArgs, javaArgs). Here, tpe is the annotation type, scalaArgs the payload of Scala annotations, and javaArgs the payload of Java annotations.

    Definition Classes
    Annotations
  18. trait AnnotationFilter extends internal.SymbolTable.TypeMap

    Permalink
    Definition Classes
    TypeMaps
  19. abstract class AnnotationInfo extends internal.SymbolTable.AnnotationApi

    Permalink

    Typed information about an annotation.

    Typed information about an annotation. It can be attached to either a symbol or an annotated type.

    Annotations are written to the classfile as Java annotations if atp conforms to ClassfileAnnotation (the classfile parser adds this interface to any Java annotation class).

    Annotations are pickled (written to scala symtab attribute in the classfile) if atp inherits form StaticAnnotation.

    args stores arguments to Scala annotations, represented as typed trees. Note that these trees are not transformed by any phases following the type-checker.

    assocs stores arguments to classfile annotations as name-value pairs.

    Definition Classes
    AnnotationInfos
  20. case class AntiPolyType extends internal.SymbolTable.Type with Product with Serializable

    Permalink

    A class remembering a type instantiation for some a set of overloaded polymorphic symbols.

    A class remembering a type instantiation for some a set of overloaded polymorphic symbols. Not used after phase typer.

    Definition Classes
    Types
  21. case class AppliedTypeTree extends internal.SymbolTable.Tree with internal.SymbolTable.TypTree with internal.SymbolTable.AppliedTypeTreeApi with Product with Serializable

    Permalink
    Definition Classes
    Trees
  22. trait AppliedTypeTreeApi extends Universe.TypTreeApi

    Permalink

    The API that all applied type trees support

    The API that all applied type trees support

    Definition Classes
    Trees
  23. abstract class AppliedTypeTreeExtractor extends AnyRef

    Permalink

    An extractor class to create and pattern match with syntax AppliedTypeTree(tpt, args).

    An extractor class to create and pattern match with syntax AppliedTypeTree(tpt, args). This AST node corresponds to the following Scala code:

    tpt[args]

    Should only be used with tpt nodes which are types, i.e. which have isType returning true. Otherwise TypeApply should be used instead.

    List[Int] as in val x: List[Int] = ??? // represented as AppliedTypeTree(Ident(<List>), List(TypeTree(<Int>)))

    def foo[T] = ??? foo[Int] // represented as TypeApply(Ident(<foo>), List(TypeTree(<Int>)))

    Definition Classes
    Trees
  24. class AppliedTypeVar extends internal.SymbolTable.TypeVar

    Permalink

    Precondition: zipped params/args nonEmpty.

    Precondition: zipped params/args nonEmpty. (Size equivalence enforced structurally.)

    Definition Classes
    Types
  25. case class Apply extends internal.SymbolTable.GenericApply with internal.SymbolTable.ApplyApi with Product with Serializable

    Permalink
    Definition Classes
    Trees
  26. trait ApplyApi extends Universe.GenericApplyApi

    Permalink

    The API that all applies support

    The API that all applies support

    Definition Classes
    Trees
  27. case class ApplyDynamic extends internal.SymbolTable.SymTree with internal.SymbolTable.TermTree with Product with Serializable

    Permalink
    Definition Classes
    Trees
  28. abstract class ApplyExtractor extends AnyRef

    Permalink

    An extractor class to create and pattern match with syntax Apply(fun, args).

    An extractor class to create and pattern match with syntax Apply(fun, args). This AST node corresponds to the following Scala code:

    fun(args)

    For instance:

    fun[targs](args)

    Is expressed as:

    Apply(TypeApply(fun, targs), args)

    Definition Classes
    Trees
  29. class ApplyImplicitView extends internal.SymbolTable.Apply

    Permalink
    Definition Classes
    Trees
  30. class ApplyToImplicitArgs extends internal.SymbolTable.Apply

    Permalink
    Definition Classes
    Trees
  31. class ArgsTypeRef extends internal.SymbolTable.TypeRef

    Permalink
    Definition Classes
    Types
  32. case class ArrayAnnotArg extends internal.SymbolTable.ClassfileAnnotArg with internal.SymbolTable.ArrayArgumentApi with Product with Serializable

    Permalink

    Represents an array of classfile annotation arguments

    Represents an array of classfile annotation arguments

    Definition Classes
    AnnotationInfos
  33. case class ArrayValue extends internal.SymbolTable.Tree with internal.SymbolTable.TermTree with Product with Serializable

    Permalink

    An array of expressions.

    An array of expressions. This AST node needs to be translated in backend. It is used to pass arguments to vararg arguments. Introduced by compiler phase uncurry.

    This AST node does not have direct correspondence to Scala code, and is used to pass arguments to vararg arguments. For instance:

    printf("%s%d", foo, 42)

    Is translated to after compiler phase uncurry to:

    Apply( Ident("printf"), Literal("%s%d"), ArrayValue(<Any>, List(Ident("foo"), Literal(42))))

    Definition Classes
    Trees
  34. class AsSeenFromMap extends internal.SymbolTable.TypeMap with internal.SymbolTable.KeepOnlyTypeConstraints

    Permalink

    A map to compute the asSeenFrom method.

    A map to compute the asSeenFrom method.

    Definition Classes
    TypeMaps
  35. case class Assign extends internal.SymbolTable.Tree with internal.SymbolTable.TermTree with internal.SymbolTable.AssignApi with Product with Serializable

    Permalink
    Definition Classes
    Trees
  36. trait AssignApi extends Universe.TermTreeApi

    Permalink

    The API that all assigns support

    The API that all assigns support

    Definition Classes
    Trees
  37. abstract class AssignExtractor extends AnyRef

    Permalink

    An extractor class to create and pattern match with syntax Assign(lhs, rhs).

    An extractor class to create and pattern match with syntax Assign(lhs, rhs). This AST node corresponds to the following Scala code:

    lhs = rhs

    Definition Classes
    Trees
  38. case class AssignOrNamedArg extends internal.SymbolTable.Tree with internal.SymbolTable.TermTree with internal.SymbolTable.AssignOrNamedArgApi with Product with Serializable

    Permalink
    Definition Classes
    Trees
  39. trait AssignOrNamedArgApi extends Universe.TermTreeApi

    Permalink

    The API that all assigns support

    The API that all assigns support

    Definition Classes
    Trees
  40. abstract class AssignOrNamedArgExtractor extends AnyRef

    Permalink

    An extractor class to create and pattern match with syntax AssignOrNamedArg(lhs, rhs).

    An extractor class to create and pattern match with syntax AssignOrNamedArg(lhs, rhs). This AST node corresponds to the following Scala code:

    m.f(lhs = rhs)
    @annotation(lhs = rhs)
    Definition Classes
    Trees
  41. trait Attachable extends AnyRef

    Permalink

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

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

    Definition Classes
    StdAttachments
  42. class BaseTypeSeq extends AnyRef

    Permalink

    Note: constructor is protected to force everyone to use the factory method newBaseTypeSeq instead.

    Note: constructor is protected to force everyone to use the factory method newBaseTypeSeq instead. This is necessary because when run from reflection every base type sequence needs to have a SynchronizedBaseTypeSeq as mixin.

    Definition Classes
    BaseTypeSeqs
  43. case class Bind extends internal.SymbolTable.DefTree with internal.SymbolTable.BindApi with Product with Serializable

    Permalink
    Definition Classes
    Trees
  44. trait BindApi extends Universe.DefTreeApi

    Permalink

    The API that all binds support

    The API that all binds support

    Definition Classes
    Trees
  45. abstract class BindExtractor extends AnyRef

    Permalink

    An extractor class to create and pattern match with syntax Bind(name, body).

    An extractor class to create and pattern match with syntax Bind(name, body). This AST node corresponds to the following Scala code:

    pat*

    Definition Classes
    Trees
  46. case class Block extends internal.SymbolTable.Tree with internal.SymbolTable.TermTree with internal.SymbolTable.BlockApi with Product with Serializable

    Permalink
    Definition Classes
    Trees
  47. trait BlockApi extends Universe.TermTreeApi

    Permalink

    The API that all blocks support

    The API that all blocks support

    Definition Classes
    Trees
  48. abstract class BlockExtractor extends AnyRef

    Permalink

    An extractor class to create and pattern match with syntax Block(stats, expr).

    An extractor class to create and pattern match with syntax Block(stats, expr). This AST node corresponds to the following Scala code:

    { stats; expr }

    If the block is empty, the expr is set to Literal(Constant(())).

    Definition Classes
    Trees
  49. case class BooleanFlag(value: Option[Boolean]) extends Product with Serializable

    Permalink

    Definition Classes
    Printers
  50. case class BoundedWildcardType extends internal.SymbolTable.Type with internal.SymbolTable.BoundedWildcardTypeApi with Product with Serializable

    Permalink

    BoundedWildcardTypes, used only during type inference, are created in two places that I can find:

    BoundedWildcardTypes, used only during type inference, are created in two places that I can find:

    1. If the expected type of an expression is an existential type, its hidden symbols are replaced with bounded wildcards. 2. When an implicit conversion is being sought based in part on the name of a method in the converted type, a HasMethodMatching type is created: a MethodType with parameters typed as BoundedWildcardTypes.
    Definition Classes
    Types
  51. trait BoundedWildcardTypeApi extends Universe.TypeApi

    Permalink

    The API that all this types support.

    The API that all this types support. The main source of information about types is the scala.reflect.api.Types page.

    Definition Classes
    Types
  52. abstract class BoundedWildcardTypeExtractor extends AnyRef

    Permalink

    An extractor class to create and pattern match with syntax BoundedWildcardTypeExtractor(bounds) with bounds denoting the type bounds.

    An extractor class to create and pattern match with syntax BoundedWildcardTypeExtractor(bounds) with bounds denoting the type bounds.

    Definition Classes
    Types
  53. trait CannotHaveAttrs extends internal.SymbolTable.Tree

    Permalink
    Definition Classes
    Trees
  54. case class CaseDef extends internal.SymbolTable.Tree with internal.SymbolTable.CaseDefApi with Product with Serializable

    Permalink
    Definition Classes
    Trees
  55. trait CaseDefApi extends Universe.TreeApi

    Permalink

    The API that all case defs support

    The API that all case defs support

    Definition Classes
    Trees
  56. abstract class CaseDefExtractor extends AnyRef

    Permalink

    An extractor class to create and pattern match with syntax CaseDef(pat, guard, body).

    An extractor class to create and pattern match with syntax CaseDef(pat, guard, body). This AST node corresponds to the following Scala code:

    case pat if guard => body

    If the guard is not present, the guard is set to EmptyTree. If the body is not specified, the body is set to Literal(Constant(()))

    Definition Classes
    Trees
  57. class ChangeOwnerTraverser extends internal.SymbolTable.Traverser

    Permalink
    Definition Classes
    Trees
  58. case class ClassDef extends internal.SymbolTable.ImplDef with internal.SymbolTable.ClassDefApi with Product with Serializable

    Permalink
    Definition Classes
    Trees
  59. trait ClassDefApi extends Universe.ImplDefApi

    Permalink

    The API that all class defs support

    The API that all class defs support

    Definition Classes
    Trees
  60. abstract class ClassDefExtractor extends AnyRef

    Permalink

    An extractor class to create and pattern match with syntax ClassDef(mods, name, tparams, impl).

    An extractor class to create and pattern match with syntax ClassDef(mods, name, tparams, impl). This AST node corresponds to the following Scala code:

    mods class name [tparams] impl

    Where impl stands for:

    extends parents { defs }

    Definition Classes
    Trees
  61. case class ClassInfoType extends internal.SymbolTable.CompoundType with internal.SymbolTable.ClassInfoTypeApi with Product with Serializable

    Permalink

    A class representing a class info

    A class representing a class info

    Definition Classes
    Types
  62. trait ClassInfoTypeApi extends Universe.TypeApi

    Permalink

    The API that all class info types support.

    The API that all class info types support. The main source of information about types is the scala.reflect.api.Types page.

    Definition Classes
    Types
  63. abstract class ClassInfoTypeExtractor extends AnyRef

    Permalink

    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
  64. trait ClassMirror extends Universe.TemplateMirror

    Permalink

    A mirror that reflects the instance parts of a runtime class.

    A mirror that reflects the instance parts of a runtime class. See the overview page for details on how to use runtime reflection.

    Definition Classes
    Mirrors
  65. class ClassSymbol extends internal.SymbolTable.TypeSymbol with internal.SymbolTable.ClassSymbolApi

    Permalink

    A class for class symbols

    A class for class symbols

    Definition Classes
    Symbols
  66. trait ClassSymbolApi extends Universe.TypeSymbolApi

    Permalink

    The API of class symbols.

    The API of class symbols. The main source of information about symbols is the Symbols page.

    Class Symbol defines isXXX test methods such as isPublic or isFinal, params and returnType methods for method symbols, baseClasses for class symbols and so on. Some of these methods don't make sense for certain subclasses of Symbol and return NoSymbol, Nil or other empty values.

    Definition Classes
    Symbols
  67. trait ClassTypeRef extends internal.SymbolTable.TypeRef

    Permalink
    Definition Classes
    Types
  68. class ClassUnwrapper extends internal.SymbolTable.TypeUnwrapper

    Permalink
    Definition Classes
    Types
  69. sealed abstract class ClassfileAnnotArg extends Product with internal.SymbolTable.JavaArgumentApi

    Permalink

    Arguments to classfile annotations (which are written to bytecode as java annotations) are either:

    Arguments to classfile annotations (which are written to bytecode as java annotations) are either:

    • constants
    • arrays of constants
    • or nested classfile annotations
    Definition Classes
    AnnotationInfos
  70. class CodePrinter extends internal.SymbolTable.TreePrinter

    Permalink
    Definition Classes
    Printers
  71. class CollectTreeTraverser[T] extends internal.SymbolTable.Traverser

    Permalink
    Definition Classes
    Trees
  72. class CollectTypeCollector[T] extends internal.SymbolTable.TypeCollector[List[T]]

    Permalink

    A map to implement the collect method.

    A map to implement the collect method.

    Definition Classes
    TypeMaps
  73. abstract class CommonNames extends internal.SymbolTable.NamesApi

    Permalink
    Definition Classes
    StdNames
  74. class CommonOwnerMap extends internal.SymbolTable.TypeTraverserWithResult[internal.SymbolTable.Symbol]

    Permalink
    Attributes
    protected
    Definition Classes
    CommonOwners
  75. type Compat = MacroCompatApi

    Permalink

    Definition Classes
    Internals → Internals
    See also

    compat

  76. trait CompatApi extends AnyRef

    Permalink

    Definition Classes
    Internals
    See also

    compat

  77. class CompatToken extends AnyRef

    Permalink

    Presence of an implicit value of this type in scope indicates that source compatibility with Scala 2.10 has been enabled.

    Presence of an implicit value of this type in scope indicates that source compatibility with Scala 2.10 has been enabled.

    Definition Classes
    Internals
    Annotations
    @implicitNotFound( ... )
  78. class CompleteAnnotationInfo extends internal.SymbolTable.AnnotationInfo

    Permalink
    Definition Classes
    AnnotationInfos
  79. abstract class CompoundType extends internal.SymbolTable.Type with internal.SymbolTable.CompoundTypeApi

    Permalink

    A common base class for intersection types and class types

    A common base class for intersection types and class types

    Definition Classes
    Types
  80. trait CompoundTypeApi extends AnyRef

    Permalink

    Has no special methods.

    Has no special methods. Is here to provides erased identity for CompoundType.

    Definition Classes
    Types
  81. case class CompoundTypeTree extends internal.SymbolTable.Tree with internal.SymbolTable.TypTree with internal.SymbolTable.CompoundTypeTreeApi with Product with Serializable

    Permalink
    Definition Classes
    Trees
  82. trait CompoundTypeTreeApi extends Universe.TypTreeApi

    Permalink

    The API that all compound type trees support

    The API that all compound type trees support

    Definition Classes
    Trees
  83. abstract class CompoundTypeTreeExtractor extends AnyRef

    Permalink

    An extractor class to create and pattern match with syntax CompoundTypeTree(templ).

    An extractor class to create and pattern match with syntax CompoundTypeTree(templ). This AST node corresponds to the following Scala code:

    parent1 with ... with parentN { refinement }

    Definition Classes
    Trees
  84. case class CompoundTypeTreeOriginalAttachment extends Product with Serializable

    Permalink

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

    Definition Classes
    StdAttachments
  85. case class Constant extends internal.SymbolTable.ConstantApi with Product with Serializable

    Permalink
    Definition Classes
    Constants
  86. abstract class ConstantApi extends AnyRef

    Permalink

    The API of Constant instances.

    The API of Constant instances.

    Definition Classes
    Constants
  87. abstract class ConstantExtractor extends AnyRef

    Permalink

    An extractor class to create and pattern match with syntax Constant(value) where value is the Scala value of the constant.

    An extractor class to create and pattern match with syntax Constant(value) where value is the Scala value of the constant.

    Definition Classes
    Constants
  88. abstract case class ConstantType extends internal.SymbolTable.SingletonType with internal.SymbolTable.ConstantTypeApi with Product with Serializable

    Permalink

    A class representing a constant type.

    A class representing a constant type.

    Definition Classes
    Types
  89. trait ConstantTypeApi extends Universe.TypeApi

    Permalink

    The API that all constant types support.

    The API that all constant types support. The main source of information about types is the scala.reflect.api.Types page.

    Definition Classes
    Types
  90. abstract class ConstantTypeExtractor extends AnyRef

    Permalink

    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
  91. class ContainsCollector extends internal.SymbolTable.TypeCollector[Boolean]

    Permalink

    A map to implement the contains method.

    A map to implement the contains method.

    Definition Classes
    TypeMaps
  92. case class CyclicReference extends internal.SymbolTable.TypeError with Product with Serializable

    Permalink

    An exception for cyclic references of symbol definitions

    An exception for cyclic references of symbol definitions

    Definition Classes
    Symbols
  93. case class DefDef extends internal.SymbolTable.ValOrDefDef with internal.SymbolTable.DefDefApi with Product with Serializable

    Permalink
    Definition Classes
    Trees
  94. trait DefDefApi extends Universe.ValOrDefDefApi

    Permalink

    The API that all def defs support

    The API that all def defs support

    Definition Classes
    Trees
  95. abstract class DefDefExtractor extends AnyRef

    Permalink

    An extractor class to create and pattern match with syntax DefDef(mods, name, tparams, vparamss, tpt, rhs).

    An extractor class to create and pattern match with syntax DefDef(mods, name, tparams, vparamss, tpt, rhs). This AST node corresponds to the following Scala code:

    mods def name[tparams](vparams_1)...(vparams_n): tpt = rhs

    If the return type is not specified explicitly (i.e. is meant to be inferred), this is expressed by having tpt set to TypeTree() (but not to an EmptyTree!).

    Definition Classes
    Trees
  96. abstract class DefTree extends internal.SymbolTable.SymTree with internal.SymbolTable.NameTree with internal.SymbolTable.DefTreeApi

    Permalink
    Definition Classes
    Trees
  97. trait DefTreeApi extends Universe.SymTreeApi with Universe.NameTreeApi

    Permalink

    The API that all def trees support

    The API that all def trees support

    Definition Classes
    Trees
  98. class DefaultPosAssigner extends internal.SymbolTable.Traverser with internal.SymbolTable.PosAssigner

    Permalink
    Attributes
    protected
    Definition Classes
    Positions
  99. trait DefinitionsApi extends Universe.StandardTypes

    Permalink

    Defines standard symbols (and types via its base trait).

    Defines standard symbols (and types via its base trait).

    Definition Classes
    StandardDefinitions
  100. abstract class DefinitionsClass extends internal.SymbolTable.DefinitionsApi with internal.SymbolTable.ValueClassDefinitions

    Permalink
    Definition Classes
    Definitions
  101. abstract case class ErasedValueType extends internal.SymbolTable.UniqueType with Product with Serializable

    Permalink

    A temporary type representing the erasure of a user-defined value type.

    A temporary type representing the erasure of a user-defined value type. Created during phase erasure, eliminated again in posterasure.

    SI-6385 Erasure's creation of bridges considers method signatures exitingErasure, which contain ErasedValueType-s. In order to correctly consider the overriding and overridden signatures as equivalent in run/t6385.scala, it is critical that this type contains the erasure of the wrapped type, rather than the unerased type of the value class itself, as was originally done.

    Definition Classes
    Types
  102. class ErroneousAnnotation extends internal.SymbolTable.CompleteAnnotationInfo

    Permalink
    Definition Classes
    AnnotationInfos
  103. class ErrorScope extends internal.SymbolTable.Scope

    Permalink

    The error scope.

    The error scope.

    Definition Classes
    Scopes
  104. class ExistentialExtrapolation extends internal.SymbolTable.TypeMap

    Permalink

    Used by existentialAbstraction.

    Used by existentialAbstraction.

    Definition Classes
    TypeMaps
  105. case class ExistentialType extends internal.SymbolTable.Type with internal.SymbolTable.RewrappingTypeProxy with internal.SymbolTable.ExistentialTypeApi with Product with Serializable

    Permalink
    Definition Classes
    Types
  106. trait ExistentialTypeApi extends Universe.TypeApi

    Permalink

    The API that all existential types support.

    The API that all existential types support. The main source of information about types is the scala.reflect.api.Types page.

    Definition Classes
    Types
  107. abstract class ExistentialTypeExtractor extends AnyRef

    Permalink

    An extractor class to create and pattern match with syntax ExistentialType(quantified, underlying).

    An extractor class to create and pattern match with syntax ExistentialType(quantified, underlying). Here, quantified are the type variables bound by the existential type and underlying is the type that's existentially quantified.

    Definition Classes
    Types
  108. case class ExistentialTypeTree extends internal.SymbolTable.Tree with internal.SymbolTable.TypTree with internal.SymbolTable.ExistentialTypeTreeApi with Product with Serializable

    Permalink
    Definition Classes
    Trees
  109. trait ExistentialTypeTreeApi extends Universe.TypTreeApi

    Permalink

    The API that all existential type trees support

    The API that all existential type trees support

    Definition Classes
    Trees
  110. abstract class ExistentialTypeTreeExtractor extends AnyRef

    Permalink

    An extractor class to create and pattern match with syntax ExistentialTypeTree(tpt, whereClauses).

    An extractor class to create and pattern match with syntax ExistentialTypeTree(tpt, whereClauses). This AST node corresponds to the following Scala code:

    tpt forSome { whereClauses }

    Definition Classes
    Trees
  111. trait Expr[+T] extends Equals with Serializable

    Permalink

    Expr wraps an abstract syntax tree and tags it with its type.

    Expr wraps an abstract syntax tree and tags it with its type. The main source of information about exprs is the scala.reflect.api.Exprs page.

    Definition Classes
    Exprs
  112. trait FieldMirror extends AnyRef

    Permalink

    A mirror that reflects a field.

    A mirror that reflects a field. See the overview page for details on how to use runtime reflection.

    Definition Classes
    Mirrors
  113. class FilterTreeTraverser extends internal.SymbolTable.Traverser

    Permalink
    Definition Classes
    Trees
  114. class FilterTypeCollector extends internal.SymbolTable.TypeCollector[List[internal.SymbolTable.Type]]

    Permalink

    A map to implement the filter method.

    A map to implement the filter method.

    Definition Classes
    TypeMaps
  115. class FindTreeTraverser extends internal.SymbolTable.Traverser

    Permalink
    Definition Classes
    Trees
  116. class FindTypeCollector extends internal.SymbolTable.TypeCollector[Option[internal.SymbolTable.Type]]

    Permalink

    A map to implement the filter method.

    A map to implement the filter method.

    Definition Classes
    TypeMaps
  117. case class FixedMirrorTreeCreator extends TreeCreator with Product with Serializable

    Permalink
    Definition Classes
    StdCreators
  118. case class FixedMirrorTypeCreator extends TypeCreator with Product with Serializable

    Permalink
    Definition Classes
    StdCreators
  119. trait FlagAgnosticCompleter extends internal.SymbolTable.LazyType

    Permalink

    A marker trait representing an as-yet unevaluated type which doesn't assign flags to the underlying symbol.

    A marker trait representing an as-yet unevaluated type which doesn't assign flags to the underlying symbol.

    Definition Classes
    Types
  120. trait FlagAssigningCompleter extends internal.SymbolTable.LazyType

    Permalink

    A marker trait representing an as-yet unevaluated type which assigns flags to the underlying symbol.

    A marker trait representing an as-yet unevaluated type which assigns flags to the underlying symbol.

    Definition Classes
    Types
  121. trait FlagOps extends Any

    Permalink

    The API of FlagSet instances.

    The API of FlagSet instances. The main source of information about flag sets is the scala.reflect.api.FlagSets page.

    Definition Classes
    FlagSets
  122. trait FlagValues extends AnyRef

    Permalink

    All possible values that can constitute flag sets.

    All possible values that can constitute flag sets. The main source of information about flag sets is the scala.reflect.api.FlagSets page.

    Definition Classes
    FlagSets
  123. class ForEachTypeTraverser extends internal.SymbolTable.TypeTraverser

    Permalink
    Definition Classes
    TypeMaps
  124. class ForeachPartialTreeTraverser extends internal.SymbolTable.Traverser

    Permalink
    Definition Classes
    Trees
  125. class ForeachTreeTraverser extends internal.SymbolTable.Traverser

    Permalink
    Definition Classes
    Trees
  126. trait FreeSymbol extends internal.SymbolTable.Symbol

    Permalink
    Definition Classes
    Symbols
  127. class FreeTermSymbol extends internal.SymbolTable.TermSymbol with internal.SymbolTable.FreeSymbol with internal.SymbolTable.FreeTermSymbolApi

    Permalink
    Definition Classes
    Symbols
  128. trait FreeTermSymbolApi extends Universe.TermSymbolApi

    Permalink

    The API of free term symbols.

    The API of free term symbols. The main source of information about symbols is the Symbols page.

    $SYMACCESSORS

    Definition Classes
    Internals
  129. class FreeTypeSymbol extends internal.SymbolTable.TypeSkolem with internal.SymbolTable.FreeSymbol with internal.SymbolTable.FreeTypeSymbolApi

    Permalink
    Definition Classes
    Symbols
  130. trait FreeTypeSymbolApi extends Universe.TypeSymbolApi

    Permalink

    The API of free type symbols.

    The API of free type symbols. The main source of information about symbols is the Symbols page.

    $SYMACCESSORS

    Definition Classes
    Internals
  131. class FreshNameExtractor extends AnyRef

    Permalink
    Definition Classes
    FreshNames
  132. case class Function extends internal.SymbolTable.SymTree with internal.SymbolTable.TermTree with internal.SymbolTable.FunctionApi with Product with Serializable

    Permalink
    Definition Classes
    Trees
  133. trait FunctionApi extends Universe.TermTreeApi with Universe.SymTreeApi

    Permalink

    The API that all functions support

    The API that all functions support

    Definition Classes
    Trees
  134. abstract class FunctionExtractor extends AnyRef

    Permalink

    An extractor class to create and pattern match with syntax Function(vparams, body).

    An extractor class to create and pattern match with syntax Function(vparams, body). This AST node corresponds to the following Scala code:

    vparams => body

    The symbol of a Function is a synthetic TermSymbol. It is the owner of the function's parameters.

    Definition Classes
    Trees
  135. abstract class GenericApply extends internal.SymbolTable.Tree with internal.SymbolTable.TermTree with internal.SymbolTable.GenericApplyApi

    Permalink
    Definition Classes
    Trees
  136. trait GenericApplyApi extends Universe.TermTreeApi

    Permalink

    The API that all applies support

    The API that all applies support

    Definition Classes
    Trees
  137. class HKTypeVar extends internal.SymbolTable.TypeVar

    Permalink

    Precondition: params.nonEmpty.

    Precondition: params.nonEmpty. (args.nonEmpty enforced structurally.)

    Definition Classes
    Types
  138. case class Ident extends internal.SymbolTable.SymTree with internal.SymbolTable.RefTree with internal.SymbolTable.IdentApi with Product with Serializable

    Permalink
    Definition Classes
    Trees
  139. trait IdentApi extends Universe.RefTreeApi

    Permalink

    The API that all idents support

    The API that all idents support

    Definition Classes
    Trees
  140. abstract class IdentExtractor extends AnyRef

    Permalink

    An extractor class to create and pattern match with syntax Ident(qual, name).

    An extractor class to create and pattern match with syntax Ident(qual, name). This AST node corresponds to the following Scala code:

    name

    Type checker converts idents that refer to enclosing fields or methods to selects. For example, name ==> this.name

    Definition Classes
    Trees
  141. case class If extends internal.SymbolTable.Tree with internal.SymbolTable.TermTree with internal.SymbolTable.IfApi with Product with Serializable

    Permalink
    Definition Classes
    Trees
  142. trait IfApi extends Universe.TermTreeApi

    Permalink

    The API that all ifs support

    The API that all ifs support

    Definition Classes
    Trees
  143. abstract class IfExtractor extends AnyRef

    Permalink

    An extractor class to create and pattern match with syntax If(cond, thenp, elsep).

    An extractor class to create and pattern match with syntax If(cond, thenp, elsep). This AST node corresponds to the following Scala code:

    if (cond) thenp else elsep

    If the alternative is not present, the elsep is set to Literal(Constant(())).

    Definition Classes
    Trees
  144. trait ImplClassSymbol extends internal.SymbolTable.ClassSymbol

    Permalink
    Definition Classes
    Symbols
  145. abstract class ImplDef extends internal.SymbolTable.MemberDef with internal.SymbolTable.ImplDefApi

    Permalink
    Definition Classes
    Trees
  146. trait ImplDefApi extends Universe.MemberDefApi

    Permalink

    The API that all impl defs support

    The API that all impl defs support

    Definition Classes
    Trees
  147. case class Import extends internal.SymbolTable.SymTree with internal.SymbolTable.ImportApi with Product with Serializable

    Permalink
    Definition Classes
    Trees
  148. trait ImportApi extends Universe.SymTreeApi

    Permalink

    The API that all imports support

    The API that all imports support

    Definition Classes
    Trees
  149. abstract class ImportExtractor extends AnyRef

    Permalink

    An extractor class to create and pattern match with syntax Import(expr, selectors).

    An extractor class to create and pattern match with syntax Import(expr, selectors). This AST node corresponds to the following Scala code:

    import expr.{selectors}

    Selectors are a list of ImportSelectors, which conceptually are pairs of names (from, to). The last (and maybe only name) may be a nme.WILDCARD. For instance:

    import qual.{x, y => z, _}

    Would be represented as:

    Import(qual, List(("x", "x"), ("y", "z"), (WILDCARD, null)))

    The symbol of an Import is an import symbol @see Symbol.newImport. It's used primarily as a marker to check that the import has been typechecked.

    Definition Classes
    Trees
  150. case class ImportSelector extends internal.SymbolTable.ImportSelectorApi with Product with Serializable

    Permalink
    Definition Classes
    Trees
  151. trait ImportSelectorApi extends AnyRef

    Permalink

    The API that all import selectors support

    The API that all import selectors support

    Definition Classes
    Trees
  152. abstract class ImportSelectorExtractor extends AnyRef

    Permalink

    An extractor class to create and pattern match with syntax ImportSelector(name:, namePos, rename, renamePos).

    An extractor class to create and pattern match with syntax ImportSelector(name:, namePos, rename, renamePos). This is not an AST node, it is used as a part of the Import node.

    Definition Classes
    Trees
  153. case class ImportType extends internal.SymbolTable.Type with Product with Serializable

    Permalink
    Definition Classes
    Types
  154. trait ImportableAttachment extends AnyRef

    Permalink

    Attachment that knows how to import itself into another universe.

    Attachment that knows how to import itself into another universe.

    Definition Classes
    StdAttachments
  155. trait Importer extends AnyRef

    Permalink

    This trait provides support for importers, a facility to migrate reflection artifacts between universes.

    This trait provides support for importers, a facility to migrate reflection artifacts between universes. Note: this trait should typically be used only rarely.

    Reflection artifacts, such as Symbols and Types, are contained in Universes. Typically all processing happens within a single Universe (e.g. a compile-time macro Universe or a runtime reflection Universe), but sometimes there is a need to migrate artifacts from one Universe to another. For example, runtime compilation works by importing runtime reflection trees into a runtime compiler universe, compiling the importees and exporting the result back.

    Reflection artifacts are firmly grounded in their Universes, which is reflected by the fact that types of artifacts from different universes are not compatible. By using Importers, however, they be imported from one universe into another. For example, to import foo.bar.Baz from the source Universe to the target Universe, an importer will first check whether the entire owner chain exists in the target Universe. If it does, then nothing else will be done. Otherwise, the importer will recreate the entire owner chain and will import the corresponding type signatures into the target Universe.

    Since importers match Symbol tables of the source and the target Universes using plain string names, it is programmer's responsibility to make sure that imports don't distort semantics, e.g., that foo.bar.Baz in the source Universe means the same that foo.bar.Baz does in the target Universe.

    Example

    Here's how one might implement a macro that performs compile-time evaluation of its argument by using a runtime compiler to compile and evaluate a tree that belongs to a compile-time compiler:

    def staticEval[T](x: T) = macro staticEval[T]
    
    def staticEval[T](c: scala.reflect.macros.blackbox.Context)(x: c.Expr[T]) = {
      // creates a runtime reflection universe to host runtime compilation
      import scala.reflect.runtime.{universe => ru}
      val mirror = ru.runtimeMirror(c.libraryClassLoader)
      import scala.tools.reflect.ToolBox
      val toolBox = mirror.mkToolBox()
    
      // runtime reflection universe and compile-time macro universe are different
      // therefore an importer is needed to bridge them
      // currently mkImporter requires a cast to correctly assign the path-dependent types
      val importer0 = ru.internal.mkImporter(c.universe)
      val importer = importer0.asInstanceOf[ru.internal.Importer { val from: c.universe.type }]
    
      // the created importer is used to turn a compiler tree into a runtime compiler tree
      // both compilers use the same classpath, so semantics remains intact
      val imported = importer.importTree(tree)
    
      // after the tree is imported, it can be evaluated as usual
      val tree = toolBox.untypecheck(imported.duplicate)
      val valueOfX = toolBox.eval(imported).asInstanceOf[T]
      ...
    }
    Definition Classes
    Internals
  156. abstract class InfoTransformer extends AnyRef

    Permalink
    Definition Classes
    InfoTransformers
  157. trait InstanceMirror extends AnyRef

    Permalink

    A mirror that reflects a runtime value.

    A mirror that reflects a runtime value. See the overview page for details on how to use runtime reflection.

    Definition Classes
    Mirrors
  158. class InstantiateDependentMap extends internal.SymbolTable.TypeMap with internal.SymbolTable.KeepOnlyTypeConstraints

    Permalink

    Note: This map is needed even for non-dependent method types, despite what the name might imply.

    Note: This map is needed even for non-dependent method types, despite what the name might imply.

    Definition Classes
    TypeMaps
  159. type Internal = MacroInternalApi

    Permalink

    Definition Classes
    Internals → Internals
    See also

    InternalApi

  160. trait InternalApi extends AnyRef

    Permalink

    Reflection API exhibits a tension inherent to experimental things: on the one hand we want it to grow into a beautiful and robust API, but on the other hand we have to deal with immaturity of underlying mechanisms by providing not very pretty solutions to enable important use cases.

    Reflection API exhibits a tension inherent to experimental things: on the one hand we want it to grow into a beautiful and robust API, but on the other hand we have to deal with immaturity of underlying mechanisms by providing not very pretty solutions to enable important use cases.

    In Scala 2.10, which was our first stab at reflection API, we didn't have a systematic approach to dealing with this tension, sometimes exposing too much of internals (e.g. Symbol.deSkolemize) and sometimes exposing too little (e.g. there's still no facility to change owners, to do typing transformations, etc). This resulted in certain confusion with some internal APIs living among public ones, scaring the newcomers, and some internal APIs only available via casting, which requires intimate knowledge of the compiler and breaks compatibility guarantees.

    This led to creation of the internal API module for the reflection API, which provides advanced APIs necessary for macros that push boundaries of the state of the art, clearly demarcating them from the more or less straightforward rest and providing compatibility guarantees on par with the rest of the reflection API (full compatibility within minor releases, best effort towards backward compatibility within major releases, clear replacement path in case of rare incompatible changes in major releases).

    The internal module itself (the value that implements InternalApi) isn't defined here, in scala.reflect.api.Universe, but is provided on per-implementation basis. Runtime API endpoint (scala.reflect.runtime.universe) provides universe.compat: InternalApi, whereas compile-time API endpoints (instances of scala.reflect.macros.Context) provide c.compat: ContextInternalApi, which extends InternalApi with additional universe-specific and context-specific functionality.

    Definition Classes
    Internals
  161. abstract class InternalTreeCopierOps extends internal.SymbolTable.TreeCopierOps

    Permalink
    Definition Classes
    Trees
  162. trait JavaClassCompleter extends AnyRef

    Permalink
    Definition Classes
    JavaMirrors
  163. class JavaKeywords extends AnyRef

    Permalink
    Definition Classes
    StdNames
  164. class JavaMethodType extends internal.SymbolTable.MethodType

    Permalink
    Definition Classes
    Types
  165. class JavaMirror extends SymbolTable.Roots with SymbolTable.JavaMirror

    Permalink

    The API of a mirror for a reflective universe

    The API of a mirror for a reflective universe

    Definition Classes
    JavaMirrors
  166. trait KeepOnlyTypeConstraints extends internal.SymbolTable.TypeMap with internal.SymbolTable.AnnotationFilter

    Permalink
    Definition Classes
    TypeMaps
  167. abstract class Keywords extends internal.SymbolTable.CommonNames

    Permalink

    This should be the first trait in the linearization.

    This should be the first trait in the linearization.

    Definition Classes
    StdNames
  168. abstract class Kind extends AnyRef

    Permalink

    The data structure describing the kind of a given type.

    The data structure describing the kind of a given type.

    Proper types are represented using ProperTypeKind.

    Type constructors are represented using TypeConKind.

    Definition Classes
    Kinds
  169. case class KindErrors extends Product with Serializable

    Permalink
    Definition Classes
    Kinds
  170. case class LabelDef extends internal.SymbolTable.DefTree with internal.SymbolTable.TermTree with internal.SymbolTable.LabelDefApi with Product with Serializable

    Permalink
    Definition Classes
    Trees
  171. trait LabelDefApi extends Universe.DefTreeApi with Universe.TermTreeApi

    Permalink

    The API that all label defs support

    The API that all label defs support

    Definition Classes
    Trees
  172. abstract class LabelDefExtractor extends AnyRef

    Permalink

    An extractor class to create and pattern match with syntax LabelDef(name, params, rhs).

    An extractor class to create and pattern match with syntax LabelDef(name, params, rhs).

    This AST node does not have direct correspondence to Scala code. It is used for tailcalls and like. For example, while/do are desugared to label defs as follows:

    while (cond) body ==> LabelDef($L, List(), if (cond) { body; L$() } else ())
    do body while (cond) ==> LabelDef($L, List(), body; if (cond) L$() else ())
    Definition Classes
    Trees
  173. final class LazyAnnotationInfo extends internal.SymbolTable.AnnotationInfo

    Permalink

    Symbol annotations parsed in Namer (typeCompleter of definitions) have to be lazy (#1782)

    Symbol annotations parsed in Namer (typeCompleter of definitions) have to be lazy (#1782)

    Definition Classes
    AnnotationInfos
  174. class LazyPackageType extends SymbolTable.LazyType with SymbolTable.FlagAgnosticCompleter

    Permalink

    The type completer for packages.

    The type completer for packages.

    Definition Classes
    SymbolLoaders
  175. abstract class LazyPolyType extends internal.SymbolTable.LazyType

    Permalink
    Definition Classes
    Types
  176. class LazyTreeCopier extends internal.SymbolTable.InternalTreeCopierOps

    Permalink
    Definition Classes
    Trees
  177. abstract class LazyType extends internal.SymbolTable.Type

    Permalink

    A class representing an as-yet unevaluated type.

    A class representing an as-yet unevaluated type.

    Definition Classes
    Types
  178. trait Liftable[T] extends AnyRef

    Permalink

    A type class that defines a representation of T as a Tree.

    A type class that defines a representation of T as a Tree.

    Definition Classes
    Liftables
    See also

    http://docs.scala-lang.org/overviews/quasiquotes/lifting.html

  179. case class Literal extends internal.SymbolTable.Tree with internal.SymbolTable.TermTree with internal.SymbolTable.LiteralApi with Product with Serializable

    Permalink
    Definition Classes
    Trees
  180. case class LiteralAnnotArg extends internal.SymbolTable.ClassfileAnnotArg with internal.SymbolTable.LiteralArgumentApi with Product with Serializable

    Permalink

    Represents a compile-time Constant (Boolean, Byte, Short, Char, Int, Long, Float, Double, String, java.lang.Class or an instance of a Java enumeration value).

    Represents a compile-time Constant (Boolean, Byte, Short, Char, Int, Long, Float, Double, String, java.lang.Class or an instance of a Java enumeration value).

    Definition Classes
    AnnotationInfos
  181. trait LiteralApi extends Universe.TermTreeApi

    Permalink

    The API that all literals support

    The API that all literals support

    Definition Classes
    Trees
  182. abstract class LiteralExtractor extends AnyRef

    Permalink

    An extractor class to create and pattern match with syntax Literal(value).

    An extractor class to create and pattern match with syntax Literal(value). This AST node corresponds to the following Scala code:

    value

    Definition Classes
    Trees
  183. class Locator extends internal.SymbolTable.Traverser

    Permalink

    A locator for trees with given positions.

    A locator for trees with given positions. Given a position pos, locator.apply returns the smallest tree that encloses pos.

    Definition Classes
    Positions
  184. case class LookupAmbiguous extends internal.SymbolTable.NameLookup with Product with Serializable

    Permalink
    Definition Classes
    Scopes
  185. case class LookupInaccessible extends internal.SymbolTable.NameLookup with Product with Serializable

    Permalink
    Definition Classes
    Scopes
  186. case class LookupSucceeded extends internal.SymbolTable.NameLookup with Product with Serializable

    Permalink
    Definition Classes
    Scopes
  187. trait MacroCompatApi extends CompatApi

    Permalink

    Definition Classes
    Universe
    See also

    compat

  188. trait MacroInternalApi extends InternalApi

    Permalink

    <invalid inheritdoc annotation>

    <invalid inheritdoc annotation>

    Definition Classes
    Universe
  189. class MalformedType extends internal.SymbolTable.TypeError

    Permalink

    A throwable signalling a malformed type

    A throwable signalling a malformed type

    Definition Classes
    Types
  190. class MappedBaseTypeSeq extends internal.SymbolTable.BaseTypeSeq

    Permalink
    Definition Classes
    BaseTypeSeqs
  191. case class Match extends internal.SymbolTable.Tree with internal.SymbolTable.TermTree with internal.SymbolTable.MatchApi with Product with Serializable

    Permalink
    Definition Classes
    Trees
  192. trait MatchApi extends Universe.TermTreeApi

    Permalink

    The API that all matches support

    The API that all matches support

    Definition Classes
    Trees
  193. abstract class MatchExtractor extends AnyRef

    Permalink

    An extractor class to create and pattern match with syntax Match(selector, cases).

    An extractor class to create and pattern match with syntax Match(selector, cases). This AST node corresponds to the following Scala code:

    selector match { cases }

    Match is also used in pattern matching assignments like val (foo, bar) = baz.

    Definition Classes
    Trees
  194. abstract class MemberDef extends internal.SymbolTable.DefTree with internal.SymbolTable.MemberDefApi

    Permalink
    Definition Classes
    Trees
  195. trait MemberDefApi extends Universe.DefTreeApi

    Permalink

    The API that all member defs support

    The API that all member defs support

    Definition Classes
    Trees
  196. trait MemberScopeApi extends Universe.ScopeApi

    Permalink

    The API that all member scopes support

    The API that all member scopes support

    Definition Classes
    Scopes
  197. trait MethodMirror extends AnyRef

    Permalink

    A mirror that reflects a method.

    A mirror that reflects a method. See the overview page for details on how to use runtime reflection.

    Definition Classes
    Mirrors
  198. class MethodSymbol extends internal.SymbolTable.TermSymbol with internal.SymbolTable.MethodSymbolApi

    Permalink

    A class for method symbols

    A class for method symbols

    Definition Classes
    Symbols
  199. trait MethodSymbolApi extends Universe.TermSymbolApi

    Permalink

    The API of method symbols.

    The API of method symbols. The main source of information about symbols is the Symbols page.

    Class Symbol defines isXXX test methods such as isPublic or isFinal, params and returnType methods for method symbols, baseClasses for class symbols and so on. Some of these methods don't make sense for certain subclasses of Symbol and return NoSymbol, Nil or other empty values.

    Definition Classes
    Symbols
  200. case class MethodType extends internal.SymbolTable.Type with internal.SymbolTable.MethodTypeApi with Product with Serializable

    Permalink

    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)

    Definition Classes
    Types
  201. trait MethodTypeApi extends Universe.TypeApi

    Permalink

    The API that all method types support.

    The API that all method types support. The main source of information about types is the scala.reflect.api.Types page.

    Definition Classes
    Types
  202. abstract class MethodTypeExtractor extends AnyRef

    Permalink

    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
  203. type Mirror = JavaMirror

    Permalink

    In runtime reflection universes, mirrors are JavaMirrors.

    In runtime reflection universes, mirrors are JavaMirrors.

    Definition Classes
    JavaMirrors → JavaUniverse → Mirrors → Mirrors
  204. class MissingAliasControl extends Throwable with ControlThrowable

    Permalink
    Definition Classes
    Types
  205. class MissingTypeControl extends Throwable with ControlThrowable

    Permalink
    Definition Classes
    Types
  206. case class Modifiers extends internal.SymbolTable.ModifiersApi with HasFlags with Product with Serializable

    Permalink

    Definition Classes
    Trees
  207. abstract class ModifiersApi extends AnyRef

    Permalink

    The API that all Modifiers support

    The API that all Modifiers support

    Definition Classes
    Trees
  208. abstract class ModifiersExtractor extends AnyRef

    Permalink

    An extractor class to create and pattern match with syntax Modifiers(flags, privateWithin, annotations).

    An extractor class to create and pattern match with syntax Modifiers(flags, privateWithin, annotations). Modifiers encapsulate flags, visibility annotations and Scala annotations for member definitions.

    Definition Classes
    Trees
  209. class ModuleClassSymbol extends internal.SymbolTable.ClassSymbol

    Permalink

    A class for module class symbols Note: Not all module classes are of this type; when unpickled, we get plain class symbols!

    A class for module class symbols Note: Not all module classes are of this type; when unpickled, we get plain class symbols!

    Definition Classes
    Symbols
  210. case class ModuleDef extends internal.SymbolTable.ImplDef with internal.SymbolTable.ModuleDefApi with Product with Serializable

    Permalink
    Definition Classes
    Trees
  211. trait ModuleDefApi extends Universe.ImplDefApi

    Permalink

    The API that all module defs support

    The API that all module defs support

    Definition Classes
    Trees
  212. abstract class ModuleDefExtractor extends AnyRef

    Permalink

    An extractor class to create and pattern match with syntax ModuleDef(mods, name, impl).

    An extractor class to create and pattern match with syntax ModuleDef(mods, name, impl). This AST node corresponds to the following Scala code:

    mods object name impl

    Where impl stands for:

    extends parents { defs }

    Definition Classes
    Trees
  213. trait ModuleMirror extends Universe.TemplateMirror

    Permalink

    A mirror that reflects a Scala object definition or the static parts of a runtime class.

    A mirror that reflects a Scala object definition or the static parts of a runtime class. See the overview page for details on how to use runtime reflection.

    Definition Classes
    Mirrors
  214. class ModuleSymbol extends internal.SymbolTable.TermSymbol with internal.SymbolTable.ModuleSymbolApi

    Permalink

    A class for module symbols

    A class for module symbols

    Definition Classes
    Symbols
  215. trait ModuleSymbolApi extends Universe.TermSymbolApi

    Permalink

    The API of module symbols.

    The API of module symbols. The main source of information about symbols is the Symbols page.

    Class Symbol defines isXXX test methods such as isPublic or isFinal, params and returnType methods for method symbols, baseClasses for class symbols and so on. Some of these methods don't make sense for certain subclasses of Symbol and return NoSymbol, Nil or other empty values.

    Definition Classes
    Symbols
  216. class ModuleTypeRef extends internal.SymbolTable.NoArgsTypeRef with internal.SymbolTable.ClassTypeRef

    Permalink
    Definition Classes
    Types
  217. sealed abstract class Name extends internal.Names.NameApi

    Permalink

    The name class.

    The name class. TODO - resolve schizophrenia regarding whether to treat Names as Strings or Strings as Names. Give names the key functions the absence of which make people want Strings all the time.

    Definition Classes
    Names
  218. abstract class NameApi extends AnyRef

    Permalink

    The API of Name instances.

    The API of Name instances.

    Definition Classes
    Names
  219. sealed trait NameLookup extends AnyRef

    Permalink

    An ADT to represent the results of symbol name lookups.

    An ADT to represent the results of symbol name lookups.

    Definition Classes
    Scopes
  220. final class NameOps[T <: Name] extends AnyRef

    Permalink

    FIXME: This is a good example of something which is pure "value class" but cannot reap the benefits because an (unused) $outer pointer so it is not single-field.

    FIXME: This is a good example of something which is pure "value class" but cannot reap the benefits because an (unused) $outer pointer so it is not single-field.

    Definition Classes
    Names
  221. trait NameTree extends internal.SymbolTable.Tree with internal.SymbolTable.NameTreeApi

    Permalink
    Definition Classes
    Trees
  222. trait NameTreeApi extends Universe.TreeApi

    Permalink

    The API that all name trees support

    The API that all name trees support

    Definition Classes
    Trees
  223. case class NamedType extends internal.SymbolTable.Type with Product with Serializable

    Permalink

    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.

    Definition Classes
    Types
  224. trait NamesApi extends AnyRef

    Permalink

    Defines standard names, common for term and type names: These can be accessed via the nme and tpnme members.

    Defines standard names, common for term and type names: These can be accessed via the nme and tpnme members.

    Definition Classes
    StandardNames
  225. case class NestedAnnotArg extends internal.SymbolTable.ClassfileAnnotArg with internal.SymbolTable.NestedArgumentApi with Product with Serializable

    Permalink

    Represents a nested classfile annotation

    Represents a nested classfile annotation

    Definition Classes
    AnnotationInfos
  226. case class New extends internal.SymbolTable.Tree with internal.SymbolTable.TermTree with internal.SymbolTable.NewApi with Product with Serializable

    Permalink
    Definition Classes
    Trees
  227. trait NewApi extends Universe.TermTreeApi

    Permalink

    The API that all news support

    The API that all news support

    Definition Classes
    Trees
  228. abstract class NewExtractor extends AnyRef

    Permalink

    An extractor class to create and pattern match with syntax New(tpt).

    An extractor class to create and pattern match with syntax New(tpt). This AST node corresponds to the following Scala code:

    new T

    This node always occurs in the following context:

    (new tpt).<init>[targs](args)

    For example, an AST representation of:

    new Example[Int](2)(3)

    is the following code:

    Apply( Apply( TypeApply( Select(New(TypeTree(typeOf[Example])), nme.CONSTRUCTOR) TypeTree(typeOf[Int])), List(Literal(Constant(2)))), List(Literal(Constant(3))))

    Definition Classes
    Trees
  229. class NoArgsTypeRef extends internal.SymbolTable.TypeRef

    Permalink
    Definition Classes
    Types
  230. class NoCommonType extends Throwable with ControlThrowable

    Permalink
    Definition Classes
    Types
  231. class NoSymbol extends internal.SymbolTable.Symbol

    Permalink

    An object representing a missing symbol

    An object representing a missing symbol

    Definition Classes
    Symbols
  232. trait NonClassTypeRef extends internal.SymbolTable.TypeRef

    Permalink
    Definition Classes
    Types
  233. case class NullaryMethodType extends internal.SymbolTable.Type with internal.SymbolTable.NullaryMethodTypeApi with Product with Serializable

    Permalink
    Definition Classes
    Types
  234. trait NullaryMethodTypeApi extends Universe.TypeApi

    Permalink

    The API that all nullary method types support.

    The API that all nullary method types support. The main source of information about types is the scala.reflect.api.Types page.

    Definition Classes
    Types
  235. abstract class NullaryMethodTypeExtractor extends AnyRef

    Permalink

    An extractor class to create and pattern match with syntax NullaryMethodType(resultType).

    An extractor class to create and pattern match with syntax NullaryMethodType(resultType). Here, resultType is the result type of the parameterless method.

    Definition Classes
    Types
  236. case class OverloadedType extends internal.SymbolTable.Type with Product with Serializable

    Permalink

    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.

    Definition Classes
    Types
  237. class PackageClassInfoType extends internal.SymbolTable.ClassInfoType

    Permalink
    Definition Classes
    Types
  238. class PackageClassSymbol extends internal.SymbolTable.ModuleClassSymbol

    Permalink
    Definition Classes
    Symbols
  239. case class PackageDef extends internal.SymbolTable.MemberDef with internal.SymbolTable.PackageDefApi with Product with Serializable

    Permalink
    Definition Classes
    Trees
  240. trait PackageDefApi extends Universe.MemberDefApi

    Permalink

    The API that all package defs support

    The API that all package defs support

    Definition Classes
    Trees
  241. abstract class PackageDefExtractor extends AnyRef

    Permalink

    An extractor class to create and pattern match with syntax PackageDef(pid, stats).

    An extractor class to create and pattern match with syntax PackageDef(pid, stats). This AST node corresponds to the following Scala code:

    package pid { stats }

    Definition Classes
    Trees
  242. class PackageObjectClassSymbol extends internal.SymbolTable.ModuleClassSymbol

    Permalink
    Definition Classes
    Symbols
  243. class PackageScope extends SymbolTable.Scope with SymbolTable.SynchronizedScope

    Permalink
    Definition Classes
    SymbolLoaders
  244. class PackageTypeRef extends internal.SymbolTable.ModuleTypeRef

    Permalink
    Definition Classes
    Types
  245. class PerRunReporting extends PerRunReportingBase

    Permalink
  246. abstract class PerRunReportingBase extends AnyRef

    Permalink
    Definition Classes
    Reporting
  247. type Period = Int

    Permalink

    A period is an ordinal number for a phase in a run.

    A period is an ordinal number for a phase in a run. Phases in later runs have higher periods than phases in earlier runs. Later phases have higher periods than earlier phases in the same run.

    Definition Classes
    SymbolTable
  248. trait PlainAttachment extends internal.SymbolTable.ImportableAttachment

    Permalink

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

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

    Definition Classes
    StdAttachments
  249. case class PolyType extends internal.SymbolTable.Type with internal.SymbolTable.PolyTypeApi with Product with Serializable

    Permalink

    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.

    Definition Classes
    Types
  250. trait PolyTypeApi extends Universe.TypeApi

    Permalink

    The API that all polymorphic types support.

    The API that all polymorphic types support. The main source of information about types is the scala.reflect.api.Types page.

    Definition Classes
    Types
  251. abstract class PolyTypeExtractor extends AnyRef

    Permalink

    An extractor class to create and pattern match with syntax PolyType(typeParams, resultType).

    An extractor class to create and pattern match with syntax PolyType(typeParams, resultType). Here, typeParams are the type parameters of the method and resultType is the type signature following the type parameters.

    Definition Classes
    Types
  252. trait PosAssigner extends internal.SymbolTable.Traverser

    Permalink
    Definition Classes
    Positions
  253. type Position = internal.util.Position

    Permalink

    Defines a universe-specific notion of positions.

    Defines a universe-specific notion of positions. The main documentation entry about positions is located at scala.reflect.api.Position.

    Definition Classes
    Positions → Positions
  254. class ProperTypeKind extends internal.SymbolTable.Kind

    Permalink
    Definition Classes
    Kinds
  255. implicit class Quasiquote extends AnyRef

    Permalink

    Implicit class that introduces q, tq, cq, pq and fq string interpolators that are also known as quasiquotes.

    Implicit class that introduces q, tq, cq, pq and fq string interpolators that are also known as quasiquotes. With their help you can easily manipulate Scala reflection ASTs.

    Definition Classes
    Quasiquotes
    See also

    http://docs.scala-lang.org/overviews/quasiquotes/intro.html

  256. case class Range extends Product with Serializable

    Permalink
    Definition Classes
    Positions
  257. class RawTreePrinter extends internal.SymbolTable.TreePrinter

    Permalink
    Definition Classes
    Printers
  258. case class RecoverableCyclicReference extends internal.SymbolTable.TypeError with Product with Serializable

    Permalink

    An exception for cyclic references from which we can recover

    An exception for cyclic references from which we can recover

    Definition Classes
    Types
  259. trait RefTree extends internal.SymbolTable.SymTree with internal.SymbolTable.NameTree with internal.SymbolTable.RefTreeApi

    Permalink
    Definition Classes
    Trees
  260. trait RefTreeApi extends Universe.SymTreeApi with Universe.NameTreeApi

    Permalink

    The API that all ref trees support

    The API that all ref trees support

    Definition Classes
    Trees
  261. abstract class RefTreeExtractor extends AnyRef

    Permalink

    An extractor class to create and pattern match with syntax RefTree(qual, name).

    An extractor class to create and pattern match with syntax RefTree(qual, name). This AST node corresponds to either Ident, Select or SelectFromTypeTree.

    Definition Classes
    Trees
  262. case class ReferenceToBoxed extends internal.SymbolTable.Tree with internal.SymbolTable.TermTree with internal.SymbolTable.ReferenceToBoxedApi with Product with Serializable

    Permalink
    Definition Classes
    Trees
  263. trait ReferenceToBoxedApi extends Universe.TermTreeApi

    Permalink

    The API that all references support

    The API that all references support

    Definition Classes
    Internals
  264. abstract class ReferenceToBoxedExtractor extends AnyRef

    Permalink

    An extractor class to create and pattern match with syntax ReferenceToBoxed(ident).

    An extractor class to create and pattern match with syntax ReferenceToBoxed(ident). This AST node does not have direct correspondence to Scala code, and is emitted by macros to reference capture vars directly without going through elem.

    For example:

    var x = ... fun { x }

    Will emit:

    Ident(x)

    Which gets transformed to:

    Select(Ident(x), "elem")

    If ReferenceToBoxed were used instead of Ident, no transformation would be performed.

    Definition Classes
    Internals
  265. case class RefinedType extends internal.SymbolTable.CompoundType with internal.SymbolTable.RefinedTypeApi with Product with Serializable

    Permalink

    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.

    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.

    Definition Classes
    Types
  266. final class RefinedType0 extends internal.SymbolTable.RefinedType

    Permalink
    Definition Classes
    Types
  267. trait RefinedTypeApi extends Universe.TypeApi

    Permalink

    The API that all refined types support.

    The API that all refined types support. The main source of information about types is the scala.reflect.api.Types page.

    Definition Classes
    Types
  268. abstract class RefinedTypeExtractor extends AnyRef

    Permalink

    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
  269. class RefinementClassSymbol extends internal.SymbolTable.ClassSymbol

    Permalink
    Definition Classes
    Symbols
  270. class RefinementTypeRef extends internal.SymbolTable.NoArgsTypeRef with internal.SymbolTable.ClassTypeRef

    Permalink
    Definition Classes
    Types
  271. trait ReflectiveMirror extends api.Mirror[Mirrors.this.type]

    Permalink

    A mirror that reflects instances and static classes.

    A mirror that reflects instances and static classes. See the overview page for details on how to use runtime reflection.

    Definition Classes
    Mirrors
  272. trait ReificationSupportApi extends AnyRef

    Permalink

    This is an internal implementation class.

    This is an internal implementation class.

    Definition Classes
    Internals
  273. class ReificationSupportImpl extends internal.SymbolTable.ReificationSupportApi

    Permalink
    Definition Classes
    ReificationSupport
  274. case class RepeatedType extends internal.SymbolTable.Type with Product with Serializable

    Permalink

    As with NamedType, used only when calling isApplicable.

    As with NamedType, used only when calling isApplicable. Records that the application has a wildcard star (aka _*) at the end of it.

    Definition Classes
    Types
  275. case class Return extends internal.SymbolTable.SymTree with internal.SymbolTable.TermTree with internal.SymbolTable.ReturnApi with Product with Serializable

    Permalink
    Definition Classes
    Trees
  276. trait ReturnApi extends Universe.TermTreeApi

    Permalink

    The API that all returns support

    The API that all returns support

    Definition Classes
    Trees
  277. abstract class ReturnExtractor extends AnyRef

    Permalink

    An extractor class to create and pattern match with syntax Return(expr).

    An extractor class to create and pattern match with syntax Return(expr). This AST node corresponds to the following Scala code:

    return expr

    The symbol of a Return node is the enclosing method.

    Definition Classes
    Trees
  278. trait RewrappingTypeProxy extends internal.SymbolTable.Type with internal.SymbolTable.SimpleTypeProxy

    Permalink

    A proxy for a type (identified by field underlying) that forwards most operations to it.

    A proxy for a type (identified by field underlying) that forwards most operations to it. Every operation that is overridden for some kind of types is forwarded here. Some operations are rewrapped again.

    Definition Classes
    Types
  279. trait RootSymbol extends internal.SymbolTable.Symbol

    Permalink
    Definition Classes
    Mirrors
  280. abstract class Roots extends internal.SymbolTable.RootsBase

    Permalink
    Definition Classes
    Mirrors
  281. abstract class RootsBase extends api.Mirror[Mirrors.this.type]

    Permalink
    Definition Classes
    Mirrors
  282. type RunId = Int

    Permalink

    An ordinal number for compiler runs.

    An ordinal number for compiler runs. First run has number 1.

    Definition Classes
    SymbolTable
  283. trait RunReporting extends AnyRef

    Permalink
    Definition Classes
    Reporting
  284. type RuntimeClass = Class[_]

    Permalink

    In runtime reflection universes, runtime representation of a class is java.lang.Class.

    In runtime reflection universes, runtime representation of a class is java.lang.Class.

    Definition Classes
    JavaUniverseMirrors
  285. trait RuntimeClassApi extends AnyRef

    Permalink

    Has no special methods.

    Has no special methods. Is here to provides erased identity for RuntimeClass.

    Definition Classes
    Mirrors
  286. trait RuntimeMirror extends api.Mirror[Mirrors.this.type] with Universe.ReflectiveMirror

    Permalink

    The API of a mirror for a reflective universe.

    The API of a mirror for a reflective universe. See the overview page for details on how to use runtime reflection.

    Definition Classes
    Mirrors
  287. case class ScalaSigBytes extends internal.SymbolTable.ClassfileAnnotArg with Product with Serializable

    Permalink

    A specific annotation argument that encodes an array of bytes as an array of Long.

    A specific annotation argument that encodes an array of bytes as an array of Long. The type of the argument declared in the annotation must be String. This specialised class is used to encode Scala signatures for reasons of efficiency, both in term of class-file size and in term of compiler performance. Details about the storage format of pickles at the bytecode level (classfile annotations) can be found in SIP-10.

    Definition Classes
    AnnotationInfos
  288. class Scope extends internal.SymbolTable.ScopeApi with internal.SymbolTable.MemberScopeApi

    Permalink

    Note: constructor is protected to force everyone to use the factory methods newScope or newNestedScope instead.

    Note: constructor is protected to force everyone to use the factory methods newScope or newNestedScope instead. This is necessary because when run from reflection every scope needs to have a SynchronizedScope as mixin.

    Definition Classes
    Scopes
  289. trait ScopeApi extends Iterable[Universe.Symbol]

    Permalink

    The API that all scopes support

    The API that all scopes support

    Definition Classes
    Scopes
  290. class ScopeEntry extends AnyRef

    Permalink
    Definition Classes
    Scopes
  291. case class Select extends internal.SymbolTable.SymTree with internal.SymbolTable.RefTree with internal.SymbolTable.SelectApi with Product with Serializable

    Permalink
    Definition Classes
    Trees
  292. trait SelectApi extends Universe.RefTreeApi

    Permalink

    The API that all selects support

    The API that all selects support

    Definition Classes
    Trees
  293. abstract class SelectExtractor extends AnyRef

    Permalink

    An extractor class to create and pattern match with syntax Select(qual, name).

    An extractor class to create and pattern match with syntax Select(qual, name). This AST node corresponds to the following Scala code:

    qualifier.selector

    Should only be used with qualifier nodes which are terms, i.e. which have isTerm returning true. Otherwise SelectFromTypeTree should be used instead.

    foo.Bar // represented as Select(Ident(<foo>), <Bar>) Foo#Bar // represented as SelectFromTypeTree(Ident(<Foo>), <Bar>)

    Definition Classes
    Trees
  294. case class SelectFromTypeTree extends internal.SymbolTable.SymTree with internal.SymbolTable.RefTree with internal.SymbolTable.TypTree with internal.SymbolTable.SelectFromTypeTreeApi with Product with Serializable

    Permalink
    Definition Classes
    Trees
  295. trait SelectFromTypeTreeApi extends Universe.TypTreeApi with Universe.RefTreeApi

    Permalink

    The API that all selects from type trees support

    The API that all selects from type trees support

    Definition Classes
    Trees
  296. abstract class SelectFromTypeTreeExtractor extends AnyRef

    Permalink

    An extractor class to create and pattern match with syntax SelectFromTypeTree(qualifier, name).

    An extractor class to create and pattern match with syntax SelectFromTypeTree(qualifier, name). This AST node corresponds to the following Scala code:

    qualifier # selector

    Note: a path-dependent type p.T is expressed as p.type # T

    Should only be used with qualifier nodes which are types, i.e. which have isType returning true. Otherwise Select should be used instead.

    Foo#Bar // represented as SelectFromTypeTree(Ident(<Foo>), <Bar>) foo.Bar // represented as Select(Ident(<foo>), <Bar>)

    Definition Classes
    Trees
  297. trait SimpleTypeProxy extends internal.SymbolTable.Type

    Permalink

    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.

    Definition Classes
    Types
  298. abstract case class SingleType extends internal.SymbolTable.SingletonType with internal.SymbolTable.SingleTypeApi with Product with Serializable

    Permalink

    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.

    Definition Classes
    Types
  299. trait SingleTypeApi extends Universe.TypeApi

    Permalink

    The API that all single types support.

    The API that all single types support. The main source of information about types is the scala.reflect.api.Types page.

    Definition Classes
    Types
  300. abstract class SingleTypeExtractor extends AnyRef

    Permalink

    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
  301. abstract class SingletonType extends internal.SymbolTable.SubType with internal.SymbolTable.SimpleTypeProxy with internal.SymbolTable.SingletonTypeApi

    Permalink

    A base class for types that represent a single value (single-types and this-types).

    A base class for types that represent a single value (single-types and this-types).

    Definition Classes
    Types
  302. trait SingletonTypeApi extends AnyRef

    Permalink

    Has no special methods.

    Has no special methods. Is here to provides erased identity for SingletonType.

    Definition Classes
    Types
  303. case class SingletonTypeTree extends internal.SymbolTable.Tree with internal.SymbolTable.TypTree with internal.SymbolTable.SingletonTypeTreeApi with Product with Serializable

    Permalink
    Definition Classes
    Trees
  304. trait SingletonTypeTreeApi extends Universe.TypTreeApi

    Permalink

    The API that all singleton type trees support

    The API that all singleton type trees support

    Definition Classes
    Trees
  305. abstract class SingletonTypeTreeExtractor extends AnyRef

    Permalink

    An extractor class to create and pattern match with syntax SingletonTypeTree(ref).

    An extractor class to create and pattern match with syntax SingletonTypeTree(ref). This AST node corresponds to the following Scala code:

    ref.type

    Definition Classes
    Trees
  306. abstract class StandardImporter extends internal.SymbolTable.Importer

    Permalink
    Definition Classes
    Importers
  307. trait StandardLiftableInstances extends AnyRef

    Permalink
    Definition Classes
    StandardLiftables
  308. trait StandardTypes extends AnyRef

    Permalink

    Defines standard types.

    Defines standard types.

    Definition Classes
    StandardDefinitions
  309. trait StandardUnliftableInstances extends AnyRef

    Permalink
    Definition Classes
    StandardLiftables
  310. case class Star extends internal.SymbolTable.Tree with internal.SymbolTable.TermTree with internal.SymbolTable.StarApi with Product with Serializable

    Permalink
    Definition Classes
    Trees
  311. trait StarApi extends Universe.TermTreeApi

    Permalink

    The API that all stars support

    The API that all stars support

    Definition Classes
    Trees
  312. abstract class StarExtractor extends AnyRef

    Permalink

    An extractor class to create and pattern match with syntax Star(elem).

    An extractor class to create and pattern match with syntax Star(elem). This AST node corresponds to the following Scala code:

    pat*

    Definition Classes
    Trees
  313. class StrictTreeCopier extends internal.SymbolTable.InternalTreeCopierOps

    Permalink
    Definition Classes
    Trees
  314. class StubClassSymbol extends internal.SymbolTable.ClassSymbol with internal.SymbolTable.StubSymbol

    Permalink
    Definition Classes
    Symbols
  315. class StubPackageClassSymbol extends internal.SymbolTable.PackageClassSymbol with internal.SymbolTable.StubSymbol

    Permalink
    Definition Classes
    Symbols
  316. trait StubSymbol extends internal.SymbolTable.Symbol

    Permalink
    Definition Classes
    Symbols
  317. class StubTermSymbol extends internal.SymbolTable.TermSymbol with internal.SymbolTable.StubSymbol

    Permalink
    Definition Classes
    Symbols
  318. abstract class SubType extends internal.SymbolTable.UniqueType

    Permalink

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

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

    Definition Classes
    Types
  319. final case class SubTypePair extends Product with Serializable

    Permalink
    Definition Classes
    TypeComparers
  320. case class SubpatternsAttachment extends Product with Serializable

    Permalink

    Untyped list of subpatterns attached to selector dummy.

    Untyped list of subpatterns attached to selector dummy.

    Definition Classes
    StdAttachments
  321. abstract class SubstMap[T] extends internal.SymbolTable.TypeMap

    Permalink

    A base class to compute all substitutions

    A base class to compute all substitutions

    Definition Classes
    TypeMaps
  322. class SubstSymMap extends internal.SymbolTable.SubstMap[internal.SymbolTable.Symbol]

    Permalink

    A map to implement the substSym method.

    A map to implement the substSym method.

    Definition Classes
    TypeMaps
  323. class SubstThisMap extends internal.SymbolTable.TypeMap

    Permalink

    A map to implement the substThis method.

    A map to implement the substThis method.

    Definition Classes
    TypeMaps
  324. class SubstTypeMap extends internal.SymbolTable.SubstMap[internal.SymbolTable.Type]

    Permalink

    A map to implement the subst method.

    A map to implement the subst method.

    Definition Classes
    TypeMaps
  325. class SubstWildcardMap extends internal.SymbolTable.TypeMap

    Permalink
    Definition Classes
    TypeMaps
  326. case class Super extends internal.SymbolTable.Tree with internal.SymbolTable.TermTree with internal.SymbolTable.SuperApi with Product with Serializable

    Permalink
    Definition Classes
    Trees
  327. trait SuperApi extends Universe.TermTreeApi

    Permalink

    The API that all supers support

    The API that all supers support

    Definition Classes
    Trees
  328. abstract class SuperExtractor extends AnyRef

    Permalink

    An extractor class to create and pattern match with syntax Super(qual, mix).

    An extractor class to create and pattern match with syntax Super(qual, mix). This AST node corresponds to the following Scala code:

    C.super[M]

    Which is represented as:

    Super(This(C), M)

    If mix is empty, it is tpnme.EMPTY.

    The symbol of a Super is the class _from_ which the super reference is made. For instance in C.super(...), it would be C.

    Definition Classes
    Trees
  329. abstract case class SuperType extends internal.SymbolTable.SingletonType with internal.SymbolTable.SuperTypeApi with Product with Serializable

    Permalink
    Definition Classes
    Types
  330. trait SuperTypeApi extends Universe.TypeApi

    Permalink

    The API that all super types support.

    The API that all super types support. The main source of information about types is the scala.reflect.api.Types page.

    Definition Classes
    Types
  331. abstract class SuperTypeExtractor extends AnyRef

    Permalink

    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
  332. abstract class SymLoader extends internal.SymbolTable.LazyType

    Permalink
    Definition Classes
    SymbolTable
  333. abstract class SymTree extends internal.SymbolTable.Tree with internal.SymbolTable.SymTreeApi

    Permalink
    Definition Classes
    Trees
  334. trait SymTreeApi extends Universe.TreeApi

    Permalink

    The API that all sym trees support

    The API that all sym trees support

    Definition Classes
    Trees
  335. abstract class Symbol extends internal.SymbolTable.SymbolContextApiImpl with HasFlags with internal.SymbolTable.Annotatable[internal.SymbolTable.Symbol] with internal.SymbolTable.Attachable

    Permalink

    The class for all symbols

    The class for all symbols

    Definition Classes
    Symbols
  336. trait SymbolApi extends AnyRef

    Permalink

    The API of symbols.

    The API of symbols. The main source of information about symbols is the Symbols page.

    Class Symbol defines isXXX test methods such as isPublic or isFinal, params and returnType methods for method symbols, baseClasses for class symbols and so on. Some of these methods don't make sense for certain subclasses of Symbol and return NoSymbol, Nil or other empty values.

    Definition Classes
    Symbols
  337. abstract class SymbolContextApiImpl extends internal.SymbolTable.SymbolApi

    Permalink
    Definition Classes
    Symbols
  338. sealed abstract class SymbolNames extends AnyRef

    Permalink
    Definition Classes
    StdNames
  339. case class SymbolOps extends Product with Serializable

    Permalink
    Definition Classes
    Symbols
  340. trait SymbolTableInternal extends internal.SymbolTable.MacroInternalApi

    Permalink
    Definition Classes
    Internals
  341. trait SynchronizedBaseTypeSeq extends SymbolTable.BaseTypeSeq

    Permalink
    Definition Classes
    SynchronizedOps
  342. trait SynchronizedClassSymbol extends SymbolTable.ClassSymbol with SymbolTable.SynchronizedTypeSymbol

    Permalink
    Definition Classes
    SynchronizedSymbols
  343. trait SynchronizedMethodSymbol extends SymbolTable.MethodSymbol with SymbolTable.SynchronizedTermSymbol

    Permalink
    Definition Classes
    SynchronizedSymbols
  344. trait SynchronizedModuleClassSymbol extends SymbolTable.ModuleClassSymbol with SymbolTable.SynchronizedClassSymbol

    Permalink
    Definition Classes
    SynchronizedSymbols
  345. trait SynchronizedModuleSymbol extends SymbolTable.ModuleSymbol with SymbolTable.SynchronizedTermSymbol

    Permalink
    Definition Classes
    SynchronizedSymbols
  346. trait SynchronizedScope extends SymbolTable.Scope

    Permalink
    Definition Classes
    SynchronizedOps
  347. trait SynchronizedSymbol extends SymbolTable.Symbol

    Permalink
    Definition Classes
    SynchronizedSymbols
  348. trait SynchronizedTermSymbol extends SymbolTable.Symbol with SymbolTable.SynchronizedSymbol

    Permalink
    Definition Classes
    SynchronizedSymbols
  349. trait SynchronizedTypeSymbol extends SymbolTable.TypeSymbol with SymbolTable.SynchronizedSymbol

    Permalink
    Definition Classes
    SynchronizedSymbols
  350. case class Template extends internal.SymbolTable.SymTree with internal.SymbolTable.TemplateApi with Product with Serializable

    Permalink
    Definition Classes
    Trees
  351. trait TemplateApi extends Universe.SymTreeApi

    Permalink

    The API that all templates support

    The API that all templates support

    Definition Classes
    Trees
  352. abstract class TemplateExtractor extends AnyRef

    Permalink

    An extractor class to create and pattern match with syntax Template(parents, self, body).

    An extractor class to create and pattern match with syntax Template(parents, self, body). This AST node corresponds to the following Scala code:

    extends parents { self => body }

    In case when the self-type annotation is missing, it is represented as an empty value definition with nme.WILDCARD as name and NoType as type.

    The symbol of a template is a local dummy. @see Symbol.newLocalDummy The owner of the local dummy is the enclosing trait or class. The local dummy is itself the owner of any local blocks. For example:

    class C { def foo { // owner is C def bar // owner is local dummy } }

    Definition Classes
    Trees
  353. trait TemplateMirror extends AnyRef

    Permalink

    A mirror that reflects the instance or static parts of a runtime class.

    A mirror that reflects the instance or static parts of a runtime class. See the overview page for details on how to use runtime reflection.

    Definition Classes
    Mirrors
  354. sealed abstract class TermName extends Name with internal.Names.TermNameApi

    Permalink
    Definition Classes
    Names
  355. trait TermNameApi extends AnyRef

    Permalink

    Has no special methods.

    Has no special methods. Is here to provides erased identity for TermName.

    Definition Classes
    Names
  356. abstract class TermNameExtractor extends AnyRef

    Permalink

    An extractor class to create and pattern match with syntax TermName(s).

    An extractor class to create and pattern match with syntax TermName(s).

    Definition Classes
    Names
  357. abstract class TermNames extends internal.SymbolTable.Keywords with internal.SymbolTable.TermNamesApi

    Permalink
    Definition Classes
    StdNames
  358. trait TermNamesApi extends Universe.NamesApi

    Permalink

    Defines standard term names that can be accessed via the nme member.

    Defines standard term names that can be accessed via the nme member.

    Definition Classes
    StandardNames
  359. class TermSymbol extends internal.SymbolTable.Symbol with internal.SymbolTable.TermSymbolApi

    Permalink

    A class for term symbols

    A class for term symbols

    Definition Classes
    Symbols
  360. trait TermSymbolApi extends Universe.SymbolApi

    Permalink

    The API of term symbols.

    The API of term symbols. The main source of information about symbols is the Symbols page.

    Class Symbol defines isXXX test methods such as isPublic or isFinal, params and returnType methods for method symbols, baseClasses for class symbols and so on. Some of these methods don't make sense for certain subclasses of Symbol and return NoSymbol, Nil or other empty values.

    Definition Classes
    Symbols
  361. trait TermTree extends internal.SymbolTable.Tree with internal.SymbolTable.TermTreeApi

    Permalink
    Definition Classes
    Trees
  362. trait TermTreeApi extends Universe.TreeApi

    Permalink

    The API that all term trees support

    The API that all term trees support

    Definition Classes
    Trees
  363. case class This extends internal.SymbolTable.SymTree with internal.SymbolTable.TermTree with internal.SymbolTable.ThisApi with Product with Serializable

    Permalink
    Definition Classes
    Trees
  364. trait ThisApi extends Universe.TermTreeApi with Universe.SymTreeApi

    Permalink

    The API that all thises support

    The API that all thises support

    Definition Classes
    Trees
  365. abstract class ThisExtractor extends AnyRef

    Permalink

    An extractor class to create and pattern match with syntax This(qual).

    An extractor class to create and pattern match with syntax This(qual). This AST node corresponds to the following Scala code:

    qual.this

    The symbol of a This is the class to which the this refers. For instance in C.this, it would be C.

    Definition Classes
    Trees
  366. class ThisSubstituter extends internal.SymbolTable.Transformer

    Permalink

    Substitute clazz.this with to.

    Substitute clazz.this with to. to must be an attributed tree.

    Definition Classes
    Trees
  367. abstract case class ThisType extends internal.SymbolTable.SingletonType with internal.SymbolTable.ThisTypeApi with Product with Serializable

    Permalink

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

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

    Definition Classes
    Types
  368. trait ThisTypeApi extends Universe.TypeApi

    Permalink

    The API that all this types support.

    The API that all this types support. The main source of information about types is the scala.reflect.api.Types page.

    Definition Classes
    Types
  369. abstract class ThisTypeExtractor extends AnyRef

    Permalink

    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
  370. trait ThreadLocalStorage[T] extends AnyRef

    Permalink
    Definition Classes
    ThreadLocalStorage
  371. case class Throw extends internal.SymbolTable.Tree with internal.SymbolTable.TermTree with internal.SymbolTable.ThrowApi with Product with Serializable

    Permalink
    Definition Classes
    Trees
  372. trait ThrowApi extends Universe.TermTreeApi

    Permalink

    The API that all tries support

    The API that all tries support

    Definition Classes
    Trees
  373. abstract class ThrowExtractor extends AnyRef

    Permalink

    An extractor class to create and pattern match with syntax Throw(expr).

    An extractor class to create and pattern match with syntax Throw(expr). This AST node corresponds to the following Scala code:

    throw expr

    Definition Classes
    Trees
  374. class TopClassCompleter extends SymbolTable.SymLoader with SymbolTable.FlagAssigningCompleter

    Permalink

    The standard completer for top-level classes

    The standard completer for top-level classes

    Definition Classes
    SymbolLoaders
  375. abstract class Transformer extends AnyRef

    Permalink

    A class that implement a default tree transformation strategy: breadth-first component-wise cloning.

    A class that implement a default tree transformation strategy: breadth-first component-wise cloning.

    Definition Classes
    Trees
  376. class Traverser extends AnyRef

    Permalink

    A class that implement a default tree traversal strategy: breadth-first component-wise.

    A class that implement a default tree traversal strategy: breadth-first component-wise.

    Definition Classes
    Trees
  377. abstract class Tree extends internal.SymbolTable.TreeContextApiImpl with internal.SymbolTable.Attachable with Product

    Permalink
    Definition Classes
    Trees
  378. trait TreeApi extends Product

    Permalink

    The API that all trees support.

    The API that all trees support. The main source of information about trees is the scala.reflect.api.Trees page.

    Definition Classes
    Trees
  379. abstract class TreeContextApiImpl extends internal.SymbolTable.TreeApi

    Permalink
    Definition Classes
    Trees
  380. type TreeCopier = InternalTreeCopierOps

    Permalink

    The type of standard (lazy) tree copiers.

    The type of standard (lazy) tree copiers.

    Definition Classes
    JavaUniverse → Trees → Trees
  381. abstract class TreeCopierOps extends AnyRef

    Permalink

    The API of a tree copier.

    The API of a tree copier.

    Definition Classes
    Trees
  382. trait TreeGen extends AnyRef

    Permalink

    Definition Classes
    Universe
  383. class TreePrinter extends internal.SymbolTable.TreePrinter

    Permalink
    Definition Classes
    Printers
  384. class TreeReplacer extends internal.SymbolTable.Transformer

    Permalink

    A transformer that replaces tree from with tree to in a given tree

    A transformer that replaces tree from with tree to in a given tree

    Definition Classes
    Trees
  385. trait TreeStackTraverser extends internal.SymbolTable.Traverser

    Permalink
    Definition Classes
    Trees
  386. class TreeSubstituter extends internal.SymbolTable.Transformer

    Permalink
    Definition Classes
    Trees
  387. class TreeSymSubstTraverser extends internal.SymbolTable.TypeMapTreeSubstituter

    Permalink
    Definition Classes
    Trees
  388. class TreeSymSubstituter extends internal.SymbolTable.Transformer

    Permalink

    Substitute symbols in from with symbols in to.

    Substitute symbols in from with symbols in to. Returns a new tree using the new symbols and whose Ident and Select nodes are name-consistent with the new symbols.

    Note: This is currently a destructive operation on the original Tree. Trees currently assigned a symbol in from will be assigned the new symbols without copying, and trees that define symbols with an info that refer a symbol in from will have a new type assigned.

    Definition Classes
    Trees
  389. class TreeTypeSubstituter extends internal.SymbolTable.TypeMapTreeSubstituter

    Permalink
    Definition Classes
    Trees
  390. case class Try extends internal.SymbolTable.Tree with internal.SymbolTable.TermTree with internal.SymbolTable.TryApi with Product with Serializable

    Permalink
    Definition Classes
    Trees
  391. trait TryApi extends Universe.TermTreeApi

    Permalink

    The API that all tries support

    The API that all tries support

    Definition Classes
    Trees
  392. abstract class TryExtractor extends AnyRef

    Permalink

    An extractor class to create and pattern match with syntax Try(block, catches, finalizer).

    An extractor class to create and pattern match with syntax Try(block, catches, finalizer). This AST node corresponds to the following Scala code:

    try block catch { catches } finally finalizer

    If the finalizer is not present, the finalizer is set to EmptyTree.

    Definition Classes
    Trees
  393. class TwoWayCache[J, S] extends AnyRef

    Permalink
    Definition Classes
    TwoWayCaches
  394. trait TypTree extends internal.SymbolTable.Tree with internal.SymbolTable.TypTreeApi

    Permalink
    Definition Classes
    Trees
  395. trait TypTreeApi extends Universe.TreeApi

    Permalink

    The API that all typ trees support

    The API that all typ trees support

    Definition Classes
    Trees
  396. abstract class Type extends internal.SymbolTable.TypeApiImpl with internal.SymbolTable.Annotatable[internal.SymbolTable.Type]

    Permalink

    The base class for all types

    The base class for all types

    Definition Classes
    Types
  397. abstract class TypeApi extends AnyRef

    Permalink

    The API of types.

    The API of types. The main source of information about types is the scala.reflect.api.Types page.

    Definition Classes
    Types
  398. abstract class TypeApiImpl extends internal.SymbolTable.TypeApi

    Permalink
    Definition Classes
    Types
  399. case class TypeApply extends internal.SymbolTable.GenericApply with internal.SymbolTable.TypeApplyApi with Product with Serializable

    Permalink
    Definition Classes
    Trees
  400. trait TypeApplyApi extends Universe.GenericApplyApi

    Permalink

    The API that all type applies support

    The API that all type applies support

    Definition Classes
    Trees
  401. abstract class TypeApplyExtractor extends AnyRef

    Permalink

    An extractor class to create and pattern match with syntax TypeApply(fun, args).

    An extractor class to create and pattern match with syntax TypeApply(fun, args). This AST node corresponds to the following Scala code:

    fun[args]

    Should only be used with fun nodes which are terms, i.e. which have isTerm returning true. Otherwise AppliedTypeTree should be used instead.

    def foo[T] = ??? foo[Int] // represented as TypeApply(Ident(<foo>), List(TypeTree(<Int>)))

    List[Int] as in val x: List[Int] = ??? // represented as AppliedTypeTree(Ident(<List>), List(TypeTree(<Int>)))

    Definition Classes
    Trees
  402. abstract case class TypeBounds extends internal.SymbolTable.SubType with internal.SymbolTable.TypeBoundsApi with Product with Serializable

    Permalink

    A class for the bounds of abstract types and type parameters

    A class for the bounds of abstract types and type parameters

    Definition Classes
    Types
  403. trait TypeBoundsApi extends Universe.TypeApi

    Permalink

    The API that all type bounds support.

    The API that all type bounds support. The main source of information about types is the scala.reflect.api.Types page.

    Definition Classes
    Types
  404. abstract class TypeBoundsExtractor extends AnyRef

    Permalink

    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
  405. case class TypeBoundsTree extends internal.SymbolTable.Tree with internal.SymbolTable.TypTree with internal.SymbolTable.TypeBoundsTreeApi with Product with Serializable

    Permalink
    Definition Classes
    Trees
  406. trait TypeBoundsTreeApi extends Universe.TypTreeApi

    Permalink

    The API that all type bound trees support

    The API that all type bound trees support

    Definition Classes
    Trees
  407. abstract class TypeBoundsTreeExtractor extends AnyRef

    Permalink

    An extractor class to create and pattern match with syntax TypeBoundsTree(lo, hi).

    An extractor class to create and pattern match with syntax TypeBoundsTree(lo, hi). This AST node corresponds to the following Scala code:

    >: lo <: hi

    Definition Classes
    Trees
  408. abstract class TypeCollector[T] extends internal.SymbolTable.TypeTraverser

    Permalink
    Definition Classes
    TypeMaps
  409. class TypeConKind extends internal.SymbolTable.Kind

    Permalink
    Definition Classes
    Kinds
  410. class TypeConstraint extends AnyRef

    Permalink

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

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

    Definition Classes
    TypeConstraints
  411. case class TypeDef extends internal.SymbolTable.MemberDef with internal.SymbolTable.TypeDefApi with Product with Serializable

    Permalink
    Definition Classes
    Trees
  412. trait TypeDefApi extends Universe.MemberDefApi

    Permalink

    The API that all type defs support

    The API that all type defs support

    Definition Classes
    Trees
  413. abstract class TypeDefExtractor extends AnyRef

    Permalink

    An extractor class to create and pattern match with syntax TypeDef(mods, name, tparams, rhs).

    An extractor class to create and pattern match with syntax TypeDef(mods, name, tparams, rhs). This AST node corresponds to the following Scala code:

    mods type name[tparams] = rhs

    mods type name[tparams] >: lo <: hi

    First usage illustrates TypeDefs representing type aliases and type parameters. Second usage illustrates TypeDefs representing abstract types, where lo and hi are both TypeBoundsTrees and Modifier.deferred is set in mods.

    Definition Classes
    Trees
  414. class TypeError extends Throwable

    Permalink

    A throwable signalling a type error

    A throwable signalling a type error

    Definition Classes
    Types
  415. abstract class TypeMap extends (internal.SymbolTable.Type) ⇒ internal.SymbolTable.Type

    Permalink

    A prototype for mapping a function over all possible types

    A prototype for mapping a function over all possible types

    Definition Classes
    TypeMaps
  416. class TypeMapTreeSubstituter extends internal.SymbolTable.Traverser

    Permalink
    Definition Classes
    Trees
  417. sealed abstract class TypeName extends Name with internal.Names.TypeNameApi

    Permalink
    Definition Classes
    Names
  418. trait TypeNameApi extends AnyRef

    Permalink

    Has no special methods.

    Has no special methods. Is here to provides erased identity for TypeName.

    Definition Classes
    Names
  419. abstract class TypeNameExtractor extends AnyRef

    Permalink

    An extractor class to create and pattern match with syntax TypeName(s).

    An extractor class to create and pattern match with syntax TypeName(s).

    Definition Classes
    Names
  420. abstract class TypeNames extends internal.SymbolTable.Keywords with internal.SymbolTable.TypeNamesApi

    Permalink
    Definition Classes
    StdNames
  421. trait TypeNamesApi extends Universe.NamesApi

    Permalink

    Defines standard type names that can be accessed via the tpnme member.

    Defines standard type names that can be accessed via the tpnme member.

    Definition Classes
    StandardNames
  422. case class TypeParamVarargsAttachment extends Product with Serializable

    Permalink

    An attachment carrying information between uncurry and erasure

    An attachment carrying information between uncurry and erasure

    Definition Classes
    StdAttachments
  423. abstract case class TypeRef extends internal.SymbolTable.UniqueType with internal.SymbolTable.TypeRefApi with Product with Serializable

    Permalink

    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. (@M: Otherwise hashing breaks)

    Definition Classes
    Types
  424. trait TypeRefApi extends Universe.TypeApi

    Permalink

    The API that all type refs support.

    The API that all type refs support. The main source of information about types is the scala.reflect.api.Types page.

    Definition Classes
    Types
  425. abstract class TypeRefExtractor extends AnyRef

    Permalink

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

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

    Definition Classes
    Types
  426. class TypeSkolem extends internal.SymbolTable.TypeSymbol

    Permalink

    A class for type parameters viewed from inside their scopes

    A class for type parameters viewed from inside their scopes

    Definition Classes
    Symbols
  427. abstract class TypeSymbol extends internal.SymbolTable.Symbol with internal.SymbolTable.TypeSymbolApi

    Permalink

    A class of type symbols.

    A class of type symbols. Alias and abstract types are direct instances of this class. Classes are instances of a subclass.

    Definition Classes
    Symbols
  428. trait TypeSymbolApi extends Universe.SymbolApi

    Permalink

    The API of type symbols.

    The API of type symbols. The main source of information about symbols is the Symbols page.

    Class Symbol defines isXXX test methods such as isPublic or isFinal, params and returnType methods for method symbols, baseClasses for class symbols and so on. Some of these methods don't make sense for certain subclasses of Symbol and return NoSymbol, Nil or other empty values.

    Definition Classes
    Symbols
  429. trait TypeTag[T] extends Universe.WeakTypeTag[T] with Equals with Serializable

    Permalink

    A TypeTag is a scala.reflect.api.TypeTags#WeakTypeTag with the additional static guarantee that all type references are concrete, i.e.

    A TypeTag is a scala.reflect.api.TypeTags#WeakTypeTag with the additional static guarantee that all type references are concrete, i.e. it does not contain any references to unresolved type parameters or abstract types.

    Definition Classes
    TypeTags
    Annotations
    @implicitNotFound( "No TypeTag available for ${T}" )
    See also

    scala.reflect.api.TypeTags

  430. abstract class TypeTraverser extends internal.SymbolTable.TypeMap

    Permalink
    Definition Classes
    TypeMaps
  431. abstract class TypeTraverserWithResult[T] extends internal.SymbolTable.TypeTraverser

    Permalink
    Definition Classes
    TypeMaps
  432. case class TypeTree extends internal.SymbolTable.Tree with internal.SymbolTable.TypTree with internal.SymbolTable.TypeTreeApi with Product with Serializable

    Permalink
    Definition Classes
    Trees
  433. trait TypeTreeApi extends Universe.TypTreeApi

    Permalink

    The API that all type trees support

    The API that all type trees support

    Definition Classes
    Trees
  434. abstract class TypeTreeExtractor extends AnyRef

    Permalink

    An extractor class to create and pattern match with syntax TypeTree().

    An extractor class to create and pattern match with syntax TypeTree(). This AST node does not have direct correspondence to Scala code, and is emitted by everywhere when we want to wrap a Type in a Tree.

    Definition Classes
    Trees
  435. class TypeUnwrapper extends (internal.SymbolTable.Type) ⇒ internal.SymbolTable.Type

    Permalink
    Definition Classes
    Types
  436. abstract case class TypeVar extends internal.SymbolTable.Type with Product with Serializable

    Permalink

    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.

    Precondition for this class, enforced structurally: args.isEmpty && params.isEmpty.

    Definition Classes
    Types
  437. case class Typed extends internal.SymbolTable.Tree with internal.SymbolTable.TermTree with internal.SymbolTable.TypedApi with Product with Serializable

    Permalink
    Definition Classes
    Trees
  438. trait TypedApi extends Universe.TermTreeApi

    Permalink

    The API that all typeds support

    The API that all typeds support

    Definition Classes
    Trees
  439. abstract class TypedExtractor extends AnyRef

    Permalink

    An extractor class to create and pattern match with syntax Typed(expr, tpt).

    An extractor class to create and pattern match with syntax Typed(expr, tpt). This AST node corresponds to the following Scala code:

    expr: tpt

    Definition Classes
    Trees
  440. class TypedLocator extends internal.SymbolTable.Locator

    Permalink
    Definition Classes
    Positions
  441. case class UnApply extends internal.SymbolTable.Tree with internal.SymbolTable.TermTree with internal.SymbolTable.UnApplyApi with Product with Serializable

    Permalink
    Definition Classes
    Trees
  442. trait UnApplyApi extends Universe.TermTreeApi

    Permalink

    The API that all unapplies support

    The API that all unapplies support

    Definition Classes
    Trees
  443. abstract class UnApplyExtractor extends AnyRef

    Permalink

    An extractor class to create and pattern match with syntax UnApply(fun, args).

    An extractor class to create and pattern match with syntax UnApply(fun, args). This AST node does not have direct correspondence to Scala code, and is introduced when typechecking pattern matches and try blocks.

    Definition Classes
    Trees
  444. trait UnderConstructionTransformer extends internal.SymbolTable.Transformer

    Permalink

    Tracks the classes currently under construction during a transform

    Tracks the classes currently under construction during a transform

    Definition Classes
    Trees
  445. class UndoLog extends Clearable

    Permalink
    Definition Classes
    TypeConstraints
  446. final class UniqueConstantType extends internal.SymbolTable.ConstantType

    Permalink
    Definition Classes
    Types
  447. final class UniqueErasedValueType extends internal.SymbolTable.ErasedValueType

    Permalink
    Definition Classes
    Types
  448. final class UniqueSingleType extends internal.SymbolTable.SingleType

    Permalink
    Definition Classes
    Types
  449. final class UniqueSuperType extends internal.SymbolTable.SuperType

    Permalink
    Definition Classes
    Types
  450. final class UniqueThisType extends internal.SymbolTable.ThisType

    Permalink
    Definition Classes
    Types
  451. abstract class UniqueType extends internal.SymbolTable.Type with Product

    Permalink

    A type that can be passed to unique(..) and be stored in the uniques map.

    A type that can be passed to unique(..) and be stored in the uniques map.

    Definition Classes
    Types
  452. final class UniqueTypeBounds extends internal.SymbolTable.TypeBounds

    Permalink
    Definition Classes
    Types
  453. trait Unliftable[T] extends AnyRef

    Permalink

    A type class that defines a way to extract instance of T from a Tree.

    A type class that defines a way to extract instance of T from a Tree.

    Definition Classes
    Liftables
    See also

    http://docs.scala-lang.org/overviews/quasiquotes/unlifting.html

  454. trait UntouchableTypeVar extends internal.SymbolTable.TypeVar

    Permalink
    Definition Classes
    Types
  455. case class ValDef extends internal.SymbolTable.ValOrDefDef with internal.SymbolTable.ValDefApi with Product with Serializable

    Permalink
    Definition Classes
    Trees
  456. trait ValDefApi extends Universe.ValOrDefDefApi

    Permalink

    The API that all val defs support

    The API that all val defs support

    Definition Classes
    Trees
  457. abstract class ValDefExtractor extends AnyRef

    Permalink

    An extractor class to create and pattern match with syntax ValDef(mods, name, tpt, rhs).

    An extractor class to create and pattern match with syntax ValDef(mods, name, tpt, rhs). This AST node corresponds to any of the following Scala code:

    mods val name: tpt = rhs

    mods var name: tpt = rhs

    mods name: tpt = rhs // in signatures of function and method definitions

    self: Bar => // self-types

    If the type of a value is not specified explicitly (i.e. is meant to be inferred), this is expressed by having tpt set to TypeTree() (but not to an EmptyTree!).

    Definition Classes
    Trees
  458. abstract class ValOrDefDef extends internal.SymbolTable.MemberDef with internal.SymbolTable.ValOrDefDefApi

    Permalink
    Definition Classes
    Trees
  459. trait ValOrDefDefApi extends Universe.MemberDefApi

    Permalink

    The API that all val defs and def defs support

    The API that all val defs and def defs support

    Definition Classes
    Trees
  460. class ValidateException extends Exception

    Permalink
    Definition Classes
    Positions
  461. trait ValueClassDefinitions extends AnyRef

    Permalink
    Definition Classes
    Definitions
  462. class VarianceValidator extends internal.SymbolTable.Traverser

    Permalink

    Used in Refchecks.

    Used in Refchecks. TODO - eliminate duplication with varianceInType

    Definition Classes
    Variances
  463. trait WeakTypeTag[T] extends Equals with Serializable

    Permalink

    If an implicit value of type WeakTypeTag[T] is required, the compiler will create one, and the reflective representation of T can be accessed via the tpe field.

    If an implicit value of type WeakTypeTag[T] is required, the compiler will create one, and the reflective representation of T can be accessed via the tpe field. Components of T can be references to type parameters or abstract types. Note that WeakTypeTag makes an effort to be as concrete as possible, i.e. if TypeTags are available for the referenced type arguments or abstract types, they are used to embed the concrete types into the WeakTypeTag. Otherwise the WeakTypeTag will contain a reference to an abstract type. This behavior can be useful, when one expects T to be perhaps be partially abstract, but requires special care to handle this case. However, if T is expected to be fully known, use scala.reflect.api.TypeTags#TypeTag instead, which statically guarantees this property.

    For more information about TypeTags, see the Reflection Guide: TypeTags

    Definition Classes
    TypeTags
    Annotations
    @implicitNotFound( "No WeakTypeTag available for ${T}" )
    See also

    scala.reflect.api.TypeTags

  464. trait ArrayArgumentApi extends AnyRef

    Permalink

    API of ArrayArgument instances.

    API of ArrayArgument instances. The main source of information about annotations is the scala.reflect.api.Annotations page.

    Definition Classes
    Annotations
    Annotations
    @deprecated
    Deprecated

    (Since version 2.11.0) Use Annotation.tree to inspect annotation arguments

  465. abstract class ArrayArgumentExtractor extends AnyRef

    Permalink

    An extractor class to create and pattern match with syntax ArrayArgument(args) where args is the argument array.

    An extractor class to create and pattern match with syntax ArrayArgument(args) where args is the argument array.

    Definition Classes
    Annotations
    Annotations
    @deprecated
    Deprecated

    (Since version 2.11.0) Use Annotation.tree to inspect annotation arguments

  466. type BuildApi = ReificationSupportApi

    Permalink
    Definition Classes
    Internals
    Annotations
    @deprecated
    Deprecated

    (Since version 2.11.0) Use internal.ReificationSupportApi instead

  467. abstract type CompilationUnit <: CompilationUnitContextApi

    Permalink

    The type of compilation units.

    The type of compilation units.

    Definition Classes
    Universe
    Annotations
    @deprecated
    Deprecated

    (Since version 2.11.0) c.enclosingTree-style APIs are now deprecated; consult the scaladoc for more information

    See also

    scala.reflect.macros.Enclosures

  468. trait CompilationUnitContextApi extends AnyRef

    Permalink

    Compilation unit describes a unit of work of the compilation run.

    Compilation unit describes a unit of work of the compilation run. It provides such information as file name, textual representation of the unit and the underlying AST.

    Definition Classes
    Universe
    Annotations
    @deprecated
    Deprecated

    (Since version 2.11.0) c.enclosingTree-style APIs are now deprecated; consult the scaladoc for more information

    See also

    scala.reflect.macros.Enclosures

  469. trait JavaArgumentApi extends AnyRef

    Permalink

    Has no special methods.

    Has no special methods. Is here to provides erased identity for CompoundType.

    Definition Classes
    Annotations
    Annotations
    @deprecated
    Deprecated

    (Since version 2.11.0) Use Annotation.tree to inspect annotation arguments

  470. trait LiteralArgumentApi extends AnyRef

    Permalink

    The API of LiteralArgument instances.

    The API of LiteralArgument instances. The main source of information about annotations is the scala.reflect.api.Annotations page.

    Definition Classes
    Annotations
    Annotations
    @deprecated
    Deprecated

    (Since version 2.11.0) Use Annotation.tree to inspect annotation arguments

  471. abstract class LiteralArgumentExtractor extends AnyRef

    Permalink

    An extractor class to create and pattern match with syntax LiteralArgument(value) where value is the constant argument.

    An extractor class to create and pattern match with syntax LiteralArgument(value) where value is the constant argument.

    Definition Classes
    Annotations
    Annotations
    @deprecated
    Deprecated

    (Since version 2.11.0) Use Annotation.tree to inspect annotation arguments

  472. type ModifiersCreator = ModifiersExtractor

    Permalink
    Definition Classes
    Trees
    Annotations
    @deprecated
    Deprecated

    (Since version 2.11.0) Use ModifiersExtractor instead

  473. trait NestedArgumentApi extends AnyRef

    Permalink

    API of NestedArgument instances.

    API of NestedArgument instances. The main source of information about annotations is the scala.reflect.api.Annotations page.

    Definition Classes
    Annotations
    Annotations
    @deprecated
    Deprecated

    (Since version 2.11.0) Use Annotation.tree to inspect annotation arguments

  474. abstract class NestedArgumentExtractor extends AnyRef

    Permalink

    An extractor class to create and pattern match with syntax NestedArgument(annotation) where annotation is the nested annotation.

    An extractor class to create and pattern match with syntax NestedArgument(annotation) where annotation is the nested annotation.

    Definition Classes
    Annotations
    Annotations
    @deprecated
    Deprecated

    (Since version 2.11.0) Use Annotation.tree to inspect annotation arguments

  475. abstract type Run <: RunContextApi

    Permalink

    The type of compilation runs.

    The type of compilation runs.

    Definition Classes
    Universe
    Annotations
    @deprecated
    Deprecated

    (Since version 2.11.0) c.enclosingTree-style APIs are now deprecated; consult the scaladoc for more information

    See also

    scala.reflect.macros.Enclosures

  476. trait RunContextApi extends AnyRef

    Permalink

    Compilation run uniquely identifies current invocation of the compiler (e.g.

    Compilation run uniquely identifies current invocation of the compiler (e.g. can be used to implement per-run caches for macros) and provides access to units of work of the invocation (currently processed unit of work and the list of all units).

    Definition Classes
    Universe
    Annotations
    @deprecated
    Deprecated

    (Since version 2.11.0) c.enclosingTree-style APIs are now deprecated; consult the scaladoc for more information

    See also

    scala.reflect.macros.Enclosures

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink

    Test two objects for inequality.

    Test two objects for inequality.

    returns

    true if !(this == that), false otherwise.

    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink

    Equivalent to x.hashCode except for boxed numeric types and null.

    Equivalent to x.hashCode except for boxed numeric types and null. For numerics, it returns a hash value which is consistent with value equality: if two value type instances compare as true, then ## will produce the same hash value for each of them. For null returns a hashcode where null.hashCode throws a NullPointerException.

    returns

    a hash value consistent with ==

    Definition Classes
    AnyRef → Any
  3. def +(other: String): String

    Permalink
    Implicit information
    This member is added by an implicit conversion from JavaUniverse to any2stringadd[JavaUniverse] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (JavaUniverse, B)

    Permalink
    Implicit information
    This member is added by an implicit conversion from JavaUniverse to ArrowAssoc[JavaUniverse] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  5. final def ==(arg0: Any): Boolean

    Permalink

    The expression x == that is equivalent to if (x eq null) that eq null else x.equals(that).

    The expression x == that is equivalent to if (x eq null) that eq null else x.equals(that).

    returns

    true if the receiver object is equivalent to the argument; false otherwise.

    Definition Classes
    AnyRef → Any
  6. val AllOps: SymbolOps

    Permalink
    Definition Classes
    Symbols
  7. object Alternative extends internal.SymbolTable.AlternativeExtractor with Serializable

    Permalink

    The constructor/extractor for Alternative instances.

    The constructor/extractor for Alternative instances.

    Definition Classes
    Trees → Trees
  8. implicit val AlternativeTag: ClassTag[Alternative]

    Permalink
    Definition Classes
    Trees
  9. object Annotated extends internal.SymbolTable.AnnotatedExtractor with Serializable

    Permalink

    The constructor/extractor for Annotated instances.

    The constructor/extractor for Annotated instances.

    Definition Classes
    Trees → Trees
  10. implicit val AnnotatedTag: ClassTag[Annotated]

    Permalink
    Definition Classes
    Trees
  11. object AnnotatedType extends internal.SymbolTable.AnnotatedTypeExtractor with Serializable

    Permalink

    The constructor/extractor for AnnotatedType instances.

    The constructor/extractor for AnnotatedType instances.

    Definition Classes
    Types → Types
  12. implicit val AnnotatedTypeTag: ClassTag[AnnotatedType]

    Permalink
    Definition Classes
    Types
  13. object Annotation extends internal.SymbolTable.AnnotationExtractor

    Permalink

    The constructor/extractor for Annotation instances.

    The constructor/extractor for Annotation instances.

    Definition Classes
    AnnotationInfos → Annotations
  14. object AnnotationInfo

    Permalink
    Definition Classes
    AnnotationInfos
  15. implicit val AnnotationTag: ClassTag[AnnotationInfo]

    Permalink
    Definition Classes
    AnnotationInfos
  16. implicit def AnyNameOps(name: Name): NameOps[Name]

    Permalink
    Definition Classes
    Names
  17. object AppliedTypeTree extends internal.SymbolTable.AppliedTypeTreeExtractor with Serializable

    Permalink

    The constructor/extractor for AppliedTypeTree instances.

    The constructor/extractor for AppliedTypeTree instances.

    Definition Classes
    Trees → Trees
  18. implicit val AppliedTypeTreeTag: ClassTag[AppliedTypeTree]

    Permalink
    Definition Classes
    Trees
  19. def Apply(sym: Symbol, args: Tree*): Tree

    Permalink

    A factory method for Apply nodes.

    A factory method for Apply nodes.

    Definition Classes
    Trees → Trees
  20. object Apply extends internal.SymbolTable.ApplyExtractor with Serializable

    Permalink

    The constructor/extractor for Apply instances.

    The constructor/extractor for Apply instances.

    Definition Classes
    Trees → Trees
  21. def ApplyConstructor(tpt: Tree, args: List[Tree]): Apply

    Permalink

    0-1 argument list new, based on a type tree.

    0-1 argument list new, based on a type tree.

    Definition Classes
    Trees → Trees
  22. implicit val ApplyTag: ClassTag[Apply]

    Permalink
    Definition Classes
    Trees
  23. object ApproximateDependentMap extends internal.SymbolTable.TypeMap

    Permalink
    Definition Classes
    TypeMaps
  24. object ArrayAnnotArg extends internal.SymbolTable.ArrayArgumentExtractor with Serializable

    Permalink
    Definition Classes
    AnnotationInfos
  25. val ArrayArgument: ArrayAnnotArg.type

    Permalink

    The constructor/extractor for ArrayArgument instances.

    The constructor/extractor for ArrayArgument instances.

    Definition Classes
    AnnotationInfos → Annotations
  26. implicit val ArrayArgumentTag: ClassTag[ArrayAnnotArg]

    Permalink
    Definition Classes
    AnnotationInfos
  27. object ArrayTypeRef

    Permalink
    Definition Classes
    Types
  28. object Assign extends internal.SymbolTable.AssignExtractor with Serializable

    Permalink

    The constructor/extractor for Assign instances.

    The constructor/extractor for Assign instances.

    Definition Classes
    Trees → Trees
  29. object AssignOrNamedArg extends internal.SymbolTable.AssignOrNamedArgExtractor with Serializable

    Permalink

    The constructor/extractor for AssignOrNamedArg instances.

    The constructor/extractor for AssignOrNamedArg instances.

    Definition Classes
    Trees → Trees
  30. implicit val AssignOrNamedArgTag: ClassTag[AssignOrNamedArg]

    Permalink
    Definition Classes
    Trees
  31. implicit val AssignTag: ClassTag[Assign]

    Permalink
    Definition Classes
    Trees
  32. object BackquotedIdentifierAttachment extends internal.SymbolTable.PlainAttachment with Product with Serializable

    Permalink

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

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

    Definition Classes
    StdAttachments
  33. def Bind(sym: Symbol, body: Tree): Bind

    Permalink

    A factory method for Bind nodes.

    A factory method for Bind nodes.

    Definition Classes
    Trees → Trees
  34. object Bind extends internal.SymbolTable.BindExtractor with Serializable

    Permalink

    The constructor/extractor for Bind instances.

    The constructor/extractor for Bind instances.

    Definition Classes
    Trees → Trees
  35. implicit val BindTag: ClassTag[Bind]

    Permalink
    Definition Classes
    Trees
  36. def Block(stats: Tree*): Block

    Permalink

    Block factory that flattens directly nested blocks.

    Block factory that flattens directly nested blocks.

    Definition Classes
    Trees → Trees
  37. object Block extends internal.SymbolTable.BlockExtractor with Serializable

    Permalink

    The constructor/extractor for Block instances.

    The constructor/extractor for Block instances.

    Definition Classes
    Trees → Trees
  38. implicit val BlockTag: ClassTag[Block]

    Permalink
    Definition Classes
    Trees
  39. object BooleanFlag extends Serializable

    Permalink

    Definition Classes
    Printers
  40. final val BooleanTag: Int(2)

    Permalink
    Definition Classes
    Constants
  41. object BoundedWildcardType extends internal.SymbolTable.BoundedWildcardTypeExtractor with Serializable

    Permalink

    The constructor/extractor for BoundedWildcardType instances.

    The constructor/extractor for BoundedWildcardType instances.

    Definition Classes
    Types → Types
  42. implicit val BoundedWildcardTypeTag: ClassTag[BoundedWildcardType]

    Permalink
    Definition Classes
    Types
  43. final val ByteTag: Int(3)

    Permalink
    Definition Classes
    Constants
  44. def CaseDef(pat: Tree, body: Tree): CaseDef

    Permalink

    casedef shorthand

    casedef shorthand

    Definition Classes
    Trees → Trees
  45. object CaseDef extends internal.SymbolTable.CaseDefExtractor with Serializable

    Permalink

    The constructor/extractor for CaseDef instances.

    The constructor/extractor for CaseDef instances.

    Definition Classes
    Trees → Trees
  46. implicit val CaseDefTag: ClassTag[CaseDef]

    Permalink
    Definition Classes
    Trees
  47. final val CharTag: Int(5)

    Permalink
    Definition Classes
    Constants
  48. object ClassDef extends internal.SymbolTable.ClassDefExtractor with Serializable

    Permalink

    The constructor/extractor for ClassDef instances.

    The constructor/extractor for ClassDef instances.

    Definition Classes
    Trees → Trees
  49. implicit val ClassDefTag: ClassTag[ClassDef]

    Permalink
    Definition Classes
    Trees
  50. object ClassInfoType extends internal.SymbolTable.ClassInfoTypeExtractor with Serializable

    Permalink

    The constructor/extractor for ClassInfoType instances.

    The constructor/extractor for ClassInfoType instances.

    Definition Classes
    Types → Types
  51. implicit val ClassInfoTypeTag: ClassTag[ClassInfoType]

    Permalink
    Definition Classes
    Types
  52. implicit val ClassSymbolTag: ClassTag[ClassSymbol]

    Permalink
    Definition Classes
    Symbols
  53. final val ClazzTag: Int(12)

    Permalink
    Definition Classes
    Constants
  54. object CompoundType

    Permalink
    Definition Classes
    Types
  55. implicit val CompoundTypeTag: ClassTag[CompoundType]

    Permalink
    Definition Classes
    Types
  56. object CompoundTypeTree extends internal.SymbolTable.CompoundTypeTreeExtractor with Serializable

    Permalink

    The constructor/extractor for CompoundTypeTree instances.

    The constructor/extractor for CompoundTypeTree instances.

    Definition Classes
    Trees → Trees
  57. implicit val CompoundTypeTreeTag: ClassTag[CompoundTypeTree]

    Permalink
    Definition Classes
    Trees
  58. object ConsoleWriter extends Writer

    Permalink

    A writer that writes to the current Console and is sensitive to replacement of the Console's output stream.

    A writer that writes to the current Console and is sensitive to replacement of the Console's output stream.

    Definition Classes
    Printers
  59. object Constant extends internal.SymbolTable.ConstantExtractor with Serializable

    Permalink

    The constructor/extractor for Constant instances.

    The constructor/extractor for Constant instances.

    Definition Classes
    Constants → Constants
  60. implicit val ConstantTag: ClassTag[Constant]

    Permalink
    Definition Classes
    Constants
  61. object ConstantType extends internal.SymbolTable.ConstantTypeExtractor with Serializable

    Permalink

    The constructor/extractor for ConstantType instances.

    The constructor/extractor for ConstantType instances.

    Definition Classes
    Types → Types
  62. implicit val ConstantTypeTag: ClassTag[ConstantType]

    Permalink
    Definition Classes
    Types
  63. val CyclicInheritance: java.lang.Throwable

    Permalink
    Definition Classes
    BaseTypeSeqs
  64. object DefDef extends internal.SymbolTable.DefDefExtractor with Serializable

    Permalink

    The constructor/extractor for DefDef instances.

    The constructor/extractor for DefDef instances.

    Definition Classes
    Trees → Trees
  65. implicit val DefDefTag: ClassTag[DefDef]

    Permalink
    Definition Classes
    Trees
  66. implicit val DefTreeTag: ClassTag[DefTree]

    Permalink
    Definition Classes
    Trees
  67. final val DoubleTag: Int(9)

    Permalink
    Definition Classes
    Constants
  68. object EmptyScope extends internal.SymbolTable.Scope

    Permalink

    The empty scope (immutable).

    The empty scope (immutable).

    Definition Classes
    Scopes
  69. object EmptyTree extends internal.SymbolTable.Tree with internal.SymbolTable.TermTree with internal.SymbolTable.CannotHaveAttrs with Product with Serializable

    Permalink

    The empty tree

    The empty tree

    Definition Classes
    Trees → Trees
  70. lazy val EmptyTreeTypeSubstituter: TreeTypeSubstituter

    Permalink
    Definition Classes
    Trees
  71. final val EnumTag: Int(13)

    Permalink
    Definition Classes
    Constants
  72. object ErasedValueType extends Serializable

    Permalink
    Definition Classes
    Types
  73. object ErroneousCollector extends internal.SymbolTable.TypeCollector[Boolean]

    Permalink

    A map to implement the contains method.

    A map to implement the contains method.

    Definition Classes
    TypeMaps
  74. object ErrorType extends internal.SymbolTable.Type with Product with Serializable

    Permalink

    An object representing an erroneous type

    An object representing an erroneous type

    Definition Classes
    Types
  75. object ExistentialType extends internal.SymbolTable.ExistentialTypeExtractor with Serializable

    Permalink

    The constructor/extractor for ExistentialType instances.

    The constructor/extractor for ExistentialType instances.

    Definition Classes
    Types → Types
  76. implicit val ExistentialTypeTag: ClassTag[ExistentialType]

    Permalink
    Definition Classes
    Types
  77. object ExistentialTypeTree extends internal.SymbolTable.ExistentialTypeTreeExtractor with Serializable

    Permalink

    The constructor/extractor for ExistentialTypeTree instances.

    The constructor/extractor for ExistentialTypeTree instances.

    Definition Classes
    Trees → Trees
  78. implicit val ExistentialTypeTreeTag: ClassTag[ExistentialTypeTree]

    Permalink
    Definition Classes
    Trees
  79. object Expr extends Serializable

    Permalink

    Constructor/Extractor for Expr.

    Constructor/Extractor for Expr.

    Can be useful, when having a tree and wanting to splice it in reify call, in which case the tree first needs to be wrapped in an expr.

    The main source of information about exprs is the scala.reflect.api.Exprs page.

    Definition Classes
    Exprs
  80. object Flag extends internal.SymbolTable.FlagValues

    Permalink

    A module that contains all possible values that can constitute flag sets.

    A module that contains all possible values that can constitute flag sets.

    Definition Classes
    FlagSets → FlagSets
  81. def FlagOps(mask: Long): SymbolOps

    Permalink
    Definition Classes
    Symbols
  82. implicit val FlagSetTag: ClassTag[FlagSet]

    Permalink
    Definition Classes
    FlagSets
  83. final val FloatTag: Int(8)

    Permalink
    Definition Classes
    Constants
  84. object ForAttachment extends internal.SymbolTable.PlainAttachment with Product with Serializable

    Permalink

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

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

    Definition Classes
    StdAttachments
  85. implicit val FreeTermSymbolTag: ClassTag[FreeTermSymbol]

    Permalink
    Definition Classes
    Symbols
  86. implicit val FreeTypeSymbolTag: ClassTag[FreeTypeSymbol]

    Permalink
    Definition Classes
    Symbols
  87. object Function extends internal.SymbolTable.FunctionExtractor with Serializable

    Permalink

    The constructor/extractor for Function instances.

    The constructor/extractor for Function instances.

    Definition Classes
    Trees → Trees
  88. implicit val FunctionTag: ClassTag[Function]

    Permalink
    Definition Classes
    Trees
  89. object GenPolyType

    Permalink

    A creator and extractor for type parameterizations that strips empty type parameter lists.

    A creator and extractor for type parameterizations that strips empty type parameter lists. Use this factory method to indicate the type has kind * (it's a polymorphic value) until we start tracking explicit kinds equivalent to typeFun (except that the latter requires tparams nonEmpty).

    PP to AM: I've co-opted this for where I know tparams may well be empty, and expecting to get back tpe in such cases. Re being "forgiving" below, can we instead say this is the canonical creator for polyTypes which may or may not be poly? (It filched the standard "canonical creator" name.)

    Definition Classes
    Types
  90. implicit val GenericApplyTag: ClassTag[GenericApply]

    Permalink
    Definition Classes
    Trees
  91. val GlbFailure: java.lang.Throwable

    Permalink
    Definition Classes
    GlbLubs
  92. object HasTypeMember

    Permalink
    Definition Classes
    Types
  93. def Ident(sym: Symbol): Ident

    Permalink

    A factory method for Ident nodes.

    A factory method for Ident nodes.

    Definition Classes
    Trees → Trees
  94. def Ident(name: String): Ident

    Permalink

    A factory method for Ident nodes.

    A factory method for Ident nodes.

    Definition Classes
    Trees → Trees
  95. object Ident extends internal.SymbolTable.IdentExtractor with Serializable

    Permalink

    The constructor/extractor for Ident instances.

    The constructor/extractor for Ident instances.

    Definition Classes
    Trees → Trees
  96. implicit val IdentTag: ClassTag[Ident]

    Permalink
    Definition Classes
    Trees
  97. object If extends internal.SymbolTable.IfExtractor with Serializable

    Permalink

    The constructor/extractor for If instances.

    The constructor/extractor for If instances.

    Definition Classes
    Trees → Trees
  98. implicit val IfTag: ClassTag[If]

    Permalink
    Definition Classes
    Trees
  99. implicit val ImplDefTag: ClassTag[ImplDef]

    Permalink
    Definition Classes
    Trees
  100. object Import extends internal.SymbolTable.ImportExtractor with Serializable

    Permalink

    The constructor/extractor for Import instances.

    The constructor/extractor for Import instances.

    Definition Classes
    Trees → Trees
  101. object ImportSelector extends internal.SymbolTable.ImportSelectorExtractor with Serializable

    Permalink

    The constructor/extractor for ImportSelector instances.

    The constructor/extractor for ImportSelector instances.

    Definition Classes
    Trees → Trees
  102. implicit val ImportSelectorTag: ClassTag[ImportSelector]

    Permalink
    Definition Classes
    Trees
  103. implicit val ImportTag: ClassTag[Import]

    Permalink
    Definition Classes
    Trees
  104. final val IntTag: Int(6)

    Permalink
    Definition Classes
    Constants
  105. object IsDependentCollector extends internal.SymbolTable.TypeCollector[Boolean]

    Permalink
    Definition Classes
    TypeMaps
  106. implicit val JavaArgumentTag: ClassTag[ClassfileAnnotArg]

    Permalink
    Definition Classes
    AnnotationInfos
  107. def JavaMethodType(params: List[Symbol], resultType: Type): JavaMethodType

    Permalink

    The canonical creator for implicit method types

    The canonical creator for implicit method types

    Definition Classes
    Types
  108. object Kind

    Permalink
    Definition Classes
    Kinds
  109. object KnownDirectSubclassesCalled extends internal.SymbolTable.PlainAttachment with Product with Serializable

    Permalink

    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.

    Definition Classes
    StdAttachments
  110. object LabelDef extends internal.SymbolTable.LabelDefExtractor with Serializable

    Permalink

    The constructor/extractor for LabelDef instances.

    The constructor/extractor for LabelDef instances.

    Definition Classes
    Trees → Trees
  111. implicit val LabelDefTag: ClassTag[LabelDef]

    Permalink
    Definition Classes
    Trees
  112. object Liftable extends Universe.StandardLiftableInstances

    Permalink

    Companion to Liftable type class that contains standard instances and provides a helper apply method to simplify creation of new ones.

    Companion to Liftable type class that contains standard instances and provides a helper apply method to simplify creation of new ones.

    Definition Classes
    Liftables
  113. object Literal extends internal.SymbolTable.LiteralExtractor with Serializable

    Permalink

    The constructor/extractor for Literal instances.

    The constructor/extractor for Literal instances.

    Definition Classes
    Trees → Trees
  114. object LiteralAnnotArg extends internal.SymbolTable.LiteralArgumentExtractor with Serializable

    Permalink
    Definition Classes
    AnnotationInfos
  115. val LiteralArgument: LiteralAnnotArg.type

    Permalink

    The constructor/extractor for LiteralArgument instances.

    The constructor/extractor for LiteralArgument instances.

    Definition Classes
    AnnotationInfos → Annotations
  116. implicit val LiteralArgumentTag: ClassTag[LiteralAnnotArg]

    Permalink
    Definition Classes
    AnnotationInfos
  117. implicit val LiteralTag: ClassTag[Literal]

    Permalink
    Definition Classes
    Trees
  118. final val LongTag: Int(7)

    Permalink
    Definition Classes
    Constants
  119. object LookupNotFound extends internal.SymbolTable.NameLookup with Product with Serializable

    Permalink
    Definition Classes
    Scopes
  120. object Match extends internal.SymbolTable.MatchExtractor with Serializable

    Permalink

    The constructor/extractor for Match instances.

    The constructor/extractor for Match instances.

    Definition Classes
    Trees → Trees
  121. implicit val MatchTag: ClassTag[Match]

    Permalink
    Definition Classes
    Trees
  122. implicit val MemberDefTag: ClassTag[MemberDef]

    Permalink
    Definition Classes
    Trees
  123. implicit val MemberScopeTag: ClassTag[MemberScope]

    Permalink
    Definition Classes
    Scopes
  124. implicit val MethodSymbolTag: ClassTag[MethodSymbol]

    Permalink
    Definition Classes
    Symbols
  125. object MethodType extends internal.SymbolTable.MethodTypeExtractor with Serializable

    Permalink

    The constructor/extractor for MethodType instances.

    The constructor/extractor for MethodType instances.

    Definition Classes
    Types → Types
  126. implicit val MethodTypeTag: ClassTag[MethodType]

    Permalink
    Definition Classes
    Types
  127. implicit val MirrorTag: ClassTag[Mirror]

    Permalink
    Definition Classes
    JavaMirrors → ImplicitTags
  128. def Modifiers(flags: FlagSet): Modifiers

    Permalink

    The factory for Modifiers instances.

    The factory for Modifiers instances.

    Definition Classes
    Trees
  129. def Modifiers(flags: FlagSet, privateWithin: Name): Modifiers

    Permalink

    The factory for Modifiers instances.

    The factory for Modifiers instances.

    Definition Classes
    Trees
  130. object Modifiers extends internal.SymbolTable.ModifiersExtractor with Serializable

    Permalink

    The constructor/extractor for Modifiers instances.

    The constructor/extractor for Modifiers instances.

    Definition Classes
    Trees → Trees
  131. implicit val ModifiersTag: ClassTag[Modifiers]

    Permalink
    Definition Classes
    Trees
  132. object ModuleDef extends internal.SymbolTable.ModuleDefExtractor with Serializable

    Permalink

    The constructor/extractor for ModuleDef instances.

    The constructor/extractor for ModuleDef instances.

    Definition Classes
    Trees → Trees
  133. implicit val ModuleDefTag: ClassTag[ModuleDef]

    Permalink
    Definition Classes
    Trees
  134. implicit val ModuleSymbolTag: ClassTag[ModuleSymbol]

    Permalink
    Definition Classes
    Symbols
  135. implicit val NameTag: ClassTag[Name]

    Permalink
    Definition Classes
    Names
  136. implicit val NameTreeTag: ClassTag[NameTree]

    Permalink
    Definition Classes
    Trees
  137. object NestedAnnotArg extends internal.SymbolTable.NestedArgumentExtractor with Serializable

    Permalink
    Definition Classes
    AnnotationInfos
  138. val NestedArgument: NestedAnnotArg.type

    Permalink

    The constructor/extractor for NestedArgument instances.

    The constructor/extractor for NestedArgument instances.

    Definition Classes
    AnnotationInfos → Annotations
  139. implicit val NestedArgumentTag: ClassTag[NestedAnnotArg]

    Permalink
    Definition Classes
    AnnotationInfos
  140. def New(sym: Symbol, args: Tree*): Tree

    Permalink

    0-1 argument list new, based on a symbol.

    0-1 argument list new, based on a symbol.

    Definition Classes
    Trees → Trees
  141. def New(tpe: Type, argss: List[List[Tree]]): Tree

    Permalink
    Definition Classes
    Trees
  142. def New(tpe: Type, args: Tree*): Tree

    Permalink

    0-1 argument list new, based on a type.

    0-1 argument list new, based on a type.

    Definition Classes
    Trees → Trees
  143. def New(tpt: Tree, argss: List[List[Tree]]): Tree

    Permalink

    Factory method for object creation new tpt(args_1)...(args_n) A New(t, as) is expanded to: (new t).<init>(as)

    Factory method for object creation new tpt(args_1)...(args_n) A New(t, as) is expanded to: (new t).<init>(as)

    Definition Classes
    Trees → Trees
  144. object New extends internal.SymbolTable.NewExtractor with Serializable

    Permalink

    The constructor/extractor for New instances.

    The constructor/extractor for New instances.

    Definition Classes
    Trees → Trees
  145. def NewFromConstructor(constructor: Symbol, args: Tree*): Apply

    Permalink
    Definition Classes
    Trees
  146. implicit val NewTag: ClassTag[New]

    Permalink
    Definition Classes
    Trees
  147. val NoFlags: FlagSet

    Permalink

    The empty set of flags

    The empty set of flags

    Definition Classes
    FlagSets → FlagSets
  148. val NoKindErrors: KindErrors

    Permalink
    Definition Classes
    Kinds
  149. lazy val NoMods: Modifiers

    Permalink

    An empty Modifiers object: no flags, empty visibility annotation and no Scala annotations.

    An empty Modifiers object: no flags, empty visibility annotation and no Scala annotations.

    Definition Classes
    Trees
  150. final val NoPeriod: Int(0)

    Permalink
    Definition Classes
    SymbolTable
  151. val NoPosition: internal.util.NoPosition.type

    Permalink

    A special "missing" position.

    A special "missing" position.

    Definition Classes
    Positions → Positions
  152. object NoPrefix extends internal.SymbolTable.Type with Product with Serializable

    Permalink

    An object representing a non-existing prefix

    An object representing a non-existing prefix

    Definition Classes
    Types → Types
  153. final val NoRunId: Int(0)

    Permalink
    Definition Classes
    SymbolTable
  154. lazy val NoSymbol: NoSymbol

    Permalink

    A special "missing" symbol.

    A special "missing" symbol. Commonly used in the API to denote a default or empty value.

    Definition Classes
    Symbols → Symbols
  155. final val NoTag: Int(0)

    Permalink
    Definition Classes
    Constants
  156. object NoType extends internal.SymbolTable.Type with Product with Serializable

    Permalink

    An object representing a non-existing type

    An object representing a non-existing type

    Definition Classes
    Types → Types
  157. final val NullTag: Int(11)

    Permalink
    Definition Classes
    Constants
  158. object NullaryMethodType extends internal.SymbolTable.NullaryMethodTypeExtractor with Serializable

    Permalink

    The constructor/extractor for NullaryMethodType instances.

    The constructor/extractor for NullaryMethodType instances.

    Definition Classes
    Types → Types
  159. implicit val NullaryMethodTypeTag: ClassTag[NullaryMethodType]

    Permalink
    Definition Classes
    Types
  160. object PackageDef extends internal.SymbolTable.PackageDefExtractor with Serializable

    Permalink

    The constructor/extractor for PackageDef instances.

    The constructor/extractor for PackageDef instances.

    Definition Classes
    Trees → Trees
  161. implicit val PackageDefTag: ClassTag[PackageDef]

    Permalink
    Definition Classes
    Trees
  162. def PerRunReporting: PerRunReporting

    Permalink
    Attributes
    protected
    Definition Classes
    JavaUniverse → Reporting
  163. object PolyType extends internal.SymbolTable.PolyTypeExtractor with Serializable

    Permalink

    The constructor/extractor for PolyType instances.

    The constructor/extractor for PolyType instances.

    Definition Classes
    Types → Types
  164. implicit val PolyTypeTag: ClassTag[PolyType]

    Permalink
    Definition Classes
    Types
  165. implicit val PositionTag: ClassTag[Position]

    Permalink
    Definition Classes
    Positions
  166. object ProperTypeKind

    Permalink
    Definition Classes
    Kinds
  167. object RefTree extends internal.SymbolTable.RefTreeExtractor

    Permalink

    The constructor/extractor for RefTree instances.

    The constructor/extractor for RefTree instances.

    Definition Classes
    Trees → Trees
  168. implicit val RefTreeTag: ClassTag[RefTree]

    Permalink
    Definition Classes
    Trees
  169. object ReferenceToBoxed extends internal.SymbolTable.ReferenceToBoxedExtractor with Serializable

    Permalink
    Definition Classes
    Trees
  170. implicit val ReferenceToBoxedTag: ClassTag[ReferenceToBoxed]

    Permalink
    Definition Classes
    Trees
  171. object RefinedType extends internal.SymbolTable.RefinedTypeExtractor with Serializable

    Permalink

    The constructor/extractor for RefinedType instances.

    The constructor/extractor for RefinedType instances.

    Definition Classes
    Types → Types
  172. implicit val RefinedTypeTag: ClassTag[RefinedType]

    Permalink
    Definition Classes
    Types
  173. object Return extends internal.SymbolTable.ReturnExtractor with Serializable

    Permalink

    The constructor/extractor for Return instances.

    The constructor/extractor for Return instances.

    Definition Classes
    Trees → Trees
  174. implicit val ReturnTag: ClassTag[Return]

    Permalink
    Definition Classes
    Trees
  175. implicit val RuntimeClassTag: ClassTag[RuntimeClass]

    Permalink
    Definition Classes
    JavaUniverseImplicitTags
  176. object Scope

    Permalink
    Definition Classes
    Scopes
  177. implicit val ScopeTag: ClassTag[Scope]

    Permalink
    Definition Classes
    Scopes
  178. def Select(qualifier: Tree, sym: Symbol): Select

    Permalink

    A factory method for Select nodes.

    A factory method for Select nodes.

    Definition Classes
    Trees → Trees
  179. def Select(qualifier: Tree, name: String): Select

    Permalink

    A factory method for Select nodes.

    A factory method for Select nodes. The string name argument is assumed to represent a TermName.

    Definition Classes
    Trees → Trees
  180. object Select extends internal.SymbolTable.SelectExtractor with Serializable

    Permalink

    The constructor/extractor for Select instances.

    The constructor/extractor for Select instances.

    Definition Classes
    Trees → Trees
  181. object SelectFromTypeTree extends internal.SymbolTable.SelectFromTypeTreeExtractor with Serializable

    Permalink

    The constructor/extractor for SelectFromTypeTree instances.

    The constructor/extractor for SelectFromTypeTree instances.

    Definition Classes
    Trees → Trees
  182. implicit val SelectFromTypeTreeTag: ClassTag[SelectFromTypeTree]

    Permalink
    Definition Classes
    Trees
  183. implicit val SelectTag: ClassTag[Select]

    Permalink
    Definition Classes
    Trees
  184. final val ShortTag: Int(4)

    Permalink
    Definition Classes
    Constants
  185. object SingleType extends internal.SymbolTable.SingleTypeExtractor with Serializable

    Permalink

    The constructor/extractor for SingleType instances.

    The constructor/extractor for SingleType instances.

    Definition Classes
    Types → Types
  186. implicit val SingleTypeTag: ClassTag[SingleType]

    Permalink
    Definition Classes
    Types
  187. implicit val SingletonTypeTag: ClassTag[SingletonType]

    Permalink
    Definition Classes
    Types
  188. object SingletonTypeTree extends internal.SymbolTable.SingletonTypeTreeExtractor with Serializable

    Permalink

    The constructor/extractor for SingletonTypeTree instances.

    The constructor/extractor for SingletonTypeTree instances.

    Definition Classes
    Trees → Trees
  189. implicit val SingletonTypeTreeTag: ClassTag[SingletonTypeTree]

    Permalink
    Definition Classes
    Trees
  190. object Star extends internal.SymbolTable.StarExtractor with Serializable

    Permalink

    The constructor/extractor for Star instances.

    The constructor/extractor for Star instances.

    Definition Classes
    Trees → Trees
  191. implicit val StarTag: ClassTag[Star]

    Permalink
    Definition Classes
    Trees
  192. object StaticallyAnnotatedType

    Permalink
    Definition Classes
    Types
  193. implicit val StringContextStripMarginOps: (StringContext) ⇒ StringContextStripMarginOps

    Permalink

    Adds the sm String interpolator to a scala.StringContext.

    Adds the sm String interpolator to a scala.StringContext.

    Definition Classes
    SymbolTable
  194. final val StringTag: Int(10)

    Permalink
    Definition Classes
    Constants
  195. def Super(sym: Symbol, mix: TypeName): Tree

    Permalink

    A factory method for Super nodes.

    A factory method for Super nodes.

    Definition Classes
    Trees → Trees
  196. object Super extends internal.SymbolTable.SuperExtractor with Serializable

    Permalink

    The constructor/extractor for Super instances.

    The constructor/extractor for Super instances.

    Definition Classes
    Trees → Trees
  197. implicit val SuperTag: ClassTag[Super]

    Permalink
    Definition Classes
    Trees
  198. object SuperType extends internal.SymbolTable.SuperTypeExtractor with Serializable

    Permalink

    The constructor/extractor for SuperType instances.

    The constructor/extractor for SuperType instances.

    Definition Classes
    Types → Types
  199. implicit val SuperTypeTag: ClassTag[SuperType]

    Permalink
    Definition Classes
    Types
  200. implicit val SymTreeTag: ClassTag[SymTree]

    Permalink
    Definition Classes
    Trees
  201. implicit val SymbolTag: ClassTag[Symbol]

    Permalink
    Definition Classes
    Symbols
  202. object SyntheticUnitAttachment extends internal.SymbolTable.PlainAttachment with Product with Serializable

    Permalink

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

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

    Definition Classes
    StdAttachments
  203. def Template(sym: Symbol, body: List[Tree]): Template

    Permalink

    sym

    the template's symbol

    body

    trees that constitute the body of the template

    returns

    the template

    Definition Classes
    Trees
  204. object Template extends internal.SymbolTable.TemplateExtractor with Serializable

    Permalink

    The constructor/extractor for Template instances.

    The constructor/extractor for Template instances.

    Definition Classes
    Trees → Trees
  205. implicit val TemplateTag: ClassTag[Template]

    Permalink
    Definition Classes
    Trees
  206. object TermName extends internal.Names.TermNameExtractor

    Permalink

    The constructor/extractor for TermName instances.

    The constructor/extractor for TermName instances.

    Definition Classes
    Names → Names
  207. implicit def TermNameOps(name: TermName): NameOps[TermName]

    Permalink
    Definition Classes
    Names
  208. implicit val TermNameTag: ClassTag[TermName]

    Permalink
    Definition Classes
    Names
  209. implicit val TermSymbolTag: ClassTag[TermSymbol]

    Permalink
    Definition Classes
    Symbols
  210. implicit val TermTreeTag: ClassTag[TermTree]

    Permalink
    Definition Classes
    Trees
  211. def This(sym: Symbol): Tree

    Permalink

    A factory method for This nodes.

    A factory method for This nodes.

    Definition Classes
    Trees → Trees
  212. object This extends internal.SymbolTable.ThisExtractor with Serializable

    Permalink

    The constructor/extractor for This instances.

    The constructor/extractor for This instances.

    Definition Classes
    Trees → Trees
  213. implicit val ThisTag: ClassTag[This]

    Permalink
    Definition Classes
    Trees
  214. object ThisType extends internal.SymbolTable.ThisTypeExtractor with Serializable

    Permalink

    The constructor/extractor for ThisType instances.

    The constructor/extractor for ThisType instances.

    Definition Classes
    Types → Types
  215. implicit val ThisTypeTag: ClassTag[ThisType]

    Permalink
    Definition Classes
    Types
  216. def Throw(tpe: Type, args: Tree*): Throw

    Permalink

    A factory method for Throw nodes.

    A factory method for Throw nodes.

    Definition Classes
    Trees → Trees
  217. object Throw extends internal.SymbolTable.ThrowExtractor with Serializable

    Permalink

    The constructor/extractor for Throw instances.

    The constructor/extractor for Throw instances.

    Definition Classes
    Trees → Trees
  218. implicit val ThrowTag: ClassTag[Throw]

    Permalink
    Definition Classes
    Trees
  219. object ThrownException

    Permalink

    Extracts symbol of thrown exception from AnnotationInfo.

    Extracts symbol of thrown exception from AnnotationInfo.

    Supports both “old-style” @throws(classOf[Exception]) as well as “new-stye” @throws[Exception]("cause") annotations.

    Definition Classes
    AnnotationInfos
  220. implicit val TreeCopierTag: ClassTag[TreeCopier]

    Permalink
    Definition Classes
    JavaUniverseImplicitTags
  221. implicit val TreeTag: ClassTag[Tree]

    Permalink
    Definition Classes
    Trees
  222. def Try(body: Tree, cases: (Tree, Tree)*): Try

    Permalink

    A factory method for Try nodes.

    A factory method for Try nodes.

    Definition Classes
    Trees → Trees
  223. object Try extends internal.SymbolTable.TryExtractor with Serializable

    Permalink

    The constructor/extractor for Try instances.

    The constructor/extractor for Try instances.

    Definition Classes
    Trees → Trees
  224. implicit val TryTag: ClassTag[Try]

    Permalink
    Definition Classes
    Trees
  225. implicit val TypTreeTag: ClassTag[TypTree]

    Permalink
    Definition Classes
    Trees
  226. object TypeApply extends internal.SymbolTable.TypeApplyExtractor with Serializable

    Permalink

    The constructor/extractor for TypeApply instances.

    The constructor/extractor for TypeApply instances.

    Definition Classes
    Trees → Trees
  227. implicit val TypeApplyTag: ClassTag[TypeApply]

    Permalink
    Definition Classes
    Trees
  228. object TypeBounds extends internal.SymbolTable.TypeBoundsExtractor with Serializable

    Permalink

    The constructor/extractor for TypeBounds instances.

    The constructor/extractor for TypeBounds instances.

    Definition Classes
    Types → Types
  229. implicit val TypeBoundsTag: ClassTag[TypeBounds]

    Permalink
    Definition Classes
    Types
  230. def TypeBoundsTree(sym: Symbol): TypeBoundsTree

    Permalink
    Definition Classes
    Trees
  231. def TypeBoundsTree(bounds: TypeBounds): TypeBoundsTree

    Permalink
    Definition Classes
    Trees
  232. object TypeBoundsTree extends internal.SymbolTable.TypeBoundsTreeExtractor with Serializable

    Permalink

    The constructor/extractor for TypeBoundsTree instances.

    The constructor/extractor for TypeBoundsTree instances.

    Definition Classes
    Trees → Trees
  233. implicit val TypeBoundsTreeTag: ClassTag[TypeBoundsTree]

    Permalink
    Definition Classes
    Trees
  234. object TypeConKind

    Permalink
    Definition Classes
    Kinds
  235. object TypeDef extends internal.SymbolTable.TypeDefExtractor with Serializable

    Permalink

    The constructor/extractor for TypeDef instances.

    The constructor/extractor for TypeDef instances.

    Definition Classes
    Trees → Trees
  236. implicit val TypeDefTag: ClassTag[TypeDef]

    Permalink
    Definition Classes
    Trees
  237. object TypeName extends internal.Names.TypeNameExtractor

    Permalink

    The constructor/extractor for TypeName instances.

    The constructor/extractor for TypeName instances.

    Definition Classes
    Names → Names
  238. implicit def TypeNameOps(name: TypeName): NameOps[TypeName]

    Permalink
    Definition Classes
    Names
  239. implicit val TypeNameTag: ClassTag[TypeName]

    Permalink
    Definition Classes
    Names
  240. object TypeRef extends internal.SymbolTable.TypeRefExtractor with Serializable

    Permalink

    The constructor/extractor for TypeRef instances.

    The constructor/extractor for TypeRef instances.

    Definition Classes
    Types → Types
  241. implicit val TypeRefTag: ClassTag[TypeRef]

    Permalink
    Definition Classes
    Types
  242. implicit val TypeSymbolTag: ClassTag[TypeSymbol]

    Permalink
    Definition Classes
    Symbols
  243. object TypeTag extends Serializable

    Permalink

    Type tags corresponding to primitive types and constructor/extractor for WeakTypeTags.

    Type tags corresponding to primitive types and constructor/extractor for WeakTypeTags.

    Definition Classes
    TypeTags
  244. implicit val TypeTagg: ClassTag[Type]

    Permalink
    Definition Classes
    Types
  245. def TypeTree(tp: Type): TypeTree

    Permalink

    A factory method for TypeTree nodes.

    A factory method for TypeTree nodes.

    Definition Classes
    Trees → Trees
  246. object TypeTree extends internal.SymbolTable.TypeTreeExtractor with Serializable

    Permalink

    The constructor/extractor for TypeTree instances.

    The constructor/extractor for TypeTree instances.

    Definition Classes
    Trees → Trees
  247. implicit val TypeTreeTag: ClassTag[TypeTree]

    Permalink
    Definition Classes
    Trees
  248. object TypeVar extends Serializable

    Permalink
    Definition Classes
    Types
  249. object Typed extends internal.SymbolTable.TypedExtractor with Serializable

    Permalink

    The constructor/extractor for Typed instances.

    The constructor/extractor for Typed instances.

    Definition Classes
    Trees → Trees
  250. implicit val TypedTag: ClassTag[Typed]

    Permalink
    Definition Classes
    Trees
  251. object UnApply extends internal.SymbolTable.UnApplyExtractor with Serializable

    Permalink

    The constructor/extractor for UnApply instances.

    The constructor/extractor for UnApply instances.

    Definition Classes
    Trees → Trees
  252. implicit val UnApplyTag: ClassTag[UnApply]

    Permalink
    Definition Classes
    Trees
  253. final val UnitTag: Int(1)

    Permalink
    Definition Classes
    Constants
  254. object Unliftable extends Universe.StandardUnliftableInstances

    Permalink

    Companion to Unliftable type class that contains standard instances and provides a helper apply method to simplify creation of new ones.

    Companion to Unliftable type class that contains standard instances and provides a helper apply method to simplify creation of new ones.

    Definition Classes
    Liftables
  255. object UnmappableAnnotArg extends internal.SymbolTable.ClassfileAnnotArg with Product with Serializable

    Permalink
    Definition Classes
    AnnotationInfos
  256. object UnmappableAnnotation extends internal.SymbolTable.CompleteAnnotationInfo

    Permalink
    Definition Classes
    AnnotationInfos
  257. object UnmappableTree extends internal.SymbolTable.Tree with internal.SymbolTable.TermTree with Product with Serializable

    Permalink
    Definition Classes
    Types
  258. object ValDef extends internal.SymbolTable.ValDefExtractor with Serializable

    Permalink

    The constructor/extractor for ValDef instances.

    The constructor/extractor for ValDef instances.

    Definition Classes
    Trees → Trees
  259. implicit val ValDefTag: ClassTag[ValDef]

    Permalink
    Definition Classes
    Trees
  260. object ValOrDefDef

    Permalink
    Definition Classes
    Trees
  261. implicit val ValOrDefDefTag: ClassTag[ValOrDefDef]

    Permalink
    Definition Classes
    Trees
  262. object WeakTypeTag extends Serializable

    Permalink

    Type tags corresponding to primitive types and constructor/extractor for WeakTypeTags.

    Type tags corresponding to primitive types and constructor/extractor for WeakTypeTags.

    Definition Classes
    TypeTags
  263. object WildcardType extends internal.SymbolTable.Type with Product with Serializable

    Permalink

    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.

    Definition Classes
    Types → Types
  264. def abort(msg: String): Nothing

    Permalink
    Definition Classes
    Reporting
  265. object abstractTypesToBounds extends internal.SymbolTable.TypeMap

    Permalink

    Type with all top-level occurrences of abstract types replaced by their bounds

    Type with all top-level occurrences of abstract types replaced by their bounds

    Definition Classes
    TypeMaps
  266. def adaptAnnotations(tree: Tree, mode: Mode, pt: Type): Tree

    Permalink
    Definition Classes
    AnnotationCheckers
  267. def adaptBoundsToAnnotations(bounds: List[TypeBounds], tparams: List[Symbol], targs: List[Type]): List[TypeBounds]

    Permalink

    Definition Classes
    AnnotationCheckers
    See also

    AnnotationChecker.adaptBoundsToAnnotations

  268. object adaptToNewRunMap extends internal.SymbolTable.TypeMap

    Permalink
    Definition Classes
    TypeMaps
  269. def adaptTypeOfReturn(tree: Tree, pt: Type, default: ⇒ Type): Type

    Permalink
    Definition Classes
    AnnotationCheckers
  270. def addAnnotationChecker(checker: AnnotationChecker): Unit

    Permalink

    Register an annotation checker.

    Register an annotation checker. Typically these are added by compiler plugins.

    Definition Classes
    AnnotationCheckers
  271. def addAnnotations(tree: Tree, tpe: Type): Type

    Permalink
    Definition Classes
    AnnotationCheckers
  272. implicit def addFlagOps(left: FlagSet): FlagOps

    Permalink

    The API of FlagSet instances.

    The API of FlagSet instances.

    Definition Classes
    FlagSets → FlagSets
  273. def addMember(thistp: Type, tp: Type, sym: Symbol, depth: Depth): Unit

    Permalink

    Make symbol sym a member of scope tp.decls where thistp is the narrowed owner type of the scope.

    Make symbol sym a member of scope tp.decls where thistp is the narrowed owner type of the scope.

    Definition Classes
    Types
  274. def addMember(thistp: Type, tp: Type, sym: Symbol): Unit

    Permalink
    Definition Classes
    Types
  275. def addSerializable(ps: Type*): List[Type]

    Permalink
    Definition Classes
    Types
  276. def annotatedType(annots: List[AnnotationInfo], underlying: Type): Type

    Permalink

    Creator for AnnotatedTypes.

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

    Definition Classes
    Types
  277. def annotationToTree(ann: Annotation): Tree

    Permalink
    Attributes
    protected[scala]
    Definition Classes
    AnnotationInfos → Annotations
  278. def annotationsConform(tp1: Type, tp2: Type): Boolean

    Permalink

    Definition Classes
    AnnotationCheckers
    See also

    AnnotationChecker.annotationsConform

  279. def annotationsGlb(tpe: Type, ts: List[Type]): Type

    Permalink

    Definition Classes
    AnnotationCheckers
    See also

    AnnotationChecker.annotationsGlb

  280. def annotationsLub(tpe: Type, ts: List[Type]): Type

    Permalink

    Definition Classes
    AnnotationCheckers
    See also

    AnnotationChecker.annotationsLub

  281. def appliedType(tyconSym: Symbol, args: Type*): Type

    Permalink

    Very convenient.

    Very convenient.

    Definition Classes
    Types → Types
  282. def appliedType(tyconSym: Symbol, args: List[Type]): Type

    Permalink

    Definition Classes
    Types → Types
    See also

    appliedType

  283. def appliedType(tycon: Type, args: Type*): Type

    Permalink

    Definition Classes
    Types → Types
    See also

    appliedType

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

    Permalink

    A creator for type applications

    A creator for type applications

    Definition Classes
    Types → Types
  285. def arrayToRepeated(tp: Type): Type

    Permalink

    Convert array parameters denoting a repeated parameter of a Java method to JavaRepeatedParamClass types.

    Convert array parameters denoting a repeated parameter of a Java method to JavaRepeatedParamClass types.

    Definition Classes
    SymbolTable
  286. final def asInstanceOf[T0]: T0

    Permalink

    Cast the receiver object to be of type T0.

    Cast the receiver object to be of type T0.

    Note that the success of a cast at runtime is modulo Scala's erasure semantics. Therefore the expression 1.asInstanceOf[String] will throw a ClassCastException at runtime, while the expression List(1).asInstanceOf[List[String]] will not. In the latter example, because the type argument is erased as part of compilation it is not possible to check whether the contents of the list are of the requested type.

    returns

    the receiver object.

    Definition Classes
    Any
    Exceptions thrown

    ClassCastException if the receiver object is not an instance of the erasure of type T0.

  287. def assertCorrectThread(): Unit

    Permalink

    Check that the executing thread is the compiler thread.

    Check that the executing thread is the compiler thread. No-op here, overridden in interactive.Global.

    Definition Classes
    SymbolTable
    Annotations
    @elidable( elidable.WARNING )
  288. final def atPhaseStack: List[Phase]

    Permalink
    Definition Classes
    SymbolTable
  289. def atPhaseStackMessage: String

    Permalink
    Definition Classes
    SymbolTable
  290. def atPos[T <: Tree](pos: Position)(tree: T): T

    Permalink

    Position a tree.

    Position a tree. This means: Set position of a node and position all its unpositioned children.

    Definition Classes
    Positions → Positions
  291. def backquotedPath(t: Tree): String

    Permalink

    Turns a path into a String, introducing backquotes as necessary.

    Turns a path into a String, introducing backquotes as necessary.

    Definition Classes
    Printers
  292. object baseClassesCycleMonitor

    Permalink
    Definition Classes
    Types
  293. def baseTypeOfNonClassTypeRef(tpe: NonClassTypeRef, clazz: Symbol): Type

    Permalink
    Attributes
    protected
    Definition Classes
    Types
  294. def baseTypeSingletonSeq(tp: Type): BaseTypeSeq

    Permalink

    Create a base type sequence consisting of a single type

    Create a base type sequence consisting of a single type

    Definition Classes
    BaseTypeSeqs
  295. def basetypeRecursions: Int

    Permalink
    Definition Classes
    SynchronizedTypes → Types
  296. def basetypeRecursions_=(value: Int): Unit

    Permalink
    Definition Classes
    SynchronizedTypes → Types
  297. object binarynme

    Permalink

    Java binary names, like scala/runtime/Nothing$.

    Java binary names, like scala/runtime/Nothing$.

    Definition Classes
    StdNames
  298. val build: ReificationSupportImpl

    Permalink
    Definition Classes
    ReificationSupport
  299. def canAdaptAnnotations(tree: Tree, mode: Mode, pt: Type): Boolean

    Permalink
    Definition Classes
    AnnotationCheckers
  300. def captureVariable(vble: Symbol): Unit

    Permalink

    Mark a variable as captured; i.e.

    Mark a variable as captured; i.e. force boxing in a *Ref type.

    Definition Classes
    CapturedVariables
  301. def capturedVariableType(vble: Symbol, tpe: Type = NoType, erasedTypes: Boolean = false): Type

    Permalink

    Convert type of a captured variable to *Ref type.

    Convert type of a captured variable to *Ref type.

    Definition Classes
    CapturedVariables
  302. def capturedVariableType(vble: Symbol): Type

    Permalink

    Convert type of a captured variable to *Ref type.

    Convert type of a captured variable to *Ref type.

    Definition Classes
    CapturedVariables
  303. def checkKindBounds0(tparams: List[Symbol], targs: List[Type], pre: Type, owner: Symbol, explainErrors: Boolean): List[(Type, Symbol, KindErrors)]

    Permalink

    Check well-kindedness of type application (assumes arities are already checked) -- @M

    Check well-kindedness of type application (assumes arities are already checked) -- @M

    This check is also performed when abstract type members become concrete (aka a "type alias") -- then tparams.length==1 (checked one type member at a time -- in that case, prefix is the name of the type alias)

    Type application is just like value application: it's "contravariant" in the sense that the type parameters of the supplied type arguments must conform to the type parameters of the required type parameters:

    • their bounds must be less strict
    • variances must match (here, variances are absolute, the variance of a type parameter does not influence the variance of its higher-order parameters)
    • @M TODO: are these conditions correct,sufficient&necessary?

    e.g. class Iterable[t, m[+x <: t]] --> the application Iterable[Int, List] is okay, since List's type parameter is also covariant and its bounds are weaker than <: Int

    Definition Classes
    Kinds
  304. var chrs: Array[Char]

    Permalink

    Memory to store all names sequentially.

    Memory to store all names sequentially.

    Definition Classes
    Names
  305. def clone(): AnyRef

    Permalink

    Create a copy of the receiver object.

    Create a copy of the receiver object.

    The default implementation of the clone method is platform dependent.

    returns

    a copy of the receiver object.

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
    Note

    not specified by SLS as a member of AnyRef

  306. def cloneSymbols(syms: List[Symbol]): List[Symbol]

    Permalink

    Convenience functions which derive symbols by cloning.

    Convenience functions which derive symbols by cloning.

    Definition Classes
    Symbols
  307. def cloneSymbolsAndModify(syms: List[Symbol], infoFn: (Type) ⇒ Type): List[Symbol]

    Permalink

    Clone symbols and apply the given function to each new symbol's info.

    Clone symbols and apply the given function to each new symbol's info.

    syms

    the prototypical symbols

    infoFn

    the function to apply to the infos

    returns

    the newly created, info-adjusted symbols

    Definition Classes
    Symbols
  308. def cloneSymbolsAtOwner(syms: List[Symbol], owner: Symbol): List[Symbol]

    Permalink
    Definition Classes
    Symbols
  309. def cloneSymbolsAtOwnerAndModify(syms: List[Symbol], owner: Symbol, infoFn: (Type) ⇒ Type): List[Symbol]

    Permalink
    Definition Classes
    Symbols
  310. final def closestEnclMethod(from: Symbol): Symbol

    Permalink

    Return closest enclosing method, unless shadowed by an enclosing class.

    Return closest enclosing method, unless shadowed by an enclosing class.

    Definition Classes
    Symbols
  311. final def collectFirst[A, B](as: List[A])(pf: PartialFunction[A, B]): Option[B]

    Permalink
    Definition Classes
    Collections
  312. final def collectMap2[A, B, C](xs1: List[A], xs2: List[B])(p: (A, B) ⇒ Boolean): Map[A, B]

    Permalink
    Definition Classes
    Collections
  313. def commonOwner(tps: List[Type]): Symbol

    Permalink

    The most deeply nested owner that contains all the symbols of thistype or prefixless typerefs/singletype occurrences in given list of types.

    The most deeply nested owner that contains all the symbols of thistype or prefixless typerefs/singletype occurrences in given list of types.

    Attributes
    protected[scala.reflect.internal]
    Definition Classes
    CommonOwners
  314. def commonOwner(t: Type): Symbol

    Permalink

    The most deeply nested owner that contains all the symbols of thistype or prefixless typerefs/singletype occurrences in given type.

    The most deeply nested owner that contains all the symbols of thistype or prefixless typerefs/singletype occurrences in given type.

    Attributes
    protected[scala.reflect.internal]
    Definition Classes
    CommonOwners
  315. def commonOwnerMap: CommonOwnerMap

    Permalink
    Attributes
    protected
    Definition Classes
    SynchronizedTypes → CommonOwners
  316. final def compareLengths(xs1: List[_], xs2: List[_]): Int

    Permalink
    Definition Classes
    Types
    Annotations
    @tailrec()
  317. lazy val compat: Compat

    Permalink

    Provides enrichments to ensure source compatibility between Scala 2.10 and Scala 2.11.

    Provides enrichments to ensure source compatibility between Scala 2.10 and Scala 2.11. If in your reflective program for Scala 2.10 you've used something that's now become an internal API, a single compat._ import will fix things for you.

    Definition Classes
    Internals → Internals
  318. def compoundBaseTypeSeq(tp: Type): BaseTypeSeq

    Permalink

    Create the base type sequence of a compound type with given tp.parents

    Create the base type sequence of a compound type with given tp.parents

    Definition Classes
    BaseTypeSeqs
  319. def computeBaseClasses(tpe: Type): List[Symbol]

    Permalink
    Attributes
    protected
    Definition Classes
    Types
  320. def connectModuleToClass(m: ModuleSymbol, moduleClass: ClassSymbol): ModuleSymbol

    Permalink
    Definition Classes
    SynchronizedSymbols → Symbols
  321. def containsExistential(tpe: Type): Boolean

    Permalink
    Definition Classes
    Types
  322. def copyClassDef(tree: Tree)(mods: Modifiers = null, name: Name = null, tparams: List[TypeDef] = null, impl: Template = null): ClassDef

    Permalink
    Definition Classes
    Trees
  323. def copyDefDef(tree: Tree)(mods: Modifiers = null, name: Name = null, tparams: List[TypeDef] = null, vparamss: List[List[ValDef]] = null, tpt: Tree = null, rhs: Tree = null): DefDef

    Permalink
    Definition Classes
    Trees
  324. def copyMethodType(tp: Type, params: List[Symbol], restpe: Type): Type

    Permalink

    Create a new MethodType of the same class as tp, i.e.

    Create a new MethodType of the same class as tp, i.e. keep JavaMethodType

    Definition Classes
    Types
  325. def copyModuleDef(tree: Tree)(mods: Modifiers = null, name: Name = null, impl: Template = null): ModuleDef

    Permalink
    Definition Classes
    Trees
  326. def copyRefinedType(original: RefinedType, parents: List[Type], decls: Scope): Type

    Permalink
    Definition Classes
    Types
  327. def copyTypeDef(tree: Tree)(mods: Modifiers = null, name: Name = null, tparams: List[TypeDef] = null, rhs: Tree = null): TypeDef

    Permalink
    Definition Classes
    Trees
  328. def copyTypeRef(tp: Type, pre: Type, sym: Symbol, args: List[Type]): Type

    Permalink
    Definition Classes
    Types
  329. def copyValDef(tree: Tree)(mods: Modifiers = null, name: Name = null, tpt: Tree = null, rhs: Tree = null): ValDef

    Permalink
    Definition Classes
    Trees
  330. final def corresponds3[A, B, C](xs1: List[A], xs2: List[B], xs3: List[C])(f: (A, B, C) ⇒ Boolean): Boolean

    Permalink

    True if all three arguments have the same number of elements and the function is true for all the triples.

    True if all three arguments have the same number of elements and the function is true for all the triples.

    Definition Classes
    Collections
    Annotations
    @tailrec()
  331. def createFromClonedSymbols[T](syms: List[Symbol], tpe: Type)(creator: (List[Symbol], Type) ⇒ T): T

    Permalink

    Functions which perform the standard clone/substituting on the given symbols and type, then call the creator function with the new symbols and type as arguments.

    Functions which perform the standard clone/substituting on the given symbols and type, then call the creator function with the new symbols and type as arguments.

    Definition Classes
    Symbols
  332. def createFromClonedSymbolsAtOwner[T](syms: List[Symbol], owner: Symbol, tpe: Type)(creator: (List[Symbol], Type) ⇒ T): T

    Permalink
    Definition Classes
    Symbols
  333. def currentFreshNameCreator: FreshNameCreator

    Permalink
    Definition Classes
    JavaUniverse → FreshNames
  334. final def currentPeriod: Period

    Permalink

    The current period.

    The current period.

    Definition Classes
    SymbolTable
  335. def currentRun: RunReporting

    Permalink
    Definition Classes
    JavaUniverse → Reporting
  336. val currentRunId: Int

    Permalink

    The current compiler run identifier.

    The current compiler run identifier.

    Definition Classes
    ReflectSetup → SymbolTable
  337. def debugInfo(msg: ⇒ String): Unit

    Permalink
    Definition Classes
    SymbolTable
  338. def debugStack(t: Throwable): Unit

    Permalink

    Prints a stack trace if -Ydebug or equivalent was given, otherwise does nothing.

    Prints a stack trace if -Ydebug or equivalent was given, otherwise does nothing.

    Definition Classes
    SymbolTable
  339. def debugString(tp: Type): String

    Permalink
    Definition Classes
    TypeDebugging
  340. def debuglog(msg: ⇒ String): Unit

    Permalink

    Override with final implementation for inlining.

    Override with final implementation for inlining.

    Definition Classes
    SymbolTable
  341. def decodedSymName(tree: Tree, name: Name): String

    Permalink
    Definition Classes
    Printers
  342. def defineBaseClassesOfCompoundType(tpe: CompoundType): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    SynchronizedTypes → Types
  343. def defineBaseTypeSeqOfCompoundType(tpe: CompoundType): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    SynchronizedTypes → Types
  344. def defineBaseTypeSeqOfTypeRef(tpe: TypeRef): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    SynchronizedTypes → Types
  345. def defineOriginalOwner(sym: Symbol, owner: Symbol): Unit

    Permalink
    Definition Classes
    Symbols
  346. def defineParentsOfTypeRef(tpe: TypeRef): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    SynchronizedTypes → Types
  347. def defineUnderlyingOfSingleType(tpe: SingleType): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    SynchronizedTypes → Types
  348. object definitions extends internal.SymbolTable.DefinitionsClass

    Permalink

    A value containing all standard definitions in DefinitionsApi

    A value containing all standard definitions in DefinitionsApi

    Definition Classes
    Definitions → StandardDefinitions
  349. def deriveCaseDef(cdef: Tree)(applyToBody: (Tree) ⇒ Tree): CaseDef

    Permalink
    Definition Classes
    Trees
  350. def deriveClassDef(cdef: Tree)(applyToImpl: (Template) ⇒ Template): ClassDef

    Permalink
    Definition Classes
    Trees
  351. def deriveDefDef(ddef: Tree)(applyToRhs: (Tree) ⇒ Tree): DefDef

    Permalink
    Definition Classes
    Trees
  352. def deriveFreshSkolems(tparams: List[Symbol]): List[Symbol]

    Permalink

    Map a list of type parameter symbols to skolemized symbols, which can be deskolemized to the original type parameter.

    Map a list of type parameter symbols to skolemized symbols, which can be deskolemized to the original type parameter. (A skolem is a representation of a bound variable when viewed inside its scope.) !!!Adriaan: this does not work for hk types.

    Skolems will be created at level 0, rather than the current value of skolemizationLevel. (See SI-7782)

    Definition Classes
    ExistentialsAndSkolems
  353. def deriveFunction(func: Tree)(applyToRhs: (Tree) ⇒ Tree): Function

    Permalink
    Definition Classes
    Trees
  354. def deriveLabelDef(ldef: Tree)(applyToRhs: (Tree) ⇒ Tree): LabelDef

    Permalink
    Definition Classes
    Trees
  355. def deriveModuleDef(mdef: Tree)(applyToImpl: (Template) ⇒ Template): ModuleDef

    Permalink
    Definition Classes
    Trees
  356. def deriveSymbols(syms: List[Symbol], symFn: (Symbol) ⇒ Symbol): List[Symbol]

    Permalink

    Derives a new list of symbols from the given list by mapping the given list across the given function.

    Derives a new list of symbols from the given list by mapping the given list across the given function. Then fixes the info of all the new symbols by substituting the new symbols for the original symbols.

    syms

    the prototypical symbols

    symFn

    the function to create new symbols

    returns

    the new list of info-adjusted symbols

    Definition Classes
    Symbols
  357. def deriveSymbols2[A](syms: List[Symbol], as: List[A], symFn: (Symbol, A) ⇒ Symbol): List[Symbol]

    Permalink

    Derives a new list of symbols from the given list by mapping the given list of syms and as across the given function.

    Derives a new list of symbols from the given list by mapping the given list of syms and as across the given function. Then fixes the info of all the new symbols by substituting the new symbols for the original symbols.

    syms

    the prototypical symbols

    as

    arguments to be passed to symFn together with symbols from syms (must be same length)

    symFn

    the function to create new symbols

    returns

    the new list of info-adjusted symbols

    Definition Classes
    Symbols
  358. def deriveTemplate(templ: Tree)(applyToBody: (List[Tree]) ⇒ List[Tree]): Template

    Permalink
    Definition Classes
    Trees
  359. def deriveType(syms: List[Symbol], symFn: (Symbol) ⇒ Symbol)(tpe: Type): Type

    Permalink

    Derives a new Type by first deriving new symbols as in deriveSymbols, then performing the same oldSyms => newSyms substitution on tpe as is performed on the symbol infos in deriveSymbols.

    Derives a new Type by first deriving new symbols as in deriveSymbols, then performing the same oldSyms => newSyms substitution on tpe as is performed on the symbol infos in deriveSymbols.

    syms

    the prototypical symbols

    symFn

    the function to create new symbols

    tpe

    the prototypical type

    returns

    the new symbol-substituted type

    Definition Classes
    Symbols
  360. def deriveType2[A](syms: List[Symbol], as: List[A], symFn: (Symbol, A) ⇒ Symbol)(tpe: Type): Type

    Permalink

    Derives a new Type by first deriving new symbols as in deriveSymbols2, then performing the same oldSyms => newSyms substitution on tpe as is performed on the symbol infos in deriveSymbols.

    Derives a new Type by first deriving new symbols as in deriveSymbols2, then performing the same oldSyms => newSyms substitution on tpe as is performed on the symbol infos in deriveSymbols.

    syms

    the prototypical symbols

    as

    arguments to be passed to symFn together with symbols from syms (must be same length)

    symFn

    the function to create new symbols based on as

    tpe

    the prototypical type

    returns

    the new symbol-substituted type

    Definition Classes
    Symbols
  361. def deriveTypeWithWildcards(syms: List[Symbol])(tpe: Type): Type

    Permalink

    Derives a new Type by instantiating the given list of symbols as WildcardTypes.

    Derives a new Type by instantiating the given list of symbols as WildcardTypes.

    syms

    the symbols to replace

    returns

    the new type with WildcardType replacing those syms

    Definition Classes
    Symbols
  362. def deriveValDef(vdef: Tree)(applyToRhs: (Tree) ⇒ Tree): ValDef

    Permalink
    Definition Classes
    Trees
  363. def devWarning(msg: ⇒ String): Unit

    Permalink
    Definition Classes
    SymbolTable
  364. final def devWarningDumpStack(msg: ⇒ String, maxFrames: Int): Unit

    Permalink
    Definition Classes
    SymbolTable
    Annotations
    @inline()
  365. final def distinctBy[A, B](xs: List[A])(f: (A) ⇒ B): List[A]

    Permalink
    Definition Classes
    Collections
  366. object dropIllegalStarTypes extends internal.SymbolTable.TypeMap

    Permalink

    Turn any T* types into Seq[T] except when in method parameter position.

    Turn any T* types into Seq[T] except when in method parameter position.

    Definition Classes
    TypeMaps
  367. object dropSingletonType extends internal.SymbolTable.TypeMap

    Permalink

    Remove any occurrence of type <singleton> from this type and its parents

    Remove any occurrence of type <singleton> from this type and its parents

    Definition Classes
    TypeMaps
  368. def duplicateAndKeepPositions(tree: Tree): Tree

    Permalink
    Definition Classes
    Trees
  369. def elapsedMessage(msg: String, start: Long): String

    Permalink
    Attributes
    protected
    Definition Classes
    SymbolTable
  370. def elementExtract(container: Symbol, tp: Type): Type

    Permalink
    Definition Classes
    Types
  371. def elementExtractOption(container: Symbol, tp: Type): Option[Type]

    Permalink
    Definition Classes
    Types
  372. def elementTest(container: Symbol, tp: Type)(f: (Type) ⇒ Boolean): Boolean

    Permalink
    Definition Classes
    Types
  373. def elementTransform(container: Symbol, tp: Type)(f: (Type) ⇒ Type): Type

    Permalink
    Definition Classes
    Types
  374. def elimAnonymousClass(t: Type): Type

    Permalink
    Definition Classes
    Types
  375. val enableTypeVarExperimentals: Boolean

    Permalink
    Attributes
    protected
    Definition Classes
    Types
  376. def encode(str: String): TermName

    Permalink
    Definition Classes
    StdNames
  377. def ensureNonOverlapping(tree: Tree, others: List[Tree], focus: Boolean): Unit

    Permalink
    Definition Classes
    Positions
  378. def ensureNonOverlapping(tree: Tree, others: List[Tree]): Unit

    Permalink

    Ensure that given tree has no positions that overlap with any of the positions of others.

    Ensure that given tree has no positions that overlap with any of the positions of others. This is done by shortening the range, assigning TransparentPositions to some of the nodes in tree or focusing on the position.

    Definition Classes
    Positions
  379. def ensuring(cond: (JavaUniverse) ⇒ Boolean, msg: ⇒ Any): JavaUniverse

    Permalink
    Implicit information
    This member is added by an implicit conversion from JavaUniverse to Ensuring[JavaUniverse] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  380. def ensuring(cond: (JavaUniverse) ⇒ Boolean): JavaUniverse

    Permalink
    Implicit information
    This member is added by an implicit conversion from JavaUniverse to Ensuring[JavaUniverse] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  381. def ensuring(cond: Boolean, msg: ⇒ Any): JavaUniverse

    Permalink
    Implicit information
    This member is added by an implicit conversion from JavaUniverse to Ensuring[JavaUniverse] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  382. def ensuring(cond: Boolean): JavaUniverse

    Permalink
    Implicit information
    This member is added by an implicit conversion from JavaUniverse to Ensuring[JavaUniverse] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  383. final def enteringPhase[T](ph: Phase)(op: ⇒ T): T

    Permalink

    Perform given operation at given phase.

    Perform given operation at given phase.

    Definition Classes
    SymbolTable
    Annotations
    @inline()
  384. final def enteringPhaseNotLaterThan[T](target: Phase)(op: ⇒ T): T

    Permalink
    Definition Classes
    SymbolTable
    Annotations
    @inline()
  385. final def enteringPhaseWithName[T](phaseName: String)(body: ⇒ T): T

    Permalink
    Definition Classes
    SymbolTable
  386. final def enteringPrevPhase[T](op: ⇒ T): T

    Permalink
    Definition Classes
    SymbolTable
    Annotations
    @inline()
  387. final def eq(arg0: AnyRef): Boolean

    Permalink

    Tests whether the argument (that) is a reference to the receiver object (this).

    Tests whether the argument (that) is a reference to the receiver object (this).

    The eq method implements an equivalence relation on non-null instances of AnyRef, and has three additional properties:

    • It is consistent: for any non-null instances x and y of type AnyRef, multiple invocations of x.eq(y) consistently returns true or consistently returns false.
    • For any non-null instance x of type AnyRef, x.eq(null) and null.eq(x) returns false.
    • null.eq(null) returns true.

    When overriding the equals or hashCode methods, it is important to ensure that their behavior is consistent with reference equality. Therefore, if two objects are references to each other (o1 eq o2), they should be equal to each other (o1 == o2) and they should hash to the same value (o1.hashCode == o2.hashCode).

    returns

    true if the argument is a reference to the receiver object; false otherwise.

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

    Permalink

    The equality method for reference types.

    The equality method for reference types. Default implementation delegates to eq.

    See also equals in scala.Any.

    returns

    true if the receiver object is equivalent to the argument; false otherwise.

    Definition Classes
    AnyRef → Any
  389. def erasure: Erasure { val global: JavaUniverse.this.type }

    Permalink
    Definition Classes
    Transforms
  390. def erasurePhase: SomePhase.type

    Permalink
    Definition Classes
    JavaUniverse → Required
  391. def etaExpandKeepsStar: Boolean

    Permalink
    Attributes
    protected
    Definition Classes
    TypeMaps
  392. def existentialAbstraction(tparams: List[Symbol], tpe0: Type): Type

    Permalink

    A creator for existential types.

    A creator for existential types. This generates:

    tpe1 where { tparams }

    where tpe1 is the result of extrapolating tpe with respect to tparams. Extrapolating means that type variables in tparams occurring in covariant positions are replaced by upper bounds, (minus any SingletonClass markers), type variables in tparams occurring in contravariant positions are replaced by upper bounds, provided the resulting type is legal with regard to stability, and does not contain any type variable in tparams.

    The abstraction drops all type parameters that are not directly or indirectly referenced by type tpe1. If there are no remaining type parameters, simply returns result type tpe.

    Definition Classes
    Types
  393. final def existentialTransform[T](rawSyms: List[Symbol], tp: Type, rawOwner: Symbol = NoSymbol)(creator: (List[Symbol], Type) ⇒ T): T

    Permalink

    Given a set rawSyms of term- and type-symbols, and a type tp, produce a set of fresh type parameters and a type so that it can be abstracted to an existential type.

    Given a set rawSyms of term- and type-symbols, and a type tp, produce a set of fresh type parameters and a type so that it can be abstracted to an existential type. Every type symbol T in rawSyms is mapped to a clone. Every term symbol x of type T in rawSyms is given an associated type symbol of the following form:

    type x.type <: T with Singleton

    The name of the type parameter is x.type, to produce nice diagnostics. The Singleton parent ensures that the type parameter is still seen as a stable type. Type symbols in rawSyms are fully replaced by the new symbols. Term symbols are also replaced, except for term symbols of an Ident tree, where only the type of the Ident is changed.

    Definition Classes
    ExistentialsAndSkolems
  394. def existentialsInType(tpe: Type): List[Symbol]

    Permalink
    Definition Classes
    Types
  395. def existingSymbols(syms: List[Symbol]): List[Symbol]

    Permalink
    Definition Classes
    Symbols
  396. final def exists2[A, B](xs1: List[A], xs2: List[B])(f: (A, B) ⇒ Boolean): Boolean

    Permalink
    Definition Classes
    Collections
  397. final def exists3[A, B, C](xs1: List[A], xs2: List[B], xs3: List[C])(f: (A, B, C) ⇒ Boolean): Boolean

    Permalink
    Definition Classes
    Collections
  398. final def exitingPhase[T](ph: Phase)(op: ⇒ T): T

    Permalink
    Definition Classes
    SymbolTable
    Annotations
    @inline()
  399. def explain[T](op: String, p: (Type, T) ⇒ Boolean, tp1: Type, arg2: T): Boolean

    Permalink

    Perform operation p on arguments tp1, arg2 and print trace of computation.

    Perform operation p on arguments tp1, arg2 and print trace of computation.

    Attributes
    protected
    Definition Classes
    Types
  400. def explainTypes(op: (Type, Type) ⇒ Any, found: Type, required: Type): Unit

    Permalink

    If option explaintypes is set, print a subtype trace for op(found, required).

    If option explaintypes is set, print a subtype trace for op(found, required).

    Definition Classes
    Types
  401. def explainTypes(found: Type, required: Type): Unit

    Permalink

    If option explaintypes is set, print a subtype trace for found <:< required.

    If option explaintypes is set, print a subtype trace for found <:< required.

    Definition Classes
    Types
  402. def finalize(): Unit

    Permalink

    Called by the garbage collector on the receiver object when there are no more references to the object.

    Called by the garbage collector on the receiver object when there are no more references to the object.

    The details of when and if the finalize method is invoked, as well as the interaction between finalize and non-local returns and exceptions, are all platform dependent.

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
    Note

    not specified by SLS as a member of AnyRef

  403. final def findOrElse[A](xs: TraversableOnce[A])(p: (A) ⇒ Boolean)(orElse: ⇒ A): A

    Permalink
    Definition Classes
    Collections
  404. def findOverlapping(cts: List[Tree]): List[(Tree, Tree)]

    Permalink

    Does given list of trees have mutually non-overlapping positions? pre: None of the trees is transparent

    Does given list of trees have mutually non-overlapping positions? pre: None of the trees is transparent

    Definition Classes
    Positions
  405. final def findPhaseWithName(phaseName: String): Phase

    Permalink
    Definition Classes
    SymbolTable
  406. def findRecursiveBounds(ts: List[Type]): List[(Symbol, Symbol)]

    Permalink

    From a list of types, find any which take type parameters where the type parameter bounds contain references to other any types in the list (including itself.)

    From a list of types, find any which take type parameters where the type parameter bounds contain references to other any types in the list (including itself.)

    returns

    List of symbol pairs holding the recursive type parameter and the parameter which references it.

    Definition Classes
    GlbLubs
  407. final def findSymbol(xs: TraversableOnce[Symbol])(p: (Symbol) ⇒ Boolean): Symbol

    Permalink
    Definition Classes
    SymbolTable
    Annotations
    @inline()
  408. final def flatCollect[A, B](elems: List[A])(pf: PartialFunction[A, Traversable[B]]): List[B]

    Permalink
    Definition Classes
    Collections
  409. final def flatMap2[A, B, C](xs1: List[A], xs2: List[B])(f: (A, B) ⇒ List[C]): List[C]

    Permalink
    Definition Classes
    Collections
  410. final def flattensToEmpty(xss: Seq[Seq[_]]): Boolean

    Permalink
    Definition Classes
    Collections
    Annotations
    @tailrec()
  411. final def forall3[A, B, C](xs1: List[A], xs2: List[B], xs3: List[C])(f: (A, B, C) ⇒ Boolean): Boolean

    Permalink
    Definition Classes
    Collections
  412. def force(): Unit

    Permalink
    Definition Classes
    JavaUniverseForce
  413. final def foreach2[A, B](xs1: List[A], xs2: List[B])(f: (A, B) ⇒ Unit): Unit

    Permalink
    Definition Classes
    Collections
  414. final def foreach3[A, B, C](xs1: List[A], xs2: List[B], xs3: List[C])(f: (A, B, C) ⇒ Unit): Unit

    Permalink
    Definition Classes
    Collections
  415. final def foreachWithIndex[A, B](xs: List[A])(f: (A, Int) ⇒ Unit): Unit

    Permalink
    Definition Classes
    Collections
  416. def formatted(fmtstr: String): String

    Permalink
    Implicit information
    This member is added by an implicit conversion from JavaUniverse to StringFormat[JavaUniverse] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  417. def freshExistentialName(suffix: String): TypeName

    Permalink
    Attributes
    protected
    Definition Classes
    Symbols
  418. def freshTermName(prefix: String = nme.FRESH_TERM_NAME_PREFIX)(implicit creator: FreshNameCreator): TermName

    Permalink
    Definition Classes
    FreshNames
  419. def freshTypeName(prefix: String)(implicit creator: FreshNameCreator): TypeName

    Permalink
    Definition Classes
    FreshNames
  420. object fulltpnme extends internal.SymbolTable.TypeNames

    Permalink

    For fully qualified type names.

    For fully qualified type names.

    Definition Classes
    StdNames
  421. val gen: internal.TreeGen { val global: JavaUniverse.this.type }

    Permalink
    Definition Classes
    SymbolTable
  422. def genPolyType(params: List[Symbol], tpe: Type): Type

    Permalink
    Definition Classes
    Types
  423. final def getClass(): Class[_]

    Permalink

    A representation that corresponds to the dynamic class of the receiver object.

    A representation that corresponds to the dynamic class of the receiver object.

    The nature of the representation is platform dependent.

    returns

    a representation that corresponds to the dynamic class of the receiver object.

    Definition Classes
    AnyRef → Any
    Note

    not specified by SLS as a member of AnyRef

  424. final def gilSynchronized[T](body: ⇒ T): T

    Permalink
    Definition Classes
    Gil
    Annotations
    @inline()
  425. def glb(ts: List[Type], depth: Depth): Type

    Permalink
    Attributes
    protected[scala.reflect.internal]
    Definition Classes
    GlbLubs
  426. def glb(ts: List[Type]): Type

    Permalink

    The greatest lower bound of a list of types (as determined by <:<).

    The greatest lower bound of a list of types (as determined by <:<).

    Definition Classes
    GlbLubs
  427. def glbNorm(ts: List[Type], depth: Depth): Type

    Permalink

    The greatest lower bound of a list of types (as determined by <:<), which have been normalized with regard to elimSuper.

    The greatest lower bound of a list of types (as determined by <:<), which have been normalized with regard to elimSuper.

    Attributes
    protected
    Definition Classes
    GlbLubs
  428. def glbResults: HashMap[(Depth, List[Type]), Type]

    Permalink
    Definition Classes
    SynchronizedTypes → GlbLubs
  429. def globalError(pos: Position, msg: String): Unit

    Permalink
    Definition Classes
    Reporting
    Annotations
    @deprecatedOverriding( ... , "2.11.2" )
  430. def globalError(msg: String): Unit

    Permalink
    Definition Classes
    Reporting
    Annotations
    @deprecatedOverriding( ... , "2.11.2" )
  431. val globalFreshNameCreator: FreshNameCreator

    Permalink
    Definition Classes
    FreshNames
  432. final def hasLength(xs: List[_], len: Int): Boolean

    Permalink

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

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

    Definition Classes
    Types
  433. def hashCode(): Int

    Permalink

    The hashCode method for reference types.

    The hashCode method for reference types. See hashCode in scala.Any.

    returns

    the hash code value for this object.

    Definition Classes
    AnyRef → Any
  434. var ids: Int

    Permalink
    Attributes
    protected
    Definition Classes
    Symbols
  435. def importableMembers(pre: Type): Scope

    Permalink

    Members which can be imported into other scopes.

    Members which can be imported into other scopes.

    Definition Classes
    Types
  436. def indent: String

    Permalink
    Definition Classes
    SynchronizedTypes → Types
  437. def indent_=(value: String): Unit

    Permalink
    Definition Classes
    SynchronizedTypes → Types
  438. object inferKind

    Permalink

    Starting from a Symbol (sym) or a Type (tpe), infer the kind that classifies it (sym.tpeHK/tpe).

    Starting from a Symbol (sym) or a Type (tpe), infer the kind that classifies it (sym.tpeHK/tpe).

    Definition Classes
    Kinds
  439. def info(msg: ⇒ String): Unit

    Permalink
    Definition Classes
    SymbolTable
  440. var infoTransformers: InfoTransformer

    Permalink

    The set of all installed infotransformers.

    The set of all installed infotransformers.

    Definition Classes
    SymbolTable
  441. def inform(pos: Position, msg: String): Unit

    Permalink
    Definition Classes
    Reporting
    Annotations
    @deprecatedOverriding( ... , "2.11.2" )
  442. def inform(msg: String): Unit

    Permalink
    Definition Classes
    Reporting
    Annotations
    @deprecatedOverriding( ... , "2.11.2" )
  443. def informProgress(msg: String): Unit

    Permalink
    Definition Classes
    SymbolTable
  444. def informTime(msg: String, start: Long): Unit

    Permalink
    Definition Classes
    SymbolTable
  445. def inheritsJavaVarArgsMethod(clazz: Symbol): Boolean

    Permalink
    Definition Classes
    Types
  446. def init(): Unit

    Permalink
  447. def initAndEnterClassAndModule(owner: Symbol, name: TypeName, completer: (Symbol, Symbol) ⇒ LazyType): (ClassSymbol, ModuleSymbol)

    Permalink

    Create a class and a companion object, enter in enclosing scope, and initialize with a lazy type completer.

    Create a class and a companion object, enter in enclosing scope, and initialize with a lazy type completer.

    owner

    The owner of the newly created class and object

    name

    The simple name of the newly created class

    completer

    The completer to be used to set the info of the class and the module

    Attributes
    protected
    Definition Classes
    SymbolLoaders
  448. def initClassAndModule(clazz: Symbol, module: Symbol, completer: LazyType): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    SymbolLoaders
  449. def instantiatedBounds(pre: Type, owner: Symbol, tparams: List[Symbol], targs: List[Type]): List[TypeBounds]

    Permalink
    Definition Classes
    Types
  450. lazy val internal: Internal

    Permalink

    Definition Classes
    JavaUniverse → Internals → Internals
    See also

    InternalApi

  451. def intersectionType(tps: List[Type]): Type

    Permalink

    A creator for intersection type where intersections of a single type are replaced by the type itself.

    A creator for intersection type where intersections of a single type are replaced by the type itself.

    Definition Classes
    Types
  452. def intersectionType(tps: List[Type], owner: Symbol): Type

    Permalink

    A creator for intersection type where intersections of a single type are replaced by the type itself, and repeated parent classes are merged.

    A creator for intersection type where intersections of a single type are replaced by the type itself, and repeated parent classes are merged.

    !!! Repeated parent classes are not merged - is this a bug in the comment or in the code?

    Definition Classes
    Types
  453. def intersectionWitness: WeakHashMap[List[Type], WeakReference[Type]]

    Permalink
    Definition Classes
    SynchronizedTypes → Types
  454. final def isAtPhaseAfter(p: Phase): Boolean

    Permalink

    Are we later than given phase in compilation?

    Are we later than given phase in compilation?

    Definition Classes
    SymbolTable
  455. def isBoundedGeneric(tp: Type): Boolean

    Permalink
    Definition Classes
    Types
  456. def isCompilerUniverse: Boolean

    Permalink

    Declares that this is a runtime reflection universe.

    Declares that this is a runtime reflection universe.

    This means that we can make certain assumptions to optimize the universe. For example, we may auto-initialize symbols on flag and annotation requests (see shouldTriggerCompleter below for more details).

    On the other hand, this also means that usage scenarios of the universe will differ from the conventional ones. For example, we have to do additional cleanup in order to prevent memory leaks: http://groups.google.com/group/scala-internals/browse_thread/thread/eabcf3d406dab8b2.

    Definition Classes
    SymbolTable → SymbolTable
  457. def isConstantType(tp: Type): Boolean

    Permalink
    Definition Classes
    Types
  458. def isDeveloper: Boolean

    Permalink
    Attributes
    protected
    Definition Classes
    SymbolTable
  459. def isDifferentType(tp1: Type, tp2: Type): Boolean

    Permalink
    Definition Classes
    TypeComparers
  460. def isDifferentTypeConstructor(tp1: Type, tp2: Type): Boolean

    Permalink
    Definition Classes
    TypeComparers
  461. def isDummyAppliedType(tp: Type): Boolean

    Permalink
    Definition Classes
    Types
  462. def isEligibleForPrefixUnification(tp: Type): Boolean

    Permalink

    Does this type have a prefix that begins with a type variable, or is it a refinement type? For type prefixes that fulfil this condition, type selections with the same name of equal (as determined by =:=) prefixes are considered equal in regard to =:=.

    Does this type have a prefix that begins with a type variable, or is it a refinement type? For type prefixes that fulfil this condition, type selections with the same name of equal (as determined by =:=) prefixes are considered equal in regard to =:=.

    Definition Classes
    Types
  463. def isErrorOrWildcard(tp: Type): Boolean

    Permalink
    Definition Classes
    Types
  464. def isExistentialType(tp: Type): Boolean

    Permalink
    Definition Classes
    Types
  465. def isHKSubType(tp1: Type, tp2: Type, depth: Depth): Boolean

    Permalink
    Definition Classes
    TypeComparers
  466. def isImplicitMethodType(tp: Type): Boolean

    Permalink
    Definition Classes
    Types
  467. final def isInstanceOf[T0]: Boolean

    Permalink

    Test whether the dynamic type of the receiver object is T0.

    Test whether the dynamic type of the receiver object is T0.

    Note that the result of the test is modulo Scala's erasure semantics. Therefore the expression 1.isInstanceOf[String] will return false, while the expression List(1).isInstanceOf[List[String]] will return true. In the latter example, because the type argument is erased as part of compilation it is not possible to check whether the contents of the list are of the specified type.

    returns

    true if the receiver object is an instance of erasure of type T0; false otherwise.

    Definition Classes
    Any
  468. def isJavaVarargsAncestor(clazz: Symbol): Boolean

    Permalink
    Definition Classes
    Types
  469. def isNonRefinementClassType(tpe: Type): Boolean

    Permalink

    def isNonValueType(tp: Type) = !isValueElseNonValue(tp)

    def isNonValueType(tp: Type) = !isValueElseNonValue(tp)

    Definition Classes
    Types
  470. def isNumericSubType(tp1: Type, tp2: Type): Boolean

    Permalink
    Definition Classes
    TypeComparers
  471. def isPastTyper: Boolean

    Permalink
    Definition Classes
    SymbolTable
  472. def isPopulated(tp1: Type, tp2: Type): Boolean

    Permalink

    Is intersection of given types populated? That is, for all types tp1, tp2 in intersection for all common base classes bc of tp1 and tp2 let bt1, bt2 be the base types of tp1, tp2 relative to class bc Then: bt1 and bt2 have the same prefix, and any corresponding non-variant type arguments of bt1 and bt2 are the same

    Is intersection of given types populated? That is, for all types tp1, tp2 in intersection for all common base classes bc of tp1 and tp2 let bt1, bt2 be the base types of tp1, tp2 relative to class bc Then: bt1 and bt2 have the same prefix, and any corresponding non-variant type arguments of bt1 and bt2 are the same

    Definition Classes
    Types
  473. def isPossiblePrefix(clazz: Symbol): Boolean

    Permalink

    Might the given symbol be important when calculating the prefix of a type? When tp.asSeenFrom(pre, clazz) is called on tp, the result will be tp unchanged if pre is trivial and clazz is a symbol such that isPossiblePrefix(clazz) == false.

    Might the given symbol be important when calculating the prefix of a type? When tp.asSeenFrom(pre, clazz) is called on tp, the result will be tp unchanged if pre is trivial and clazz is a symbol such that isPossiblePrefix(clazz) == false.

    Definition Classes
    TypeMaps
  474. def isRawIfWithoutArgs(sym: Symbol): Boolean

    Permalink
    Definition Classes
    Types
  475. def isRawParameter(sym: Symbol): Boolean

    Permalink
    Definition Classes
    ExistentialsAndSkolems
  476. def isRawType(tp: Type): Boolean

    Permalink

    Is type tp a raw type?

    Is type tp a raw type?

    Definition Classes
    Types
  477. def isReferenceToPredef(t: Tree): Boolean

    Permalink

    Is the tree Predef, scala.Predef, or _root_.scala.Predef?

    Is the tree Predef, scala.Predef, or _root_.scala.Predef?

    Definition Classes
    Trees
  478. def isReferenceToScalaMember(t: Tree, Id: Name): Boolean

    Permalink
    Definition Classes
    Trees
  479. def isSameType(tp1: Type, tp2: Type): Boolean

    Permalink

    Do tp1 and tp2 denote equivalent types?

    Do tp1 and tp2 denote equivalent types?

    Definition Classes
    TypeComparers
  480. def isSameType2(tp1: Type, tp2: Type): Boolean

    Permalink
    Definition Classes
    TypeComparers
  481. def isSameTypes(tps1: List[Type], tps2: List[Type]): Boolean

    Permalink

    Are tps1 and tps2 lists of pairwise equivalent types?

    Are tps1 and tps2 lists of pairwise equivalent types?

    Definition Classes
    Types
  482. def isSingleType(tp: Type): Boolean

    Permalink

    This appears to be equivalent to tp.isInstanceof[SingletonType], except it excludes ConstantTypes.

    This appears to be equivalent to tp.isInstanceof[SingletonType], except it excludes ConstantTypes.

    Definition Classes
    Types
  483. def isSubArgs(tps1: List[Type], tps2: List[Type], tparams: List[Symbol], depth: Depth): Boolean

    Permalink
    Definition Classes
    Types
  484. def isSubType(tp1: Type, tp2: Type, depth: Depth = Depth.AnyDepth): Boolean

    Permalink
    Definition Classes
    TypeComparers
  485. def isTreeSymbolPickled(tree: Tree): Boolean

    Permalink

    This method should be equivalent to tree.hasSymbolField, but that method doesn't do us any good when we're unpickling because we need to know based on the Int tag - the tree doesn't exist yet.

    This method should be equivalent to tree.hasSymbolField, but that method doesn't do us any good when we're unpickling because we need to know based on the Int tag - the tree doesn't exist yet. Thus, this method is documentation only.

    Definition Classes
    Translations
  486. def isTreeSymbolPickled(code: Int): Boolean

    Permalink
    Definition Classes
    Translations
  487. def isUnboundedGeneric(tp: Type): Boolean

    Permalink
    Definition Classes
    Types
  488. def isUseableAsTypeArg(tp: Type): Boolean

    Permalink

    This is defined and named as it is because the goal is to exclude source level types which are not value types (e.g.

    This is defined and named as it is because the goal is to exclude source level types which are not value types (e.g. MethodType) without excluding necessary internal types such as WildcardType. There are also non-value types which can be used as type arguments (e.g. type constructors.)

    Definition Classes
    Types
  489. final def isUseableAsTypeArgs(tps: List[Type]): Boolean

    Permalink
    Definition Classes
    Types
    Annotations
    @tailrec()
  490. final def isValid(period: Period): Boolean

    Permalink
    Definition Classes
    SymbolTable
  491. final def isValidForBaseClasses(period: Period): Boolean

    Permalink
    Definition Classes
    SymbolTable
  492. def isWeakSubType(tp1: Type, tp2: Type): Boolean

    Permalink
    Definition Classes
    TypeComparers
  493. def isWithinBounds(pre: Type, owner: Symbol, tparams: List[Symbol], targs: List[Type]): Boolean

    Permalink

    Do type arguments targs conform to formal parameters tparams?

    Do type arguments targs conform to formal parameters tparams?

    Definition Classes
    Types
  494. def itransform(transformer: Transformer, tree: Tree): Tree

    Permalink

    Delegates the transformation strategy to scala.reflect.internal.Trees, because pattern matching on abstract types we have here degrades performance.

    Delegates the transformation strategy to scala.reflect.internal.Trees, because pattern matching on abstract types we have here degrades performance.

    Attributes
    protected
    Definition Classes
    Trees → Trees
  495. def itraverse(traverser: Traverser, tree: Tree): Unit

    Permalink

    Delegates the traversal strategy to scala.reflect.internal.Trees, because pattern matching on abstract types we have here degrades performance.

    Delegates the traversal strategy to scala.reflect.internal.Trees, because pattern matching on abstract types we have here degrades performance.

    Attributes
    protected
    Definition Classes
    Trees → Trees
  496. val javanme: JavaKeywords

    Permalink
    Definition Classes
    StdNames
  497. def kindsConform(tparams: List[Symbol], targs: List[Type], pre: Type, owner: Symbol): Boolean

    Permalink
    Definition Classes
    Kinds
  498. final def linkedMapFrom[A, A1 >: A, B](xs: List[A])(f: (A) ⇒ B): LinkedHashMap[A1, B]

    Permalink
    Definition Classes
    Collections
  499. def log(msg: ⇒ AnyRef): Unit

    Permalink
    Definition Classes
    JavaUniverse → SymbolTable
  500. final def lookupTypeName(cs: Array[Char]): TypeName

    Permalink

    Used by the GenBCode backend to lookup type names that are known to already exist.

    Used by the GenBCode backend to lookup type names that are known to already exist. This method might be invoked in a multi-threaded setting. Invoking newTypeName instead might be unsafe.

    can-multi-thread: names are added to the hash tables only after they are fully constructed.

    Definition Classes
    Names
  501. implicit def lowPriorityNameOrdering[T <: Name]: Ordering[T]

    Permalink
    Definition Classes
    SymbolTable
  502. def lub(ts: List[Type], depth: Depth): Type

    Permalink

    The least upper bound wrt <:< of a list of types

    The least upper bound wrt <:< of a list of types

    Attributes
    protected[scala.reflect.internal]
    Definition Classes
    GlbLubs
  503. def lub(ts: List[Type]): Type

    Permalink
    Definition Classes
    GlbLubs
  504. def lubDepth(ts: List[Type]): Depth

    Permalink

    The maximum allowable depth of lubs or glbs over types ts.

    The maximum allowable depth of lubs or glbs over types ts.

    Definition Classes
    Types
  505. def lubList(ts: List[Type], depth: Depth): List[Type]

    Permalink

    Given a matrix tsBts whose columns are basetype sequences (and the symbols tsParams that should be interpreted as type parameters in this matrix), compute its least sorted upwards closed upper bound relative to the following ordering <= between lists of types:

    Given a matrix tsBts whose columns are basetype sequences (and the symbols tsParams that should be interpreted as type parameters in this matrix), compute its least sorted upwards closed upper bound relative to the following ordering <= between lists of types:

    xs <= ys iff forall y in ys exists x in xs such that x <: y

    Definition Classes
    GlbLubs
  506. def lubResults: HashMap[(Depth, List[Type]), Type]

    Permalink
    Definition Classes
    SynchronizedTypes → GlbLubs
  507. def makeNoSymbol: NoSymbol

    Permalink
    Attributes
    protected
    Definition Classes
    SynchronizedSymbols → Symbols
  508. final def map2[A, B, C](xs1: List[A], xs2: List[B])(f: (A, B) ⇒ C): List[C]

    Permalink
    Definition Classes
    Collections
  509. final def map2Conserve[A <: AnyRef, B](xs: List[A], ys: List[B])(f: (A, B) ⇒ A): List[A]

    Permalink

    like map2, but returns list xs itself - instead of a copy - if function f maps all elements to themselves.

    like map2, but returns list xs itself - instead of a copy - if function f maps all elements to themselves.

    Definition Classes
    Collections
  510. final def map3[A, B, C, D](xs1: List[A], xs2: List[B], xs3: List[C])(f: (A, B, C) ⇒ D): List[D]

    Permalink
    Definition Classes
    Collections
  511. final def mapFrom[A, A1 >: A, B](xs: List[A])(f: (A) ⇒ B): Map[A1, B]

    Permalink
    Definition Classes
    Collections
  512. final def mapList[A, B](as: List[A])(f: (A) ⇒ B): List[B]

    Permalink

    A version of List#map, specialized for List, and optimized to avoid allocation if as is empty

    A version of List#map, specialized for List, and optimized to avoid allocation if as is empty

    Definition Classes
    Collections
  513. def mapParamss[T](sym: Symbol)(f: (Symbol) ⇒ T): List[List[T]]

    Permalink

    A deep map on a symbol's paramss.

    A deep map on a symbol's paramss.

    Definition Classes
    Symbols
  514. final def mapWithIndex[A, B](xs: List[A])(f: (A, Int) ⇒ B): List[B]

    Permalink
    Definition Classes
    Collections
  515. def markAllCompleted(syms: Symbol*): Unit

    Permalink
    Definition Classes
    Symbols
  516. def markFlagsCompleted(syms: Symbol*)(mask: Long): Unit

    Permalink
    Definition Classes
    Symbols
  517. final def matchesType(tp1: Type, tp2: Type, alwaysMatchSimple: Boolean): Boolean

    Permalink

    A function implementing tp1 matches tp2.

    A function implementing tp1 matches tp2.

    Definition Classes
    Types
  518. def matchingParams(syms1: List[Symbol], syms2: List[Symbol], syms1isJava: Boolean, syms2isJava: Boolean): Boolean

    Permalink

    Are syms1 and syms2 parameter lists with pairwise equivalent types?

    Are syms1 and syms2 parameter lists with pairwise equivalent types?

    Attributes
    protected[scala.reflect.internal]
    Definition Classes
    Types
  519. final val maxToStringRecursions: Int(50)

    Permalink

    The maximum number of recursions allowed in toString

    The maximum number of recursions allowed in toString

    Definition Classes
    TypeToStrings
  520. def mergePrefixAndArgs(tps: List[Type], variance: Variance, depth: Depth): Type

    Permalink

    Compute lub (if variance == Covariant) or glb (if variance == Contravariant) of given list of types tps.

    Compute lub (if variance == Covariant) or glb (if variance == Contravariant) of given list of types tps. All types in tps are typerefs or singletypes with the same symbol. Return x if the computation succeeds with result x. Return NoType if the computation fails.

    Definition Classes
    Types
  521. final def mexists[A](xss: List[List[A]])(p: (A) ⇒ Boolean): Boolean

    Permalink

    All these mm methods are "deep map" style methods for mapping etc.

    All these mm methods are "deep map" style methods for mapping etc. on a list of lists while avoiding unnecessary intermediate structures like those created via flatten.

    Definition Classes
    Collections
  522. final def mfind[A](xss: List[List[A]])(p: (A) ⇒ Boolean): Option[A]

    Permalink
    Definition Classes
    Collections
  523. final def mforall[A](xss: List[List[A]])(p: (A) ⇒ Boolean): Boolean

    Permalink
    Definition Classes
    Collections
  524. final def mforeach[A](xss: Traversable[Traversable[A]])(f: (A) ⇒ Unit): Unit

    Permalink
    Definition Classes
    Collections
  525. final def mforeach[A](xss: List[List[A]])(f: (A) ⇒ Unit): Unit

    Permalink

    These are all written in terms of List because we're trying to wring all the performance we can and List is used almost exclusively in the compiler, but people are branching out in their collections so here's an overload.

    These are all written in terms of List because we're trying to wring all the performance we can and List is used almost exclusively in the compiler, but people are branching out in their collections so here's an overload.

    Definition Classes
    Collections
  526. def mirrorThatLoaded(sym: Symbol): Mirror

    Permalink

    Returns the mirror that loaded given symbol

    Returns the mirror that loaded given symbol

    Definition Classes
    JavaMirrors → SymbolTable
  527. val missingAliasException: MissingAliasControl

    Permalink
    Definition Classes
    Types
  528. def missingHook(owner: Symbol, name: Name): Symbol

    Permalink

    1.

    1. If owner is a package class (but not the empty package) and name is a term name, make a new package <owner>.<name>, otherwise return NoSymbol. Exception: If owner is root and a java class with given name exists, create symbol in empty package instead 2. If owner is the scala package and name designates a phantom class, return the corresponding class symbol and enter it into this mirror's ScalaPackage.

    Definition Classes
    JavaMirrors → SymbolTable
  529. def mkImporter(from0: Universe): Importer { val from: from0.type }

    Permalink
    Definition Classes
    Importers
  530. final def mkThreadLocalStorage[T](x: ⇒ T): ThreadLocalStorage[T]

    Permalink
    Definition Classes
    ThreadLocalStorage
    Annotations
    @inline()
  531. final def mmap[A, B](xss: List[List[A]])(f: (A) ⇒ B): collection.immutable.List[collection.immutable.List[B]]

    Permalink
    Definition Classes
    Collections
  532. final val nameDebug: Boolean(false)

    Permalink
    Definition Classes
    Names
  533. final def ne(arg0: AnyRef): Boolean

    Permalink

    Equivalent to !(this eq that).

    Equivalent to !(this eq that).

    returns

    true if the argument is not a reference to the receiver object; false otherwise.

    Definition Classes
    AnyRef
  534. def needsOuterTest(patType: Type, selType: Type, currentOwner: Symbol): Boolean

    Permalink

    Does a pattern of type patType need an outer test when executed against selector type selType in context defined by currentOwner?

    Does a pattern of type patType need an outer test when executed against selector type selType in context defined by currentOwner?

    Definition Classes
    Types
  535. def nestedMemberType(sym: Symbol, pre: Type, owner: Symbol): Type

    Permalink

    A more persistent version of Type#memberType which does not require that the symbol is a direct member of the prefix.

    A more persistent version of Type#memberType which does not require that the symbol is a direct member of the prefix.

    For instance:

    class C[T] {
      sealed trait F[A]
      object X {
        object S1 extends F[T]
      }
      class S2 extends F[T]
    }
    object O extends C[Int] {
      def foo(f: F[Int]) = f match {...} // need to enumerate sealed subtypes of the scrutinee here.
    }
    class S3 extends O.F[String]
    
    nestedMemberType(<S1>, <O.type>, <C>) = O.X.S1.type
    nestedMemberType(<S2>, <O.type>, <C>) = O.S2.type
    nestedMemberType(<S3>, <O.type>, <C>) = S3.type
    sym

    The symbol of the subtype

    pre

    The prefix from which the symbol is seen

    Definition Classes
    Types
  536. def newAsSeenFromMap(pre: Type, clazz: Symbol): AsSeenFromMap

    Permalink
    Definition Classes
    TypeMaps
  537. def newBaseTypeSeq(parents: List[Type], elems: Array[Type]): BaseTypeSeq

    Permalink
    Attributes
    protected
    Definition Classes
    SynchronizedOps → BaseTypeSeqs
  538. def newCodePrinter(writer: PrintWriter, tree: Tree, printRootPkg: Boolean): TreePrinter

    Permalink

    Hook to define what showCode(...) means.

    Hook to define what showCode(...) means.

    Definition Classes
    Printers → Printers
  539. def newDefDef(sym: Symbol, rhs: Tree)(mods: Modifiers = Modifiers(sym.flags), name: TermName = sym.name.toTermName, tparams: List[TypeDef] = sym.typeParams map TypeDef.apply, vparamss: List[List[ValDef]] = mapParamss(sym)(ValDef.apply), tpt: Tree = TypeTreeMemberType(sym)): DefDef

    Permalink
    Definition Classes
    Trees
  540. def newExistentialType(quantified: List[Symbol], underlying: Type): Type

    Permalink

    A creator for existential types which flattens nested existentials.

    A creator for existential types which flattens nested existentials.

    Definition Classes
    Types
  541. def newFreeTermSymbol(name: TermName, value: ⇒ Any, flags: Long = 0L, origin: String = null): FreeTermSymbol

    Permalink

    Create a new free term.

    Create a new free term. Its owner is NoSymbol.

    Definition Classes
    SynchronizedSymbols → Symbols
  542. def newFreeTypeSymbol(name: TypeName, flags: Long = 0L, origin: String = null): FreeTypeSymbol

    Permalink

    Create a new free type.

    Create a new free type. Its owner is NoSymbol.

    Definition Classes
    SynchronizedSymbols → Symbols
  543. def newLazyTreeCopier: TreeCopier

    Permalink

    Creates a lazy tree copier.

    Creates a lazy tree copier.

    Definition Classes
    JavaUniverseTrees
  544. final def newNestedScope(outer: Scope): Scope

    Permalink

    Create a new scope nested in another one with which it shares its elements

    Create a new scope nested in another one with which it shares its elements

    Definition Classes
    Scopes
  545. def newPackageScope(pkgClass: Symbol): PackageScope

    Permalink
    Definition Classes
    SymbolLoaders
  546. def newRawTreePrinter(writer: PrintWriter): RawTreePrinter

    Permalink

    Hook to define what showRaw(...) means.

    Hook to define what showRaw(...) means.

    Definition Classes
    Printers → Printers
  547. def newScope: Scope with SynchronizedScope

    Permalink

    Create a new scope

    Create a new scope

    Definition Classes
    SynchronizedOps → Scopes
  548. def newScopeWith(elems: Symbol*): Scope

    Permalink

    Create a new scope with given initial elements

    Create a new scope with given initial elements

    Definition Classes
    Scopes
  549. def newStrictTreeCopier: TreeCopier

    Permalink

    Creates a strict tree copier.

    Creates a strict tree copier.

    Definition Classes
    JavaUniverseTrees
  550. def newStubSymbol(owner: Symbol, name: Name, missingMessage: String, isPackage: Boolean = false): Symbol

    Permalink
    Attributes
    protected
    Definition Classes
    Symbols
  551. final def newTermName(bs: Array[Byte], offset: Int, len: Int): TermName

    Permalink

    Create a term name from the UTF8 encoded bytes in bs[offset..offset+len-1].

    Create a term name from the UTF8 encoded bytes in bs[offset..offset+len-1].

    Definition Classes
    Names
  552. def newTermName(s: String): TermName

    Permalink

    Create a term name from string.

    Create a term name from string.

    Definition Classes
    Names → Names
    Annotations
    @deprecatedOverriding( ... , "2.11.0" )
  553. final def newTermName(cs: Array[Char], offset: Int, len0: Int, cachedString: String): TermName

    Permalink

    Create a term name from the characters in cs[offset..offset+len-1].

    Create a term name from the characters in cs[offset..offset+len-1]. TODO - have a mode where name validation is performed at creation time (e.g. if a name has the string "$class" in it, then fail if that string is not at the very end.)

    len0

    the length of the name. Negative lengths result in empty names.

    Definition Classes
    Names
  554. final def newTermName(cs: Array[Char]): TermName

    Permalink
    Definition Classes
    Names
  555. final def newTermName(cs: Array[Char], offset: Int, len: Int): TermName

    Permalink

    Create a term name from the characters in cs[offset..offset+len-1].

    Create a term name from the characters in cs[offset..offset+len-1].

    Definition Classes
    Names
  556. final def newTermNameCached(s: String): TermName

    Permalink
    Definition Classes
    Names
  557. def newTreePrinter(): TreePrinter

    Permalink
    Definition Classes
    Printers
  558. def newTreePrinter(stream: OutputStream): TreePrinter

    Permalink
    Definition Classes
    Printers
  559. def newTreePrinter(writer: PrintWriter): TreePrinter

    Permalink

    Hook to define what show(...) means.

    Hook to define what show(...) means.

    Definition Classes
    Printers → Printers
  560. def newTypeDef(sym: Symbol, rhs: Tree)(mods: Modifiers = Modifiers(sym.flags), name: TypeName = sym.name.toTypeName, tparams: List[TypeDef] = sym.typeParams map TypeDef.apply): TypeDef

    Permalink
    Definition Classes
    Trees
  561. final def newTypeName(bs: Array[Byte], offset: Int, len: Int): TypeName

    Permalink

    Create a type name from the UTF8 encoded bytes in bs[offset..offset+len-1].

    Create a type name from the UTF8 encoded bytes in bs[offset..offset+len-1].

    Definition Classes
    Names
  562. final def newTypeName(cs: Array[Char], offset: Int, len: Int): TypeName

    Permalink

    Create a type name from the characters in cs[offset..offset+len-1].

    Create a type name from the characters in cs[offset..offset+len-1].

    Definition Classes
    Names
  563. def newTypeName(s: String): TypeName

    Permalink

    Create a type name from string.

    Create a type name from string.

    Definition Classes
    Names → Names
    Annotations
    @deprecatedOverriding( ... , "2.11.0" )
  564. final def newTypeName(cs: Array[Char], offset: Int, len: Int, cachedString: String): TypeName

    Permalink
    Definition Classes
    Names
  565. final def newTypeName(cs: Array[Char]): TypeName

    Permalink
    Definition Classes
    Names
  566. final def newTypeNameCached(s: String): TypeName

    Permalink
    Definition Classes
    Names
  567. def newValDef(sym: Symbol, rhs: Tree)(mods: Modifiers = Modifiers(sym.flags), name: TermName = sym.name.toTermName, tpt: Tree = TypeTreeMemberType(sym)): ValDef

    Permalink
    Definition Classes
    Trees
  568. def nextExistentialId(): Int

    Permalink
    Attributes
    protected
    Definition Classes
    SynchronizedSymbols → Symbols
  569. def nextId(): Int

    Permalink
    Attributes
    protected
    Definition Classes
    SynchronizedSymbols → Symbols
  570. object nme extends internal.SymbolTable.TermNames

    Permalink
    Definition Classes
    StdNames
  571. object noPrint extends (internal.SymbolTable.Tree) ⇒ Boolean

    Permalink

    There's a whole lot of implementation detail which is nothing but noise when you are trying to see what's going on.

    There's a whole lot of implementation detail which is nothing but noise when you are trying to see what's going on. This is my attempt to filter it out.

    Definition Classes
    TypeDebugging
  572. object noSelfType extends internal.SymbolTable.ValDef with internal.SymbolTable.CannotHaveAttrs

    Permalink

    An empty deferred value definition corresponding to: val _: _ This is used as a placeholder in the self parameter Template if there is no definition of a self value of self type.

    An empty deferred value definition corresponding to: val _: _ This is used as a placeholder in the self parameter Template if there is no definition of a self value of self type.

    Definition Classes
    Trees → Trees
  573. def nonTrivialMembers(clazz: Symbol): Scope

    Permalink

    Members of the given class, other than those inherited from Any or AnyRef.

    Members of the given class, other than those inherited from Any or AnyRef.

    Definition Classes
    Types
  574. object normalizeAliases extends internal.SymbolTable.TypeMap

    Permalink

    Normalize any type aliases within this type (@see Type#normalize).

    Normalize any type aliases within this type (@see Type#normalize). Note that this depends very much on the call to "normalize", not "dealias", so it is no longer carries the too-stealthy name "deAlias".

    Definition Classes
    TypeMaps
  575. def normalizePlus(tp: Type): Type

    Permalink
    Definition Classes
    Types
  576. final def notify(): Unit

    Permalink

    Wakes up a single thread that is waiting on the receiver object's monitor.

    Wakes up a single thread that is waiting on the receiver object's monitor.

    Definition Classes
    AnyRef
    Note

    not specified by SLS as a member of AnyRef

  577. final def notifyAll(): Unit

    Permalink

    Wakes up all threads that are waiting on the receiver object's monitor.

    Wakes up all threads that are waiting on the receiver object's monitor.

    Definition Classes
    AnyRef
    Note

    not specified by SLS as a member of AnyRef

  578. def numericLub(ts: List[Type]): Type

    Permalink
    Definition Classes
    GlbLubs
  579. def objToAny(tp: Type): Type

    Permalink
    Definition Classes
    Types
  580. def openPackageModule(pkgClass: Symbol): Unit

    Permalink

    if there's a package member object in pkgClass, enter its members into it.

    if there's a package member object in pkgClass, enter its members into it.

    Definition Classes
    SymbolTable
  581. def openPackageModule(container: Symbol, dest: Symbol): Unit

    Permalink
    Definition Classes
    SymbolTable
  582. def overloadedType(pre: Type, alternatives: List[Symbol]): Type

    Permalink

    The canonical creator for OverloadedTypes.

    The canonical creator for OverloadedTypes.

    Definition Classes
    Types
  583. final def packSymbols(hidden: List[Symbol], tp: Type, rawOwner: Symbol = NoSymbol): Type

    Permalink

    Compute an existential type from hidden symbols hidden and type tp.

    Compute an existential type from hidden symbols hidden and type tp.

    hidden

    The symbols that will be existentially abstracted

    tp

    The original type

    rawOwner

    The owner for Java raw types.

    Definition Classes
    ExistentialsAndSkolems
  584. def paramString(tp: Type): String

    Permalink
    Definition Classes
    TypeDebugging
  585. def pendingBaseTypes: HashSet[Type]

    Permalink
    Definition Classes
    SynchronizedTypes → Types
  586. def pendingSubTypes: HashSet[SubTypePair]

    Permalink
    Definition Classes
    SynchronizedTypes → TypeComparers
  587. object pendingSuperCall extends internal.SymbolTable.Apply with internal.SymbolTable.CannotHaveAttrs

    Permalink

    An empty superclass constructor call corresponding to: super.<init>() This is used as a placeholder in the primary constructor body in class templates to denote the insertion point of a call to superclass constructor after the typechecker figures out the superclass of a given template.

    An empty superclass constructor call corresponding to: super.<init>() This is used as a placeholder in the primary constructor body in class templates to denote the insertion point of a call to superclass constructor after the typechecker figures out the superclass of a given template.

    Definition Classes
    Trees → Trees
  588. object perRunCaches

    Permalink
    Definition Classes
    SymbolTable
  589. final def period(rid: RunId, pid: Int): Period

    Permalink
    Definition Classes
    SymbolTable
  590. var phStack: List[Phase]

    Permalink
    Definition Classes
    SymbolTable
  591. final def phase: Phase

    Permalink
    Definition Classes
    SymbolTable
  592. final def phaseId(period: Period): Int

    Permalink

    The phase identifier of the given period.

    The phase identifier of the given period.

    Definition Classes
    SymbolTable
  593. final def phaseOf(period: Period): Phase

    Permalink

    The phase associated with given period.

    The phase associated with given period.

    Definition Classes
    SymbolTable
  594. val phaseWithId: Array[Phase]

    Permalink

    The phase which has given index as identifier.

    The phase which has given index as identifier.

    Definition Classes
    ReflectSetup → SymbolTable
  595. final def phase_=(p: Phase): Unit

    Permalink
    Definition Classes
    SymbolTable
  596. def picklerPhase: SomePhase.type

    Permalink
    Definition Classes
    JavaUniverse → Required
  597. def picklerSubTag(tree: Tree): Int

    Permalink
    Definition Classes
    Translations
  598. def picklerTag(tpe: Type): Int

    Permalink
    Definition Classes
    Translations
  599. def picklerTag(sym: Symbol): Int

    Permalink

    Local symbols only.

    Local symbols only. The assessment of locality depends on convoluted conditions which depends in part on the root symbol being pickled, so it cannot be reproduced here. The pickler tags at stake are EXTMODCLASSref and EXTref. Those tags are never produced here - such symbols must be excluded prior to calling this method.

    Definition Classes
    Translations
  600. def picklerTag(ref: AnyRef): Int

    Permalink
    Definition Classes
    Translations
  601. final def popPhase(ph: Phase): Unit

    Permalink
    Definition Classes
    SymbolTable
  602. lazy val posAssigner: PosAssigner

    Permalink
    Attributes
    protected[this]
    Definition Classes
    Positions
  603. def postErasure: PostErasure { val global: JavaUniverse.this.type }

    Permalink
    Definition Classes
    Transforms
  604. def propagatePackageBoundary(jflags: JavaAccFlags, syms: Symbol*): Unit

    Permalink
    Definition Classes
    PrivateWithin
  605. def propagatePackageBoundary(m: Member, syms: Symbol*): Unit

    Permalink
    Definition Classes
    PrivateWithin
  606. def propagatePackageBoundary(c: Class[_], syms: Symbol*): Unit

    Permalink
    Definition Classes
    PrivateWithin
  607. final def pushPhase(ph: Phase): Phase

    Permalink
    Definition Classes
    SymbolTable
  608. def quotedName(name: String): String

    Permalink
    Definition Classes
    Printers
  609. def quotedName(name: Name): String

    Permalink
    Definition Classes
    Printers
  610. def quotedName(name: Name, decode: Boolean): String

    Permalink

    Adds backticks if the name is a scala keyword.

    Adds backticks if the name is a scala keyword.

    Definition Classes
    Printers
  611. def rangePos(source: SourceFile, start: Int, point: Int, end: Int): Position

    Permalink
    Definition Classes
    Positions
  612. def rawToExistential: TypeMap

    Permalink

    The raw to existential map converts a raw type to an existential type.

    The raw to existential map converts a raw type to an existential type. It is necessary because we might have read a raw type of a parameterized Java class from a class file. At the time we read the type the corresponding class file might still not be read, so we do not know what the type parameters of the type are. Therefore the conversion of raw types to existential types might not have taken place in ClassFileparser.sigToType (where it is usually done).

    Definition Classes
    TypeMaps
  613. def recursionTable: Map[Symbol, Int]

    Permalink
    Definition Classes
    SynchronizedSymbols → Symbols
  614. def recursionTable_=(value: Map[Symbol, Int]): Unit

    Permalink
    Definition Classes
    SynchronizedSymbols → Symbols
  615. def refChecks: RefChecks { val global: JavaUniverse.this.type }

    Permalink
    Definition Classes
    Transforms
  616. def referenceCapturedVariable(vble: Symbol): Tree

    Permalink

    Mark given identifier as a reference to a captured variable itself suppressing dereferencing with the elem field.

    Mark given identifier as a reference to a captured variable itself suppressing dereferencing with the elem field.

    Definition Classes
    CapturedVariables
  617. def refinedType(parents: List[Type], owner: Symbol): Type

    Permalink

    The canonical creator for a refined type with an initially empty scope.

    The canonical creator for a refined type with an initially empty scope.

    Definition Classes
    Types
  618. def refinedType(parents: List[Type], owner: Symbol, decls: Scope, pos: Position): Type

    Permalink

    the canonical creator for a refined type with a given scope

    the canonical creator for a refined type with a given scope

    Definition Classes
    Types
  619. macro def reify[T](expr: T): Expr[T]

    Permalink

    Use reify to produce the abstract syntax tree representing a given Scala expression.

    Use reify to produce the abstract syntax tree representing a given Scala expression.

    For example:

    val five = reify{ 5 }         // Literal(Constant(5))
    reify{ 5.toString }           // Apply(Select(Literal(Constant(5)), TermName("toString")), List())
    reify{ five.splice.toString } // Apply(Select(five, TermName("toString")), List())

    The produced tree is path dependent on the Universe reify was called from.

    Use scala.reflect.api.Exprs#Expr.splice to embed an existing expression into a reify call. Use Expr to turn a Tree into an expression that can be spliced.

    Definition Classes
    Universe
  620. def removeAllAnnotationCheckers(): Unit

    Permalink

    Remove all annotation checkers

    Remove all annotation checkers

    Definition Classes
    AnnotationCheckers
  621. def render(what: Any, mkPrinter: (PrintWriter) ⇒ JavaUniverse.TreePrinter, printTypes: BooleanFlag = None, printIds: BooleanFlag = None, printOwners: BooleanFlag = None, printKinds: BooleanFlag = None, printMirrors: BooleanFlag = None, printPositions: BooleanFlag = None): String

    Permalink

    Attributes
    protected
    Definition Classes
    Printers
  622. def repackExistential(tp: Type): Type

    Permalink

    Repack existential types, otherwise they sometimes get unpacked in the wrong location (type inference comes up with an unexpected skolem)

    Repack existential types, otherwise they sometimes get unpacked in the wrong location (type inference comes up with an unexpected skolem)

    Definition Classes
    Types
  623. def reporter: Reporter

    Permalink
    Definition Classes
    JavaUniverse → Reporting
  624. def rootClassLoader: ClassLoader

    Permalink
    Definition Classes
    JavaMirrors
  625. lazy val rootMirror: Mirror

    Permalink

    The root mirror of this universe.

    The root mirror of this universe. This mirror contains standard Scala classes and types such as Any, AnyRef, AnyVal, Nothing, Null, and all classes loaded from scala-library, which are shared across all mirrors within the enclosing universe.

    Definition Classes
    JavaMirrors → Mirrors
  626. final def runId(period: Period): RunId

    Permalink

    The run identifier of the given period.

    The run identifier of the given period.

    Definition Classes
    SymbolTable
  627. def runtimeMirror(cl: ClassLoader): Mirror

    Permalink

    Creates a runtime reflection mirror from a JVM classloader.

    Creates a runtime reflection mirror from a JVM classloader.

    For more information about Mirrorss, see scala.reflect.api.Mirrors or the Reflection Guide: Mirrors

    Definition Classes
    JavaMirrors → JavaUniverse
  628. final def sameLength(xs1: List[_], xs2: List[_]): Boolean

    Permalink

    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.

    Definition Classes
    Types
  629. def sameWeakLubAsLub(tps: List[Type]): Boolean

    Permalink

    Does this set of types have the same weak lub as it does regular lub? This is exposed so lub callers can discover whether the trees they are typing will may require further adaptation.

    Does this set of types have the same weak lub as it does regular lub? This is exposed so lub callers can discover whether the trees they are typing will may require further adaptation. It may return false negatives, but it will not return false positives.

    Definition Classes
    GlbLubs
  630. def saveOriginalOwner(sym: Symbol): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Symbols
  631. def scopeTransform(owner: Symbol)(op: ⇒ Scope): Scope

    Permalink
    Definition Classes
    SymbolLoaders
  632. final def sequence[A](as: List[Option[A]]): Option[List[A]]

    Permalink
    Definition Classes
    Collections
  633. def setAllInfos(clazz: Symbol, module: Symbol, info: Type): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    SymbolLoaders
  634. def setPackageAccessBoundary(sym: Symbol): Symbol

    Permalink
    Definition Classes
    PrivateWithin
  635. lazy val settings: Settings

    Permalink
    Definition Classes
    JavaUniverse → Required
  636. val shorthands: Set[String]

    Permalink
    Definition Classes
    Types
  637. def shouldLogAtThisPhase: Boolean

    Permalink
    Definition Classes
    SymbolTable
  638. def show(position: Position): String

    Permalink

    Renders a prettified representation of a position.

    Renders a prettified representation of a position.

    Definition Classes
    Printers → Printers
  639. def show(flags: FlagSet): String

    Permalink

    Renders a prettified representation of a flag set.

    Renders a prettified representation of a flag set.

    Definition Classes
    Printers → Printers
  640. def show(name: Name): String

    Permalink

    Renders a prettified representation of a name.

    Renders a prettified representation of a name.

    Definition Classes
    Printers → Printers
  641. def show(any: Any, printTypes: BooleanFlag = None, printIds: BooleanFlag = None, printOwners: BooleanFlag = None, printKinds: BooleanFlag = None, printMirrors: BooleanFlag = None, printPositions: BooleanFlag = None): String

    Permalink

    Renders a representation of a reflection artifact as desugared Scala code.

    Renders a representation of a reflection artifact as desugared Scala code.

    Definition Classes
    Printers
  642. def showCode(tree: Tree, printTypes: BooleanFlag = None, printIds: BooleanFlag = None, printOwners: BooleanFlag = None, printPositions: BooleanFlag = None, printRootPkg: Boolean = false): String

    Permalink

    Renders the code of the passed tree, so that: 1) it can be later compiled by scalac retaining the same meaning, 2) it looks pretty.

    Renders the code of the passed tree, so that: 1) it can be later compiled by scalac retaining the same meaning, 2) it looks pretty. #1 is available for unattributed trees and attributed trees #2 is more or less okay indentation-wise, but at the moment there's a lot of desugaring left in place, and that's what we plan to improve in the future. printTypes, printIds, printPositions options have the same meaning as for TreePrinter printRootPkg option is available only for attributed trees.

    Definition Classes
    Printers
  643. def showDecl(sym: Symbol): String

    Permalink

    Renders a string that represents a declaration of this symbol written in Scala.

    Renders a string that represents a declaration of this symbol written in Scala.

    Definition Classes
    Printers → Printers
  644. def showRaw(position: Position): String

    Permalink

    Renders internal structure of a position.

    Renders internal structure of a position.

    Definition Classes
    Printers
  645. def showRaw(flags: FlagSet): String

    Permalink

    Renders internal structure of a flag set.

    Renders internal structure of a flag set.

    Definition Classes
    Printers
  646. def showRaw(name: Name): String

    Permalink

    Renders internal structure of a name.

    Renders internal structure of a name.

    Definition Classes
    Printers
  647. def showRaw(any: Any, printTypes: BooleanFlag = None, printIds: BooleanFlag = None, printOwners: BooleanFlag = None, printKinds: BooleanFlag = None, printMirrors: BooleanFlag = None, printPositions: BooleanFlag = None): String

    Permalink

    Renders internal structure of a reflection artifact as the visualization of a Scala syntax tree.

    Renders internal structure of a reflection artifact as the visualization of a Scala syntax tree.

    Definition Classes
    Printers
  648. def singleType(pre: Type, sym: Symbol): Type

    Permalink

    The canonical creator for single-types

    The canonical creator for single-types

    Definition Classes
    Types
  649. def singletonBounds(hi: Type): TypeBounds

    Permalink
    Definition Classes
    Types
  650. def skipPrefixOf(pre: Type, clazz: Symbol): Boolean

    Permalink
    Attributes
    protected[scala.reflect.internal]
    Definition Classes
    TypeMaps
  651. def skolemizationLevel: Int

    Permalink
    Definition Classes
    SynchronizedTypes → Types
  652. def skolemizationLevel_=(value: Int): Unit

    Permalink
    Definition Classes
    SynchronizedTypes → Types
  653. def slowButSafeEnteringPhase[T](ph: Phase)(op: ⇒ T): T

    Permalink
    Definition Classes
    SymbolTable
  654. def slowButSafeEnteringPhaseNotLaterThan[T](target: Phase)(op: ⇒ T): T

    Permalink
    Definition Classes
    SymbolTable
  655. lazy val sn: SymbolNames

    Permalink
    Definition Classes
    StdNames
  656. def solidDescendants(tree: Tree): List[Tree]

    Permalink
    Definition Classes
    Positions
  657. def solve(tvars: List[TypeVar], tparams: List[Symbol], variances: List[Variance], upper: Boolean, depth: Depth): Boolean

    Permalink

    Solve constraint collected in types tvars.

    Solve constraint collected in types tvars.

    tvars

    All type variables to be instantiated.

    tparams

    The type parameters corresponding to tvars

    variances

    The variances of type parameters; need to reverse solution direction for all contravariant variables.

    upper

    When true search for max solution else min.

    Definition Classes
    TypeConstraints
  658. def spanningTypes(ts: List[Type]): List[Type]

    Permalink

    A minimal type list which has a given list of types as its base type sequence

    A minimal type list which has a given list of types as its base type sequence

    Definition Classes
    GlbLubs
  659. def specializesSym(preLo: Type, symLo: Symbol, preHi: Type, symHi: Symbol, depth: Depth): Boolean

    Permalink

    Does member symLo of tpLo have a stronger type than member symHi of tpHi?

    Does member symLo of tpLo have a stronger type than member symHi of tpHi?

    Attributes
    protected[scala.reflect.internal]
    Definition Classes
    Types
  660. def specializesSym(tp: Type, sym: Symbol, depth: Depth): Boolean

    Permalink
    Definition Classes
    Types
  661. def subsametypeRecursions: Int

    Permalink
    Definition Classes
    SynchronizedTypes → TypeComparers
  662. def subsametypeRecursions_=(value: Int): Unit

    Permalink
    Definition Classes
    SynchronizedTypes → TypeComparers
  663. def supplementErrorMessage(errorMessage: String): String

    Permalink
    Definition Classes
    Reporting
  664. def supplementTyperState(errorMessage: String): String

    Permalink
    Definition Classes
    Reporting
  665. final def suspendingTypeVars[T](tvs: List[TypeVar])(op: ⇒ T): T

    Permalink
    Definition Classes
    Types
    Annotations
    @inline()
  666. def symName(tree: Tree, name: Name): String

    Permalink
    Definition Classes
    Printers
  667. def symbolOf[T](implicit arg0: WeakTypeTag[T]): TypeSymbol

    Permalink
    Definition Classes
    Symbols
  668. def synchronizeNames: Boolean

    Permalink
    Attributes
    protected
    Definition Classes
    SynchronizedOps → Names
  669. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  670. lazy val termNames: nme.type

    Permalink
    Definition Classes
    StdNames
  671. def throwableAsString(t: Throwable, maxFrames: Int): String

    Permalink
    Definition Classes
    SymbolTable
  672. def throwableAsString(t: Throwable): String

    Permalink
    Definition Classes
    SymbolTable
  673. def toString(): String

    Permalink

    Creates a String representation of this object.

    Creates a String representation of this object. The default representation is platform dependent. On the java platform it is the concatenation of the class name, "@", and the object's hashcode in hexadecimal.

    returns

    a String representation of the object.

    Definition Classes
    AnyRef → Any
  674. def toStringRecursions: Int

    Permalink
    Definition Classes
    SynchronizedTypes → TypeToStrings
  675. def toStringRecursions_=(value: Int): Unit

    Permalink
    Definition Classes
    SynchronizedTypes → TypeToStrings
  676. def toStringSubjects: HashSet[Type]

    Permalink
    Definition Classes
    SynchronizedTypes → TypeToStrings
  677. object tpnme extends internal.SymbolTable.TypeNames

    Permalink
    Definition Classes
    StdNames
  678. final val traceSymbolActivity: Boolean

    Permalink

    Dump each symbol to stdout after shutdown.

    Dump each symbol to stdout after shutdown.

    Definition Classes
    SymbolTable
  679. object traceSymbols extends TraceSymbolActivity

    Permalink
    Definition Classes
    SymbolTable
  680. def transformedType(tpe: Type): Type forSome {val _63: PostErasure { val global: JavaUniverse.this.type }}

    Permalink
    Definition Classes
    Transforms
  681. def transformedType(sym: Symbol): Type forSome {val _93: PostErasure { val global: JavaUniverse.this.type }}

    Permalink
    Definition Classes
    Transforms
  682. def transparentShallowTransform(container: Symbol, tp: Type)(f: (Type) ⇒ Type): Type

    Permalink
    Definition Classes
    Types
  683. final def transposeSafe[A](ass: List[List[A]]): Option[List[List[A]]]

    Permalink
    Definition Classes
    Collections
  684. lazy val treeBuild: TreeGen

    Permalink
    Definition Classes
    Internals
  685. val treeCopy: TreeCopier

    Permalink

    The standard (lazy) tree copier.

    The standard (lazy) tree copier.

    Definition Classes
    Trees
  686. object treeInfo extends TreeInfo

    Permalink
    Definition Classes
    JavaUniverse → SymbolTable
  687. def treeLine(t: Tree): String

    Permalink
    Attributes
    protected
    Definition Classes
    Trees
  688. val treeNodeCount: View

    Permalink
    Definition Classes
    Trees
  689. def treeStatus(t: Tree, enclosingTree: Tree = null): String

    Permalink
    Attributes
    protected
    Definition Classes
    Trees
  690. def treeSymStatus(t: Tree): String

    Permalink
    Attributes
    protected
    Definition Classes
    Trees
  691. def treeToAnnotation(tree: Tree): Annotation

    Permalink
    Attributes
    protected[scala]
    Definition Classes
    AnnotationInfos → Annotations
  692. def treeToString(tree: Tree): String

    Permalink

    By default trees are printed with show

    By default trees are printed with show

    Attributes
    protected
    Definition Classes
    Printers
  693. object typeDebug

    Permalink

    Light color wrappers.

    Light color wrappers.

    Definition Classes
    TypeDebugging
  694. def typeDepth(tp: Type): Depth

    Permalink

    The maximum depth of type tp

    The maximum depth of type tp

    Definition Classes
    Types
  695. def typeFun(tps: List[Symbol], body: Type): Type

    Permalink

    A creator for a type functions, assuming the type parameters tps already have the right owner.

    A creator for a type functions, assuming the type parameters tps already have the right owner.

    Definition Classes
    Types
  696. def typeFunAnon(tps: List[Symbol], body: Type): Type

    Permalink

    A creator for anonymous type functions, where the symbol for the type function still needs to be created.

    A creator for anonymous type functions, where the symbol for the type function still needs to be created.

    TODO: type params of anonymous type functions, which currently can only arise from normalising type aliases, are owned by the type alias of which they are the eta-expansion higher-order subtyping expects eta-expansion of type constructors that arise from a class; here, the type params are owned by that class, but is that the right thing to do?

    Definition Classes
    Types
  697. lazy val typeNames: tpnme.type

    Permalink
    Definition Classes
    StdNames
  698. def typeOf[T](implicit ttag: TypeTag[T]): Type

    Permalink

    Shortcut for implicitly[TypeTag[T]].tpe

    Shortcut for implicitly[TypeTag[T]].tpe

    Definition Classes
    TypeTags
  699. def typeParamsString(tp: Type): String

    Permalink
    Definition Classes
    TypeDebugging
  700. def typeParamsToExistentials(clazz: Symbol): List[Symbol]

    Permalink
    Definition Classes
    Types
  701. def typeParamsToExistentials(clazz: Symbol, tparams: List[Symbol]): List[Symbol]

    Permalink
    Definition Classes
    Types
  702. def typeRef(pre: Type, sym: Symbol, args: List[Type]): Type

    Permalink

    The canonical creator for typerefs todo: see how we can clean this up a bit

    The canonical creator for typerefs todo: see how we can clean this up a bit

    Definition Classes
    Types
  703. def typeTag[T](implicit ttag: TypeTag[T]): TypeTag[T]

    Permalink

    Shortcut for implicitly[TypeTag[T]]

    Shortcut for implicitly[TypeTag[T]]

    Definition Classes
    TypeTags
  704. def typeToString(tpe: Type): String

    Permalink
    Attributes
    protected
    Definition Classes
    TypeToStrings
  705. def typeTreeSymbol(tree: TypeTree): Symbol

    Permalink

    Delegate for a TypeTree symbol.

    Delegate for a TypeTree symbol. This operation is unsafe because it may trigger type checking when forcing the type symbol of the underlying type.

    Attributes
    protected
    Definition Classes
    Trees
  706. object typeVarToOriginMap extends internal.SymbolTable.TypeMap

    Permalink

    A map to convert each occurrence of a type variable to its origin.

    A map to convert each occurrence of a type variable to its origin.

    Definition Classes
    TypeMaps
  707. def typeVarsInType(tp: Type): List[TypeVar]

    Permalink

    A list of the typevars in a type.

    A list of the typevars in a type.

    Definition Classes
    Types
  708. final def uncheckedBounds(tp: Type): Type

    Permalink

    Adds the @uncheckedBound annotation if the given tp has type arguments

    Adds the @uncheckedBound annotation if the given tp has type arguments

    Definition Classes
    Types
  709. def uncurry: UnCurry { val global: JavaUniverse.this.type }

    Permalink
    Definition Classes
    Transforms
  710. val undetBaseTypeSeq: BaseTypeSeq

    Permalink

    A marker object for a base type sequence that's no yet computed.

    A marker object for a base type sequence that's no yet computed. used to catch inheritance cycles

    Definition Classes
    BaseTypeSeqs
  711. def undoLog: UndoLog

    Permalink
    Definition Classes
    SynchronizedTypes → TypeConstraints
  712. def unique[T <: Type](tp: T): T

    Permalink
    Definition Classes
    SynchronizedTypes → Types
  713. object unwrapToClass extends internal.SymbolTable.ClassUnwrapper

    Permalink
    Definition Classes
    Types
  714. object unwrapToStableClass extends internal.SymbolTable.ClassUnwrapper

    Permalink
    Definition Classes
    Types
  715. object unwrapWrapperTypes extends internal.SymbolTable.TypeUnwrapper

    Permalink
    Definition Classes
    Types
  716. def useOffsetPositions: Boolean

    Permalink
    Definition Classes
    Positions
  717. def validateClassInfo(tp: ClassInfoType): Unit

    Permalink

    Assert that packages have package scopes

    Assert that packages have package scopes

    Definition Classes
    SymbolLoaders
  718. def validatePositions(tree: Tree): Unit

    Permalink
    Definition Classes
    Positions
  719. def varianceInType(tp: Type)(tparam: Symbol): Variance

    Permalink

    Compute variance of type parameter tparam in type tp.

    Compute variance of type parameter tparam in type tp.

    Definition Classes
    Variances
  720. def varianceInTypes(tps: List[Type])(tparam: Symbol): Variance

    Permalink

    Compute variance of type parameter tparam in all types tps.

    Compute variance of type parameter tparam in all types tps.

    Definition Classes
    Variances
  721. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  724. def warning(pos: Position, msg: String): Unit

    Permalink
    Definition Classes
    Reporting
    Annotations
    @deprecatedOverriding( ... , "2.11.2" )
  725. def warning(msg: String): Unit

    Permalink
    Definition Classes
    Reporting
    Annotations
    @deprecatedOverriding( ... , "2.11.2" )
  726. def weakLub(tps: List[Type]): Type

    Permalink

    If the arguments are all numeric value types, the numeric lub according to the weak conformance spec.

    If the arguments are all numeric value types, the numeric lub according to the weak conformance spec. If any argument has type annotations, take the lub of the unannotated type and call the analyzerPlugin method annotationsLub so it can be further altered. Otherwise, the regular lub.

    Definition Classes
    GlbLubs
  727. def weakTypeOf[T](implicit attag: WeakTypeTag[T]): Type

    Permalink

    Shortcut for implicitly[WeakTypeTag[T]].tpe

    Shortcut for implicitly[WeakTypeTag[T]].tpe

    Definition Classes
    TypeTags
  728. def weakTypeTag[T](implicit attag: WeakTypeTag[T]): WeakTypeTag[T]

    Permalink

    Shortcut for implicitly[WeakTypeTag[T]]

    Shortcut for implicitly[WeakTypeTag[T]]

    Definition Classes
    TypeTags
  729. object wildcardExtrapolation extends internal.SymbolTable.TypeMap

    Permalink

    Get rid of BoundedWildcardType where variance allows us to do so.

    Get rid of BoundedWildcardType where variance allows us to do so. Invariant: wildcardExtrapolation(tp) =:= tp

    For example, the MethodType given by def bla(x: (_ >: String)): (_ <: Int) is both a subtype and a supertype of def bla(x: String): Int.

    Definition Classes
    TypeMaps
  730. object wildcardToTypeVarMap extends internal.SymbolTable.TypeMap

    Permalink

    A map to convert every occurrence of a wildcard type to a fresh type variable

    A map to convert every occurrence of a wildcard type to a fresh type variable

    Definition Classes
    TypeMaps
  731. def withTypesExplained[A](op: ⇒ A): A

    Permalink

    Execute op while printing a trace of the operations on types executed.

    Execute op while printing a trace of the operations on types executed.

    Definition Classes
    Types
  732. def wrappingIntoTerm(tree0: Tree)(op: (Tree) ⇒ Tree): Tree

    Permalink
    Definition Classes
    Trees
  733. def wrappingPos(trees: List[Tree]): Position

    Permalink

    A position that wraps the non-empty set of trees.

    A position that wraps the non-empty set of trees. The point of the wrapping position is the point of the first trees' position. If some of the trees are non-synthetic, returns a range position enclosing the non-synthetic trees Otherwise returns a synthetic offset position to point.

    Definition Classes
    Positions → Positions
  734. def wrappingPos(default: Position, trees: List[Tree], focus: Boolean): Position

    Permalink
    Definition Classes
    Positions
  735. def wrappingPos(default: Position, trees: List[Tree]): Position

    Permalink

    A position that wraps a set of trees.

    A position that wraps a set of trees. The point of the wrapping position is the point of the default position. If some of the trees are ranges, returns a range position enclosing all ranges Otherwise returns default position that is either focused or not.

    Definition Classes
    Positions → Positions
  736. def xprintTree(treePrinter: TreePrinter, tree: Tree): Unit

    Permalink

    Hook for extensions

    Hook for extensions

    Definition Classes
    Printers
  737. def xtransform(transformer: Transformer, tree: Tree): Tree

    Permalink

    Provides an extension hook for the transformation strategy.

    Provides an extension hook for the transformation strategy. Future-proofs against new node types.

    Attributes
    protected
    Definition Classes
    Trees
  738. def xtraverse(traverser: Traverser, tree: Tree): Unit

    Permalink

    Provides an extension hook for the traversal strategy.

    Provides an extension hook for the traversal strategy. Future-proofs against new node types.

    Attributes
    protected
    Definition Classes
    Trees
  739. def [B](y: B): (JavaUniverse, B)

    Permalink
    Implicit information
    This member is added by an implicit conversion from JavaUniverse to ArrowAssoc[JavaUniverse] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc

Deprecated Value Members

  1. final def atPhase[T](ph: Phase)(op: ⇒ T): T

    Permalink
    Definition Classes
    SymbolTable
    Annotations
    @deprecated @inline()
    Deprecated

    (Since version 2.10.0) Use enteringPhase

  2. def debugwarn(msg: ⇒ String): Unit

    Permalink
    Definition Classes
    SymbolTable
    Annotations
    @deprecated
    Deprecated

    (Since version 2.11.0) Use devWarning if this is really a warning; otherwise use log

  3. lazy val emptyValDef: noSelfType.type

    Permalink
    Definition Classes
    Trees → Trees
    Annotations
    @deprecated
    Deprecated

    (Since version 2.11.0) Use noSelfType instead

  4. def forInteractive: Boolean

    Permalink
    Definition Classes
    Required
    Annotations
    @deprecated
    Deprecated

    (Since version 2.11.0) Interactive is implemented with a custom Global; this flag is ignored

  5. def forScaladoc: Boolean

    Permalink
    Definition Classes
    Required
    Annotations
    @deprecated
    Deprecated

    (Since version 2.11.0) Scaladoc is implemented with a custom Global; this flag is ignored

  6. def isRaw(sym: Symbol, args: List[Type]): Boolean

    Permalink
    Definition Classes
    Types
    Annotations
    @deprecated
    Deprecated

    (Since version 2.10.1) Use isRawType

  7. def polyType(params: List[Symbol], tpe: Type): Type

    Permalink
    Definition Classes
    Types
    Annotations
    @deprecated
    Deprecated

    (Since version 2.10.0) use genPolyType(...) instead

  8. implicit def stringToTermName(s: String): TermName

    Permalink

    An implicit conversion from String to TermName.

    An implicit conversion from String to TermName. Enables an alternative notation "map": TermName as opposed to TermName("map").

    Definition Classes
    Names
    Annotations
    @deprecated
    Deprecated

    (Since version 2.11.0) Use explicit TermName(s) instead

  9. implicit def stringToTypeName(s: String): TypeName

    Permalink

    An implicit conversion from String to TypeName.

    An implicit conversion from String to TypeName. Enables an alternative notation "List": TypeName as opposed to TypeName("List").

    Definition Classes
    Names
    Annotations
    @deprecated
    Deprecated

    (Since version 2.11.0) Use explicit TypeName(s) instead

Inherited from SymbolTable

Inherited from runtime.ThreadLocalStorage

Inherited from Gil

Inherited from SynchronizedOps

Inherited from SynchronizedTypes

Inherited from SynchronizedSymbols

Inherited from SymbolLoaders

Inherited from JavaMirrors

Inherited from TwoWayCaches

Inherited from api.JavaUniverse

Inherited from ReflectSetup

Inherited from JavaUniverseForce

Inherited from internal.SymbolTable

Inherited from Reporting

Inherited from Internals

Inherited from FreshNames

Inherited from Translations

Inherited from PrivateWithin

Inherited from ReificationSupport

Inherited from StdCreators

Inherited from StdAttachments

Inherited from CapturedVariables

Inherited from Required

Inherited from Importers

Inherited from TypeDebugging

Inherited from Positions

Inherited from Printers

Inherited from Trees

Inherited from AnnotationCheckers

Inherited from AnnotationInfos

Inherited from StdNames

Inherited from Transforms

Inherited from InfoTransformers

Inherited from BaseTypeSeqs

Inherited from Constants

Inherited from Definitions

Inherited from Mirrors

Inherited from Scopes

Inherited from FlagSets

Inherited from ExistentialsAndSkolems

Inherited from Kinds

Inherited from Variances

Inherited from Types

Inherited from internal.tpe.FindMembers

Inherited from TypeConstraints

Inherited from TypeMaps

Inherited from GlbLubs

Inherited from CommonOwners

Inherited from TypeToStrings

Inherited from TypeComparers

Inherited from Symbols

Inherited from Names

Inherited from Collections

Inherited from Universe

Inherited from Universe

Inherited from Internals

Inherited from Quasiquotes

Inherited from Liftables

Inherited from Printers

Inherited from Mirrors

Inherited from StandardLiftables

Inherited from StandardNames

Inherited from StandardDefinitions

Inherited from ImplicitTags

Inherited from TypeTags

Inherited from Exprs

Inherited from Positions

Inherited from Annotations

Inherited from Constants

Inherited from Trees

Inherited from Names

Inherited from Scopes

Inherited from FlagSets

Inherited from Types

Inherited from Symbols

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd from JavaUniverse to any2stringadd[JavaUniverse]

Inherited by implicit conversion StringFormat from JavaUniverse to StringFormat[JavaUniverse]

Inherited by implicit conversion Ensuring from JavaUniverse to Ensuring[JavaUniverse]

Inherited by implicit conversion ArrowAssoc from JavaUniverse to ArrowAssoc[JavaUniverse]

Macro Specific Additions

Universe

API

Annotations

Definitions

Expressions

Extractors

Flags

Internal

JavaMirrors

Mirrors

Names

Positions

Printers

Scopes

Symbols

Trees

Types - Operations

TypeTags

Types

Tree Copying

Factories

Tree Traversal and Transformation

Ungrouped