Class

org.scalajs.core.tools.optimizer.GenIncOptimizer

MethodImpl

Related Doc: package GenIncOptimizer

Permalink

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
Visibility
  1. Public
  2. All

Instance Constructors

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

    Permalink

Abstract Value Members

  1. abstract def protectTag(): Boolean

    Permalink

    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

    Permalink

    PROCESS PASS ONLY.

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

    Permalink

    PROCESS PASS ONLY.

    PROCESS PASS ONLY.

    Attributes
    protected
  4. abstract def resetTag(): Unit

    Permalink

    PROCESS PASS ONLY.

    PROCESS PASS ONLY.

    Attributes
    protected
  5. abstract def tagBodyAskers(): Unit

    Permalink

    UPDATE PASS ONLY.

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

    Permalink

    UPDATE PASS ONLY.

    UPDATE PASS ONLY.

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

    Permalink

    UPDATE PASS ONLY.

    UPDATE PASS ONLY.

    Attributes
    protected

Concrete Value Members

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

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

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

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

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

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

    Permalink

    UPDATE PASS ONLY.

    UPDATE PASS ONLY. Not concurrency safe on same instance.

  7. def deleted: Boolean

    Permalink
  8. val encodedName: String

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

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

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

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

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

    Permalink
    Definition Classes
    AnyRef → Any
  14. var inlineable: Boolean

    Permalink
    Definition Classes
    MethodImpl
  15. var isForwarder: Boolean

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

    Permalink
    Definition Classes
    Any
  17. var lastInVersion: Option[String]

    Permalink
  18. var lastOutVersion: Int

    Permalink
  19. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  20. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  21. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  22. var optimizedMethodDef: LinkedMember[MethodDef]

    Permalink
  23. var optimizerHints: OptimizerHints

    Permalink
    Definition Classes
    MethodImpl → MethodImpl
  24. var originalDef: MethodDef

    Permalink
    Definition Classes
    MethodImpl → MethodImpl
  25. val owner: MethodContainer

    Permalink
  26. def process(): Unit

    Permalink

    PROCESS PASS ONLY.

  27. def registerAskBody(target: MethodImpl): Unit

    Permalink

    PROCESS PASS ONLY.

  28. var shouldInline: Boolean

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

    Permalink
    Definition Classes
    AnyRef
  30. def tag(): Unit

    Permalink

    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.

  31. def thisType: Type

    Permalink
    Definition Classes
    MethodImpl → MethodImpl
  32. def toString(): String

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

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

    Permalink

    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.

  35. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Unregisterable

Inherited from AbstractMethodID

Inherited from OptimizerCore.MethodImpl

Inherited from AnyRef

Inherited from Any

Ungrouped