scala.reflect.runtime

JavaUniverse

class JavaUniverse extends internal.SymbolTable 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, SynchronizedOps, SynchronizedTypes, SynchronizedSymbols, SymbolLoaders, JavaMirrors, api.JavaUniverse, api.JavaMirrors, ReflectSetup, internal.SymbolTable, BuildUtils, StdCreators, StdAttachments, CapturedVariables, Required, Importers, TypeDebugging, Positions, Printers, Trees, AnnotationCheckers, AnnotationInfos, StdNames, Transforms, InfoTransformers, BaseTypeSeqs, Constants, Definitions, Mirrors, Scopes, FlagSets, ExistentialsAndSkolems, Kinds, Types, Symbols, Names, Collections, Universe, Universe, Importers, Printers, Mirrors, BuildUtils, StandardNames, StandardDefinitions, TagInterop, TypeTags, Exprs, Positions, Annotations, Constants, Trees, Names, Scopes, FlagSets, Types, Symbols, AnyRef, Any
Type Hierarchy Learn more about scaladoc diagrams
Content Hierarchy Learn more about scaladoc diagrams
Ordering
  1. Grouped
  2. Alphabetic
  3. By inheritance
Inherited
  1. JavaUniverse
  2. SymbolTable
  3. SynchronizedOps
  4. SynchronizedTypes
  5. SynchronizedSymbols
  6. SymbolLoaders
  7. JavaMirrors
  8. JavaUniverse
  9. JavaMirrors
  10. ReflectSetup
  11. SymbolTable
  12. BuildUtils
  13. StdCreators
  14. StdAttachments
  15. CapturedVariables
  16. Required
  17. Importers
  18. TypeDebugging
  19. Positions
  20. Printers
  21. Trees
  22. AnnotationCheckers
  23. AnnotationInfos
  24. StdNames
  25. Transforms
  26. InfoTransformers
  27. BaseTypeSeqs
  28. Constants
  29. Definitions
  30. Mirrors
  31. Scopes
  32. FlagSets
  33. ExistentialsAndSkolems
  34. Kinds
  35. Types
  36. Symbols
  37. Names
  38. Collections
  39. Universe
  40. Universe
  41. Importers
  42. Printers
  43. Mirrors
  44. BuildUtils
  45. StandardNames
  46. StandardDefinitions
  47. TagInterop
  48. TypeTags
  49. Exprs
  50. Positions
  51. Annotations
  52. Constants
  53. Trees
  54. Names
  55. Scopes
  56. FlagSets
  57. Types
  58. Symbols
  59. AnyRef
  60. Any
Implicitly
  1. by any2stringadd
  2. by any2stringfmt
  3. by any2ArrowAssoc
  4. by any2Ensuring
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new JavaUniverse()

