scala.scalajs.tools.optimizer

OptimizerCore

abstract class OptimizerCore extends AnyRef

Optimizer core. Designed to be "mixed in" IncOptimizer#MethodImpl#Optimizer. This is the core of the optimizer. It contains all the smart things the optimizer does. To perform inlining, it relies on abstract protected methods to identify the target of calls.

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

Instance Constructors

  1. new OptimizerCore(myself: MethodImpl)

Abstract Value Members

  1. abstract def dynamicCall(intfName: String, methodName: String): List[MethodImpl]

    Returns the list of possible targets for a dynamically linked call.

    Returns the list of possible targets for a dynamically linked call.

    Attributes
    protected
  2. abstract def getAncestorsOf(encodedName: String): List[String]

    Returns the list of ancestors of a class or interface.

    Returns the list of ancestors of a class or interface.

    Attributes
    protected
  3. abstract def hasElidableModuleAccessor(moduleClassName: String): Boolean

    Tests whether the given module class has an elidable accessor.

    Tests whether the given module class has an elidable accessor. In other words, whether it is safe to discard a LoadModule of that module class which is not used.

    Attributes
    protected
  4. abstract def staticCall(className: String, methodName: String): Option[MethodImpl]

    Returns the target of a static call.

    Returns the target of a static call.

    Attributes
    protected
  5. abstract def traitImplCall(traitImplName: String, methodName: String): Option[MethodImpl]

    Returns the target of a trait impl call.

    Returns the target of a trait impl call.

    Attributes
    protected
  6. abstract def tryNewInlineableClass(className: String): Option[RecordValue]

    Tests whether the given class is inlineable.

    Tests whether the given class is inlineable.

    returns

    None if the class is not inlineable, Some(value) if it is, where value is a RecordValue with the initial value of its fields.

    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. final def eq(arg0: AnyRef): Boolean

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

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

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

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

    Definition Classes
    AnyRef → Any
  11. final def isInstanceOf[T0]: Boolean

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

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

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

    Definition Classes
    AnyRef
  15. def optimize(originalDef: MethodDef): (MethodDef, MethodInfo)

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

    Definition Classes
    AnyRef
  17. def toString(): String

    Definition Classes
    AnyRef → Any
  18. def transformIsolatedBody(optTarget: Option[MethodImpl], thisType: Type, params: List[ParamDef], resultType: Type, body: Tree): (List[ParamDef], Tree)

  19. def tryOptimizePatternMatch(oldLabelName: String, refinedType: Type, returnCount: Int, newBody: Tree): Option[Tree]

  20. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped