Packages

c

scala.reflect.runtime

JavaUniverse

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, 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. Importers
  25. TypeDebugging
  26. Positions
  27. Printers
  28. Trees
  29. AnnotationCheckers
  30. AnnotationInfos
  31. StdNames
  32. Transforms
  33. InfoTransformers
  34. BaseTypeSeqs
  35. Constants
  36. Definitions
  37. Mirrors
  38. Scopes
  39. FlagSets
  40. ExistentialsAndSkolems
  41. Kinds
  42. Variances
  43. Types
  44. FindMembers
  45. TypeConstraints
  46. TypeMaps
  47. GlbLubs
  48. CommonOwners
  49. TypeToStrings
  50. TypeComparers
  51. Symbols
  52. Names
  53. Collections
  54. Universe
  55. Universe
  56. Internals
  57. Quasiquotes
  58. Liftables
  59. Printers
  60. Mirrors
  61. StandardLiftables
  62. StandardNames
  63. StandardDefinitions
  64. ImplicitTags
  65. TypeTags
  66. Exprs
  67. Positions
  68. Annotations
  69. Constants
  70. Trees
  71. Names
  72. Scopes
  73. FlagSets
  74. Types
  75. Symbols
  76. AnyRef
  77. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new JavaUniverse()

Type Members

  1. trait AnnotationApi extends AnyRef

    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
  2. abstract class AnnotationExtractor extends AnyRef

    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
  3. abstract class ConstantApi extends AnyRef

    The API of Constant instances.

    The API of Constant instances.

    Definition Classes
    Constants
  4. abstract class ConstantExtractor extends AnyRef

    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
  5. trait Expr[+T] extends Equals with Serializable

    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
  6. trait FlagOps extends Any

    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
  7. trait FlagValues extends AnyRef

    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
  8. trait FreeTermSymbolApi extends Universe.TermSymbolApi

    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
  9. trait FreeTypeSymbolApi extends Universe.TypeSymbolApi

    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
  10. trait Importer extends AnyRef

    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
  11. trait InternalApi extends AnyRef

    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
  12. trait ReferenceToBoxedApi extends Universe.TermTreeApi

    The API that all references support

    The API that all references support

    Definition Classes
    Internals
  13. abstract class ReferenceToBoxedExtractor extends AnyRef

    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
  14. trait ReificationSupportApi extends AnyRef

    This is an internal implementation class.

    This is an internal implementation class.

    Definition Classes
    Internals
  15. trait Liftable[T] extends AnyRef

    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

  16. trait Unliftable[T] extends AnyRef

    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

  17. trait ClassMirror extends Universe.TemplateMirror

    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
  18. trait FieldMirror extends AnyRef

    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
  19. trait InstanceMirror extends AnyRef

    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
  20. trait MethodMirror extends AnyRef

    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
  21. trait ModuleMirror extends Universe.TemplateMirror

    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
  22. trait ReflectiveMirror extends api.Mirror[Mirrors.this.type]

    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
  23. trait RuntimeClassApi extends AnyRef

    Has no special methods.

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

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

    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
  25. trait TemplateMirror extends AnyRef

    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
  26. abstract class NameApi extends AnyRef

    The API of Name instances.

    The API of Name instances.

    Definition Classes
    Names
  27. trait TermNameApi extends AnyRef

    Has no special methods.

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

    Definition Classes
    Names
  28. abstract class TermNameExtractor extends AnyRef

    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
  29. trait TypeNameApi extends AnyRef

    Has no special methods.

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

    Definition Classes
    Names
  30. abstract class TypeNameExtractor extends AnyRef

    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
  31. case class BooleanFlag(value: Option[Boolean]) extends Product with Serializable

    Definition Classes
    Printers
  32. implicit class Quasiquote extends AnyRef

    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

  33. trait MemberScopeApi extends Universe.ScopeApi

    The API that all member scopes support

    The API that all member scopes support

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

    The API that all scopes support

    The API that all scopes support

    Definition Classes
    Scopes
  35. trait DefinitionsApi extends Universe.StandardTypes

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

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

    Definition Classes
    StandardDefinitions
  36. trait StandardTypes extends AnyRef

    Defines standard types.

    Defines standard types.

    Definition Classes
    StandardDefinitions
  37. trait StandardLiftableInstances extends AnyRef
    Definition Classes
    StandardLiftables
  38. trait StandardUnliftableInstances extends AnyRef
    Definition Classes
    StandardLiftables
  39. trait NamesApi extends AnyRef

    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
  40. trait TermNamesApi extends Universe.NamesApi

    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
  41. trait TypeNamesApi extends Universe.NamesApi

    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
  42. trait ClassSymbolApi extends Universe.TypeSymbolApi

    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
  43. trait MethodSymbolApi extends Universe.TermSymbolApi

    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
  44. trait ModuleSymbolApi extends Universe.TermSymbolApi

    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
  45. trait SymbolApi extends AnyRef

    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
  46. trait TermSymbolApi extends Universe.SymbolApi

    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
  47. trait TypeSymbolApi extends Universe.SymbolApi

    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
  48. trait AlternativeApi extends Universe.TermTreeApi

    The API that all alternatives support

    The API that all alternatives support

    Definition Classes
    Trees
  49. abstract class AlternativeExtractor extends AnyRef

    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
  50. trait AnnotatedApi extends Universe.TreeApi

    The API that all annotateds support

    The API that all annotateds support

    Definition Classes
    Trees
  51. abstract class AnnotatedExtractor extends AnyRef

    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
  52. trait AppliedTypeTreeApi extends Universe.TypTreeApi

    The API that all applied type trees support

    The API that all applied type trees support

    Definition Classes
    Trees
  53. abstract class AppliedTypeTreeExtractor extends AnyRef

    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
  54. trait ApplyApi extends Universe.GenericApplyApi

    The API that all applies support

    The API that all applies support

    Definition Classes
    Trees
  55. abstract class ApplyExtractor extends AnyRef

    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
  56. trait AssignApi extends Universe.TermTreeApi

    The API that all assigns support

    The API that all assigns support

    Definition Classes
    Trees
  57. abstract class AssignExtractor extends AnyRef

    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
  58. trait BindApi extends Universe.DefTreeApi

    The API that all binds support

    The API that all binds support

    Definition Classes
    Trees
  59. abstract class BindExtractor extends AnyRef

    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
  60. trait BlockApi extends Universe.TermTreeApi

    The API that all blocks support

    The API that all blocks support

    Definition Classes
    Trees
  61. abstract class BlockExtractor extends AnyRef

    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
  62. trait CaseDefApi extends Universe.TreeApi

    The API that all case defs support

    The API that all case defs support

    Definition Classes
    Trees
  63. abstract class CaseDefExtractor extends AnyRef

    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
  64. trait ClassDefApi extends Universe.ImplDefApi

    The API that all class defs support

    The API that all class defs support

    Definition Classes
    Trees
  65. abstract class ClassDefExtractor extends AnyRef

    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
  66. trait CompoundTypeTreeApi extends Universe.TypTreeApi

    The API that all compound type trees support

    The API that all compound type trees support

    Definition Classes
    Trees
  67. abstract class CompoundTypeTreeExtractor extends AnyRef

    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
  68. trait DefDefApi extends Universe.ValOrDefDefApi

    The API that all def defs support

    The API that all def defs support

    Definition Classes
    Trees
  69. abstract class DefDefExtractor extends AnyRef

    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
  70. trait DefTreeApi extends Universe.SymTreeApi with Universe.NameTreeApi

    The API that all def trees support

    The API that all def trees support

    Definition Classes
    Trees
  71. trait ExistentialTypeTreeApi extends Universe.TypTreeApi

    The API that all existential type trees support

    The API that all existential type trees support

    Definition Classes
    Trees
  72. abstract class ExistentialTypeTreeExtractor extends AnyRef

    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
  73. trait FunctionApi extends Universe.TermTreeApi with Universe.SymTreeApi

    The API that all functions support

    The API that all functions support

    Definition Classes
    Trees
  74. abstract class FunctionExtractor extends AnyRef

    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
  75. trait GenericApplyApi extends Universe.TermTreeApi

    The API that all applies support

    The API that all applies support

    Definition Classes
    Trees
  76. trait IdentApi extends Universe.RefTreeApi

    The API that all idents support

    The API that all idents support

    Definition Classes
    Trees
  77. abstract class IdentExtractor extends AnyRef

    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
  78. trait IfApi extends Universe.TermTreeApi

    The API that all ifs support

    The API that all ifs support

    Definition Classes
    Trees
  79. abstract class IfExtractor extends AnyRef

    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
  80. trait ImplDefApi extends Universe.MemberDefApi

    The API that all impl defs support

    The API that all impl defs support

    Definition Classes
    Trees
  81. trait ImportApi extends Universe.SymTreeApi

    The API that all imports support

    The API that all imports support

    Definition Classes
    Trees
  82. abstract class ImportExtractor extends AnyRef

    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.{w => _, x, y => z, _}

    Would be represented as:

    Import(qual, List(("w", WILDCARD), ("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
  83. trait ImportSelectorApi extends AnyRef

    The API that all import selectors support

    The API that all import selectors support

    Definition Classes
    Trees
  84. abstract class ImportSelectorExtractor extends AnyRef

    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
  85. trait LabelDefApi extends Universe.DefTreeApi with Universe.TermTreeApi

    The API that all label defs support

    The API that all label defs support

    Definition Classes
    Trees
  86. abstract class LabelDefExtractor extends AnyRef

    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
  87. trait LiteralApi extends Universe.TermTreeApi

    The API that all literals support

    The API that all literals support

    Definition Classes
    Trees
  88. abstract class LiteralExtractor extends AnyRef

    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
  89. trait MatchApi extends Universe.TermTreeApi

    The API that all matches support

    The API that all matches support

    Definition Classes
    Trees
  90. abstract class MatchExtractor extends AnyRef

    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
  91. trait MemberDefApi extends Universe.DefTreeApi

    The API that all member defs support

    The API that all member defs support

    Definition Classes
    Trees
  92. abstract class ModifiersApi extends AnyRef

    The API that all Modifiers support

    The API that all Modifiers support

    Definition Classes
    Trees
  93. abstract class ModifiersExtractor extends AnyRef

    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
  94. trait ModuleDefApi extends Universe.ImplDefApi

    The API that all module defs support

    The API that all module defs support

    Definition Classes
    Trees
  95. abstract class ModuleDefExtractor extends AnyRef

    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
  96. trait NameTreeApi extends Universe.TreeApi

    The API that all name trees support

    The API that all name trees support

    Definition Classes
    Trees
  97. trait NamedArgApi extends Universe.TermTreeApi

    The API that all assigns support

    The API that all assigns support

    Definition Classes
    Trees
  98. abstract class NamedArgExtractor extends AnyRef

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

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

    m.f(lhs = rhs)
    @annotation(lhs = rhs)
    Definition Classes
    Trees
  99. trait NewApi extends Universe.TermTreeApi

    The API that all news support

    The API that all news support

    Definition Classes
    Trees
  100. abstract class NewExtractor extends AnyRef

    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
  101. trait PackageDefApi extends Universe.MemberDefApi

    The API that all package defs support

    The API that all package defs support

    Definition Classes
    Trees
  102. abstract class PackageDefExtractor extends AnyRef

    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
  103. trait RefTreeApi extends Universe.SymTreeApi with Universe.NameTreeApi

    The API that all ref trees support

    The API that all ref trees support

    Definition Classes
    Trees
  104. abstract class RefTreeExtractor extends AnyRef

    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
  105. trait ReturnApi extends Universe.TermTreeApi

    The API that all returns support

    The API that all returns support

    Definition Classes
    Trees
  106. abstract class ReturnExtractor extends AnyRef

    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
  107. trait SelectApi extends Universe.RefTreeApi

    The API that all selects support

    The API that all selects support

    Definition Classes
    Trees
  108. abstract class SelectExtractor extends AnyRef

    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
  109. trait SelectFromTypeTreeApi extends Universe.TypTreeApi with Universe.RefTreeApi

    The API that all selects from type trees support

    The API that all selects from type trees support

    Definition Classes
    Trees
  110. abstract class SelectFromTypeTreeExtractor extends AnyRef

    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
  111. trait SingletonTypeTreeApi extends Universe.TypTreeApi

    The API that all singleton type trees support

    The API that all singleton type trees support

    Definition Classes
    Trees
  112. abstract class SingletonTypeTreeExtractor extends AnyRef

    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
  113. trait StarApi extends Universe.TermTreeApi

    The API that all stars support

    The API that all stars support

    Definition Classes
    Trees
  114. abstract class StarExtractor extends AnyRef

    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
  115. trait SuperApi extends Universe.TermTreeApi

    The API that all supers support

    The API that all supers support

    Definition Classes
    Trees
  116. abstract class SuperExtractor extends AnyRef

    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
  117. trait SymTreeApi extends Universe.TreeApi

    The API that all sym trees support

    The API that all sym trees support

    Definition Classes
    Trees
  118. trait TemplateApi extends Universe.SymTreeApi

    The API that all templates support

    The API that all templates support

    Definition Classes
    Trees
  119. abstract class TemplateExtractor extends AnyRef

    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
  120. trait TermTreeApi extends Universe.TreeApi

    The API that all term trees support

    The API that all term trees support

    Definition Classes
    Trees
  121. trait ThisApi extends Universe.TermTreeApi with Universe.SymTreeApi

    The API that all thises support

    The API that all thises support

    Definition Classes
    Trees
  122. abstract class ThisExtractor extends AnyRef

    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
  123. trait ThrowApi extends Universe.TermTreeApi

    The API that all tries support

    The API that all tries support

    Definition Classes
    Trees
  124. abstract class ThrowExtractor extends AnyRef

    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
  125. abstract class Transformer extends AnyRef

    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
  126. class Traverser extends AnyRef

    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
  127. trait TreeApi extends Product

    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
  128. abstract class TreeCopierOps extends AnyRef

    The API of a tree copier.

    The API of a tree copier.

    Definition Classes
    Trees
  129. trait TryApi extends Universe.TermTreeApi

    The API that all tries support

    The API that all tries support

    Definition Classes
    Trees
  130. abstract class TryExtractor extends AnyRef

    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
  131. trait TypTreeApi extends Universe.TreeApi

    The API that all typ trees support

    The API that all typ trees support

    Definition Classes
    Trees
  132. trait TypeApplyApi extends Universe.GenericApplyApi

    The API that all type applies support

    The API that all type applies support

    Definition Classes
    Trees
  133. abstract class TypeApplyExtractor extends AnyRef

    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
  134. trait TypeBoundsTreeApi extends Universe.TypTreeApi

    The API that all type bound trees support

    The API that all type bound trees support

    Definition Classes
    Trees
  135. abstract class TypeBoundsTreeExtractor extends AnyRef

    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
  136. trait TypeDefApi extends Universe.MemberDefApi

    The API that all type defs support

    The API that all type defs support

    Definition Classes
    Trees
  137. abstract class TypeDefExtractor extends AnyRef

    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
  138. trait TypeTreeApi extends Universe.TypTreeApi

    The API that all type trees support

    The API that all type trees support

    Definition Classes
    Trees
  139. abstract class TypeTreeExtractor extends AnyRef

    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
  140. trait TypedApi extends Universe.TermTreeApi

    The API that all typeds support

    The API that all typeds support

    Definition Classes
    Trees
  141. abstract class TypedExtractor extends AnyRef

    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
  142. trait UnApplyApi extends Universe.TermTreeApi

    The API that all unapplies support

    The API that all unapplies support

    Definition Classes
    Trees
  143. abstract class UnApplyExtractor extends AnyRef

    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
  144. trait ValDefApi extends Universe.ValOrDefDefApi

    The API that all val defs support

    The API that all val defs support

    Definition Classes
    Trees
  145. abstract class ValDefExtractor extends AnyRef

    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
  146. trait ValOrDefDefApi extends Universe.MemberDefApi

    The API that all val defs and def defs support

    The API that all val defs and def defs support

    Definition Classes
    Trees
  147. trait TypeTag[T] extends Universe.WeakTypeTag[T] with Equals with Serializable

    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

  148. trait WeakTypeTag[T] extends Equals with Serializable

    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

  149. trait AnnotatedTypeApi extends Universe.TypeApi

    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
  150. abstract class AnnotatedTypeExtractor extends AnyRef

    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
  151. trait BoundedWildcardTypeApi extends Universe.TypeApi

    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
  152. abstract class BoundedWildcardTypeExtractor extends AnyRef

    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
  153. trait ClassInfoTypeApi extends Universe.TypeApi

    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
  154. abstract class ClassInfoTypeExtractor extends AnyRef

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

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

    Definition Classes
    Types
  155. trait CompoundTypeApi extends AnyRef

    Has no special methods.

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

    Definition Classes
    Types
  156. trait ConstantTypeApi extends Universe.TypeApi

    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
  157. abstract class ConstantTypeExtractor extends AnyRef

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

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

    Definition Classes
    Types
  158. trait ExistentialTypeApi extends Universe.TypeApi

    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
  159. abstract class ExistentialTypeExtractor extends AnyRef

    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
  160. trait MethodTypeApi extends Universe.TypeApi

    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
  161. abstract class MethodTypeExtractor extends AnyRef

    An extractor class to create and pattern match with syntax MethodType(params, restpe) 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, restpe) 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
  162. trait NullaryMethodTypeApi extends Universe.TypeApi

    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
  163. abstract class NullaryMethodTypeExtractor extends AnyRef

    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
  164. trait PolyTypeApi extends Universe.TypeApi

    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
  165. abstract class PolyTypeExtractor extends AnyRef

    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
  166. trait RefinedTypeApi extends Universe.TypeApi

    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
  167. abstract class RefinedTypeExtractor extends AnyRef

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

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

    Definition Classes
    Types
  168. trait SingleTypeApi extends Universe.TypeApi

    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
  169. abstract class SingleTypeExtractor extends AnyRef

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

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

    Definition Classes
    Types
  170. trait SingletonTypeApi extends AnyRef

    Has no special methods.

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

    Definition Classes
    Types
  171. trait SuperTypeApi extends Universe.TypeApi

    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
  172. abstract class SuperTypeExtractor extends AnyRef

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

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

    Definition Classes
    Types
  173. trait ThisTypeApi extends Universe.TypeApi

    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
  174. abstract class ThisTypeExtractor extends AnyRef

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

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

    Definition Classes
    Types
  175. abstract class TypeApi extends AnyRef

    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
  176. trait TypeBoundsApi extends Universe.TypeApi

    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
  177. abstract class TypeBoundsExtractor extends AnyRef

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

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

    Definition Classes
    Types
  178. trait TypeRefApi extends Universe.TypeApi

    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
  179. abstract class TypeRefExtractor extends AnyRef

    An extractor class to create and pattern match with syntax TypeRef(pre, sym, args) Here, pre is the prefix of the type reference, sym is the symbol referred to by the type reference, and args is a possible empty list of type 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
  180. trait MacroInternalApi extends InternalApi

    Definition Classes
    Universe
    See also

    InternalApi

  181. trait TreeGen extends AnyRef

    Definition Classes
    Universe
  182. trait AbstractTypeRef extends internal.SymbolTable.TypeRef with internal.SymbolTable.NonClassTypeRef
    Definition Classes
    Types
  183. class AbstractTypeSymbol extends internal.SymbolTable.TypeSymbol

    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
  184. trait AliasTypeRef extends internal.SymbolTable.TypeRef with internal.SymbolTable.NonClassTypeRef
    Definition Classes
    Types
  185. class AliasTypeSymbol extends internal.SymbolTable.TypeSymbol
    Definition Classes
    Symbols
  186. case class Alternative extends internal.SymbolTable.Tree with internal.SymbolTable.TermTree with internal.SymbolTable.AlternativeApi with Product with Serializable
    Definition Classes
    Trees
  187. trait Annotatable[Self] extends AnyRef
    Definition Classes
    AnnotationInfos
  188. case class Annotated extends internal.SymbolTable.Tree with internal.SymbolTable.AnnotatedApi with Product with Serializable
    Definition Classes
    Trees
  189. case class AnnotatedType extends internal.SymbolTable.Type with internal.SymbolTable.RewrappingTypeProxy with internal.SymbolTable.AnnotatedTypeApi with Product with Serializable

    A type carrying some annotations.

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

    Definition Classes
    Types
  190. trait AnnotationChecker extends AnyRef

    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
  191. trait AnnotationFilter extends internal.SymbolTable.TypeMap
    Definition Classes
    TypeMaps
  192. abstract class AnnotationInfo extends internal.SymbolTable.AnnotationApi

    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
  193. case class AntiPolyType extends internal.SymbolTable.Type with Product with Serializable

    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
  194. case class AppliedTypeTree extends internal.SymbolTable.Tree with internal.SymbolTable.TypTree with internal.SymbolTable.AppliedTypeTreeApi with Product with Serializable
    Definition Classes
    Trees
  195. class AppliedTypeVar extends internal.SymbolTable.TypeVar

    Precondition: params.length == typeArgs.length > 0 (enforced structurally).

    Precondition: params.length == typeArgs.length > 0 (enforced structurally).

    Definition Classes
    Types
  196. case class Apply extends internal.SymbolTable.GenericApply with internal.SymbolTable.ApplyApi with Product with Serializable
    Definition Classes
    Trees
  197. case class ApplyDynamic extends internal.SymbolTable.SymTree with internal.SymbolTable.TermTree with Product with Serializable
    Definition Classes
    Trees
  198. class ApplyImplicitView extends internal.SymbolTable.Apply
    Definition Classes
    Trees
  199. class ApplyToImplicitArgs extends internal.SymbolTable.Apply
    Definition Classes
    Trees
  200. class ArgsTypeRef extends internal.SymbolTable.TypeRef
    Definition Classes
    Types
  201. case class ArrayAnnotArg extends internal.SymbolTable.ClassfileAnnotArg with Product with Serializable

    Represents an array of classfile annotation arguments

    Represents an array of classfile annotation arguments

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

    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
  203. class AsSeenFromMap extends internal.SymbolTable.TypeMap with internal.SymbolTable.KeepOnlyTypeConstraints

    A map to compute the asSeenFrom method.

    A map to compute the asSeenFrom method.

    Definition Classes
    TypeMaps
  204. case class Assign extends internal.SymbolTable.Tree with internal.SymbolTable.TermTree with internal.SymbolTable.AssignApi with Product with Serializable
    Definition Classes
    Trees
  205. trait Attachable extends AnyRef

    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
  206. class BaseTypeSeq extends AnyRef

    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
  207. case class Bind extends internal.SymbolTable.DefTree with internal.SymbolTable.BindApi with Product with Serializable
    Definition Classes
    Trees
  208. case class Block extends internal.SymbolTable.Tree with internal.SymbolTable.TermTree with internal.SymbolTable.BlockApi with Product with Serializable
    Definition Classes
    Trees
  209. case class BoundedWildcardType extends internal.SymbolTable.ProtoType with internal.SymbolTable.BoundedWildcardTypeApi with Product with Serializable

    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
  210. trait CannotHaveAttrs extends internal.SymbolTable.Tree
    Definition Classes
    Trees
  211. case class CaseDef extends internal.SymbolTable.Tree with internal.SymbolTable.CaseDefApi with Product with Serializable
    Definition Classes
    Trees
  212. class ChangeOwnerTraverser extends internal.SymbolTable.InternalTraverser
    Definition Classes
    Trees
  213. abstract class ChildSolidDescendantsCollector extends internal.SymbolTable.Traverser
    Definition Classes
    Positions
  214. case class ClassDef extends internal.SymbolTable.ImplDef with internal.SymbolTable.ClassDefApi with Product with Serializable
    Definition Classes
    Trees
  215. case class ClassInfoType extends internal.SymbolTable.CompoundType with internal.SymbolTable.ClassInfoTypeApi with Product with Serializable

    A class representing a class info

    A class representing a class info

    Definition Classes
    Types
  216. class ClassSymbol extends internal.SymbolTable.TypeSymbol with internal.SymbolTable.ClassSymbolApi

    A class for class symbols

    A class for class symbols

    Definition Classes
    Symbols
  217. class ClassUnwrapper extends internal.SymbolTable.TypeUnwrapper
    Definition Classes
    Types
  218. sealed abstract class ClassfileAnnotArg extends Product with internal.SymbolTable.JavaArgumentApi

    Arguments to constant annotations (Annotations defined in Java or extending ConstantAnnotation).

    Arguments to constant annotations (Annotations defined in Java or extending ConstantAnnotation). Arguments are either:

    • constants
    • arrays of constants
    • or nested classfile annotations (only for Java annotation)

    TODO: rename to ConstantAnnotationArg

    Definition Classes
    AnnotationInfos
  219. class CodePrinter extends internal.SymbolTable.TreePrinter
    Definition Classes
    Printers
  220. class CollectTreeTraverser[T] extends internal.SymbolTable.InternalTraverser
    Definition Classes
    Trees
  221. class CollectTypeCollector[T] extends internal.SymbolTable.TypeCollector[List[T]]

    A map to implement the collect method.

    A map to implement the collect method.

    Definition Classes
    TypeMaps
  222. abstract class CommonNames extends internal.SymbolTable.NamesApi
    Definition Classes
    StdNames
  223. class CommonOwnerMap extends internal.SymbolTable.TypeCollector[internal.SymbolTable.Symbol]
    Attributes
    protected
    Definition Classes
    CommonOwners
  224. class CompleteAnnotationInfo extends internal.SymbolTable.AnnotationInfo
    Definition Classes
    AnnotationInfos
  225. abstract class CompoundType extends internal.SymbolTable.Type with internal.SymbolTable.CompoundTypeApi

    A common base class for intersection types and class types

    A common base class for intersection types and class types

    Definition Classes
    Types
  226. case class CompoundTypeTree extends internal.SymbolTable.Tree with internal.SymbolTable.TypTree with internal.SymbolTable.CompoundTypeTreeApi with Product with Serializable
    Definition Classes
    Trees
  227. case class CompoundTypeTreeOriginalAttachment extends Product with Serializable

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

    Stores the trees that give rise to a refined type to be used in reification. Unfortunately typed CompoundTypeTree is lacking essential info, and the reifier cannot use CompoundTypeTree.tpe. Therefore we need this hack (see Reshape.toPreTyperTypeTree for a detailed explanation).

    Definition Classes
    StdAttachments
  228. case class Constant extends internal.SymbolTable.ConstantApi with Product with Serializable
    Definition Classes
    Constants
  229. abstract class ConstantType extends internal.SymbolTable.SingletonType with internal.SymbolTable.ConstantTypeApi

    A class representing a constant type.

    A class representing a constant type. A constant type is either the inferred type of a constant value or an explicit or inferred literal type. Both may be constant folded at the type level, however literal types are not folded at the term level and do not elide effects.

    Definition Classes
    Types
  230. class ContainsAnyCollector extends internal.SymbolTable.ExistsTypeRefCollector
    Definition Classes
    TypeMaps
  231. class ContainsAnyKeyCollector extends internal.SymbolTable.ExistsTypeRefCollector
    Definition Classes
    TypeMaps
  232. class ContainsCollector extends internal.SymbolTable.ExistsTypeRefCollector

    A map to implement the contains method.

    A map to implement the contains method.

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

    An exception for cyclic references of symbol definitions

    An exception for cyclic references of symbol definitions

    Definition Classes
    Symbols
  234. case class DefDef extends internal.SymbolTable.ValOrDefDef with internal.SymbolTable.DefDefApi with Product with Serializable
    Definition Classes
    Trees
  235. abstract class DefTree extends internal.SymbolTable.SymTree with internal.SymbolTable.NameTree with internal.SymbolTable.DefTreeApi
    Definition Classes
    Trees
  236. class DefaultPosAssigner extends internal.SymbolTable.InternalTraverser with internal.SymbolTable.PosAssigner
    Attributes
    protected
    Definition Classes
    Positions
  237. abstract class DefinitionsClass extends internal.SymbolTable.DefinitionsApi with internal.SymbolTable.ValueClassDefinitions
    Definition Classes
    Definitions
  238. abstract case class ErasedValueType extends internal.SymbolTable.UniqueType with Product with Serializable

    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.

    scala/bug#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
  239. class ErroneousAnnotation extends internal.SymbolTable.CompleteAnnotationInfo
    Definition Classes
    AnnotationInfos
  240. class ErrorScope extends internal.SymbolTable.Scope

    The error scope.

    The error scope.

    Definition Classes
    Scopes
  241. class ExistentialExtrapolation extends internal.SymbolTable.VariancedTypeMap

    Used by existentialAbstraction.

    Used by existentialAbstraction.

    Definition Classes
    TypeMaps
  242. case class ExistentialType extends internal.SymbolTable.Type with internal.SymbolTable.RewrappingTypeProxy with internal.SymbolTable.ExistentialTypeApi with Product with Serializable
    Definition Classes
    Types
  243. case class ExistentialTypeTree extends internal.SymbolTable.Tree with internal.SymbolTable.TypTree with internal.SymbolTable.ExistentialTypeTreeApi with Product with Serializable
    Definition Classes
    Trees
  244. abstract class ExistsTypeRefCollector extends internal.SymbolTable.TypeCollector[Boolean]
    Definition Classes
    TypeMaps
  245. class FilterTreeTraverser extends internal.SymbolTable.InternalTraverser
    Definition Classes
    Trees
  246. class FilterTypeCollector extends internal.SymbolTable.TypeCollector[List[internal.SymbolTable.Type]]

    A map to implement the filter method.

    A map to implement the filter method.

    Definition Classes
    TypeMaps
  247. class FindTreeTraverser extends internal.SymbolTable.InternalTraverser
    Definition Classes
    Trees
  248. class FindTypeCollector extends internal.SymbolTable.TypeCollector[Option[internal.SymbolTable.Type]]

    A map to implement the filter method.

    A map to implement the filter method.

    Definition Classes
    TypeMaps
  249. case class FixedMirrorTreeCreator extends TreeCreator with Product with Serializable
    Definition Classes
    StdCreators
  250. case class FixedMirrorTypeCreator extends TypeCreator with Product with Serializable
    Definition Classes
    StdCreators
  251. trait FlagAgnosticCompleter extends internal.SymbolTable.LazyType

    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
  252. trait FlagAssigningCompleter extends internal.SymbolTable.LazyType

    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
  253. abstract case class FoldableConstantType extends internal.SymbolTable.ConstantType with Product with Serializable

    A class representing the inferred type of a constant value.

    A class representing the inferred type of a constant value. Constant types and their corresponding terms are constant-folded during type checking. To avoid constant folding, use the type returned by deconst instead.

    Definition Classes
    Types
  254. class ForEachTypeTraverser extends internal.SymbolTable.TypeTraverser
    Definition Classes
    TypeMaps
  255. class ForeachPartialTreeTraverser extends internal.SymbolTable.InternalTraverser
    Definition Classes
    Trees
  256. class ForeachTreeTraverser extends internal.SymbolTable.InternalTraverser
    Definition Classes
    Trees
  257. trait FreeSymbol extends internal.SymbolTable.Symbol
    Definition Classes
    Symbols
  258. class FreeTermSymbol extends internal.SymbolTable.TermSymbol with internal.SymbolTable.FreeSymbol with internal.SymbolTable.FreeTermSymbolApi
    Definition Classes
    Symbols
  259. class FreeTypeSymbol extends internal.SymbolTable.TypeSkolem with internal.SymbolTable.FreeSymbol with internal.SymbolTable.FreeTypeSymbolApi
    Definition Classes
    Symbols
  260. class FreshNameExtractor extends AnyRef
    Definition Classes
    FreshNames
  261. case class Function extends internal.SymbolTable.SymTree with internal.SymbolTable.TermTree with internal.SymbolTable.FunctionApi with Product with Serializable
    Definition Classes
    Trees
  262. abstract class GenericApply extends internal.SymbolTable.Tree with internal.SymbolTable.TermTree with internal.SymbolTable.GenericApplyApi
    Definition Classes
    Trees
  263. class HKTypeVar extends internal.SymbolTable.TypeVar

    Precondition: !params.isEmpty.

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

    Definition Classes
    Types
  264. case class Ident extends internal.SymbolTable.SymTree with internal.SymbolTable.RefTree with internal.SymbolTable.IdentApi with Product with Serializable
    Definition Classes
    Trees
  265. case class If extends internal.SymbolTable.Tree with internal.SymbolTable.TermTree with internal.SymbolTable.IfApi with Product with Serializable
    Definition Classes
    Trees
  266. abstract class ImplDef extends internal.SymbolTable.MemberDef with internal.SymbolTable.ImplDefApi
    Definition Classes
    Trees
  267. case class Import extends internal.SymbolTable.SymTree with internal.SymbolTable.ImportApi with Product with Serializable
    Definition Classes
    Trees
  268. case class ImportSelector extends internal.SymbolTable.ImportSelectorApi with Product with Serializable
    Definition Classes
    Trees
  269. case class ImportType extends internal.SymbolTable.Type with Product with Serializable
    Definition Classes
    Types
  270. trait ImportableAttachment extends AnyRef

    Attachment that knows how to import itself into another universe.

    Attachment that knows how to import itself into another universe.

    Definition Classes
    StdAttachments
  271. abstract class InfoTransformer extends AnyRef
    Definition Classes
    InfoTransformers
  272. abstract class InlineAnnotatedAttachment extends AnyRef
    Definition Classes
    StdAttachments
  273. class InstantiateDependentMap extends internal.SymbolTable.TypeMap with internal.SymbolTable.KeepOnlyTypeConstraints

    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
  274. type Internal = MacroInternalApi

    Definition Classes
    Internals → Internals
    See also

    InternalApi

  275. class InternalTransformer extends internal.SymbolTable.Transformer
    Definition Classes
    Trees
  276. class InternalTraverser extends internal.SymbolTable.Traverser
    Definition Classes
    Trees
  277. abstract class InternalTreeCopierOps extends internal.SymbolTable.TreeCopierOps
    Definition Classes
    Trees
  278. trait JavaClassCompleter extends AnyRef
    Definition Classes
    JavaMirrors
  279. class JavaKeywords extends AnyRef
    Definition Classes
    StdNames
  280. class JavaMirror extends SymbolTable.Roots with SymbolTable.JavaMirror

    The API of a mirror for a reflective universe

    The API of a mirror for a reflective universe

    Definition Classes
    JavaMirrors
  281. trait KeepOnlyTypeConstraints extends internal.SymbolTable.TypeMap with internal.SymbolTable.AnnotationFilter
    Definition Classes
    TypeMaps
  282. abstract class Keywords extends internal.SymbolTable.CommonNames

    This should be the first trait in the linearization.

    This should be the first trait in the linearization.

    Definition Classes
    StdNames
  283. abstract class Kind extends AnyRef

    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
  284. case class KindErrors extends Product with Serializable
    Definition Classes
    Kinds
  285. case class LabelDef extends internal.SymbolTable.DefTree with internal.SymbolTable.TermTree with internal.SymbolTable.LabelDefApi with Product with Serializable
    Definition Classes
    Trees
  286. final class LazyAnnotationInfo extends internal.SymbolTable.AnnotationInfo

    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
  287. class LazyPackageType extends SymbolTable.LazyType with SymbolTable.FlagAgnosticCompleter

    The type completer for packages.

    The type completer for packages.

    Definition Classes
    SymbolLoaders
  288. abstract class LazyPolyType extends internal.SymbolTable.LazyType
    Definition Classes
    Types
  289. class LazyTreeCopier extends internal.SymbolTable.InternalTreeCopierOps
    Definition Classes
    Trees
  290. abstract class LazyType extends internal.SymbolTable.Type

    A class representing an as-yet unevaluated type.

    A class representing an as-yet unevaluated type.

    Definition Classes
    Types
  291. case class Literal extends internal.SymbolTable.Tree with internal.SymbolTable.TermTree with internal.SymbolTable.LiteralApi with Product with Serializable
    Definition Classes
    Trees
  292. case class LiteralAnnotArg extends internal.SymbolTable.ClassfileAnnotArg with Product with Serializable

    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
  293. abstract case class LiteralType extends internal.SymbolTable.ConstantType with Product with Serializable

    A class representing an explicit or inferred literal type.

    A class representing an explicit or inferred literal type. Literal types may be be folded at at the type level during type checking, however they will not be folded at the term level and effects will not be elided.

    Definition Classes
    Types
  294. class LocalOwnersTraverser extends internal.SymbolTable.InternalTraverser
    Definition Classes
    Trees
  295. class Locator extends internal.SymbolTable.Traverser

    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
  296. case class LookupAmbiguous extends internal.SymbolTable.NameLookup with Product with Serializable
    Definition Classes
    Scopes
  297. case class LookupInaccessible extends internal.SymbolTable.NameLookup with Product with Serializable
    Definition Classes
    Scopes
  298. case class LookupSucceeded extends internal.SymbolTable.NameLookup with Product with Serializable
    Definition Classes
    Scopes
  299. class MalformedType extends internal.SymbolTable.TypeError

    A throwable signalling a malformed type

    A throwable signalling a malformed type

    Definition Classes
    Types
  300. class MappedBaseTypeSeq extends internal.SymbolTable.BaseTypeSeq
    Definition Classes
    BaseTypeSeqs
  301. case class Match extends internal.SymbolTable.Tree with internal.SymbolTable.TermTree with internal.SymbolTable.MatchApi with Product with Serializable
    Definition Classes
    Trees
  302. abstract class MemberDef extends internal.SymbolTable.DefTree with internal.SymbolTable.MemberDefApi
    Definition Classes
    Trees
  303. class MethodSymbol extends internal.SymbolTable.TermSymbol with internal.SymbolTable.MethodSymbolApi

    A class for method symbols

    A class for method symbols

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

    A class representing a method type with parameters.

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

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

    Definition Classes
    Types
  305. type Mirror = JavaMirror

    In runtime reflection universes, mirrors are JavaMirrors.

    In runtime reflection universes, mirrors are JavaMirrors.

    Definition Classes
    JavaMirrors → JavaUniverse → Mirrors → Mirrors
  306. class MissingAliasControl extends ControlThrowable
    Definition Classes
    Types
  307. class MissingTypeControl extends ControlThrowable
    Definition Classes
    Types
  308. case class Modifiers extends internal.SymbolTable.ModifiersApi with HasFlags with Product with Serializable

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

    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
  310. case class ModuleDef extends internal.SymbolTable.ImplDef with internal.SymbolTable.ModuleDefApi with Product with Serializable
    Definition Classes
    Trees
  311. class ModuleSymbol extends internal.SymbolTable.TermSymbol with internal.SymbolTable.ModuleSymbolApi

    A class for module symbols

    A class for module symbols

    Definition Classes
    Symbols
  312. class ModuleTypeRef extends internal.SymbolTable.NoArgsTypeRef
    Definition Classes
    Types
  313. sealed abstract class Name extends internal.Names.NameApi with CharSequence

    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
  314. sealed trait NameLookup extends AnyRef

    An ADT to represent the results of symbol name lookups.

    An ADT to represent the results of symbol name lookups.

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

    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
  316. trait NameTree extends internal.SymbolTable.Tree with internal.SymbolTable.NameTreeApi
    Definition Classes
    Trees
  317. case class NamedArg extends internal.SymbolTable.Tree with internal.SymbolTable.TermTree with internal.SymbolTable.NamedArgApi with Product with Serializable
    Definition Classes
    Trees
  318. case class NamedType extends internal.SymbolTable.Type with Product with Serializable

    A class representing types with a name.

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

    Definition Classes
    Types
  319. case class NestedAnnotArg extends internal.SymbolTable.ClassfileAnnotArg with Product with Serializable

    Represents a nested classfile annotation

    Represents a nested classfile annotation

    Definition Classes
    AnnotationInfos
  320. case class New extends internal.SymbolTable.Tree with internal.SymbolTable.TermTree with internal.SymbolTable.NewApi with Product with Serializable
    Definition Classes
    Trees
  321. class NoArgsTypeRef extends internal.SymbolTable.TypeRef
    Definition Classes
    Types
  322. class NoCommonType extends ControlThrowable
    Definition Classes
    Types
  323. class NoSymbol extends internal.SymbolTable.Symbol

    An object representing a missing symbol

    An object representing a missing symbol

    Definition Classes
    Symbols
  324. trait NonClassTypeRef extends internal.SymbolTable.TypeRef
    Definition Classes
    Types
  325. case class NullaryMethodType extends internal.SymbolTable.Type with internal.SymbolTable.NullaryMethodTypeApi with Product with Serializable
    Definition Classes
    Types
  326. final case class OverloadedArgProto extends internal.SymbolTable.ProtoType with internal.SymbolTable.SimpleTypeProxy with Product with Serializable

    Lazily compute expected types for arguments to overloaded methods.

    Lazily compute expected types for arguments to overloaded methods. Primarily to improve parameter type inference for higher-order overloaded methods.

    Normally, overload resolution types the arguments to the alternatives without an expected type. However, typing function literals and eta-expansion are driven by the expected type:

    • function literals usually don't have parameter types, which are derived from the expected type;
    • eta-expansion right now only happens when a function/sam type is expected.

    Now that the collections are full of overloaded HO methods, we should try harder to type check them nicely.

    (This paragraph is conceptually true, but not a spec.) To avoid breaking existing code, we only provide an expected type (for each argument position) when:

    • there is at least one FunctionN type expected by one of the overloads: in this case, the expected type is a FunctionN[Ti, ?], where Ti are the argument types (they must all be =:=), and the expected result type is elided using a wildcard. This does not exclude any overloads that expect a SAM, because they conform to a function type through SAM conversion
    • OR: all overloads expect a SAM type of the same class, but with potentially varying result types (argument types must be =:=)
    • OR: all expected types collapse to the same type (by =:=, pushing down method type params to arguments types)

    We allow polymorphic cases, taking account any instantiation by the AntiPolyType prefix. Constructors of polymorphic classes are not supported (type param occurrences use fresh symbols, hard to relate to class's type params).

    In all other cases, the old behavior is maintained: Wildcard is expected.

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

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

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

    Definition Classes
    Types
  328. class PackageClassInfoType extends internal.SymbolTable.ClassInfoType
    Definition Classes
    Types
  329. class PackageClassSymbol extends internal.SymbolTable.ModuleClassSymbol
    Definition Classes
    Symbols
  330. case class PackageDef extends internal.SymbolTable.MemberDef with internal.SymbolTable.PackageDefApi with Product with Serializable
    Definition Classes
    Trees
  331. class PackageObjectClassSymbol extends internal.SymbolTable.ModuleClassSymbol
    Definition Classes
    Symbols
  332. class PackageScope extends SymbolTable.Scope with SymbolTable.SynchronizedScope
    Definition Classes
    SymbolLoaders
  333. class PackageTypeRef extends internal.SymbolTable.ModuleTypeRef
    Definition Classes
    Types
  334. class PerRunReporting extends PerRunReportingBase
  335. abstract class PerRunReportingBase extends AnyRef
    Definition Classes
    Reporting
  336. type Period = Int

    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
  337. trait PlainAttachment extends internal.SymbolTable.ImportableAttachment

    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
  338. case class PolyType extends internal.SymbolTable.Type with internal.SymbolTable.PolyTypeApi with Product with Serializable

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

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

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

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

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

    Definition Classes
    Types
  339. trait PosAssigner extends internal.SymbolTable.InternalTraverser
    Definition Classes
    Positions
  340. type Position = internal.util.Position

    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
  341. class ProperTypeKind extends internal.SymbolTable.Kind
    Definition Classes
    Kinds
  342. abstract class ProtoType extends internal.SymbolTable.Type
    Definition Classes
    Types
  343. class QualTypeSymAttachment extends AnyRef
    Definition Classes
    StdAttachments
  344. class RawTreePrinter extends internal.SymbolTable.TreePrinter
    Definition Classes
    Printers
  345. case class RecoverableCyclicReference extends internal.SymbolTable.TypeError with Product with Serializable

    An exception for cyclic references from which we can recover

    An exception for cyclic references from which we can recover

    Definition Classes
    Types
  346. trait RefTree extends internal.SymbolTable.SymTree with internal.SymbolTable.NameTree with internal.SymbolTable.RefTreeApi
    Definition Classes
    Trees
  347. case class ReferenceToBoxed extends internal.SymbolTable.Tree with internal.SymbolTable.TermTree with internal.SymbolTable.ReferenceToBoxedApi with Product with Serializable
    Definition Classes
    Trees
  348. case class RefinedType extends internal.SymbolTable.CompoundType with internal.SymbolTable.RefinedTypeApi with Product with Serializable

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

    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
  349. final class RefinedType0 extends internal.SymbolTable.RefinedType
    Definition Classes
    Types
  350. class RefinementClassSymbol extends internal.SymbolTable.ClassSymbol
    Definition Classes
    Symbols
  351. class RefinementTypeRef extends internal.SymbolTable.NoArgsTypeRef
    Definition Classes
    Types
  352. trait ReflectStats extends BaseTypeSeqsStats with TypesStats with SymbolTableStats with TreesStats with SymbolsStats with ScopeStats
    Definition Classes
    SymbolTable
  353. class ReificationSupportImpl extends internal.SymbolTable.ReificationSupportApi
    Definition Classes
    ReificationSupport
  354. case class RepeatedType extends internal.SymbolTable.Type with Product with Serializable

    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
  355. case class Return extends internal.SymbolTable.SymTree with internal.SymbolTable.TermTree with internal.SymbolTable.ReturnApi with Product with Serializable
    Definition Classes
    Trees
  356. trait RewrappingTypeProxy extends internal.SymbolTable.Type with internal.SymbolTable.SimpleTypeProxy

    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
  357. trait RootSymbol extends internal.SymbolTable.Symbol
    Definition Classes
    Mirrors
  358. abstract class Roots extends internal.SymbolTable.RootsBase
    Definition Classes
    Mirrors
  359. abstract class RootsBase extends api.Mirror[Mirrors.this.type]
    Definition Classes
    Mirrors
  360. type RunId = Int

    An ordinal number for compiler runs.

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

    Definition Classes
    SymbolTable
  361. trait RunReporting extends AnyRef
    Definition Classes
    Reporting
  362. type RuntimeClass = Class[_]

    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
  363. case class SAMFunction extends internal.SymbolTable.PlainAttachment with Product with Serializable

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

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

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

    Definition Classes
    StdAttachments
  364. class Scope extends AbstractIterable[internal.SymbolTable.Symbol] with internal.SymbolTable.ScopeApi with internal.SymbolTable.MemberScopeApi

    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
  365. class ScopeEntry extends AnyRef
    Definition Classes
    Scopes
  366. case class Select extends internal.SymbolTable.SymTree with internal.SymbolTable.RefTree with internal.SymbolTable.SelectApi with Product with Serializable
    Definition Classes
    Trees
  367. case class SelectFromTypeTree extends internal.SymbolTable.SymTree with internal.SymbolTable.RefTree with internal.SymbolTable.TypTree with internal.SymbolTable.SelectFromTypeTreeApi with Product with Serializable
    Definition Classes
    Trees
  368. trait SimpleTypeProxy extends internal.SymbolTable.Type

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

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

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

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

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

    Definition Classes
    Types
  370. abstract class SingletonType extends internal.SymbolTable.SubType with internal.SymbolTable.SimpleTypeProxy with internal.SymbolTable.SingletonTypeApi

    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
  371. case class SingletonTypeTree extends internal.SymbolTable.Tree with internal.SymbolTable.TypTree with internal.SymbolTable.SingletonTypeTreeApi with Product with Serializable
    Definition Classes
    Trees
  372. abstract class StandardImporter extends internal.SymbolTable.Importer
    Definition Classes
    Importers
  373. case class Star extends internal.SymbolTable.Tree with internal.SymbolTable.TermTree with internal.SymbolTable.StarApi with Product with Serializable
    Definition Classes
    Trees
  374. class StrictTreeCopier extends internal.SymbolTable.InternalTreeCopierOps
    Definition Classes
    Trees
  375. class StubClassSymbol extends internal.SymbolTable.ClassSymbol with internal.SymbolTable.StubSymbol
    Definition Classes
    Symbols
  376. trait StubSymbol extends internal.SymbolTable.Symbol
    Definition Classes
    Symbols
  377. class StubTermSymbol extends internal.SymbolTable.TermSymbol with internal.SymbolTable.StubSymbol
    Definition Classes
    Symbols
  378. abstract class SubType extends internal.SymbolTable.UniqueType

    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
  379. final case class SubTypePair extends Product with Serializable
    Definition Classes
    TypeComparers
  380. case class SubpatternsAttachment extends Product with Serializable

    Untyped list of subpatterns attached to selector dummy.

    Untyped list of subpatterns attached to selector dummy.

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

    A base class to compute all substitutions

    A base class to compute all substitutions

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

    A map to implement the substSym method.

    A map to implement the substSym method.

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

    A map to implement the substThis method.

    A map to implement the substThis method.

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

    A map to implement the subst method.

    A map to implement the subst method.

    Definition Classes
    TypeMaps
  385. class SubstWildcardMap extends internal.SymbolTable.TypeMap
    Definition Classes
    TypeMaps
  386. case class Super extends internal.SymbolTable.Tree with internal.SymbolTable.TermTree with internal.SymbolTable.SuperApi with Product with Serializable
    Definition Classes
    Trees
  387. abstract case class SuperType extends internal.SymbolTable.SingletonType with internal.SymbolTable.SuperTypeApi with Product with Serializable
    Definition Classes
    Types
  388. abstract class SymLoader extends internal.SymbolTable.LazyType
    Definition Classes
    SymbolTable
  389. abstract class SymTree extends internal.SymbolTable.Tree with internal.SymbolTable.SymTreeApi
    Definition Classes
    Trees
  390. abstract class Symbol extends internal.SymbolTable.SymbolContextApiImpl with HasFlags with internal.SymbolTable.Annotatable[internal.SymbolTable.Symbol] with internal.SymbolTable.Attachable

    The class for all symbols

    The class for all symbols

    Definition Classes
    Symbols
  391. abstract class SymbolContextApiImpl extends internal.SymbolTable.SymbolApi
    Definition Classes
    Symbols
  392. sealed abstract class SymbolNames extends AnyRef
    Definition Classes
    StdNames
  393. case class SymbolOps extends Product with Serializable
    Definition Classes
    Symbols
  394. trait SymbolTableInternal extends internal.SymbolTable.MacroInternalApi
    Definition Classes
    Internals
  395. trait SynchronizedBaseTypeSeq extends SymbolTable.BaseTypeSeq
    Definition Classes
    SynchronizedOps
  396. trait SynchronizedClassSymbol extends SymbolTable.ClassSymbol with SymbolTable.SynchronizedTypeSymbol
    Definition Classes
    SynchronizedSymbols
  397. trait SynchronizedMethodSymbol extends SymbolTable.MethodSymbol with SymbolTable.SynchronizedTermSymbol
    Definition Classes
    SynchronizedSymbols
  398. trait SynchronizedModuleClassSymbol extends SymbolTable.ModuleClassSymbol with SymbolTable.SynchronizedClassSymbol
    Definition Classes
    SynchronizedSymbols
  399. trait SynchronizedModuleSymbol extends SymbolTable.ModuleSymbol with SymbolTable.SynchronizedTermSymbol
    Definition Classes
    SynchronizedSymbols
  400. trait SynchronizedScope extends SymbolTable.Scope
    Definition Classes
    SynchronizedOps
  401. trait SynchronizedSymbol extends SymbolTable.Symbol
    Definition Classes
    SynchronizedSymbols
  402. trait SynchronizedTermSymbol extends SymbolTable.Symbol with SymbolTable.SynchronizedSymbol
    Definition Classes
    SynchronizedSymbols
  403. trait SynchronizedTypeSymbol extends SymbolTable.TypeSymbol with SymbolTable.SynchronizedSymbol
    Definition Classes
    SynchronizedSymbols
  404. case class Template extends internal.SymbolTable.SymTree with internal.SymbolTable.TemplateApi with Product with Serializable
    Definition Classes
    Trees
  405. final class TermName extends Name with internal.Names.TermNameApi

    A name that contains no operator chars nor dollar signs.

    A name that contains no operator chars nor dollar signs. TODO - see if it's any faster to do something along these lines. Cute: now that exhaustivity kind of works, the mere presence of this trait causes TermName and TypeName to stop being exhaustive. Commented out.

    Definition Classes
    Names
  406. abstract class TermNames extends internal.SymbolTable.Keywords with internal.SymbolTable.TermNamesApi
    Definition Classes
    StdNames
  407. class TermSymbol extends internal.SymbolTable.Symbol with internal.SymbolTable.TermSymbolApi

    A class for term symbols

    A class for term symbols

    Definition Classes
    Symbols
  408. trait TermTree extends internal.SymbolTable.Tree with internal.SymbolTable.TermTreeApi
    Definition Classes
    Trees
  409. case class This extends internal.SymbolTable.SymTree with internal.SymbolTable.TermTree with internal.SymbolTable.ThisApi with Product with Serializable
    Definition Classes
    Trees
  410. class ThisSubstituter extends internal.SymbolTable.InternalTransformer

    Substitute clazz.this with to.

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

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

    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
  412. trait ThreadLocalStorage[T] extends AnyRef
    Definition Classes
    ThreadLocalStorage
  413. case class Throw extends internal.SymbolTable.Tree with internal.SymbolTable.TermTree with internal.SymbolTable.ThrowApi with Product with Serializable
    Definition Classes
    Trees
  414. class TopClassCompleter extends SymbolTable.SymLoader with SymbolTable.FlagAssigningCompleter

    The standard completer for top-level classes

    The standard completer for top-level classes

    Definition Classes
    SymbolLoaders
  415. abstract class Tree extends internal.SymbolTable.TreeContextApiImpl with internal.SymbolTable.Attachable with Product
    Definition Classes
    Trees
  416. abstract class TreeContextApiImpl extends internal.SymbolTable.TreeApi
    Definition Classes
    Trees
  417. type TreeCopier = InternalTreeCopierOps

    The type of standard (lazy) tree copiers.

    The type of standard (lazy) tree copiers.

    Definition Classes
    JavaUniverse → Trees → Trees
  418. class TreePrinter extends internal.SymbolTable.TreePrinter
    Definition Classes
    Printers
  419. class TreeReplacer extends internal.SymbolTable.InternalTransformer

    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
  420. trait TreeStackTraverser extends internal.SymbolTable.Traverser
    Definition Classes
    Trees
  421. class TreeSubstituter extends internal.SymbolTable.InternalTransformer
    Definition Classes
    Trees
  422. class TreeSymSubstTraverser extends internal.SymbolTable.TypeMapTreeSubstituter
    Definition Classes
    Trees
  423. class TreeSymSubstituter extends internal.SymbolTable.InternalTransformer

    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
  424. class TreeTypeSubstituter extends internal.SymbolTable.TypeMapTreeSubstituter
    Definition Classes
    Trees
  425. case class Try extends internal.SymbolTable.Tree with internal.SymbolTable.TermTree with internal.SymbolTable.TryApi with Product with Serializable
    Definition Classes
    Trees
  426. class TwoWayCache[J, S] extends AnyRef
    Definition Classes
    TwoWayCaches
  427. trait TypTree extends internal.SymbolTable.Tree with internal.SymbolTable.TypTreeApi
    Definition Classes
    Trees
  428. abstract class Type extends internal.SymbolTable.TypeApiImpl with internal.SymbolTable.Annotatable[internal.SymbolTable.Type]

    The base class for all types

    The base class for all types

    Definition Classes
    Types
  429. abstract class TypeApiImpl extends internal.SymbolTable.TypeApi
    Definition Classes
    Types
  430. case class TypeApply extends internal.SymbolTable.GenericApply with internal.SymbolTable.TypeApplyApi with Product with Serializable
    Definition Classes
    Trees
  431. abstract case class TypeBounds extends internal.SymbolTable.SubType with internal.SymbolTable.TypeBoundsApi with Product with Serializable

    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
  432. case class TypeBoundsTree extends internal.SymbolTable.Tree with internal.SymbolTable.TypTree with internal.SymbolTable.TypeBoundsTreeApi with Product with Serializable
    Definition Classes
    Trees
  433. abstract class TypeCollector[T] extends internal.SymbolTable.TypeFolder
    Definition Classes
    TypeMaps
  434. class TypeConKind extends internal.SymbolTable.Kind
    Definition Classes
    Kinds
  435. class TypeConstraint extends AnyRef

    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
  436. case class TypeDef extends internal.SymbolTable.MemberDef with internal.SymbolTable.TypeDefApi with Product with Serializable
    Definition Classes
    Trees
  437. class TypeError extends Throwable

    A throwable signalling a type error

    A throwable signalling a type error

    Definition Classes
    Types
  438. abstract class TypeFolder extends (internal.SymbolTable.Type) => Unit
    Definition Classes
    TypeMaps
  439. abstract class TypeMap extends (internal.SymbolTable.Type) => internal.SymbolTable.Type

    A prototype for mapping a function over all possible types

    A prototype for mapping a function over all possible types

    Definition Classes
    TypeMaps
  440. class TypeMapTreeSubstituter extends internal.SymbolTable.InternalTraverser
    Definition Classes
    Trees
  441. final class TypeName extends Name with internal.Names.TypeNameApi
    Definition Classes
    Names
  442. abstract class TypeNames extends internal.SymbolTable.Keywords with internal.SymbolTable.TypeNamesApi
    Definition Classes
    StdNames
  443. case class TypeParamVarargsAttachment extends Product with Serializable

    An attachment carrying information between uncurry and erasure

    An attachment carrying information between uncurry and erasure

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

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

    A class for named types of the form <prefix>.<sym.name>[args] Cannot be created directly; one should always use typeRef for creation. (\@M: Otherwise hashing breaks)

    \@M: a higher-kinded type is represented as a TypeRef with sym.typeParams.nonEmpty, but args.isEmpty

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

    A class for type parameters viewed from inside their scopes

    A class for type parameters viewed from inside their scopes

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

    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
  447. abstract class TypeTraverser extends internal.SymbolTable.TypeMap
    Definition Classes
    TypeMaps
  448. case class TypeTree extends internal.SymbolTable.Tree with internal.SymbolTable.TypTree with internal.SymbolTable.TypeTreeApi with Product with Serializable
    Definition Classes
    Trees
  449. class TypeUnwrapper extends (internal.SymbolTable.Type) => internal.SymbolTable.Type
    Definition Classes
    Types
  450. abstract case class TypeVar extends internal.SymbolTable.Type with Product with Serializable

    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
  451. case class Typed extends internal.SymbolTable.Tree with internal.SymbolTable.TermTree with internal.SymbolTable.TypedApi with Product with Serializable
    Definition Classes
    Trees
  452. class TypedLocator extends internal.SymbolTable.Locator
    Definition Classes
    Positions
  453. case class UnApply extends internal.SymbolTable.Tree with internal.SymbolTable.TermTree with internal.SymbolTable.UnApplyApi with Product with Serializable
    Definition Classes
    Trees
  454. class UndoLog extends Clearable
    Definition Classes
    TypeConstraints
  455. final class UniqueConstantType extends internal.SymbolTable.FoldableConstantType
    Definition Classes
    Types
  456. final class UniqueErasedValueType extends internal.SymbolTable.ErasedValueType
    Definition Classes
    Types
  457. final class UniqueLiteralType extends internal.SymbolTable.LiteralType
    Definition Classes
    Types
  458. final class UniqueSingleType extends internal.SymbolTable.SingleType
    Definition Classes
    Types
  459. final class UniqueSuperType extends internal.SymbolTable.SuperType
    Definition Classes
    Types
  460. final class UniqueThisType extends internal.SymbolTable.ThisType
    Definition Classes
    Types
  461. abstract class UniqueType extends internal.SymbolTable.Type with Product

    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
  462. final class UniqueTypeBounds extends internal.SymbolTable.TypeBounds
    Definition Classes
    Types
  463. trait UntouchableTypeVar extends internal.SymbolTable.TypeVar
    Definition Classes
    Types
  464. case class ValDef extends internal.SymbolTable.ValOrDefDef with internal.SymbolTable.ValDefApi with Product with Serializable
    Definition Classes
    Trees
  465. abstract class ValOrDefDef extends internal.SymbolTable.MemberDef with internal.SymbolTable.ValOrDefDefApi
    Definition Classes
    Trees
  466. class ValidateException extends Exception
    Definition Classes
    Positions
  467. trait ValueClassDefinitions extends AnyRef
    Definition Classes
    Definitions
  468. class VarianceValidator extends internal.SymbolTable.InternalTraverser

    Used in Refchecks.

    Used in Refchecks. TODO - eliminate duplication with varianceInType

    Definition Classes
    Variances
  469. abstract class VariancedTypeMap extends internal.SymbolTable.TypeMap
    Definition Classes
    TypeMaps

Deprecated Type Members

  1. trait JavaArgumentApi extends AnyRef

    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

  2. trait CompatApi extends AnyRef

    Definition Classes
    Internals
    Annotations
    @deprecated
    Deprecated

    (Since version 2.13.0) compatibility with Scala 2.10 EOL

    See also

    compat

  3. class CompatToken extends AnyRef

    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("This method has been removed from the public API. Import compat._ or migrate away.") @deprecated
    Deprecated

    (Since version 2.13.0) compatibility with Scala 2.10 EOL

  4. abstract type CompilationUnit <: CompilationUnitContextApi

    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

  5. trait CompilationUnitContextApi extends AnyRef

    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

  6. trait MacroCompatApi extends CompatApi

    Definition Classes
    Universe
    Annotations
    @deprecated
    Deprecated

    (Since version 2.13.0) compatibility with Scala 2.10 EOL

    See also

    compat

  7. abstract type Run <: RunContextApi

    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

  8. trait RunContextApi extends AnyRef

    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

  9. type Compat = MacroCompatApi

    Definition Classes
    Internals → Internals
    Annotations
    @deprecated
    Deprecated

    (Since version 2.13.0) compatibility with Scala 2.10 EOL

    See also

    compat

  10. type ModifiersCreator = ModifiersExtractor
    Definition Classes
    Trees
    Annotations
    @deprecated
    Deprecated

    (Since version 2.11.0) use ModifiersExtractor instead

Value Members

  1. object Expr extends java.io.Serializable

    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
  2. object Liftable extends Universe.StandardLiftableInstances

    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
  3. object Unliftable extends Universe.StandardUnliftableInstances

    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
  4. object BooleanFlag extends java.io.Serializable

    Definition Classes
    Printers
  5. object TypeTag extends java.io.Serializable

    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
  6. object WeakTypeTag extends java.io.Serializable

    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
  7. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  8. final def ##(): Int
    Definition Classes
    AnyRef → Any
  9. def +(other: String): String
    Implicit
    This member is added by an implicit conversion from JavaUniverse toany2stringadd[JavaUniverse] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  10. def ->[B](y: B): (JavaUniverse, B)
    Implicit
    This member is added by an implicit conversion from JavaUniverse toArrowAssoc[JavaUniverse] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  11. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  12. val AllOps: SymbolOps
    Definition Classes
    Symbols
  13. implicit val AlternativeTag: ClassTag[Alternative]
    Definition Classes
    Trees
  14. implicit val AnnotatedTag: ClassTag[Annotated]
    Definition Classes
    Trees
  15. implicit val AnnotatedTypeTag: ClassTag[AnnotatedType]
    Definition Classes
    Types
  16. implicit val AnnotationTag: ClassTag[AnnotationInfo]
    Definition Classes
    AnnotationInfos
  17. implicit def AnyNameOps(name: Name): NameOps[Name]
    Definition Classes
    Names
  18. implicit val AppliedTypeTreeTag: ClassTag[AppliedTypeTree]
    Definition Classes
    Trees
  19. def Apply(sym: Symbol, args: Tree*): Tree

    A factory method for Apply nodes.

    A factory method for Apply nodes.

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

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

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

    Definition Classes
    Trees → Trees
  21. implicit val ApplyTag: ClassTag[Apply]
    Definition Classes
    Trees
  22. implicit val AssignTag: ClassTag[Assign]
    Definition Classes
    Trees
  23. def Bind(sym: Symbol, body: Tree): Bind

    A factory method for Bind nodes.

    A factory method for Bind nodes.

    Definition Classes
    Trees → Trees
  24. implicit val BindTag: ClassTag[Bind]
    Definition Classes
    Trees
  25. def Block(stats: Tree*): Block

    Block factory that flattens directly nested blocks.

    Block factory that flattens directly nested blocks.

    Definition Classes
    Trees → Trees
  26. implicit val BlockTag: ClassTag[Block]
    Definition Classes
    Trees
  27. final val BooleanTag: Int(2)
    Definition Classes
    Constants
  28. implicit val BoundedWildcardTypeTag: ClassTag[BoundedWildcardType]
    Definition Classes
    Types
  29. final val ByteTag: Int(3)
    Definition Classes
    Constants
  30. def CaseDef(pat: Tree, body: Tree): CaseDef

    casedef shorthand

    casedef shorthand

    Definition Classes
    Trees → Trees
  31. implicit val CaseDefTag: ClassTag[CaseDef]
    Definition Classes
    Trees
  32. final val CharTag: Int(5)
    Definition Classes
    Constants
  33. implicit val ClassDefTag: ClassTag[ClassDef]
    Definition Classes
    Trees
  34. implicit val ClassInfoTypeTag: ClassTag[ClassInfoType]
    Definition Classes
    Types
  35. implicit val ClassSymbolTag: ClassTag[ClassSymbol]
    Definition Classes
    Symbols
  36. final val ClazzTag: Int(12)
    Definition Classes
    Constants
  37. implicit val CompoundTypeTag: ClassTag[CompoundType]
    Definition Classes
    Types
  38. implicit val CompoundTypeTreeTag: ClassTag[CompoundTypeTree]
    Definition Classes
    Trees
  39. implicit val ConstantTag: ClassTag[Constant]
    Definition Classes
    Constants
  40. implicit val ConstantTypeTag: ClassTag[ConstantType]
    Definition Classes
    Types
  41. val CyclicInheritance: java.lang.Throwable
    Definition Classes
    BaseTypeSeqs
  42. implicit val DefDefTag: ClassTag[DefDef]
    Definition Classes
    Trees
  43. implicit val DefTreeTag: ClassTag[DefTree]
    Definition Classes
    Trees
  44. final val DoubleTag: Int(9)
    Definition Classes
    Constants
  45. lazy val EmptyTreeTypeSubstituter: TreeTypeSubstituter
    Definition Classes
    Trees
  46. final val EnumTag: Int(13)
    Definition Classes
    Constants
  47. implicit val ExistentialTypeTag: ClassTag[ExistentialType]
    Definition Classes
    Types
  48. implicit val ExistentialTypeTreeTag: ClassTag[ExistentialTypeTree]
    Definition Classes
    Trees
  49. def FlagOps(mask: Long): SymbolOps
    Definition Classes
    Symbols
  50. implicit val FlagSetTag: ClassTag[FlagSet]
    Definition Classes
    FlagSets
  51. final val FloatTag: Int(8)
    Definition Classes
    Constants
  52. implicit val FreeTermSymbolTag: ClassTag[FreeTermSymbol]
    Definition Classes
    Symbols
  53. implicit val FreeTypeSymbolTag: ClassTag[FreeTypeSymbol]
    Definition Classes
    Symbols
  54. implicit val FunctionTag: ClassTag[Function]
    Definition Classes
    Trees
  55. implicit val GenericApplyTag: ClassTag[GenericApply]
    Definition Classes
    Trees
  56. val GlbFailure: java.lang.Throwable
    Definition Classes
    GlbLubs
  57. def Ident(sym: Symbol): Ident

    A factory method for Ident nodes.

    A factory method for Ident nodes.

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

    A factory method for Ident nodes.

    A factory method for Ident nodes.

    Definition Classes
    Trees → Trees
  59. implicit val IdentTag: ClassTag[Ident]
    Definition Classes
    Trees
  60. implicit val IfTag: ClassTag[If]
    Definition Classes
    Trees
  61. implicit val ImplDefTag: ClassTag[ImplDef]
    Definition Classes
    Trees
  62. implicit val ImportSelectorTag: ClassTag[ImportSelector]
    Definition Classes
    Trees
  63. implicit val ImportTag: ClassTag[Import]
    Definition Classes
    Trees
  64. final val IntTag: Int(6)
    Definition Classes
    Constants
  65. implicit val JavaArgumentTag: ClassTag[ClassfileAnnotArg]
    Definition Classes
    AnnotationInfos
  66. implicit val LabelDefTag: ClassTag[LabelDef]
    Definition Classes
    Trees
  67. implicit val LiteralTag: ClassTag[Literal]
    Definition Classes
    Trees
  68. final val LongTag: Int(7)
    Definition Classes
    Constants
  69. implicit val MatchTag: ClassTag[Match]
    Definition Classes
    Trees
  70. implicit val MemberDefTag: ClassTag[MemberDef]
    Definition Classes
    Trees
  71. implicit val MemberScopeTag: ClassTag[MemberScope]
    Definition Classes
    Scopes
  72. implicit val MethodSymbolTag: ClassTag[MethodSymbol]
    Definition Classes
    Symbols
  73. implicit val MethodTypeTag: ClassTag[MethodType]
    Definition Classes
    Types
  74. implicit val MirrorTag: ClassTag[Mirror]
    Definition Classes
    JavaMirrors → ImplicitTags
  75. def Modifiers(flags: FlagSet): Modifiers

    The factory for Modifiers instances.

    The factory for Modifiers instances.

    Definition Classes
    Trees
  76. def Modifiers(flags: FlagSet, privateWithin: Name): Modifiers

    The factory for Modifiers instances.

    The factory for Modifiers instances.

    Definition Classes
    Trees
  77. implicit val ModifiersTag: ClassTag[Modifiers]
    Definition Classes
    Trees
  78. implicit val ModuleDefTag: ClassTag[ModuleDef]
    Definition Classes
    Trees
  79. implicit val ModuleSymbolTag: ClassTag[ModuleSymbol]
    Definition Classes
    Symbols
  80. implicit val NameTag: ClassTag[Name]
    Definition Classes
    Names
  81. implicit val NameTreeTag: ClassTag[NameTree]
    Definition Classes
    Trees
  82. implicit val NamedArgTag: ClassTag[NamedArg]
    Definition Classes
    Trees
  83. def New(sym: Symbol, args: Tree*): Tree

    0-1 argument list new, based on a symbol.

    0-1 argument list new, based on a symbol.

    Definition Classes
    Trees → Trees
  84. def New(tpe: Type, argss: List[List[Tree]]): Tree
    Definition Classes
    Trees
  85. def New(tpe: Type, args: Tree*): Tree

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

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

    Definition Classes
    Trees → Trees
  86. def New(tpt: Tree, argss: List[List[Tree]]): Tree

    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
  87. def NewFromConstructor(constructor: Symbol, args: Tree*): Apply
    Definition Classes
    Trees
  88. implicit val NewTag: ClassTag[New]
    Definition Classes
    Trees
  89. val NoFlags: FlagSet

    The empty set of flags

    The empty set of flags

    Definition Classes
    FlagSets → FlagSets
  90. val NoKindErrors: KindErrors
    Definition Classes
    Kinds
  91. lazy val NoMods: Modifiers

    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
  92. final val NoPeriod: Int(0)
    Definition Classes
    SymbolTable
  93. val NoPosition: internal.util.NoPosition.type

    A special "missing" position.

    A special "missing" position.

    Definition Classes
    Positions → Positions
  94. final val NoRunId: Int(0)
    Definition Classes
    SymbolTable
  95. lazy val NoSymbol: NoSymbol

    A special "missing" symbol.

    A special "missing" symbol. Commonly used in the API to denote a default or empty value.

    Definition Classes
    Symbols → Symbols
  96. final val NoTag: Int(0)
    Definition Classes
    Constants
  97. final val NullTag: Int(11)
    Definition Classes
    Constants
  98. implicit val NullaryMethodTypeTag: ClassTag[NullaryMethodType]
    Definition Classes
    Types
  99. implicit val PackageDefTag: ClassTag[PackageDef]
    Definition Classes
    Trees
  100. def PerRunReporting: PerRunReporting
    Attributes
    protected
    Definition Classes
    JavaUniverse → Reporting
  101. implicit val PolyTypeTag: ClassTag[PolyType]
    Definition Classes
    Types
  102. implicit val PositionTag: ClassTag[Position]
    Definition Classes
    Positions
  103. implicit val RefTreeTag: ClassTag[RefTree]
    Definition Classes
    Trees
  104. implicit val ReferenceToBoxedTag: ClassTag[ReferenceToBoxed]
    Definition Classes
    Trees
  105. implicit val RefinedTypeTag: ClassTag[RefinedType]
    Definition Classes
    Types
  106. implicit val ReturnTag: ClassTag[Return]
    Definition Classes
    Trees
  107. implicit val RuntimeClassTag: ClassTag[RuntimeClass]
    Definition Classes
    JavaUniverseImplicitTags
  108. implicit val ScopeTag: ClassTag[Scope]
    Definition Classes
    Scopes
  109. def Select(qualifier: Tree, sym: Symbol): Select

    A factory method for Select nodes.

    A factory method for Select nodes.

    Definition Classes
    Trees → Trees
  110. def Select(qualifier: Tree, name: String): Select

    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
  111. implicit val SelectFromTypeTreeTag: ClassTag[SelectFromTypeTree]
    Definition Classes
    Trees
  112. implicit val SelectTag: ClassTag[Select]
    Definition Classes
    Trees
  113. final val ShortTag: Int(4)
    Definition Classes
    Constants
  114. implicit val SingleTypeTag: ClassTag[SingleType]
    Definition Classes
    Types
  115. implicit val SingletonTypeTag: ClassTag[SingletonType]
    Definition Classes
    Types
  116. implicit val SingletonTypeTreeTag: ClassTag[SingletonTypeTree]
    Definition Classes
    Trees
  117. implicit val StarTag: ClassTag[Star]
    Definition Classes
    Trees
  118. implicit val StringContextStripMarginOps: (StringContext) => StringContextStripMarginOps

    Adds the sm String interpolator to a scala.StringContext.

    Adds the sm String interpolator to a scala.StringContext.

    Definition Classes
    SymbolTable
  119. final val StringTag: Int(10)
    Definition Classes
    Constants
  120. def Super(sym: Symbol, mix: TypeName): Tree

    A factory method for Super nodes.

    A factory method for Super nodes.

    Definition Classes
    Trees → Trees
  121. def SuperSelect(clazz: Symbol, sym: Symbol): Tree

    Creates a tree that selects a specific member sym without having to qualify the super.

    Creates a tree that selects a specific member sym without having to qualify the super. For example, given traits B <:< A, a class C <:< B needs to invoke A.$init$. If A is not a direct parent, a tree super[A].$init$ would not type check ("does not name a parent"). So we generate super.$init$ and pre-assign the correct symbol. A special-case in typedSelectInternal assigns the correct type A to the super qualifier.

    Definition Classes
    Trees
  122. implicit val SuperTag: ClassTag[Super]
    Definition Classes
    Trees
  123. implicit val SuperTypeTag: ClassTag[SuperType]
    Definition Classes
    Types
  124. implicit val SymTreeTag: ClassTag[SymTree]
    Definition Classes
    Trees
  125. implicit val SymbolTag: ClassTag[Symbol]
    Definition Classes
    Symbols
  126. def Template(sym: Symbol, body: List[Tree]): Template

    sym

    the template's symbol

    body

    trees that constitute the body of the template

    returns

    the template

    Definition Classes
    Trees
  127. implicit val TemplateTag: ClassTag[Template]
    Definition Classes
    Trees
  128. implicit def TermNameOps(name: TermName): NameOps[TermName]
    Definition Classes
    Names
  129. implicit val TermNameTag: ClassTag[TermName]
    Definition Classes
    Names
  130. implicit val TermSymbolTag: ClassTag[TermSymbol]
    Definition Classes
    Symbols
  131. implicit val TermTreeTag: ClassTag[TermTree]
    Definition Classes
    Trees
  132. def This(sym: Symbol): Tree

    A factory method for This nodes.

    A factory method for This nodes.

    Definition Classes
    Trees → Trees
  133. implicit val ThisTag: ClassTag[This]
    Definition Classes
    Trees
  134. implicit val ThisTypeTag: ClassTag[ThisType]
    Definition Classes
    Types
  135. def Throw(tpe: Type, args: Tree*): Throw

    A factory method for Throw nodes.

    A factory method for Throw nodes.

    Definition Classes
    Trees → Trees
  136. implicit val ThrowTag: ClassTag[Throw]
    Definition Classes
    Trees
  137. implicit val TreeCopierTag: ClassTag[TreeCopier]
    Definition Classes
    JavaUniverseImplicitTags
  138. implicit val TreeTag: ClassTag[Tree]
    Definition Classes
    Trees
  139. def Try(body: Tree, cases: (Tree, Tree)*): Try

    A factory method for Try nodes.

    A factory method for Try nodes.

    Definition Classes
    Trees → Trees
  140. implicit val TryTag: ClassTag[Try]
    Definition Classes
    Trees
  141. implicit val TypTreeTag: ClassTag[TypTree]
    Definition Classes
    Trees
  142. implicit val TypeApplyTag: ClassTag[TypeApply]
    Definition Classes
    Trees
  143. implicit val TypeBoundsTag: ClassTag[TypeBounds]
    Definition Classes
    Types
  144. def TypeBoundsTree(sym: Symbol): TypeBoundsTree
    Definition Classes
    Trees
  145. def TypeBoundsTree(bounds: TypeBounds): TypeBoundsTree
    Definition Classes
    Trees
  146. implicit val TypeBoundsTreeTag: ClassTag[TypeBoundsTree]
    Definition Classes
    Trees
  147. implicit val TypeDefTag: ClassTag[TypeDef]
    Definition Classes
    Trees
  148. implicit def TypeNameOps(name: TypeName): NameOps[TypeName]
    Definition Classes
    Names
  149. implicit val TypeNameTag: ClassTag[TypeName]
    Definition Classes
    Names
  150. implicit val TypeRefTag: ClassTag[TypeRef]
    Definition Classes
    Types
  151. implicit val TypeSymbolTag: ClassTag[TypeSymbol]
    Definition Classes
    Symbols
  152. implicit val TypeTagg: ClassTag[Type]
    Definition Classes
    Types
  153. def TypeTree(tp: Type): TypeTree

    A factory method for TypeTree nodes.

    A factory method for TypeTree nodes.

    Definition Classes
    Trees → Trees
  154. implicit val TypeTreeTag: ClassTag[TypeTree]
    Definition Classes
    Trees
  155. implicit val TypedTag: ClassTag[Typed]
    Definition Classes
    Trees
  156. implicit val UnApplyTag: ClassTag[UnApply]
    Definition Classes
    Trees
  157. final val UnitTag: Int(1)
    Definition Classes
    Constants
  158. implicit val ValDefTag: ClassTag[ValDef]
    Definition Classes
    Trees
  159. implicit val ValOrDefDefTag: ClassTag[ValOrDefDef]
    Definition Classes
    Trees
  160. def abort(msg: String): Nothing
    Definition Classes
    Reporting
  161. def adaptAnnotations(tree: Tree, mode: Mode, pt: Type): Tree
    Definition Classes
    AnnotationCheckers
  162. def adaptBoundsToAnnotations(bounds: List[TypeBounds], tparams: List[Symbol], targs: List[Type]): List[TypeBounds]

    Definition Classes
    AnnotationCheckers
    See also

    AnnotationChecker.adaptBoundsToAnnotations

  163. def adaptTypeOfReturn(tree: Tree, pt: Type, default: => Type): Type
    Definition Classes
    AnnotationCheckers
  164. def addAnnotationChecker(checker: AnnotationChecker): Unit

    Register an annotation checker.

    Register an annotation checker. Typically these are added by compiler plugins.

    Definition Classes
    AnnotationCheckers
  165. def addAnnotations(tree: Tree, tpe: Type): Type
    Definition Classes
    AnnotationCheckers
  166. implicit def addFlagOps(left: FlagSet): FlagOps

    The API of FlagSet instances.

    The API of FlagSet instances.

    Definition Classes
    FlagSets → FlagSets
  167. def addMember(thistp: Type, tp: Type, sym: Symbol, depth: Depth): Unit

    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
  168. def addMember(thistp: Type, tp: Type, sym: Symbol): Unit
    Definition Classes
    Types
  169. def addSerializable(ps: Type*): List[Type]
    Definition Classes
    Types
  170. final def allNames(): Iterator[TermName]
    Definition Classes
    Names
  171. def annotatedType(annots: List[AnnotationInfo], underlying: Type): Type

    Creator for AnnotatedTypes.

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

    Definition Classes
    Types
  172. def annotationToTree(ann: Annotation): Tree
    Attributes
    protected[scala]
    Definition Classes
    AnnotationInfos → Annotations
  173. def annotationsConform(tp1: Type, tp2: Type): Boolean

    Definition Classes
    AnnotationCheckers
    See also

    AnnotationChecker.annotationsConform

  174. def annotationsGlb(tpe: Type, ts: List[Type]): Type

    Definition Classes
    AnnotationCheckers
    See also

    AnnotationChecker.annotationsGlb

  175. def annotationsLub(tpe: Type, ts: List[Type]): Type

    Definition Classes
    AnnotationCheckers
    See also

    AnnotationChecker.annotationsLub

  176. def appliedType(tyconSym: Symbol, args: Type*): Type

    Very convenient.

    Very convenient.

    Definition Classes
    Types → Types
  177. def appliedType(tyconSym: Symbol, args: List[Type]): Type

    Definition Classes
    Types → Types
    See also

    appliedType

  178. def appliedType(tycon: Type, args: Type*): Type

    Definition Classes
    Types → Types
    See also

    appliedType

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

    A creator for type applications

    A creator for type applications

    Definition Classes
    Types → Types
  180. def arrayToRepeated(tp: Type): Type

    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
  181. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  182. final def assert(assertion: Boolean, message: => Any): Unit
    Definition Classes
    SymbolTable
    Annotations
    @inline()
  183. def assertCorrectThread(): Unit

    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)
  184. final def atPhaseStack: List[Phase]
    Definition Classes
    SymbolTable
  185. def atPhaseStackMessage: String
    Definition Classes
    SymbolTable
  186. def atPos[T <: Tree](pos: Position)(tree: T): T

    Position a tree.

    Position a tree. This means: Set position of a node and position all its unpositioned children.

    Definition Classes
    Positions → Positions
  187. def backquotedPath(t: Tree): String

    Turns a path into a String, introducing backquotes as necessary.

    Turns a path into a String, introducing backquotes as necessary.

    Definition Classes
    Printers
  188. def baseTypeSingletonSeq(tp: Type): BaseTypeSeq

    Create a base type sequence consisting of a single type

    Create a base type sequence consisting of a single type

    Definition Classes
    BaseTypeSeqs
  189. def basetypeRecursions: Int
    Definition Classes
    SynchronizedTypes → Types
  190. def basetypeRecursions_=(value: Int): Unit
    Definition Classes
    SynchronizedTypes → Types
  191. final def bitSetByPredicate[A](xs: List[A])(pred: (A) => Boolean): BitSet
    Definition Classes
    Collections
  192. val build: ReificationSupportImpl
    Definition Classes
    ReificationSupport
  193. def canAdaptAnnotations(tree: Tree, mode: Mode, pt: Type): Boolean
    Definition Classes
    AnnotationCheckers
  194. def captureVariable(vble: Symbol): Unit

    Mark a variable as captured; i.e.

    Mark a variable as captured; i.e. force boxing in a *Ref type.

    Definition Classes
    CapturedVariables
  195. def capturedVariableType(vble: Symbol, tpe: Type = NoType, erasedTypes: Boolean = false): Type

    Convert type of a captured variable to *Ref type.

    Convert type of a captured variable to *Ref type.

    Definition Classes
    CapturedVariables
  196. def capturedVariableType(vble: Symbol): Type

    Convert type of a captured variable to *Ref type.

    Convert type of a captured variable to *Ref type.

    Definition Classes
    CapturedVariables
  197. def changeNonLocalOwners(tree: Tree, newowner: Symbol): Unit
    Definition Classes
    Trees
  198. def checkKindBounds0(tparams: List[Symbol], targs: List[Type], pre: Type, owner: Symbol, explainErrors: Boolean): List[(Type, Symbol, KindErrors)]

    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
  199. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  200. def cloneSymbols(syms: List[Symbol]): List[Symbol]

    Convenience functions which derive symbols by cloning.

    Convenience functions which derive symbols by cloning.

    Definition Classes
    Symbols
  201. def cloneSymbolsAndModify(syms: List[Symbol], infoFn: (Type) => Type): List[Symbol]

    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
  202. def cloneSymbolsAtOwner(syms: List[Symbol], owner: Symbol): List[Symbol]
    Definition Classes
    Symbols
  203. def cloneSymbolsAtOwnerAndModify(syms: List[Symbol], owner: Symbol, infoFn: (Type) => Type): List[Symbol]
    Definition Classes
    Symbols
  204. final def closestEnclMethod(from: Symbol): Symbol

    Return closest enclosing method, unless shadowed by an enclosing class.

    Return closest enclosing method, unless shadowed by an enclosing class.

    Definition Classes
    Symbols
    Annotations
    @tailrec()
  205. final def collectFirst[A, B](as: List[A])(pf: PartialFunction[A, B]): Option[B]
    Definition Classes
    Collections
  206. final def collectMap2[A, B, C](xs1: List[A], xs2: List[B])(p: (A, B) => Boolean): Map[A, B]
    Definition Classes
    Collections
  207. def commonOwner(tps: List[Type]): Symbol

    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[reflect.internal]
    Definition Classes
    CommonOwners
  208. def commonOwner(t: Type): Symbol

    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[reflect.internal]
    Definition Classes
    CommonOwners
  209. def commonOwnerMap: CommonOwnerMap
    Attributes
    protected
    Definition Classes
    SynchronizedTypes → CommonOwners
  210. final def compareLengths(xs1: List[_], xs2: List[_]): Int
    Definition Classes
    Collections
    Annotations
    @tailrec()
  211. def compoundBaseTypeSeq(tp: Type): BaseTypeSeq

    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
  212. def computeBaseClasses(tpe: Type): List[Symbol]
    Attributes
    protected
    Definition Classes
    Types
  213. def connectModuleToClass(m: ModuleSymbol, moduleClass: ClassSymbol): ModuleSymbol
    Definition Classes
    SynchronizedSymbols → Symbols
  214. def containsExistential(tpe: Type): Boolean
    Definition Classes
    Types
  215. def copyClassDef(tree: Tree)(mods: Modifiers = null, name: Name = null, tparams: List[TypeDef] = null, impl: Template = null): ClassDef
    Definition Classes
    Trees
  216. 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
    Definition Classes
    Trees
  217. def copyMethodType(tp: Type, params: List[Symbol], restpe: Type): Type

    Create a new MethodType

    Create a new MethodType

    Definition Classes
    Types
  218. def copyModuleDef(tree: Tree)(mods: Modifiers = null, name: Name = null, impl: Template = null): ModuleDef
    Definition Classes
    Trees
  219. def copyRefinedType(original: RefinedType, parents: List[Type], decls: Scope): Type
    Definition Classes
    Types
  220. def copyTypeDef(tree: Tree)(mods: Modifiers = null, name: Name = null, tparams: List[TypeDef] = null, rhs: Tree = null): TypeDef
    Definition Classes
    Trees
  221. def copyTypeRef(tp: Type, pre: Type, sym: Symbol, args: List[Type]): Type
    Definition Classes
    Types
  222. def copyValDef(tree: Tree)(mods: Modifiers = null, name: Name = null, tpt: Tree = null, rhs: Tree = null): ValDef
    Definition Classes
    Trees
  223. final def corresponds3[A, B, C](xs1: List[A], xs2: List[B], xs3: List[C])(f: (A, B, C) => Boolean): Boolean

    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()
  224. def createFromClonedSymbols[T](syms: List[Symbol], tpe: Type)(creator: (List[Symbol], Type) => T): T

    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
  225. def createFromClonedSymbolsAtOwner[T](syms: List[Symbol], owner: Symbol, tpe: Type)(creator: (List[Symbol], Type) => T): T
    Definition Classes
    Symbols
  226. def currentFreshNameCreator: FreshNameCreator
    Definition Classes
    JavaUniverse → FreshNames
  227. final def currentPeriod: Period

    The current period.

    The current period.

    Definition Classes
    SymbolTable
  228. def currentRun: RunReporting
    Definition Classes
    JavaUniverse → Reporting
  229. val currentRunId: Int

    The current compiler run identifier.

    The current compiler run identifier.

    Definition Classes
    ReflectSetup → SymbolTable
  230. def currentRunProfilerAfterCompletion(root: Symbol, associatedFile: AbstractFile): Unit
    Attributes
    protected[scala]
    Definition Classes
    SymbolTable
  231. def currentRunProfilerBeforeCompletion(root: Symbol, associatedFile: AbstractFile): Unit
    Attributes
    protected[scala]
    Definition Classes
    SymbolTable
  232. def debugInfo(msg: => String): Unit
    Definition Classes
    SymbolTable
  233. def debugStack(t: Throwable): Unit

    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
  234. def debugString(tp: Type): String
    Definition Classes
    TypeDebugging
  235. def debuglog(msg: => String): Unit

    Override with final implementation for inlining.

    Override with final implementation for inlining.

    Definition Classes
    SymbolTable
  236. def decodedSymName(tree: Tree, name: Name): String
    Definition Classes
    Printers
  237. def defineBaseClassesOfCompoundType(tpe: CompoundType): Unit
    Attributes
    protected
    Definition Classes
    SynchronizedTypes → Types
  238. def defineBaseTypeSeqOfCompoundType(tpe: CompoundType): Unit
    Attributes
    protected
    Definition Classes
    SynchronizedTypes → Types
  239. def defineBaseTypeSeqOfTypeRef(tpe: TypeRef): Unit
    Attributes
    protected
    Definition Classes
    SynchronizedTypes → Types
  240. def defineOriginalOwner(sym: Symbol, owner: Symbol): Unit
    Definition Classes
    Symbols
  241. def defineParentsOfTypeRef(tpe: TypeRef): Unit
    Attributes
    protected
    Definition Classes
    SynchronizedTypes → Types
  242. def defineUnderlyingOfSingleType(tpe: SingleType): Unit
    Attributes
    protected
    Definition Classes
    SynchronizedTypes → Types
  243. def deriveCaseDef(cdef: Tree)(applyToBody: (Tree) => Tree): CaseDef
    Definition Classes
    Trees
  244. def deriveClassDef(cdef: Tree)(applyToImpl: (Template) => Template): ClassDef
    Definition Classes
    Trees
  245. def deriveDefDef(ddef: Tree)(applyToRhs: (Tree) => Tree): DefDef
    Definition Classes
    Trees
  246. def deriveFreshSkolems(tparams: List[Symbol]): List[Symbol]

    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 scala/bug#7782)

    Definition Classes
    ExistentialsAndSkolems
  247. def deriveFunction(func: Tree)(applyToRhs: (Tree) => Tree): Function
    Definition Classes
    Trees
  248. def deriveLabelDef(ldef: Tree)(applyToRhs: (Tree) => Tree): LabelDef
    Definition Classes
    Trees
  249. def deriveModuleDef(mdef: Tree)(applyToImpl: (Template) => Template): ModuleDef
    Definition Classes
    Trees
  250. def deriveSymbols(syms: List[Symbol], symFn: (Symbol) => Symbol): List[Symbol]

    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
  251. def deriveSymbols2[A](syms: List[Symbol], as: List[A], symFn: (Symbol, A) => Symbol): List[Symbol]

    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
  252. def deriveTemplate(templ: Tree)(applyToBody: (List[Tree]) => List[Tree]): Template
    Definition Classes
    Trees
  253. def deriveType(syms: List[Symbol], symFn: (Symbol) => Symbol)(tpe: Type): Type

    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
  254. def deriveType2[A](syms: List[Symbol], as: List[A], symFn: (Symbol, A) => Symbol)(tpe: Type): Type

    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
  255. def deriveTypeWithWildcards(syms: List[Symbol])(tpe: Type): Type

    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
  256. def deriveValDef(vdef: Tree)(applyToRhs: (Tree) => Tree): ValDef
    Definition Classes
    Trees
  257. def devWarning(msg: => String): Unit
    Definition Classes
    SymbolTable
  258. final def devWarningDumpStack(msg: => String, maxFrames: Int): Unit
    Definition Classes
    SymbolTable
    Annotations
    @inline()
  259. final def devWarningIf(cond: => Boolean)(msg: => String): Unit

    dev-warns if dev-warning is enabled and cond is true; no-op otherwise

    dev-warns if dev-warning is enabled and cond is true; no-op otherwise

    Definition Classes
    SymbolTable
    Annotations
    @inline()
  260. final def distinctBy[A, B](xs: List[A])(f: (A) => B): List[A]
    Definition Classes
    Collections
  261. def duplicateAndKeepPositions(tree: Tree): Tree
    Definition Classes
    Trees
  262. def elapsedMessage(msg: String, startNs: Long): String
    Attributes
    protected
    Definition Classes
    SymbolTable
  263. def elementExtract(container: Symbol, tp: Type): Type
    Definition Classes
    Types
  264. def elementExtractOption(container: Symbol, tp: Type): Option[Type]
    Definition Classes
    Types
  265. def elementTest(container: Symbol, tp: Type)(f: (Type) => Boolean): Boolean
    Definition Classes
    Types
  266. def elementTransform(container: Symbol, tp: Type)(f: (Type) => Type): Type
    Definition Classes
    Types
  267. def elimAnonymousClass(t: Type): Type
    Definition Classes
    Types
  268. def encode(str: String): TermName
    Definition Classes
    StdNames
  269. def ensureNonOverlapping(tree: Tree, others: List[Tree], focus: Boolean): Unit
    Definition Classes
    Positions
  270. def ensureNonOverlapping(tree: Tree, others: List[Tree]): Unit

    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
  271. def ensuring(cond: (JavaUniverse) => Boolean, msg: => Any): JavaUniverse
    Implicit
    This member is added by an implicit conversion from JavaUniverse toEnsuring[JavaUniverse] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  272. def ensuring(cond: (JavaUniverse) => Boolean): JavaUniverse
    Implicit
    This member is added by an implicit conversion from JavaUniverse toEnsuring[JavaUniverse] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  273. def ensuring(cond: Boolean, msg: => Any): JavaUniverse
    Implicit
    This member is added by an implicit conversion from JavaUniverse toEnsuring[JavaUniverse] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  274. def ensuring(cond: Boolean): JavaUniverse
    Implicit
    This member is added by an implicit conversion from JavaUniverse toEnsuring[JavaUniverse] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  275. final def enteringPhase[T](ph: Phase)(op: => T): T

    Perform given operation at given phase.

    Perform given operation at given phase.

    Definition Classes
    SymbolTable
    Annotations
    @inline()
  276. final def enteringPhaseNotLaterThan[T](target: Phase)(op: => T): T
    Definition Classes
    SymbolTable
    Annotations
    @inline()
  277. final def enteringPhaseWithName[T](phaseName: String)(body: => T): T
    Definition Classes
    SymbolTable
  278. final def enteringPrevPhase[T](op: => T): T
    Definition Classes
    SymbolTable
    Annotations
    @inline()
  279. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  280. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  281. def erasure: Erasure { val global: JavaUniverse.this.type }
    Definition Classes
    Transforms
  282. def erasurePhase: SomePhase
    Definition Classes
    JavaUniverse → SymbolTable
  283. def existentialAbstraction(tparams: List[Symbol], tpe0: Type, flipVariance: Boolean = false): Type

    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
  284. final def existentialTransform[T](rawSyms: List[