File tree Expand file tree Collapse file tree 1 file changed +14
-8
lines changed
src/dotty/tools/dotc/transform Expand file tree Collapse file tree 1 file changed +14
-8
lines changed Original file line number Diff line number Diff line change @@ -45,14 +45,20 @@ import Decorators._
4545 override def transformDefDef (tree : DefDef )(implicit ctx : Context , info : TransformerInfo ): Tree = {
4646 val sym = tree.symbol
4747
48- def newField = ctx.newSymbol(
49- owner = ctx.owner,
50- name = sym.name.asTermName.fieldName,
51- flags = Private | (if (sym is Stable ) EmptyFlags else Mutable ),
52- info = sym.info.resultType,
53- coord = tree.pos)
54- .withAnnotationsCarrying(sym, defn.FieldMetaAnnot )
55- .enteredAfter(thisTransform)
48+ def newField = {
49+ val fieldType =
50+ if (sym.isGetter) sym.info.resultType
51+ else /* sym.isSetter*/ sym.info.firstParamTypes.head
52+
53+ ctx.newSymbol(
54+ owner = ctx.owner,
55+ name = sym.name.asTermName.fieldName,
56+ flags = Private | (if (sym is Stable ) EmptyFlags else Mutable ),
57+ info = fieldType,
58+ coord = tree.pos)
59+ .withAnnotationsCarrying(sym, defn.FieldMetaAnnot )
60+ .enteredAfter(thisTransform)
61+ }
5662
5763 /** Can be used to filter annotations on getters and setters; not used yet */
5864 def keepAnnotations (denot : SymDenotation , meta : ClassSymbol ) = {
You can’t perform that action at this time.
0 commit comments