@@ -21,8 +21,7 @@ import reporting._
21
21
import dotty .tools .dotc .util .SourceFile
22
22
import util .Spans ._
23
23
24
- import scala .collection .mutable .ListBuffer
25
- import scala .collection .immutable .ListMap
24
+ import scala .collection .mutable .{ListBuffer , LinkedHashMap }
26
25
27
26
object JavaParsers {
28
27
@@ -839,7 +838,7 @@ object JavaParsers {
839
838
840
839
// We need to generate accessors for every param, if no method with the same name is already defined
841
840
842
- var fieldsByName = header.map(v => (v.name, (v.tpt, v.mods.annotations))).to(ListMap )
841
+ var fieldsByName = header.map(v => (v.name, (v.tpt, v.mods.annotations))).to(LinkedHashMap )
843
842
844
843
for case DefDef (name, paramss, _, _) <- body
845
844
if paramss.isEmpty && fieldsByName.contains(name)
@@ -855,7 +854,8 @@ object JavaParsers {
855
854
856
855
// generate the canonical constructor
857
856
val canonicalConstructor =
858
- DefDef (nme.CONSTRUCTOR , joinParams(tparams, List (header)), TypeTree (), EmptyTree ).withMods(Modifiers (Flags .JavaDefined , mods.privateWithin))
857
+ DefDef (nme.CONSTRUCTOR , joinParams(tparams, List (header)), TypeTree (), EmptyTree )
858
+ .withMods(Modifiers (Flags .JavaDefined | Flags .Synthetic , mods.privateWithin))
859
859
860
860
// return the trees
861
861
val recordTypeDef = atSpan(start, nameOffset) {
@@ -866,7 +866,7 @@ object JavaParsers {
866
866
tparams = tparams,
867
867
true
868
868
)
869
- )
869
+ ).withMods(mods)
870
870
}
871
871
addCompanionObject(statics, recordTypeDef)
872
872
end recordDecl
0 commit comments