org.scalajs.core.tools.optimizer.GenIncOptimizer

MethodImpl

abstract class MethodImpl extends OptimizerCore.MethodImpl with AbstractMethodID with Unregisterable

A method implementation. It must be concrete, and belong either to a Class or a TraitImpl.

A single instance is **not** concurrency safe (unless otherwise noted in a method comment). However, the global state modifications are concurrency safe.

Linear Supertypes
Unregisterable, AbstractMethodID, OptimizerCore.MethodImpl, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. MethodImpl
  2. Unregisterable
  3. AbstractMethodID
  4. MethodImpl
  5. AnyRef
  6. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new MethodImpl(owner: MethodContainer, encodedName: String)

Abstract Value Members

  1. abstract def protectTag(): Boolean

    Return true iff this is the first time this method is called since the last reset (via resetTag).

    Return true iff this is the first time this method is called since the last reset (via resetTag). UPDATE PASS ONLY.

    Attributes
    protected
  2. abstract def registerBodyAsker(asker: MethodImpl): Unit

    PROCESS PASS ONLY.

  3. abstract def registeredTo(intf: Unregisterable): Unit

    PROCESS PASS ONLY.

    PROCESS PASS ONLY.

    Attributes
    protected
  4. abstract def resetTag(): Unit

    PROCESS PASS ONLY.

    PROCESS PASS ONLY.

    Attributes
    protected
  5. abstract def tagBodyAskers(): Unit

    UPDATE PASS ONLY.

  6. abstract def unregisterDependee(dependee: MethodImpl): Unit

    UPDATE PASS ONLY.

    UPDATE PASS ONLY.

    Definition Classes
    Unregisterable
  7. abstract def unregisterFromEverywhere(): Unit

    UPDATE PASS ONLY.

    UPDATE PASS ONLY.

    Attributes
    protected

Concrete Value Members

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

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  7. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. def delete(): Unit

    UPDATE PASS ONLY.

    UPDATE PASS ONLY. Not concurrency safe on same instance.

  9. def deleted: Boolean

  10. val encodedName: String

    Definition Classes
    MethodImpl → MethodImpl
  11. final def eq(arg0: AnyRef): Boolean

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

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

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  14. final def getClass(): java.lang.Class[_]

    Definition Classes
    AnyRef → Any
  15. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  16. var inlineable: Boolean

    Definition Classes
    MethodImpl
  17. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  18. var isTraitImplForwarder: Boolean

    Definition Classes
    MethodImpl
  19. var lastInVersion: Option[String]

  20. var lastOutVersion: Int

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

    Definition Classes
    AnyRef
  22. final def notify(): Unit

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

    Definition Classes
    AnyRef
  24. var optimizedMethodDef: LinkedMember[MethodDef]

  25. var optimizerHints: OptimizerHints

    Definition Classes
    MethodImpl → MethodImpl
  26. var originalDef: MethodDef

    Definition Classes
    MethodImpl → MethodImpl
  27. val owner: MethodContainer

  28. def process(): Unit

    PROCESS PASS ONLY.

  29. def registerAskBody(target: MethodImpl): Unit

    PROCESS PASS ONLY.

  30. var shouldInline: Boolean

    Definition Classes
    MethodImpl
  31. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  32. def tag(): Unit

    Concurrency safe with itself and delete on the same instance

    Concurrency safe with itself and delete on the same instance

    tag can be called concurrently with delete when methods in traits/classes are updated.

    UPDATE PASS ONLY.

  33. def thisType: Type

    Definition Classes
    MethodImpl → MethodImpl
  34. def toString(): String

    Definition Classes
    MethodImpl → AnyRef → Any
  35. def updateInlineable(): Unit

    Attributes
    protected
    Definition Classes
    MethodImpl
  36. def updateWith(linkedMethod: LinkedMember[MethodDef]): Boolean

    Returns true if the method's attributes changed.

    Returns true if the method's attributes changed. Attributes are whether it is inlineable, and whether it is a trait impl forwarder. Basically this is what is declared in OptimizerCore.AbstractMethodID. In the process, tags all the body askers if the body changes. UPDATE PASS ONLY. Not concurrency safe on same instance.

  37. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Unregisterable

Inherited from AbstractMethodID

Inherited from OptimizerCore.MethodImpl

Inherited from AnyRef

Inherited from Any

Ungrouped