Alternatives of patterns.
The API that all alternatives support
An extractor class to create and pattern match with syntax Alternative(trees).
A tree that has an annotation attached to it.
The API that all annotateds support
An extractor class to create and pattern match with syntax Annotated(annot, arg).
The AnnotatedType type signature is used for annotated types of the
for <type> @<annotation>.
The API that all annotated types support.
An extractor class to create and pattern match with syntax
AnnotatedType(annotations, underlying, selfsym).
Information about an annotation.
The API of Annotation instances.
An extractor class to create and pattern match with syntax Annotation(tpe, scalaArgs, javaArgs).
Applied type <tpt> [ <args> ], eliminated by RefCheck
The API that all applied type trees support
An extractor class to create and pattern match with syntax AppliedTypeTree(tpt, args).
Value application
The API that all applies support
An extractor class to create and pattern match with syntax Apply(fun, args).
An array argument to a Java annotation as in @Target(value={TYPE,FIELD,METHOD,PARAMETER})
API of ArrayArgument instances.
An extractor class to create and pattern match with syntax ArrayArgument(args)
where args is the argument array.
Assignment
The API that all assigns support
An extractor class to create and pattern match with syntax Assign(lhs, rhs).
Either an assignment or a named argument.
The API that all assigns support
An extractor class to create and pattern match with syntax AssignOrNamedArg(lhs, rhs).
Bind a variable to a rhs pattern.
The API that all binds support
An extractor class to create and pattern match with syntax Bind(name, body).
Block of expressions (semicolon separated expressions)
The API that all blocks support
An extractor class to create and pattern match with syntax Block(stats, expr).
BoundedWildcardTypes, used only during type inference, are created in two places:
The API that all this types support.
An extractor class to create and pattern match with syntax BoundedWildcardTypeExtractor(bounds)
with bounds denoting the type bounds.
Case clause in a pattern match.
The API that all case defs support
An extractor class to create and pattern match with syntax CaseDef(pat, guard, body).
A class definition.
The API that all class defs support
An extractor class to create and pattern match with syntax ClassDef(mods, name, tparams, impl).
The ClassInfo type signature is used to define parents and declarations
of classes, traits, and objects.
The API that all class info types support.
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.
A mirror that reflects the instance parts of a runtime class.
The type of class symbols representing class and trait definitions.
The API of class symbols.
A subtype of Type representing refined types as well as ClassInfo signatures.
Intersection type <parent1> with .
The API that all compound type trees support
An extractor class to create and pattern match with syntax CompoundTypeTree(templ).
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]".
The API of Constant instances.
An extractor class to create and pattern match with syntax Constant(value)
where value is the Scala value of the constant.
The ConstantType type is not directly written in user programs, but arises as the type of a constant.
The API that all constant types support.
An extractor class to create and pattern match with syntax ConstantType(constant)
Here, constant is the constant value represented by the type.
A method or macro definition.
The API that all def defs support
An extractor class to create and pattern match with syntax DefDef(mods, name, tparams, vparamss, tpt, rhs).
A tree which defines a symbol-carrying entity.
The API that all def trees support
Defines standard symbols (and types via its base trait).
The ExistentialType type signature is used for existential types and
wildcard types.
The API that all existential types support.
An extractor class to create and pattern match with syntax
ExistentialType(quantified, underlying).
Existential type tree node
The API that all existential type trees support
An extractor class to create and pattern match with syntax ExistentialTypeTree(tpt, whereClauses).
Expr wraps an abstract syntax tree and tags it with its type.
A mirror that reflects a field.
The API of FlagSet instances.
An abstract type representing sets of flags (like private, final, etc.
All possible values that can constitute flag sets.
The type of free terms introduced by reification.
The API of free term symbols.
The type of free types introduced by reification.
The API of free type symbols.
Anonymous function, eliminated by compiler phase lambdalift
The API that all functions support
An extractor class to create and pattern match with syntax Function(vparams, body).
Common base class for Apply and TypeApply.
The API that all applies support
A reference to identifier name.
The API that all idents support
An extractor class to create and pattern match with syntax Ident(qual, name).
Conditional expression
The API that all ifs support
An extractor class to create and pattern match with syntax If(cond, thenp, elsep).
A common base class for class and object definitions.
The API that all impl defs support
Import clause
The API that all imports support
An extractor class to create and pattern match with syntax Import(expr, selectors).
Import selector
The API that all import selectors support
An extractor class to create and pattern match with syntax ImportSelector(name:, namePos, rename, renamePos).
The API of importers.
A mirror that reflects a runtime value.
A Java annotation argument
A labelled expression.
The API that all label defs support
An extractor class to create and pattern match with syntax LabelDef(name, params, rhs).
Literal
The API that all literals support
A literal argument to a Java annotation as "Use X instead" in @Deprecated("Use X instead")
The API of LiteralArgument instances.
An extractor class to create and pattern match with syntax LiteralArgument(value)
where value is the constant argument.
An extractor class to create and pattern match with syntax Literal(value).
- Pattern matching expression (before compiler phase explicitouter before 2.
The API that all matches support
An extractor class to create and pattern match with syntax Match(selector, cases).
Common base class for all member definitions: types, classes, objects, packages, vals and vars, defs.
The API that all member defs support
The type of member scopes, as in class definitions, for example.
The API that all member scopes support
A mirror that reflects a method.
The type of method symbols representing def declarations.
The API of method symbols.
The MethodType type signature is used to indicate parameters and result type of a method
The API that all method types support.
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.
The base type of all mirrors of this universe.
The base type of all mirrors of this universe.
This abstract type conforms the base interface for all mirrors defined in scala.reflect.api.Mirror
and is gradually refined in specific universes (e.g. Mirror of a scala.reflect.api.JavaUniverse is capable of reflection).
The type of tree modifiers.
The type of tree modifiers.
The API that all Modifiers support
An extractor class to create and pattern match with syntax Modifiers(flags, privateWithin, annotations).
An object definition, e.
The API that all module defs support
An extractor class to create and pattern match with syntax ModuleDef(mods, name, impl).
A mirror that reflects a Scala object definition or the static parts of a runtime class.
The type of module symbols representing object declarations.
The API of module symbols.
The abstract type of names.
The abstract type of names.
The API of Name instances.
A tree with a name - effectively, a DefTree or RefTree.
The API that all name trees support
Defines standard names, common for term and type names: These can be accessed via the nme and tpnme members.
A nested annotation argument to a Java annotation as @Nested in @Outer(@Nested).
API of NestedArgument instances.
An extractor class to create and pattern match with syntax NestedArgument(annotation)
where annotation is the nested annotation.
Object instantiation
The API that all news support
An extractor class to create and pattern match with syntax New(tpt).
The NullaryMethodType type signature is used for parameterless methods
with declarations of the form def foo: T
The API that all nullary method types support.
An extractor class to create and pattern match with syntax NullaryMethodType(resultType).
A packaging, such as package pid { stats }
The API that all package defs support
An extractor class to create and pattern match with syntax PackageDef(pid, stats).
The PolyType type signature is used for polymorphic methods
that have at least one type parameter.
The API that all polymorphic types support.
An extractor class to create and pattern match with syntax PolyType(typeParams, resultType).
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.
A tree which references a symbol-carrying entity.
The API that all ref trees support
Marks underlying reference to id as boxed.
The API that all references support
An extractor class to create and pattern match with syntax ReferenceToBoxed(ident).
The RefinedType type defines types of any of the forms on the left,
with their RefinedType representations to the right.
The API that all refined types support.
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.
A mirror that reflects instances and static classes.
Return expression
The API that all returns support
An extractor class to create and pattern match with syntax Return(expr).
Abstracts the runtime representation of a class on the underlying platform.
Abstracts the runtime representation of a class on the underlying platform.
The API of a mirror for a reflective universe.
The base type of all scopes.
The API that all scopes support
A member selection <qualifier> .
The API that all selects support
An extractor class to create and pattern match with syntax Select(qual, name).
Type selection <qualifier> # <name>, eliminated by RefCheck
The API that all selects from type trees support
An extractor class to create and pattern match with syntax SelectFromTypeTree(qualifier, name).
The SingleType type describes types of any of the forms on the left,
with their TypeRef representations to the right.
The API that all single types support.
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.
The type of Scala singleton types, i.
Singleton type, eliminated by RefCheck
The API that all singleton type trees support
An extractor class to create and pattern match with syntax SingletonTypeTree(ref).
Defines standard types.
Repetition of pattern.
The API that all stars support
An extractor class to create and pattern match with syntax Star(elem).
Super reference, where qual is the corresponding this reference.
The API that all supers support
An extractor class to create and pattern match with syntax Super(qual, mix).
The SuperType type is not directly written, but arises when C.super is used
as a prefix in a TypeRef or SingleType.
The API that all super types support.
An extractor class to create and pattern match with syntax SingleType(thistpe, supertpe)
A tree with a mutable symbol field, initialized to NoSymbol.
The API that all sym trees support
The type of symbols representing declarations.
The API of symbols.
Instantiation template of a class or trait
The API that all templates support
An extractor class to create and pattern match with syntax Template(parents, self, body).
A mirror that reflects the instance or static parts of a runtime class.
The abstract type of names representing types.
The abstract type of names representing types.
Defines standard term names that can be accessed via the nme member.
The type of term symbols representing val, var, def, and object declarations as well as packages and value parameters.
The API of term symbols.
A tree for a term.
The API that all term trees support
Self reference
The API that all thises support
An extractor class to create and pattern match with syntax This(qual).
A singleton type that describes types of the form on the left with the
corresponding ThisType representation to the right:
The API that all this types support.
An extractor class to create and pattern match with syntax ThisType(sym)
where sym is the class prefix of the this type.
Throw expression
The API that all tries support
An extractor class to create and pattern match with syntax Throw(expr).
A class that implement a default tree transformation strategy: breadth-first component-wise cloning.
A class that implement a default tree traversal strategy: breadth-first component-wise.
The type of Scala abstract syntax trees.
The API that all trees support.
The type of standard (lazy) tree copiers.
The API of a tree copier.
Try catch node
The API that all tries support
An extractor class to create and pattern match with syntax Try(block, catches, finalizer).
A tree for a type.
The API that all typ trees support
The type of Scala types, and also Scala type signatures.
The API of types.
Explicit type application.
The API that all type applies support
An extractor class to create and pattern match with syntax TypeApply(fun, args).
The TypeBounds type signature is used to indicate lower and upper type bounds
of type parameters and abstract types.
The API that all type bounds support.
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.
Type bounds tree node
The API that all type bound trees support
An extractor class to create and pattern match with syntax TypeBoundsTree(lo, hi).
An abstract type, a type parameter, or a type alias.
The API that all type defs support
An extractor class to create and pattern match with syntax TypeDef(mods, name, tparams, rhs).
The abstract type of names representing terms.
The abstract type of names representing terms.
Defines standard type names that can be accessed via the tpnme member.
The TypeRef type describes types of any of the forms on the left,
with their TypeRef representations to the right.
The API that all type refs support.
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.
The type of type symbols representing type, class, and trait declarations, as well as type parameters.
The API of type symbols.
A TypeTag is a scala.reflect.api.TypeTags#WeakTypeTag with the additional
static guarantee that all type references are concrete, i.
A synthetic tree holding an arbitrary type.
The API that all type trees support
An extractor class to create and pattern match with syntax TypeTree().
Type annotation, eliminated by compiler phase cleanup
The API that all typeds support
An extractor class to create and pattern match with syntax Typed(expr, tpt).
Used to represent unapply methods in pattern matching.
The API that all unapplies support
An extractor class to create and pattern match with syntax UnApply(fun, args).
Broadly speaking, a value definition.
The API that all val defs support
An extractor class to create and pattern match with syntax ValDef(mods, name, tpt, rhs).
A common base class for ValDefs and DefDefs.
The API that all val defs and def defs support
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.
The constructor/extractor for Alternative instances.
The constructor/extractor for Alternative instances.
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.
The constructor/extractor for Annotated instances.
The constructor/extractor for Annotated instances.
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.
The constructor/extractor for AnnotatedType instances.
The constructor/extractor for AnnotatedType instances.
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.
The constructor/extractor for Annotation instances.
The constructor/extractor for Annotation instances.
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.
The constructor/extractor for AppliedTypeTree instances.
The constructor/extractor for AppliedTypeTree instances.
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.
A factory method for Apply nodes.
A factory method for Apply nodes.
The constructor/extractor for Apply instances.
The constructor/extractor for Apply instances.
0-1 argument list new, based on a type tree.
0-1 argument list new, based on a type tree.
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.
The constructor/extractor for ArrayArgument instances.
The constructor/extractor for ArrayArgument instances.
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.
The constructor/extractor for Assign instances.
The constructor/extractor for Assign instances.
The constructor/extractor for AssignOrNamedArg instances.
The constructor/extractor for AssignOrNamedArg instances.
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.
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.
A factory method for Bind nodes.
A factory method for Bind nodes.
The constructor/extractor for Bind instances.
The constructor/extractor for Bind instances.
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.
A factory method for Block nodes.
A factory method for Block nodes.
Flattens directly nested blocks.
The constructor/extractor for Block instances.
The constructor/extractor for Block instances.
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.
The constructor/extractor for BoundedWildcardType instances.
The constructor/extractor for BoundedWildcardType instances.
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.
A factory method for CaseDef nodes.
A factory method for CaseDef nodes.
The constructor/extractor for CaseDef instances.
The constructor/extractor for CaseDef instances.
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.
A factory method for ClassDef nodes.
A factory method for ClassDef nodes.
The constructor/extractor for ClassDef instances.
The constructor/extractor for ClassDef instances.
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.
The constructor/extractor for ClassInfoType instances.
The constructor/extractor for ClassInfoType instances.
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.
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.
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.
The constructor/extractor for CompoundTypeTree instances.
The constructor/extractor for CompoundTypeTree instances.
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.
The constructor/extractor for Constant instances.
The constructor/extractor for Constant instances.
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.
The constructor/extractor for ConstantType instances.
The constructor/extractor for ConstantType instances.
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.
A factory method for ValDef nodes.
A factory method for ValDef nodes.
A factory method for ValDef nodes.
A factory method for ValDef nodes.
A factory method for ValDef nodes.
A factory method for ValDef nodes.
A factory method for ValDef nodes.
A factory method for ValDef nodes.
A factory method for ValDef nodes.
A factory method for ValDef nodes.
The constructor/extractor for DefDef instances.
The constructor/extractor for DefDef instances.
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.
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.
The empty tree
The empty tree
The constructor/extractor for ExistentialType instances.
The constructor/extractor for ExistentialType instances.
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.
The constructor/extractor for ExistentialTypeTree instances.
The constructor/extractor for ExistentialTypeTree instances.
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.
A module that contains all possible values that can constitute flag sets.
A module that contains all possible values that can constitute flag sets.
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.
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.
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.
The constructor/extractor for Function instances.
The constructor/extractor for Function instances.
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.
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.
A factory method for Ident nodes.
A factory method for Ident nodes.
A factory method for Ident nodes.
A factory method for Ident nodes.
The constructor/extractor for Ident instances.
The constructor/extractor for Ident instances.
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.
The constructor/extractor for If instances.
The constructor/extractor for If instances.
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.
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.
The constructor/extractor for Import instances.
The constructor/extractor for Import instances.
The constructor/extractor for ImportSelector instances.
The constructor/extractor for ImportSelector instances.
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.
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.
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.
A factory method for LabelDef nodes.
A factory method for LabelDef nodes.
The constructor/extractor for LabelDef instances.
The constructor/extractor for LabelDef instances.
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.
The constructor/extractor for Literal instances.
The constructor/extractor for Literal instances.
The constructor/extractor for LiteralArgument instances.
The constructor/extractor for LiteralArgument instances.
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.
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.
The constructor/extractor for Match instances.
The constructor/extractor for Match instances.
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.
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.
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.
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.
The constructor/extractor for MethodType instances.
The constructor/extractor for MethodType instances.
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.
The constructor/extractor for Modifiers instances.
The constructor/extractor for Modifiers instances.
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.
A factory method for ModuleDef nodes.
A factory method for ModuleDef nodes.
The constructor/extractor for ModuleDef instances.
The constructor/extractor for ModuleDef instances.
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.
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.
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.
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.
The constructor/extractor for NestedArgument instances.
The constructor/extractor for NestedArgument instances.
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.
0-1 argument list new, based on a symbol.
0-1 argument list new, based on a symbol.
0-1 argument list new, based on a type.
0-1 argument list new, based on a type.
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)
The constructor/extractor for New instances.
The constructor/extractor for New instances.
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.
The empty set of flags
The empty set of flags
A special "missing" position.
A special "missing" position.
This constant is used as a special value denoting the empty prefix in a path dependent type.
This constant is used as a special value denoting the empty prefix in a path dependent type.
For instance x.type is represented as SingleType(NoPrefix, <x>), where <x> stands for
the symbol for x.
A special "missing" symbol.
A special "missing" symbol. Commonly used in the API to denote a default or empty value.
This constant is used as a special value that indicates that no meaningful type exists.
This constant is used as a special value that indicates that no meaningful type exists.
The constructor/extractor for NullaryMethodType instances.
The constructor/extractor for NullaryMethodType instances.
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.
The constructor/extractor for PackageDef instances.
The constructor/extractor for PackageDef instances.
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.
The constructor/extractor for PolyType instances.
The constructor/extractor for PolyType instances.
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.
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.
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.
The constructor/extractor for ReferenceToBoxed instances.
The constructor/extractor for ReferenceToBoxed instances.
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.
The constructor/extractor for RefinedType instances.
The constructor/extractor for RefinedType instances.
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.
The constructor/extractor for Return instances.
The constructor/extractor for Return instances.
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.
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.
A factory method for Select nodes.
A factory method for Select nodes.
A factory method for Select nodes.
The constructor/extractor for Select instances.
The constructor/extractor for Select instances.
The constructor/extractor for SelectFromTypeTree instances.
The constructor/extractor for SelectFromTypeTree instances.
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.
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.
The constructor/extractor for SingleType instances.
The constructor/extractor for SingleType instances.
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.
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.
The constructor/extractor for SingletonTypeTree instances.
The constructor/extractor for SingletonTypeTree instances.
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.
The constructor/extractor for Star instances.
The constructor/extractor for Star instances.
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.
A factory method for Super nodes.
A factory method for Super nodes.
The constructor/extractor for Super instances.
The constructor/extractor for Super instances.
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.
The constructor/extractor for SuperType instances.
The constructor/extractor for SuperType instances.
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.
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.
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.
The constructor/extractor for Template instances.
The constructor/extractor for Template instances.
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.
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.
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.
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.
A factory method for This nodes.
A factory method for This nodes.
The constructor/extractor for This instances.
The constructor/extractor for This instances.
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.
The constructor/extractor for ThisType instances.
The constructor/extractor for ThisType instances.
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.
A factory method for Throw nodes.
A factory method for Throw nodes.
The constructor/extractor for Throw instances.
The constructor/extractor for Throw instances.
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.
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.
A factory method for Try nodes.
A factory method for Try nodes.
The constructor/extractor for Try instances.
The constructor/extractor for Try instances.
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.
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.
The constructor/extractor for TypeApply instances.
The constructor/extractor for TypeApply instances.
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.
The constructor/extractor for TypeBounds instances.
The constructor/extractor for TypeBounds instances.
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.
The constructor/extractor for TypeBoundsTree instances.
The constructor/extractor for TypeBoundsTree instances.
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.
A factory method for TypeDef nodes.
A factory method for TypeDef nodes.
A factory method for TypeDef nodes.
A factory method for TypeDef nodes.
The constructor/extractor for TypeDef instances.
The constructor/extractor for TypeDef instances.
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.
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.
The constructor/extractor for TypeRef instances.
The constructor/extractor for TypeRef instances.
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.
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.
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.
A factory method for TypeTree nodes.
A factory method for TypeTree nodes.
The constructor/extractor for TypeTree instances.
The constructor/extractor for TypeTree instances.
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.
The constructor/extractor for Typed instances.
The constructor/extractor for Typed instances.
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.
The constructor/extractor for UnApply instances.
The constructor/extractor for UnApply instances.
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.
A factory method for ValDef nodes.
A factory method for ValDef nodes.
A factory method for ValDef nodes.
A factory method for ValDef nodes.
The constructor/extractor for ValDef instances.
The constructor/extractor for ValDef instances.
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.
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.
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.
The API of FlagSet instances.
The API of FlagSet instances.
A creator for type applications
A creator for type applications
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.
A value containing all standard definitions in DefinitionsApi
A value containing all standard definitions in DefinitionsApi
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.
A creator for existential types.
A creator for existential types. This generates:
tpe1 where { tparams } where tpe1 is the result of extrapolating tpe with regard 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.
The greatest lower bound of a list of types, as determined by <:<.
The greatest lower bound of a list of types, as determined by <:<.
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?
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.
The least upper bound of a list of types, as determined by <:<.
The least upper bound of a list of types, as determined by <:<.
Creates an importer that moves reflection artifacts between universes.
Creates an importer that moves reflection artifacts between universes.
Creates a lazy tree copier.
Creates a lazy tree copier.
Hook to define what showRaw(...) means.
Hook to define what showRaw(...) means.
Create a new scope with the given initial elements.
Create a new scope with the given initial elements.
Creates a strict tree copier.
Creates a strict tree copier.
Create a new term name.
Create a new term name.
Hook to define what show(...) means.
Hook to define what show(...) means.
Creates a new type name.
Creates a new type name.
A value containing all standard term names.
A value containing all standard term names.
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).
The canonical creator for a refined type with an initially empty scope.
The canonical creator for a refined type with an initially empty scope.
the canonical creator for a refined type with a given scope
the canonical creator for a refined type with a given scope
The root mirror of this universe.
The root mirror of this universe. This mirror contains standard Scala classes and types such as Any, AnyRef, AnyVal,
Nothing, Null, and all classes loaded from scala-library, which are shared across all mirrors within the enclosing universe.
Renders a prettified representation of a flag set.
Renders a prettified representation of a flag set.
Renders a prettified representation of a name.
Renders a prettified representation of a name.
The canonical creator for single-types
The canonical creator for single-types
A value containing all standard type names.
A value containing all standard type names.
The canonical creator for typerefs
The canonical creator for typerefs
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 all some the trees are non-synthetic, returns a range position enclosing the non-synthetic trees Otherwise returns a synthetic offset position to point.
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.
Test two objects for inequality.
Test two objects for inequality.
true if !(this == that), false otherwise.
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.
a hash value consistent with ==
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).
true if the receiver object is equivalent to the argument; false otherwise.
Constructor/Extractor for Expr.
The factory for Modifiers instances.
The factory for Modifiers instances.
The factory for Modifiers instances.
The factory for Modifiers instances.
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.
Type tags corresponding to primitive types and constructor/extractor for WeakTypeTags.
Type tags corresponding to primitive types and constructor/extractor for WeakTypeTags.
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.
the receiver object.
if the receiver object is not an instance of the erasure of type T0.
Create a copy of the receiver object.
Create a copy of the receiver object.
The default implementation of the clone method is platform dependent.
a copy of the receiver object.
not specified by SLS as a member of AnyRef
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:
x and y of type AnyRef, multiple invocations of
x.eq(y) consistently returns true or consistently returns false.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).
true if the argument is a reference to the receiver object; false otherwise.
The equality method for reference types.
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.
not specified by SLS as a member of AnyRef
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).
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.
a representation that corresponds to the dynamic class of the receiver object.
not specified by SLS as a member of AnyRef
The hashCode method for reference types.
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.
true if the receiver object is an instance of erasure of type T0; false otherwise.
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.
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.
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]])
Equivalent to !(this eq that).
Equivalent to !(this eq that).
true if the argument is not a reference to the receiver object; false otherwise.
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.
not specified by SLS as a member of AnyRef
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.
not specified by SLS as a member of AnyRef
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.
Renders a representation of a reflection artifact as desugared Java code.
Renders a representation of a reflection artifact as desugared Java code.
Renders internal structure of a flag set.
Renders internal structure of a flag set.
Renders internal structure of a name.
Renders internal structure of a name.
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.
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").
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").
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.
a String representation of the object.
The standard (lazy) tree copier.
The standard (lazy) tree copier.
By default trees are printed with show
By default trees are printed with show
Shortcut for implicitly[TypeTag[T]].tpe
Shortcut for implicitly[TypeTag[T]].tpe
Shortcut for implicitly[TypeTag[T]]
Shortcut for implicitly[TypeTag[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]])
Shortcut for implicitly[WeakTypeTag[T]].tpe
Shortcut for implicitly[WeakTypeTag[T]].tpe
Shortcut for implicitly[WeakTypeTag[T]]
Shortcut for implicitly[WeakTypeTag[T]]
Provides an extension hook for the transformation strategy.
Provides an extension hook for the transformation strategy. Future-proofs against new node types.
Provides an extension hook for the traversal strategy.
Provides an extension hook for the traversal strategy. Future-proofs against new node types.
(universe: StringAdd).self
(universe: StringFormat).self
(universe: ArrowAssoc[Universe]).x
(Since version 2.10.0) Use leftOfArrow instead
(universe: Ensuring[Universe]).x
(Since version 2.10.0) Use resultOfEnsuring instead
The methods available for each reflection entity, without the implementation. Since the reflection entities are later overridden by runtime reflection and macros, their API counterparts guarantee a minimum set of methods that are implemented.
Extractors provide the machinery necessary to allow pattern matching and construction of reflection entities that is similar to case classes, although the entities are only abstract types that are later overridden.
Implicit values that provide ClassTags for the reflection
classes. These are abstract in the interface but are later filled in to provide ClassTags
for the either the runtime reflection or macros entities, depending on the use.
EXPERIMENTAL
Universeprovides a complete set of reflection operations which make it possible for one to reflectively inspect Scala type relations, such as membership or subtyping.scala.reflect.api.Universe has two specialized sub-universes for different scenarios. scala.reflect.api.JavaUniverse adds operations that link symbols and types to the underlying classes and runtime values of a JVM instance-- this can be thought of as the
Universethat should be used for all typical use-cases of Scala reflection. scala.reflect.macros.Universe adds operations which allow macros to access selected compiler data structures and operations-- this type ofUniverseshould only ever exist within the implementation of a Scala macro.Universecan be thought of as the entry point to Scala reflection. It mixes-in, and thus provides an interface to the following main types:To obtain a
Universeto use with Scala runtime reflection, simply make sure to use or importscala.reflect.runtime.universe._To obtain a
Universefor use within a Scala macro, use scala.reflect.macros.Context#universe. For example:For more information about
Universes, see the Reflection Guide: Universes