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
- All
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
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 = G.SAMFunction
- Definition Classes
- CompatComponent
-
abstract
class
StdPhase extends GlobalPhase
- Definition Classes
- SubComponent
-
trait
JSExportsPhase extends AnyRef
- Definition Classes
- GenJSExports
Abstract Value Members
-
abstract
def
generatedJSAST(clDefs: List[ClassDef]): Unit
testing: this will be called when ASTs are generated
-
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
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
-
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
, leveraginglambdalift
to 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
-
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
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @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
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: Any): 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[_]
- 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
-
lazy val
isHijackedClass: Set[G.Symbol]
- Attributes
- protected
-
def
isImplClass(sym: G.Symbol): Boolean
- Definition Classes
- CompatComponent
-
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
-
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: 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( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @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
-
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