File tree Expand file tree Collapse file tree 1 file changed +25
-1
lines changed
compiler/src/dotty/tools/backend/sjs Expand file tree Collapse file tree 1 file changed +25
-1
lines changed Original file line number Diff line number Diff line change @@ -384,7 +384,31 @@ class JSCodeGen()(using genCtx: Context) {
384384
385385 /** Gen the IR ClassDef for a Scala.js-defined JS class. */
386386 private def genScalaJSDefinedJSClass (td : TypeDef ): js.ClassDef = {
387- ???
387+ val sym = td.symbol.asClass
388+ implicit val pos : SourcePosition = sym.sourcePos
389+
390+ assert(! sym.is(Trait ),
391+ " genScalaJSDefinedJSClass() must be called only for normal classes: " + sym)
392+ assert(sym.superClass != NoSymbol , sym)
393+
394+ val classIdent = encodeClassNameIdent(sym)
395+ val originalName = originalNameOfClass(sym)
396+
397+ report.error(" cannot emit non-native JS classes yet" , td.sourcePos)
398+
399+ // Dummy result
400+ js.ClassDef (
401+ classIdent,
402+ originalName,
403+ ClassKind .JSClass ,
404+ None ,
405+ Some (encodeClassNameIdent(sym.superClass)),
406+ genClassInterfaces(sym),
407+ None ,
408+ None ,
409+ Nil ,
410+ Nil )(
411+ OptimizerHints .empty)
388412 }
389413
390414 /** Gen the IR ClassDef for a raw JS class or trait.
You can’t perform that action at this time.
0 commit comments