Scala Compiler2.13.18 < Back


# Packages

-  package root

  The Scala compiler and reflection APIs.

  The Scala compiler and reflection APIs.

  Definition Classes
    root
-  package scala
  Definition Classes
    root
-  package tools
  Definition Classes
    scala
-  package nsc
  Definition Classes
    tools
-  package typechecker
  Definition Classes
    nsc
-  trait MacroAnnotationNamers extends AnyRef
  Definition Classes
    typechecker
- MacroAnnotationNamer

c

scala.tools.nsc.typechecker.MacroAnnotationNamers

# MacroAnnotationNamer

###

#### class MacroAnnotationNamer extends (MacroAnnotationNamers.this)#Namer

Source
  MacroAnnotationNamers.scala

Linear Supertypes
(MacroAnnotationNamers.this)#Namer, (MacroAnnotationNamers.this)#NamerContextErrors, (MacroAnnotationNamers.this)#MethodSynth, AnyRef, Any
Type Hierarchy

Ordering

1. Alphabetic
2. By Inheritance

Inherited

1. MacroAnnotationNamer
2. Namer
3. NamerContextErrors
4. MethodSynth
5. AnyRef
6. Any

Implicitly

1. by any2stringadd
2. by StringFormat
3. by Ensuring
4. by ArrowAssoc

1. Hide All
2. Show All

Visibility

1. Public
2. Protected

### Instance Constructors

