JSExportsGen

final class JSExportsGen(jsCodeGen: JSCodeGen)(using x$2: Context)
class Object
trait Matchable
class Any

Type members

Classlikes

sealed trait ExportInfo

Info for a non-member export.

Info for a non-member export.

abstract class Exported(val sym: Symbol, val params: IndexedSeq[JSParamInfo])
class FormalArgsRegistry(val minArgc: Int, needsRestParam: Boolean)
final case class StaticExportInfo(jsName: String)(pos: SourcePosition) extends ExportInfo
final case class TopLevelExportInfo(moduleID: String, jsName: String)(pos: SourcePosition) extends ExportInfo

Value members

Concrete methods

def genCallDefaultGetter(sym: Symbol, paramIndex: Int, static: Boolean, captures: List[Tree])(previousArgsValues: Int => List[Tree])(implicit pos: SourcePosition): Tree
def genJSClassDispatchers(classSym: Symbol, dispatchMethodsNames: List[JSName]): List[MemberDef]

Generates exported methods and properties for a class.

Generates exported methods and properties for a class.

Value parameters:
classSym

symbol of the class we export for

def genScalaArg(exported: Exported, paramIndex: Int, formalArgsRegistry: FormalArgsRegistry, param: JSParamInfo, static: Boolean, captures: List[Tree])(previousArgsValues: Int => List[Tree])(implicit pos: SourcePosition): Tree

Generates a Scala argument from dispatched JavaScript arguments (unboxing and default parameter handling).

Generates a Scala argument from dispatched JavaScript arguments (unboxing and default parameter handling).