package internal
- Alphabetic
- Public
- All
Type Members
-
trait
AnnotationCheckers extends AnyRef
Additions to the type checker that can be added at run time.
Additions to the type checker that can be added at run time. Typically these are added by compiler plugins.
-
trait
AnnotationInfos extends Annotations
AnnotationInfo and its helpers
-
trait
BaseTypeSeqs extends AnyRef
A base type sequence (BaseTypeSeq) is an ordered sequence spanning all the base types of a type.
A base type sequence (BaseTypeSeq) is an ordered sequence spanning all the base types of a type. It characterized by the following two laws:
(1) Each element of
tp.baseTypeSeq
is a basetype oftp
(2) For each basetypebt1
oftp
there is an elementbt
intp.baseTypeSeq
such thatbt.typeSymbol = bt1.typeSymbol bt <: bt1
(3) The type symbols of different elements are different.
Elements in the sequence are ordered by Symbol.isLess.
- Note
base type sequences were called closures up to 2.7.1. The name has been changed to avoid confusion with function closures.
- trait BaseTypeSeqsStats extends AnyRef
- trait CapturedVariables extends AnyRef
-
trait
Chars extends AnyRef
Contains constants and classifier methods for characters
- trait Constants extends api.Constants
- trait Definitions extends StandardDefinitions
- final class Depth extends AnyVal with Ordered[Depth]
- trait DepthFunction[A] extends AnyRef
-
trait
ExistentialsAndSkolems extends AnyRef
The name of this trait defines the eventual intent better than it does the initial contents.
- case class FatalError(msg: String) extends Exception with Product with Serializable
-
trait
FilteringReporter extends Reporter with ForwardingReporter
A
ForwardingReporter
that filters events before delegating.A
ForwardingReporter
that filters events before delegating.Concrete subclasses should implement just the abstract
filter
method. -
class
Flags extends ModifierFlags
All flags and associated operations
-
trait
ForwardingReporter extends Reporter
A
Reporter
that forwards all methods to a delegate.A
Reporter
that forwards all methods to a delegate.Concrete subclasses must implement the abstract
delegate
member. - trait FreshNames extends AnyRef
-
trait
HasFlags extends AnyRef
Common code utilized by Modifiers (which carry the flags associated with Trees) and Symbol.
- trait Importers extends AnyRef
- trait InfoTransformers extends AnyRef
- trait Internals extends api.Internals
- final class JDK9Reflectors extends AnyRef
-
class
JMethodOrConstructor extends AnyRef
This class tries to abstract over some of the duplication in java.lang.reflect.{ Method, Constructor }.
-
final
class
JavaAccFlags extends AnyVal
A value class which encodes the access_flags (JVMS 4.1) for a field, method, or class.
A value class which encodes the access_flags (JVMS 4.1) for a field, method, or class. The low 16 bits are the same as those returned by java.lang.reflect.Member#getModifiers and found in the bytecode.
The high bits encode whether the access flags are directly associated with a class, constructor, field, or method.
- trait Kinds extends AnyRef
- trait Mirrors extends api.Mirrors
- class MissingRequirementError extends FatalError
- final class Mode extends AnyVal
-
class
ModifierFlags extends AnyRef
Flags set on Modifiers instances in the parsing stage.
- trait Names extends api.Names
- abstract class Phase extends AnyRef
-
trait
Positions extends api.Positions
Handling range positions atPos, the main method in this trait, will add positions to a tree, and will ensure the following properties:
Handling range positions atPos, the main method in this trait, will add positions to a tree, and will ensure the following properties:
- All nodes between the root of the tree and nodes that already have positions will be assigned positions. 2. No node which already has a position will be assigned a different range; however a RangePosition might become a TransparentPosition. 3. The position of each assigned node includes the positions of each of its children. 4. The positions of all solid descendants of children of an assigned node are mutually non-overlapping.
Here, the solid descendant of a node are:
If the node has a TransparentPosition, the solid descendants of all its children Otherwise, the singleton consisting of the node itself.
- final class Precedence extends AnyVal with Ordered[Precedence]
- trait Printers extends api.Printers
- trait PrivateWithin extends AnyRef
- trait ReificationSupport extends AnyRef
-
abstract
class
Reporter extends AnyRef
Report information, warnings and errors.
Report information, warnings and errors.
This describes the (future) external interface for issuing information, warnings and errors. Currently, scala.tools.nsc.Reporter is used by sbt/ide/partest.
- abstract class ReporterImpl extends Reporter
-
trait
Reporting extends AnyRef
Provides delegates to the reporter doing the actual work.
Provides delegates to the reporter doing the actual work. All forwarding methods should be marked final, but some subclasses out of our reach still override them.
Eventually, this interface should be reduced to one method:
reporter
, and clients should indirect themselves (reduce duplication of forwarders). - trait ScopeStats extends AnyRef
- trait Scopes extends api.Scopes
- trait StdAttachments extends AnyRef
- trait StdCreators extends AnyRef
- trait StdNames extends AnyRef
-
abstract
class
SymbolPairs extends AnyRef
An abstraction for considering symbol pairs.
An abstraction for considering symbol pairs. One of the greatest sources of compiler bugs is that symbols can trivially lose their prefixes and turn into some completely different type with the smallest of errors. It is the exception not the rule that type comparisons are done correctly.
This offers a small step toward coherence with two abstractions which come up over and over again:
RelativeTo: operations relative to a prefix SymbolPair: two symbols being related somehow, plus the class in which the relation is being performed
This is only a start, but it is a start.
- abstract class SymbolTable extends Universe with Collections with Names with Symbols with Types with Variances with Kinds with ExistentialsAndSkolems with FlagSets with Scopes with Mirrors with Definitions with Constants with BaseTypeSeqs with InfoTransformers with Transforms with StdNames with AnnotationInfos with AnnotationCheckers with Trees with Printers with Positions with TypeDebugging with Importers with CapturedVariables with StdAttachments with StdCreators with ReificationSupport with PrivateWithin with Translations with FreshNames with Internals with Reporting
- trait SymbolTableStats extends AnyRef
- trait Symbols extends api.Symbols
- trait SymbolsStats extends AnyRef
- abstract class TreeGen extends AnyRef
-
abstract
class
TreeInfo extends AnyRef
This class ...
This class ...
- Version
1.0
- trait Trees extends api.Trees
- trait TreesStats extends AnyRef
- trait TypeDebugging extends AnyRef
- trait Types extends api.Types with TypeComparers with TypeToStrings with CommonOwners with GlbLubs with TypeMaps with TypeConstraints with FindMembers with Collections
- trait TypesStats extends AnyRef
-
final
class
Variance extends AnyVal
Variances form a lattice:
Variances form a lattice:
- Covariant - / \ Invariant Bivariant \ / Contravariant
The variance of a symbol within a type is calculated based on variance annotations, e.g. +A or -A, and the positions of the types in which the symbol appears. The actual mechanics are beyond the scope of this comment, but the essential operations on a Variance are:
'&' - like bitwise AND. Unless all inputs have compatible variance, folding them across & will be invariant. '*' - like multiplication across { -1, 0, 1 } with contravariance as -1. flip - if contravariant or covariant, flip to the other; otherwise leave unchanged. cut - if bivariant, remain bivariant; otherwise become invariant.
There is an important distinction between "isPositive" and "isCovariant". The former is true for both Covariant and Bivariant, but the latter is true only for Covariant.
-
trait
Variances extends AnyRef
See comments at scala.reflect.internal.Variance.
Value Members
- object Chars extends Chars
- object ClassfileConstants
- object Depth
- object Flags extends Flags
- object JMethodOrConstructor
- object JavaAccFlags
- object MissingRequirementError extends Serializable
- object Mode
- object ModifierFlags extends ModifierFlags
- object NoPhase extends Phase
- object Precedence extends (Int) ⇒ Precedence
- object SomePhase extends Phase
- object TypeConstants
- object Variance