1.  new MacroAnnotationNamer(context: (MacroAnnotationNamers.this)#Context)

### Type Members

1.  abstract class MaybeExpandeeCompanionCompleter extends MaybeExpandeeCompleter
2.  abstract class MaybeExpandeeCompleter extends (MacroAnnotationNamers.this)#TypeCompleter with (MacroAnnotationNamers.this)#LockingTypeCompleter with Global.FlagAssigningCompleter
3.  trait DerivedAccessor extends AnyRef
   Definition Classes
     MethodSynth
4.  case class Getter(tree: Global.ValDef) extends Namers.Namer.DerivedAccessor with Product with Serializable
   Definition Classes
     MethodSynth
5.  case class Setter(tree: Global.ValDef) extends Namers.Namer.DerivedAccessor with Product with Serializable
   Definition Classes
     MethodSynth
6.  class AccessorTypeCompleter extends Analyzer.TypeCompleterBase[Global.ValDef]
   Definition Classes
     Namer
7.  class ImportTypeCompleter extends Analyzer.TypeCompleterBase[Global.Import]
   Definition Classes
     Namer
8.  class ModuleClassTypeCompleter extends Analyzer.TypeCompleterBase[Global.ModuleDef]
   Definition Classes
     Namer
9.  class MonoTypeCompleter extends Analyzer.TypeCompleterBase[Global.MemberDef]
   Definition Classes
     Namer
10.  class SelfTypeCompleter extends Analyzer.TypeCompleterBase[Global.Tree]
    Definition Classes
      Namer
11.  class ValTypeCompleter extends Analyzer.TypeCompleterBase[Global.ValDef]
    Definition Classes
      Namer

### Value Members

1.  object NamerErrorGen
   Definition Classes
     NamerContextErrors
2.  final def !=(arg0: Any): Boolean
   Definition Classes
     AnyRef → Any
3.  final def ##: Int
   Definition Classes
     AnyRef → Any
4.  def +(other: String): String
   Implicit
     This member is added by an implicit conversion from (MacroAnnotationNamers.this)#MacroAnnotationNamer toany2stringadd[(MacroAnnotationNamers.this)#MacroAnnotationNamer] performed by method any2stringadd in scala.Predef.
   Definition Classes
     any2stringadd
5.  def ->[B](y: B): ((MacroAnnotationNamers.this)#MacroAnnotationNamer, B)
   Implicit
     This member is added by an implicit conversion from (MacroAnnotationNamers.this)#MacroAnnotationNamer toArrowAssoc[(MacroAnnotationNamers.this)#MacroAnnotationNamer] performed by method ArrowAssoc in scala.Predef.
   Definition Classes
     ArrowAssoc
   Annotations
     @inline()
6.  final def ==(arg0: Any): Boolean
   Definition Classes
     AnyRef → Any
7.  def InferredImplicitError(tree: Global.Tree, inferred: Global.Type, cx: (MacroAnnotationNamers.this)#Context): Unit
   Definition Classes
     NamerContextErrors
8.  def accessorTypeCompleter(valDef: Global.ValDef, missingTpt: Boolean, isBean: Boolean, isSetter: Boolean): AccessorTypeCompleter
   Definition Classes
     Namer
9.  def addApplyUnapply(cdef: Global.ClassDef, namer: (MacroAnnotationNamers.this)#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)

   Definition Classes
     Namer
10.  def addCopyMethod(cdef: Global.ClassDef, namer: (MacroAnnotationNamers.this)#Namer): Unit
    Definition Classes
      Namer
11.  def annotSig(annotations: List[Global.Tree], annotee: Global.Tree, pred: (Global.AnnotationInfo) => Boolean): List[Global.AnnotationInfo]
    Definition Classes
      Namer
12.  def applicableTypeParams(owner: Global.Symbol): List[Global.Symbol]
    Definition Classes
      Namer
13.  def applyUnapplyMethodCompleter(un_applyDef: Global.DefDef, companionContext: (MacroAnnotationNamers.this)#Context): (MacroAnnotationNamers.this)#TypeCompleter
    Definition Classes
      Namer
14.  final def asInstanceOf[T0]: T0
    Definition Classes
      Any
15.  def assignAndEnterFinishedSymbol(tree: Global.MemberDef): Global.Symbol
    Definition Classes
      Namer
16.  def assignMemberSymbol(tree: Global.MemberDef, mask: Long = -1L): Global.Symbol
    Definition Classes
      Namer
17.  def clone(): AnyRef
    Attributes
      protected[lang]
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.CloneNotSupportedException]) @native()
18.  def completerOf(tree: Global.MemberDef): (MacroAnnotationNamers.this)#TypeCompleter
    Definition Classes
      Namer
19.  val context: (MacroAnnotationNamers.this)#Context
    Definition Classes
      Namer
20.  def contextFile: AbstractFile
    Definition Classes
      Namer
21.  def copyMethodCompleter(copyDef: Global.DefDef): (MacroAnnotationNamers.this)#TypeCompleter
    Definition Classes
      Namer
22.  def createAssignAndEnterSymbol(tree: Global.Tree, mask: Long = -1L): Global.Symbol
    Attributes
      protected
23.  def createImportSymbol(tree: Global.Import): Global.TermSymbol
    Definition Classes
      Namer
24.  def createInnerNamer(): (MacroAnnotationNamers.this)#Namer
    Definition Classes
      Namer
25.  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.

    Definition Classes
      Namer
26.  def createMethod(accessQual: Global.MemberDef, name: Global.TermName, pos: Global.Position, flags: Long): Global.MethodSymbol
    Definition Classes
      Namer
27.  def createNamer(tree: Global.Tree): (MacroAnnotationNamers.this)#Namer
    Definition Classes
      Namer
28.  def createPackageSymbol(pos: Global.Position, pid: Global.RefTree): Global.Symbol

    All PackageClassInfoTypes come from here.

    All PackageClassInfoTypes come from here.

    Definition Classes
      Namer
29.  def createPrimaryConstructorParameterNamer: (MacroAnnotationNamers.this)#Namer
    Definition Classes
      Namer
30.  def deriveAccessors(vd: Global.ValDef): Boolean
    Definition Classes
      Namer
31.  def enclosingNamerWithScope(scope: Global.Scope): (MacroAnnotationNamers.this)#Namer
    Definition Classes
      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.

    Definition Classes
      Namer
33.  def ensuring(cond: ((MacroAnnotationNamers.this)#MacroAnnotationNamer) => Boolean, msg: => Any): (MacroAnnotationNamers.this)#MacroAnnotationNamer
    Implicit
      This member is added by an implicit conversion from (MacroAnnotationNamers.this)#MacroAnnotationNamer toEnsuring[(MacroAnnotationNamers.this)#MacroAnnotationNamer] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring
34.  def ensuring(cond: ((MacroAnnotationNamers.this)#MacroAnnotationNamer) => Boolean): (MacroAnnotationNamers.this)#MacroAnnotationNamer
    Implicit
      This member is added by an implicit conversion from (MacroAnnotationNamers.this)#MacroAnnotationNamer toEnsuring[(MacroAnnotationNamers.this)#MacroAnnotationNamer] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring
35.  def ensuring(cond: Boolean, msg: => Any): (MacroAnnotationNamers.this)#MacroAnnotationNamer
    Implicit
      This member is added by an implicit conversion from (MacroAnnotationNamers.this)#MacroAnnotationNamer toEnsuring[(MacroAnnotationNamers.this)#MacroAnnotationNamer] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring
36.  def ensuring(cond: Boolean): (MacroAnnotationNamers.this)#MacroAnnotationNamer
    Implicit
      This member is added by an implicit conversion from (MacroAnnotationNamers.this)#MacroAnnotationNamer toEnsuring[(MacroAnnotationNamers.this)#MacroAnnotationNamer] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring
37.  def enterClassDef(tree: Global.ClassDef): Unit
    Definition Classes
      Namer
38.  def enterClassSymbol(tree: Global.ClassDef): Global.Symbol
    Definition Classes
      Namer
39.  def enterDefDef(tree: Global.DefDef): Unit
    Definition Classes
      Namer
40.  def enterDefaultGetters(meth: Global.Symbol, ddef: Global.DefDef, vparamss: List[List[Global.ValDef]], tparams: List[Global.TypeDef]): Unit

    For every default argument, insert a method symbol computing that default

    For every default argument, insert a method symbol computing that default

    Definition Classes
      Namer
41.  def enterExistingSym(sym: Global.Symbol, tree: Global.Tree): (MacroAnnotationNamers.this)#Context
    Definition Classes
      Namer
42.  def enterGetterSetter(tree: Global.ValDef): Unit
    Definition Classes
      MethodSynth
43.  def enterIfNotThere(sym: Global.Symbol): Unit
    Definition Classes
      Namer
44.  def enterImplicitWrapper(classDef: Global.ClassDef): Unit
    Definition Classes
      MethodSynth
45.  def enterInScope(sym: Global.Symbol, scope: Global.Scope): sym.type

    Enter symbol into given scope and return symbol itself

    Enter symbol into given scope and return symbol itself

    Definition Classes
      Namer
46.  def enterInScope(sym: Global.Symbol): sym.type

    Enter symbol into context's scope and return symbol itself

    Enter symbol into context's scope and return symbol itself

    Definition Classes
      Namer
47.  def enterModuleDef(tree: Global.ModuleDef): Unit
    Definition Classes
      Namer
48.  def enterModuleSymbol(tree: Global.ModuleDef): Global.Symbol

    Enter a module symbol.

    Enter a module symbol.

    Definition Classes
      Namer
49.  def enterPackage(tree: Global.PackageDef): Unit
    Definition Classes
      Namer
50.  def enterSelf(self: Global.ValDef): Unit
    Definition Classes
      Namer
51.  def enterSym(tree: Global.Tree): (MacroAnnotationNamers.this)#Context
    Definition Classes
      Namer
52.  def enterSyms(trees: List[Global.Tree]): Unit
    Definition Classes
      Namer
53.  def enterSyntheticSym(tree: Global.Tree): Global.Symbol
    Definition Classes
      Namer
54.  def enterTypeDef(tree: Global.TypeDef): Unit
    Definition Classes
      Namer
55.  def enterValDef(tree: Global.ValDef): Unit
    Definition Classes
      Namer
56.  def enterValueParams(vparamss: List[List[Global.ValDef]]): List[List[Global.Symbol]]
    Definition Classes
      Namer
57.  final def eq(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef
58.  def equals(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef → Any
59.  def expandAnnotationMacro(original: Global.Tree, expandee: Global.Tree): Option[List[Global.Tree]]
    Attributes
      protected
60.  def expandMacroAnnotations(stats: List[Global.Tree]): List[Global.Tree]
    Definition Classes
      MacroAnnotationNamer → Namer
61.  def finalize(): Unit
    Attributes
      protected[lang]
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.Throwable])
62.  def findCyclicalLowerBound(tp: Global.Type): Global.Symbol
    Definition Classes
      Namer
    Annotations
      @nowarn()
63.  def finishSymbol(tree: Global.Tree): Unit
    Attributes
      protected
64.  def finishSymbolMaybeExpandee(tree: Global.Tree, annZippers: List[ast.Trees.treeInfo.AnnotationZipper]): Unit
    Attributes
      protected
65.  def finishSymbolMaybeExpandeeCompanion(tree: Global.Tree, m: Global.Symbol, c: Global.Symbol): Unit
    Attributes
      protected
66.  def finishSymbolNotExpandee(tree: Global.Tree): Unit
    Attributes
      protected
67.  final def getClass(): Class[_ <: AnyRef]
    Definition Classes
      AnyRef → Any
    Annotations
      @native()
68.  def handleSyntheticNameConflict(sym1: Global.Symbol, sym2: Global.Symbol): Unit

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

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

    Definition Classes
      Namer
69.  def hashCode(): Int
    Definition Classes
      AnyRef → Any
    Annotations
      @native()
70.  def implicitFactoryMethodCompleter(tree: Global.DefDef, classSym: Global.Symbol): (MacroAnnotationNamers.this)#CompleterWrapper
    Definition Classes
      Namer
71.  def importTypeCompleter(tree: Global.Import): ImportTypeCompleter
    Definition Classes
      Namer
72.  def inConstructorFlag: Long
    Definition Classes
      Namer
73.  def includeParent(tpe: Global.Type, parent: Global.Symbol): Global.Type
    Definition Classes
      Namer
74.  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
    Definition Classes
      Namer
75.  final def isInstanceOf[T0]: Boolean
    Definition Classes
      Any
76.  def moduleClassFlags(moduleFlags: Long): Long
    Definition Classes
      Namer
77.  def moduleClassTypeCompleter(tree: Global.ModuleDef): ModuleClassTypeCompleter
    Definition Classes
      Namer
78.  def monoTypeCompleter(tree: Global.MemberDef): MonoTypeCompleter
    Definition Classes
      Namer
79.  def namerOf(sym: Global.Symbol): (MacroAnnotationNamers.this)#Namer
    Definition Classes
      Namer
80.  final def ne(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef
81.  final def notify(): Unit
    Definition Classes
      AnyRef
    Annotations
      @native()
82.  final def notifyAll(): Unit
    Definition Classes
      AnyRef
    Annotations
      @native()
83.  def owner: Global.Symbol
    Attributes
      protected
    Definition Classes
      Namer
84.  def patchedCompanionSymbolOf(original: Global.Symbol, ctx: (MacroAnnotationNamers.this)#Context): Global.Symbol
    Attributes
      protected
85.  def prepareAnnotationMacro(ann: Global.Tree, mann: Global.Symbol, sym: Global.Symbol, annottee: Global.Tree, expandee: Global.Tree): Global.Tree
    Attributes
      protected
86.  def probeMacroAnnotation(context: (MacroAnnotationNamers.this)#Context, tpt: Global.Tree): Global.Symbol
    Attributes
      protected
87.  def saveDefaultGetter(meth: Global.Symbol, default: Global.Symbol): Unit
    Definition Classes
      Namer
88.  def selfTypeCompleter(tree: Global.Tree): SelfTypeCompleter
    Definition Classes
      Namer
89.  def setPrivateWithin(tree: Global.MemberDef, sym: Global.Symbol): sym.type
    Definition Classes
      Namer
90.  def setPrivateWithin[T <: Global.Symbol](tree: Global.Tree, sym: T, mods: Global.Modifiers): sym.type
    Definition Classes
      Namer
91.  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)

    Definition Classes
      MacroAnnotationNamer → Namer
92.  def standardEnterSym(tree: Global.Tree): (MacroAnnotationNamers.this)#Context

    Default implementation of `enterSym`.

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

    Definition Classes
      MacroAnnotationNamer → Namer
93.  final def synchronized[T0](arg0: => T0): T0
    Definition Classes
      AnyRef
94.  def toString(): String
    Definition Classes
      AnyRef → Any
95.  def typeErrorHandler[T](tree: Global.Tree, alt: T): PartialFunction[Throwable, T]
    Definition Classes
      Namer
96.  def typeSig(tree: Global.Tree, annotSigs: List[Global.AnnotationInfo]): 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).

    Definition Classes
      Namer
97.  val typer: (MacroAnnotationNamers.this)#Typer
    Definition Classes
      Namer
98.  def updatePosFlags(sym: Global.Symbol, pos: Global.Position, flags: Long): sym.type
    Definition Classes
      Namer
99.  def valTypeCompleter(tree: Global.ValDef): ValTypeCompleter
    Definition Classes
      Namer
100.  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)
     Definition Classes
       Namer
101.  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.

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

     Definition Classes
       Namer
102.  final def wait(): Unit
     Definition Classes
       AnyRef
     Annotations
       @throws(classOf[java.lang.InterruptedException])
103.  final def wait(arg0: Long, arg1: Int): Unit
     Definition Classes
       AnyRef
     Annotations
       @throws(classOf[java.lang.InterruptedException])
104.  final def wait(arg0: Long): Unit
     Definition Classes
       AnyRef
     Annotations
       @throws(classOf[java.lang.InterruptedException]) @native()
105.  def weakEnsureCompanionObject(cdef: Global.ClassDef, creator: (Global.ClassDef) => Global.Tree = companionModuleDef(_)): Global.Symbol

     Does the same as `ensureCompanionObject`, but also makes sure that the returned symbol destroys itself if noone ends up using it (either by calling `ensureCompanionObject` or by `finishSymbol`).

     Does the same as `ensureCompanionObject`, but also makes sure that the returned symbol destroys itself if noone ends up using it (either by calling `ensureCompanionObject` or by `finishSymbol`).

     Attributes
       protected

### Deprecated Value Members

1.  def formatted(fmtstr: String): String
   Implicit
     This member is added by an implicit conversion from (MacroAnnotationNamers.this)#MacroAnnotationNamer toStringFormat[(MacroAnnotationNamers.this)#MacroAnnotationNamer] performed by method StringFormat in scala.Predef.
   Definition Classes
     StringFormat
   Annotations
     @deprecated @inline()
   Deprecated

     (Since version 2.12.16) Use `formatString.format(value)` instead of `value.formatted(formatString)`, or use the `f""` string interpolator. In Java 15 and later, `formatted` resolves to the new method in String which has reversed parameters.

2.  def →[B](y: B): ((MacroAnnotationNamers.this)#MacroAnnotationNamer, B)
   Implicit
     This member is added by an implicit conversion from (MacroAnnotationNamers.this)#MacroAnnotationNamer toArrowAssoc[(MacroAnnotationNamers.this)#MacroAnnotationNamer] performed by method ArrowAssoc in scala.Predef.
   Definition Classes
     ArrowAssoc
   Annotations
     @deprecated
   Deprecated

     (Since version 2.13.0) Use `->` instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.

### Inherited from (MacroAnnotationNamers.this)#Namer

### Inherited from (MacroAnnotationNamers.this)#NamerContextErrors

### Inherited from (MacroAnnotationNamers.this)#MethodSynth

### Inherited from AnyRef

### Inherited from Any

### Inherited by implicit conversion any2stringadd from(MacroAnnotationNamers.this)#MacroAnnotationNamer to any2stringadd[(MacroAnnotationNamers.this)#MacroAnnotationNamer]

### Inherited by implicit conversion StringFormat from(MacroAnnotationNamers.this)#MacroAnnotationNamer to StringFormat[(MacroAnnotationNamers.this)#MacroAnnotationNamer]

### Inherited by implicit conversion Ensuring from(MacroAnnotationNamers.this)#MacroAnnotationNamer to Ensuring[(MacroAnnotationNamers.this)#MacroAnnotationNamer]

### Inherited by implicit conversion ArrowAssoc from(MacroAnnotationNamers.this)#MacroAnnotationNamer to ArrowAssoc[(MacroAnnotationNamers.this)#MacroAnnotationNamer]

### Ungrouped