Packages

p

scala.reflect

internal

package internal

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. All

Type Members

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

  2. trait AnnotationInfos extends Annotations

    AnnotationInfo and its helpers

  3. 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 of tp (2) For each basetype bt1 of tp there is an element bt in tp.baseTypeSeq such that

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

  4. trait BaseTypeSeqsStats extends AnyRef
  5. trait CapturedVariables extends AnyRef
  6. trait Chars extends AnyRef

    Contains constants and classifier methods for characters

  7. trait Constants extends api.Constants
  8. trait Definitions extends StandardDefinitions
  9. final class Depth extends AnyVal with Ordered[Depth]
  10. trait DepthFunction[A] extends AnyRef
  11. trait ExistentialsAndSkolems extends AnyRef

    The name of this trait defines the eventual intent better than it does the initial contents.

  12. case class FatalError(msg: String) extends Exception with Product with Serializable
  13. 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.

  14. class Flags extends ModifierFlags

    All flags and associated operations

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

  16. trait FreshNames extends AnyRef
  17. trait HasFlags extends AnyRef

    Common code utilized by Modifiers (which carry the flags associated with Trees) and Symbol.

  18. trait Importers extends AnyRef
  19. trait InfoTransformers extends AnyRef
  20. trait Internals extends api.Internals
  21. final class JDK9Reflectors extends AnyRef
  22. class JMethodOrConstructor extends AnyRef

    This class tries to abstract over some of the duplication in java.lang.reflect.{ Method, Constructor }.

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

  24. trait Kinds extends AnyRef
  25. trait Mirrors extends api.Mirrors
  26. class MissingRequirementError extends FatalError
  27. final class Mode extends AnyVal
  28. class ModifierFlags extends AnyRef

    Flags set on Modifiers instances in the parsing stage.

  29. trait Names extends api.Names
  30. abstract class Phase extends AnyRef
  31. 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:

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

  32. final class Precedence extends AnyVal with Ordered[Precedence]
  33. trait Printers extends api.Printers
  34. trait PrivateWithin extends AnyRef
  35. trait ReificationSupport extends AnyRef
  36. 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.

  37. abstract class ReporterImpl extends Reporter
  38. 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).

  39. trait ScopeStats extends AnyRef
  40. trait Scopes extends api.Scopes
  41. trait StdAttachments extends AnyRef
  42. trait StdCreators extends AnyRef
  43. trait StdNames extends AnyRef
  44. 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.

  45. 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
  46. trait SymbolTableStats extends AnyRef
  47. trait Symbols extends api.Symbols
  48. trait SymbolsStats extends AnyRef
  49. abstract class TreeGen extends AnyRef
  50. abstract class TreeInfo extends AnyRef

    This class ...

    This class ...

    Version

    1.0

  51. trait Trees extends api.Trees
  52. trait TreesStats extends AnyRef
  53. trait TypeDebugging extends AnyRef
  54. trait Types extends api.Types with TypeComparers with TypeToStrings with CommonOwners with GlbLubs with TypeMaps with TypeConstraints with FindMembers with Collections
  55. trait TypesStats extends AnyRef
  56. 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.

  57. trait Variances extends AnyRef

    See comments at scala.reflect.internal.Variance.

Value Members

  1. object Chars extends Chars
  2. object ClassfileConstants
  3. object Depth
  4. object Flags extends Flags
  5. object JMethodOrConstructor
  6. object JavaAccFlags
  7. object MissingRequirementError extends Serializable
  8. object Mode
  9. object ModifierFlags extends ModifierFlags
  10. object NoPhase extends Phase
  11. object Precedence extends (Int) ⇒ Precedence
  12. object SomePhase extends Phase
  13. object TypeConstants
  14. object Variance

Ungrouped