class MacroAnnotationNamer extends (MacroAnnotationNamers.this)#Namer
- Alphabetic
- By Inheritance
- MacroAnnotationNamer
- Namer
- NamerContextErrors
- MethodSynth
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new MacroAnnotationNamer(context: (MacroAnnotationNamers.this)#Context)
Type Members
- abstract class MaybeExpandeeCompanionCompleter extends MaybeExpandeeCompleter
- abstract class MaybeExpandeeCompleter extends (MacroAnnotationNamers.this)#TypeCompleter with (MacroAnnotationNamers.this)#LockingTypeCompleter with Global.FlagAssigningCompleter
- trait DerivedAccessor extends AnyRef
- Definition Classes
- MethodSynth
- case class Getter(tree: Global.ValDef) extends Namers.Namer.DerivedAccessor with Product with Serializable
- Definition Classes
- MethodSynth
- case class Setter(tree: Global.ValDef) extends Namers.Namer.DerivedAccessor with Product with Serializable
- Definition Classes
- MethodSynth
- class AccessorTypeCompleter extends Analyzer.TypeCompleterBase[Global.ValDef]
- Definition Classes
- Namer
- class ImportTypeCompleter extends Analyzer.TypeCompleterBase[Global.Import]
- Definition Classes
- Namer
- class ModuleClassTypeCompleter extends Analyzer.TypeCompleterBase[Global.ModuleDef]
- Definition Classes
- Namer
- class MonoTypeCompleter extends Analyzer.TypeCompleterBase[Global.MemberDef]
- Definition Classes
- Namer
- class SelfTypeCompleter extends Analyzer.TypeCompleterBase[Global.Tree]
- Definition Classes
- Namer
- class ValTypeCompleter extends Analyzer.TypeCompleterBase[Global.ValDef]
- Definition Classes
- Namer
Value Members
- object NamerErrorGen
- Definition Classes
- NamerContextErrors
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- 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
- 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()
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def InferredImplicitError(tree: Global.Tree, inferred: Global.Type, cx: (MacroAnnotationNamers.this)#Context): Unit
- Definition Classes
- NamerContextErrors
- def accessorTypeCompleter(valDef: Global.ValDef, missingTpt: Boolean, isBean: Boolean, isSetter: Boolean): AccessorTypeCompleter
- Definition Classes
- Namer
- 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:
- 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
- def addCopyMethod(cdef: Global.ClassDef, namer: (MacroAnnotationNamers.this)#Namer): Unit
- Definition Classes
- Namer
- def annotSig(annotations: List[Global.Tree], annotee: Global.Tree, pred: (Global.AnnotationInfo) => Boolean): List[Global.AnnotationInfo]
- Definition Classes
- Namer
- def applicableTypeParams(owner: Global.Symbol): List[Global.Symbol]
- Definition Classes
- Namer
- def applyUnapplyMethodCompleter(un_applyDef: Global.DefDef, companionContext: (MacroAnnotationNamers.this)#Context): (MacroAnnotationNamers.this)#TypeCompleter
- Definition Classes
- Namer
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def assignAndEnterFinishedSymbol(tree: Global.MemberDef): Global.Symbol
- Definition Classes
- Namer
- def assignMemberSymbol(tree: Global.MemberDef, mask: Long = -1L): Global.Symbol
- Definition Classes
- Namer
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def completerOf(tree: Global.MemberDef): (MacroAnnotationNamers.this)#TypeCompleter
- Definition Classes
- Namer
- def conflict(newS: Global.Symbol, oldS: Global.Symbol): Boolean
- Attributes
- protected
- Definition Classes
- Namer
- val context: (MacroAnnotationNamers.this)#Context
- Definition Classes
- Namer
- def contextFile: AbstractFile
- Definition Classes
- Namer
- def copyMethodCompleter(copyDef: Global.DefDef): (MacroAnnotationNamers.this)#TypeCompleter
- Definition Classes
- Namer
- def createAssignAndEnterSymbol(tree: Global.Tree, mask: Long = -1L): Global.Symbol
- Attributes
- protected
- def createImportSymbol(tree: Global.Import): Global.TermSymbol
- Definition Classes
- Namer
- def createInnerNamer(): (MacroAnnotationNamers.this)#Namer
- Definition Classes
- Namer
- 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
- def createMethod(accessQual: Global.MemberDef, name: Global.TermName, pos: Global.Position, flags: Long): Global.MethodSymbol
- Definition Classes
- Namer
- def createNamer(tree: Global.Tree): (MacroAnnotationNamers.this)#Namer
- Definition Classes
- Namer
- def createPackageSymbol(pos: Global.Position, pid: Global.RefTree): Global.Symbol
All PackageClassInfoTypes come from here.
All PackageClassInfoTypes come from here.
- Definition Classes
- Namer
- def createPrimaryConstructorParameterNamer: (MacroAnnotationNamers.this)#Namer
- Definition Classes
- Namer
- def deriveAccessors(vd: Global.ValDef): Boolean
- Definition Classes
- Namer
- def enclosingNamerWithScope(scope: Global.Scope): (MacroAnnotationNamers.this)#Namer
- Definition Classes
- Namer
- 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
- 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
- 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
- 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
- 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
- def enterClassDef(tree: Global.ClassDef): Unit
- Definition Classes
- Namer
- def enterClassSymbol(tree: Global.ClassDef): Global.Symbol
- Definition Classes
- Namer
- def enterDefDef(tree: Global.DefDef): Unit
- Definition Classes
- Namer
- 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
- def enterExistingSym(sym: Global.Symbol, tree: Global.Tree): (MacroAnnotationNamers.this)#Context
- Definition Classes
- Namer
- def enterGetterSetter(tree: Global.ValDef): Unit
- Definition Classes
- MethodSynth
- def enterIfNotThere(sym: Global.Symbol): Unit
- Definition Classes
- Namer
- def enterImplicitWrapper(classDef: Global.ClassDef): Unit
- Definition Classes
- MethodSynth
- 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
- 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
- def enterModuleDef(tree: Global.ModuleDef): Unit
- Definition Classes
- Namer
- def enterModuleSymbol(tree: Global.ModuleDef): Global.Symbol
Enter a module symbol.
Enter a module symbol.
- Definition Classes
- Namer
- def enterPackage(tree: Global.PackageDef): Unit
- Definition Classes
- Namer
- def enterSelf(self: Global.ValDef): Unit
- Definition Classes
- Namer
- def enterSym(tree: Global.Tree): (MacroAnnotationNamers.this)#Context
- Definition Classes
- Namer
- def enterSyms(trees: List[Global.Tree]): Unit
- Definition Classes
- Namer
- def enterSyntheticSym(tree: Global.Tree): Global.Symbol
- Definition Classes
- Namer
- def enterTypeDef(tree: Global.TypeDef): Unit
- Definition Classes
- Namer
- def enterValDef(tree: Global.ValDef): Unit
- Definition Classes
- Namer
- def enterValueParams(vparamss: List[List[Global.ValDef]]): List[List[Global.Symbol]]
- Definition Classes
- Namer
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def expandAnnotationMacro(original: Global.Tree, expandee: Global.Tree): Option[List[Global.Tree]]
- Attributes
- protected
- def expandMacroAnnotations(stats: List[Global.Tree]): List[Global.Tree]
- Definition Classes
- MacroAnnotationNamer → Namer
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- def findCyclicalLowerBound(tp: Global.Type): Global.Symbol
- Definition Classes
- Namer
- Annotations
- @nowarn()
- def finishSymbol(tree: Global.Tree): Unit
- Attributes
- protected
- def finishSymbolMaybeExpandee(tree: Global.Tree, annZippers: List[ast.Trees.treeInfo.AnnotationZipper]): Unit
- Attributes
- protected
- def finishSymbolMaybeExpandeeCompanion(tree: Global.Tree, m: Global.Symbol, c: Global.Symbol): Unit
- Attributes
- protected
- def finishSymbolNotExpandee(tree: Global.Tree): Unit
- Attributes
- protected
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- 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
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def implicitFactoryMethodCompleter(tree: Global.DefDef, classSym: Global.Symbol): (MacroAnnotationNamers.this)#CompleterWrapper
- Definition Classes
- Namer
- def importTypeCompleter(tree: Global.Import): ImportTypeCompleter
- Definition Classes
- Namer
- def inConstructorFlag: Long
- Definition Classes
- Namer
- def includeParent(tpe: Global.Type, parent: Global.Symbol): Global.Type
- Definition Classes
- Namer
- 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
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def moduleClassFlags(moduleFlags: Long): Long
- Definition Classes
- Namer
- def moduleClassTypeCompleter(tree: Global.ModuleDef): ModuleClassTypeCompleter
- Definition Classes
- Namer
- def monoTypeCompleter(tree: Global.MemberDef): MonoTypeCompleter
- Definition Classes
- Namer
- def namerOf(sym: Global.Symbol): (MacroAnnotationNamers.this)#Namer
- Definition Classes
- Namer
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def owner: Global.Symbol
- Attributes
- protected
- Definition Classes
- Namer
- def patchedCompanionSymbolOf(original: Global.Symbol, ctx: (MacroAnnotationNamers.this)#Context): Global.Symbol
- Attributes
- protected
- def prepareAnnotationMacro(ann: Global.Tree, mann: Global.Symbol, sym: Global.Symbol, annottee: Global.Tree, expandee: Global.Tree): Global.Tree
- Attributes
- protected
- def probeMacroAnnotation(context: (MacroAnnotationNamers.this)#Context, tpt: Global.Tree): Global.Symbol
- Attributes
- protected
- def saveDefaultGetter(meth: Global.Symbol, default: Global.Symbol): Unit
- Definition Classes
- Namer
- def selfTypeCompleter(tree: Global.Tree): SelfTypeCompleter
- Definition Classes
- Namer
- def setPrivateWithin(tree: Global.MemberDef, sym: Global.Symbol): sym.type
- Definition Classes
- Namer
- def setPrivateWithin[T <: Global.Symbol](tree: Global.Tree, sym: T, mods: Global.Modifiers): sym.type
- Definition Classes
- Namer
- 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
- 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
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- def typeErrorHandler[T](tree: Global.Tree, alt: T): PartialFunction[Throwable, T]
- Definition Classes
- Namer
- 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
- val typer: (MacroAnnotationNamers.this)#Typer
- Definition Classes
- Namer
- def updatePosFlags(sym: Global.Symbol, pos: Global.Position, flags: Long): sym.type
- Definition Classes
- Namer
- def valTypeCompleter(tree: Global.ValDef): ValTypeCompleter
- Definition Classes
- Namer
- 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 classesoverride
modifier never for classesdef
modifier never for parameters of case classes- declarations only in mixins or abstract classes (when not @native)
- Definition Classes
- Namer
- 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
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- 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 callingensureCompanionObject
or byfinishSymbol
).Does the same as
ensureCompanionObject
, but also makes sure that the returned symbol destroys itself if noone ends up using it (either by callingensureCompanionObject
or byfinishSymbol
).- Attributes
- protected
Deprecated Value Members
- 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 ofvalue.formatted(formatString)
, or use thef""
string interpolator. In Java 15 and later,formatted
resolves to the new method in String which has reversed parameters.
- 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.
The Scala compiler and reflection APIs.