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) {
384
384
385
385
/** Gen the IR ClassDef for a Scala.js-defined JS class. */
386
386
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)
388
412
}
389
413
390
414
/** Gen the IR ClassDef for a raw JS class or trait.
You can’t perform that action at this time.
0 commit comments