scala.tools.nsc.typechecker.Namers

Namer

abstract class Namer extends Analyzer.MethodSynth with Analyzer.NamerContextErrors

Self Type
Analyzer.Namer
Source
Namers.scala
Linear Supertypes
Type Hierarchy Learn more about scaladoc diagrams
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Namer
  2. NamerContextErrors
  3. MethodSynth
  4. AnyRef
  5. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Namer(context: Analyzer.Context)

Type Members

  1. sealed trait AnyBeanGetter extends Namers.Namer.BeanAccessor with Namers.Namer.DerivedGetter

    Definition Classes
    MethodSynth
  2. sealed abstract class BaseGetter extends Namers.Namer.DerivedGetter

    Definition Classes
    MethodSynth
  3. sealed abstract class BeanAccessor extends Namers.Namer.DerivedFromValDef

    Definition Classes
    MethodSynth
  4. case class BeanGetter(tree: Global.ValDef) extends Namers.Namer.BeanAccessor with Namers.Namer.AnyBeanGetter with Product with Serializable

    Definition Classes
    MethodSynth
  5. case class BeanSetter(tree: Global.ValDef) extends Namers.Namer.BeanAccessor with Namers.Namer.DerivedSetter with Product with Serializable

    Definition Classes
    MethodSynth
  6. case class BooleanBeanGetter(tree: Global.ValDef) extends Namers.Namer.BeanAccessor with Namers.Namer.AnyBeanGetter with Product with Serializable

    Definition Classes
    MethodSynth
  7. sealed trait Derived extends AnyRef

    This trait assembles what's needed for synthesizing derived methods.

    This trait assembles what's needed for synthesizing derived methods. Important: Typically, instances of this trait are created TWICE for each derived symbol; once form Namers in an enter method, and once from Typers in addDerivedTrees. So it's important that creating an instance of Derived does not have a side effect, or if it has a side effect, control that it is done only once.

    Definition Classes
    MethodSynth
  8. sealed trait DerivedFromClassDef extends Namers.Namer.DerivedFromMemberDef

    Definition Classes
    MethodSynth
  9. sealed trait DerivedFromMemberDef extends Namers.Namer.Derived

    Definition Classes
    MethodSynth
  10. sealed trait DerivedFromValDef extends Namers.Namer.DerivedFromMemberDef

    Definition Classes
    MethodSynth
  11. sealed trait DerivedGetter extends Namers.Namer.DerivedFromValDef

    Definition Classes
    MethodSynth
  12. sealed trait DerivedSetter extends Namers.Namer.DerivedFromValDef

    Definition Classes
    MethodSynth
  13. case class Field(tree: Global.ValDef) extends Namers.Namer.DerivedFromValDef with Product with Serializable

    Definition Classes
    MethodSynth
  14. case class Getter(tree: Global.ValDef) extends Namers.Namer.BaseGetter with Product with Serializable

    Definition Classes
    MethodSynth
  15. case class ImplicitClassWrapper(tree: Global.ClassDef) extends Namers.Namer.DerivedFromClassDef with Product with Serializable

    A synthetic method which performs the implicit conversion implied by the declaration of an implicit class.

    A synthetic method which performs the implicit conversion implied by the declaration of an implicit class.

    Definition Classes
    MethodSynth
  16. case class LazyValGetter(tree: Global.ValDef) extends Namers.Namer.BaseGetter with Product with Serializable

    Implements lazy value accessors:

    Implements lazy value accessors:

    • for lazy values of type Unit and all lazy fields inside traits, the rhs is the initializer itself
    • for all other lazy values z the accessor is a block of this form: { z = <rhs>; z } where z can be an identifier or a field.
    Definition Classes
    MethodSynth
  17. class LogTransitions[S] extends AnyRef

  18. trait NoSymbolBeanGetter extends Namers.Namer.BeanAccessor with Namers.Namer.AnyBeanGetter

    Definition Classes
    MethodSynth
  19. case class Param(tree: Global.ValDef) extends Namers.Namer.DerivedFromValDef with Product with Serializable

    Definition Classes
    MethodSynth
  20. case class Setter(tree: Global.ValDef) extends Namers.Namer.DerivedSetter with Product with Serializable

    Definition Classes
    MethodSynth