Type Members

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

    Definition Classes
    Types
  2. 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
  3. trait AliasTypeRef extends internal.SymbolTable.TypeRef with internal.SymbolTable.NonClassTypeRef

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

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

    Alternatives of patterns.

    Alternatives of patterns.

    Eliminated by compiler phases Eliminated by compiler phases patmat (in the new pattern matcher of 2.10) or explicitouter (in the old pre-2.10 pattern matcher), except for occurrences in encoded Switch stmt (i.e. remaining Match(CaseDef(...)))

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

    The API that all alternatives support

  7. abstract class AlternativeExtractor extends AnyRef

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

  8. trait Annotatable[Self] extends AnyRef

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

    A tree that has an annotation attached to it.

    A tree that has an annotation attached to it. Only used for annotated types and annotation ascriptions, annotations on definitions are stored in the Modifiers. Eliminated by typechecker (typedAnnotated), the annotations are then stored in an AnnotatedType.

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

    The API that all annotateds support

  11. abstract class AnnotatedExtractor extends AnyRef

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

  12. 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 → Types
  13. trait AnnotatedTypeApi extends Universe.TypeApi

    The API that all annotated types support.

  14. abstract class AnnotatedTypeExtractor extends AnyRef

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

  15. trait AnnotationApi extends AnyRef

    The API of Annotation instances.

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

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

  18. trait AnnotationFilter extends internal.SymbolTable.TypeMap

    Definition Classes
    Types
  19. 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
  20. 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
  21. case class AppliedTypeTree extends internal.SymbolTable.Tree with internal.SymbolTable.TypTree with internal.SymbolTable.AppliedTypeTreeApi with Product with Serializable

    Applied type <tpt> [ <args> ], eliminated by RefCheck

    Applied type <tpt> [ <args> ], eliminated by RefCheck

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

    The API that all applied type trees support

  23. abstract class AppliedTypeTreeExtractor extends AnyRef

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

  24. class AppliedTypeVar extends internal.SymbolTable.TypeVar

    Precondition: zipped params/args nonEmpty.

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

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

    Value application

    Value application

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

    The API that all applies support

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

    Definition Classes
    Trees
  28. abstract class ApplyExtractor extends AnyRef

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

  29. class ApplyImplicitView extends internal.SymbolTable.Apply

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

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

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

    Represents an array of classfile annotation arguments

    Represents an array of classfile annotation arguments

    Definition Classes
    AnnotationInfos
  33. trait ArrayArgumentApi extends AnyRef

    API of ArrayArgument instances.

  34. abstract class ArrayArgumentExtractor extends AnyRef

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

  35. 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
  36. 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
    Types
  37. case class Assign extends internal.SymbolTable.Tree with internal.SymbolTable.TermTree with internal.SymbolTable.AssignApi with Product with Serializable

    Assignment

    Assignment

    Definition Classes
    Trees → Trees
  38. trait AssignApi extends Universe.TermTreeApi

    The API that all assigns support

  39. abstract class AssignExtractor extends AnyRef

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

  40. case class AssignOrNamedArg extends internal.SymbolTable.Tree with internal.SymbolTable.TermTree with internal.SymbolTable.AssignOrNamedArgApi with Product with Serializable

    Either an assignment or a named argument.

    Either an assignment or a named argument. Only appears in argument lists, eliminated by compiler phase typecheck (doTypedApply), resurrected by reifier.

    Definition Classes
    Trees → Trees
  41. trait AssignOrNamedArgApi extends Universe.TermTreeApi

    The API that all assigns support

  42. abstract class AssignOrNamedArgExtractor extends AnyRef

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

  43. 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
  44. trait AttachableApi extends AnyRef

    The API of reflection artifacts that support scala.reflect.macros.Attachments.

  45. 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
  46. case class Bind extends internal.SymbolTable.DefTree with internal.SymbolTable.BindApi with Product with Serializable

    Bind a variable to a rhs pattern.

    Bind a variable to a rhs pattern.

    Eliminated by compiler phases patmat (in the new pattern matcher of 2.10) or explicitouter (in the old pre-2.10 pattern matcher).

    Definition Classes
    Trees → Trees
  47. trait BindApi extends Universe.DefTreeApi

    The API that all binds support

  48. abstract class BindExtractor extends AnyRef

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

  49. case class Block extends internal.SymbolTable.Tree with internal.SymbolTable.TermTree with internal.SymbolTable.BlockApi with Product with Serializable

    Block of expressions (semicolon separated expressions)

    Block of expressions (semicolon separated expressions)

    Definition Classes
    Trees → Trees
  50. trait BlockApi extends Universe.TermTreeApi

    The API that all blocks support

  51. abstract class BlockExtractor extends AnyRef

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

  52. case class BooleanFlag(value: Option[Boolean]) extends Product with Serializable

  53. case class BoundedWildcardType extends internal.SymbolTable.Type 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 → Types
  54. trait BoundedWildcardTypeApi extends Universe.TypeApi

    The API that all this types support.

  55. abstract class BoundedWildcardTypeExtractor extends AnyRef

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

  56. abstract class BuildApi extends AnyRef

    Definition Classes
    BuildUtils
  57. class BuildImpl extends internal.SymbolTable.BuildApi

    Definition Classes
    BuildUtils
  58. trait CannotHaveAttrs extends internal.SymbolTable.Tree

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

    Case clause in a pattern match.

    Case clause in a pattern match. (except for occurrences in switch statements). Eliminated by compiler phases patmat (in the new pattern matcher of 2.10) or explicitouter (in the old pre-2.10 pattern matcher)

    Definition Classes
    Trees → Trees
  60. trait CaseDefApi extends Universe.TreeApi

    The API that all case defs support

  61. abstract class CaseDefExtractor extends AnyRef

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

  62. class ChangeOwnerTraverser extends internal.SymbolTable.Traverser

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

    A class definition.

    A class definition.

    Definition Classes
    Trees → Trees
  64. trait ClassDefApi extends Universe.ImplDefApi

    The API that all class defs support

  65. abstract class ClassDefExtractor extends AnyRef

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

  66. 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 → Types
  67. trait ClassInfoTypeApi extends Universe.TypeApi

    The API that all class info types support.

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

  69. trait ClassMirror extends Universe.TemplateMirror

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

  70. class ClassSymbol extends internal.SymbolTable.TypeSymbol with internal.SymbolTable.ClassSymbolApi

    A class for class symbols

    A class for class symbols

    Definition Classes
    Symbols → Symbols
  71. trait ClassSymbolApi extends Universe.TypeSymbolApi

    The API of class symbols.

  72. trait ClassTypeRef extends internal.SymbolTable.TypeRef

    Definition Classes
    Types
  73. class ClassUnwrapper extends internal.SymbolTable.TypeUnwrapper

    Definition Classes
    Types
  74. abstract class ClassfileAnnotArg extends Product

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

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

    • constants
    • arrays of constants
    • or nested classfile annotations
    Definition Classes
    AnnotationInfos
  75. class CollectTreeTraverser[T] extends internal.SymbolTable.Traverser

    Definition Classes
    Trees
  76. 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
    Types
  77. abstract class CommonNames extends internal.SymbolTable.NamesApi

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

    Attributes
    protected
    Definition Classes
    Types
  79. abstract type CompilationUnit <: CompilationUnitContextApi

    The type of compilation units.

  80. trait CompilationUnitContextApi extends AnyRef

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

  81. class CompleteAnnotationInfo extends internal.SymbolTable.AnnotationInfo

    Definition Classes
    AnnotationInfos
  82. abstract class CompoundType extends internal.SymbolTable.Type

    A common base class for intersection types and class types

    A common base class for intersection types and class types

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

    Intersection type <parent1> with .

    Intersection type <parent1> with ... with <parentN> { <decls> }, eliminated by RefCheck

    Definition Classes
    Trees → Trees
  84. trait CompoundTypeTreeApi extends Universe.TypTreeApi

    The API that all compound type trees support

  85. abstract class CompoundTypeTreeExtractor extends AnyRef

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

  86. 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
  87. case class Constant extends internal.SymbolTable.ConstantApi with Product with Serializable

    This "virtual" case class represents the reflection interface for literal expressions which can not be further broken down or evaluated, such as "true", "0", "classOf[List]".

    This "virtual" case class represents the reflection interface for literal expressions which can not be further broken down or evaluated, such as "true", "0", "classOf[List]". Such values become parts of the Scala abstract syntax tree representing the program. The constants correspond to section 6.24 "Constant Expressions" of the Scala language specification.

    Such constants are used to represent literals in abstract syntax trees (the scala.reflect.api.Trees#Literal node) and literal arguments for Java class file annotations (the scala.reflect.api.Annotations#LiteralArgument class).

    Constants can be matched against and can be constructed directly, as if they were case classes:

    assert(Constant(true).value == true)
    Constant(true) match {
      case Constant(s: String) =>  println("A string: " + s)
      case Constant(b: Boolean) => println("A boolean value: " + b)
      case Constant(x) =>          println("Something else: " + x)
    }

    Constant instances can wrap certain kinds of these expressions:

    1. Literals of primitive value classes (Byte, Short, Int, Long, Float, Double, Char, Boolean and Unit) - represented directly as the corresponding type
    2. String literals - represented as instances of the String.
    3. References to classes, typically constructed with scala.Predef#classOf - represented as types.
    4. References to enumeration values - represented as symbols.

    Class references are represented as instances of scala.reflect.api.Types#Type (because when the Scala compiler processes a class reference, the underlying runtime class might not yet have been compiled). To convert such a reference to a runtime class, one should use the runtimeClass method of a mirror such as RuntimeMirror (the simplest way to get such a mirror is using scala.reflect.runtime.currentMirror).

    Enumeration value references are represented as instances of scala.reflect.api.Symbols#Symbol, which on JVM point to methods that return underlying enum values. To inspect an underlying enumeration or to get runtime value of a reference to an enum, one should use a scala.reflect.api.Mirrors#RuntimeMirror (the simplest way to get such a mirror is again scala.reflect.runtime.package#currentMirror).

    Usage example:

    enum JavaSimpleEnumeration { FOO, BAR }
    
    import java.lang.annotation.*;
    @Retention(RetentionPolicy.RUNTIME)
    @Target({ElementType.TYPE})
    public @interface JavaSimpleAnnotation {
      Class<?> classRef();
      JavaSimpleEnumeration enumRef();
    }
    
    @JavaSimpleAnnotation(
      classRef = JavaAnnottee.class,
      enumRef = JavaSimpleEnumeration.BAR
    )
    public class JavaAnnottee {}
    import scala.reflect.runtime.universe._
    import scala.reflect.runtime.{currentMirror => cm}
    
    object Test extends App {
      val jann = typeOf[JavaAnnottee].typeSymbol.annotations(0).javaArgs
      def jarg(name: String) = jann(newTermName(name)) match {
        // Constant is always wrapped into a Literal or LiteralArgument tree node
        case LiteralArgument(ct: Constant) => value
        case _ => sys.error("Not a constant")
      }
    
      val classRef = jarg("classRef").value.asInstanceOf[Type]
                                             // ideally one should match instead of casting
      println(showRaw(classRef))             // TypeRef(ThisType(), JavaAnnottee, List())
      println(cm.runtimeClass(classRef))     // class JavaAnnottee
    
      val enumRef = jarg("enumRef").value.asInstanceOf[Symbol]
                                             // ideally one should match instead of casting
      println(enumRef)                       // value BAR
    
      val siblings = enumRef.owner.typeSignature.declarations
      val enumValues = siblings.filter(sym => sym.isVal && sym.isPublic)
      println(enumValues)                    // Scope{
                                             //   final val FOO: JavaSimpleEnumeration;
                                             //   final val BAR: JavaSimpleEnumeration
                                             // }
    
      // doesn't work because of https://issues.scala-lang.org/browse/SI-6459
      // val enumValue = mirror.reflectField(enumRef.asTerm).get
      val enumClass = cm.runtimeClass(enumRef.owner.asClass)
      val enumValue = enumClass.getDeclaredField(enumRef.name.toString).get(null)
      println(enumValue)                     // BAR
    }
    Definition Classes
    Constants → Constants
  88. abstract class ConstantApi extends AnyRef

    The API of Constant instances.

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

  90. abstract case class ConstantType extends internal.SymbolTable.SingletonType with internal.SymbolTable.ConstantTypeApi with Product with Serializable

    A class representing a constant type.

    A class representing a constant type.

    Definition Classes
    Types → Types
  91. trait ConstantTypeApi extends Universe.TypeApi

    The API that all constant types support.

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

  93. class ContainsCollector extends internal.SymbolTable.TypeCollector[Boolean]

    A map to implement the contains method.

    A map to implement the contains method.

    Definition Classes
    Types
  94. class ContainsTypeCollector extends internal.SymbolTable.TypeCollector[Boolean]

    A map to implement the contains method.

    A map to implement the contains method.

    Definition Classes
    Types
  95. 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
  96. case class DefDef extends internal.SymbolTable.ValOrDefDef with internal.SymbolTable.DefDefApi with Product with Serializable

    A method or macro definition.

    A method or macro definition.

    Definition Classes
    Trees → Trees
  97. trait DefDefApi extends Universe.ValOrDefDefApi

    The API that all def defs support

  98. abstract class DefDefExtractor extends AnyRef

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

  99. abstract class DefTree extends internal.SymbolTable.SymTree with internal.SymbolTable.NameTree with internal.SymbolTable.DefTreeApi

    A tree which defines a symbol-carrying entity.

    A tree which defines a symbol-carrying entity.

    Definition Classes
    Trees → Trees
  100. trait DefTreeApi extends Universe.SymTreeApi with Universe.NameTreeApi

    The API that all def trees support

  101. class DefaultPosAssigner extends internal.SymbolTable.Traverser with internal.SymbolTable.PosAssigner

    Attributes
    protected
    Definition Classes
    Positions
  102. trait DefinitionsApi extends Universe.StandardTypes

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

  103. abstract class DefinitionsClass extends internal.SymbolTable.DefinitionsApi with internal.SymbolTable.ValueClassDefinitions

    Definition Classes
    Definitions
  104. 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.

    Definition Classes
    Types
  105. class ErrorScope extends internal.SymbolTable.Scope

    The error scope.

    The error scope.

    Definition Classes
    Scopes
  106. class ExistentialExtrapolation extends internal.SymbolTable.TypeMap with internal.SymbolTable.VariantTypeMap

    Used by existentialAbstraction.

    Used by existentialAbstraction.

    Definition Classes
    Types
  107. case class ExistentialType extends internal.SymbolTable.Type with internal.SymbolTable.RewrappingTypeProxy with internal.SymbolTable.ExistentialTypeApi with Product with Serializable

    The ExistentialType type signature is used for existential types and wildcard types.

    The ExistentialType type signature is used for existential types and wildcard types.

    Definition Classes
    Types → Types
  108. trait ExistentialTypeApi extends Universe.TypeApi

    The API that all existential types support.

  109. abstract class ExistentialTypeExtractor extends AnyRef

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

  110. case class ExistentialTypeTree extends internal.SymbolTable.Tree with internal.SymbolTable.TypTree with internal.SymbolTable.ExistentialTypeTreeApi with Product with Serializable

    Existential type tree node

    Existential type tree node

    Definition Classes
    Trees → Trees
  111. trait ExistentialTypeTreeApi extends Universe.TypTreeApi

    The API that all existential type trees support

  112. abstract class ExistentialTypeTreeExtractor extends AnyRef

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

  113. trait Expr[+T] extends Equals with Serializable

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

  114. trait FieldMirror extends AnyRef

    A mirror that reflects a field.

  115. class FilterTreeTraverser extends internal.SymbolTable.Traverser

    Definition Classes
    Trees
  116. 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
    Types
  117. class FindTreeTraverser extends internal.SymbolTable.Traverser

    Definition Classes
    Trees
  118. 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
    Types
  119. case class FixedMirrorTreeCreator extends TreeCreator with Product with Serializable

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

    Definition Classes
    StdCreators
  121. 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
  122. 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
  123. trait FlagOps extends Any

    The API of FlagSet instances.

  124. trait FlagValues extends AnyRef

    All possible values that can constitute flag sets.

  125. class ForEachTypeTraverser extends internal.SymbolTable.TypeTraverser

    Definition Classes
    Types
  126. class ForeachPartialTreeTraverser extends internal.SymbolTable.Traverser

    Definition Classes
    Trees
  127. class ForeachTreeTraverser extends internal.SymbolTable.Traverser

    Definition Classes
    Trees
  128. trait FreeSymbol extends internal.SymbolTable.Symbol

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

    The type of free terms introduced by reification.

    The type of free terms introduced by reification.

    Definition Classes
    Symbols → Symbols
  130. trait FreeTermSymbolApi extends Universe.TermSymbolApi

    The API of free term symbols.

  131. class FreeTypeSymbol extends internal.SymbolTable.TypeSkolem with internal.SymbolTable.FreeSymbol with internal.SymbolTable.FreeTypeSymbolApi

    The type of free types introduced by reification.

    The type of free types introduced by reification.

    Definition Classes
    Symbols → Symbols
  132. trait FreeTypeSymbolApi extends Universe.TypeSymbolApi

    The API of free type symbols.

  133. case class Function extends internal.SymbolTable.SymTree with internal.SymbolTable.TermTree with internal.SymbolTable.FunctionApi with Product with Serializable

    Anonymous function, eliminated by compiler phase lambdalift

    Anonymous function, eliminated by compiler phase lambdalift

    Definition Classes
    Trees → Trees
  134. trait FunctionApi extends Universe.TermTreeApi with Universe.SymTreeApi

    The API that all functions support

  135. abstract class FunctionExtractor extends AnyRef

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

  136. abstract class GenericApply extends internal.SymbolTable.Tree with internal.SymbolTable.TermTree with internal.SymbolTable.GenericApplyApi

    Common base class for Apply and TypeApply.

    Common base class for Apply and TypeApply.

    Definition Classes
    Trees → Trees
  137. trait GenericApplyApi extends Universe.TermTreeApi

    The API that all applies support

  138. class HKTypeVar extends internal.SymbolTable.TypeVar

    Precondition: params.

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

    Definition Classes
    Types
  139. case class Ident extends internal.SymbolTable.SymTree with internal.SymbolTable.RefTree with internal.SymbolTable.IdentContextApi with Product with Serializable

    A reference to identifier name.

    A reference to identifier name.

    Definition Classes
    Trees → Trees
  140. trait IdentApi extends Universe.RefTreeApi

    The API that all idents support

  141. trait IdentContextApi extends IdentApi

    The extended API of idents that's supported in macro context universes

  142. abstract class IdentExtractor extends AnyRef

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

  143. case class If extends internal.SymbolTable.Tree with internal.SymbolTable.TermTree with internal.SymbolTable.IfApi with Product with Serializable

    Conditional expression

    Conditional expression

    Definition Classes
    Trees → Trees
  144. trait IfApi extends Universe.TermTreeApi

    The API that all ifs support

  145. abstract class IfExtractor extends AnyRef

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

  146. trait ImplClassSymbol extends internal.SymbolTable.ClassSymbol

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

    A common base class for class and object definitions.

    A common base class for class and object definitions.

    Definition Classes
    Trees → Trees
  148. trait ImplDefApi extends Universe.MemberDefApi

    The API that all impl defs support

  149. case class Import extends internal.SymbolTable.SymTree with internal.SymbolTable.ImportApi with Product with Serializable

    Import clause

    Import clause

    Definition Classes
    Trees → Trees
  150. trait ImportApi extends Universe.SymTreeApi

    The API that all imports support

  151. abstract class ImportExtractor extends AnyRef

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

  152. case class ImportSelector extends internal.SymbolTable.ImportSelectorApi with Product with Serializable

    Import selector

    Import selector

    Representation of an imported name its optional rename and their optional positions

    Eliminated by typecheck.

    Definition Classes
    Trees → Trees
  153. trait ImportSelectorApi extends AnyRef

    The API that all import selectors support

  154. abstract class ImportSelectorExtractor extends AnyRef

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

  155. trait Importer extends AnyRef

    The API of importers.

  156. abstract class InfoTransformer extends AnyRef

    Definition Classes
    InfoTransformers
  157. trait InstanceMirror extends AnyRef

    A mirror that reflects a runtime value.

  158. 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
    Types
  159. abstract class InternalTreeCopierOps extends internal.SymbolTable.TreeCopierOps

    Definition Classes
    Trees
  160. trait JavaClassCompleter extends SymbolTable.LazyType with SymbolTable.FlagAssigningCompleter

    Definition Classes
    JavaMirrors
  161. class JavaKeywords extends AnyRef

    Definition Classes
    StdNames
  162. class JavaMethodType extends internal.SymbolTable.MethodType

    Definition Classes
    Types
  163. 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 → JavaMirrors
  164. trait KeepOnlyTypeConstraints extends internal.SymbolTable.TypeMap with internal.SymbolTable.AnnotationFilter

    Definition Classes
    Types
  165. 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
  166. case class KindErrors extends Product with Serializable

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

    A labelled expression.

    A labelled expression. Not expressible in language syntax, but generated by the compiler to simulate while/do-while loops, and also by the pattern matcher.

    The label acts much like a nested function, where params represents the incoming parameters. The symbol given to the LabelDef should have a MethodType, as if it were a nested function.

    Jumps are apply nodes attributed with a label's symbol. The arguments from the apply node will be passed to the label and assigned to the Idents.

    Forward jumps within a block are allowed.

    Definition Classes
    Trees → Trees
  168. trait LabelDefApi extends Universe.DefTreeApi with Universe.TermTreeApi

    The API that all label defs support

  169. abstract class LabelDefExtractor extends AnyRef

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

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

    The type completer for packages.

    The type completer for packages.

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

    Definition Classes
    Types
  173. class LazyTreeCopier extends internal.SymbolTable.InternalTreeCopierOps

    Definition Classes
    Trees
  174. 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
  175. case class Literal extends internal.SymbolTable.Tree with internal.SymbolTable.TermTree with internal.SymbolTable.LiteralApi with Product with Serializable

    Literal

    Literal

    Definition Classes
    Trees → Trees
  176. case class LiteralAnnotArg extends internal.SymbolTable.ClassfileAnnotArg with internal.SymbolTable.LiteralArgumentApi 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
  177. trait LiteralApi extends Universe.TermTreeApi

    The API that all literals support

  178. trait LiteralArgumentApi extends AnyRef

    The API of LiteralArgument instances.

  179. abstract class LiteralArgumentExtractor extends AnyRef

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

  180. abstract class LiteralExtractor extends AnyRef

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

  181. case class LookupAmbiguous extends internal.SymbolTable.NameLookup with Product with Serializable

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

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

    Definition Classes
    Scopes
  184. case class MacroExpansionAttachment extends Product with Serializable

    Is added by the macro engine to the results of macro expansions.

    Is added by the macro engine to the results of macro expansions. Stores the original expandee as it entered the macroExpand function.

    Definition Classes
    StdAttachments
  185. class MalformedType extends internal.SymbolTable.TypeError

    A throwable signalling a malformed type

    A throwable signalling a malformed type

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

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

    - Pattern matching expression (before compiler phase explicitouter before 2.

    - Pattern matching expression (before compiler phase explicitouter before 2.10 / patmat from 2.10)

    • Switch statements (after compiler phase explicitouter before 2.10 / patmat from 2.10)

    After compiler phase explicitouter before 2.10 / patmat from 2.10, cases will satisfy the following constraints:

    • all guards are EmptyTree,
    • all patterns will be either Literal(Constant(x:Int)) or Alternative(lit|...|lit)
    • except for an "otherwise" branch, which has pattern Ident(nme.WILDCARD)
    Definition Classes
    Trees → Trees
  188. trait MatchApi extends Universe.TermTreeApi

    The API that all matches support

  189. abstract class MatchExtractor extends AnyRef

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

  190. abstract class MemberDef extends internal.SymbolTable.DefTree with internal.SymbolTable.MemberDefApi

    Common base class for all member definitions: types, classes, objects, packages, vals and vars, defs.

    Common base class for all member definitions: types, classes, objects, packages, vals and vars, defs.

    Definition Classes
    Trees → Trees
  191. trait MemberDefApi extends Universe.DefTreeApi

    The API that all member defs support

  192. trait MemberScopeApi extends Universe.ScopeApi

    The API that all member scopes support

  193. trait MethodMirror extends AnyRef

    A mirror that reflects a method.

  194. class MethodSymbol extends internal.SymbolTable.TermSymbol with internal.SymbolTable.MethodSymbolApi

    A class for method symbols

    A class for method symbols

    Definition Classes
    Symbols → Symbols
  195. trait MethodSymbolApi extends Universe.TermSymbolApi

    The API of method symbols.

  196. 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 → Types
  197. trait MethodTypeApi extends Universe.TypeApi

    The API that all method types support.

  198. abstract class MethodTypeExtractor extends AnyRef

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

  199. type Mirror = JavaMirror

    In runtime reflection universes, mirrors are JavaMirrors.

    In runtime reflection universes, mirrors are JavaMirrors.

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

    Definition Classes
    Types
  201. class MissingTypeControl extends Throwable with ControlThrowable

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

    Definition Classes
    Trees → Trees
  203. abstract class ModifiersApi extends AnyRef

    The API that all Modifiers support

  204. abstract class ModifiersExtractor extends AnyRef

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

  205. 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
  206. case class ModuleDef extends internal.SymbolTable.ImplDef with internal.SymbolTable.ModuleDefApi with Product with Serializable

    An object definition, e.

    An object definition, e.g. object Foo. Internally, objects are quite frequently called modules to reduce ambiguity. Eliminated by compiler phase refcheck.

    Definition Classes
    Trees → Trees
  207. trait ModuleDefApi extends Universe.ImplDefApi

    The API that all module defs support

  208. abstract class ModuleDefExtractor extends AnyRef

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

  209. trait ModuleMirror extends Universe.TemplateMirror

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

  210. class ModuleSymbol extends internal.SymbolTable.TermSymbol with internal.SymbolTable.ModuleSymbolApi

    A class for module symbols

    A class for module symbols

    Definition Classes
    Symbols → Symbols
  211. trait ModuleSymbolApi extends Universe.TermSymbolApi

    The API of module symbols.

  212. class ModuleTypeRef extends internal.SymbolTable.NoArgsTypeRef with internal.SymbolTable.ClassTypeRef

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

    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 → Names
  214. abstract class NameApi extends AnyRef

    The API of Name instances.

  215. 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
  216. 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
  217. trait NameTree extends internal.SymbolTable.Tree with internal.SymbolTable.NameTreeApi

    A tree with a name - effectively, a DefTree or RefTree.

    A tree with a name - effectively, a DefTree or RefTree.

    Definition Classes
    Trees → Trees
  218. trait NameTreeApi extends Universe.TreeApi

    The API that all name trees support

  219. 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
  220. trait NamesApi extends AnyRef

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

  221. case class NestedAnnotArg extends internal.SymbolTable.ClassfileAnnotArg with internal.SymbolTable.NestedArgumentApi with Product with Serializable

    Represents a nested classfile annotation

    Represents a nested classfile annotation

    Definition Classes
    AnnotationInfos
  222. trait NestedArgumentApi extends AnyRef

    API of NestedArgument instances.

  223. abstract class NestedArgumentExtractor extends AnyRef

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

  224. case class New extends internal.SymbolTable.Tree with internal.SymbolTable.TermTree with internal.SymbolTable.NewApi with Product with Serializable

    Object instantiation

    Object instantiation

    Definition Classes
    Trees → Trees
  225. trait NewApi extends Universe.TermTreeApi

    The API that all news support

  226. abstract class NewExtractor extends AnyRef

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

  227. class NoArgsTypeRef extends internal.SymbolTable.TypeRef

    Definition Classes
    Types
  228. class NoCommonType extends Throwable with ControlThrowable

    Definition Classes
    Types
  229. class NoSymbol extends internal.SymbolTable.Symbol

    An object representing a missing symbol

    An object representing a missing symbol

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

    Definition Classes
    Types
  231. case class NotNullType extends internal.SymbolTable.SubType with internal.SymbolTable.RewrappingTypeProxy with Product with Serializable

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

    The NullaryMethodType type signature is used for parameterless methods with declarations of the form def foo: T

    The NullaryMethodType type signature is used for parameterless methods with declarations of the form def foo: T

    Definition Classes
    Types → Types
  233. trait NullaryMethodTypeApi extends Universe.TypeApi

    The API that all nullary method types support.

  234. abstract class NullaryMethodTypeExtractor extends AnyRef

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

  235. 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
  236. class PackageClassInfoType extends internal.SymbolTable.ClassInfoType

    Definition Classes
    Types
  237. class PackageClassSymbol extends internal.SymbolTable.ModuleClassSymbol

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

    A packaging, such as package pid { stats }

    A packaging, such as package pid { stats }

    Definition Classes
    Trees → Trees
  239. trait PackageDefApi extends Universe.MemberDefApi

    The API that all package defs support

  240. abstract class PackageDefExtractor extends AnyRef

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

  241. class PackageObjectClassSymbol extends internal.SymbolTable.ModuleClassSymbol

    Definition Classes
    Symbols
  242. class PackageScope extends SymbolTable.Scope with SymbolTable.SynchronizedScope

    Definition Classes
    SymbolLoaders
  243. class PackageTypeRef extends internal.SymbolTable.ModuleTypeRef

    Definition Classes
    Types
  244. 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
  245. 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 → Types
  246. trait PolyTypeApi extends Universe.TypeApi

    The API that all polymorphic types support.

  247. abstract class PolyTypeExtractor extends AnyRef

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

  248. trait PosAssigner extends internal.SymbolTable.Traverser

    Definition Classes
    Positions
  249. 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
  250. class RawTreePrinter extends internal.SymbolTable.TreePrinter

    Definition Classes
    Printers
  251. 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
  252. trait RefTree extends internal.SymbolTable.SymTree with internal.SymbolTable.NameTree with internal.SymbolTable.RefTreeApi

    A tree which references a symbol-carrying entity.

    A tree which references a symbol-carrying entity. References one, as opposed to defining one; definitions are in DefTrees.

    Definition Classes
    Trees → Trees
  253. trait RefTreeApi extends Universe.SymTreeApi with Universe.NameTreeApi

    The API that all ref trees support

  254. case class ReferenceToBoxed extends internal.SymbolTable.Tree with internal.SymbolTable.TermTree with internal.SymbolTable.ReferenceToBoxedApi with Product with Serializable

    Marks underlying reference to id as boxed.

    Marks underlying reference to id as boxed.

    Precondition:<\b> id must refer to a captured variable A reference such marked will refer to the boxed entity, no dereferencing with `.elem` is done on it. This tree node can be emitted by macros such as reify that call referenceCapturedVariable. It is eliminated in LambdaLift, where the boxing conversion takes place.

    Definition Classes
    Trees → Trees
  255. trait ReferenceToBoxedApi extends Universe.TermTreeApi

    The API that all references support

  256. abstract class ReferenceToBoxedExtractor extends AnyRef

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

  257. 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 → Types
  258. final class RefinedType0 extends internal.SymbolTable.RefinedType

    Definition Classes
    Types
  259. trait RefinedTypeApi extends Universe.TypeApi

    The API that all refined types support.

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

  261. class RefinementClassSymbol extends internal.SymbolTable.ClassSymbol

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

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

    A mirror that reflects instances and static classes.

  264. 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
  265. case class Return extends internal.SymbolTable.SymTree with internal.SymbolTable.TermTree with internal.SymbolTable.ReturnApi with Product with Serializable

    Return expression

    Return expression

    Definition Classes
    Trees → Trees
  266. trait ReturnApi extends Universe.TermTreeApi

    The API that all returns support

  267. abstract class ReturnExtractor extends AnyRef

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

  268. 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
  269. trait RootSymbol extends internal.SymbolTable.Symbol

    Definition Classes
    Mirrors
  270. abstract class Roots extends internal.SymbolTable.RootsBase

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

    Definition Classes
    Mirrors
  272. abstract type Run <: RunContextApi

    The type of compilation runs.

  273. trait RunContextApi extends AnyRef

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

  274. type RunId = Int

    An ordinal number for compiler runs.

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

    Definition Classes
    SymbolTable
  275. 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
    JavaMirrors → JavaMirrorsMirrors
  276. trait RuntimeMirror extends api.Mirror[Mirrors.this.type] with Universe.ReflectiveMirror

    The API of a mirror for a reflective universe.

  277. case class ScalaSigBytes extends internal.SymbolTable.ClassfileAnnotArg with Product with Serializable

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

    A specific annotation argument that encodes an array of bytes as an array of Long. The type of the argument declared in the annotation must be String. This specialised class is used to encode Scala signatures for reasons of efficiency, both in term of class-file size and in term of compiler performance.

    Definition Classes
    AnnotationInfos
  278. class Scope extends 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 → Scopes
  279. trait ScopeApi extends Iterable[Universe.Symbol]

    The API that all scopes support

  280. class ScopeEntry extends AnyRef

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

    A member selection <qualifier> .

    A member selection <qualifier> . <name>

    Definition Classes
    Trees → Trees
  282. trait SelectApi extends Universe.RefTreeApi

    The API that all selects support

  283. abstract class SelectExtractor extends AnyRef

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

  284. case class SelectFromTypeTree extends internal.SymbolTable.SymTree with internal.SymbolTable.RefTree with internal.SymbolTable.TypTree with internal.SymbolTable.SelectFromTypeTreeApi with Product with Serializable

    Type selection <qualifier> # <name>, eliminated by RefCheck

    Type selection <qualifier> # <name>, eliminated by RefCheck

    Definition Classes
    Trees → Trees
  285. trait SelectFromTypeTreeApi extends Universe.TypTreeApi with Universe.RefTreeApi

    The API that all selects from type trees support

  286. abstract class SelectFromTypeTreeExtractor extends AnyRef

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

  287. 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
  288. 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 → Types
  289. trait SingleTypeApi extends Universe.TypeApi

    The API that all single types support.

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

  291. abstract class SingletonType extends internal.SymbolTable.SubType with internal.SymbolTable.SimpleTypeProxy

    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 → Types
  292. case class SingletonTypeTree extends internal.SymbolTable.Tree with internal.SymbolTable.TypTree with internal.SymbolTable.SingletonTypeTreeApi with Product with Serializable

    Singleton type, eliminated by RefCheck

    Singleton type, eliminated by RefCheck

    Definition Classes
    Trees → Trees
  293. trait SingletonTypeTreeApi extends Universe.TypTreeApi

    The API that all singleton type trees support

  294. abstract class SingletonTypeTreeExtractor extends AnyRef

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

  295. abstract class StandardImporter extends internal.SymbolTable.Importer

    Definition Classes
    Importers
  296. trait StandardTypes extends AnyRef

    Defines standard types.

  297. case class Star extends internal.SymbolTable.Tree with internal.SymbolTable.TermTree with internal.SymbolTable.StarApi with Product with Serializable

    Repetition of pattern.

    Repetition of pattern.

    Eliminated by compiler phases patmat (in the new pattern matcher of 2.10) or explicitouter (in the old pre-2.10 pattern matcher).

    Definition Classes
    Trees → Trees
  298. trait StarApi extends Universe.TermTreeApi

    The API that all stars support

  299. abstract class StarExtractor extends AnyRef

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

  300. class StrictTreeCopier extends internal.SymbolTable.InternalTreeCopierOps

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

    Definition Classes
    Symbols
  302. trait StubSymbol extends internal.SymbolTable.Symbol

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

    Definition Classes
    Symbols
  304. 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
  305. class SubTypePair extends AnyRef

    Definition Classes
    Types
  306. abstract class SubstMap[T] extends internal.SymbolTable.TypeMap

    A base class to compute all substitutions

    A base class to compute all substitutions

    Definition Classes
    Types
  307. 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
    Types
  308. class SubstThisMap extends internal.SymbolTable.TypeMap

    A map to implement the substThis method.

    A map to implement the substThis method.

    Definition Classes
    Types
  309. 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
    Types
  310. class SubstWildcardMap extends internal.SymbolTable.TypeMap

    Definition Classes
    Types
  311. case class Super extends internal.SymbolTable.Tree with internal.SymbolTable.TermTree with internal.SymbolTable.SuperApi with Product with Serializable

    Super reference, where qual is the corresponding this reference.

    Super reference, where qual is the corresponding this reference. A super reference C.super[M] is represented as Super(This(C), M).

    Definition Classes
    Trees → Trees
  312. trait SuperApi extends Universe.TermTreeApi

    The API that all supers support

  313. abstract class SuperExtractor extends AnyRef

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

  314. abstract case class SuperType extends internal.SymbolTable.SingletonType with internal.SymbolTable.SuperTypeApi with Product with Serializable

    The SuperType type is not directly written, but arises when C.super is used as a prefix in a TypeRef or SingleType.

    The SuperType type is not directly written, but arises when C.super is used as a prefix in a TypeRef or SingleType. It's internal presentation is

    SuperType(thistpe, supertpe)

    Here, thistpe is the type of the corresponding this-type. For instance, in the type arising from C.super, the thistpe part would be ThisType(C). supertpe is the type of the super class referred to by the super.

    Definition Classes
    Types → Types
  315. trait SuperTypeApi extends Universe.TypeApi

    The API that all super types support.

  316. abstract class SuperTypeExtractor extends AnyRef

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

  317. abstract class SymLoader extends internal.SymbolTable.LazyType

    Definition Classes
    SymbolTable
  318. abstract class SymTree extends internal.SymbolTable.Tree with internal.SymbolTable.SymTreeContextApi

    A tree with a mutable symbol field, initialized to NoSymbol.

    A tree with a mutable symbol field, initialized to NoSymbol.

    Definition Classes
    Trees → Trees
  319. trait SymTreeApi extends Universe.TreeApi

    The API that all sym trees support

  320. trait SymTreeContextApi extends SymTreeApi

    The extended API of sym trees that's supported in macro context universes

  321. 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 → Symbols
  322. trait SymbolApi extends AnyRef

    The API of symbols.

  323. trait SymbolContextApi extends SymbolApi with AttachableApi

    The extended API of symbols that's supported in macro context universes

  324. abstract class SymbolContextApiImpl extends internal.SymbolTable.SymbolContextApi

    Definition Classes
    Symbols
  325. sealed abstract class SymbolNames extends AnyRef

    Definition Classes
    StdNames
  326. trait SynchronizedBaseTypeSeq extends SymbolTable.BaseTypeSeq

    Definition Classes
    SynchronizedOps
  327. trait SynchronizedClassSymbol extends SymbolTable.ClassSymbol with SymbolTable.SynchronizedTypeSymbol

    Definition Classes
    SynchronizedSymbols
  328. trait SynchronizedMethodSymbol extends SymbolTable.MethodSymbol with SymbolTable.SynchronizedTermSymbol

    Definition Classes
    SynchronizedSymbols
  329. trait SynchronizedModuleClassSymbol extends SymbolTable.ModuleClassSymbol with SymbolTable.SynchronizedClassSymbol

    Definition Classes
    SynchronizedSymbols
  330. trait SynchronizedScope extends SymbolTable.Scope

    Definition Classes
    SynchronizedOps
  331. trait SynchronizedSymbol extends SymbolTable.Symbol

    Definition Classes
    SynchronizedSymbols
  332. trait SynchronizedTermSymbol extends SymbolTable.TermSymbol with SymbolTable.SynchronizedSymbol

    Definition Classes
    SynchronizedSymbols
  333. trait SynchronizedTypeSymbol extends SymbolTable.TypeSymbol with SymbolTable.SynchronizedSymbol

    Definition Classes
    SynchronizedSymbols
  334. class SynchronizedUndoLog extends SymbolTable.UndoLog

    Definition Classes
    SynchronizedTypes
  335. case class Template extends internal.SymbolTable.SymTree with internal.SymbolTable.TemplateApi with Product with Serializable

    Instantiation template of a class or trait

    Instantiation template of a class or trait

    Definition Classes
    Trees → Trees
  336. trait TemplateApi extends Universe.SymTreeApi

    The API that all templates support

  337. abstract class TemplateExtractor extends AnyRef

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

  338. trait TemplateMirror extends AnyRef

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

  339. sealed abstract class TermName extends Name

    The abstract type of names representing types.

    The abstract type of names representing types.

    Definition Classes
    Names → Names
  340. abstract class TermNameExtractor extends AnyRef

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

  341. abstract class TermNames extends internal.SymbolTable.Keywords with internal.SymbolTable.TermNamesApi

    Definition Classes
    StdNames
  342. trait TermNamesApi extends Universe.NamesApi

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

  343. class TermSymbol extends internal.SymbolTable.Symbol with internal.SymbolTable.TermSymbolApi

    A class for term symbols

    A class for term symbols

    Definition Classes
    Symbols → Symbols
  344. trait TermSymbolApi extends Universe.SymbolApi

    The API of term symbols.

  345. trait TermTree extends internal.SymbolTable.Tree with internal.SymbolTable.TermTreeApi

    A tree for a term.

    A tree for a term. Not all trees representing terms are TermTrees; use isTerm to reliably identify terms.

    Definition Classes
    Trees → Trees
  346. trait TermTreeApi extends Universe.TreeApi

    The API that all term trees support

  347. case class This extends internal.SymbolTable.SymTree with internal.SymbolTable.TermTree with internal.SymbolTable.ThisApi with Product with Serializable

    Self reference

    Self reference

    Definition Classes
    Trees → Trees
  348. trait ThisApi extends Universe.TermTreeApi with Universe.SymTreeApi

    The API that all thises support

  349. abstract class ThisExtractor extends AnyRef

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

  350. class ThisSubstituter extends internal.SymbolTable.Transformer

    Substitute clazz.

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

    Definition Classes
    Trees
  351. 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>.

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

    Definition Classes
    Types → Types
  352. trait ThisTypeApi extends Universe.TypeApi

    The API that all this types support.

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

  354. case class Throw extends internal.SymbolTable.Tree with internal.SymbolTable.TermTree with internal.SymbolTable.ThrowApi with Product with Serializable

    Throw expression

    Throw expression

    Definition Classes
    Trees → Trees
  355. trait ThrowApi extends Universe.TermTreeApi

    The API that all tries support

  356. abstract class ThrowExtractor extends AnyRef

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

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

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

  359. class Traverser extends AnyRef

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

  360. abstract class Tree extends internal.SymbolTable.TreeContextApiImpl with internal.SymbolTable.Attachable with Product

    The type of Scala abstract syntax trees.

    The type of Scala abstract syntax trees.

    Definition Classes
    Trees → Trees
  361. trait TreeApi extends Product

    The API that all trees support.

  362. trait TreeContextApi extends TreeApi with AttachableApi

    The extended API of trees that's supported in macro context universes

  363. abstract class TreeContextApiImpl extends internal.SymbolTable.TreeContextApi

    Definition Classes
    Trees
  364. type TreeCopier = InternalTreeCopierOps

    The type of standard (lazy) tree copiers.

  365. abstract class TreeCopierOps extends AnyRef

    The API of a tree copier.

  366. class TreePrinter extends internal.SymbolTable.TreePrinter

    Definition Classes
    Printers → Printers
  367. class TreeSubstituter extends internal.SymbolTable.Transformer

    Definition Classes
    Trees
  368. class TreeSymSubstTraverser extends internal.SymbolTable.TypeMapTreeSubstituter

    Definition Classes
    Trees
  369. class TreeSymSubstituter extends internal.SymbolTable.Transformer

    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.

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

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

    Try catch node

    Try catch node

    Definition Classes
    Trees → Trees
  372. trait TryApi extends Universe.TermTreeApi

    The API that all tries support

  373. abstract class TryExtractor extends AnyRef

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

  374. trait TypTree extends internal.SymbolTable.Tree with internal.SymbolTable.TypTreeApi

    A tree for a type.

    A tree for a type. Not all trees representing types are TypTrees; use isType to reliably identify types.

    Definition Classes
    Trees → Trees
  375. trait TypTreeApi extends Universe.TreeApi

    The API that all typ trees support

  376. 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 → Types
  377. abstract class TypeApi extends AnyRef

    The API of types.

  378. abstract class TypeApiImpl extends internal.SymbolTable.TypeApi

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

    Explicit type application.

    Explicit type application.

    Definition Classes
    Trees → Trees
  380. trait TypeApplyApi extends Universe.GenericApplyApi

    The API that all type applies support

  381. abstract class TypeApplyExtractor extends AnyRef

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

  382. 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 → Types
  383. trait TypeBoundsApi extends Universe.TypeApi

    The API that all type bounds support.

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

  385. case class TypeBoundsTree extends internal.SymbolTable.Tree with internal.SymbolTable.TypTree with internal.SymbolTable.TypeBoundsTreeApi with Product with Serializable

    Type bounds tree node

    Type bounds tree node

    Definition Classes
    Trees → Trees
  386. trait TypeBoundsTreeApi extends Universe.TypTreeApi

    The API that all type bound trees support

  387. abstract class TypeBoundsTreeExtractor extends AnyRef

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

  388. abstract class TypeCollector[T] extends internal.SymbolTable.TypeTraverser

    Definition Classes
    Types
  389. 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
    Types
  390. case class TypeDef extends internal.SymbolTable.MemberDef with internal.SymbolTable.TypeDefApi with Product with Serializable

    An abstract type, a type parameter, or a type alias.

    An abstract type, a type parameter, or a type alias. Eliminated by erasure.

    Definition Classes
    Trees → Trees
  391. trait TypeDefApi extends Universe.MemberDefApi

    The API that all type defs support

  392. abstract class TypeDefExtractor extends AnyRef

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

  393. class TypeError extends Throwable

    A throwable signalling a type error

    A throwable signalling a type error

    Definition Classes
    Types
  394. 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
    Types
  395. class TypeMapTreeSubstituter extends internal.SymbolTable.Traverser

    Definition Classes
    Trees
  396. sealed abstract class TypeName extends Name

    The abstract type of names representing terms.

    The abstract type of names representing terms.

    Definition Classes
    Names → Names
  397. abstract class TypeNameExtractor extends AnyRef

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

  398. abstract class TypeNames extends internal.SymbolTable.Keywords with internal.SymbolTable.TypeNamesApi

    Definition Classes
    StdNames
  399. trait TypeNamesApi extends Universe.NamesApi

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

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

    Definition Classes
    Types → Types
  401. trait TypeRefApi extends Universe.TypeApi

    The API that all type refs support.

  402. abstract class TypeRefExtractor extends AnyRef

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

  403. 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
  404. 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 → Symbols
  405. trait TypeSymbolApi extends Universe.SymbolApi

    The API of type symbols.

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

  407. abstract class TypeTraverser extends internal.SymbolTable.TypeMap

    Definition Classes
    Types
  408. abstract class TypeTraverserWithResult[T] extends internal.SymbolTable.TypeTraverser

    Definition Classes
    Types
  409. case class TypeTree extends internal.SymbolTable.Tree with internal.SymbolTable.TypTree with internal.SymbolTable.TypeTreeContextApi with Product with Serializable

    A synthetic tree holding an arbitrary type.

    A synthetic tree holding an arbitrary type. Not to be confused with with TypTree, the trait for trees that are only used for type trees. TypeTree's are inserted in several places, but most notably in RefCheck, where the arbitrary type trees are all replaced by TypeTree's.

    Definition Classes
    Trees → Trees
  410. trait TypeTreeApi extends Universe.TypTreeApi

    The API that all type trees support

  411. trait TypeTreeContextApi extends TypeTreeApi

    The extended API of sym trees that's supported in macro context universes

  412. abstract class TypeTreeExtractor extends AnyRef

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

  413. class TypeUnwrapper extends (internal.SymbolTable.Type) ⇒ internal.SymbolTable.Type

    Definition Classes
    Types
  414. 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
  415. case class Typed extends internal.SymbolTable.Tree with internal.SymbolTable.TermTree with internal.SymbolTable.TypedApi with Product with Serializable

    Type annotation, eliminated by compiler phase cleanup

    Type annotation, eliminated by compiler phase cleanup

    Definition Classes
    Trees → Trees
  416. trait TypedApi extends Universe.TermTreeApi

    The API that all typeds support

  417. abstract class TypedExtractor extends AnyRef

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

  418. case class UnApply extends internal.SymbolTable.Tree with internal.SymbolTable.TermTree with internal.SymbolTable.UnApplyApi with Product with Serializable

    Used to represent unapply methods in pattern matching.

    Used to represent unapply methods in pattern matching.

    For example:

    2 match { case Foo(x) => x }

    Is represented as:

    Match(
    Literal(Constant(2)),
    List(
      CaseDef(
        UnApply(
          // a dummy node that carries the type of unapplication to patmat
          // the  here doesn't have an underlying symbol
          // it only has a type assigned, therefore after `resetAllAttrs` this tree is no longer typeable
          Apply(Select(Ident(Foo), newTermName("unapply")), List(Ident(newTermName("")))),
          // arguments of the unapply => nothing synthetic here
          List(Bind(newTermName("x"), Ident(nme.WILDCARD)))),
        EmptyTree,
        Ident(newTermName("x")))))

    Introduced by typer. Eliminated by compiler phases patmat (in the new pattern matcher of 2.10) or explicitouter (in the old pre-2.10 pattern matcher).

    Definition Classes
    Trees → Trees
  419. trait UnApplyApi extends Universe.TermTreeApi

    The API that all unapplies support

  420. abstract class UnApplyExtractor extends AnyRef

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

  421. class UndoLog extends Clearable

    Definition Classes
    Types
  422. final class UniqueConstantType extends internal.SymbolTable.ConstantType

    Definition Classes
    Types
  423. final class UniqueErasedValueType extends internal.SymbolTable.ErasedValueType

    Definition Classes
    Types
  424. final class UniqueSingleType extends internal.SymbolTable.SingleType

    Definition Classes
    Types
  425. final class UniqueSuperType extends internal.SymbolTable.SuperType

    Definition Classes
    Types
  426. final class UniqueThisType extends internal.SymbolTable.ThisType

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

    A type that can be passed to unique(.

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

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

    Definition Classes
    Types
  429. trait UntouchableTypeVar extends internal.SymbolTable.TypeVar

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

    Broadly speaking, a value definition.

    Broadly speaking, a value definition. All these are encoded as ValDefs:

    • immutable values, e.g. "val x"
    • mutable values, e.g. "var x" - the MUTABLE flag set in mods
    • lazy values, e.g. "lazy val x" - the LAZY flag set in mods
    • method parameters, see vparamss in scala.reflect.api.Trees#DefDef - the PARAM flag is set in mods
    • explicit self-types, e.g. class A { self: Bar => }
    Definition Classes
    Trees → Trees
  431. trait ValDefApi extends Universe.ValOrDefDefApi

    The API that all val defs support

  432. abstract class ValDefExtractor extends AnyRef

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

  433. abstract class ValOrDefDef extends internal.SymbolTable.MemberDef with internal.SymbolTable.ValOrDefDefApi

    A common base class for ValDefs and DefDefs.

    A common base class for ValDefs and DefDefs.

    Definition Classes
    Trees → Trees
  434. trait ValOrDefDefApi extends Universe.MemberDefApi

    The API that all val defs and def defs support

  435. trait ValueClassDefinitions extends AnyRef

    Definition Classes
    Definitions
  436. trait VariantTypeMap extends internal.SymbolTable.TypeMap

    Definition Classes
    Types
  437. 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.

  438. type ModifiersCreator = ModifiersExtractor

    Definition Classes
    Trees
    Annotations
    @deprecated
    Deprecated

    (Since version 2.11.0) Use ModifiersExtractor instead

Value Members

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

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Test two objects for inequality.

    Test two objects for inequality.

    returns

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

    Definition Classes
    Any
  3. final def ##(): Int

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

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

    returns

    a hash value consistent with ==

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

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

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

    Definition Classes
    AnyRef
  7. final def ==(arg0: Any): Boolean

    Test two objects for equality.

    Test two objects for equality. The expression x == that is equivalent to if (x eq null) that eq null else x.equals(that).

    returns

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

    Definition Classes
    Any
  8. object Alternative extends internal.SymbolTable.AlternativeExtractor with Serializable

    The constructor/extractor for Alternative instances.

    The constructor/extractor for Alternative instances.

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

    A tag that preserves the identity of the Alternative abstract type from erasure.

    A tag that preserves the identity of the Alternative abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Trees → Trees
  10. object Annotated extends internal.SymbolTable.AnnotatedExtractor with Serializable

    The constructor/extractor for Annotated instances.

    The constructor/extractor for Annotated instances.

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

    A tag that preserves the identity of the Annotated abstract type from erasure.

    A tag that preserves the identity of the Annotated abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Trees → Trees
  12. object AnnotatedType extends internal.SymbolTable.AnnotatedTypeExtractor with Serializable

    The constructor/extractor for AnnotatedType instances.

    The constructor/extractor for AnnotatedType instances.

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

    A tag that preserves the identity of the AnnotatedType abstract type from erasure.

    A tag that preserves the identity of the AnnotatedType abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Types → Types
  14. object Annotation extends internal.SymbolTable.AnnotationExtractor

    The constructor/extractor for Annotation instances.

    The constructor/extractor for Annotation instances.

    Definition Classes
    AnnotationInfos → Annotations
  15. object AnnotationInfo

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

    A tag that preserves the identity of the Annotation abstract type from erasure.

    A tag that preserves the identity of the Annotation abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    AnnotationInfos → Annotations
  17. implicit def AnyNameOps(name: Name): NameOps[Name]

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

    The constructor/extractor for AppliedTypeTree instances.

    The constructor/extractor for AppliedTypeTree instances.

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

    A tag that preserves the identity of the AppliedTypeTree abstract type from erasure.

    A tag that preserves the identity of the AppliedTypeTree abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Trees → Trees
  20. def Apply(sym: Symbol, args: Tree*): Tree

    A factory method for Apply nodes.

    A factory method for Apply nodes.

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

    The constructor/extractor for Apply instances.

    The constructor/extractor for Apply instances.

    Definition Classes
    Trees → Trees
  22. 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
  23. implicit val ApplyTag: ClassTag[Apply]

    A tag that preserves the identity of the Apply abstract type from erasure.

    A tag that preserves the identity of the Apply abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Trees → Trees
  24. object ApproximateDependentMap extends internal.SymbolTable.TypeMap

    Definition Classes
    Types
  25. object ArrayAnnotArg extends internal.SymbolTable.ArrayArgumentExtractor with Serializable

    Definition Classes
    AnnotationInfos
  26. val ArrayArgument: ArrayAnnotArg.type

    The constructor/extractor for ArrayArgument instances.

    The constructor/extractor for ArrayArgument instances.

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

    A tag that preserves the identity of the ArrayArgument abstract type from erasure.

    A tag that preserves the identity of the ArrayArgument abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    AnnotationInfos → Annotations
  28. object Assign extends internal.SymbolTable.AssignExtractor with Serializable

    The constructor/extractor for Assign instances.

    The constructor/extractor for Assign instances.

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

    The constructor/extractor for AssignOrNamedArg instances.

    The constructor/extractor for AssignOrNamedArg instances.

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

    A tag that preserves the identity of the AssignOrNamedArg abstract type from erasure.

    A tag that preserves the identity of the AssignOrNamedArg abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

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

    A tag that preserves the identity of the Assign abstract type from erasure.

    A tag that preserves the identity of the Assign abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Trees → Trees
  32. object BackquotedIdentifierAttachment extends Product with Serializable

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

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

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

    A factory method for Bind nodes.

    A factory method for Bind nodes.

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

    The constructor/extractor for Bind instances.

    The constructor/extractor for Bind instances.

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

    A tag that preserves the identity of the Bind abstract type from erasure.

    A tag that preserves the identity of the Bind abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

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

    Block factory that flattens directly nested blocks.

    Block factory that flattens directly nested blocks.

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

    The constructor/extractor for Block instances.

    The constructor/extractor for Block instances.

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

    A tag that preserves the identity of the Block abstract type from erasure.

    A tag that preserves the identity of the Block abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Trees → Trees
  39. object BooleanFlag extends Serializable

  40. final val BooleanTag: Int(2)

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

    The constructor/extractor for BoundedWildcardType instances.

    The constructor/extractor for BoundedWildcardType instances.

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

    A tag that preserves the identity of the BoundedWildcardType abstract type from erasure.

    A tag that preserves the identity of the BoundedWildcardType abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

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

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

    casedef shorthand

    casedef shorthand

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

    The constructor/extractor for CaseDef instances.

    The constructor/extractor for CaseDef instances.

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

    A tag that preserves the identity of the CaseDef abstract type from erasure.

    A tag that preserves the identity of the CaseDef abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

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

    Definition Classes
    Constants
  48. def ClassDef(sym: Symbol, impl: Template): ClassDef

    sym

    the class symbol

    returns

    the implementation template

    Definition Classes
    Trees → Trees
  49. object ClassDef extends internal.SymbolTable.ClassDefExtractor with Serializable

    The constructor/extractor for ClassDef instances.

    The constructor/extractor for ClassDef instances.

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

    A tag that preserves the identity of the ClassDef abstract type from erasure.

    A tag that preserves the identity of the ClassDef abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Trees → Trees
  51. object ClassInfoType extends internal.SymbolTable.ClassInfoTypeExtractor with Serializable

    The constructor/extractor for ClassInfoType instances.

    The constructor/extractor for ClassInfoType instances.

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

    A tag that preserves the identity of the ClassInfoType abstract type from erasure.

    A tag that preserves the identity of the ClassInfoType abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Types → Types
  53. implicit val ClassSymbolTag: ClassTag[ClassSymbol]

    A tag that preserves the identity of the ClassSymbol abstract type from erasure.

    A tag that preserves the identity of the ClassSymbol abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Symbols → Symbols
  54. final val ClazzTag: Int(12)

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

    A tag that preserves the identity of the CompoundType abstract type from erasure.

    A tag that preserves the identity of the CompoundType abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

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

    The constructor/extractor for CompoundTypeTree instances.

    The constructor/extractor for CompoundTypeTree instances.

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

    A tag that preserves the identity of the CompoundTypeTree abstract type from erasure.

    A tag that preserves the identity of the CompoundTypeTree abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Trees → Trees
  58. object ConsoleWriter extends Writer

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

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

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

    The constructor/extractor for Constant instances.

    The constructor/extractor for Constant instances.

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

    A tag that preserves the identity of the Constant abstract type from erasure.

    A tag that preserves the identity of the Constant abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

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

    The constructor/extractor for ConstantType instances.

    The constructor/extractor for ConstantType instances.

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

    A tag that preserves the identity of the ConstantType abstract type from erasure.

    A tag that preserves the identity of the ConstantType abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

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

    Definition Classes
    BaseTypeSeqs
  64. def DefDef(sym: Symbol, rhs: (List[List[Symbol]]) ⇒ Tree): DefDef

    A factory method for ValDef nodes.

    A factory method for ValDef nodes.

    Definition Classes
    Trees → Trees
  65. def DefDef(sym: Symbol, rhs: Tree): DefDef

    A factory method for ValDef nodes.

    A factory method for ValDef nodes.

    Definition Classes
    Trees → Trees
  66. def DefDef(sym: Symbol, mods: Modifiers, rhs: Tree): DefDef

    A factory method for ValDef nodes.

    A factory method for ValDef nodes.

    Definition Classes
    Trees → Trees
  67. def DefDef(sym: Symbol, vparamss: List[List[ValDef]], rhs: Tree): DefDef

    A factory method for ValDef nodes.

    A factory method for ValDef nodes.

    Definition Classes
    Trees → Trees
  68. def DefDef(sym: Symbol, mods: Modifiers, vparamss: List[List[ValDef]], rhs: Tree): DefDef

    A factory method for ValDef nodes.

    A factory method for ValDef nodes.

    Definition Classes
    Trees → Trees
  69. object DefDef extends internal.SymbolTable.DefDefExtractor with Serializable

    The constructor/extractor for DefDef instances.

    The constructor/extractor for DefDef instances.

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

    A tag that preserves the identity of the DefDef abstract type from erasure.

    A tag that preserves the identity of the DefDef abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Trees → Trees
  71. implicit val DefTreeTag: ClassTag[DefTree]

    A tag that preserves the identity of the DefTree abstract type from erasure.

    A tag that preserves the identity of the DefTree abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Trees → Trees
  72. final val DoubleTag: Int(9)

    Definition Classes
    Constants
  73. object EmptyScope extends internal.SymbolTable.Scope

    The empty scope (immutable).

    The empty scope (immutable).

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

    The empty tree

    The empty tree

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

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

    Definition Classes
    Constants
  77. object ErasedValueType extends Serializable

    Definition Classes
    Types
  78. object ErroneousAnnotation extends internal.SymbolTable.CompleteAnnotationInfo

    Definition Classes
    AnnotationInfos
  79. object ErroneousCollector extends internal.SymbolTable.TypeCollector[Boolean]

    A map to implement the contains method.

    A map to implement the contains method.

    Definition Classes
    Types
  80. object ErrorType extends internal.SymbolTable.Type with Product with Serializable

    An object representing an erroneous type

    An object representing an erroneous type

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

    The constructor/extractor for ExistentialType instances.

    The constructor/extractor for ExistentialType instances.

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

    A tag that preserves the identity of the ExistentialType abstract type from erasure.

    A tag that preserves the identity of the ExistentialType abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Types → Types
  83. object ExistentialTypeTree extends internal.SymbolTable.ExistentialTypeTreeExtractor with Serializable

    The constructor/extractor for ExistentialTypeTree instances.

    The constructor/extractor for ExistentialTypeTree instances.

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

    A tag that preserves the identity of the ExistentialTypeTree abstract type from erasure.

    A tag that preserves the identity of the ExistentialTypeTree abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Trees → Trees
  85. object Expr extends Serializable

    Constructor/Extractor for Expr.

  86. object Flag extends internal.SymbolTable.FlagValues

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

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

    Definition Classes
    FlagSets → FlagSets
  87. implicit val FlagSetTag: ClassTag[FlagSet]

    A tag that preserves the identity of the FlagSet abstract type from erasure.

    A tag that preserves the identity of the FlagSet abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    FlagSets → FlagSets
  88. final val FloatTag: Int(8)

    Definition Classes
    Constants
  89. implicit val FreeTermSymbolTag: ClassTag[FreeTermSymbol]

    A tag that preserves the identity of the FreeTermSymbol abstract type from erasure.

    A tag that preserves the identity of the FreeTermSymbol abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Symbols → Symbols
  90. implicit val FreeTypeSymbolTag: ClassTag[FreeTypeSymbol]

    A tag that preserves the identity of the FreeTypeSymbol abstract type from erasure.

    A tag that preserves the identity of the FreeTypeSymbol abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Symbols → Symbols
  91. object Function extends internal.SymbolTable.FunctionExtractor with Serializable

    The constructor/extractor for Function instances.

    The constructor/extractor for Function instances.

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

    A tag that preserves the identity of the Function abstract type from erasure.

    A tag that preserves the identity of the Function abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Trees → Trees
  93. object GenPolyType

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

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

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

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

    A tag that preserves the identity of the GenericApply abstract type from erasure.

    A tag that preserves the identity of the GenericApply abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Trees → Trees
  95. val GlbFailure: java.lang.Throwable

    Definition Classes
    Types
  96. object HasTypeMember

    Definition Classes
    Types
  97. def Ident(sym: Symbol): Ident

    A factory method for Ident nodes.

    A factory method for Ident nodes.

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

    A factory method for Ident nodes.

    A factory method for Ident nodes.

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

    The constructor/extractor for Ident instances.

    The constructor/extractor for Ident instances.

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

    A tag that preserves the identity of the Ident abstract type from erasure.

    A tag that preserves the identity of the Ident abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Trees → Trees
  101. object If extends internal.SymbolTable.IfExtractor with Serializable

    The constructor/extractor for If instances.

    The constructor/extractor for If instances.

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

    A tag that preserves the identity of the If abstract type from erasure.

    A tag that preserves the identity of the If abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Trees → Trees
  103. implicit val ImplDefTag: ClassTag[ImplDef]

    A tag that preserves the identity of the ImplDef abstract type from erasure.

    A tag that preserves the identity of the ImplDef abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Trees → Trees
  104. object Import extends internal.SymbolTable.ImportExtractor with Serializable

    The constructor/extractor for Import instances.

    The constructor/extractor for Import instances.

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

    The constructor/extractor for ImportSelector instances.

    The constructor/extractor for ImportSelector instances.

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

    A tag that preserves the identity of the ImportSelector abstract type from erasure.

    A tag that preserves the identity of the ImportSelector abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Trees → Trees
  107. implicit val ImportTag: ClassTag[Import]

    A tag that preserves the identity of the Import abstract type from erasure.

    A tag that preserves the identity of the Import abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Trees → Trees
  108. final val IntTag: Int(6)

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

    Definition Classes
    Types
  110. implicit val JavaArgumentTag: ClassTag[ClassfileAnnotArg]

    A tag that preserves the identity of the JavaArgument abstract type from erasure.

    A tag that preserves the identity of the JavaArgument abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    AnnotationInfos → Annotations
  111. def JavaMethodType(params: List[Symbol], resultType: Type): JavaMethodType

    The canonical creator for implicit method types

    The canonical creator for implicit method types

    Definition Classes
    Types
  112. def LabelDef(sym: Symbol, params: List[Symbol], rhs: Tree): LabelDef

    A factory method for LabelDef nodes.

    A factory method for LabelDef nodes.

    Definition Classes
    Trees → Trees
  113. object LabelDef extends internal.SymbolTable.LabelDefExtractor with Serializable

    The constructor/extractor for LabelDef instances.

    The constructor/extractor for LabelDef instances.

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

    A tag that preserves the identity of the LabelDef abstract type from erasure.

    A tag that preserves the identity of the LabelDef abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Trees → Trees
  115. object Literal extends internal.SymbolTable.LiteralExtractor with Serializable

    The constructor/extractor for Literal instances.

    The constructor/extractor for Literal instances.

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

    Definition Classes
    AnnotationInfos
  117. val LiteralArgument: LiteralAnnotArg.type

    The constructor/extractor for LiteralArgument instances.

    The constructor/extractor for LiteralArgument instances.

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

    A tag that preserves the identity of the LiteralArgument abstract type from erasure.

    A tag that preserves the identity of the LiteralArgument abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    AnnotationInfos → Annotations
  119. implicit val LiteralTag: ClassTag[Literal]

    A tag that preserves the identity of the Literal abstract type from erasure.

    A tag that preserves the identity of the Literal abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Trees → Trees
  120. final val LongTag: Int(7)

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

    Definition Classes
    Scopes
  122. object Match extends internal.SymbolTable.MatchExtractor with Serializable

    The constructor/extractor for Match instances.

    The constructor/extractor for Match instances.

    Definition Classes
    Trees → Trees
  123. implicit val MatchTag: ClassTag[Match]

    A tag that preserves the identity of the Match abstract type from erasure.

    A tag that preserves the identity of the Match abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Trees → Trees
  124. implicit val MemberDefTag: ClassTag[MemberDef]

    A tag that preserves the identity of the MemberDef abstract type from erasure.

    A tag that preserves the identity of the MemberDef abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Trees → Trees
  125. implicit val MemberScopeTag: ClassTag[MemberScope]

    A tag that preserves the identity of the MemberScope abstract type from erasure.

    A tag that preserves the identity of the MemberScope abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Scopes → Scopes
  126. implicit val MethodSymbolTag: ClassTag[MethodSymbol]

    A tag that preserves the identity of the MethodSymbol abstract type from erasure.

    A tag that preserves the identity of the MethodSymbol abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Symbols → Symbols
  127. object MethodType extends internal.SymbolTable.MethodTypeExtractor with Serializable

    The constructor/extractor for MethodType instances.

    The constructor/extractor for MethodType instances.

    Definition Classes
    Types → Types
  128. implicit val MethodTypeTag: ClassTag[MethodType]

    A tag that preserves the identity of the MethodType abstract type from erasure.

    A tag that preserves the identity of the MethodType abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Types → Types
  129. def Modifiers(flags: FlagSet): Modifiers

    The factory for Modifiers instances.

    The factory for Modifiers instances.

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

    The factory for Modifiers instances.

    The factory for Modifiers instances.

    Definition Classes
    Trees
  131. object Modifiers extends internal.SymbolTable.ModifiersExtractor with Serializable

    The constructor/extractor for Modifiers instances.

    The constructor/extractor for Modifiers instances.

    Definition Classes
    Trees → Trees
  132. implicit val ModifiersTag: ClassTag[Modifiers]

    A tag that preserves the identity of the Modifiers abstract type from erasure.

    A tag that preserves the identity of the Modifiers abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Trees → Trees
  133. def ModuleDef(sym: Symbol, impl: Template): ModuleDef

    sym

    the class symbol

    impl

    the implementation template

    Definition Classes
    Trees → Trees
  134. object ModuleDef extends internal.SymbolTable.ModuleDefExtractor with Serializable

    The constructor/extractor for ModuleDef instances.

    The constructor/extractor for ModuleDef instances.

    Definition Classes
    Trees → Trees
  135. implicit val ModuleDefTag: ClassTag[ModuleDef]

    A tag that preserves the identity of the ModuleDef abstract type from erasure.

    A tag that preserves the identity of the ModuleDef abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Trees → Trees
  136. implicit val ModuleSymbolTag: ClassTag[ModuleSymbol]

    A tag that preserves the identity of the ModuleSymbol abstract type from erasure.

    A tag that preserves the identity of the ModuleSymbol abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Symbols → Symbols
  137. implicit val NameTag: ClassTag[Name]

    A tag that preserves the identity of the Name abstract type from erasure.

    A tag that preserves the identity of the Name abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Names → Names
  138. implicit val NameTreeTag: ClassTag[NameTree]

    A tag that preserves the identity of the NameTree abstract type from erasure.

    A tag that preserves the identity of the NameTree abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Trees → Trees
  139. object NestedAnnotArg extends internal.SymbolTable.NestedArgumentExtractor with Serializable

    Definition Classes
    AnnotationInfos
  140. val NestedArgument: NestedAnnotArg.type

    The constructor/extractor for NestedArgument instances.

    The constructor/extractor for NestedArgument instances.

    Definition Classes
    AnnotationInfos → Annotations
  141. implicit val NestedArgumentTag: ClassTag[NestedAnnotArg]

    A tag that preserves the identity of the NestedArgument abstract type from erasure.

    A tag that preserves the identity of the NestedArgument abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    AnnotationInfos → Annotations
  142. 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
  143. def New(tpe: Type, argss: List[List[Tree]]): Tree

    Definition Classes
    Trees
  144. 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
  145. 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
  146. object New extends internal.SymbolTable.NewExtractor with Serializable

    The constructor/extractor for New instances.

    The constructor/extractor for New instances.

    Definition Classes
    Trees → Trees
  147. def NewFromConstructor(constructor: Symbol, args: Tree*): Apply

    Definition Classes
    Trees
  148. implicit val NewTag: ClassTag[New]

    A tag that preserves the identity of the New abstract type from erasure.

    A tag that preserves the identity of the New abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Trees → Trees
  149. val NoFlags: FlagSet

    The empty set of flags

    The empty set of flags

    Definition Classes
    FlagSets → FlagSets
  150. val NoKindErrors: KindErrors

    Definition Classes
    Kinds
  151. 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
  152. final val NoPeriod: Int(0)

    Definition Classes
    SymbolTable
  153. val NoPosition: internal.util.NoPosition.type

    A special "missing" position.

    A special "missing" position.

    Definition Classes
    Positions → Positions
  154. object NoPrefix extends internal.SymbolTable.Type with Product with Serializable

    An object representing a non-existing prefix

    An object representing a non-existing prefix

    Definition Classes
    Types → Types
  155. final val NoRunId: Int(0)

    Definition Classes
    SymbolTable
  156. lazy val NoSymbol: NoSymbol

    Definition Classes
    Symbols → Symbols
  157. final val NoTag: Int(0)

    Definition Classes
    Constants
  158. object NoType extends internal.SymbolTable.Type with Product with Serializable

    An object representing a non-existing type

    An object representing a non-existing type

    Definition Classes
    Types → Types
  159. final val NullTag: Int(11)

    Definition Classes
    Constants
  160. object NullaryMethodType extends internal.SymbolTable.NullaryMethodTypeExtractor with Serializable

    The constructor/extractor for NullaryMethodType instances.

    The constructor/extractor for NullaryMethodType instances.

    Definition Classes
    Types → Types
  161. implicit val NullaryMethodTypeTag: ClassTag[NullaryMethodType]

    A tag that preserves the identity of the NullaryMethodType abstract type from erasure.

    A tag that preserves the identity of the NullaryMethodType abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Types → Types
  162. object PackageDef extends internal.SymbolTable.PackageDefExtractor with Serializable

    The constructor/extractor for PackageDef instances.

    The constructor/extractor for PackageDef instances.

    Definition Classes
    Trees → Trees
  163. implicit val PackageDefTag: ClassTag[PackageDef]

    A tag that preserves the identity of the PackageDef abstract type from erasure.

    A tag that preserves the identity of the PackageDef abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Trees → Trees
  164. object PolyType extends internal.SymbolTable.PolyTypeExtractor with Serializable

    The constructor/extractor for PolyType instances.

    The constructor/extractor for PolyType instances.

    Definition Classes
    Types → Types
  165. implicit val PolyTypeTag: ClassTag[PolyType]

    A tag that preserves the identity of the PolyType abstract type from erasure.

    A tag that preserves the identity of the PolyType abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Types → Types
  166. implicit val PositionTag: ClassTag[Position]

    A tag that preserves the identity of the Position abstract type from erasure.

    A tag that preserves the identity of the Position abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Positions → Positions
  167. implicit val RefTreeTag: ClassTag[RefTree]

    A tag that preserves the identity of the RefTree abstract type from erasure.

    A tag that preserves the identity of the RefTree abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Trees → Trees
  168. object ReferenceToBoxed extends internal.SymbolTable.ReferenceToBoxedExtractor with Serializable

    The constructor/extractor for ReferenceToBoxed instances.

    The constructor/extractor for ReferenceToBoxed instances.

    Definition Classes
    Trees → Trees
  169. implicit val ReferenceToBoxedTag: ClassTag[ReferenceToBoxed]

    A tag that preserves the identity of the ReferenceToBoxed abstract type from erasure.

    A tag that preserves the identity of the ReferenceToBoxed abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Trees → Trees
  170. object RefinedType extends internal.SymbolTable.RefinedTypeExtractor with Serializable

    The constructor/extractor for RefinedType instances.

    The constructor/extractor for RefinedType instances.

    Definition Classes
    Types → Types
  171. implicit val RefinedTypeTag: ClassTag[RefinedType]

    A tag that preserves the identity of the RefinedType abstract type from erasure.

    A tag that preserves the identity of the RefinedType abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Types → Types
  172. object Return extends internal.SymbolTable.ReturnExtractor with Serializable

    The constructor/extractor for Return instances.

    The constructor/extractor for Return instances.

    Definition Classes
    Trees → Trees
  173. implicit val ReturnTag: ClassTag[Return]

    A tag that preserves the identity of the Return abstract type from erasure.

    A tag that preserves the identity of the Return abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Trees → Trees
  174. object Scope

    Definition Classes
    Scopes
  175. implicit val ScopeTag: ClassTag[Scope]

    A tag that preserves the identity of the Scope abstract type from erasure.

    A tag that preserves the identity of the Scope abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Scopes → Scopes
  176. def Select(qualifier: Tree, sym: Symbol): Select

    A factory method for Select nodes.

    A factory method for Select nodes.

    Definition Classes
    Trees → Trees
  177. 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
  178. object Select extends internal.SymbolTable.SelectExtractor with Serializable

    The constructor/extractor for Select instances.

    The constructor/extractor for Select instances.

    Definition Classes
    Trees → Trees
  179. object SelectFromTypeTree extends internal.SymbolTable.SelectFromTypeTreeExtractor with Serializable

    The constructor/extractor for SelectFromTypeTree instances.

    The constructor/extractor for SelectFromTypeTree instances.

    Definition Classes
    Trees → Trees
  180. implicit val SelectFromTypeTreeTag: ClassTag[SelectFromTypeTree]

    A tag that preserves the identity of the SelectFromTypeTree abstract type from erasure.

    A tag that preserves the identity of the SelectFromTypeTree abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Trees → Trees
  181. implicit val SelectTag: ClassTag[Select]

    A tag that preserves the identity of the Select abstract type from erasure.

    A tag that preserves the identity of the Select abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Trees → Trees
  182. final val ShortTag: Int(4)

    Definition Classes
    Constants
  183. object SingleType extends internal.SymbolTable.SingleTypeExtractor with Serializable

    The constructor/extractor for SingleType instances.

    The constructor/extractor for SingleType instances.

    Definition Classes
    Types → Types
  184. implicit val SingleTypeTag: ClassTag[SingleType]

    A tag that preserves the identity of the SingleType abstract type from erasure.

    A tag that preserves the identity of the SingleType abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Types → Types
  185. implicit val SingletonTypeTag: ClassTag[SingletonType]

    A tag that preserves the identity of the SingletonType abstract type from erasure.

    A tag that preserves the identity of the SingletonType abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Types → Types
  186. object SingletonTypeTree extends internal.SymbolTable.SingletonTypeTreeExtractor with Serializable

    The constructor/extractor for SingletonTypeTree instances.

    The constructor/extractor for SingletonTypeTree instances.

    Definition Classes
    Trees → Trees
  187. implicit val SingletonTypeTreeTag: ClassTag[SingletonTypeTree]

    A tag that preserves the identity of the SingletonTypeTree abstract type from erasure.

    A tag that preserves the identity of the SingletonTypeTree abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Trees → Trees
  188. object Star extends internal.SymbolTable.StarExtractor with Serializable

    The constructor/extractor for Star instances.

    The constructor/extractor for Star instances.

    Definition Classes
    Trees → Trees
  189. implicit val StarTag: ClassTag[Star]

    A tag that preserves the identity of the Star abstract type from erasure.

    A tag that preserves the identity of the Star abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Trees → Trees
  190. 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
  191. final val StringTag: Int(10)

    Definition Classes
    Constants
  192. def Super(sym: Symbol, mix: TypeName): Tree

    A factory method for Super nodes.

    A factory method for Super nodes.

    Definition Classes
    Trees → Trees
  193. object Super extends internal.SymbolTable.SuperExtractor with Serializable

    The constructor/extractor for Super instances.

    The constructor/extractor for Super instances.

    Definition Classes
    Trees → Trees
  194. implicit val SuperTag: ClassTag[Super]

    A tag that preserves the identity of the Super abstract type from erasure.

    A tag that preserves the identity of the Super abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Trees → Trees
  195. object SuperType extends internal.SymbolTable.SuperTypeExtractor with Serializable

    The constructor/extractor for SuperType instances.

    The constructor/extractor for SuperType instances.

    Definition Classes
    Types → Types
  196. implicit val SuperTypeTag: ClassTag[SuperType]

    A tag that preserves the identity of the SuperType abstract type from erasure.

    A tag that preserves the identity of the SuperType abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Types → Types
  197. object SuppressMacroExpansionAttachment extends Product with Serializable

    When present, suppresses macro expansion for the host.

    When present, suppresses macro expansion for the host. This is occasionally necessary, e.g. to prohibit eta-expansion of macros.

    Does not affect expandability of child nodes, there's context.withMacrosDisabled for that (but think thrice before using that API - see the discussion at https://github.com/scala/scala/pull/1639).

    Definition Classes
    StdAttachments
  198. implicit val SymTreeTag: ClassTag[SymTree]

    A tag that preserves the identity of the SymTree abstract type from erasure.

    A tag that preserves the identity of the SymTree abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Trees → Trees
  199. implicit val SymbolTag: ClassTag[Symbol]

    A tag that preserves the identity of the Symbol abstract type from erasure.

    A tag that preserves the identity of the Symbol abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Symbols → Symbols
  200. object Template extends internal.SymbolTable.TemplateExtractor with Serializable

    The constructor/extractor for Template instances.

    The constructor/extractor for Template instances.

    Definition Classes
    Trees → Trees
  201. implicit val TemplateTag: ClassTag[Template]

    A tag that preserves the identity of the Template abstract type from erasure.

    A tag that preserves the identity of the Template abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Trees → Trees
  202. object TermName extends internal.Names.TermNameExtractor

    The constructor/extractor for TermName instances.

    The constructor/extractor for TermName instances.

    Definition Classes
    Names → Names
  203. implicit def TermNameOps(name: TermName): NameOps[TermName]

    Definition Classes
    Names
  204. implicit val TermNameTag: ClassTag[TermName]

    A tag that preserves the identity of the TermName abstract type from erasure.

    A tag that preserves the identity of the TermName abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Names → Names
  205. implicit val TermSymbolTag: ClassTag[TermSymbol]

    A tag that preserves the identity of the TermSymbol abstract type from erasure.

    A tag that preserves the identity of the TermSymbol abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Symbols → Symbols
  206. implicit val TermTreeTag: ClassTag[TermTree]

    A tag that preserves the identity of the TermTree abstract type from erasure.

    A tag that preserves the identity of the TermTree abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Trees → Trees
  207. def This(sym: Symbol): Tree

    A factory method for This nodes.

    A factory method for This nodes.

    Definition Classes
    Trees → Trees
  208. object This extends internal.SymbolTable.ThisExtractor with Serializable

    The constructor/extractor for This instances.

    The constructor/extractor for This instances.

    Definition Classes
    Trees → Trees
  209. implicit val ThisTag: ClassTag[This]

    A tag that preserves the identity of the This abstract type from erasure.

    A tag that preserves the identity of the This abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Trees → Trees
  210. object ThisType extends internal.SymbolTable.ThisTypeExtractor with Serializable

    The constructor/extractor for ThisType instances.

    The constructor/extractor for ThisType instances.

    Definition Classes
    Types → Types
  211. implicit val ThisTypeTag: ClassTag[ThisType]

    A tag that preserves the identity of the ThisType abstract type from erasure.

    A tag that preserves the identity of the ThisType abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Types → Types
  212. def Throw(tpe: Type, args: Tree*): Throw

    A factory method for Throw nodes.

    A factory method for Throw nodes.

    Definition Classes
    Trees → Trees
  213. object Throw extends internal.SymbolTable.ThrowExtractor with Serializable

    The constructor/extractor for Throw instances.

    The constructor/extractor for Throw instances.

    Definition Classes
    Trees → Trees
  214. implicit val ThrowTag: ClassTag[Throw]

    A tag that preserves the identity of the Throw abstract type from erasure.

    A tag that preserves the identity of the Throw abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Trees → Trees
  215. object ThrownException

    Extracts symbol of thrown exception from AnnotationInfo.

    Extracts symbol of thrown exception from AnnotationInfo.

    Supports both “old-style” @throws(classOf[Exception]) as well as “new-stye” @throws[Exception]("cause") annotations.

    Definition Classes
    AnnotationInfos
  216. implicit val TreeTag: ClassTag[Tree]

    A tag that preserves the identity of the Tree abstract type from erasure.

    A tag that preserves the identity of the Tree abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Trees → Trees
  217. def Try(body: Tree, cases: (Tree, Tree)*): Try

    A factory method for Try nodes.

    A factory method for Try nodes.

    Definition Classes
    Trees → Trees
  218. object Try extends internal.SymbolTable.TryExtractor with Serializable

    The constructor/extractor for Try instances.

    The constructor/extractor for Try instances.

    Definition Classes
    Trees → Trees
  219. implicit val TryTag: ClassTag[Try]

    A tag that preserves the identity of the Try abstract type from erasure.

    A tag that preserves the identity of the Try abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Trees → Trees
  220. implicit val TypTreeTag: ClassTag[TypTree]

    A tag that preserves the identity of the TypTree abstract type from erasure.

    A tag that preserves the identity of the TypTree abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Trees → Trees
  221. object TypeApply extends internal.SymbolTable.TypeApplyExtractor with Serializable

    The constructor/extractor for TypeApply instances.

    The constructor/extractor for TypeApply instances.

    Definition Classes
    Trees → Trees
  222. implicit val TypeApplyTag: ClassTag[TypeApply]

    A tag that preserves the identity of the TypeApply abstract type from erasure.

    A tag that preserves the identity of the TypeApply abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Trees → Trees
  223. object TypeBounds extends internal.SymbolTable.TypeBoundsExtractor with Serializable

    The constructor/extractor for TypeBounds instances.

    The constructor/extractor for TypeBounds instances.

    Definition Classes
    Types → Types
  224. implicit val TypeBoundsTag: ClassTag[TypeBounds]

    A tag that preserves the identity of the TypeBounds abstract type from erasure.

    A tag that preserves the identity of the TypeBounds abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Types → Types
  225. object TypeBoundsTree extends internal.SymbolTable.TypeBoundsTreeExtractor with Serializable

    The constructor/extractor for TypeBoundsTree instances.

    The constructor/extractor for TypeBoundsTree instances.

    Definition Classes
    Trees → Trees
  226. implicit val TypeBoundsTreeTag: ClassTag[TypeBoundsTree]

    A tag that preserves the identity of the TypeBoundsTree abstract type from erasure.

    A tag that preserves the identity of the TypeBoundsTree abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Trees → Trees
  227. def TypeDef(sym: Symbol): TypeDef

    A TypeDef node which defines abstract type or type parameter for given sym

    A TypeDef node which defines abstract type or type parameter for given sym

    Definition Classes
    Trees → Trees
  228. def TypeDef(sym: Symbol, rhs: Tree): TypeDef

    A TypeDef node which defines given sym with given tight hand side rhs.

    A TypeDef node which defines given sym with given tight hand side rhs.

    Definition Classes
    Trees → Trees
  229. object TypeDef extends internal.SymbolTable.TypeDefExtractor with Serializable

    The constructor/extractor for TypeDef instances.

    The constructor/extractor for TypeDef instances.

    Definition Classes
    Trees → Trees
  230. implicit val TypeDefTag: ClassTag[TypeDef]

    A tag that preserves the identity of the TypeDef abstract type from erasure.

    A tag that preserves the identity of the TypeDef abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Trees → Trees
  231. object TypeName extends internal.Names.TypeNameExtractor

    The constructor/extractor for TypeName instances.

    The constructor/extractor for TypeName instances.

    Definition Classes
    Names → Names
  232. implicit def TypeNameOps(name: TypeName): NameOps[TypeName]

    Definition Classes
    Names
  233. implicit val TypeNameTag: ClassTag[TypeName]

    A tag that preserves the identity of the TypeName abstract type from erasure.

    A tag that preserves the identity of the TypeName abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Names → Names
  234. object TypeRef extends internal.SymbolTable.TypeRefExtractor with Serializable

    The constructor/extractor for TypeRef instances.

    The constructor/extractor for TypeRef instances.

    Definition Classes
    Types → Types
  235. implicit val TypeRefTag: ClassTag[TypeRef]

    A tag that preserves the identity of the TypeRef abstract type from erasure.

    A tag that preserves the identity of the TypeRef abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Types → Types
  236. implicit val TypeSymbolTag: ClassTag[TypeSymbol]

    A tag that preserves the identity of the TypeSymbol abstract type from erasure.

    A tag that preserves the identity of the TypeSymbol abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Symbols → Symbols
  237. object TypeTag extends Serializable

    Type tags corresponding to primitive types and constructor/extractor for WeakTypeTags.

  238. implicit val TypeTagg: ClassTag[Type]

    A tag that preserves the identity of the Type abstract type from erasure.

    A tag that preserves the identity of the Type abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Types → Types
  239. def TypeTree(tp: Type): TypeTree

    A factory method for TypeTree nodes.

    A factory method for TypeTree nodes.

    Definition Classes
    Trees → Trees
  240. object TypeTree extends internal.SymbolTable.TypeTreeExtractor with Serializable

    The constructor/extractor for TypeTree instances.

    The constructor/extractor for TypeTree instances.

    Definition Classes
    Trees → Trees
  241. implicit val TypeTreeTag: ClassTag[TypeTree]

    A tag that preserves the identity of the TypeTree abstract type from erasure.

    A tag that preserves the identity of the TypeTree abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Trees → Trees
  242. object TypeVar extends Serializable

    Definition Classes
    Types
  243. object Typed extends internal.SymbolTable.TypedExtractor with Serializable

    The constructor/extractor for Typed instances.

    The constructor/extractor for Typed instances.

    Definition Classes
    Trees → Trees
  244. implicit val TypedTag: ClassTag[Typed]

    A tag that preserves the identity of the Typed abstract type from erasure.

    A tag that preserves the identity of the Typed abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Trees → Trees
  245. object UnApply extends internal.SymbolTable.UnApplyExtractor with Serializable

    The constructor/extractor for UnApply instances.

    The constructor/extractor for UnApply instances.

    Definition Classes
    Trees → Trees
  246. implicit val UnApplyTag: ClassTag[UnApply]

    A tag that preserves the identity of the UnApply abstract type from erasure.

    A tag that preserves the identity of the UnApply abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Trees → Trees
  247. final val UnitTag: Int(1)

    Definition Classes
    Constants
  248. object UnmappableAnnotArg extends internal.SymbolTable.ClassfileAnnotArg with Product with Serializable

    Definition Classes
    AnnotationInfos
  249. object UnmappableAnnotation extends internal.SymbolTable.CompleteAnnotationInfo

    Definition Classes
    AnnotationInfos
  250. object UnmappableTree extends internal.SymbolTable.Tree with internal.SymbolTable.TermTree with Product with Serializable

    Definition Classes
    Types
  251. def ValDef(sym: Symbol): ValDef

    A factory method for ValDef nodes.

    A factory method for ValDef nodes.

    Definition Classes
    Trees → Trees
  252. def ValDef(sym: Symbol, rhs: Tree): ValDef

    A factory method for ValDef nodes.

    A factory method for ValDef nodes.

    Definition Classes
    Trees → Trees
  253. object ValDef extends internal.SymbolTable.ValDefExtractor with Serializable

    The constructor/extractor for ValDef instances.

    The constructor/extractor for ValDef instances.

    Definition Classes
    Trees → Trees
  254. implicit val ValDefTag: ClassTag[ValDef]

    A tag that preserves the identity of the ValDef abstract type from erasure.

    A tag that preserves the identity of the ValDef abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Trees → Trees
  255. implicit val ValOrDefDefTag: ClassTag[ValOrDefDef]

    A tag that preserves the identity of the ValOrDefDef abstract type from erasure.

    A tag that preserves the identity of the ValOrDefDef abstract type from erasure. Can be used for pattern matching, instance tests, serialization and likes.

    Definition Classes
    Trees → Trees
  256. object WeakTypeTag extends Serializable

    Type tags corresponding to primitive types and constructor/extractor for WeakTypeTags.

  257. object WildcardType extends internal.SymbolTable.Type with Product with Serializable

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

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

    Definition Classes
    Types → Types
  258. def abort(msg: String): Nothing

    Definition Classes
    SymbolTable
  259. def abstractTypesToBounds(tp: Type): Type

    Type with all top-level occurrences of abstract types replaced by their bounds

    Type with all top-level occurrences of abstract types replaced by their bounds

    Definition Classes
    Types
  260. def adaptAnnotations(tree: Tree, mode: Int, pt: Type): Tree

    Let registered annotation checkers adapt a tree to a given type (called by Typers.

    Let registered annotation checkers adapt a tree to a given type (called by Typers.adapt). Annotation checkers that cannot do the adaption should pass the tree through unchanged.

    Definition Classes
    AnnotationCheckers
  261. def adaptBoundsToAnnotations(bounds: List[TypeBounds], tparams: List[Symbol], targs: List[Type]): List[TypeBounds]

    Refine the bounds on type parameters to the given type arguments.

    Refine the bounds on type parameters to the given type arguments.

    Definition Classes
    AnnotationCheckers
  262. object adaptToNewRunMap extends internal.SymbolTable.TypeMap

    Definition Classes
    Types
  263. def adaptTypeOfReturn(tree: Tree, pt: Type, default: ⇒ Type): Type

    Let a registered annotation checker adapt the type of a return expression.

    Let a registered annotation checker adapt the type of a return expression. Annotation checkers that cannot do the adaptation should simply return the default argument.

    Note that the result is undefined if more than one annotation checker returns an adapted type which is not a subtype of default.

    Definition Classes
    AnnotationCheckers
  264. def addAnnotationChecker(checker: AnnotationChecker): Unit

    Register an annotation checker.

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

    Definition Classes
    AnnotationCheckers
  265. def addAnnotations(tree: Tree, tpe: Type): Type

    Let all annotations checkers add extra annotations to this tree's type.

    Let all annotations checkers add extra annotations to this tree's type.

    Definition Classes
    AnnotationCheckers
  266. implicit def addFlagOps(left: FlagSet): FlagOps

    The API of FlagSet instances.

    The API of FlagSet instances.

    Definition Classes
    FlagSets → FlagSets
  267. def addMember(thistp: Type, tp: Type, sym: Symbol, depth: Int): 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
  268. def addMember(thistp: Type, tp: Type, sym: Symbol): Unit

    Definition Classes
    Types
  269. def addSerializable(ps: Type*): List[Type]

    Definition Classes
    Types
  270. def annotatedType(annots: List[AnnotationInfo], underlying: Type, selfsym: Symbol = NoSymbol): Type

    Creator for AnnotatedTypes.

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

    Definition Classes
    Types
  271. def annotationsConform(tp1: Type, tp2: Type): Boolean

    Check that the annotations on two types conform.

    Check that the annotations on two types conform. To do so, consult all registered annotation checkers.

    Definition Classes
    AnnotationCheckers
  272. def annotationsGlb(tpe: Type, ts: List[Type]): Type

    Refine the computed greatest lower bound of a list of types.

    Refine the computed greatest lower bound of a list of types. All this should do is add annotations.

    Definition Classes
    AnnotationCheckers
  273. def annotationsLub(tpe: Type, ts: List[Type]): Type

    Refine the computed least upper bound of a list of types.

    Refine the computed least upper bound of a list of types. All this should do is add annotations.

    Definition Classes
    AnnotationCheckers
  274. def appliedType(tyconSym: Symbol, args: Type*): Type

    Very convenient.

    Very convenient.

    Definition Classes
    Types
  275. def appliedType(tycon: Type, args: List[Type]): Type

    A creator for type applications

    A creator for type applications

    Definition Classes
    Types → Types
  276. 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
  277. final def asInstanceOf[T0]: T0

    Cast the receiver object to be of type T0.

    Cast the receiver object to be of type T0.

    Note that the success of a cast at runtime is modulo Scala's erasure semantics. Therefore the expression 1.asInstanceOf[String] will throw a ClassCastException at runtime, while the expression List(1).asInstanceOf[List[String]] will not. In the latter example, because the type argument is erased as part of compilation it is not possible to check whether the contents of the list are of the requested type.

    returns

    the receiver object.

    Definition Classes
    Any
    Exceptions thrown
    ClassCastException

    if the receiver object is not an instance of the erasure of type T0.

  278. 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( level = elidable.WARNING )
  279. final def atPhaseStack: List[Phase]

    Definition Classes
    SymbolTable
  280. def atPhaseStackMessage: String

    Definition Classes
    SymbolTable
  281. def atPos[T <: Tree](pos: Position)(tree: T): T

    Assigns a given position to all position-less nodes of a given AST.

    Assigns a given position to all position-less nodes of a given AST.

    Definition Classes
    Positions → Positions
  282. 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
  283. object baseClassesCycleMonitor

    Definition Classes
    Types
  284. def baseTypeOfNonClassTypeRef(tpe: NonClassTypeRef, clazz: Symbol): Type

    Attributes
    protected
    Definition Classes
    SynchronizedTypes → Types
  285. 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
  286. def beginsWithTypeVarOrIsRefined(tp: Type): Boolean

    Does this type have a prefix that begins with a type variable, or is it a refinement type? For type prefixes that fulfil this condition, type selections with the same name of equal (as determined by =:=) prefixes are considered equal in regard to =:=.

    Does this type have a prefix that begins with a type variable, or is it a refinement type? For type prefixes that fulfil this condition, type selections with the same name of equal (as determined by =:=) prefixes are considered equal in regard to =:=.

    Definition Classes
    Types
  287. object binarynme

    Java binary names, like scala/runtime/Nothing$.

    Java binary names, like scala/runtime/Nothing$.

    Definition Classes
    StdNames
  288. val build: BuildApi

    Definition Classes
    BuildUtils
  289. def canAdaptAnnotations(tree: Tree, mode: Int, pt: Type): Boolean

    Find out whether any annotation checker can adapt a tree to a given type.

    Find out whether any annotation checker can adapt a tree to a given type. Called by Typers.adapt.

    Definition Classes
    AnnotationCheckers
  290. def captureVariable(vble: Symbol): Unit

    Mark a variable as captured; i.

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

    Definition Classes
    CapturedVariables
  291. 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
  292. 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
  293. 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
  294. var chrs: Array[Char]

    Memory to store all names sequentially.

    Memory to store all names sequentially.

    Definition Classes
    Names
  295. def clone(): AnyRef

    Create a copy of the receiver object.

    Create a copy of the receiver object.

    The default implementation of the clone method is platform dependent.

    returns

    a copy of the receiver object.

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
    Note

    not specified by SLS as a member of AnyRef

  296. def cloneSymbols(syms: List[Symbol]): List[Symbol]

    Convenience functions which derive symbols by cloning.

    Convenience functions which derive symbols by cloning.

    Definition Classes
    Symbols
  297. 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
  298. def cloneSymbolsAtOwner(syms: List[Symbol], owner: Symbol): List[Symbol]

    Definition Classes
    Symbols
  299. def cloneSymbolsAtOwnerAndModify(syms: List[Symbol], owner: Symbol, infoFn: (Type) ⇒ Type): List[Symbol]

    Definition Classes
    Symbols
  300. 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
  301. final def collectMap2[A, B, C](xs1: List[A], xs2: List[B])(p: (A, B) ⇒ Boolean): Map[A, B]

    Definition Classes
    Collections
  302. def commonOwnerMap: CommonOwnerMap

    Attributes
    protected
    Definition Classes
    SynchronizedTypes → Types
  303. final def compareLengths(xs1: List[_], xs2: List[_]): Int

    Definition Classes
    Types
    Annotations
    @tailrec()
  304. def compoundBaseTypeSeq(tp: Type): BaseTypeSeq

    Create the base type sequence of a compound type wuth given tp.

    Create the base type sequence of a compound type wuth given tp.parents

    Definition Classes
    BaseTypeSeqs
  305. def computeBaseClasses(tpe: Type): List[Symbol]

    Attributes
    protected
    Definition Classes
    Types
  306. def connectModuleToClass(m: ModuleSymbol, moduleClass: ClassSymbol): ModuleSymbol

    Definition Classes
    SynchronizedSymbols → Symbols
  307. def containsExistential(tpe: Type): Boolean

    Definition Classes
    Types
  308. def copyClassDef(tree: Tree)(mods: Modifiers = null, name: Name = null, tparams: List[TypeDef] = null, impl: Template = null): ClassDef

    Definition Classes
    Trees
  309. 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
  310. def copyMethodType(tp: Type, params: List[Symbol], restpe: Type): Type

    Create a new MethodType of the same class as tp, i.

    Create a new MethodType of the same class as tp, i.e. keep JavaMethodType

    Definition Classes
    Types
  311. def copyRefinedType(original: RefinedType, parents: List[Type], decls: Scope): Type

    Definition Classes
    Types
  312. def copyTypeRef(tp: Type, pre: Type, sym: Symbol, args: List[Type]): Type

    Definition Classes
    Types
  313. def copyValDef(tree: Tree)(mods: Modifiers = null, name: Name = null, tpt: Tree = null, rhs: Tree = null): ValDef

    Definition Classes
    Trees
  314. 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()
  315. 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
  316. def createFromClonedSymbolsAtOwner[T](syms: List[Symbol], owner: Symbol, tpe: Type)(creator: (List[Symbol], Type) ⇒ T): T

    Definition Classes
    Symbols
  317. final def currentPeriod: Period

    The current period.

    The current period.

    Definition Classes
    SymbolTable
  318. val currentRunId: Int

    The current compiler run identifier.

    The current compiler run identifier.

    Definition Classes
    ReflectSetup → SymbolTable
  319. def debugInfo(msg: ⇒ String): Unit

    Definition Classes
    SymbolTable
  320. 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
  321. def debugString(tp: Type): String

    Definition Classes
    TypeDebugging
  322. def debuglog(msg: ⇒ String): Unit

    Override with final implementation for inlining.

    Override with final implementation for inlining.

    Definition Classes
    SymbolTable
  323. def decodedSymName(tree: Tree, name: Name): String

    Definition Classes
    Printers
  324. def defineBaseClassesOfCompoundType(tpe: CompoundType): Unit

    Attributes
    protected
    Definition Classes
    SynchronizedTypes → Types
  325. def defineBaseTypeSeqOfCompoundType(tpe: CompoundType): Unit

    Attributes
    protected
    Definition Classes
    SynchronizedTypes → Types
  326. def defineBaseTypeSeqOfTypeRef(tpe: TypeRef): Unit

    Attributes
    protected
    Definition Classes
    SynchronizedTypes → Types
  327. def defineParentsOfTypeRef(tpe: TypeRef): Unit

    Attributes
    protected
    Definition Classes
    SynchronizedTypes → Types
  328. def defineUnderlyingOfSingleType(tpe: SingleType): Unit

    Attributes
    protected
    Definition Classes
    SynchronizedTypes → Types
  329. object definitions extends internal.SymbolTable.DefinitionsClass

    A value containing all standard definitions in DefinitionsApi

    A value containing all standard definitions in DefinitionsApi

    Definition Classes
    Definitions → StandardDefinitions
  330. def deriveCaseDef(cdef: Tree)(applyToBody: (Tree) ⇒ Tree): CaseDef

    Definition Classes
    Trees
  331. def deriveClassDef(cdef: Tree)(applyToImpl: (Template) ⇒ Template): ClassDef

    Definition Classes
    Trees
  332. def deriveDefDef(ddef: Tree)(applyToRhs: (Tree) ⇒ Tree): DefDef

    Definition Classes
    Trees
  333. 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.

    Definition Classes
    ExistentialsAndSkolems
  334. def deriveLabelDef(ldef: Tree)(applyToRhs: (Tree) ⇒ Tree): LabelDef

    Definition Classes
    Trees
  335. def deriveModuleDef(mdef: Tree)(applyToImpl: (Template) ⇒ Template): ModuleDef

    Definition Classes
    Trees
  336. 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
  337. def deriveTemplate(templ: Tree)(applyToBody: (List[Tree]) ⇒ List[Tree]): Template

    Definition Classes
    Trees
  338. 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-subsituted type

    Definition Classes
    Symbols
  339. 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
  340. def deriveValDef(vdef: Tree)(applyToRhs: (Tree) ⇒ Tree): ValDef

    Definition Classes
    Trees
  341. def deskolemizeTypeParams(tparams: List[Symbol])(tp: Type): Type

    Convert to corresponding type parameters all skolems of method parameters which appear in tparams.

    Convert to corresponding type parameters all skolems of method parameters which appear in tparams.

    Definition Classes
    ExistentialsAndSkolems
  342. def devWarning(msg: ⇒ String): Unit

    Definition Classes
    SymbolTable
  343. object dropIllegalStarTypes extends internal.SymbolTable.TypeMap

    Turn any T* types into Seq[T] except when in method parameter position.

    Turn any T* types into Seq[T] except when in method parameter position.

    Definition Classes
    Types
  344. object dropSingletonType extends internal.SymbolTable.TypeMap

    Remove any occurrence of type <singleton> from this type and its parents

    Remove any occurrence of type <singleton> from this type and its parents

    Definition Classes
    Types
  345. def duplicateAndKeepPositions(tree: Tree): Tree

    Definition Classes
    Trees
  346. def elimAnonymousClass(t: Type): Type

    Definition Classes
    Types
  347. object emptyValDef extends internal.SymbolTable.ValDef with internal.SymbolTable.CannotHaveAttrs

    An empty deferred value definition corresponding to: val _: _ This is used as a placeholder in the self parameter Template if there is no definition of a self value of self type.

    An empty deferred value definition corresponding to: val _: _ This is used as a placeholder in the self parameter Template if there is no definition of a self value of self type.

    Definition Classes
    Trees → Trees
  348. val enableTypeVarExperimentals: Boolean

    Attributes
    protected
    Definition Classes
    Types
  349. def encode(str: String): TermName

    Definition Classes
    StdNames
  350. def ensureNonOverlapping(tree: Tree, others: List[Tree], focus: Boolean): Unit

    Definition Classes
    Positions
  351. 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
  352. def ensuring(cond: (JavaUniverse) ⇒ Boolean, msg: ⇒ Any): JavaUniverse

    Implicit information
    This member is added by an implicit conversion from JavaUniverse to Ensuring[JavaUniverse] performed by method any2Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  353. def ensuring(cond: (JavaUniverse) ⇒ Boolean): JavaUniverse

    Implicit information
    This member is added by an implicit conversion from JavaUniverse to Ensuring[JavaUniverse] performed by method any2Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  354. def ensuring(cond: Boolean, msg: ⇒ Any): JavaUniverse

    Implicit information
    This member is added by an implicit conversion from JavaUniverse to Ensuring[JavaUniverse] performed by method any2Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  355. def ensuring(cond: Boolean): JavaUniverse

    Implicit information
    This member is added by an implicit conversion from JavaUniverse to Ensuring[JavaUniverse] performed by method any2Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  356. 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()
  357. final def enteringPhaseNotLaterThan[T](target: Phase)(op: ⇒ T): T

    Definition Classes
    SymbolTable
    Annotations
    @inline()
  358. final def enteringPrevPhase[T](op: ⇒ T): T

    Definition Classes
    SymbolTable
    Annotations
    @inline()
  359. final def eq(arg0: AnyRef): Boolean

    Tests whether the argument (arg0) is a reference to the receiver object (this).

    Tests whether the argument (arg0) is a reference to the receiver object (this).

    The eq method implements an equivalence relation on non-null instances of AnyRef, and has three additional properties:

    • It is consistent: for any non-null instances x and y of type AnyRef, multiple invocations of x.eq(y) consistently returns true or consistently returns false.
    • For any non-null instance x of type AnyRef, x.eq(null) and null.eq(x) returns false.
    • null.eq(null) returns true.

    When overriding the equals or hashCode methods, it is important to ensure that their behavior is consistent with reference equality. Therefore, if two objects are references to each other (o1 eq o2), they should be equal to each other (o1 == o2) and they should hash to the same value (o1.hashCode == o2.hashCode).

    returns

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

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

    The equality method for reference types.

    The equality method for reference types. Default implementation delegates to eq.

    See also equals in scala.Any.

    returns

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

    Definition Classes
    AnyRef → Any
  361. def erasure: Erasure { val global: JavaUniverse.this.type }

    Definition Classes
    Transforms
  362. def etaExpandKeepsStar: Boolean

    Attributes
    protected
    Definition Classes
    Types
  363. def existentialAbstraction(tparams: List[Symbol], tpe0: Type): 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 → Types
  364. def existentialsInType(tpe: Type): List[Symbol]

    Definition Classes
    Types
  365. final def exists2[A, B](xs1: List[A], xs2: List[B])(f: (A, B) ⇒ Boolean): Boolean

    Definition Classes
    Collections
  366. final def exists3[A, B, C](xs1: List[A], xs2: List[B], xs3: List[C])(f: (A, B, C) ⇒ Boolean): Boolean

    Definition Classes
    Collections
  367. final def exitingPhase[T](ph: Phase)(op: ⇒ T): T

    Definition Classes
    SymbolTable
    Annotations
    @inline()
  368. def explain[T](op: String, p: (Type, T) ⇒ Boolean, tp1: Type, arg2: T): Boolean

    Perform operation p on arguments tp1, arg2 and print trace of computation.

    Perform operation p on arguments tp1, arg2 and print trace of computation.

    Attributes
    protected
    Definition Classes
    SynchronizedTypes → Types
  369. def explainTypes(op: (Type, Type) ⇒ Any, found: Type, required: Type): Unit

    If option explaintypes is set, print a subtype trace for op(found, required).

    If option explaintypes is set, print a subtype trace for op(found, required).

    Definition Classes
    Types
  370. def explainTypes(found: Type, required: Type): Unit

    If option explaintypes is set, print a subtype trace for found <:< required.

    If option explaintypes is set, print a subtype trace for found <:< required.

    Definition Classes
    Types
  371. def finalize(): Unit

    Called by the garbage collector on the receiver object when there are no more references to the object.

    Called by the garbage collector on the receiver object when there are no more references to the object.

    The details of when and if the finalize method is invoked, as well as the interaction between finalize and non-local returns and exceptions, are all platform dependent.

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
    Note

    not specified by SLS as a member of AnyRef

  372. final def findOrElse[A](xs: TraversableOnce[A])(p: (A) ⇒ Boolean)(orElse: ⇒ A): A

    Definition Classes
    Collections
  373. def findRecursiveBounds(ts: List[Type]): List[(Symbol, Symbol)]

    From a list of types, find any which take type parameters where the type parameter bounds contain references to other any types in the list (including itself.

    From a list of types, find any which take type parameters where the type parameter bounds contain references to other any types in the list (including itself.)

    returns

    List of symbol pairs holding the recursive type parameter and the parameter which references it.

    Definition Classes
    Types
  374. final def flatCollect[A, B](elems: List[A])(pf: PartialFunction[A, Traversable[B]]): List[B]

    Definition Classes
    Collections
  375. final def flatMap2[A, B, C](xs1: List[A], xs2: List[B])(f: (A, B) ⇒ List[C]): List[C]

    Definition Classes
    Collections
  376. final def flattensToEmpty(xss: Seq[Seq[_]]): Boolean

    Definition Classes
    Collections
    Annotations
    @tailrec()
  377. def forInteractive: Boolean

    Definition Classes
    JavaUniverse → Required
  378. def forScaladoc: Boolean

    Definition Classes
    JavaUniverse → Required
  379. final def forall3[A, B, C](xs1: List[A], xs2: List[B], xs3: List[C])(f: (A, B, C) ⇒ Boolean): Boolean

    Definition Classes
    Collections
  380. final def foreach2[A, B](xs1: List[A], xs2: List[B])(f: (A, B) ⇒ Unit): Unit

    Definition Classes
    Collections
  381. final def foreach3[A, B, C](xs1: List[A], xs2: List[B], xs3: List[C])(f: (A, B, C) ⇒ Unit): Unit

    Definition Classes
    Collections
  382. final def foreachWithIndex[A, B](xs: List[A])(f: (A, Int) ⇒ Unit): Unit

    Definition Classes
    Collections
  383. def formatted(fmtstr: String): String

    Returns string formatted according to given format string.

    Returns string formatted according to given format string. Format strings are as for String.format (@see java.lang.String.format).

    Implicit information
    This member is added by an implicit conversion from JavaUniverse to StringFormat performed by method any2stringfmt in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  384. def freshExistentialName(suffix: String): TypeName

    Attributes
    protected
    Definition Classes
    SynchronizedSymbols → Symbols
  385. object fulltpnme extends internal.SymbolTable.TypeNames

    For fully qualified type names.

    For fully qualified type names.

    Definition Classes
    StdNames
  386. val gen: TreeGen { val global: JavaUniverse.this.type }

    Definition Classes
    SymbolTable
  387. def genPolyType(params: List[Symbol], tpe: Type): Type

    Definition Classes
    Types
  388. final def getClass(): Class[_]

    A representation that corresponds to the dynamic class of the receiver object.

    A representation that corresponds to the dynamic class of the receiver object.

    The nature of the representation is platform dependent.

    returns

    a representation that corresponds to the dynamic class of the receiver object.

    Definition Classes
    AnyRef → Any
    Note

    not specified by SLS as a member of AnyRef

  389. def glb(ts: List[Type]): Type

    The greatest lower bound of a list of types (as determined by <:<).

    The greatest lower bound of a list of types (as determined by <:<).

    Definition Classes
    SynchronizedTypes → Types → Types
  390. def glbNorm(ts: List[Type], depth: Int): Type

    The greatest lower bound of a list of types (as determined by <:<), which have been normalized with regard to elimSuper.

    The greatest lower bound of a list of types (as determined by <:<), which have been normalized with regard to elimSuper.

    Attributes
    protected
    Definition Classes
    Types
  391. def globalError(msg: String): Unit

    Definition Classes
    SymbolTable
  392. final def hasLength(xs: List[_], len: Int): Boolean

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

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

    Definition Classes
    Types
  393. def hashCode(): Int

    The hashCode method for reference types.

    The hashCode method for reference types. See hashCode in scala.Any.

    returns

    the hash code value for this object.

    Definition Classes
    AnyRef → Any
  394. var ids: Int

    Attributes
    protected
    Definition Classes
    Symbols
  395. def importableMembers(pre: Type): Scope

    Members which can be imported into other scopes.

    Members which can be imported into other scopes.

    Definition Classes
    Types
  396. def info(msg: ⇒ String): Unit

    Definition Classes
    SymbolTable
  397. var infoTransformers: InfoTransformer

    The set of all installed infotransformers.

    The set of all installed infotransformers.

    Definition Classes
    SymbolTable
  398. def inheritsJavaVarArgsMethod(clazz: Symbol): Boolean

    Definition Classes
    Types
  399. def init(): Unit

    Definition Classes
    JavaMirrors
  400. def initAndEnterClassAndModule(owner: Symbol, name: TypeName, completer: (Symbol, Symbol) ⇒ LazyType): (ClassSymbol, ModuleSymbol)

    Create a class and a companion object, enter in enclosing scope, and initialize with a lazy type completer.

    Create a class and a companion object, enter in enclosing scope, and initialize with a lazy type completer.

    owner

    The owner of the newly created class and object

    name

    The simple name of the newly created class

    completer

    The completer to be used to set the info of the class and the module

    Attributes
    protected
    Definition Classes
    SymbolLoaders
  401. def initClassAndModule(clazz: Symbol, module: Symbol, completer: LazyType): Unit

    Attributes
    protected
    Definition Classes
    SymbolLoaders
  402. def instantiatedBounds(pre: Type, owner: Symbol, tparams: List[Symbol], targs: List[Type]): List[TypeBounds]

    Definition Classes
    Types
  403. def intersectionType(tps: List[Type]): Type

    A creator for intersection type where intersections of a single type are replaced by the type itself.

    A creator for intersection type where intersections of a single type are replaced by the type itself.

    Definition Classes
    Types → Types
  404. def intersectionType(tps: List[Type], owner: Symbol): Type

    A creator for intersection type where intersections of a single type are replaced by the type itself, and repeated parent classes are merged.

    A creator for intersection type where intersections of a single type are replaced by the type itself, and repeated parent classes are merged.

    !!! Repeated parent classes are not merged - is this a bug in the comment or in the code?

    Definition Classes
    Types → Types
  405. val intersectionWitness: WeakHashMap[List[Type], WeakReference[Type]]

    A map from lists to compound types that have the given list as parents.

    A map from lists to compound types that have the given list as parents. This is used to avoid duplication in the computation of base type sequences and baseClasses. It makes use of the fact that these two operations depend only on the parents, not on the refinement.

    Definition Classes
    Types
  406. final def isAtPhaseAfter(p: Phase): Boolean

    Are we later than given phase in compilation?

    Are we later than given phase in compilation?

    Definition Classes
    SymbolTable
  407. def isBoundedGeneric(tp: Type): Boolean

    Definition Classes
    Types
  408. def isCompilerUniverse: Boolean

    Declares that this is a runtime reflection universe.

    Declares that this is a runtime reflection universe.

    This means that we can make certain assumptions to optimize the universe. For example, we may auto-initialize symbols on flag and annotation requests (see shouldTriggerCompleter below for more details).

    On the other hand, this also means that usage scenarios of the universe will differ from the conventional ones. For example, we have to do additional cleanup in order to prevent memory leaks: http://groups.google.com/group/scala-internals/browse_thread/thread/eabcf3d406dab8b2.

    Definition Classes
    SymbolTable → SymbolTable
  409. def isConstantType(tp: Type): Boolean

    Definition Classes
    Types
  410. def isDifferentType(tp1: Type, tp2: Type): Boolean

    Definition Classes
    SynchronizedTypes → Types
  411. def isDifferentTypeConstructor(tp1: Type, tp2: Type): Boolean

    Definition Classes
    Types
  412. def isErrorOrWildcard(tp: Type): Boolean

    Definition Classes
    Types
  413. def isHKSubType0(tp1: Type, tp2: Type, depth: Int): Boolean

    Definition Classes
    Types
  414. final def isInstanceOf[T0]: Boolean

    Test whether the dynamic type of the receiver object is T0.

    Test whether the dynamic type of the receiver object is T0.

    Note that the result of the test is modulo Scala's erasure semantics. Therefore the expression 1.isInstanceOf[String] will return false, while the expression List(1).isInstanceOf[List[String]] will return true. In the latter example, because the type argument is erased as part of compilation it is not possible to check whether the contents of the list are of the specified type.

    returns

    true if the receiver object is an instance of erasure of type T0; false otherwise.

    Definition Classes
    Any
  415. def isInvalidClassName(name: Name): Boolean

    Is the given name valid for a top-level class? We exclude names with embedded $-signs, because these are nested classes or anonymous classes,

    Is the given name valid for a top-level class? We exclude names with embedded $-signs, because these are nested classes or anonymous classes,

    Definition Classes
    SymbolLoaders
  416. def isJavaVarargsAncestor(clazz: Symbol): Boolean

    Definition Classes
    Types
  417. def isNonRefinementClassType(tpe: Type): Boolean

    def isNonValueType(tp: Type) = !isValueElseNonValue(tp)

    def isNonValueType(tp: Type) = !isValueElseNonValue(tp)

    Definition Classes
    Types
  418. def isNumericSubType(tp1: Type, tp2: Type): Boolean

    The isNumericValueType tests appear redundant, but without them test/continuations-neg/function3.

    The isNumericValueType tests appear redundant, but without them test/continuations-neg/function3.scala goes into an infinite loop. (Even if the calls are to typeSymbolDirect.)

    Definition Classes
    Types
  419. def isPastTyper: Boolean

    Definition Classes
    SymbolTable
  420. def isPopulated(tp1: Type, tp2: Type): Boolean

    Is intersection of given types populated? That is, for all types tp1, tp2 in intersection for all common base classes bc of tp1 and tp2 let bt1, bt2 be the base types of tp1, tp2 relative to class bc Then: bt1 and bt2 have the same prefix, and any corresponding non-variant type arguments of bt1 and bt2 are the same

    Is intersection of given types populated? That is, for all types tp1, tp2 in intersection for all common base classes bc of tp1 and tp2 let bt1, bt2 be the base types of tp1, tp2 relative to class bc Then: bt1 and bt2 have the same prefix, and any corresponding non-variant type arguments of bt1 and bt2 are the same

    Definition Classes
    Types
  421. def isPossiblePrefix(clazz: Symbol): Boolean

    Might the given symbol be important when calculating the prefix of a type? When tp.

    Might the given symbol be important when calculating the prefix of a type? When tp.asSeenFrom(pre, clazz) is called on tp, the result will be tp unchanged if pre is trivial and clazz is a symbol such that isPossiblePrefix(clazz) == false.

    Definition Classes
    Types
  422. def isRaw(sym: Symbol, args: List[Type]): Boolean

    Definition Classes
    Types
  423. def isRawType(tp: Type): Boolean

    Is type tp a raw type?

    Is type tp a raw type?

    Definition Classes
    Types
  424. def isReferenceToPredef(t: Tree): Boolean

    Is the tree Predef, scala.

    Is the tree Predef, scala.Predef, or _root_.scala.Predef?

    Definition Classes
    Trees
  425. def isReferenceToScalaMember(t: Tree, Id: Name): Boolean

    Definition Classes
    Trees
  426. def isSameType(tp1: Type, tp2: Type): Boolean

    Do tp1 and tp2 denote equivalent types?

    Do tp1 and tp2 denote equivalent types?

    Definition Classes
    SynchronizedTypes → Types
  427. def isSameType2(tp1: Type, tp2: Type): Boolean

    Definition Classes
    Types
  428. def isSameTypes(tps1: List[Type], tps2: List[Type]): Boolean

    Are tps1 and tps2 lists of pairwise equivalent types?

    Are tps1 and tps2 lists of pairwise equivalent types?

    Definition Classes
    Types
  429. def isSingleType(tp: Type): Boolean

    Definition Classes
    Types
  430. def isSubArgs(tps1: List[Type], tps2: List[Type], tparams: List[Symbol], depth: Int): Boolean

    Definition Classes
    Types
  431. def isSubType(tp1: Type, tp2: Type, depth: Int): Boolean

    Definition Classes
    SynchronizedTypes → Types
  432. def isSubType(tp1: Type, tp2: Type): Boolean

    Definition Classes
    Types
  433. def isUnboundedGeneric(tp: Type): Boolean

    Definition Classes
    Types
  434. def isUseableAsTypeArg(tp: Type): Boolean

    This is defined and named as it is because the goal is to exclude source level types which are not value types (e.

    This is defined and named as it is because the goal is to exclude source level types which are not value types (e.g. MethodType) without excluding necessary internal types such as WildcardType. There are also non-value types which can be used as type arguments (e.g. type constructors.)

    Definition Classes
    Types
  435. final def isUseableAsTypeArgs(tps: List[Type]): Boolean

    Definition Classes
    Types
    Annotations
    @tailrec()
  436. final def isValid(period: Period): Boolean

    Definition Classes
    SymbolTable
  437. final def isValidForBaseClasses(period: Period): Boolean

    Definition Classes
    SymbolTable
  438. def isWeakSubType(tp1: Type, tp2: Type): Boolean

    Definition Classes
    Types
  439. def isWithinBounds(pre: Type, owner: Symbol, tparams: List[Symbol], targs: List[Type]): Boolean

    Do type arguments targs conform to formal parameters tparams?

    Do type arguments targs conform to formal parameters tparams?

    Definition Classes
    Types
  440. def itransform(transformer: Transformer, tree: Tree): Tree

    Delegates the transformation strategy to scala.reflect.internal.Trees, because pattern matching on abstract types we have here degrades performance.

    Delegates the transformation strategy to scala.reflect.internal.Trees, because pattern matching on abstract types we have here degrades performance.

    Attributes
    protected
    Definition Classes
    Trees → Trees
  441. def itraverse(traverser: Traverser, tree: Tree): Unit

    Delegates the traversal strategy to scala.reflect.internal.Trees, because pattern matching on abstract types we have here degrades performance.

    Delegates the traversal strategy to scala.reflect.internal.Trees, because pattern matching on abstract types we have here degrades performance.

    Attributes
    protected
    Definition Classes
    Trees → Trees
  442. val javanme: JavaKeywords

    Definition Classes
    StdNames
  443. def kindsConform(tparams: List[Symbol], targs: List[Type], pre: Type, owner: Symbol): Boolean

    Definition Classes
    Kinds
  444. def log(msg: ⇒ AnyRef): Unit

    Definition Classes
    JavaUniverse → SymbolTable
  445. implicit def lowPriorityNameOrdering[T <: Name]: Ordering[T]

    Definition Classes
    SymbolTable
  446. def lub(ts: List[Type]): Type

    The least upper bound of a list of types, as determined by <:<.

    The least upper bound of a list of types, as determined by <:<.

    Definition Classes
    SynchronizedTypes → Types → Types
  447. def lubDepth(ts: List[Type]): Int

    The maximum allowable depth of lubs or glbs over types ts.

    The maximum allowable depth of lubs or glbs over types ts.

    Definition Classes
    Types
  448. def makeNoSymbol: NoSymbol

    Attributes
    protected
    Definition Classes
    SynchronizedSymbols → Symbols
  449. def manifestToTypeTag[T](mirror0: Any, manifest: Manifest[T]): api.Universe.TypeTag[T]

    Convert a scala.reflect.Manifest to a scala.reflect.api.TypeTags#TypeTag.

    Convert a scala.reflect.Manifest to a scala.reflect.api.TypeTags#TypeTag.

    Compiler usually generates these conversions automatically, when a manifest for a type T is in scope, and an implicit of type TypeTag[T] is requested, but this method can also be called manually. For example:

    manifestToTypeTag(scala.reflect.runtime.currentMirror, implicitly[Manifest[String]])
    Definition Classes
    JavaUniverseTagInterop
  450. final def map2[A, B, C](xs1: List[A], xs2: List[B])(f: (A, B) ⇒ C): List[C]

    Definition Classes
    Collections
  451. def map2Conserve[A <: AnyRef, B](xs: List[A], ys: List[B])(f: (A, B) ⇒ A): List[A]

    like map2, but returns list xs itself - instead of a copy - if function f maps all elements to themselves.

    like map2, but returns list xs itself - instead of a copy - if function f maps all elements to themselves.

    Definition Classes
    Types
  452. final def map3[A, B, C, D](xs1: List[A], xs2: List[B], xs3: List[C])(f: (A, B, C) ⇒ D): List[D]

    Definition Classes
    Collections
  453. final def mapFrom[A, A1 >: A, B](xs: List[A])(f: (A) ⇒ B): Map[A1, B]

    Definition Classes
    Collections
  454. def mapParamss[T](sym: Symbol)(f: (Symbol) ⇒ T): List[List[T]]

    A deep map on a symbol's paramss.

    A deep map on a symbol's paramss.

    Definition Classes
    Symbols
  455. final def mapWithIndex[A, B](xs: List[A])(f: (A, Int) ⇒ B): List[B]

    Definition Classes
    Collections
  456. final def matchesType(tp1: Type, tp2: Type, alwaysMatchSimple: Boolean): Boolean

    A function implementing tp1 matches tp2.

    A function implementing tp1 matches tp2.

    Definition Classes
    Types
  457. final val maxTostringRecursions: Int(50)

    The maximum number of recursions allowed in toString

    The maximum number of recursions allowed in toString

    Definition Classes
    Types
  458. def mergePrefixAndArgs(tps: List[Type], variance: Int, depth: Int): Option[Type]

    Compute lub (if variance == 1) or glb (if variance == -1) of given list of types tps.

    Compute lub (if variance == 1) or glb (if variance == -1) of given list of types tps. All types in tps are typerefs or singletypes with the same symbol. Return Some(x) if the computation succeeds with result x. Return None if the computation fails.

    Definition Classes
    Types
  459. final def mexists[A](xss: List[List[A]])(p: (A) ⇒ Boolean): Boolean

    All these mm methods are "deep map" style methods for mapping etc.

    All these mm methods are "deep map" style methods for mapping etc. on a list of lists while avoiding unnecessary intermediate structures like those created via flatten.

    Definition Classes
    Collections
  460. final def mfind[A](xss: List[List[A]])(p: (A) ⇒ Boolean): Option[A]

    Definition Classes
    Collections
  461. final def mforall[A](xss: List[List[A]])(p: (A) ⇒ Boolean): Boolean

    Definition Classes
    Collections
  462. final def mforeach[A](xss: List[List[A]])(f: (A) ⇒ Unit): Unit

    Definition Classes
    Collections
  463. def mirrorThatLoaded(sym: Symbol): Mirror

    Returns the mirror that loaded given symbol

    Returns the mirror that loaded given symbol

    Definition Classes
    JavaMirrors → SymbolTable
  464. val missingAliasException: MissingAliasControl

    Definition Classes
    Types
  465. def missingHook(owner: Symbol, name: Name): Symbol

    1.

    1. If owner is a package class (but not the empty package) and name is a term name, make a new package <owner>.<name>, otherwise return NoSymbol. Exception: If owner is root and a java class with given name exists, create symbol in empty package instead 2. If owner is the scala package and name designates a phantom class, return the corresponding class symbol and enter it into this mirror's ScalaPackage.

    Definition Classes
    JavaMirrors → SymbolTable
  466. def mkImporter(from0: Universe): Importer { val from: from0.type }

    Creates an importer that moves reflection artifacts between universes.

    Creates an importer that moves reflection artifacts between universes.

    Definition Classes
    Importers → Importers
  467. final def mmap[A, B](xss: List[List[A]])(f: (A) ⇒ B): collection.immutable.List[collection.immutable.List[B]]

    Definition Classes
    Collections
  468. final val nameDebug: Boolean(false)

    Definition Classes
    Names
  469. final def ne(arg0: AnyRef): Boolean

    Equivalent to !(this eq that).

    Equivalent to !(this eq that).

    returns

    true if the argument is not a reference to the receiver object; false otherwise.

    Definition Classes
    AnyRef
  470. def needsOuterTest(patType: Type, selType: Type, currentOwner: Symbol): Boolean

    Does a pattern of type patType need an outer test when executed against selector type selType in context defined by currentOwner?

    Does a pattern of type patType need an outer test when executed against selector type selType in context defined by currentOwner?

    Definition Classes
    Types
  471. def newBaseTypeSeq(parents: List[Type], elems: Array[Type]): BaseTypeSeq with SynchronizedBaseTypeSeq

    Attributes
    protected
    Definition Classes
    SynchronizedOps → BaseTypeSeqs
  472. def newExistentialType(quantified: List[Symbol], underlying: Type): Type

    A creator for existential types which flattens nested existentials.

    A creator for existential types which flattens nested existentials.

    Definition Classes
    Types
  473. def newFreeTermSymbol(name: TermName, value: ⇒ Any, flags: Long = 0L, origin: String = null): FreeTermSymbol

    Create a new free term.

    Create a new free term. Its owner is NoSymbol.

    Definition Classes
    SynchronizedSymbols → Symbols
  474. def newFreeTypeSymbol(name: TypeName, flags: Long = 0L, origin: String = null): FreeTypeSymbol

    Create a new free type.

    Create a new free type. Its owner is NoSymbol.

    Definition Classes
    SynchronizedSymbols → Symbols
  475. def newLazyTreeCopier: TreeCopier

    Creates a lazy tree copier.

    Creates a lazy tree copier.

    Definition Classes
    JavaUniverseTrees
  476. def newNestedScope(outer: Scope): Scope

    Create a new scope nested in another one with which it shares its elements

    Create a new scope nested in another one with which it shares its elements

    Definition Classes
    SynchronizedOps → Scopes
  477. def newPackageScope(pkgClass: Symbol): PackageScope

    Definition Classes
    SymbolLoaders
  478. def newRawTreePrinter(writer: PrintWriter): RawTreePrinter

    Hook to define what showRaw(...) means.

    Hook to define what showRaw(...) means.

    Definition Classes
    Printers → Printers
  479. def newScope: Scope with SynchronizedScope

    Create a new scope

    Create a new scope

    Definition Classes
    SynchronizedOps → Scopes
  480. def newScopeWith(elems: Symbol*): Scope

    Create a new scope with given initial elements

    Create a new scope with given initial elements

    Definition Classes
    Scopes → Scopes
  481. def newStrictTreeCopier: TreeCopier

    Creates a strict tree copier.

    Creates a strict tree copier.

    Definition Classes
    JavaUniverseTrees
  482. def newTermName(s: String): TermName

    Create a term name from string.

    Create a term name from string.

    Definition Classes
    SynchronizedOps → Names → Names
  483. def newTermName(bs: Array[Byte], offset: Int, len: Int): TermName

    Create a term name from the UTF8 encoded bytes in bs[offset.

    Create a term name from the UTF8 encoded bytes in bs[offset..offset+len-1].

    Definition Classes
    Names
  484. def newTermName(cs: Array[Char], offset: Int, len: Int, cachedString: String): TermName

    Create a term name from the characters in cs[offset.

    Create a term name from the characters in cs[offset..offset+len-1]. TODO - have a mode where name validation is performed at creation time (e.g. if a name has the string "$class" in it, then fail if that string is not at the very end.)

    Attributes
    protected
    Definition Classes
    Names
  485. def newTermName(cs: Array[Char]): TermName

    Definition Classes
    Names
  486. def newTermName(cs: Array[Char], offset: Int, len: Int): TermName

    Create a term name from the characters in cs[offset.

    Create a term name from the characters in cs[offset..offset+len-1].

    Definition Classes
    Names
  487. def newTermNameCached(s: String): TermName

    Definition Classes
    Names
  488. def newTreePrinter(): TreePrinter

    Definition Classes
    Printers
  489. def newTreePrinter(stream: OutputStream): TreePrinter

    Definition Classes
    Printers
  490. def newTreePrinter(writer: PrintWriter): TreePrinter

    Hook to define what show(...) means.

    Hook to define what show(...) means.

    Definition Classes
    Printers → Printers
  491. def newTypeName(s: String): TypeName

    Create a type name from string.

    Create a type name from string.

    Definition Classes
    SynchronizedOps → Names → Names
  492. def newTypeName(bs: Array[Byte], offset: Int, len: Int): TypeName

    Create a type name from the UTF8 encoded bytes in bs[offset.

    Create a type name from the UTF8 encoded bytes in bs[offset..offset+len-1].

    Definition Classes
    Names
  493. def newTypeName(cs: Array[Char], offset: Int, len: Int): TypeName

    Create a type name from the characters in cs[offset.

    Create a type name from the characters in cs[offset..offset+len-1].

    Definition Classes
    Names
  494. def newTypeName(cs: Array[Char], offset: Int, len: Int, cachedString: String): TypeName

    Attributes
    protected
    Definition Classes
    Names
  495. def newTypeName(cs: Array[Char]): TypeName

    Definition Classes
    Names
  496. def newTypeNameCached(s: String): TypeName

    Definition Classes
    Names
  497. def newUndoLog: SynchronizedUndoLog

    Attributes
    protected
    Definition Classes
    SynchronizedTypes → Types
  498. def nextId(): Int

    Attributes
    protected
    Definition Classes
    SynchronizedSymbols → Symbols
  499. object nme extends internal.SymbolTable.TermNames

    Definition Classes
    StdNames
  500. def nonTrivialMembers(clazz: Symbol): Scope

    Members of the given class, other than those inherited from Any or AnyRef.

    Members of the given class, other than those inherited from Any or AnyRef.

    Definition Classes
    Types
  501. object normalizeAliases extends internal.SymbolTable.TypeMap

    Normalize any type aliases within this type (@see Type#normalize).

    Normalize any type aliases within this type (@see Type#normalize). Note that this depends very much on the call to "normalize", not "dealias", so it is no longer carries the too-stealthy name "deAlias".

    Definition Classes
    Types
  502. def normalizePlus(tp: Type): Type

    Definition Classes
    Types
  503. final def notify(): Unit

    Wakes up a single thread that is waiting on the receiver object's monitor.

    Wakes up a single thread that is waiting on the receiver object's monitor.

    Definition Classes
    AnyRef
    Note

    not specified by SLS as a member of AnyRef

  504. final def notifyAll(): Unit

    Wakes up all threads that are waiting on the receiver object's monitor.

    Wakes up all threads that are waiting on the receiver object's monitor.

    Definition Classes
    AnyRef
    Note

    not specified by SLS as a member of AnyRef

  505. def numericLub(ts: List[Type]): Type

    Definition Classes
    Types
  506. def objToAny(tp: Type): Type

    Definition Classes
    Types
  507. def openPackageModule(pkgClass: Symbol): Unit

    if there's a package member object in pkgClass, enter its members into it.

    if there's a package member object in pkgClass, enter its members into it.

    Definition Classes
    SymbolTable
  508. def openPackageModule(container: Symbol, dest: Symbol): Unit

    Definition Classes
    SymbolTable
  509. val originalOwner: HashMap[Symbol, Symbol]

    The original owner of a class.

    The original owner of a class. Used by the backend to generate EnclosingMethod attributes.

    Definition Classes
    Symbols
  510. def overloadedType(pre: Type, alternatives: List[Symbol]): Type

    The canonical creator for OverloadedTypes.

    The canonical creator for OverloadedTypes.

    Definition Classes
    Types
  511. def paramString(tp: Type): String

    Definition Classes
    TypeDebugging
  512. object pendingSuperCall extends internal.SymbolTable.Apply with internal.SymbolTable.CannotHaveAttrs

    An empty superclass constructor call corresponding to: super.

    An empty superclass constructor call corresponding to: super.<init>() This is used as a placeholder in the primary constructor body in class templates to denote the insertion point of a call to superclass constructor after the typechecker figures out the superclass of a given template.

    Definition Classes
    Trees → Trees
  513. object perRunCaches

    Definition Classes
    SymbolTable
  514. final def period(rid: RunId, pid: Int): Period

    Definition Classes
    SymbolTable
  515. var phStack: List[Phase]

    Definition Classes
    SymbolTable
  516. final def phase: Phase

    Definition Classes
    SymbolTable
  517. final def phaseId(period: Period): Int

    The phase identifier of the given period.

    The phase identifier of the given period.

    Definition Classes
    SymbolTable
  518. final def phaseOf(period: Period): Phase

    The phase associated with given period.

    The phase associated with given period.

    Definition Classes
    SymbolTable
  519. val phaseWithId: Array[Phase]

    The phase which has given index as identifier.

    The phase which has given index as identifier.

    Definition Classes
    ReflectSetup → SymbolTable
  520. final def phase_=(p: Phase): Unit

    Definition Classes
    SymbolTable
  521. def picklerPhase: SomePhase.type

    Definition Classes
    JavaUniverse → Required
  522. final def popPhase(ph: Phase): Unit

    Definition Classes
    SymbolTable
  523. lazy val posAssigner: PosAssigner

    Attributes
    protected[this]
    Definition Classes
    Positions
  524. final def pushPhase(ph: Phase): Phase

    Definition Classes
    SymbolTable
  525. def quotedName(name: String): String

    Definition Classes
    Printers
  526. def quotedName(name: Name): String

    Definition Classes
    Printers
  527. def quotedName(name: Name, decode: Boolean): String

    Adds backticks if the name is a scala keyword.

    Adds backticks if the name is a scala keyword.

    Definition Classes
    Printers
  528. def rawToExistential: TypeMap

    The raw to existential map converts a raw type to an existential type.

    The raw to existential map converts a raw type to an existential type. It is necessary because we might have read a raw type of a parameterized Java class from a class file. At the time we read the type the corresponding class file might still not be read, so we do not know what the type parameters of the type are. Therefore the conversion of raw types to existential types might not have taken place in ClassFileparser.sigToType (where it is usually done).

    Definition Classes
    Types
  529. def refChecks: RefChecks { val global: JavaUniverse.this.type }

    Definition Classes
    Transforms
  530. def referenceCapturedVariable(vble: Symbol): Tree

    Mark given identifier as a reference to a captured variable itself suppressing dereferencing with the elem field.

    Mark given identifier as a reference to a captured variable itself suppressing dereferencing with the elem field.

    Definition Classes
    CapturedVariables
  531. def refinedType(parents: List[Type], owner: Symbol): Type

    The canonical creator for a refined type with an initially empty scope.

    The canonical creator for a refined type with an initially empty scope.

    Definition Classes
    Types → Types
  532. def refinedType(parents: List[Type], owner: Symbol, decls: Scope, pos: Position): Type

    the canonical creator for a refined type with a given scope

    the canonical creator for a refined type with a given scope

    Definition Classes
    Types → Types
  533. def reify[T](expr: T): Expr[T]

    Use refiy to produce the abstract syntax tree representing a given Scala expression.

    Use refiy to produce the abstract syntax tree representing a given Scala expression.

    For example:

    val five = reify{ 5 }    // Literal(Constant(5))
    reify{ 2 + 4 }           // Apply( Select( Literal(Constant(2)), newTermName("$plus")), List( Literal(Constant(4)) ) )
    reify{ five.splice + 4 } // Apply( Select( Literal(Constant(5)), newTermName("$plus")), List( Literal(Constant(4)) ) )

    The produced tree is path dependent on the Universe reify was called from.

    Use scala.reflect.api.Exprs#Expr.splice to embed an existing expression into a reify call. Use Expr to turn a Tree into an expression that can be spliced.

    Definition Classes
    Universe
  534. def removeAllAnnotationCheckers(): Unit

    Remove all annotation checkers

    Remove all annotation checkers

    Definition Classes
    AnnotationCheckers
  535. def render(what: Any, mkPrinter: (PrintWriter) ⇒ JavaUniverse.TreePrinter, printTypes: BooleanFlag = None, printIds: BooleanFlag = None, printKinds: BooleanFlag = None, printMirrors: BooleanFlag = None, printPositions: BooleanFlag = None): String

    Attributes
    protected
    Definition Classes
    Printers
  536. def repackExistential(tp: Type): Type

    Repack existential types, otherwise they sometimes get unpacked in the wrong location (type inference comes up with an unexpected skolem)

    Repack existential types, otherwise they sometimes get unpacked in the wrong location (type inference comes up with an unexpected skolem)

    Definition Classes
    Types
  537. def rootClassLoader: ClassLoader

    Definition Classes
    JavaMirrors
  538. lazy val rootMirror: Mirror

    Definition Classes
    JavaMirrors → Mirrors
  539. final def runId(period: Period): RunId

    The run identifier of the given period.

    The run identifier of the given period.

    Definition Classes
    SymbolTable
  540. def runtimeMirror(cl: ClassLoader): Mirror

    Creates a runtime reflection mirror from a JVM classloader.

    Creates a runtime reflection mirror from a JVM classloader.

    For more information about Mirrorss, see scala.reflect.api.Mirrors or the Reflection Guide: Mirrors

    Definition Classes
    JavaMirrors → JavaMirrors
  541. final def sameLength(xs1: List[_], xs2: List[_]): Boolean

    True if two lists have the same length.

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

    Definition Classes
    Types
  542. def scopeTransform(owner: Symbol)(op: ⇒ Scope): Scope

    Definition Classes
    SymbolLoaders
  543. def setAllInfos(clazz: Symbol, module: Symbol, info: Type): Unit

    Attributes
    protected
    Definition Classes
    SymbolLoaders
  544. lazy val settings: Settings

    Definition Classes
    JavaUniverse → Required
  545. val shorthands: Set[String]

    Definition Classes
    Types
  546. def shouldLogAtThisPhase: Boolean

    Definition Classes
    SymbolTable
  547. def shouldTriggerCompleter(symbol: Symbol, completer: Type, isFlagRelated: Boolean, mask: Long): Boolean

    Unlike compiler universes, reflective universes can auto-initialize symbols on flag requests.

    Unlike compiler universes, reflective universes can auto-initialize symbols on flag requests.

    scalac wasn't designed with such auto-initialization in mind, and quite often it makes assumptions that flag requests won't cause initialization. Therefore enabling auto-init leads to cyclic errors. We could probably fix those, but at the moment it's too risky.

    Reflective universes share codebase with scalac, but their surface is much smaller, which means less assumptions. These assumptions are taken care of in this overriden shouldTriggerCompleter method.

    Attributes
    protected
    Definition Classes
    SymbolTable → Symbols
  548. def show(flags: FlagSet): String

    Renders a prettified representation of a flag set.

    Renders a prettified representation of a flag set.

    Definition Classes
    Printers → Printers
  549. def show(name: Name): String

    Renders a prettified representation of a name.

    Renders a prettified representation of a name.

    Definition Classes
    Printers → Printers
  550. def show(any: Any, printTypes: BooleanFlag = None, printIds: BooleanFlag = None, printKinds: BooleanFlag = None, printMirrors: BooleanFlag = None, printPositions: BooleanFlag = None): String

    Renders a representation of a reflection artifact as desugared Scala code.

    Renders a representation of a reflection artifact as desugared Scala code.

    Definition Classes
    Printers
  551. final val showOuterTests: Boolean(false)

    Definition Classes
    Printers
  552. def showRaw(flags: FlagSet): String

    Renders internal structure of a flag set.

    Renders internal structure of a flag set.

    Definition Classes
    Printers
  553. def showRaw(name: Name): String

    Renders internal structure of a name.

    Renders internal structure of a name.

    Definition Classes
    Printers
  554. def showRaw(any: Any, printTypes: BooleanFlag = None, printIds: BooleanFlag = None, printKinds: BooleanFlag = None, printMirrors: BooleanFlag = None, printPositions: BooleanFlag = None): String

    Renders internal structure of a reflection artifact as the visualization of a Scala syntax tree.

    Renders internal structure of a reflection artifact as the visualization of a Scala syntax tree.

    Definition Classes
    Printers
  555. def singleType(pre: Type, sym: Symbol): Type

    The canonical creator for single-types

    The canonical creator for single-types

    Definition Classes
    Types → Types
  556. def singletonBounds(hi: Type): TypeBounds

    Definition Classes
    Types
  557. var skolemizationLevel: Int

    The current skolemization level, needed for the algorithms in isSameType, isSubType that do constraint solving under a prefix.

    The current skolemization level, needed for the algorithms in isSameType, isSubType that do constraint solving under a prefix.

    Definition Classes
    Types
  558. lazy val sn: SymbolNames

    Definition Classes
    StdNames
  559. def solve(tvars: List[TypeVar], tparams: List[Symbol], variances: List[Int], upper: Boolean, depth: Int): Boolean

    Definition Classes
    Types
  560. def solve(tvars: List[TypeVar], tparams: List[Symbol], variances: List[Int], upper: Boolean): Boolean

    Solve constraint collected in types tvars.

    Solve constraint collected in types tvars.

    tvars

    All type variables to be instantiated.

    tparams

    The type parameters corresponding to tvars

    variances

    The variances of type parameters; need to reverse solution direction for all contravariant variables.

    upper

    When true search for max solution else min.

    Definition Classes
    Types
  561. def spanningTypes(ts: List[Type]): List[Type]

    A minimal type list which has a given list of types as its base type sequence

    A minimal type list which has a given list of types as its base type sequence

    Definition Classes
    Types
  562. def specializesSym(tp: Type, sym: Symbol, depth: Int): Boolean

    Definition Classes
    Types
  563. implicit def stringToTermName(s: String): TermName

    An implicit conversion from String to TermName.

    An implicit conversion from String to TermName. Enables an alternative notation "map": TermName as opposed to newTermName("map").

    Definition Classes
    Names
  564. implicit def stringToTypeName(s: String): TypeName

    An implicit conversion from String to TypeName.

    An implicit conversion from String to TypeName. Enables an alternative notation "List": TypeName as opposed to newTypeName("List").

    Definition Classes
    Names
  565. def supplementErrorMessage(msg: String): String

    Overridden when we know more about what was happening during a failure.

    Overridden when we know more about what was happening during a failure.

    Definition Classes
    SymbolTable
  566. final def suspendingTypeVars[T](tvs: List[TypeVar])(op: ⇒ T): T

    Definition Classes
    Types
    Annotations
    @inline()
  567. def symName(tree: Tree, name: Name): String

    Definition Classes
    Printers
  568. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  569. def throwableAsString(t: Throwable): String

    Definition Classes
    SymbolTable
  570. def toString(): String

    Creates a String representation of this object.

    Creates a String representation of this object. The default representation is platform dependent. On the java platform it is the concatenation of the class name, "@", and the object's hashcode in hexadecimal.

    returns

    a String representation of the object.

    Definition Classes
    AnyRef → Any
  571. object tpnme extends internal.SymbolTable.TypeNames

    Definition Classes
    StdNames
  572. final val traceSymbolActivity: Boolean

    Dump each symbol to stdout after shutdown.

    Dump each symbol to stdout after shutdown.

    Definition Classes
    SymbolTable
  573. object traceSymbols extends TraceSymbolActivity

    Definition Classes
    SymbolTable
  574. def transformedType(tpe: Type): Type forSome {val _366: Erasure { val global: JavaUniverse.this.type }}

    Definition Classes
    Transforms
  575. def transformedType(sym: Symbol): Type forSome {val _378: Erasure { val global: JavaUniverse.this.type }}

    Definition Classes
    Transforms
  576. final def transposeSafe[A](ass: List[List[A]]): Option[List[List[A]]]

    Definition Classes
    Collections
  577. lazy val treeBuild: TreeGen { val global: JavaUniverse.this.type }

    Definition Classes
    SymbolTable → Universe
  578. val treeCopy: TreeCopier

    The standard (lazy) tree copier.

    The standard (lazy) tree copier.

    Definition Classes
    Trees
  579. val treeNodeCount: View

    Definition Classes
    Trees
  580. def treeToString(tree: Tree): String

    By default trees are printed with show

    By default trees are printed with show

    Attributes
    protected
    Definition Classes
    Printers
  581. def typeArgsString(tp: Type): String

    Definition Classes
    TypeDebugging
  582. def typeConstructorLubList(ts: List[Type]): List[Type]

    Given a list of types, finds all the base classes they have in common, then returns a list of type constructors derived directly from the symbols (so any more specific type information is ignored.

    Given a list of types, finds all the base classes they have in common, then returns a list of type constructors derived directly from the symbols (so any more specific type information is ignored.) The list is filtered such that every type constructor in the list expects the same number of type arguments, which is chosen based on the deepest class among the common baseclasses.

    Definition Classes
    Types
  583. object typeDebug

    Definition Classes
    TypeDebugging
  584. def typeDepth(tp: Type): Int

    The maximum depth of type tp

    The maximum depth of type tp

    Definition Classes
    Types
  585. def typeFun(tps: List[Symbol], body: Type): Type

    A creator for a type functions, assuming the type parameters tps already have the right owner.

    A creator for a type functions, assuming the type parameters tps already have the right owner.

    Definition Classes
    Types
  586. def typeFunAnon(tps: List[Symbol], body: Type): Type

    A creator for anonymous type functions, where the symbol for the type function still needs to be created.

    A creator for anonymous type functions, where the symbol for the type function still needs to be created.

    TODO: type params of anonymous type functions, which currently can only arise from normalising type aliases, are owned by the type alias of which they are the eta-expansion higher-order subtyping expects eta-expansion of type constructors that arise from a class; here, the type params are owned by that class, but is that the right thing to do?

    Definition Classes
    Types
  587. def typeOf[T](implicit ttag: TypeTag[T]): Type

    Shortcut for implicitly[TypeTag[T]].tpe

    Shortcut for implicitly[TypeTag[T]].tpe

    Definition Classes
    TypeTags
  588. def typeParamsString(tp: Type): String

    Definition Classes
    TypeDebugging
  589. def typeParamsToExistentials(clazz: Symbol): List[Symbol]

    Definition Classes
    Types
  590. def typeParamsToExistentials(clazz: Symbol, tparams: List[Symbol]): List[Symbol]

    Definition Classes
    Types
  591. def typeRef(pre: Type, sym: Symbol, args: List[Type]): Type

    The canonical creator for typerefs todo: see how we can clean this up a bit

    The canonical creator for typerefs todo: see how we can clean this up a bit

    Definition Classes
    Types → Types
  592. def typeTag[T](implicit ttag: TypeTag[T]): TypeTag[T]

    Shortcut for implicitly[TypeTag[T]]

    Shortcut for implicitly[TypeTag[T]]

    Definition Classes
    TypeTags
  593. def typeTagToManifest[T](mirror0: Any, tag: api.Universe.TypeTag[T])(implicit arg0: ClassTag[T]): Manifest[T]

    Convert a scala.reflect.api.TypeTags#TypeTag to a scala.reflect.Manifest.

    Convert a scala.reflect.api.TypeTags#TypeTag to a scala.reflect.Manifest.

    Compiler usually generates these conversions automatically, when a type tag for a type T is in scope, and an implicit of type Manifest[T] is requested, but this method can also be called manually. For example:

    typeTagToManifest(scala.reflect.runtime.currentMirror, implicitly[TypeTag[String]])
    Definition Classes
    JavaUniverseTagInterop
  594. def typeToString(tpe: Type): String

    Attributes
    protected
    Definition Classes
    SynchronizedTypes → Types
  595. def typeTreeSymbol(tree: TypeTree): Symbol

    Delegate for a TypeTree symbol.

    Delegate for a TypeTree symbol. This operation is unsafe because it may trigger type checking when forcing the type symbol of the underlying type.

    Attributes
    protected
    Definition Classes
    Trees
  596. object typeVarToOriginMap extends internal.SymbolTable.TypeMap

    A map to convert every occurrence of a type variable to a wildcard type.

    A map to convert every occurrence of a type variable to a wildcard type.

    Definition Classes
    Types
  597. def typeVarsInType(tp: Type): List[TypeVar]

    A list of the typevars in a type.

    A list of the typevars in a type.

    Definition Classes
    Types
  598. def uncurry: UnCurry { val global: JavaUniverse.this.type }

    Definition Classes
    Transforms
  599. val undetBaseTypeSeq: BaseTypeSeq

    A merker object for a base type sequence that's no yet computed.

    A merker object for a base type sequence that's no yet computed. used to catch inheritance cycles

    Definition Classes
    BaseTypeSeqs
  600. lazy val undoLog: UndoLog

    A log of type variable with their original constraints.

    A log of type variable with their original constraints. Used in order to undo constraints in the case of isSubType/isSameType failure.

    Definition Classes
    Types
  601. def unique[T <: Type](tp: T): T

    Definition Classes
    SynchronizedTypes → Types
  602. object unwrapToClass extends internal.SymbolTable.ClassUnwrapper

    Definition Classes
    Types
  603. object unwrapToStableClass extends internal.SymbolTable.ClassUnwrapper

    Definition Classes
    Types
  604. object unwrapWrapperTypes extends internal.SymbolTable.TypeUnwrapper

    Definition Classes
    Types
  605. def validateClassInfo(tp: ClassInfoType): Unit

    Assert that packages have package scopes

    Assert that packages have package scopes

    Definition Classes
    SymbolLoaders
  606. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws()
  609. def warning(msg: String): Unit

    Definition Classes
    SymbolTable
  610. def weakLub(ts: List[Type]): (Type, Boolean)

    Definition Classes
    Types
  611. def weakTypeOf[T](implicit attag: WeakTypeTag[T]): Type

    Shortcut for implicitly[WeakTypeTag[T]].tpe

    Shortcut for implicitly[WeakTypeTag[T]].tpe

    Definition Classes
    TypeTags
  612. def weakTypeTag[T](implicit attag: WeakTypeTag[T]): WeakTypeTag[T]

    Shortcut for implicitly[WeakTypeTag[T]]

    Shortcut for implicitly[WeakTypeTag[T]]

    Definition Classes
    TypeTags
  613. object wildcardToTypeVarMap extends internal.SymbolTable.TypeMap

    A map to convert every occurrence of a wildcard type to a fresh type variable

    A map to convert every occurrence of a wildcard type to a fresh type variable

    Definition Classes
    Types
  614. def withTypesExplained[A](op: ⇒ A): A

    Execute op while printing a trace of the operations on types executed.

    Execute op while printing a trace of the operations on types executed.

    Definition Classes
    Types
  615. def wrappingPos(trees: List[Tree]): Position

    A position that wraps the non-empty set of trees.

    A position that wraps the non-empty set of trees. The point of the wrapping position is the point of the first trees' position. If some of the trees are non-synthetic, returns a range position enclosing the non-synthetic trees Otherwise returns a synthetic offset position to point.

    Definition Classes
    Positions → Positions
  616. def wrappingPos(default: Position, trees: List[Tree], focus: Boolean): Position

    Definition Classes
    Positions
  617. def wrappingPos(default: Position, trees: List[Tree]): Position

    A position that wraps a set of trees.

    A position that wraps a set of trees. The point of the wrapping position is the point of the default position. If some of the trees are ranges, returns a range position enclosing all ranges Otherwise returns default position that is either focused or not.

    Definition Classes
    Positions → Positions
  618. def xprintTree(treePrinter: TreePrinter, tree: Tree): Unit

    Hook for extensions

    Hook for extensions

    Definition Classes
    Printers
  619. def xtransform(transformer: Transformer, tree: Tree): Tree

    Provides an extension hook for the transformation strategy.

    Provides an extension hook for the transformation strategy. Future-proofs against new node types.

    Attributes
    protected
    Definition Classes
    Trees
  620. def xtraverse(traverser: Traverser, tree: Tree): Unit

    Provides an extension hook for the traversal strategy.

    Provides an extension hook for the traversal strategy. Future-proofs against new node types.

    Attributes
    protected
    Definition Classes
    Trees
  621. def [B](y: B): (JavaUniverse, B)

    Implicit information
    This member is added by an implicit conversion from JavaUniverse to ArrowAssoc[JavaUniverse] performed by method any2ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc

Shadowed Implict Value Members

  1. val self: Any

    Implicit information
    This member is added by an implicit conversion from JavaUniverse to StringAdd performed by method any2stringadd in scala.Predef.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (javaUniverse: StringAdd).self
    Definition Classes
    StringAdd
  2. val self: Any

    Implicit information
    This member is added by an implicit conversion from JavaUniverse to StringFormat performed by method any2stringfmt in scala.Predef.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (javaUniverse: StringFormat).self
    Definition Classes
    StringFormat

Deprecated Value Members

  1. def abort(): Nothing

    Definition Classes
    SymbolTable
    Annotations
    @deprecated
    Deprecated

    (Since version 2.10.0) Give us a reason

  2. final def atPhase[T](ph: Phase)(op: ⇒ T): T

    Definition Classes
    SymbolTable
    Annotations
    @deprecated @inline()
    Deprecated

    (Since version 2.10.0) Use enteringPhase

  3. final def atPhaseNotLaterThan[T](target: Phase)(op: ⇒ T): T

    Definition Classes
    SymbolTable
    Annotations
    @deprecated @inline()
    Deprecated

    (Since version 2.10.0) Use enteringPhaseNotLaterThan

  4. def debugwarn(msg: ⇒ String): Unit

    Definition Classes
    SymbolTable
    Annotations
    @deprecated
    Deprecated

    (Since version 2.11.0) Use devWarning if this is really a warning; otherwise use log

  5. def duplicateTree(tree: Tree): Tree

    Attributes
    protected[scala]
    Definition Classes
    Trees
    Annotations
    @deprecated
    Deprecated

    (Since version 2.10.0) Moved to tree.duplicate

  6. def polyType(params: List[Symbol], tpe: Type): Type

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

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

    Definition Classes
    Types → Types
    Annotations
    @deprecated
    Deprecated

    (Since version 2.10.0) use genPolyType(...) instead

  7. def x: JavaUniverse

    Implicit information
    This member is added by an implicit conversion from JavaUniverse to ArrowAssoc[JavaUniverse] performed by method any2ArrowAssoc in scala.Predef.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (javaUniverse: ArrowAssoc[JavaUniverse]).x
    Definition Classes
    ArrowAssoc
    Annotations
    @deprecated
    Deprecated

    (Since version 2.10.0) Use leftOfArrow instead

  8. def x: JavaUniverse

    Implicit information
    This member is added by an implicit conversion from JavaUniverse to Ensuring[JavaUniverse] performed by method any2Ensuring in scala.Predef.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (javaUniverse: Ensuring[JavaUniverse]).x
    Definition Classes
    Ensuring
    Annotations
    @deprecated
    Deprecated

    (Since version 2.10.0) Use resultOfEnsuring instead

Inherited from SymbolTable

Inherited from SynchronizedOps

Inherited from SynchronizedTypes

Inherited from SynchronizedSymbols

Inherited from SymbolLoaders

Inherited from JavaMirrors

Inherited from api.JavaUniverse

Inherited from api.JavaMirrors

Inherited from ReflectSetup

Inherited from internal.SymbolTable

Inherited from BuildUtils

Inherited from StdCreators

Inherited from StdAttachments

Inherited from CapturedVariables

Inherited from Required

Inherited from Importers

Inherited from TypeDebugging

Inherited from Positions

Inherited from Printers

Inherited from Trees

Inherited from AnnotationCheckers

Inherited from AnnotationInfos

Inherited from StdNames

Inherited from Transforms

Inherited from InfoTransformers

Inherited from BaseTypeSeqs

Inherited from Constants

Inherited from Definitions

Inherited from Mirrors

Inherited from Scopes

Inherited from FlagSets

Inherited from ExistentialsAndSkolems

Inherited from Kinds

Inherited from Types

Inherited from Symbols

Inherited from Names

Inherited from Collections

Inherited from Universe

Inherited from Universe

Inherited from Importers

Inherited from Printers

Inherited from Mirrors

Inherited from BuildUtils

Inherited from StandardNames

Inherited from StandardDefinitions

Inherited from TagInterop

Inherited from TypeTags

Inherited from Exprs

Inherited from Positions

Inherited from Annotations

Inherited from Constants

Inherited from Trees

Inherited from Names

Inherited from Scopes

Inherited from FlagSets

Inherited from Types

Inherited from Symbols

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd from JavaUniverse to StringAdd

Inherited by implicit conversion any2stringfmt from JavaUniverse to StringFormat

Inherited by implicit conversion any2ArrowAssoc from JavaUniverse to ArrowAssoc[JavaUniverse]

Inherited by implicit conversion any2Ensuring from JavaUniverse to Ensuring[JavaUniverse]

Macro Specific Additions

Universe

API

Annotations

Constants

Definitions

Expressions

Extractors

Flags

Importers

Java Mirrors

Mirrors

Names

Positions

Printers

Scopes

Symbols

TypeTag and Manifest Interoperability

Tags

TreeBuilders

Trees

Types - Creation

Types - Operations

TypeTags

Types

Types@param annotations the list of annotations on the type

Tree Copying

Factories

Tree Traversal and Transformation

Ungrouped