abstract class PrepJSInterop[G <: Global with Singleton] extends PluginComponent with PrepJSExports[G] with Transform with CompatComponent
Prepares classes extending js.Any for JavaScript interop
This phase does: - Sanity checks for js.Any hierarchy - Annotate subclasses of js.Any to be treated specially - Rewrite calls to scala.Enumeration.Value (include name string) - Create JSExport methods: Dummy methods that are propagated through the whole compiler chain to mark exports. This allows exports to have the same semantics than methods.
- Alphabetic
- By Inheritance
- PrepJSInterop
- CompatComponent
- Transform
- PrepJSExports
- PluginComponent
- SubComponent
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new PrepJSInterop(global: G)
Type Members
- implicit class BTypesCompat extends AnyRef
- Definition Classes
- CompatComponent
- implicit final class GlobalCompat extends AnyRef
- Definition Classes
- CompatComponent
- implicit final class SAMFunctionCompatOps extends AnyRef
- Definition Classes
- CompatComponent
- implicit final class StdTermNamesCompat extends AnyRef
- Definition Classes
- CompatComponent
- implicit final class StdTypeNamesCompat extends AnyRef
- Definition Classes
- CompatComponent
- implicit final class SymbolCompat extends AnyRef
- Definition Classes
- CompatComponent
- case class ExportInfo(jsName: String, destination: (jsAddons)#ExportDestination)(pos: G.Position) extends JSGlobalAddons.jsInterop.ExportInfo with Product with Serializable
- Definition Classes
- PrepJSExports
- class JSInteropPhase extends Phase
- class JSInteropTransformer extends G.Transformer
- class Phase extends scala.tools.nsc.transform.Transform.StdPhase
- Definition Classes
- Transform
- type SAMFunctionCompat = G.SAMFunction
- Definition Classes
- CompatComponent
- abstract class StdPhase extends GlobalPhase
- Definition Classes
- SubComponent
Abstract Value Members
- abstract val jsAddons: JSGlobalAddons { val global: PrepJSInterop.this.global.type }
Not for use in the constructor body: only initialized afterwards.
- abstract val runsAfter: List[String]
- Definition Classes
- SubComponent
- abstract val scalaJSOpts: ScalaJSOptions
Not for use in the constructor body: only initialized afterwards.
Concrete Value Members
- object SAMFunctionAttachCompat
- Definition Classes
- CompatComponent
- object SAMFunctionAttachCompatDef
- Definition Classes
- CompatComponent
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- lazy val SAMFunctionCompat: G.SAMFunction.type
- Definition Classes
- CompatComponent
- final def afterOwnPhase[T](op: => T): T
- Definition Classes
- SubComponent
- Annotations
- @inline()
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- final def beforeOwnPhase[T](op: => T): T
- Definition Classes
- SubComponent
- Annotations
- @inline()
- def checkSetterSignature(sym: G.Symbol, pos: G.Position, exported: Boolean): Unit
Checks that a setter has the right signature.
Checks that a setter has the right signature.
Reports error messages otherwise.
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def description: String
- Definition Classes
- PrepJSInterop → PluginComponent
- def enabled: Boolean
- Definition Classes
- SubComponent
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- def genExportMember(baseSym: G.Symbol): List[G.Tree]
Generate the exporter for the given DefDef or ValDef (abstract val in class, val in trait or lazy val; these don't get DefDefs until the fields phase)
Generate the exporter for the given DefDef or ValDef (abstract val in class, val in trait or lazy val; these don't get DefDefs until the fields phase)
If this DefDef is a constructor, it is registered to be exported by GenJSCode instead and no trees are returned.
- Definition Classes
- PrepJSExports
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- val global: G
- Definition Classes
- PrepJSInterop → CompatComponent → SubComponent
- def hashCode(): Int
- Definition Classes
- SubComponent → AnyRef → Any
- val initial: Boolean
- Definition Classes
- SubComponent
- final val internal: Boolean(false)
- Definition Classes
- PluginComponent → SubComponent
- def isImplClass(sym: G.Symbol): Boolean
- Definition Classes
- CompatComponent
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isJSAny(sym: G.Symbol): Boolean
- def isPrivateMaybeWithin(sym: G.Symbol): Boolean
Tests whether the symbol has
privatein any form, eitherprivate,private[this]orprivate[Enclosing]. - final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def newPhase(p: scala.tools.nsc.Phase): StdPhase
- Definition Classes
- PrepJSInterop → Transform → SubComponent
- def newTransformer(unit: G.CompilationUnit): G.Transformer
- Attributes
- protected
- Definition Classes
- PrepJSInterop → Transform
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def ownPhase: scala.tools.nsc.Phase
- Definition Classes
- SubComponent
- val phaseName: String
- Definition Classes
- PrepJSInterop → SubComponent
- def phaseNewFlags: Long
- Definition Classes
- SubComponent
- def phaseNextFlags: Long
- Definition Classes
- SubComponent
- def registerClassOrModuleExports(sym: G.Symbol): Unit
Check and (potentially) register a class or module for export.
Check and (potentially) register a class or module for export.
Note that Scala classes are never registered for export, their constructors are.
- Definition Classes
- PrepJSExports
- val requires: List[String]
- Definition Classes
- SubComponent
- val runsBefore: List[String]
- Definition Classes
- SubComponent
- val runsRightAfter: Option[String]
- Definition Classes
- PluginComponent → SubComponent
- lazy val scalaUsesImplClasses: Boolean
- Definition Classes
- CompatComponent
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- val terminal: Boolean
- Definition Classes
- SubComponent
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()