abstract class GenJSCode[G <: Global with Singleton] extends PluginComponent with TypeConversions[G] with JSEncoding[G] with GenJSExports[G] with GenJSFiles[G] with CompatComponent
Generate JavaScript code and output it to disk
- Alphabetic
- By Inheritance
- GenJSCode
- CompatComponent
- GenJSFiles
- GenJSExports
- JSEncoding
- TypeConversions
- PluginComponent
- SubComponent
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new GenJSCode(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 SymbolCompat extends AnyRef
- Definition Classes
- CompatComponent
- implicit final class TyperCompat extends AnyRef
- Definition Classes
- CompatComponent
- class JSCodePhase extends StdPhase with JSExportsPhase
- sealed abstract class MaybeGlobalScope extends AnyRef
- abstract class StdPhase extends GlobalPhase
- Definition Classes
- SubComponent
- class FormalArgsRegistry extends AnyRef
- Definition Classes
- GenJSExports
- trait JSExportsPhase extends AnyRef
- Definition Classes
- GenJSExports
Abstract Value Members
- abstract def generatedJSAST(clDef: ClassDef): Unit
testing: this will be called for each generated
ClassDef. - abstract val jsAddons: JSGlobalAddons { val global: GenJSCode.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 AttachmentsCompat
- Definition Classes
- CompatComponent
- object AttachmentsCompatDef
- Definition Classes
- CompatComponent
- object WarningCategoryCompat
- 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 DottyEnumSingletonCompat: G.DottyEnumSingleton.type
- Definition Classes
- CompatComponent
- final val JSSuperClassParamName: LocalName
Name of the capture param storing the JS super class.
Name of the capture param storing the JS super class.
This is used by the dispatchers of exposed JS methods and properties of nested JS classes when they need to perform a super call. Other super calls (in the actual bodies of the methods, not in the dispatchers) do not use this value, since they are implemented as static methods that do not have access to it. Instead, they get the JS super class value through the magic method inserted by
ExplicitLocalJS, leveraginglambdaliftto ensure that it is properly captured.Using this identifier is only allowed if it was reserved in the current local name scope using reserveLocalName. Otherwise, this name can clash with another local identifier.
- Definition Classes
- JSEncoding
- val WarningCategory: scala.tools.nsc.Reporting.WarningCategory.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 clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- val description: String
- Definition Classes
- GenJSCode → PluginComponent
- def enabled: Boolean
- Definition Classes
- SubComponent
- def encodeClassName(sym: G.Symbol): ClassName
- Definition Classes
- JSEncoding
- def encodeClassNameIdent(sym: G.Symbol)(implicit pos: G.Position): ClassIdent
- Definition Classes
- JSEncoding
- def encodeClassType(sym: G.Symbol): Type
- Definition Classes
- JSEncoding
- def encodeDynamicImportForwarderIdent(params: List[G.Symbol])(implicit pos: G.Position): MethodIdent
- Definition Classes
- JSEncoding
- def encodeFieldSym(sym: G.Symbol)(implicit pos: G.Position): FieldIdent
- Definition Classes
- JSEncoding
- def encodeFieldSymAsStringLiteral(sym: G.Symbol)(implicit pos: G.Position): StringLiteral
- Definition Classes
- JSEncoding
- def encodeLabelSym(sym: G.Symbol)(implicit pos: G.Position): LabelIdent
- Definition Classes
- JSEncoding
- def encodeLocalSym(sym: G.Symbol)(implicit pos: G.Position): LocalIdent
- Definition Classes
- JSEncoding
- def encodeMethodSym(sym: G.Symbol, reflProxy: Boolean = false)(implicit pos: G.Position): MethodIdent
- Definition Classes
- JSEncoding
- def encodeStaticFieldGetterSym(sym: G.Symbol)(implicit pos: G.Position): MethodIdent
- Definition Classes
- JSEncoding
- 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 freshLabelIdent(base: String)(implicit pos: Position): LabelIdent
- Definition Classes
- JSEncoding
- def freshLocalIdent(base: String)(implicit pos: Position): LocalIdent
- Definition Classes
- JSEncoding
- def freshLocalIdent(base: LocalName)(implicit pos: Position): LocalIdent
- Definition Classes
- JSEncoding
- def freshLocalIdent()(implicit pos: Position): LocalIdent
- Definition Classes
- JSEncoding
- def genIRFile(cunit: G.CompilationUnit, tree: ClassDef): Unit
- Definition Classes
- GenJSFiles
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def getEnclosingReturnLabel()(implicit pos: Position): LabelIdent
- Definition Classes
- JSEncoding
- val global: G
- Definition Classes
- GenJSCode → CompatComponent → SubComponent
- def hashCode(): Int
- Definition Classes
- SubComponent → AnyRef → Any
- implicit def implicitPos2irPos(implicit pos: G.Position): Position
Materialize implicitly an ir.Position from an implicit nsc Position.
- val initial: Boolean
- Definition Classes
- SubComponent
- final val internal: Boolean(false)
- Definition Classes
- PluginComponent → SubComponent
- def isAnonymousJSClass(sym: G.Symbol): Boolean
- lazy val isHijackedClass: Set[G.Symbol]
- Attributes
- protected
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isJSType(sym: G.Symbol): Boolean
Tests whether the given type symbol represents a JavaScript type, i.e., whether it extends scala.scalajs.js.Any.
- def isJSType(tpe: G.Type): Boolean
Tests whether the given type represents a JavaScript type, i.e., whether it extends scala.scalajs.js.Any.
- def isNestedJSClass(sym: G.Symbol): Boolean
- def isNonNativeJSClass(sym: G.Symbol): Boolean
Tests whether the given class is a non-native JS class.
- def isStaticModule(sym: G.Symbol): Boolean
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def needsModuleClassSuffix(sym: G.Symbol): Boolean
- Definition Classes
- JSEncoding
- def newPhase(p: Phase): StdPhase
- Definition Classes
- GenJSCode → SubComponent
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def originalNameOfClass(sym: G.Symbol): OriginalName
- Definition Classes
- JSEncoding
- def originalNameOfField(sym: G.Symbol): OriginalName
- Definition Classes
- JSEncoding
- def originalNameOfLocal(sym: G.Symbol): OriginalName
- Definition Classes
- JSEncoding
- def originalNameOfMethod(sym: G.Symbol): OriginalName
- Definition Classes
- JSEncoding
- def ownPhase: Phase
- Definition Classes
- SubComponent
- val phaseName: String
- Definition Classes
- GenJSCode → SubComponent
- def phaseNewFlags: Long
- Definition Classes
- SubComponent
- def phaseNextFlags: Long
- Definition Classes
- SubComponent
- implicit def pos2irPos(pos: G.Position): Position
Implicit conversion from nsc Position to ir.Position.
- val requires: List[String]
- Definition Classes
- SubComponent
- def reserveLocalName(name: LocalName): Unit
- Definition Classes
- JSEncoding
- val runsBefore: List[String]
- Definition Classes
- SubComponent
- val runsRightAfter: Option[String]
- Definition Classes
- PluginComponent → SubComponent
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- val terminal: Boolean
- Definition Classes
- SubComponent
- def toIRType(t: G.Type): Type
- Definition Classes
- TypeConversions
- def toString(): String
- Definition Classes
- AnyRef → Any
- def toTypeRef(t: G.Type): TypeRef
- Definition Classes
- TypeConversions
- 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()
- def withNewLocalNameScope[A](body: => A): A
- Definition Classes
- JSEncoding
- def withNewReturnableScope(tpe: Type)(body: => Tree)(implicit pos: Position): Tree
- Definition Classes
- JSEncoding
- object MaybeGlobalScope
- case object UndefinedParam extends Value with Product with Serializable
Marker object for undefined parameters in JavaScript semantic calls.
Marker object for undefined parameters in JavaScript semantic calls.
To be used inside a
js.Transientnode. - object jsnme