diff --git a/interfaces/src/main/java/dotty/tools/dotc/interfaces/SourceFile.java b/interfaces/src/main/java/dotty/tools/dotc/interfaces/SourceFile.java index 0e16d3ea4ba9..6c72a5125b0d 100644 --- a/interfaces/src/main/java/dotty/tools/dotc/interfaces/SourceFile.java +++ b/interfaces/src/main/java/dotty/tools/dotc/interfaces/SourceFile.java @@ -1,7 +1,5 @@ package dotty.tools.dotc.interfaces; -import java.io.File; - /** A source file. * * User code should not implement this interface, but it may have to diff --git a/src/dotty/tools/dotc/ast/Trees.scala b/src/dotty/tools/dotc/ast/Trees.scala index 70701ecd773f..27973c3e96ba 100644 --- a/src/dotty/tools/dotc/ast/Trees.scala +++ b/src/dotty/tools/dotc/ast/Trees.scala @@ -48,7 +48,7 @@ object Trees { * the existing tree transparently, assigning its `tpe` field, * provided it was `null` before. * - It is impossible to embed untyped trees in typed ones. - * - Typed trees can be embedded untyped ones provided they are rooted + * - Typed trees can be embedded in untyped ones provided they are rooted * in a TypedSplice node. * - Type checking an untyped tree should remove all embedded `TypedSplice` * nodes. @@ -855,7 +855,7 @@ object Trees { val cpy: TreeCopier - /** A class for copying trees. The copy methods avid creating a new tree + /** A class for copying trees. The copy methods avoid creating a new tree * If all arguments stay the same. * * Note: Some of the copy methods take a context. diff --git a/src/dotty/tools/dotc/transform/TreeTransform.scala b/src/dotty/tools/dotc/transform/TreeTransform.scala index 52a3ad94e41a..45fa3d607b7b 100644 --- a/src/dotty/tools/dotc/transform/TreeTransform.scala +++ b/src/dotty/tools/dotc/transform/TreeTransform.scala @@ -42,7 +42,7 @@ object TreeTransforms { * the general dispatch overhead as opposed to the concrete work done in transformations. So that leaves us with * 0.2sec, or roughly 600M processor cycles. * - * Now, to the amount of work that needs to be done. The codebase produces of about 250'000 trees after typechecking. + * Now, to the amount of work that needs to be done. The codebase produces an average of about 250'000 trees after typechecking. * Transformations are likely to make this bigger so let's assume 300K trees on average. We estimate to have about 100 * micro-transformations. Let's say 5 transformation groups of 20 micro-transformations each. (by comparison, * scalac has in excess of 20 phases, and most phases do multiple transformations). There are then 30M visits @@ -208,7 +208,7 @@ object TreeTransforms { if (cls.getDeclaredMethods.exists(_.getName == name)) cls != classOf[TreeTransform] else hasRedefinedMethod(cls.getSuperclass, name) - /** Create an index array `next` of size one larger than teh size of `transforms` such that + /** Create an index array `next` of size one larger than the size of `transforms` such that * for each index i, `next(i)` is the smallest index j such that * * i <= j diff --git a/src/dotty/tools/dotc/typer/TypeAssigner.scala b/src/dotty/tools/dotc/typer/TypeAssigner.scala index 0c55d977e67a..15f199bc216d 100644 --- a/src/dotty/tools/dotc/typer/TypeAssigner.scala +++ b/src/dotty/tools/dotc/typer/TypeAssigner.scala @@ -414,7 +414,7 @@ trait TypeAssigner { def assignType(tree: untpd.SeqLiteral, elems: List[Tree], elemtpt: Tree)(implicit ctx: Context) = { val ownType = tree match { - case tree: JavaSeqLiteral => defn.ArrayOf(elemtpt.tpe) + case tree: untpd.JavaSeqLiteral => defn.ArrayOf(elemtpt.tpe) case _ => if (ctx.erasedTypes) defn.SeqType else defn.SeqType.appliedTo(elemtpt.tpe) } tree.withType(ownType) diff --git a/src/strawman/collections/CollectionStrawMan4.scala b/src/strawman/collections/CollectionStrawMan4.scala index fb95ea59f98d..7e8de2c82cd4 100644 --- a/src/strawman/collections/CollectionStrawMan4.scala +++ b/src/strawman/collections/CollectionStrawMan4.scala @@ -216,7 +216,7 @@ object CollectionStrawMan4 { object ListBuffer extends IterableFactory[ListBuffer] { def fromIterable[B](coll: Iterable[B]): ListBuffer[B] = coll match { - case pd @ View.Partitioned(partition: View.Partition[B]) => + case pd @ View.Partitioned(partition: View.Partition[B] @unchecked) => partition.distribute(new ListBuffer[B]()) new ListBuffer[B] ++= pd.forced.get case _ => @@ -267,7 +267,7 @@ object CollectionStrawMan4 { Array.copy(fst.elems, fst.start, elems, 0, fst.length) Array.copy(snd.elems, snd.start, elems, fst.length, snd.length) new ArrayBuffer(elems, elems.length) - case pd @ View.Partitioned(partition: View.Partition[B]) => + case pd @ View.Partitioned(partition: View.Partition[B] @unchecked) => partition.distribute(new ArrayBuffer[B]()) pd.forced.get.asInstanceOf[ArrayBuffer[B]] case c if c.knownLength >= 0 => diff --git a/test/test/ContextEscapeDetector.java b/test/test/ContextEscapeDetector.java index c7768fd57647..78d293a5df89 100644 --- a/test/test/ContextEscapeDetector.java +++ b/test/test/ContextEscapeDetector.java @@ -1,6 +1,5 @@ package test; -import org.junit.runner.Description; import org.junit.runner.Result; import org.junit.runner.notification.RunListener; import org.junit.Assert; @@ -43,6 +42,7 @@ private static synchronized int contextsAlive() { return count; } + @SuppressWarnings("unused") private static volatile Object o = null; private static synchronized void forceGCHeuristic0() { @@ -59,7 +59,7 @@ private static synchronized void forceGCHeuristic0() { private static synchronized void forceGCHeuristic1() { Object obj = new Object(); - WeakReference ref = new WeakReference(obj); + WeakReference ref = new WeakReference<>(obj); obj = null; while (ref.get() != null) { System.gc(); @@ -69,7 +69,7 @@ private static synchronized void forceGCHeuristic1() { private static synchronized void forceGCHeuristic2() { try { Object[] arr = new Object[1024]; // upto 8 GB - WeakReference ref = new WeakReference(arr); + WeakReference ref = new WeakReference<>(arr); o = arr; // make sure array isn't optimized away Runtime runtime = Runtime.getRuntime();