Value Members

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

    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

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

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

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

    Definition Classes
    AnyRef → Any
  6. object NamerErrorGen

    Definition Classes
    NamerContextErrors
  7. def accessorTypeCompleter(tree: Global.ValDef, isSetter: Boolean): Analyzer.TypeCompleter with Analyzer.LockingTypeCompleter with Global.FlagAgnosticCompleter

  8. def addApplyUnapply(cdef: Global.ClassDef, namer: Analyzer.Namer): Unit

    Given a case class case class C[Ts] (ps: Us) Add the following methods to toScope:

    Given a case class case class C[Ts] (ps: Us) Add the following methods to toScope:

    1. if case class is not abstract, add <synthetic> <case> def apply[Ts](ps: Us): C[Ts] = new C[Ts](ps) 2. add a method <synthetic> <case> def unapply[Ts](x: C[Ts]) = <ret-val> where <ret-val> is the caseClassUnapplyReturnValue of class C (see UnApplies.scala)
    cdef

    is the class definition of the case class

    namer

    is the namer of the module class (the comp. obj)

  9. def addCopyMethod(cdef: Global.ClassDef, namer: Analyzer.Namer): Unit

  10. def addDerivedTrees(typer: Analyzer.Typer, stat: Global.Tree): List[Global.Tree]

    Definition Classes
    MethodSynth
  11. def allValDefDerived(vd: Global.ValDef): collection.immutable.List[DerivedFromValDef]

    Definition Classes
    MethodSynth
  12. def applicableTypeParams(owner: Global.Symbol): List[Global.Symbol]

  13. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  14. def assignAndEnterFinishedSymbol(tree: Global.MemberDef): Global.Symbol

  15. def assignAndEnterSymbol(tree: Global.MemberDef): Global.Symbol

  16. def assignSymbol(tree: Global.MemberDef, name: Global.Name, mask: Long): Global.Symbol

  17. def assignSymbol(tree: Global.Tree): Global.Symbol

    Creates a new symbol and assigns it to the tree, returning the symbol

  18. def beanAccessors(vd: Global.ValDef): List[DerivedFromValDef]

    Definition Classes
    MethodSynth
  19. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  20. def completerOf(tree: Global.Tree): Analyzer.TypeCompleter

  21. def conflict(newS: Global.Symbol, oldS: Global.Symbol): Boolean

    Attributes
    protected
  22. val context: Analyzer.Context

  23. def contextFile: AbstractFile

  24. def createFieldSymbol(tree: Global.ValDef): Global.TermSymbol

  25. def createImportSymbol(tree: Global.Tree): Global.TermSymbol

  26. def createInnerNamer(): Analyzer.Namer

  27. def createMemberSymbol(tree: Global.MemberDef, name: Global.Name, mask: Long): Global.Symbol

    Create a new symbol at the context owner based on the given tree.

    Create a new symbol at the context owner based on the given tree. A different name can be given. If the modifier flags should not be be transferred to the symbol as they are, supply a mask containing the flags to keep.

  28. def createNamer(tree: Global.Tree): Analyzer.Namer

  29. def createPackageSymbol(pos: Global.Position, pid: Global.RefTree): Global.Symbol

    All PackageClassInfoTypes come from here.

  30. def createPrimaryConstructorParameterNamer: Analyzer.Namer

  31. def enclosingNamerWithScope(scope: Global.Scope): Analyzer.Namer

  32. def ensureCompanionObject(cdef: Global.ClassDef, creator: (Global.ClassDef) ⇒ Global.Tree = companionModuleDef(_)): Global.Symbol

    If no companion object for clazz exists yet, create one by applying creator to class definition tree.

    If no companion object for clazz exists yet, create one by applying creator to class definition tree.

    returns

    the companion object symbol.

  33. def ensuring(cond: (Analyzer.Namer) ⇒ Boolean, msg: ⇒ Any): Analyzer.Namer

    Implicit information
    This member is added by an implicit conversion from Analyzer.Namer to Ensuring[Analyzer.Namer] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  34. def ensuring(cond: (Analyzer.Namer) ⇒ Boolean): Analyzer.Namer

    Implicit information
    This member is added by an implicit conversion from Analyzer.Namer to Ensuring[Analyzer.Namer] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  35. def ensuring(cond: Boolean, msg: ⇒ Any): Analyzer.Namer

    Implicit information
    This member is added by an implicit conversion from Analyzer.Namer to Ensuring[Analyzer.Namer] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  36. def ensuring(cond: Boolean): Analyzer.Namer

    Implicit information
    This member is added by an implicit conversion from Analyzer.Namer to Ensuring[Analyzer.Namer] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  37. def enterBeans(tree: Global.ValDef): Unit

    Attributes
    protected
    Definition Classes
    MethodSynth
  38. def enterClassDef(tree: Global.ClassDef): Unit

  39. def enterClassSymbol(tree: Global.ClassDef): Global.Symbol

  40. def enterCopyMethod(copyDef: Global.DefDef): Global.Symbol

  41. def enterDefDef(tree: Global.DefDef): Unit

  42. def enterExistingSym(sym: Global.Symbol): Analyzer.Context

  43. def enterGetterSetter(tree: Global.ValDef): Unit

    Definition Classes
    MethodSynth
  44. def enterIfNotThere(sym: Global.Symbol): Unit

  45. def enterImplicitWrapper(tree: Global.ClassDef): Unit

    Definition Classes
    MethodSynth
  46. def enterInScope(sym: Global.Symbol, scope: Global.Scope): Global.Symbol

    Enter symbol into given scope and return symbol itself

  47. def enterInScope(sym: Global.Symbol): Global.Symbol

    Enter symbol into context's scope and return symbol itself

  48. def enterLazyVal(tree: Global.ValDef, lazyAccessor: Global.Symbol): Global.TermSymbol

  49. def enterModuleDef(tree: Global.ModuleDef): Global.Symbol

  50. def enterModuleSymbol(tree: Global.ModuleDef): Global.Symbol

    Enter a module symbol.

  51. def enterPackage(tree: Global.PackageDef): Unit

  52. def enterSelf(self: Global.ValDef): Unit

  53. def enterStrictVal(tree: Global.ValDef): Global.TermSymbol

  54. def enterSym(tree: Global.Tree): Analyzer.Context

  55. def enterSyms(trees: List[Global.Tree]): Analyzer.Namer

  56. def enterSyntheticSym(tree: Global.Tree): Global.Symbol

  57. def enterTypeDef(tree: Global.TypeDef): Global.Symbol

  58. def enterValDef(tree: Global.ValDef): Unit

  59. def enterValSymbol(tree: Global.ValDef, sym: Global.TermSymbol): Global.TermSymbol

  60. def enterValueParams(vparamss: List[List[Global.ValDef]]): List[List[Global.Symbol]]

  61. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  62. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  63. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  64. def findCyclicalLowerBound(tp: Global.Type): Global.Symbol

  65. def formatted(fmtstr: String): String

    Implicit information
    This member is added by an implicit conversion from Analyzer.Namer to StringFormat[Analyzer.Namer] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  66. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  67. def handleSyntheticNameConflict(sym1: Global.Symbol, sym2: Global.Symbol): Unit

    Logic to handle name conflicts of synthetically generated symbols We handle right now: t6227

  68. def hasUnitType(sym: Global.Symbol): Boolean

    Definition Classes
    MethodSynth
  69. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  70. def inConstructorFlag: Long

  71. def includeParent(tpe: Global.Type, parent: Global.Symbol): Global.Type

  72. def isEnumConstant(vd: Global.ValDef): Boolean

    Determines whether this field holds an enum constant.

    Determines whether this field holds an enum constant. To qualify, the following conditions must be met:

    • The field's class has the ENUM flag set
    • The field's class extends java.lang.Enum
    • The field has the ENUM flag set
    • The field is static
    • The field is stable
  73. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  74. def moduleClassFlags(moduleFlags: Long): Long

  75. def moduleClassTypeCompleter(tree: Global.ModuleDef): Analyzer.TypeCompleter with Analyzer.LockingTypeCompleter with Global.FlagAgnosticCompleter

  76. def monoTypeCompleter(tree: Global.Tree): Analyzer.TypeCompleter with Analyzer.LockingTypeCompleter with Global.FlagAgnosticCompleter

  77. def namerOf(sym: Global.Symbol): Analyzer.Namer

  78. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  79. def noEnterGetterSetter(vd: Global.ValDef): Boolean

  80. def noFinishGetterSetter(vd: Global.ValDef): Boolean

  81. final def notify(): Unit

    Definition Classes
    AnyRef
  82. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  83. def owner: Global.Symbol

    Attributes
    protected
  84. def saveDefaultGetter(meth: Global.Symbol, default: Global.Symbol): Unit

  85. def selfTypeCompleter(tree: Global.Tree): Analyzer.TypeCompleter with Analyzer.LockingTypeCompleter with Global.FlagAgnosticCompleter

  86. def setPrivateWithin(tree: Global.MemberDef, sym: Global.Symbol): Global.Symbol

  87. def setPrivateWithin[T <: Global.Symbol](tree: Global.Tree, sym: T, mods: Global.Modifiers): T

  88. def standardAccessors(vd: Global.ValDef): List[DerivedFromValDef]

    Definition Classes
    MethodSynth
  89. def standardEnsureCompanionObject(cdef: Global.ClassDef, creator: (Global.ClassDef) ⇒ Global.Tree = companionModuleDef(_)): Global.Symbol

    Default implementation of ensureCompanionObject.

    Default implementation of ensureCompanionObject. Can be overridden by analyzer plugins (see AnalyzerPlugins.pluginsEnsureCompanionObject for more details)

  90. def standardEnterSym(tree: Global.Tree): Analyzer.Context

    Default implementation of enterSym.

    Default implementation of enterSym. Can be overridden by analyzer plugins (see AnalyzerPlugins.pluginsEnterSym for more details)

  91. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  92. def toString(): String

    Definition Classes
    AnyRef → Any
  93. def typeErrorHandler[T](tree: Global.Tree, alt: T): PartialFunction[Throwable, T]

  94. def typeSig(tree: Global.Tree): Global.Type

    TypeSig is invoked by monoTypeCompleters.

    TypeSig is invoked by monoTypeCompleters. It returns the type of a definition which is then assigned to the corresponding symbol (typeSig itself does not need to assign the type to the symbol, but it can if necessary).

  95. val typer: Analyzer.Typer

  96. def updatePosFlags(sym: Global.Symbol, pos: Global.Position, flags: Long): Global.Symbol

  97. def validate(sym: Global.Symbol): Unit

    Check that symbol's definition is well-formed.

    Check that symbol's definition is well-formed. This means:

    • no conflicting modifiers
    • abstract modifier only for classes
    • override modifier never for classes
    • def modifier never for parameters of case classes
    • declarations only in mixins or abstract classes (when not @native)
  98. def validateCompanionDefs(tree: Global.ImplDef): Unit

    Given a ClassDef or ModuleDef, verifies there isn't a companion which has been defined in a separate file.

  99. def validateParam(tree: Global.ValDef): Unit

    Definition Classes
    MethodSynth
  100. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  101. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  102. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  103. def [B](y: B): (Analyzer.Namer, B)

    Implicit information
    This member is added by an implicit conversion from Analyzer.Namer to ArrowAssoc[Analyzer.Namer] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc

Inherited from Analyzer.MethodSynth

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd from Analyzer.Namer to any2stringadd[Analyzer.Namer]

Inherited by implicit conversion StringFormat from Analyzer.Namer to StringFormat[Analyzer.Namer]

Inherited by implicit conversion Ensuring from Analyzer.Namer to Ensuring[Analyzer.Namer]

Inherited by implicit conversion ArrowAssoc from Analyzer.Namer to ArrowAssoc[Analyzer.Namer]

Ungrouped