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: Any): Boolean

    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

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

    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  5. def clone(): AnyRef

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

    UPDATE PASS ONLY.

    UPDATE PASS ONLY. Not concurrency safe on same instance.

  7. def deleted: Boolean

  8. var desugaredDef: Tree

  9. val encodedName: String

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

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

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

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

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

    Definition Classes
    AnyRef → Any
  15. var inlineable: Boolean

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

    Definition Classes
    Any
  17. var isTraitImplForwarder: Boolean

    Definition Classes
    MethodImpl
  18. final def ne(arg0: AnyRef): Boolean

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

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

    Definition Classes
    AnyRef
  21. var optimizerHints: OptimizerHints

    Definition Classes
    MethodImpl → MethodImpl
  22. var originalDef: MethodDef

    Definition Classes
    MethodImpl → MethodImpl
  23. val owner: MethodContainer

  24. var preciseInfo: MethodInfo

  25. def process(): Unit

    PROCESS PASS ONLY.

  26. def registerAskBody(target: MethodImpl): Unit

    PROCESS PASS ONLY.

  27. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  28. 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.

  29. def thisType: Type

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

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

    Attributes
    protected
    Definition Classes
    MethodImpl
  32. def updateWith(methodInfo: MethodInfo, methodDef: 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.

  33. final def wait(): Unit

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  35. 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