Skip to content

Commit 117d800

Browse files
Add Synthetic flag to new trait and type
1 parent 199e778 commit 117d800

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

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

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,9 @@ class Inlining extends MacroTransform, SymTransformer {
8888
val TypeDef(name, tmpl: Template) = innerClass: @unchecked
8989
val newInnerParents = tmpl.parents.mapConserve(ConcreteParentStripper.apply)
9090
val tmpl1 = cpy.Template(tmpl)(parents = newInnerParents) // TODO .withType(???)
91-
cpy.TypeDef(innerClass)(name = newInnerClassName(name), rhs = tmpl1)
91+
val newTrait = cpy.TypeDef(innerClass)(name = newInnerClassName(name), rhs = tmpl1)
92+
newTrait.symbol.setFlag(Synthetic)
93+
newTrait
9294
end makeTraitFromInnerClass
9395

9496
private def makeTypeFromInnerClass(parentSym: Symbol, innerClass: TypeDef, newTraitSym: Symbol)(using Context): TypeDef =
@@ -101,7 +103,7 @@ class Inlining extends MacroTransform, SymTransformer {
101103
val newTypeSym = newSymbol(
102104
owner = parentSym,
103105
name = newTraitSym.name.asTypeName,
104-
flags = innerClass.symbol.flags & (Private | Protected),
106+
flags = innerClass.symbol.flags & (Private | Protected) | Synthetic,
105107
info = TypeBounds.upper(upperBound),
106108
privateWithin = innerClass.symbol.privateWithin,
107109
coord = innerClass.symbol.coord,

0 commit comments

Comments
 (0)