Packages

class EnterBridges extends AnyRef

Source
Erasure.scala
Linear Supertypes
AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. EnterBridges
  2. AnyRef
  3. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new EnterBridges(unit: Global.CompilationUnit, root: Global.Symbol)

Value Members

  1. val bridgeTarget: HashMap[Global.Symbol, Global.Symbol]
  2. val bridgesScope: Global.Scope
  3. def checkBridgeOverrides(member: Global.Symbol, other: Global.Symbol, bridge: Global.Symbol): 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. This test is necessary only 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.

    member

    The original member

    other

    The overridden symbol for which the bridge was generated

    bridge

    The bridge

  4. def checkPair(pair: SymbolPair): Unit

    TODO - work through this logic with a fine-toothed comb, incorporating into SymbolPairs where appropriate.

  5. def computeAndEnter(): Unit
  6. val opc: BridgesCursor
  7. val site: Global.Type