class GenerateBridges extends EnterBridges
- Alphabetic
- By Inheritance
- GenerateBridges
- EnterBridges
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new GenerateBridges(unit: Global.CompilationUnit, root: Global.Symbol)
Value Members
- 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 GenerateBridges toany2stringadd[GenerateBridges] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
- def ->[B](y: B): (GenerateBridges, B)
- Implicit
- This member is added by an implicit conversion from GenerateBridges toArrowAssoc[GenerateBridges] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def addBridge(bridge: Global.Symbol, member: Global.Symbol, other: Global.Symbol): Unit
- Definition Classes
- GenerateBridges → EnterBridges
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- val bridgeTarget: HashMap[Global.Symbol, Global.Symbol]
- Definition Classes
- EnterBridges
- var bridges: collection.immutable.List[Global.Tree]
- val bridgesScope: Global.Scope
- Definition Classes
- EnterBridges
- def checkBridgeOverrides(member: Global.Symbol, other: Global.Symbol, bridge: Global.Symbol): collection.Seq[(Global.Position, String)]
Check that a bridge only overrides members that are also overridden by the original member.
Check that a bridge only overrides members that are also overridden by the original member.
That is, check that the signature of the bridge method does not accidentally override some other method, possibly written by the user or inherited.
As an optimization, only perform this check for susceptible bridges.
This test is necessary for members that have a value class in their type. Such members are special because their types after erasure and after post-erasure differ. This means we generate them after erasure, but the post-erasure transform might introduce a name clash. The present method guards against these name clashes.
A bridge might also introduce a signature that accidentally matches an existing method. In that case, it will have a parameter erased to the upper bound of a type parameter in the signature of the member overridden by the original member. (That upper bound might be
Object
.) By contrast, erasure of a parameterList[A]
would already have induced an error if there were a matching member.- member
The original member
- other
The overridden symbol for which the bridge was generated
- bridge
The bridge
- Definition Classes
- EnterBridges
- def checkPair(pair: SymbolPair): Unit
TODO - work through this logic with a fine-toothed comb, incorporating into SymbolPairs where appropriate.
TODO - work through this logic with a fine-toothed comb, incorporating into SymbolPairs where appropriate.
- Definition Classes
- EnterBridges
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def computeAndEnter(): Unit
- Definition Classes
- EnterBridges
- def ensuring(cond: (GenerateBridges) => Boolean, msg: => Any): GenerateBridges
- Implicit
- This member is added by an implicit conversion from GenerateBridges toEnsuring[GenerateBridges] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: (GenerateBridges) => Boolean): GenerateBridges
- Implicit
- This member is added by an implicit conversion from GenerateBridges toEnsuring[GenerateBridges] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean, msg: => Any): GenerateBridges
- Implicit
- This member is added by an implicit conversion from GenerateBridges toEnsuring[GenerateBridges] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean): GenerateBridges
- Implicit
- This member is added by an implicit conversion from GenerateBridges toEnsuring[GenerateBridges] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- def generate(): (List[Global.Tree], Set[Global.Symbol])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def makeBridgeDefDef(bridge: Global.Symbol, member: Global.Symbol, other: Global.Symbol): Global.DefDef
- 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()
- val opc: Global.overridingPairs.BridgesCursor
- Definition Classes
- EnterBridges
- val site: Global.Type
- Definition Classes
- EnterBridges
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- var toBeRemoved: Set[Global.Symbol]
- def toString(): String
- Definition Classes
- AnyRef → Any
- 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()
Deprecated Value Members
- def formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from GenerateBridges toStringFormat[GenerateBridges] 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): (GenerateBridges, B)
- Implicit
- This member is added by an implicit conversion from GenerateBridges toArrowAssoc[GenerateBridges] 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.