diff options
Diffstat (limited to 'src/dotty/tools/dotc/transform')
-rw-r--r-- | src/dotty/tools/dotc/transform/Constructors.scala | 2 | ||||
-rw-r--r-- | src/dotty/tools/dotc/transform/ElimByName.scala | 2 | ||||
-rw-r--r-- | src/dotty/tools/dotc/transform/ElimRepeated.scala | 8 | ||||
-rw-r--r-- | src/dotty/tools/dotc/transform/Erasure.scala | 12 | ||||
-rw-r--r-- | src/dotty/tools/dotc/transform/ExplicitOuter.scala | 6 | ||||
-rw-r--r-- | src/dotty/tools/dotc/transform/FirstTransform.scala | 4 | ||||
-rw-r--r-- | src/dotty/tools/dotc/transform/NormalizeFlags.scala | 8 | ||||
-rw-r--r-- | src/dotty/tools/dotc/transform/Pickler.scala | 20 | ||||
-rw-r--r-- | src/dotty/tools/dotc/transform/ResolveSuper.scala | 2 | ||||
-rw-r--r-- | src/dotty/tools/dotc/transform/RestoreScopes.scala | 4 | ||||
-rw-r--r-- | src/dotty/tools/dotc/transform/TreeChecker.scala | 4 |
11 files changed, 36 insertions, 36 deletions
diff --git a/src/dotty/tools/dotc/transform/Constructors.scala b/src/dotty/tools/dotc/transform/Constructors.scala index 318d15c9e..cd64497e9 100644 --- a/src/dotty/tools/dotc/transform/Constructors.scala +++ b/src/dotty/tools/dotc/transform/Constructors.scala @@ -185,7 +185,7 @@ class Constructors extends MiniPhaseTransform with SymTransformer { thisTransfor if (acc.name != nme.OUTER) assigns else { // insert test: if ($outer eq null) throw new NullPointerException - val nullTest = + val nullTest = If(ref(param).select(defn.Object_eq).appliedTo(Literal(Constant(null))), Throw(New(defn.NullPointerExceptionClass.typeRef, Nil)), unitLiteral) diff --git a/src/dotty/tools/dotc/transform/ElimByName.scala b/src/dotty/tools/dotc/transform/ElimByName.scala index 5bd9c045a..2d0ecaf99 100644 --- a/src/dotty/tools/dotc/transform/ElimByName.scala +++ b/src/dotty/tools/dotc/transform/ElimByName.scala @@ -73,7 +73,7 @@ class ElimByName extends MiniPhaseTransform with InfoTransformer { thisTransform case formalExpr: ExprType => val argType = arg.tpe.widen val argFun = arg match { - case Apply(Select(qual, nme.apply), Nil) + case Apply(Select(qual, nme.apply), Nil) if qual.tpe.derivesFrom(defn.FunctionClass(0)) && isPureExpr(qual) => qual case _ => diff --git a/src/dotty/tools/dotc/transform/ElimRepeated.scala b/src/dotty/tools/dotc/transform/ElimRepeated.scala index 28131e1e9..414d09541 100644 --- a/src/dotty/tools/dotc/transform/ElimRepeated.scala +++ b/src/dotty/tools/dotc/transform/ElimRepeated.scala @@ -59,9 +59,9 @@ class ElimRepeated extends MiniPhaseTransform with InfoTransformer with Annotati transformTypeOfTree(tree) override def transformApply(tree: Apply)(implicit ctx: Context, info: TransformerInfo): Tree = { - val args1 = tree.args.map { + val args1 = tree.args.map { case arg: Typed if isWildcardStarArg(arg) => - if (tree.fun.symbol.is(JavaDefined) && arg.expr.tpe.derivesFrom(defn.SeqClass)) + if (tree.fun.symbol.is(JavaDefined) && arg.expr.tpe.derivesFrom(defn.SeqClass)) seqToArray(arg.expr) else arg.expr case arg => arg @@ -71,7 +71,7 @@ class ElimRepeated extends MiniPhaseTransform with InfoTransformer with Annotati /** Convert sequence argument to Java array */ private def seqToArray(tree: Tree)(implicit ctx: Context): Tree = tree match { - case SeqLiteral(elems) => + case SeqLiteral(elems) => JavaSeqLiteral(elems) case _ => val elemType = tree.tpe.firstBaseArgInfo(defn.SeqClass) @@ -84,7 +84,7 @@ class ElimRepeated extends MiniPhaseTransform with InfoTransformer with Annotati .ensureConforms(defn.ArrayType(elemType)) // Because of phantomclasses, the Java array's type might not conform to the resturn type } - + override def transformTypeApply(tree: TypeApply)(implicit ctx: Context, info: TransformerInfo): Tree = transformTypeOfTree(tree) diff --git a/src/dotty/tools/dotc/transform/Erasure.scala b/src/dotty/tools/dotc/transform/Erasure.scala index 3674f7375..ab124402a 100644 --- a/src/dotty/tools/dotc/transform/Erasure.scala +++ b/src/dotty/tools/dotc/transform/Erasure.scala @@ -258,7 +258,7 @@ object Erasure extends TypeTestsCasts{ override def typedLiteral(tree: untpd.Literal)(implicit ctc: Context): Literal = if (tree.typeOpt.isRef(defn.UnitClass)) tree.withType(tree.typeOpt) else super.typedLiteral(tree) - + /** Type check select nodes, applying the following rewritings exhaustively * on selections `e.m`, where `OT` is the type of the owner of `m` and `ET` * is the erased type of the selection's original qualifier expression. @@ -395,19 +395,19 @@ object Erasure extends TypeTestsCasts{ } // The following four methods take as the proto-type the erasure of the pre-existing type, - // if the original proto-type is not a value type. + // if the original proto-type is not a value type. // This makes all branches be adapted to the correct type. override def typedSeqLiteral(tree: untpd.SeqLiteral, pt: Type)(implicit ctx: Context) = super.typedSeqLiteral(tree, erasure(tree.typeOpt)) - // proto type of typed seq literal is original type; + // proto type of typed seq literal is original type; override def typedIf(tree: untpd.If, pt: Type)(implicit ctx: Context) = super.typedIf(tree, adaptProto(tree, pt)) - + override def typedMatch(tree: untpd.Match, pt: Type)(implicit ctx: Context) = super.typedMatch(tree, adaptProto(tree, pt)) - - override def typedTry(tree: untpd.Try, pt: Type)(implicit ctx: Context) = + + override def typedTry(tree: untpd.Try, pt: Type)(implicit ctx: Context) = super.typedTry(tree, adaptProto(tree, pt)) private def adaptProto(tree: untpd.Tree, pt: Type)(implicit ctx: Context) = { diff --git a/src/dotty/tools/dotc/transform/ExplicitOuter.scala b/src/dotty/tools/dotc/transform/ExplicitOuter.scala index 579ff9322..8baaa3a11 100644 --- a/src/dotty/tools/dotc/transform/ExplicitOuter.scala +++ b/src/dotty/tools/dotc/transform/ExplicitOuter.scala @@ -297,9 +297,9 @@ object ExplicitOuter { case ex: ClassCastException => throw new ClassCastException(i"no path exists from ${ctx.owner.enclosingClass} to $toCls") } - - /** The outer parameter definition of a constructor if it needs one */ - def paramDefs(constr: Symbol): List[ValDef] = + + /** The outer parameter definition of a constructor if it needs one */ + def paramDefs(constr: Symbol): List[ValDef] = if (constr.isConstructor && hasOuterParam(constr.owner.asClass)) { val MethodType(outerName :: _, outerType :: _) = constr.info val outerSym = ctx.newSymbol(constr, outerName, Param, outerType) diff --git a/src/dotty/tools/dotc/transform/FirstTransform.scala b/src/dotty/tools/dotc/transform/FirstTransform.scala index b8d2b44f3..cfe650b99 100644 --- a/src/dotty/tools/dotc/transform/FirstTransform.scala +++ b/src/dotty/tools/dotc/transform/FirstTransform.scala @@ -87,7 +87,7 @@ class FirstTransform extends MiniPhaseTransform with IdentityDenotTransformer wi case stat: TypeDef if singleClassDefs contains stat.name => val objName = stat.name.toTermName val nameClash = stats.exists { - case other: MemberDef => + case other: MemberDef => other.name == objName && other.symbol.info.isParameterless case _ => false @@ -99,7 +99,7 @@ class FirstTransform extends MiniPhaseTransform with IdentityDenotTransformer wi def skipJava(stats: List[Tree]): List[Tree] = // packages get a JavaDefined flag. Dont skip them stats.filter(t => !(t.symbol is(Flags.JavaDefined, Flags.Package))) - + addMissingCompanions(reorder(skipJava(stats))) } diff --git a/src/dotty/tools/dotc/transform/NormalizeFlags.scala b/src/dotty/tools/dotc/transform/NormalizeFlags.scala index bdec800c7..2f5907b75 100644 --- a/src/dotty/tools/dotc/transform/NormalizeFlags.scala +++ b/src/dotty/tools/dotc/transform/NormalizeFlags.scala @@ -9,7 +9,7 @@ import SymDenotations.SymDenotation import TreeTransforms.MiniPhaseTransform import Flags._, Symbols._ -/** 1. Widens all private[this] and protected[this] qualifiers to just private/protected +/** 1. Widens all private[this] and protected[this] qualifiers to just private/protected * 2. Sets PureInterface flag for traits that only have pure interface members and that * do not have initialization code. A pure interface member is either an abstract * or alias type definition or a deferred val or def. @@ -19,12 +19,12 @@ class NormalizeFlags extends MiniPhaseTransform with SymTransformer { thisTransf def transformSym(ref: SymDenotation)(implicit ctx: Context) = { var newFlags = ref.flags &~ Local - if (ref.is(NoInitsTrait) && ref.info.decls.forall(isPureInterfaceMember)) + if (ref.is(NoInitsTrait) && ref.info.decls.forall(isPureInterfaceMember)) newFlags |= PureInterface if (newFlags != ref.flags) ref.copySymDenotation(initFlags = newFlags) else ref } - - private def isPureInterfaceMember(sym: Symbol)(implicit ctx: Context) = + + private def isPureInterfaceMember(sym: Symbol)(implicit ctx: Context) = if (sym.isTerm) sym.is(Deferred) else !sym.isClass } diff --git a/src/dotty/tools/dotc/transform/Pickler.scala b/src/dotty/tools/dotc/transform/Pickler.scala index b3caaa19b..445fed2c4 100644 --- a/src/dotty/tools/dotc/transform/Pickler.scala +++ b/src/dotty/tools/dotc/transform/Pickler.scala @@ -16,15 +16,15 @@ class Pickler extends Phase { import ast.tpd._ override def phaseName: String = "pickler" - + private def output(name: String, msg: String) = { val s = new PrintStream(name) s.print(msg) s.close } - + private val beforePickling = new mutable.HashMap[CompilationUnit, String] - + override def run(implicit ctx: Context): Unit = { val unit = ctx.compilationUnit if (!unit.isJava) { @@ -46,25 +46,25 @@ class Pickler extends Phase { } // println(i"rawBytes = \n$rawBytes%\n%") // DEBUG if (pickling ne noPrinter) new TastyPrinter(pickler.assembleParts()).printContents() - } + } } - + override def runOn(units: List[CompilationUnit])(implicit ctx: Context): List[CompilationUnit] = { val result = super.runOn(units) - if (ctx.settings.YtestPickler.value) + if (ctx.settings.YtestPickler.value) testUnpickler(units)(ctx.fresh.setPeriod(Period(ctx.runId + 1, FirstPhaseId))) result } - + private def testUnpickler(units: List[CompilationUnit])(implicit ctx: Context): Unit = { pickling.println(i"testing unpickler at run ${ctx.runId}") ctx.definitions.init - val unpicklers = + val unpicklers = for (unit <- units) yield { val unpickler = new DottyUnpickler(unit.pickler.assembleParts()) unpickler.enter(roots = Set()) unpickler - } + } pickling.println("************* entered toplevel ***********") for ((unpickler, unit) <- unpicklers zip units) { val unpickled = unpickler.body(readPositions = false) @@ -72,7 +72,7 @@ class Pickler extends Phase { } } - private def testSame(unpickled: String, previous: String, unit: CompilationUnit)(implicit ctx: Context) = + private def testSame(unpickled: String, previous: String, unit: CompilationUnit)(implicit ctx: Context) = if (previous != unpickled) { output("before-pickling.txt", previous) output("after-pickling.txt", unpickled) diff --git a/src/dotty/tools/dotc/transform/ResolveSuper.scala b/src/dotty/tools/dotc/transform/ResolveSuper.scala index 921a5f1fa..9c0e34256 100644 --- a/src/dotty/tools/dotc/transform/ResolveSuper.scala +++ b/src/dotty/tools/dotc/transform/ResolveSuper.scala @@ -48,7 +48,7 @@ class ResolveSuper extends MiniPhaseTransform with IdentityDenotTransformer { th override def phaseName: String = "resolveSuper" - override def runsAfter = Set(classOf[ElimByName]) // verified empirically, need to figure out what the reason is. + override def runsAfter = Set(classOf[ElimByName]) // verified empirically, need to figure out what the reason is. /** Returns the symbol that is accessed by a super-accessor in a mixin composition. * diff --git a/src/dotty/tools/dotc/transform/RestoreScopes.scala b/src/dotty/tools/dotc/transform/RestoreScopes.scala index 0eb1935a6..3a168b1fe 100644 --- a/src/dotty/tools/dotc/transform/RestoreScopes.scala +++ b/src/dotty/tools/dotc/transform/RestoreScopes.scala @@ -24,7 +24,7 @@ class RestoreScopes extends MiniPhaseTransform with IdentityDenotTransformer { t override def transformTypeDef(tree: TypeDef)(implicit ctx: Context, info: TransformerInfo) = { val TypeDef(_, impl: Template) = tree - // + // val restoredDecls = newScope for (stat <- impl.constr :: impl.body) if (stat.isInstanceOf[MemberDef] && stat.symbol.exists) @@ -33,7 +33,7 @@ class RestoreScopes extends MiniPhaseTransform with IdentityDenotTransformer { t // For top-level classes this does nothing. val cls = tree.symbol.asClass val pkg = cls.owner.asClass - pkg.enter(cls) + pkg.enter(cls) val cinfo = cls.classInfo tree.symbol.copySymDenotation( info = cinfo.derivedClassInfo( // Dotty deviation: Cannot expand cinfo inline without a type error diff --git a/src/dotty/tools/dotc/transform/TreeChecker.scala b/src/dotty/tools/dotc/transform/TreeChecker.scala index 31a37eb09..af5a9a1f2 100644 --- a/src/dotty/tools/dotc/transform/TreeChecker.scala +++ b/src/dotty/tools/dotc/transform/TreeChecker.scala @@ -183,13 +183,13 @@ class TreeChecker extends Phase with SymTransformer { phasesToCheck.foreach(_.checkPostCondition(res)) res } - + /** Check that PolyParams and MethodParams refer to an enclosing type */ def checkNoOrphans(tp: Type)(implicit ctx: Context) = new TypeMap() { val definedBinders = mutable.Set[Type]() def apply(tp: Type): Type = { tp match { - case tp: BindingType => + case tp: BindingType => definedBinders += tp mapOver(tp) definedBinders -= tp |