Skip to content

Commit 7afe554

Browse files
committed
reverting Desugar to check community build effects
1 parent 090bf6f commit 7afe554

File tree

1 file changed

+2
-37
lines changed

1 file changed

+2
-37
lines changed

compiler/src/dotty/tools/dotc/ast/Desugar.scala

Lines changed: 2 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -306,49 +306,14 @@ object desugar {
306306
vparam => toDefParam(vparam, keepAnnotations = true, keepDefault = false)
307307
}
308308

309-
def ignoreErrorsAndRun[R](op: => R): R =
310-
val savedState = ctx.typerState.snapshot()
311-
val savedReporter = ctx.reporter
312-
ctx.typerState.setReporter(Reporter.NoReporter)
313-
val ret = op
314-
ctx.typerState.setReporter(savedReporter)
315-
ctx.typerState.resetTo(savedState)
316-
ret
317-
318-
// gets arguments should be considered precise
319-
val paramPrecises: List[Boolean] =
320-
// indication for the type parameters preciseness
321-
val preciseMap : Map[TypeName, Boolean] = ignoreErrorsAndRun {
322-
meth.leadingTypeParams.map(t =>
323-
(t.name, t.mods.annotations.exists {a =>
324-
val typedAnnot = ctx.typer.typedExpr(a)
325-
if (typedAnnot.denot == NoDenotation) false
326-
else typedAnnot.symbol.owner == defn.PreciseAnnot
327-
})
328-
).toMap
329-
}
330-
// mapping type parameters preciseness onto term parameter preciseness
331-
meth.termParamss.view.flatten.map(p => p.tpt).map {
332-
case Ident(n) => preciseMap.getOrElse(n.asTypeName, false)
333-
case _ => false
334-
}.toList
335-
336309
def defaultGetters(paramss: List[ParamClause], n: Int): List[DefDef] = paramss match
337310
case ValDefs(vparam :: vparams) :: paramss1 =>
338311
def defaultGetter: DefDef =
339-
val (rhs, tpt) =
340-
// if the parameter is precise, then we add explicit return type for the
341-
// definition to keep the precise type after precise typing.
342-
if paramPrecises(n) then
343-
val rhsTyped = withMode(Mode.Precise){ctx.typer.typedExpr(vparam.rhs)}
344-
(rhsTyped, TypeTree(rhsTyped.tpe))
345-
// otherwise, the desugaring is unchanged from the status quo
346-
else (vparam.rhs, TypeTree())
347312
DefDef(
348313
name = DefaultGetterName(meth.name, n),
349314
paramss = getterParamss(n),
350-
tpt = tpt,
351-
rhs = rhs
315+
tpt = TypeTree(),
316+
rhs = vparam.rhs
352317
)
353318
.withMods(Modifiers(
354319
meth.mods.flags & (AccessFlags | Synthetic) | (vparam.mods.flags & Inline),

0 commit comments

Comments
 (0)