abstract class GenJSCode extends PluginComponent with TypeKinds with JSEncoding with GenJSExports with GenJSFiles with CompatComponent
Generate JavaScript code and output it to disk
- Alphabetic
- By Inheritance
- GenJSCode
- CompatComponent
- GenJSFiles
- GenJSExports
- JSEncoding
- TypeKinds
- PluginComponent
- SubComponent
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
- new GenJSCode()
Type Members
-
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
- class JSCodePhase extends StdPhase with JSExportsPhase
- sealed abstract class MaybeGlobalScope extends AnyRef
-
type
SAMFunctionCompat = scala.tools.nsc.Global.SAMFunction
- Definition Classes
- CompatComponent
-
abstract
class
StdPhase extends GlobalPhase
- Definition Classes
- SubComponent
-
trait
JSExportsPhase extends AnyRef
- Definition Classes
- GenJSExports
-
case class
ARRAY extends GenJSCode.TypeKind with Product with Serializable
An array
An array
- Definition Classes
- TypeKinds
-
case class
FLOAT extends GenJSCode.ValueTypeKind with Product with Serializable
Floating-point number (Float or Double).
Floating-point number (Float or Double).
- Definition Classes
- TypeKinds
-
case class
INT extends GenJSCode.ValueTypeKind with Product with Serializable
Integer number (Byte, Short, Char or Int).
Integer number (Byte, Short, Char or Int).
- Definition Classes
- TypeKinds
-
case class
REFERENCE extends GenJSCode.TypeKindButArray with Product with Serializable
An object
An object
- Definition Classes
- TypeKinds
-
sealed abstract
class
TypeKind extends AnyRef
Glue representation of types as seen from the IR but still with a reference to the Symbols.
Glue representation of types as seen from the IR but still with a reference to the Symbols.
- Definition Classes
- TypeKinds
-
sealed abstract
class
TypeKindButArray extends GenJSCode.TypeKind
- Definition Classes
- TypeKinds
-
sealed abstract
class
ValueTypeKind extends GenJSCode.TypeKindButArray
- Definition Classes
- TypeKinds
Abstract Value Members
-
abstract
def
generatedJSAST(clDefs: List[ClassDef]): Unit
testing: this will be called when ASTs are generated
-
abstract
val
global: Global
- Definition Classes
- CompatComponent
- abstract val jsAddons: JSGlobalAddons { val global: GenJSCode.this.global.type }
-
abstract
val
runsAfter: List[String]
- Definition Classes
- SubComponent
- abstract val scalaJSOpts: ScalaJSOptions
Concrete Value Members
-
object
LowPrioGenBCodeCompat
- Definition Classes
- CompatComponent
-
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
BooleanKind: BOOL.type
- Definition Classes
- TypeKinds
-
lazy val
ByteKind: INT
- Definition Classes
- TypeKinds
-
lazy val
CharKind: INT
- Definition Classes
- TypeKinds
-
lazy val
DoubleKind: FLOAT
- Definition Classes
- TypeKinds
-
lazy val
FloatKind: FLOAT
- Definition Classes
- TypeKinds
-
final
val
InnerSep: String("_")
Inner separator character (replace dots in full names)
Inner separator character (replace dots in full names)
- Definition Classes
- JSEncoding
-
lazy val
IntKind: INT
- Definition Classes
- TypeKinds
-
final
val
JSSuperClassParamName: String("$superClass")
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
, leveraginglambdalift
to ensure that it is properly captured.Using this identifier is only allowed if the current local name scope was created with withNewLocalNameScopeUsingJSSuperClassParamName. Otherwise, this name can clash with another local identifier.
- Definition Classes
- JSEncoding
-
lazy val
LongKind: LONG.type
- Definition Classes
- TypeKinds
-
lazy val
ObjectReference: REFERENCE
- Definition Classes
- TypeKinds
-
final
val
OuterSep: String("__")
Outer separator string (between parameter types)
Outer separator string (between parameter types)
- Definition Classes
- JSEncoding
-
lazy val
SAMFunctionCompat: scala.tools.nsc.Global.SAMFunction.type
- Definition Classes
- CompatComponent
-
final
val
ScalaJSEnvironmentName: String("ScalaJS")
Name given to the local Scala.js environment variable
Name given to the local Scala.js environment variable
- Definition Classes
- JSEncoding
-
lazy val
ShortKind: INT
- Definition Classes
- TypeKinds
-
lazy val
VoidKind: VOID.type
- Definition Classes
- TypeKinds
-
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[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
final
val
dceExportName: String("<exported>")
Name given to all exported stuff of a class for DCE
Name given to all exported stuff of a class for DCE
- Definition Classes
- JSEncoding
-
val
description: String
- Definition Classes
- GenJSCode → PluginComponent
-
def
enabled: Boolean
- Definition Classes
- SubComponent
-
def
encodeClassFullName(sym: scala.tools.nsc.Global.Symbol): String
- Definition Classes
- JSEncoding
-
def
encodeClassFullNameIdent(sym: scala.tools.nsc.Global.Symbol)(implicit pos: scala.tools.nsc.Global.Position): Ident
- Definition Classes
- JSEncoding
-
def
encodeClassType(sym: scala.tools.nsc.Global.Symbol): Type
- Definition Classes
- JSEncoding
-
def
encodeComputedNameIdentity(sym: scala.tools.nsc.Global.Symbol): String
- Definition Classes
- JSEncoding
-
def
encodeFieldSym(sym: scala.tools.nsc.Global.Symbol)(implicit pos: scala.tools.nsc.Global.Position): Ident
- Definition Classes
- JSEncoding
-
def
encodeLabelSym(sym: scala.tools.nsc.Global.Symbol)(implicit pos: scala.tools.nsc.Global.Position): Ident
- Definition Classes
- JSEncoding
-
def
encodeLocalSym(sym: scala.tools.nsc.Global.Symbol)(implicit pos: scala.tools.nsc.Global.Position): Ident
- Definition Classes
- JSEncoding
-
def
encodeMethodName(sym: scala.tools.nsc.Global.Symbol, reflProxy: Boolean = false): String
- Definition Classes
- JSEncoding
-
def
encodeMethodSym(sym: scala.tools.nsc.Global.Symbol, reflProxy: Boolean = false)(implicit pos: scala.tools.nsc.Global.Position): Ident
- Definition Classes
- JSEncoding
-
def
encodeStaticMemberSym(sym: scala.tools.nsc.Global.Symbol)(implicit pos: scala.tools.nsc.Global.Position): Ident
- Definition Classes
- JSEncoding
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
foreignIsImplClass(sym: scala.tools.nsc.Global.Symbol): Boolean
- Definition Classes
- JSEncoding
-
def
freshLocalIdent(base: String)(implicit pos: Position): Ident
- Definition Classes
- JSEncoding
-
def
freshLocalIdent()(implicit pos: Position): Ident
- Definition Classes
- JSEncoding
-
def
genIRFile(cunit: scala.tools.nsc.Global.CompilationUnit, sym: scala.tools.nsc.Global.Symbol, suffix: Option[String], tree: ClassDef): Unit
- Definition Classes
- GenJSFiles
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- SubComponent → AnyRef → Any
-
implicit
def
implicitPos2irPos(implicit pos: scala.tools.nsc.Global.Position): Position
Materialize implicitly an ir.Position from an implicit nsc Position.
-
val
initial: Boolean
- Definition Classes
- SubComponent
-
def
initializeCoreBTypesCompat(): Unit
- Definition Classes
- CompatComponent
-
final
val
internal: Boolean(false)
- Definition Classes
- PluginComponent → SubComponent
- def isAnonJSClass(sym: scala.tools.nsc.Global.Symbol): Boolean
-
lazy val
isHijackedClass: Set[scala.tools.nsc.Global.Symbol]
- Attributes
- protected
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
isJSType(sym: scala.tools.nsc.Global.Symbol): Boolean
Tests whether the given type symbol represents a raw JavaScript type, i.e., whether it extends scala.scalajs.js.Any.
-
def
isJSType(tpe: scala.tools.nsc.Global.Type): Boolean
Tests whether the given type represents a raw JavaScript type, i.e., whether it extends scala.scalajs.js.Any.
- def isNestedJSClass(sym: scala.tools.nsc.Global.Symbol): Boolean
-
def
isNonNativeJSClass(sym: scala.tools.nsc.Global.Symbol): Boolean
Tests whether the given class is a non-native JS class.
- def isStaticModule(sym: scala.tools.nsc.Global.Symbol): Boolean
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
needsModuleClassSuffix(sym: scala.tools.nsc.Global.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
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: scala.tools.nsc.Global.Position): Position
Implicit conversion from nsc Position to ir.Position.
-
lazy val
primitiveTypeMap: Map[scala.tools.nsc.Global.Symbol, TypeKind]
TypeKinds for Scala primitive types.
TypeKinds for Scala primitive types.
- Definition Classes
- TypeKinds
-
val
requires: List[String]
- Definition Classes
- SubComponent
-
def
reserveLocalName(name: String): Unit
- Definition Classes
- JSEncoding
-
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
toIRType(t: scala.tools.nsc.Global.Type): Type
- Definition Classes
- TypeKinds
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
def
toTypeKind(t: scala.tools.nsc.Global.Type): TypeKind
Return the TypeKind of the given type
Return the TypeKind of the given type
Call to .normalize fixes #3003 (follow type aliases). Otherwise, arrayOrClassType below would return ObjectReference.
- Definition Classes
- TypeKinds
-
def
toTypeRef(t: scala.tools.nsc.Global.Type): TypeRef
- Definition Classes
- TypeKinds
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
def
withNewLocalNameScope[A](body: ⇒ A): A
- Definition Classes
- JSEncoding
- object MaybeGlobalScope
-
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.Transient
node. - object jsnme
-
object
BOOL extends GenJSCode.ValueTypeKind with Product with Serializable
Boolean
Boolean
- Definition Classes
- TypeKinds
-
object
LONG extends GenJSCode.ValueTypeKind with Product with Serializable
Long
Long
- Definition Classes
- TypeKinds
-
object
NOTHING extends GenJSCode.TypeKindButArray with Product with Serializable
Nothing
Nothing
- Definition Classes
- TypeKinds
-
object
NULL extends GenJSCode.TypeKindButArray with Product with Serializable
Null
Null
- Definition Classes
- TypeKinds
-
object
VOID extends GenJSCode.TypeKindButArray with Product with Serializable
The void, for trees that can only appear in statement position.
The void, for trees that can only appear in statement position.
- Definition Classes
- TypeKinds