Skip to content

Commit 01bebd7

Browse files
committed
Fix #6128: Emit mixin-related methods as artifacts
Mixin forwarders are now emitted unconditionally and without generic signatures, this broke lsp4j and therefore our language server, emitting mixin forwards with the Artifact flag (which remember corresponds to SYNTHETIC in Java bytecode) unbreaks lsp4j, and it seems reasonable to use this for all the forwarders we generate for traits, including super-accessors.
1 parent 036096a commit 01bebd7

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

compiler/src/dotty/tools/dotc/transform/MixinOps.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ class MixinOps(cls: ClassSymbol, thisPhase: DenotTransformer)(implicit ctx: Cont
2222
val res = member.copy(
2323
owner = cls,
2424
name = member.name.stripScala2LocalSuffix,
25-
flags = member.flags &~ Deferred,
25+
flags = member.flags &~ Deferred | Synthetic | Artifact,
2626
info = cls.thisType.memberInfo(member)).enteredAfter(thisPhase).asTerm
2727
res.addAnnotations(member.annotations.filter(_.symbol != defn.TailrecAnnot))
2828
res

0 commit comments

Comments
 (0)