@@ -21,8 +21,7 @@ import reporting._
2121import dotty .tools .dotc .util .SourceFile
2222import util .Spans ._
2323
24- import scala .collection .mutable .ListBuffer
25- import scala .collection .immutable .ListMap
24+ import scala .collection .mutable .{ListBuffer , LinkedHashMap }
2625
2726object JavaParsers {
2827
@@ -839,7 +838,7 @@ object JavaParsers {
839838
840839 // We need to generate accessors for every param, if no method with the same name is already defined
841840
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 )
843842
844843 for case DefDef (name, paramss, _, _) <- body
845844 if paramss.isEmpty && fieldsByName.contains(name)
@@ -855,7 +854,8 @@ object JavaParsers {
855854
856855 // generate the canonical constructor
857856 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))
859859
860860 // return the trees
861861 val recordTypeDef = atSpan(start, nameOffset) {
@@ -866,7 +866,7 @@ object JavaParsers {
866866 tparams = tparams,
867867 true
868868 )
869- )
869+ ).withMods(mods)
870870 }
871871 addCompanionObject(statics, recordTypeDef)
872872 end recordDecl
0 commit comments