diff --git a/hail/build.gradle b/hail/build.gradle index c111fa6e2ba..32125ba7121 100644 --- a/hail/build.gradle +++ b/hail/build.gradle @@ -70,7 +70,8 @@ tasks.withType(ScalaCompile) { "-deprecation", "-unchecked", "-Ywarn-unused:_,-explicits,-implicits", - "-Wconf:cat=unused-locals:w,cat=unused:info,any:w", +// "-Wconf:cat=unused-locals:w,cat=unused:info,any:w", + "-Wconf:any:e", "-Ypartial-unification", ] diff --git a/hail/src/main/scala/is/hail/backend/BackendUtils.scala b/hail/src/main/scala/is/hail/backend/BackendUtils.scala index fd70d0457e5..78bb30fd0f0 100644 --- a/hail/src/main/scala/is/hail/backend/BackendUtils.scala +++ b/hail/src/main/scala/is/hail/backend/BackendUtils.scala @@ -10,6 +10,7 @@ import is.hail.io.fs._ import is.hail.services._ import is.hail.utils._ +import scala.annotation.nowarn import scala.util.Try object BackendUtils { @@ -93,6 +94,7 @@ class BackendUtils( results case Some(cachedResults) => + @nowarn("cat=unused-pat-vars&msg=pattern var c") val remainingContexts = for { c @ (_, k) <- contexts.zipWithIndex diff --git a/hail/src/main/scala/is/hail/backend/ExecuteContext.scala b/hail/src/main/scala/is/hail/backend/ExecuteContext.scala index 5fbb4d197cf..07a411bb309 100644 --- a/hail/src/main/scala/is/hail/backend/ExecuteContext.scala +++ b/hail/src/main/scala/is/hail/backend/ExecuteContext.scala @@ -136,8 +136,6 @@ class ExecuteContext( private val cleanupFunctions = mutable.ArrayBuffer[() => Unit]() - private[this] val broadcasts = mutable.ArrayBuffer.empty[BroadcastValue[_]] - val memo: mutable.Map[Any, Any] = new mutable.HashMap[Any, Any]() val taskContext: HailTaskContext = new LocalTaskContext(0, 0) diff --git a/hail/src/main/scala/is/hail/backend/local/LocalBackend.scala b/hail/src/main/scala/is/hail/backend/local/LocalBackend.scala index ac4ec419b29..cdb3105b012 100644 --- a/hail/src/main/scala/is/hail/backend/local/LocalBackend.scala +++ b/hail/src/main/scala/is/hail/backend/local/LocalBackend.scala @@ -208,7 +208,7 @@ class LocalBackend( throw new LowererUnsupportedOperation(s"lowered to uncompilable IR: ${Pretty(ctx, ir)}") if (ir.typ == TVoid) { - val (pt, f) = ctx.timer.time("Compile") { + val (_, f) = ctx.timer.time("Compile") { Compile[AsmFunction1RegionUnit]( ctx, FastSeq(), diff --git a/hail/src/main/scala/is/hail/backend/service/ServiceBackend.scala b/hail/src/main/scala/is/hail/backend/service/ServiceBackend.scala index 48e91a7b107..f2fc277e3a2 100644 --- a/hail/src/main/scala/is/hail/backend/service/ServiceBackend.scala +++ b/hail/src/main/scala/is/hail/backend/service/ServiceBackend.scala @@ -154,7 +154,6 @@ class ServiceBackend( fs: FS, collection: Array[Array[Byte]], stageIdentifier: String, - dependency: Option[TableStageDependency] = None, f: (Array[Byte], HailTaskContext, HailClassLoader, FS) => Array[Byte], ): (String, String, Int) = { val backendContext = _backendContext.asInstanceOf[ServiceBackendContext] @@ -291,7 +290,7 @@ class ServiceBackend( f: (Array[Byte], HailTaskContext, HailClassLoader, FS) => Array[Byte] ): Array[Array[Byte]] = { val (token, root, n) = - submitAndWaitForBatch(_backendContext, fs, collection, stageIdentifier, dependency, f) + submitAndWaitForBatch(_backendContext, fs, collection, stageIdentifier, f) log.info(s"parallelizeAndComputeWithIndex: $token: reading results") val startTime = System.nanoTime() @@ -321,14 +320,8 @@ class ServiceBackend( )( f: (Array[Byte], HailTaskContext, HailClassLoader, FS) => Array[Byte] ): (Option[Throwable], IndexedSeq[(Array[Byte], Int)]) = { - val (token, root, n) = submitAndWaitForBatch( - _backendContext, - fs, - collection.map(_._1).toArray, - stageIdentifier, - dependency, - f, - ) + val (token, root, _) = + submitAndWaitForBatch(_backendContext, fs, collection.map(_._1).toArray, stageIdentifier, f) log.info(s"parallelizeAndComputeWithIndex: $token: reading results") val startTime = System.nanoTime() val r @ (_, results) = runAllKeepFirstError(executor) { @@ -372,7 +365,6 @@ class ServiceBackend( MakeTuple.ordered(FastSeq(x)), optimize = true, ) - val retPType = pt.asInstanceOf[PBaseStruct] val elementType = pt.fields(0).typ val off = ctx.scopedExecution((hcl, fs, htc, r) => f(hcl, fs, htc, r).apply(r)) val codec = TypedCodecSpec( @@ -455,7 +447,7 @@ object ServiceBackendAPI { assert(argv.length == 7, argv.toFastSeq) val scratchDir = argv(0) - val logFile = argv(1) + // val logFile = argv(1) val jarLocation = argv(2) val kind = argv(3) assert(kind == Main.DRIVER) @@ -473,7 +465,7 @@ object ServiceBackendAPI { val batchClient = new BatchClient(s"$scratchDir/secrets/gsa-key/key.json") log.info("BatchClient allocated.") - var batchId = + val batchId = BatchConfig.fromConfigFile(s"$scratchDir/batch-config/batch-config.json").map(_.batchId) log.info("BatchConfig parsed.") diff --git a/hail/src/main/scala/is/hail/backend/service/Worker.scala b/hail/src/main/scala/is/hail/backend/service/Worker.scala index b4adb68e65b..ad0b2498954 100644 --- a/hail/src/main/scala/is/hail/backend/service/Worker.scala +++ b/hail/src/main/scala/is/hail/backend/service/Worker.scala @@ -104,8 +104,8 @@ object Worker { throw new IllegalArgumentException(s"expected seven arguments, not: ${argv.length}") } val scratchDir = argv(0) - val logFile = argv(1) - var jarLocation = argv(2) + // val logFile = argv(1) + // var jarLocation = argv(2) val kind = argv(3) assert(kind == Main.WORKER) val root = argv(4) diff --git a/hail/src/main/scala/is/hail/experimental/package.scala b/hail/src/main/scala/is/hail/experimental/package.scala index 9ac4ba51d71..623c7e4cb69 100644 --- a/hail/src/main/scala/is/hail/experimental/package.scala +++ b/hail/src/main/scala/is/hail/experimental/package.scala @@ -30,7 +30,7 @@ package object experimental { if (ac <= 1 || an == 0) // FAF should not be calculated on singletons 0.0 else { - var f = (af: Double) => ac.toDouble - 1 - qpois(ci, an.toDouble * af) + val f = (af: Double) => ac.toDouble - 1 - qpois(ci, an.toDouble * af) val root = uniroot(f, lower, upper, tol) val rounder = 1d / (precision / 100d) var max_af = math.round(root.getOrElse(0.0) * rounder) / rounder diff --git a/hail/src/main/scala/is/hail/expr/ir/AbstractMatrixTableSpec.scala b/hail/src/main/scala/is/hail/expr/ir/AbstractMatrixTableSpec.scala index 37b584196e8..9b12157d5af 100644 --- a/hail/src/main/scala/is/hail/expr/ir/AbstractMatrixTableSpec.scala +++ b/hail/src/main/scala/is/hail/expr/ir/AbstractMatrixTableSpec.scala @@ -75,7 +75,6 @@ object RelationalSpec { def read(fs: FS, path: String): RelationalSpec = { val jv = readMetadata(fs, path) - val references = readReferences(fs, path, jv) (jv \ "name").extract[String] match { case "TableSpec" => TableSpec.fromJValue(fs, path, jv) diff --git a/hail/src/main/scala/is/hail/expr/ir/BinaryOp.scala b/hail/src/main/scala/is/hail/expr/ir/BinaryOp.scala index 17941317b04..91be6146c88 100644 --- a/hail/src/main/scala/is/hail/expr/ir/BinaryOp.scala +++ b/hail/src/main/scala/is/hail/expr/ir/BinaryOp.scala @@ -118,8 +118,6 @@ object BinaryOp { case _ => incompatible(lt, rt, op) } case (TBoolean, TBoolean) => - val ll = coerce[Boolean](l) - val rr = coerce[Boolean](r) op match { case _ => incompatible(lt, rt, op) } diff --git a/hail/src/main/scala/is/hail/expr/ir/BinarySearch.scala b/hail/src/main/scala/is/hail/expr/ir/BinarySearch.scala index dd61e95f18a..146502af3ee 100644 --- a/hail/src/main/scala/is/hail/expr/ir/BinarySearch.scala +++ b/hail/src/main/scala/is/hail/expr/ir/BinarySearch.scala @@ -286,15 +286,6 @@ object BinarySearch { } } - private def runSearchUnit( - cb: EmitCodeBuilder, - haystack: SIndexableValue, - compare: Comparator, - found: (Value[Int], Value[Int], Value[Int]) => Unit, - notFound: Value[Int] => Unit, - ): Unit = - runSearchBoundedUnit(cb, haystack, compare, 0, haystack.loadLength(), found, notFound) - private def runSearchBounded[T: TypeInfo]( cb: EmitCodeBuilder, haystack: SIndexableValue, diff --git a/hail/src/main/scala/is/hail/expr/ir/Emit.scala b/hail/src/main/scala/is/hail/expr/ir/Emit.scala index 6397686596c..3538ec7ac4d 100644 --- a/hail/src/main/scala/is/hail/expr/ir/Emit.scala +++ b/hail/src/main/scala/is/hail/expr/ir/Emit.scala @@ -13,7 +13,7 @@ import is.hail.expr.ir.streams.{EmitStream, StreamProducer, StreamUtils} import is.hail.io.{BufferSpec, InputBuffer, OutputBuffer, TypedCodecSpec} import is.hail.io.fs.FS import is.hail.linalg.{BLAS, LAPACK, LinalgCodeUtils} -import is.hail.types.{tcoerce, TypeWithRequiredness, VirtualTypeWithReq} +import is.hail.types.{TypeWithRequiredness, VirtualTypeWithReq, tcoerce} import is.hail.types.physical._ import is.hail.types.physical.stypes._ import is.hail.types.physical.stypes.concrete._ @@ -25,8 +25,8 @@ import is.hail.variant.ReferenceGenome import scala.collection.mutable import scala.language.existentials - import java.io._ +import scala.annotation.nowarn // class for holding all information computed ahead-of-time that we need in the emitter object EmitContext { @@ -769,6 +769,7 @@ class Emit[C]( val mb: EmitMethodBuilder[C] = cb.emb.asInstanceOf[EmitMethodBuilder[C]] + @nowarn("cat=unused-locals&msg=local default argument") def emit( ir: IR, mb: EmitMethodBuilder[C] = mb, @@ -2792,7 +2793,7 @@ class Emit[C]( } case ResultOp(idx, sig) => - val AggContainer(aggs, sc, _) = container.get + val AggContainer(_, sc, _) = container.get val rvAgg = agg.Extract.getAgg(sig) rvAgg.result(cb, sc.states(idx), region) @@ -3534,16 +3535,6 @@ class Emit[C]( ): IEmitCode = this.emitI(ir, cb, region, env, container, loopEnv) - def emitVoid( - ir: IR, - env: EmitEnv = env, - container: Option[AggContainer] = container, - loopEnv: Option[Env[LoopRef]] = loopEnv, - ): Code[Unit] = - EmitCodeBuilder.scopedVoid(mb) { cb => - this.emitVoid(cb, ir, region, env, container, loopEnv) - } - def emitStream(ir: IR, outerRegion: Value[Region], env: EmitEnv = env): EmitCode = EmitCode.fromI(mb)(cb => EmitStream.produce(this, ir, cb, cb.emb, outerRegion, env, container) @@ -3677,7 +3668,6 @@ class Emit[C]( ) sort.emitWithBuilder[Boolean] { cb => - val region = sort.getCodeParam[Region](1) val leftEC = cb.memoize( EmitCode.present(sort, elemSCT.loadToSValue(cb, sort.getCodeParam(2)(elemSCT.ti))), "sort_leftEC", @@ -3774,8 +3764,6 @@ object NDArrayEmitter { rightShape: IndexedSeq[Value[Long]], errorID: Int, ): IndexedSeq[Value[Long]] = { - val mb = cb.emb - assert(leftShape.nonEmpty) assert(rightShape.nonEmpty) diff --git a/hail/src/main/scala/is/hail/expr/ir/EmitClassBuilder.scala b/hail/src/main/scala/is/hail/expr/ir/EmitClassBuilder.scala index ab84caa8fe3..78391c6e975 100644 --- a/hail/src/main/scala/is/hail/expr/ir/EmitClassBuilder.scala +++ b/hail/src/main/scala/is/hail/expr/ir/EmitClassBuilder.scala @@ -384,18 +384,11 @@ final class EmitClassBuilder[C](val emodb: EmitModuleBuilder, val cb: ClassBuild newPField(name, st), ) - private[this] val typMap: mutable.Map[Type, Value[_ <: Type]] = - mutable.Map() - - private[this] val pTypeMap: mutable.Map[PType, Value[_ <: PType]] = mutable.Map() - private[this] type CompareMapKey = (SType, SType) private[this] val memoizedComparisons: mutable.Map[CompareMapKey, CodeOrdering] = mutable.Map[CompareMapKey, CodeOrdering]() - def numTypes: Int = typMap.size - private[this] val decodedLiteralsField = genFieldThisRef[Array[Long]]("decoded_lits") def literalsArray(): Value[Array[Long]] = decodedLiteralsField diff --git a/hail/src/main/scala/is/hail/expr/ir/ExtractIntervalFilters.scala b/hail/src/main/scala/is/hail/expr/ir/ExtractIntervalFilters.scala index 2f22c69d3ba..77280de352c 100644 --- a/hail/src/main/scala/is/hail/expr/ir/ExtractIntervalFilters.scala +++ b/hail/src/main/scala/is/hail/expr/ir/ExtractIntervalFilters.scala @@ -168,7 +168,6 @@ class KeySetLattice(ctx: ExecuteContext, keyType: TStruct) extends Lattice { if (v.isEmpty) return top val builder = mutable.ArrayBuilder.make[Interval]() - var i = 0 if (v.head.left != IntervalEndpoint(Row(), -1)) { builder += Interval(IntervalEndpoint(Row(), -1), v.head.left) } @@ -751,24 +750,6 @@ class ExtractIntervalFilters(ctx: ExecuteContext, keyType: TStruct) { private def literalSizeOkay(lit: Any): Boolean = lit.asInstanceOf[Iterable[_]].size <= MAX_LITERAL_SIZE - private def wrapInRow(intervals: IndexedSeq[Interval]): IndexedSeq[Interval] = intervals - .map { interval => - Interval( - IntervalEndpoint(Row(interval.left.point), interval.left.sign), - IntervalEndpoint(Row(interval.right.point), interval.right.sign), - ) - } - - private def intervalFromComparison(v: Any, op: ComparisonOp[_]): Interval = { - (op: @unchecked) match { - case _: EQ => Interval(endpoint(v, -1), endpoint(v, 1)) - case GT(_, _) => Interval(negInf, endpoint(v, -1)) // value > key - case GTEQ(_, _) => Interval(negInf, endpoint(v, 1)) // value >= key - case LT(_, _) => Interval(endpoint(v, 1), posInf) // value < key - case LTEQ(_, _) => Interval(endpoint(v, -1), posInf) // value <= key - } - } - private def posInf: IntervalEndpoint = IntervalEndpoint(Row(), 1) private def negInf: IntervalEndpoint = IntervalEndpoint(Row(), -1) diff --git a/hail/src/main/scala/is/hail/expr/ir/GenericLines.scala b/hail/src/main/scala/is/hail/expr/ir/GenericLines.scala index cff71fffeed..8adb4fe75eb 100644 --- a/hail/src/main/scala/is/hail/expr/ir/GenericLines.scala +++ b/hail/src/main/scala/is/hail/expr/ir/GenericLines.scala @@ -67,7 +67,7 @@ object GenericLines { private var eof = false private var closed = false - private var buf = new Array[Byte](64 * 1024) + private val buf = new Array[Byte](64 * 1024) private var bufOffset = 0L private var bufMark = 0 private var bufPos = 0 @@ -339,7 +339,6 @@ object GenericLines { } val body: (FS, Any) => CloseableIterator[GenericLine] = { (fs: FS, context: Any) => val contextRow = context.asInstanceOf[Row] - val index = contextRow.getAs[Int](0) val file = contextRow.getAs[String](1) val chrom = contextRow.getAs[String](2) val start = contextRow.getAs[Int](3) diff --git a/hail/src/main/scala/is/hail/expr/ir/LowerMatrixIR.scala b/hail/src/main/scala/is/hail/expr/ir/LowerMatrixIR.scala index 8e68ff1c5ab..07b26c4bb56 100644 --- a/hail/src/main/scala/is/hail/expr/ir/LowerMatrixIR.scala +++ b/hail/src/main/scala/is/hail/expr/ir/LowerMatrixIR.scala @@ -1035,7 +1035,6 @@ object LowerMatrixIR { .aggregate(makeTuple(applyAggOp(Count(), FastSeq(), FastSeq()), 'global(colsField).len)) case MatrixAggregate(child, query) => val lc = lower(ctx, child, ab) - val idx = Symbol(genUID()) TableAggregate( lc, aggExplodeIR( diff --git a/hail/src/main/scala/is/hail/expr/ir/MatrixWriter.scala b/hail/src/main/scala/is/hail/expr/ir/MatrixWriter.scala index e801bc70985..f27faab7cf5 100644 --- a/hail/src/main/scala/is/hail/expr/ir/MatrixWriter.scala +++ b/hail/src/main/scala/is/hail/expr/ir/MatrixWriter.scala @@ -1011,7 +1011,6 @@ case class VCFPartitionWriter( _writeB(cb, v.toBytes(cb).loadBytes(cb)) case v: SCallValue => val ploidy = v.ploidy(cb) - val phased = v.isPhased(cb) cb.if_(ploidy.ceq(0), cb._fatal("VCF spec does not support 0-ploid calls.")) cb.if_(ploidy.ceq(1), cb._fatal("VCF spec does not support phased haploid calls.")) val c = v.canonicalCall(cb) diff --git a/hail/src/main/scala/is/hail/expr/ir/NativeReaderOptions.scala b/hail/src/main/scala/is/hail/expr/ir/NativeReaderOptions.scala index fdbecc51aa9..d0c31e07a69 100644 --- a/hail/src/main/scala/is/hail/expr/ir/NativeReaderOptions.scala +++ b/hail/src/main/scala/is/hail/expr/ir/NativeReaderOptions.scala @@ -21,12 +21,11 @@ class NativeReaderOptionsSerializer() extends CustomSerializer[NativeReaderOptio NativeReaderOptions(intervals, intervalPointType, filterIntervals) }, { case opts: NativeReaderOptions => - implicit val fmt = format val ty = TArray(TInterval(opts.intervalPointType)) - (("name" -> opts.getClass.getSimpleName) ~ + ("name" -> opts.getClass.getSimpleName) ~ ("intervals" -> JSONAnnotationImpex.exportAnnotation(opts.intervals, ty)) ~ ("intervalPointType" -> opts.intervalPointType.parsableString()) ~ - ("filterIntervals" -> opts.filterIntervals)) + ("filterIntervals" -> opts.filterIntervals) }, ) ) diff --git a/hail/src/main/scala/is/hail/expr/ir/NormalizeNames.scala b/hail/src/main/scala/is/hail/expr/ir/NormalizeNames.scala index 93593109cc3..108834eb585 100644 --- a/hail/src/main/scala/is/hail/expr/ir/NormalizeNames.scala +++ b/hail/src/main/scala/is/hail/expr/ir/NormalizeNames.scala @@ -3,6 +3,8 @@ package is.hail.expr.ir import is.hail.backend.ExecuteContext import is.hail.utils.StackSafe._ +import scala.annotation.nowarn + class NormalizeNames(normFunction: Int => String, allowFreeVariables: Boolean = false) { var count: Int = 0 @@ -23,6 +25,7 @@ class NormalizeNames(normFunction: Int => String, allowFreeVariables: Boolean = private def normalizeIR(ir: BaseIR, env: BindingEnv[String], context: Array[String] = Array()) : StackFrame[BaseIR] = { + @nowarn("cat=unused-locals&msg=default argument") def normalizeBaseIR(next: BaseIR, env: BindingEnv[String] = env): StackFrame[BaseIR] = call(normalizeIR(next, env, context :+ ir.getClass().getName())) diff --git a/hail/src/main/scala/is/hail/expr/ir/PruneDeadFields.scala b/hail/src/main/scala/is/hail/expr/ir/PruneDeadFields.scala index 9744b0730f4..67a1a2f8d04 100644 --- a/hail/src/main/scala/is/hail/expr/ir/PruneDeadFields.scala +++ b/hail/src/main/scala/is/hail/expr/ir/PruneDeadFields.scala @@ -1109,7 +1109,6 @@ object PruneDeadFields { memoizeMatrixIR(ctx, child, dep, memo) case MatrixColsTail(child, _) => memoizeMatrixIR(ctx, child, requestedType, memo) case CastTableToMatrix(child, entriesFieldName, colsFieldName, _) => - val m = Map(MatrixType.entriesIdentifier -> entriesFieldName) val childDep = child.typ.copy( key = requestedType.rowKey, globalType = unify( @@ -1679,7 +1678,6 @@ object PruneDeadFields { memoizeValueIR(ctx, aggIR, requestedType.asInstanceOf[TDict].valueType, memo), ) case AggArrayPerElement(a, elementName, indexName, aggBody, knownLength, isScan) => - val aType = a.typ.asInstanceOf[TArray] val bodyEnv = memoizeValueIR(ctx, aggBody, TIterable.elementType(requestedType), memo) if (isScan) { val valueType = @@ -1778,7 +1776,6 @@ object PruneDeadFields { val sType = requestedType.asInstanceOf[TStruct] val insFieldNames = fields.map(_._1).toSet val rightDep = sType.filter(f => insFieldNames.contains(f.name))._1 - val rightDepFields = rightDep.fieldNames.toSet val leftDep = TStruct( old.typ.asInstanceOf[TStruct] .fields @@ -1815,7 +1812,6 @@ object PruneDeadFields { } ) case GetTupleElement(o, idx) => - val childTupleType = o.typ.asInstanceOf[TTuple] val tupleDep = TTuple(FastSeq(TupleField(idx, requestedType))) memoizeValueIR(ctx, o, tupleDep, memo) case ConsoleLog(message, result) => diff --git a/hail/src/main/scala/is/hail/expr/ir/Simplify.scala b/hail/src/main/scala/is/hail/expr/ir/Simplify.scala index 6c0da6b3cc9..1da59d653b7 100644 --- a/hail/src/main/scala/is/hail/expr/ir/Simplify.scala +++ b/hail/src/main/scala/is/hail/expr/ir/Simplify.scala @@ -68,24 +68,6 @@ object Simplify { private[this] def rewriteBlockMatrixNode: BlockMatrixIR => Option[BlockMatrixIR] = blockMatrixRules.lift - /** Returns true if 'x' propagates missingness, meaning if any child of 'x' evaluates to missing, - * then 'x' will evaluate to missing. - */ - private[this] def isStrict(x: IR): Boolean = { - x match { - case _: Apply | - _: ApplySeeded | - _: ApplyUnaryPrimOp | - _: ApplyBinaryPrimOp | - _: ArrayRef | - _: ArrayLen | - _: GetField | - _: GetTupleElement => true - case ApplyComparisonOp(op, _, _) => op.strict - case _ => false - } - } - /** Returns true if any strict child of 'x' is NA. A child is strict if 'x' evaluates to missing * whenever the child does. */ @@ -484,7 +466,6 @@ object Simplify { allRefsCanBePassedThrough(Let(after.toFastSeq, body)) } => - val r = Ref(name, x.typ) val fieldNames = newFields.map(_._1).toArray val newFieldMap = newFields.toMap val newFieldRefs = newFieldMap.map { case (k, ir) => diff --git a/hail/src/main/scala/is/hail/expr/ir/TableIR.scala b/hail/src/main/scala/is/hail/expr/ir/TableIR.scala index fc0a39fb4b8..c54afe4635b 100644 --- a/hail/src/main/scala/is/hail/expr/ir/TableIR.scala +++ b/hail/src/main/scala/is/hail/expr/ir/TableIR.scala @@ -3511,7 +3511,7 @@ case class TableExplode(child: TableIR, path: IndexedSeq[String]) extends TableI 0, )) - val (len, l) = Compile[AsmFunction2RegionLongInt]( + val (_, l) = Compile[AsmFunction2RegionLongInt]( ctx, FastSeq(( "row", @@ -3972,7 +3972,6 @@ case class TableAggregateByKey(child: TableIR, expr: IR) extends TableIR { var current: Long = 0 val rowKey: WritableRegionValue = WritableRegionValue(sm, keyType, ctx.freshRegion()) val consumerRegion: Region = ctx.region - val newRV = RegionValue(consumerRegion) def hasNext: Boolean = { if (isEnd || (current == 0 && !it.hasNext)) { diff --git a/hail/src/main/scala/is/hail/expr/ir/agg/CollectAsSetAggregator.scala b/hail/src/main/scala/is/hail/expr/ir/agg/CollectAsSetAggregator.scala index 7f7078ee609..efc71582ee7 100644 --- a/hail/src/main/scala/is/hail/expr/ir/agg/CollectAsSetAggregator.scala +++ b/hail/src/main/scala/is/hail/expr/ir/agg/CollectAsSetAggregator.scala @@ -161,8 +161,6 @@ class AppendOnlySetState(val kb: EmitClassBuilder[_], vt: VirtualTypeWithReq) def deserialize(codec: BufferSpec): (EmitCodeBuilder, Value[InputBuffer]) => Unit = { val kDec = et.buildDecoder(t.virtualType, kb) - val km = kb.genFieldThisRef[Boolean]("km") - val kv = kb.genFieldThisRef("kv")(typeToTypeInfo(t)) { (cb: EmitCodeBuilder, ib: Value[InputBuffer]) => init(cb) diff --git a/hail/src/main/scala/is/hail/expr/ir/agg/StagedBlockLinkedList.scala b/hail/src/main/scala/is/hail/expr/ir/agg/StagedBlockLinkedList.scala index 84fde3a5e01..f2895416721 100644 --- a/hail/src/main/scala/is/hail/expr/ir/agg/StagedBlockLinkedList.scala +++ b/hail/src/main/scala/is/hail/expr/ir/agg/StagedBlockLinkedList.scala @@ -75,9 +75,6 @@ class StagedBlockLinkedList(val elemType: PType, val kb: EmitClassBuilder[_]) { private def next(n: Node): Code[Long] = Region.loadAddress(nodeType.fieldOffset(n, "next")) - private def hasNext(n: Node): Code[Boolean] = - next(n) cne nil - private def setNext(cb: EmitCodeBuilder, n: Node, nNext: Node): Unit = cb += Region.storeAddress(nodeType.fieldOffset(n, "next"), nNext) diff --git a/hail/src/main/scala/is/hail/expr/ir/functions/Functions.scala b/hail/src/main/scala/is/hail/expr/ir/functions/Functions.scala index 4a68c9247c5..357a84685f9 100644 --- a/hail/src/main/scala/is/hail/expr/ir/functions/Functions.scala +++ b/hail/src/main/scala/is/hail/expr/ir/functions/Functions.scala @@ -6,7 +6,6 @@ import is.hail.backend.{ExecuteContext, HailStateManager} import is.hail.experimental.ExperimentalFunctions import is.hail.expr.ir._ import is.hail.io.bgen.BGENFunctions -import is.hail.types._ import is.hail.types.physical._ import is.hail.types.physical.stypes.{EmitType, SType, SValue} import is.hail.types.physical.stypes.concrete._ @@ -308,8 +307,6 @@ abstract class RegistryFunctions { def registerAll(): Unit - private val boxes = mutable.Map[String, Box[Type]]() - def tv(name: String): TVariable = TVariable(name) diff --git a/hail/src/main/scala/is/hail/expr/ir/functions/LocusFunctions.scala b/hail/src/main/scala/is/hail/expr/ir/functions/LocusFunctions.scala index f43809bb4b1..234a33d45a1 100644 --- a/hail/src/main/scala/is/hail/expr/ir/functions/LocusFunctions.scala +++ b/hail/src/main/scala/is/hail/expr/ir/functions/LocusFunctions.scala @@ -701,7 +701,6 @@ object LocusFunctions extends RegistryFunctions { val iT = interval.st.asInstanceOf[SInterval] val srcRG = iT.pointType.asInstanceOf[SLocus].rg val destRG = rt.types(0).asInstanceOf[PInterval].pointType.asInstanceOf[PLocus].rg - val er = EmitRegion(cb.emb, r) val intervalObj = Code.checkcast[Interval](svalueToJavaValue(cb, r, interval)) val lifted = cb.newLocal[(Interval, Boolean)]( "liftover_locus_interval_lifted", diff --git a/hail/src/main/scala/is/hail/expr/ir/functions/NDArrayFunctions.scala b/hail/src/main/scala/is/hail/expr/ir/functions/NDArrayFunctions.scala index 29d43a79b67..18adad9f0b3 100644 --- a/hail/src/main/scala/is/hail/expr/ir/functions/NDArrayFunctions.scala +++ b/hail/src/main/scala/is/hail/expr/ir/functions/NDArrayFunctions.scala @@ -413,7 +413,7 @@ object NDArrayFunctions extends RegistryFunctions { SNDArrayPointerValue ] val row = cb.newLocal[Long]("rowIdx") - val IndexedSeq(nRows, nCols) = newBlock.shapes + val IndexedSeq(nRows, _) = newBlock.shapes cb.for_( cb.assign(row, 0L), row < nRows.get, diff --git a/hail/src/main/scala/is/hail/expr/ir/lowering/LowerDistributedSort.scala b/hail/src/main/scala/is/hail/expr/ir/lowering/LowerDistributedSort.scala index c57893459e8..8330fa7c6dc 100644 --- a/hail/src/main/scala/is/hail/expr/ir/lowering/LowerDistributedSort.scala +++ b/hail/src/main/scala/is/hail/expr/ir/lowering/LowerDistributedSort.scala @@ -54,7 +54,6 @@ object LowerDistributedSort { val rowsType = resultPType.fieldType("rows").asInstanceOf[PArray] val rowType = rowsType.elementType.asInstanceOf[PStruct] val rows = rowsAndGlobal.getAs[IndexedSeq[Annotation]](0) - val kType = TStruct(sortFields.map(f => (f.field, rowType.virtualType.fieldType(f.field))): _*) val sortedRows = localAnnotationSort(ctx, rows, sortFields, rowType.virtualType) diff --git a/hail/src/main/scala/is/hail/expr/ir/ndarrays/EmitNDArray.scala b/hail/src/main/scala/is/hail/expr/ir/ndarrays/EmitNDArray.scala index 2001b4de4e3..2f8165c4e7e 100644 --- a/hail/src/main/scala/is/hail/expr/ir/ndarrays/EmitNDArray.scala +++ b/hail/src/main/scala/is/hail/expr/ir/ndarrays/EmitNDArray.scala @@ -593,7 +593,7 @@ object EmitNDArray { shape.indices.map(idx => { (cb: EmitCodeBuilder, outerStep: Value[Long]) => // SlicingIndices is a map from my coordinates to my child's coordinates. val whichSlicingAxis = slicingIndices(idx) - val (start, stop, sliceStep) = slicingValueTriples(idx) + val (_, _, sliceStep) = slicingValueTriples(idx) val innerStep = cb.newLocal[Long]( "ndarray_producer_slice_child_step", sliceStep * outerStep, diff --git a/hail/src/main/scala/is/hail/expr/ir/orderings/IterableOrdering.scala b/hail/src/main/scala/is/hail/expr/ir/orderings/IterableOrdering.scala index 62a71a4ade9..af4950b160e 100644 --- a/hail/src/main/scala/is/hail/expr/ir/orderings/IterableOrdering.scala +++ b/hail/src/main/scala/is/hail/expr/ir/orderings/IterableOrdering.scala @@ -123,8 +123,6 @@ object IterableOrdering { val lhs = x.asIndexable val rhs = y.asIndexable - val gt = cb.newLocal("gt", false) - val eq = cb.newLocal("eq", true) loop(cb, lhs, rhs) { (lhs, rhs) => val gt = elemGt(cb, lhs, rhs) diff --git a/hail/src/main/scala/is/hail/expr/ir/streams/EmitStream.scala b/hail/src/main/scala/is/hail/expr/ir/streams/EmitStream.scala index e64f790bda5..d13b904b148 100644 --- a/hail/src/main/scala/is/hail/expr/ir/streams/EmitStream.scala +++ b/hail/src/main/scala/is/hail/expr/ir/streams/EmitStream.scala @@ -149,7 +149,7 @@ object EmitStream { cb: EmitCodeBuilder, region: Value[Region] = outerRegion, env: EmitEnv = env, - container: Option[AggContainer] = container, + container: Option[AggContainer], ): Unit = emitter.emitVoid(cb, ir, region, env, container, None) @@ -170,8 +170,7 @@ object EmitStream { streamIR: IR, elementPType: PType, cb: EmitCodeBuilder, - outerRegion: Value[Region] = outerRegion, - env: EmitEnv = env, + env: EmitEnv, ): IEmitCode = { val ecb = cb.emb.genEmitClass[NoBoxLongIterator]("stream_to_iter") ecb.cb.addInterface(typeInfo[MissingnessAsMethod].iname) @@ -2919,8 +2918,6 @@ object EmitStream { producers.flatMap(_.length) match { case Seq() => None case ls => - val len = mb.genFieldThisRef[Int]("zip_asl_len") - val lenTemp = mb.genFieldThisRef[Int]("zip_asl_len_temp") Some({ cb: EmitCodeBuilder => val len = cb.newLocal[Int]("zip_len", ls.head(cb)) ls.tail.foreach { compL => @@ -3372,7 +3369,6 @@ object EmitStream { makeProducer, eltType, cb, - outerRegion, env.bind(ctxName, cb.memoize(contextsArray.loadElement(cb, idx))), ) .get(cb, "streams in zipJoinProducers cannot be missing") @@ -3642,7 +3638,6 @@ object EmitStream { .storageType .asInstanceOf[PCanonicalStruct] - val region = mb.genFieldThisRef[Region]("smm_region") val regionArray = mb.genFieldThisRef[Array[Region]]("smm_region_array") val staticMemManagementArray = diff --git a/hail/src/main/scala/is/hail/io/IndexBTree.scala b/hail/src/main/scala/is/hail/io/IndexBTree.scala index a6c2be81e13..11cf0d4fece 100644 --- a/hail/src/main/scala/is/hail/io/IndexBTree.scala +++ b/hail/src/main/scala/is/hail/io/IndexBTree.scala @@ -182,7 +182,7 @@ class IndexBTree(indexFileName: String, fs: FS, branchingFactor: Int = 1024) ext def queryIndex(query: Long): Option[Long] = { require(query >= 0) - val (index, result) = traverseTree(query, 0L, 1) + val (_, result) = traverseTree(query, 0L, 1) if (result != -1L) Option(result) diff --git a/hail/src/main/scala/is/hail/io/InputBuffers.scala b/hail/src/main/scala/is/hail/io/InputBuffers.scala index 25d3c77cc51..97ad9bfc1d3 100644 --- a/hail/src/main/scala/is/hail/io/InputBuffers.scala +++ b/hail/src/main/scala/is/hail/io/InputBuffers.scala @@ -185,7 +185,7 @@ final class MemoryInputBuffer(mb: MemoryBuffer) extends InputBuffer { def readBytes(toRegion: Region, toOff: Long, n: Int): Unit = mb.readBytes(toOff, n) def readBytesArray(n: Int): Array[Byte] = { - var arr = new Array[Byte](n) + val arr = new Array[Byte](n) mb.readBytesArray(arr, n) arr } @@ -457,7 +457,7 @@ final class BlockingInputBuffer(blockSize: Int, in: InputBlockBuffer) extends In } def readBytesArray(n: Int): Array[Byte] = { - var arr = new Array[Byte](n) + val arr = new Array[Byte](n) read(arr, 0, n) arr } diff --git a/hail/src/main/scala/is/hail/io/avro/UnsafeAvroTableReaderOptions.scala b/hail/src/main/scala/is/hail/io/avro/UnsafeAvroTableReaderOptions.scala index adb151693d7..14a2c5b8175 100644 --- a/hail/src/main/scala/is/hail/io/avro/UnsafeAvroTableReaderOptions.scala +++ b/hail/src/main/scala/is/hail/io/avro/UnsafeAvroTableReaderOptions.scala @@ -29,7 +29,6 @@ class UnsafeAvroTableReaderOptionsSerializer UnsafeAvroTableReaderOptions(key, intervals, intervalPointType) }, { case UnsafeAvroTableReaderOptions(key, intervals, intervalPointType) => - implicit val fmt: Formats = format val ty = TArray(TInterval(intervalPointType)) ("name" -> UnsafeAvroTableReaderOptions.getClass.getSimpleName) ~ ("key" -> key) ~ diff --git a/hail/src/main/scala/is/hail/io/bgen/BgenRDDPartitions.scala b/hail/src/main/scala/is/hail/io/bgen/BgenRDDPartitions.scala index 7904bbf7457..0241e824747 100644 --- a/hail/src/main/scala/is/hail/io/bgen/BgenRDDPartitions.scala +++ b/hail/src/main/scala/is/hail/io/bgen/BgenRDDPartitions.scala @@ -51,8 +51,6 @@ object BgenRDDPartitions extends Logging { nPartitions: Option[Int], keyType: Type, ): IndexedSeq[FilePartitionInfo] = { - val fs = ctx.fs - val fileRangeBounds = checkFilesDisjoint(ctx, files, keyType) val intervalOrdering = TInterval(keyType).ordering(ctx.stateManager) diff --git a/hail/src/main/scala/is/hail/io/bgen/StagedBGENReader.scala b/hail/src/main/scala/is/hail/io/bgen/StagedBGENReader.scala index bccc68a1c23..f16d9177a49 100644 --- a/hail/src/main/scala/is/hail/io/bgen/StagedBGENReader.scala +++ b/hail/src/main/scala/is/hail/io/bgen/StagedBGENReader.scala @@ -115,7 +115,6 @@ object StagedBGENReader { val nAlleles2 = cb.newLocal[Int]("nAlleles2") val minPloidy = cb.newLocal[Int]("minPloidy") val maxPloidy = cb.newLocal[Int]("maxPloidy") - val longPloidy = cb.newLocal[Long]("longPloidy") val ploidy = cb.newLocal[Int]("ploidy") val phase = cb.newLocal[Int]("phase") val nBitsPerProb = cb.newLocal[Int]("nBitsPerProb") diff --git a/hail/src/main/scala/is/hail/io/compress/BGzipOutputStream.scala b/hail/src/main/scala/is/hail/io/compress/BGzipOutputStream.scala index e84be3825d2..bdea7344437 100644 --- a/hail/src/main/scala/is/hail/io/compress/BGzipOutputStream.scala +++ b/hail/src/main/scala/is/hail/io/compress/BGzipOutputStream.scala @@ -75,7 +75,7 @@ class BGzipOutputStream(out: OutputStream) extends CompressionOutputStream(out) var numBytesRemaining = length while (numBytesRemaining > 0) { - var bytesToWrite = + val bytesToWrite = math.min(uncompressedBuffer.length - numUncompressedBytes, numBytesRemaining) System.arraycopy(bytes, currentPosition, uncompressedBuffer, numUncompressedBytes, bytesToWrite) @@ -111,7 +111,7 @@ class BGzipOutputStream(out: OutputStream) extends CompressionOutputStream(out) crc32.reset() crc32.update(uncompressedBuffer, 0, numUncompressedBytes) - val totalBlockSize: Int = writeGzipBlock(compressedSize, numUncompressedBytes, crc32.getValue) + writeGzipBlock(compressedSize, numUncompressedBytes, crc32.getValue) numUncompressedBytes = 0 // reset variable } diff --git a/hail/src/main/scala/is/hail/io/fs/AzureStorageFS.scala b/hail/src/main/scala/is/hail/io/fs/AzureStorageFS.scala index 4c5ec74e2d1..05613fc3945 100644 --- a/hail/src/main/scala/is/hail/io/fs/AzureStorageFS.scala +++ b/hail/src/main/scala/is/hail/io/fs/AzureStorageFS.scala @@ -25,7 +25,6 @@ import java.io.{ByteArrayOutputStream, FileNotFoundException, OutputStream} import java.nio.file.Paths import java.time.Duration -import org.apache.log4j.Logger import org.json4s.Formats import org.json4s.jackson.JsonMethods @@ -88,10 +87,6 @@ object AzureStorageFS { private val AZURE_HTTPS_URI_REGEX = "^https:\\/\\/([a-z0-9_\\-\\.]+)\\.blob\\.core\\.windows\\.net\\/([a-z0-9_\\-\\.]+)(\\/.*)?".r - private val log = Logger.getLogger(getClass.getName) - - val schemes: Array[String] = Array("hail-az", "https") - def parseUrl(filename: String): AzureStorageFSURL = { val scheme = filename.split(":")(0) if (scheme == "hail-az") { diff --git a/hail/src/main/scala/is/hail/io/fs/HadoopFS.scala b/hail/src/main/scala/is/hail/io/fs/HadoopFS.scala index 7f6fbb6f6b4..285cfd578c1 100644 --- a/hail/src/main/scala/is/hail/io/fs/HadoopFS.scala +++ b/hail/src/main/scala/is/hail/io/fs/HadoopFS.scala @@ -126,7 +126,7 @@ class HadoopFS(private[this] var conf: SerializableHadoopConfiguration) extends new hadoop.fs.Path(filename).getFileSystem(conf.value) def listDirectory(url: URL): Array[FileListEntry] = { - var statuses = url.hadoopFs.globStatus(url.hadoopPath) + val statuses = url.hadoopFs.globStatus(url.hadoopPath) if (statuses == null) { throw new FileNotFoundException(url.toString) } else { diff --git a/hail/src/main/scala/is/hail/io/index/IndexReader.scala b/hail/src/main/scala/is/hail/io/index/IndexReader.scala index b75fb68b6c4..4ae410403cd 100644 --- a/hail/src/main/scala/is/hail/io/index/IndexReader.scala +++ b/hail/src/main/scala/is/hail/io/index/IndexReader.scala @@ -172,7 +172,6 @@ class IndexReader( } else { val node = readInternalNode(offset) val children = node.children - val n = children.length val idx = children.upperBound(key, ordering.lt, _.firstKey) upperBound(key, level - 1, children(idx - 1).indexFileOffset) } diff --git a/hail/src/main/scala/is/hail/io/index/IndexWriter.scala b/hail/src/main/scala/is/hail/io/index/IndexWriter.scala index 345e1901601..20a2e974240 100644 --- a/hail/src/main/scala/is/hail/io/index/IndexWriter.scala +++ b/hail/src/main/scala/is/hail/io/index/IndexWriter.scala @@ -1,6 +1,6 @@ package is.hail.io.index -import is.hail.annotations.{Annotation, Region, RegionPool, RegionValueBuilder} +import is.hail.annotations.{Annotation, Region, RegionPool} import is.hail.asm4s.{HailClassLoader, _} import is.hail.backend.{ExecuteContext, HailStateManager, HailTaskContext} import is.hail.expr.ir.{ @@ -110,7 +110,6 @@ class IndexWriter( attributes: Map[String, Any], ) extends AutoCloseable { private val region = Region(pool = pool) - private val rvb = new RegionValueBuilder(sm, region) def appendRow(x: Annotation, offset: Long, annotation: Annotation): Unit = { val koff = keyType.unstagedStoreJavaObject(sm, x, region) @@ -370,7 +369,7 @@ class StagedIndexWriter( ) { require(branchingFactor > 1) - private var elementIdx = cb.genFieldThisRef[Long]() + private val elementIdx = cb.genFieldThisRef[Long]() private val ob = cb.genFieldThisRef[OutputBuffer]() private val utils = new StagedIndexWriterUtils(cb.genFieldThisRef[IndexWriterUtils]()) diff --git a/hail/src/main/scala/is/hail/io/plink/LoadPlink.scala b/hail/src/main/scala/is/hail/io/plink/LoadPlink.scala index e36a67e89e3..9c4cd0d5f43 100644 --- a/hail/src/main/scala/is/hail/io/plink/LoadPlink.scala +++ b/hail/src/main/scala/is/hail/io/plink/LoadPlink.scala @@ -112,7 +112,7 @@ object LoadPlink { val idBuilder = new BoxedArrayBuilder[String] val structBuilder = new BoxedArrayBuilder[Row] - val m = fs.readLines(filename) { + fs.readLines(filename) { _.foreachLine { line => val split = line.split(delimiter) if (split.length != 6) @@ -181,7 +181,6 @@ object LoadPlink { object MatrixPLINKReader { def fromJValue(ctx: ExecuteContext, jv: JValue): MatrixPLINKReader = { - val backend = ctx.backend val fs = ctx.fs implicit val formats: Formats = DefaultFormats diff --git a/hail/src/main/scala/is/hail/io/tabix/TabixReader.scala b/hail/src/main/scala/is/hail/io/tabix/TabixReader.scala index 891eb1130ad..ee1f09d56fd 100644 --- a/hail/src/main/scala/is/hail/io/tabix/TabixReader.scala +++ b/hail/src/main/scala/is/hail/io/tabix/TabixReader.scala @@ -98,7 +98,7 @@ class TabixReader(val filePath: String, fs: FS, idxFilePath: Option[String] = No fatal(s"Hail only supports tabix indexing for VCF, found format code $format") val colSeq = readInt(is) val colBeg = readInt(is) - val colEnd = readInt(is) + readInt(is) // colEnd val meta = readInt(is) // meta char for VCF is '#' if (meta != '#') diff --git a/hail/src/main/scala/is/hail/io/vcf/LoadVCF.scala b/hail/src/main/scala/is/hail/io/vcf/LoadVCF.scala index 12e5e3ee04a..28d9ce62903 100644 --- a/hail/src/main/scala/is/hail/io/vcf/LoadVCF.scala +++ b/hail/src/main/scala/is/hail/io/vcf/LoadVCF.scala @@ -1570,8 +1570,8 @@ object LoadVCF { val prefix = if (excerptStart > 0) "... " else "" val suffix = if (excerptEnd < line.length) " ..." else "" - var caretPad = prefix.length + pos - excerptStart - var pad = " " * caretPad + val caretPad = prefix.length + pos - excerptStart + val pad = " " * caretPad fatal( s"${source.locationString(pos)}: ${e.msg}\n$prefix$excerpt$suffix\n$pad^\noffending line: @1\nsee the Hail log for the full offending line", @@ -1790,8 +1790,6 @@ object MatrixVCFReader { } checkGzipOfGlobbedFiles(params.files, fileListEntries, params.forceGZ, params.gzAsBGZ) - val entryFloatType = LoadVCF.getEntryFloatType(params.entryFloatTypeName) - val headerLines1 = getHeaderLines( fs, params.headerFile.getOrElse(fileListEntries.head.getPath), @@ -1803,10 +1801,7 @@ object MatrixVCFReader { if (params.headerFile.isEmpty) { val header1Bc = backend.broadcast(header1) - val localCallFields = params.callFields - val localFloatType = entryFloatType val files = fileListEntries.map(_.getPath) - val localArrayElementsRequired = params.arrayElementsRequired val localFilterAndReplace = params.filterAndReplace val fsConfigBC = backend.broadcast(fs.getConfiguration()) diff --git a/hail/src/main/scala/is/hail/linalg/BlockMatrix.scala b/hail/src/main/scala/is/hail/linalg/BlockMatrix.scala index 241720184fe..18c08349811 100644 --- a/hail/src/main/scala/is/hail/linalg/BlockMatrix.scala +++ b/hail/src/main/scala/is/hail/linalg/BlockMatrix.scala @@ -295,7 +295,7 @@ object BlockMatrix { val d = digitsNeeded(bms.length) val fsBc = fs.broadcast - val partitionCounts = collectMatrices(bms) + collectMatrices(bms) .mapPartitionsWithIndex { case (i, it) => assert(it.hasNext) val m = it.next() @@ -339,7 +339,7 @@ object BlockMatrix { val compressionExtension = compression.map(x => "." + x).getOrElse("") - val partitionCounts = collectMatrices(bms) + collectMatrices(bms) .mapPartitionsWithIndex { case (i, it) => assert(it.hasNext) val m = it.next() @@ -2375,7 +2375,7 @@ class BlockMatrixReadRowBlockedRDD( ) { import BlockMatrixReadRowBlockedRDD._ - private[this] val BlockMatrixMetadata(blockSize, nRows, nCols, maybeFiltered, partFiles) = + private[this] val BlockMatrixMetadata(blockSize, nRows, nCols, _, partFiles) = metadata private[this] val gp = GridPartitioner(blockSize, nRows, nCols) @@ -2411,7 +2411,6 @@ class BlockMatrixReadRowBlockedRDD( Iterator.single { ctx => val region = ctx.region val rvb = new RegionValueBuilder(HailStateManager(Map.empty), region) - val rv = RegionValue(region) val firstRow = rowsForPartition(0) var blockRow = (firstRow / blockSize).toInt val fs = fsBc.value @@ -2519,7 +2518,6 @@ class BlockMatrixCachedPartFile( ) in.readDoubles(cache, startWritingAt, doublesToRead) cacheEnd = doublesToRead + startWritingAt - var i = 0 fileIndex += doublesToRead assert(doublesToRead > 0) } diff --git a/hail/src/main/scala/is/hail/linalg/LinalgCodeUtils.scala b/hail/src/main/scala/is/hail/linalg/LinalgCodeUtils.scala index 9d499791bbd..d38c9f7b7df 100644 --- a/hail/src/main/scala/is/hail/linalg/LinalgCodeUtils.scala +++ b/hail/src/main/scala/is/hail/linalg/LinalgCodeUtils.scala @@ -51,7 +51,7 @@ object LinalgCodeUtils { PCanonicalNDArray(pndv.st.elementType.storageType().setRequired(true), pndv.st.nDims, false) val strides = pt.makeColumnMajorStrides(shape, cb) - val (dataFirstElementAddress, dataFinisher) = + val (_, dataFinisher) = pt.constructDataFunction(shape, strides, cb, region) // construct an SNDArrayCode with undefined contents val result = dataFinisher(cb) diff --git a/hail/src/main/scala/is/hail/lir/PST.scala b/hail/src/main/scala/is/hail/lir/PST.scala index 0c9d36c8b6d..a8f6b685ff0 100644 --- a/hail/src/main/scala/is/hail/lir/PST.scala +++ b/hail/src/main/scala/is/hail/lir/PST.scala @@ -315,7 +315,7 @@ class PSTBuilder( // find regions in [start, end] // no edges from [0, start) target (start, end] private def findRegions(start: Int, end: Int): Unit = { - var regionStarts = new IntArrayBuilder() + val regionStarts = new IntArrayBuilder() regionStarts += start // find subregions of [start, end] diff --git a/hail/src/main/scala/is/hail/methods/LocalLDPrune.scala b/hail/src/main/scala/is/hail/methods/LocalLDPrune.scala index b23bc42345c..6e22f021523 100644 --- a/hail/src/main/scala/is/hail/methods/LocalLDPrune.scala +++ b/hail/src/main/scala/is/hail/methods/LocalLDPrune.scala @@ -11,8 +11,6 @@ import is.hail.variant._ import java.util -import org.apache.spark.rdd.RDD - object BitPackedVector { final val GENOTYPES_PER_PACK: Int = 32 final val BITS_PER_PACK: Int = 2 * GENOTYPES_PER_PACK @@ -278,21 +276,6 @@ object LocalLDPrune { keepVariant } - private def pruneLocal( - inputRDD: RDD[BitPackedVector], - r2Threshold: Double, - windowSize: Int, - queueSize: Int, - ): RDD[BitPackedVector] = { - inputRDD.mapPartitions( - { it => - val queue = new util.ArrayDeque[BitPackedVector](queueSize) - it.filter(bpvv => pruneLocal(queue, bpvv, r2Threshold, windowSize, queueSize)) - }, - preservesPartitioning = true, - ) - } - def apply( ctx: ExecuteContext, mt: MatrixValue, @@ -337,8 +320,6 @@ case class LocalLDPrune( def execute(ctx: ExecuteContext, mv: MatrixValue): TableValue = { val nSamples = mv.nCols - val fullRowPType = mv.rvRowPType - val localCallField = callField val tableType = typ(mv.typ) val ts = TableExecuteIntermediate(mv.toTableValue).asTableStage(ctx).mapPartition(Some( tableType.key diff --git a/hail/src/main/scala/is/hail/methods/LogisticRegression.scala b/hail/src/main/scala/is/hail/methods/LogisticRegression.scala index 66ec3e26fae..d8b79558e98 100644 --- a/hail/src/main/scala/is/hail/methods/LogisticRegression.scala +++ b/hail/src/main/scala/is/hail/methods/LogisticRegression.scala @@ -40,8 +40,6 @@ case class LogisticRegression( val tableType = typ(mv.typ) val newRVDType = tableType.canonicalRVDType - val multiPhenoSchema = TStruct(("logistic_regression", TArray(logRegTest.schema))) - val (yVecs, cov, completeColIdx) = RegressionUtils.getPhenosCovCompleteSamples(mv, yFields.toArray, covFields.toArray) diff --git a/hail/src/main/scala/is/hail/methods/PoissonRegression.scala b/hail/src/main/scala/is/hail/methods/PoissonRegression.scala index 2fbe2315447..b174616d86d 100644 --- a/hail/src/main/scala/is/hail/methods/PoissonRegression.scala +++ b/hail/src/main/scala/is/hail/methods/PoissonRegression.scala @@ -60,7 +60,7 @@ case class PoissonRegression( + s" with input variable x, and $k additional ${plural(k, "covariate")}...") val nullModel = new PoissonRegressionModel(cov, y) - var nullFit = nullModel.fit(None, maxIter = maxIterations, tol = tolerance) + val nullFit = nullModel.fit(None, maxIter = maxIterations, tol = tolerance) if (!nullFit.converged) fatal("Failed to fit poisson regression null model (standard MLE with covariates only): " + ( diff --git a/hail/src/main/scala/is/hail/methods/Skat.scala b/hail/src/main/scala/is/hail/methods/Skat.scala index 12f9b0556c7..f8c3ae4b088 100644 --- a/hail/src/main/scala/is/hail/methods/Skat.scala +++ b/hail/src/main/scala/is/hail/methods/Skat.scala @@ -133,8 +133,6 @@ object Skat { q, dof, evals, noncentrality, s, iterations, accuracy, ) val x = result.value - val nIntegrations = result.nIterations - val converged = result.converged val fault = result.fault val pval = 1 - x @@ -204,7 +202,7 @@ case class Skat( s"sample; found ${badVals.length} ${plural(badVals.length, "violation")} starting with ${badVals(0)}") } - val (keyGsWeightRdd, keyType) = + val (keyGsWeightRdd, _) = computeKeyGsWeightRdd(mv, xField, completeColIdx, keyField, weightField) val backend = HailContext.backend diff --git a/hail/src/main/scala/is/hail/misc/BGZipBlocks.scala b/hail/src/main/scala/is/hail/misc/BGZipBlocks.scala index a7ecd958e3a..e5461cd7c11 100644 --- a/hail/src/main/scala/is/hail/misc/BGZipBlocks.scala +++ b/hail/src/main/scala/is/hail/misc/BGZipBlocks.scala @@ -8,7 +8,7 @@ import java.io.InputStream object BGZipBlocks { // Print block starts of block gzip (bgz) file def apply(fs: FS, file: String): Unit = { - var buf = new Array[Byte](64 * 1024) + val buf = new Array[Byte](64 * 1024) // position of 'buf[0]' in input stream var bufPos = 0L diff --git a/hail/src/main/scala/is/hail/rvd/AbstractRVDSpec.scala b/hail/src/main/scala/is/hail/rvd/AbstractRVDSpec.scala index d7abcd7331e..b1bf4ad3395 100644 --- a/hail/src/main/scala/is/hail/rvd/AbstractRVDSpec.scala +++ b/hail/src/main/scala/is/hail/rvd/AbstractRVDSpec.scala @@ -81,7 +81,6 @@ object AbstractRVDSpec { val (part0Count, bytesWritten) = using(fs.create(partsPath + "/" + filePath)) { os => using(RVDContext.default(execCtx.r.pool)) { ctx => - val rvb = ctx.rvb RichContextRDDRegionValue.writeRowsPartition(codecSpec.buildEncoder(execCtx, rowType))( ctx, rows.iterator.map { a => diff --git a/hail/src/main/scala/is/hail/rvd/RVD.scala b/hail/src/main/scala/is/hail/rvd/RVD.scala index 0dd3a1c6ec1..1bacb52afe8 100644 --- a/hail/src/main/scala/is/hail/rvd/RVD.scala +++ b/hail/src/main/scala/is/hail/rvd/RVD.scala @@ -20,7 +20,6 @@ import scala.reflect.ClassTag import java.util -import org.apache.commons.lang3.StringUtils import org.apache.spark.{Partitioner, SparkContext, TaskContext} import org.apache.spark.rdd.{RDD, ShuffledRDD} import org.apache.spark.sql.Row @@ -1198,7 +1197,6 @@ object RVD { def _coerce(typ: RVDType, crdd: CRDD): RVD = empty(execCtx, typ) } - val numPartitions = keys.getNumPartitions val keyInfo = getKeyInfo(execCtx, fullType, partitionKey, keys) if (keyInfo.isEmpty) @@ -1408,7 +1406,6 @@ object RVD { _makeIndexWriter(_, theHailClassLoaderForSparkWorkers, SparkTaskContext.get(), _) val partDigits = digitsNeeded(nPartitions) - val fileDigits = digitsNeeded(rvds.length) for (i <- 0 until nRVDs) { val path = paths(i) fs.mkDir(path + "/rows/rows/parts") @@ -1456,7 +1453,6 @@ object RVD { .par .foreach { case (partFiles, i) => val fs = fsBc.value - val s = StringUtils.leftPad(i.toString, fileDigits, '0') val basePath = paths(i) RichContextRDDRegionValue.writeSplitSpecs( fs, diff --git a/hail/src/main/scala/is/hail/services/BatchConfig.scala b/hail/src/main/scala/is/hail/services/BatchConfig.scala index ff2d0f753d2..661bc94e638 100644 --- a/hail/src/main/scala/is/hail/services/BatchConfig.scala +++ b/hail/src/main/scala/is/hail/services/BatchConfig.scala @@ -4,13 +4,10 @@ import is.hail.utils._ import java.io.{File, FileInputStream} -import org.apache.log4j.Logger import org.json4s._ import org.json4s.jackson.JsonMethods object BatchConfig { - private[this] val log = Logger.getLogger("BatchConfig") - def fromConfigFile(file: String): Option[BatchConfig] = if (new File(file).exists()) { using(new FileInputStream(file))(in => Some(fromConfig(JsonMethods.parse(in)))) diff --git a/hail/src/main/scala/is/hail/services/DeployConfig.scala b/hail/src/main/scala/is/hail/services/DeployConfig.scala index b4d195ee9df..55ccdf36dfd 100644 --- a/hail/src/main/scala/is/hail/services/DeployConfig.scala +++ b/hail/src/main/scala/is/hail/services/DeployConfig.scala @@ -4,13 +4,10 @@ import is.hail.utils._ import java.io.{File, FileInputStream} -import org.apache.log4j.Logger import org.json4s._ import org.json4s.jackson.JsonMethods object DeployConfig { - private[this] val log = Logger.getLogger("DeployConfig") - private[this] lazy val default: DeployConfig = fromConfigFile() private[this] var _get: DeployConfig = null diff --git a/hail/src/main/scala/is/hail/services/batch_client/BatchClient.scala b/hail/src/main/scala/is/hail/services/batch_client/BatchClient.scala index a8a01b8f98f..cb23ecbf852 100644 --- a/hail/src/main/scala/is/hail/services/batch_client/BatchClient.scala +++ b/hail/src/main/scala/is/hail/services/batch_client/BatchClient.scala @@ -193,7 +193,7 @@ class BatchClient( // at most, 5s val now = System.nanoTime() val elapsed = now - start - var d = math.max( + val d = math.max( math.min( (0.1 * (0.8 + Random.nextFloat() * 0.4) * (elapsed / 1000.0 / 1000)).toInt, 5000, diff --git a/hail/src/main/scala/is/hail/sparkextras/ContextRDD.scala b/hail/src/main/scala/is/hail/sparkextras/ContextRDD.scala index 692d617dc94..fe9c4d4e4ac 100644 --- a/hail/src/main/scala/is/hail/sparkextras/ContextRDD.scala +++ b/hail/src/main/scala/is/hail/sparkextras/ContextRDD.scala @@ -402,9 +402,6 @@ class ContextRDD[T: ClassTag]( def preferredLocations(partition: Partition): Seq[String] = rdd.preferredLocations(partition) - private[this] def clean[U <: AnyRef](value: U): U = - ExposedUtils.clean(value) - def partitions: Array[Partition] = rdd.partitions def partitioner: Option[Partitioner] = rdd.partitioner diff --git a/hail/src/main/scala/is/hail/stats/GeneralizedChiSquaredDistribution.scala b/hail/src/main/scala/is/hail/stats/GeneralizedChiSquaredDistribution.scala index b1751238dc2..c9d52cf6431 100644 --- a/hail/src/main/scala/is/hail/stats/GeneralizedChiSquaredDistribution.scala +++ b/hail/src/main/scala/is/hail/stats/GeneralizedChiSquaredDistribution.scala @@ -175,13 +175,13 @@ class DaviesAlgorithm( def truncation(_u: Double, _tausq: Double): Double = { counter() var u = _u - var tausq = _tausq + val tausq = _tausq var sum1 = 0.0 var prod2 = 0.0 var prod3 = 0.0 var s = 0 - var sum2 = (sigsq + tausq) * square(u) + val sum2 = (sigsq + tausq) * square(u) var prod1 = 2.0 * sum2 u = 2.0 * u @@ -587,7 +587,7 @@ object GeneralizedChiSquaredDistribution { assert(lim >= 0) assert(acc >= 0) - val (value, trace, fault) = new DaviesAlgorithm(c, n, lb, nc, lim, sigma).cdf(acc) + val (value, _, fault) = new DaviesAlgorithm(c, n, lb, nc, lim, sigma).cdf(acc) assert(fault >= 0 && fault <= 2, fault) diff --git a/hail/src/main/scala/is/hail/stats/RegressionUtils.scala b/hail/src/main/scala/is/hail/stats/RegressionUtils.scala index 96cfa015f6c..81533606a65 100644 --- a/hail/src/main/scala/is/hail/stats/RegressionUtils.scala +++ b/hail/src/main/scala/is/hail/stats/RegressionUtils.scala @@ -57,7 +57,6 @@ object RegressionUtils { // IndexedSeq indexed by column, Array by field def getColumnVariables(mv: MatrixValue, names: Array[String]) : IndexedSeq[Array[Option[Double]]] = { - val colType = mv.typ.colType assert(names.forall(name => mv.typ.colType.field(name).typ == TFloat64)) val fieldIndices = names.map { name => val field = mv.typ.colType.field(name) diff --git a/hail/src/main/scala/is/hail/stats/package.scala b/hail/src/main/scala/is/hail/stats/package.scala index 207deed677a..2b87f1d320f 100644 --- a/hail/src/main/scala/is/hail/stats/package.scala +++ b/hail/src/main/scala/is/hail/stats/package.scala @@ -203,7 +203,7 @@ package object stats { val hgd = new HypergeometricDistribution(null, popSize, numSuccessPopulation, sampleSize) val epsilon = 2.220446e-16 - def dhyper(k: Int, logProb: Boolean = false): Double = + def dhyper(k: Int, logProb: Boolean): Double = if (logProb) hgd.logProbability(k) else hgd.probability(k) val logdc = support.map(dhyper(_, logProb = true)) @@ -214,7 +214,7 @@ package object stats { d.map(_ / d.sum) } - def phyper(k: Int, lower_tail: Boolean = true): Double = + def phyper(k: Int, lower_tail: Boolean): Double = if (lower_tail) hgd.cumulativeProbability(k) else diff --git a/hail/src/main/scala/is/hail/types/physical/PCanonicalLocus.scala b/hail/src/main/scala/is/hail/types/physical/PCanonicalLocus.scala index 82b2ea5c08b..402d34f3c0d 100644 --- a/hail/src/main/scala/is/hail/types/physical/PCanonicalLocus.scala +++ b/hail/src/main/scala/is/hail/types/physical/PCanonicalLocus.scala @@ -13,7 +13,7 @@ import is.hail.utils.FastSeq import is.hail.variant._ object PCanonicalLocus { - private def representation(required: Boolean = false): PCanonicalStruct = PCanonicalStruct( + private def representation(required: Boolean): PCanonicalStruct = PCanonicalStruct( required, "contig" -> PCanonicalString(required = true), "position" -> PInt32(required = true), diff --git a/hail/src/main/scala/is/hail/types/physical/stypes/interfaces/SBaseStruct.scala b/hail/src/main/scala/is/hail/types/physical/stypes/interfaces/SBaseStruct.scala index 2a5810d5291..ecbd34cdc61 100644 --- a/hail/src/main/scala/is/hail/types/physical/stypes/interfaces/SBaseStruct.scala +++ b/hail/src/main/scala/is/hail/types/physical/stypes/interfaces/SBaseStruct.scala @@ -17,7 +17,6 @@ object SBaseStruct { val rt = s2.st.virtualType.asInstanceOf[TStruct] val resultVType = TStruct.concat(lt, rt) - val st1 = s1.st val st2 = s2.st (s1, s2) match { diff --git a/hail/src/main/scala/is/hail/types/physical/stypes/interfaces/SNDArray.scala b/hail/src/main/scala/is/hail/types/physical/stypes/interfaces/SNDArray.scala index 3d44aa37b38..53791e5c651 100644 --- a/hail/src/main/scala/is/hail/types/physical/stypes/interfaces/SNDArray.scala +++ b/hail/src/main/scala/is/hail/types/physical/stypes/interfaces/SNDArray.scala @@ -652,7 +652,7 @@ object SNDArray { work: SNDArrayValue, blocksize: Value[Long], ): Unit = { - val Seq(m, n) = A.shapes + val Seq(_, n) = A.shapes SNDArray.geqrt(A, T, work, blocksize, cb) // copy upper triangle of A0 to R SNDArray.copyMatrix(cb, "U", A.slice(cb, (null, n), ColonIndex), R) @@ -803,7 +803,7 @@ object SNDArray { T: SNDArrayValue, work: SNDArrayValue, ): Unit = { - val Seq(m, n) = A.shapes + val Seq(_, n) = A.shapes SNDArray.geqr(cb, A, T, work) // copy upper triangle of A0 to R SNDArray.copyMatrix(cb, "U", A.slice(cb, (null, n), ColonIndex), R) diff --git a/hail/src/main/scala/is/hail/types/virtual/TNDArray.scala b/hail/src/main/scala/is/hail/types/virtual/TNDArray.scala index c5f10636c8e..3743350a5b3 100644 --- a/hail/src/main/scala/is/hail/types/virtual/TNDArray.scala +++ b/hail/src/main/scala/is/hail/types/virtual/TNDArray.scala @@ -122,9 +122,4 @@ final case class TNDArray(elementType: Type, nDimsBase: NatBase) extends Type { override def mkOrdering(sm: HailStateManager, missingEqual: Boolean): ExtendedOrdering = null lazy val shapeType: TTuple = TTuple(Array.fill(nDims)(TInt64): _*) - - private lazy val representation = TStruct( - ("shape", shapeType), - ("data", TArray(elementType)), - ) } diff --git a/hail/src/main/scala/is/hail/types/virtual/Type.scala b/hail/src/main/scala/is/hail/types/virtual/Type.scala index db03335ffa6..1df05838fa3 100644 --- a/hail/src/main/scala/is/hail/types/virtual/Type.scala +++ b/hail/src/main/scala/is/hail/types/virtual/Type.scala @@ -138,7 +138,7 @@ abstract class Type extends BaseType with Serializable { def query(fields: String*): Querier = query(fields.toList) def query(path: List[String]): Querier = { - val (t, q) = queryTyped(path) + val (_, q) = queryTyped(path) q } diff --git a/hail/src/main/scala/is/hail/utils/ErrorHandling.scala b/hail/src/main/scala/is/hail/utils/ErrorHandling.scala index 5718ed0f766..176df006080 100644 --- a/hail/src/main/scala/is/hail/utils/ErrorHandling.scala +++ b/hail/src/main/scala/is/hail/utils/ErrorHandling.scala @@ -59,7 +59,6 @@ trait ErrorHandling { def handleForPython(e: Throwable): (String, String, Int) = { val short = deepestMessage(e) val expanded = expandException(e, false) - val logExpanded = expandException(e, true) def searchForErrorCode(exception: Throwable): Int = { if (exception.isInstanceOf[HailException]) { diff --git a/hail/src/main/scala/is/hail/utils/FlipbookIterator.scala b/hail/src/main/scala/is/hail/utils/FlipbookIterator.scala index 7118dccbaa9..f42616cea09 100644 --- a/hail/src/main/scala/is/hail/utils/FlipbookIterator.scala +++ b/hail/src/main/scala/is/hail/utils/FlipbookIterator.scala @@ -28,7 +28,7 @@ abstract class StateMachine[A] { object StateMachine { def terminal[A]: StateMachine[A] = new StateMachine[A] { val isValid = false - var value: A = _ + def value: A = ??? def advance(): Unit = {} } } diff --git a/hail/src/main/scala/is/hail/utils/StringEscapeUtils.scala b/hail/src/main/scala/is/hail/utils/StringEscapeUtils.scala index e4f000b76c5..5c5c452d268 100644 --- a/hail/src/main/scala/is/hail/utils/StringEscapeUtils.scala +++ b/hail/src/main/scala/is/hail/utils/StringEscapeUtils.scala @@ -135,7 +135,6 @@ object StringEscapeUtils { def unescapeString(str: String, sb: StringBuilder): String = { sb.clear() - val sz = str.length() var hadSlash = false var inUnicode = false lazy val unicode = new StringBuilder(capacity = 4) diff --git a/hail/src/main/scala/is/hail/utils/StringSocketAppender.scala b/hail/src/main/scala/is/hail/utils/StringSocketAppender.scala index 44ad28b8232..6f05eea2f93 100644 --- a/hail/src/main/scala/is/hail/utils/StringSocketAppender.scala +++ b/hail/src/main/scala/is/hail/utils/StringSocketAppender.scala @@ -19,13 +19,11 @@ object StringSocketAppender { } class StringSocketAppender() extends AppenderSkeleton { - private var remoteHost: String = _ private var address: InetAddress = _ private var port: Int = _ private var os: OutputStream = _ - private var reconnectionDelay = StringSocketAppender.DEFAULT_RECONNECTION_DELAY + private val reconnectionDelay = StringSocketAppender.DEFAULT_RECONNECTION_DELAY private var connector: SocketConnector = null - private var counter = 0 private var patternLayout: PatternLayout = _ private var initialized: Boolean = false @@ -34,7 +32,6 @@ class StringSocketAppender() extends AppenderSkeleton { def connect(host: String, port: Int, format: String): Unit = { this.port = port this.address = InetAddress.getByName(host) - this.remoteHost = host this.patternLayout = new PatternLayout(format) connect(address, port) initialized = true diff --git a/hail/src/main/scala/is/hail/variant/HardCallView.scala b/hail/src/main/scala/is/hail/variant/HardCallView.scala index f7b812839c4..cc5e715e847 100644 --- a/hail/src/main/scala/is/hail/variant/HardCallView.scala +++ b/hail/src/main/scala/is/hail/variant/HardCallView.scala @@ -22,7 +22,7 @@ final class ArrayGenotypeView(rvType: PStruct) { } } - private val (gtExists, gtIndex, gtType) = lookupField("GT", _ == PCanonicalCall()) + private val (gtExists, gtIndex, _) = lookupField("GT", _ == PCanonicalCall()) private val (gpExists, gpIndex, _gpType) = lookupField( "GP", diff --git a/hail/src/main/scala/is/hail/variant/ReferenceGenome.scala b/hail/src/main/scala/is/hail/variant/ReferenceGenome.scala index 760e7c12d10..7412b32ff9b 100644 --- a/hail/src/main/scala/is/hail/variant/ReferenceGenome.scala +++ b/hail/src/main/scala/is/hail/variant/ReferenceGenome.scala @@ -640,7 +640,6 @@ object ReferenceGenome { mtContigs: Array[String] = Array.empty[String], parInput: Array[String] = Array.empty[String], ): ReferenceGenome = { - val tmpdir = ctx.localTmpdir val fs = ctx.fs if (!fs.isFile(fastaFile)) diff --git a/hail/src/test/scala/is/hail/annotations/UnsafeSuite.scala b/hail/src/test/scala/is/hail/annotations/UnsafeSuite.scala index 7ad2b893463..2730821034a 100644 --- a/hail/src/test/scala/is/hail/annotations/UnsafeSuite.scala +++ b/hail/src/test/scala/is/hail/annotations/UnsafeSuite.scala @@ -71,9 +71,6 @@ class UnsafeSuite extends HailSuite { val region2 = Region(pool = pool) val region3 = Region(pool = pool) val region4 = Region(pool = pool) - val rvb = new RegionValueBuilder(sm, region) - - val path = ctx.createTmpPath("test-codec", "ser") val g = Type.genStruct .flatMap(t => Gen.zip(Gen.const(t), t.genValue(sm))) @@ -83,7 +80,6 @@ class UnsafeSuite extends HailSuite { val pt = PType.canonical(t).asInstanceOf[PStruct] val requestedType = subsetType(t).asInstanceOf[TStruct] - val prt = PType.canonical(requestedType).asInstanceOf[PStruct] val a2 = subset(t, requestedType, a) assert(requestedType.typeCheck(a2)) @@ -329,8 +325,6 @@ class UnsafeSuite extends HailSuite { @Test def testUnsafeOrdering(): Unit = { val region = Region(pool = pool) val region2 = Region(pool = pool) - val rvb = new RegionValueBuilder(sm, region) - val rvb2 = new RegionValueBuilder(sm, region2) val g = PType.genStruct .flatMap(t => Gen.zip(Gen.const(t), Gen.zip(t.genValue(sm), t.genValue(sm)))) diff --git a/hail/src/test/scala/is/hail/asm4s/ASM4SSuite.scala b/hail/src/test/scala/is/hail/asm4s/ASM4SSuite.scala index dbfbcb32e45..ceb3bee5bf4 100644 --- a/hail/src/test/scala/is/hail/asm4s/ASM4SSuite.scala +++ b/hail/src/test/scala/is/hail/asm4s/ASM4SSuite.scala @@ -68,44 +68,44 @@ class ASM4SSuite extends HailSuite { } @Test def get(): Unit = { - val fb = FunctionBuilder[A, Int]("F") - fb.emit(fb.getArg[A](1).getField[Int]("i")) + val fb = FunctionBuilder[Foo, Int]("F") + fb.emit(fb.getArg[Foo](1).getField[Int]("i")) val i = fb.result(ctx.shouldWriteIRFiles())(theHailClassLoader) - val a = new A + val a = new Foo assert(i(a) == 5) } @Test def invoke(): Unit = { - val fb = FunctionBuilder[A, Int]("F") - fb.emit(fb.getArg[A](1).invoke[Int]("f")) + val fb = FunctionBuilder[Foo, Int]("F") + fb.emit(fb.getArg[Foo](1).invoke[Int]("f")) val i = fb.result(ctx.shouldWriteIRFiles())(theHailClassLoader) - val a = new A + val a = new Foo assert(i(a) == 6) } @Test def invoke2(): Unit = { - val fb = FunctionBuilder[A, Int]("F") - fb.emit(fb.getArg[A](1).invoke[Int, Int]("g", 6)) + val fb = FunctionBuilder[Foo, Int]("F") + fb.emit(fb.getArg[Foo](1).invoke[Int, Int]("g", 6)) val j = fb.result(ctx.shouldWriteIRFiles())(theHailClassLoader) - val a = new A + val a = new Foo assert(j(a) == 11) } @Test def newInstance(): Unit = { val fb = FunctionBuilder[Int]("F") - fb.emit(Code.newInstance[A]().invoke[Int]("f")) + fb.emit(Code.newInstance[Foo]().invoke[Int]("f")) val f = fb.result(ctx.shouldWriteIRFiles())(theHailClassLoader) assert(f() == 6) } @Test def put(): Unit = { val fb = FunctionBuilder[Int]("F") - val inst = fb.newLocal[A]() + val inst = fb.newLocal[Foo]() fb.emit(Code( - inst.store(Code.newInstance[A]()), + inst.store(Code.newInstance[Foo]()), inst.put("i", -2), inst.getField[Int]("i"), )) @@ -115,11 +115,11 @@ class ASM4SSuite extends HailSuite { @Test def staticPut(): Unit = { val fb = FunctionBuilder[Int]("F") - val inst = fb.newLocal[A]() + val inst = fb.newLocal[Foo]() fb.emit(Code( - inst.store(Code.newInstance[A]()), + inst.store(Code.newInstance[Foo]()), inst.put("j", -2), - Code.getStatic[A, Int]("j"), + Code.getStatic[Foo, Int]("j"), )) val f = fb.result(ctx.shouldWriteIRFiles())(theHailClassLoader) assert(f() == -2) @@ -174,11 +174,11 @@ class ASM4SSuite extends HailSuite { @Test def anewarray(): Unit = { val fb = FunctionBuilder[Int]("F") - val arr = fb.newLocal[Array[A]]() + val arr = fb.newLocal[Array[Foo]]() fb.emit(Code( - arr.store(newArray[A](2)), - arr(0) = Code.newInstance[A](), - arr(1) = Code.newInstance[A](), + arr.store(newArray[Foo](2)), + arr(0) = Code.newInstance[Foo](), + arr(1) = Code.newInstance[Foo](), arr(0).getField[Int]("i") + arr(1).getField[Int]("i"), )) val f = fb.result(ctx.shouldWriteIRFiles())(theHailClassLoader) diff --git a/hail/src/test/scala/is/hail/asm4s/A.java b/hail/src/test/scala/is/hail/asm4s/Foo.java similarity index 89% rename from hail/src/test/scala/is/hail/asm4s/A.java rename to hail/src/test/scala/is/hail/asm4s/Foo.java index 91e5ea28600..dc44fbf412a 100644 --- a/hail/src/test/scala/is/hail/asm4s/A.java +++ b/hail/src/test/scala/is/hail/asm4s/Foo.java @@ -1,6 +1,6 @@ package is.hail.asm4s; -public class A { +public class Foo { public static int j = 11; public int i = 5; diff --git a/hail/src/test/scala/is/hail/expr/ir/Aggregators2Suite.scala b/hail/src/test/scala/is/hail/expr/ir/Aggregators2Suite.scala index 540210d8d4c..c657bd9a302 100644 --- a/hail/src/test/scala/is/hail/expr/ir/Aggregators2Suite.scala +++ b/hail/src/test/scala/is/hail/expr/ir/Aggregators2Suite.scala @@ -708,7 +708,6 @@ class Aggregators2Suite extends HailSuite { @Test def testNestedArrayElementsAgg(): Unit = { val alstate1 = ArrayLenAggSig(knownLength = false, FastSeq(sumAggSig)) - val aestate1 = AggElementsAggSig(FastSeq(sumAggSig)) val alstate2 = ArrayLenAggSig(knownLength = false, FastSeq[PhysicalAggSig](alstate1)) val init = InitOp( @@ -899,7 +898,7 @@ class Aggregators2Suite extends HailSuite { val eltsPrimitive = Array.tabulate(rows.length)(i => FastSeq(GetField(ArrayRef(rref, i), "b"))) val expected = Set("abcd", "foo", null) - val expectedPrimitive = Set(5L, -2L, 7L, null) + val expectedPrimitive: Set[Any] = Set(5L, -2L, 7L, null) val aggsig = PhysicalAggSig(CollectAsSet(), CollectAsSetStateSig(VirtualTypeWithReq(PCanonicalString()))) diff --git a/hail/src/test/scala/is/hail/expr/ir/AggregatorsSuite.scala b/hail/src/test/scala/is/hail/expr/ir/AggregatorsSuite.scala index 3c1f6f22991..08e7c9da26b 100644 --- a/hail/src/test/scala/is/hail/expr/ir/AggregatorsSuite.scala +++ b/hail/src/test/scala/is/hail/expr/ir/AggregatorsSuite.scala @@ -1050,7 +1050,7 @@ class AggregatorsSuite extends HailSuite { val agg = FastSeq(Row("EUR", true, 1), Row("EUR", false, 2), Row("AFR", true, 3), Row("AFR", null, 4)) val aggType = TStruct("k1" -> TString, "k2" -> TBoolean, "x" -> TInt32) - val expected = Map( + val expected: Map[String, Map[Any, Seq[Int]]] = Map( "EUR" -> Map(true -> FastSeq(1), false -> FastSeq(2)), "AFR" -> Map(true -> FastSeq(3), (null, FastSeq(4))), ) diff --git a/hail/src/test/scala/is/hail/expr/ir/EmitStreamSuite.scala b/hail/src/test/scala/is/hail/expr/ir/EmitStreamSuite.scala index 99b7b77b478..d0abf67043a 100644 --- a/hail/src/test/scala/is/hail/expr/ir/EmitStreamSuite.scala +++ b/hail/src/test/scala/is/hail/expr/ir/EmitStreamSuite.scala @@ -25,35 +25,6 @@ class EmitStreamSuite extends HailSuite { implicit val execStrats = ExecStrategy.compileOnly - private def compile1[T: TypeInfo, R: TypeInfo](f: (EmitMethodBuilder[_], Value[T]) => Code[R]) - : T => R = { - val fb = EmitFunctionBuilder[T, R](ctx, "stream_test") - val mb = fb.apply_method - mb.emit(f(mb, mb.getCodeParam[T](1))) - val asmFn = fb.result()(theHailClassLoader) - asmFn.apply - } - - private def compile2[T: TypeInfo, U: TypeInfo, R: TypeInfo]( - f: (EmitMethodBuilder[_], Code[T], Code[U]) => Code[R] - ): (T, U) => R = { - val fb = EmitFunctionBuilder[T, U, R](ctx, "F") - val mb = fb.apply_method - mb.emit(f(mb, mb.getCodeParam[T](1), mb.getCodeParam[U](2))) - val asmFn = fb.result()(theHailClassLoader) - asmFn.apply - } - - private def compile3[T: TypeInfo, U: TypeInfo, V: TypeInfo, R: TypeInfo]( - f: (EmitMethodBuilder[_], Code[T], Code[U], Code[V]) => Code[R] - ): (T, U, V) => R = { - val fb = EmitFunctionBuilder[T, U, V, R](ctx, "F") - val mb = fb.apply_method - mb.emit(f(mb, mb.getCodeParam[T](1), mb.getCodeParam[U](2), mb.getCodeParam[V](3))) - val asmFn = fb.result()(theHailClassLoader) - asmFn.apply - } - def log(str: Code[String], enabled: Boolean = false): Code[Unit] = if (enabled) Code._println(str) else Code._empty diff --git a/hail/src/test/scala/is/hail/expr/ir/IRSuite.scala b/hail/src/test/scala/is/hail/expr/ir/IRSuite.scala index 61d26123181..f10e0ead8f3 100644 --- a/hail/src/test/scala/is/hail/expr/ir/IRSuite.scala +++ b/hail/src/test/scala/is/hail/expr/ir/IRSuite.scala @@ -1470,7 +1470,7 @@ class IRSuite extends HailSuite { val t = TDict(TInt32, TString) assertEvalsTo(CastToArray(NA(t)), null) - val d = Map(1 -> "a", 2 -> null, (null, "c")) + val d: Map[Any, Any] = Map(1 -> "a", 2 -> null, (null, "c")) assertEvalsTo( CastToArray(In(0, t)), // wtf you can't do null -> ... @@ -1515,7 +1515,7 @@ class IRSuite extends HailSuite { val t = TDict(TInt32, TString) assertEvalsTo(invoke("contains", TBoolean, NA(t), I32(2)), null) - val d = Map(1 -> "a", 2 -> null, (null, "c")) + val d: Map[Any, Any] = Map(1 -> "a", 2 -> null, (null, "c")) assertEvalsTo(invoke("contains", TBoolean, In(0, t), NA(TInt32)), FastSeq((d, t)), true) assertEvalsTo(invoke("contains", TBoolean, In(0, t), I32(2)), FastSeq((d, t)), true) assertEvalsTo(invoke("contains", TBoolean, In(0, t), I32(0)), FastSeq((d, t)), false) @@ -2096,7 +2096,6 @@ class IRSuite extends HailSuite { val data = 0 until 10 val shape = FastSeq(2L, 5L) - val nDim = 2 val positives = makeNDArray(data.map(_.toDouble), shape, True()) val negatives = NDArrayMap(positives, "e", ApplyUnaryPrimOp(Negate, Ref("e", TFloat64))) @@ -3422,10 +3421,7 @@ class IRSuite extends HailSuite { "newChunk" -> TNDArray(TFloat64, Nat(2)), )), ) - val mat = Ref("mat", TNDArray(TFloat64, Nat(2))) - val aa = Ref("aa", TArray(TArray(TInt32))) val sta = Ref("sta", TStream(TArray(TInt32))) - val da = Ref("da", TArray(TTuple(TInt32, TString))) val std = Ref("std", TStream(TTuple(TInt32, TString))) val v = Ref("v", TInt32) val s = Ref("s", TStruct("x" -> TInt32, "y" -> TInt64, "z" -> TFloat64)) @@ -4390,8 +4386,6 @@ class IRSuite extends HailSuite { } @Test def testTailLoopNDMemory(): Unit = { - implicit val execStrats = ExecStrategy.compileOnly - val ndType = TNDArray(TInt32, Nat(2)) val ndSum: IR = TailLoop( diff --git a/hail/src/test/scala/is/hail/expr/ir/MatrixIRSuite.scala b/hail/src/test/scala/is/hail/expr/ir/MatrixIRSuite.scala index bd7e93ef277..9ef28b85a72 100644 --- a/hail/src/test/scala/is/hail/expr/ir/MatrixIRSuite.scala +++ b/hail/src/test/scala/is/hail/expr/ir/MatrixIRSuite.scala @@ -232,7 +232,6 @@ class MatrixIRSuite extends HailSuite { @Test(dataProvider = "explodeRowsData") def testMatrixExplode(path: IndexedSeq[String], collection: IndexedSeq[Integer]): Unit = { - val tarray = TArray(TInt32) val range = rangeMatrix(5, 2, None) val field = path.init.foldRight(path.last -> toIRArray(collection))(_ -> IRStruct(_)) diff --git a/hail/src/test/scala/is/hail/expr/ir/MemoryLeakSuite.scala b/hail/src/test/scala/is/hail/expr/ir/MemoryLeakSuite.scala index 9ac4874d2cd..07727bdc187 100644 --- a/hail/src/test/scala/is/hail/expr/ir/MemoryLeakSuite.scala +++ b/hail/src/test/scala/is/hail/expr/ir/MemoryLeakSuite.scala @@ -18,7 +18,7 @@ class MemoryLeakSuite extends HailSuite { val lit = Literal(TSet(TString), (0 until litSize).map(_.toString).toSet) val queries = Literal(TArray(TString), (0 until size).map(_.toString).toFastSeq) ExecuteContext.scoped() { ctx => - val r = eval( + eval( ToArray( mapIR(ToStream(queries))(r => ir.invoke("contains", TBoolean, lit, r)) ), diff --git a/hail/src/test/scala/is/hail/expr/ir/OrderingSuite.scala b/hail/src/test/scala/is/hail/expr/ir/OrderingSuite.scala index 85e730489d9..57d38090233 100644 --- a/hail/src/test/scala/is/hail/expr/ir/OrderingSuite.scala +++ b/hail/src/test/scala/is/hail/expr/ir/OrderingSuite.scala @@ -79,7 +79,6 @@ class OrderingSuite extends HailSuite { val p = Prop.forAll(compareGen) { case (t, a) => pool.scopedRegion { region => val pType = PType.canonical(t).asInstanceOf[PStruct] - val rvb = new RegionValueBuilder(sm, region) val v = pType.unstagedStoreJavaObject(sm, a, region) @@ -236,7 +235,6 @@ class OrderingSuite extends HailSuite { val p = Prop.forAll(compareGen) { case (t, a1, a2) => pool.scopedRegion { region => val pType = PType.canonical(t) - val rvb = new RegionValueBuilder(sm, region) val v1 = pType.unstagedStoreJavaObject(sm, a1, region) @@ -291,7 +289,6 @@ class OrderingSuite extends HailSuite { val p = Prop.forAll(compareGen) { case (t, a1, a2) => pool.scopedRegion { region => val pType = PType.canonical(t) - val rvb = new RegionValueBuilder(sm, region) val v1 = pType.unstagedStoreJavaObject(sm, a1, region) @@ -480,14 +477,11 @@ class OrderingSuite extends HailSuite { val pArray = PCanonicalArray(pt) pool.scopedRegion { region => - val rvb = new RegionValueBuilder(sm, region) - val soff = pset.unstagedStoreJavaObject(sm, set, region) val eoff = pTuple.unstagedStoreJavaObject(sm, Row(elem), region) val fb = EmitFunctionBuilder[Region, Long, Long, Int](ctx, "binary_search") - val cregion = fb.getCodeParam[Region](1).load() val cset = fb.getCodeParam[Long](2) val cetuple = fb.getCodeParam[Long](3) @@ -685,8 +679,6 @@ class OrderingSuite extends HailSuite { def rowDoubleOrderingData(): Array[Array[Any]] = { val xs = Array[Any](null, Double.NegativeInfinity, -0.0, 0.0, 1.0, Double.PositiveInfinity, Double.NaN) - val as = Array(null: IndexedSeq[Any]) ++ - (for (x <- xs) yield FastSeq[Any](x)) val ss = Array[Any](null, "a", "aa") val rs = for { diff --git a/hail/src/test/scala/is/hail/expr/ir/StagedBTreeSuite.scala b/hail/src/test/scala/is/hail/expr/ir/StagedBTreeSuite.scala index 23ea06b0e90..8c923f5bc59 100644 --- a/hail/src/test/scala/is/hail/expr/ir/StagedBTreeSuite.scala +++ b/hail/src/test/scala/is/hail/expr/ir/StagedBTreeSuite.scala @@ -69,7 +69,6 @@ object BTreeBackedSet { val root = fb.genFieldThisRef[Long]() val r = fb.genFieldThisRef[Region]() val ib = fb.getCodeParam[InputBuffer](2) - val ib2 = fb.genFieldThisRef[InputBuffer]() val km = fb.genFieldThisRef[Boolean]() val kv = fb.genFieldThisRef[Long]() diff --git a/hail/src/test/scala/is/hail/expr/ir/TableIRSuite.scala b/hail/src/test/scala/is/hail/expr/ir/TableIRSuite.scala index 4696c798610..6c1cd4a8bde 100644 --- a/hail/src/test/scala/is/hail/expr/ir/TableIRSuite.scala +++ b/hail/src/test/scala/is/hail/expr/ir/TableIRSuite.scala @@ -914,7 +914,6 @@ class TableIRSuite extends HailSuite { } @Test def testTableWrite(): Unit = { - implicit val execStrats = ExecStrategy.interpretOnly val table = TableRange(5, 4) val path = ctx.createTmpPath("test-table-write", "ht") Interpret[Unit](ctx, TableWrite(table, TableNativeWriter(path))) @@ -927,7 +926,6 @@ class TableIRSuite extends HailSuite { } @Test def testWriteKeyDistinctness(): Unit = { - implicit val execStrats = ExecStrategy.interpretOnly val rt = TableRange(40, 4) val idxRef = GetField(Ref("row", rt.typ.rowType), "idx") val at = TableMapRows( @@ -1581,7 +1579,7 @@ class TableIRSuite extends HailSuite { ) } - @Test def testRepartitionCostEstimate: Unit = { + @Test def testRepartitionCostEstimate(): Unit = { val empty = RVDPartitioner.empty(ctx.stateManager, TStruct(Array.empty[Field])) val some = RVDPartitioner.unkeyed(ctx.stateManager, _) diff --git a/hail/src/test/scala/is/hail/expr/ir/analyses/SemanticHashSuite.scala b/hail/src/test/scala/is/hail/expr/ir/analyses/SemanticHashSuite.scala index 730fbc8b0fb..866cb000cfe 100644 --- a/hail/src/test/scala/is/hail/expr/ir/analyses/SemanticHashSuite.scala +++ b/hail/src/test/scala/is/hail/expr/ir/analyses/SemanticHashSuite.scala @@ -309,7 +309,7 @@ class SemanticHashSuite extends HailSuite { val fs = new FakeFS { override def eTag(url: FakeURL): Option[String] = - throw new FileNotFoundException(url.getPath()) + throw new FileNotFoundException(url.getPath) } val ir = @@ -345,7 +345,7 @@ class SemanticHashSuite extends HailSuite { override def glob(url: FakeURL): Array[FileListEntry] = Array(new FileListEntry { override def getPath: String = url.getPath - override def getActualUrl(): String = url.getPath + override def getActualUrl: String = url.getPath override def getModificationTime: lang.Long = ??? override def getLen: Long = ??? override def isDirectory: Boolean = ??? diff --git a/hail/src/test/scala/is/hail/expr/ir/table/TableGenSuite.scala b/hail/src/test/scala/is/hail/expr/ir/table/TableGenSuite.scala index 2364dfae8bd..8cc3d8b6cdf 100644 --- a/hail/src/test/scala/is/hail/expr/ir/table/TableGenSuite.scala +++ b/hail/src/test/scala/is/hail/expr/ir/table/TableGenSuite.scala @@ -20,7 +20,7 @@ class TableGenSuite extends HailSuite { implicit val execStrategy = ExecStrategy.lowering @Test(groups = Array("construction", "typecheck")) - def testWithInvalidContextsType: Unit = { + def testWithInvalidContextsType(): Unit = { val ex = intercept[IllegalArgumentException] { mkTableGen(contexts = Some(Str("oh noes :'("))).typecheck() } @@ -31,7 +31,7 @@ class TableGenSuite extends HailSuite { } @Test(groups = Array("construction", "typecheck")) - def testWithInvalidGlobalsType: Unit = { + def testWithInvalidGlobalsType(): Unit = { val ex = intercept[IllegalArgumentException] { mkTableGen( globals = Some(Str("oh noes :'(")), @@ -44,7 +44,7 @@ class TableGenSuite extends HailSuite { } @Test(groups = Array("construction", "typecheck")) - def testWithInvalidBodyType: Unit = { + def testWithInvalidBodyType(): Unit = { val ex = intercept[IllegalArgumentException] { mkTableGen(body = Some(Str("oh noes :'("))).typecheck() } @@ -54,7 +54,7 @@ class TableGenSuite extends HailSuite { } @Test(groups = Array("construction", "typecheck")) - def testWithInvalidBodyElementType: Unit = { + def testWithInvalidBodyElementType(): Unit = { val ex = intercept[IllegalArgumentException] { mkTableGen(body = Some(MakeStream(IndexedSeq(Str("oh noes :'(")), TStream(TString))) @@ -66,7 +66,7 @@ class TableGenSuite extends HailSuite { } @Test(groups = Array("construction", "typecheck")) - def testWithInvalidPartitionerKeyType: Unit = { + def testWithInvalidPartitionerKeyType(): Unit = { val ex = intercept[IllegalArgumentException] { mkTableGen(partitioner = Some(RVDPartitioner.empty(ctx.stateManager, TStruct("does-not-exist" -> TInt32))) @@ -76,7 +76,7 @@ class TableGenSuite extends HailSuite { } @Test(groups = Array("construction", "typecheck")) - def testWithTooLongPartitionerKeyType: Unit = { + def testWithTooLongPartitionerKeyType(): Unit = { val ex = intercept[IllegalArgumentException] { mkTableGen(partitioner = Some(RVDPartitioner.empty(ctx.stateManager, TStruct("does-not-exist" -> TInt32))) @@ -86,7 +86,7 @@ class TableGenSuite extends HailSuite { } @Test(groups = Array("requiredness")) - def testRequiredness: Unit = { + def testRequiredness(): Unit = { val table = mkTableGen() val analysis = Requiredness(table, ctx) analysis.lookup(table).required shouldBe true @@ -94,14 +94,14 @@ class TableGenSuite extends HailSuite { } @Test(groups = Array("lowering")) - def testLowering: Unit = { + def testLowering(): Unit = { val table = TestUtils.collect(mkTableGen()) val lowered = LowerTableIR(table, DArrayLowering.All, ctx, LoweringAnalyses(table, ctx)) assertEvalsTo(lowered, Row(FastSeq(0, 0).map(Row(_)), Row(0))) } @Test(groups = Array("lowering")) - def testNumberOfContextsMatchesPartitions: Unit = { + def testNumberOfContextsMatchesPartitions(): Unit = { val errorId = 42 val table = TestUtils.collect(mkTableGen( partitioner = Some(RVDPartitioner.unkeyed(ctx.stateManager, 0)), @@ -116,7 +116,7 @@ class TableGenSuite extends HailSuite { } @Test(groups = Array("lowering")) - def testRowsAreCorrectlyKeyed: Unit = { + def testRowsAreCorrectlyKeyed(): Unit = { val errorId = 56 val table = TestUtils.collect(mkTableGen( partitioner = Some(new RVDPartitioner( @@ -139,14 +139,14 @@ class TableGenSuite extends HailSuite { } @Test(groups = Array("optimization", "prune")) - def testPruneNoUnusedFields: Unit = { + def testPruneNoUnusedFields(): Unit = { val start = mkTableGen() val pruned = PruneDeadFields(ctx, start) pruned.typ shouldBe start.typ } @Test(groups = Array("optimization", "prune")) - def testPruneGlobals: Unit = { + def testPruneGlobals(): Unit = { val cname = "contexts" val start = mkTableGen( cname = Some(cname), @@ -165,7 +165,7 @@ class TableGenSuite extends HailSuite { } @Test(groups = Array("optimization", "prune")) - def testPruneContexts: Unit = { + def testPruneContexts(): Unit = { val start = mkTableGen() val TableGetGlobals(pruned) = PruneDeadFields(ctx, TableGetGlobals(start)) pruned.typ should not be start.typ diff --git a/hail/src/test/scala/is/hail/io/IndexBTreeSuite.scala b/hail/src/test/scala/is/hail/io/IndexBTreeSuite.scala index b69656846a9..4682309ba0b 100644 --- a/hail/src/test/scala/is/hail/io/IndexBTreeSuite.scala +++ b/hail/src/test/scala/is/hail/io/IndexBTreeSuite.scala @@ -34,7 +34,6 @@ class IndexBTreeSuite extends HailSuite { property("query gives same answer as array") = forAll(arraySizeGenerator) { case (depth: Int, arraySize: Int) => val arrayRandomStarts = fillRandomArray(arraySize) - val maxLong = arrayRandomStarts.takeRight(1)(0) val index = ctx.createTmpPath("testBtree", "idx") fs.delete(index, true) diff --git a/hail/src/test/scala/is/hail/io/IndexSuite.scala b/hail/src/test/scala/is/hail/io/IndexSuite.scala index 5ba86181a2c..18e4bbee6be 100644 --- a/hail/src/test/scala/is/hail/io/IndexSuite.scala +++ b/hail/src/test/scala/is/hail/io/IndexSuite.scala @@ -40,8 +40,6 @@ class IndexSuite extends HailSuite { branchingFactor: Int, attributes: Map[String, Any], ): Unit = { - val bufferSpec = BufferSpec.default - val iw = IndexWriter.builder(ctx, keyType, annotationType, branchingFactor, attributes)( file, theHailClassLoader, @@ -100,7 +98,7 @@ class IndexSuite extends HailSuite { @Test(dataProvider = "elements") def writeReadGivesSameAsInput(data: Array[String]): Unit = { val file = ctx.createTmpPath("test", "idx") - val attributes = Map("foo" -> true, "bar" -> 5) + val attributes: Map[String, Any] = Map("foo" -> true, "bar" -> 5) val a: (Int) => Annotation = (i: Int) => Row(i % 2 == 0) @@ -155,9 +153,6 @@ class IndexSuite extends HailSuite { ) val index = indexReader(file, TStruct.empty) - val n = stringsWithDups.length - val f = { i: Int => stringsWithDups(i) } - val expectedResult = Array( "aardvark" -> 0, "bear" -> 0, @@ -191,9 +186,6 @@ class IndexSuite extends HailSuite { ) val index = indexReader(file, TStruct.empty) - val n = stringsWithDups.length - val f = { i: Int => stringsWithDups(i) } - val expectedResult = Array( "aardvark" -> 0, "bear" -> 2, diff --git a/hail/src/test/scala/is/hail/io/fs/FSSuite.scala b/hail/src/test/scala/is/hail/io/fs/FSSuite.scala index 506de8078fd..0901c6a2f57 100644 --- a/hail/src/test/scala/is/hail/io/fs/FSSuite.scala +++ b/hail/src/test/scala/is/hail/io/fs/FSSuite.scala @@ -30,7 +30,7 @@ trait FSSuite extends TestNGSuite { def pathsRelRoot(root: String, statuses: Array[FileListEntry]): Set[String] = statuses.map { status => - var p = status.getPath + val p = status.getPath assert(p.startsWith(root), s"$p $root") p.drop(root.length) }.toSet @@ -73,8 +73,8 @@ trait FSSuite extends TestNGSuite { @Test def testFileStatusOnDirIsFailure(): Unit = { val f = r("/dir") - TestUtils.interceptException[FileNotFoundException](r("/dir"))( - fs.fileStatus(r("/dir")) + TestUtils.interceptException[FileNotFoundException](f)( + fs.fileStatus(f) ) } @@ -213,7 +213,7 @@ trait FSSuite extends TestNGSuite { assert(pathsRelRoot(root, statuses) == Set("")) } - @Test def testFileEndingWithPeriod: Unit = { + @Test def testFileEndingWithPeriod(): Unit = { val f = fs.makeQualified(t()) fs.touch(f + "/foo.") val statuses = fs.listDirectory(f) diff --git a/hail/src/test/scala/is/hail/io/fs/FakeFS.scala b/hail/src/test/scala/is/hail/io/fs/FakeFS.scala index 26578742e57..d91a6e57339 100644 --- a/hail/src/test/scala/is/hail/io/fs/FakeFS.scala +++ b/hail/src/test/scala/is/hail/io/fs/FakeFS.scala @@ -1,8 +1,8 @@ package is.hail.io.fs case class FakeURL(path: String) extends FSURL { - def getPath(): String = path - def getActualUrl(): String = path + def getPath: String = path + def getActualUrl: String = path } abstract class FakeFS extends FS { diff --git a/hail/src/test/scala/is/hail/methods/LocalLDPruneSuite.scala b/hail/src/test/scala/is/hail/methods/LocalLDPruneSuite.scala index 232b6ad02d6..ebee4aa797d 100644 --- a/hail/src/test/scala/is/hail/methods/LocalLDPruneSuite.scala +++ b/hail/src/test/scala/is/hail/methods/LocalLDPruneSuite.scala @@ -157,7 +157,6 @@ class LocalLDPruneSuite extends HailSuite { ): Boolean = { val locallyPrunedRDD = getLocallyPrunedRDDWithGT(unprunedMatrixTable, locallyPrunedTable) - val nSamples = unprunedMatrixTable.nCols val r2Matrix = LocalLDPruneSuite.correlationMatrixGT(locallyPrunedRDD.map { case (_, _, gs) => gs @@ -188,7 +187,6 @@ class LocalLDPruneSuite extends HailSuite { ): Boolean = { val locallyPrunedRDD = getLocallyPrunedRDDWithGT(unprunedMatrixTable, locallyPrunedTable) - val nSamples = unprunedMatrixTable.nCols val locallyUncorrelated = { locallyPrunedRDD.mapPartitions( diff --git a/hail/src/test/scala/is/hail/methods/MultiArray2Suite.scala b/hail/src/test/scala/is/hail/methods/MultiArray2Suite.scala index 8ac664a0423..0026478fb9c 100644 --- a/hail/src/test/scala/is/hail/methods/MultiArray2Suite.scala +++ b/hail/src/test/scala/is/hail/methods/MultiArray2Suite.scala @@ -9,7 +9,7 @@ class MultiArray2Suite extends HailSuite { @Test def test() = { // test multiarray of size 0 will be created - val ma0 = MultiArray2.fill[Int](0, 0)(0) + MultiArray2.fill[Int](0, 0)(0) // test multiarray of size 0 that apply nothing out intercept[IllegalArgumentException] { @@ -25,12 +25,12 @@ class MultiArray2Suite extends HailSuite { // bad multiarray initiation -- negative number intercept[IllegalArgumentException] { - val a = MultiArray2.fill[Int](-5, 5)(0) + MultiArray2.fill[Int](-5, 5)(0) } // bad multiarray initiation -- negative number intercept[IllegalArgumentException] { - val a = MultiArray2.fill[Int](5, -5)(0) + MultiArray2.fill[Int](5, -5)(0) } val ma1 = MultiArray2.fill[Int](10, 3)(0) @@ -41,7 +41,7 @@ class MultiArray2Suite extends HailSuite { // Catch exception if try to apply value that is not in indices of multiarray intercept[IllegalArgumentException] { - val foo = ma1(100, 100) + ma1(100, 100) } val ma2 = MultiArray2.fill[Int](10, 3)(0) @@ -70,29 +70,29 @@ class MultiArray2Suite extends HailSuite { assert(row(idx) == ((row.i * idx, "foo"))) intercept[IllegalArgumentException] { - val x = ma5.row(100) + ma5.row(100) } intercept[ArrayIndexOutOfBoundsException] { val x = ma5.row(0) - val y = x(100) + x(100) } intercept[IllegalArgumentException] { - val x = ma5.row(-5) + ma5.row(-5) } intercept[IllegalArgumentException] { - val x = ma5.column(100) + ma5.column(100) } intercept[IllegalArgumentException] { - val x = ma5.column(-5) + ma5.column(-5) } intercept[ArrayIndexOutOfBoundsException] { val x = ma5.column(0) - val y = x(100) + x(100) } // Test column slice diff --git a/hail/src/test/scala/is/hail/stats/FisherExactTestSuite.scala b/hail/src/test/scala/is/hail/stats/FisherExactTestSuite.scala index d4a7cef2f1a..bf5d68aa584 100644 --- a/hail/src/test/scala/is/hail/stats/FisherExactTestSuite.scala +++ b/hail/src/test/scala/is/hail/stats/FisherExactTestSuite.scala @@ -7,10 +7,6 @@ import org.testng.annotations.Test class FisherExactTestSuite extends HailSuite { @Test def testPvalue(): Unit = { - val N = 200 - val K = 100 - val k = 10 - val n = 15 val a = 5 val b = 10 val c = 95 diff --git a/hail/src/test/scala/is/hail/stats/eigSymDSuite.scala b/hail/src/test/scala/is/hail/stats/eigSymDSuite.scala index e1e6ab7e4da..73bcb32e9e4 100644 --- a/hail/src/test/scala/is/hail/stats/eigSymDSuite.scala +++ b/hail/src/test/scala/is/hail/stats/eigSymDSuite.scala @@ -24,7 +24,6 @@ class eigSymDSuite extends HailSuite { val svdK = svd(K) val eigSymK = eigSym(K) val eigSymDK = eigSymD(K) - val eigSymRK = eigSymR(K) // eigSymD = svdW for (j <- 0 until n) { diff --git a/hail/src/test/scala/is/hail/types/physical/PNDArraySuite.scala b/hail/src/test/scala/is/hail/types/physical/PNDArraySuite.scala index 6e445ecb14c..c91333fe690 100644 --- a/hail/src/test/scala/is/hail/types/physical/PNDArraySuite.scala +++ b/hail/src/test/scala/is/hail/types/physical/PNDArraySuite.scala @@ -371,7 +371,6 @@ class PNDArraySuite extends PhysicalTestUtils { val fb = EmitFunctionBuilder[Region, Region, Region, Long](ctx, "ref_count_test") val codeRegion1 = fb.getCodeParam[Region](1) val codeRegion2 = fb.getCodeParam[Region](2) - val codeRegion3 = fb.getCodeParam[Region](3) try { fb.emitWithBuilder { cb => @@ -386,7 +385,7 @@ class PNDArraySuite extends PhysicalTestUtils { // Region 2 gets an ndarray at ndaddress2, plus a reference to the one at ndarray 1. val (_, snd2Finisher) = nd.constructDataFunction(shapeSeq, shapeSeq, cb, codeRegion2) - val snd2 = snd2Finisher(cb) + snd2Finisher(cb) cb.assign(r2PointerToNDAddress1, nd.store(cb, codeRegion2, snd1, true)) // Return the 1st ndarray diff --git a/hail/src/test/scala/is/hail/utils/FlipbookIteratorSuite.scala b/hail/src/test/scala/is/hail/utils/FlipbookIteratorSuite.scala index 8f463eefbaa..85a33e681db 100644 --- a/hail/src/test/scala/is/hail/utils/FlipbookIteratorSuite.scala +++ b/hail/src/test/scala/is/hail/utils/FlipbookIteratorSuite.scala @@ -329,7 +329,7 @@ class FlipbookIteratorSuite extends HailSuite { val a: Array[Box[Int]] = Array.fill(3)(default) var i = 0; while (i < ar.size) { - var v = ar(i) + val v = ar(i) a(v._2) = v._1 i += 1 } diff --git a/hail/src/test/scala/is/hail/utils/PartitionCountsSuite.scala b/hail/src/test/scala/is/hail/utils/PartitionCountsSuite.scala index 51b1d566041..b64466e3f07 100644 --- a/hail/src/test/scala/is/hail/utils/PartitionCountsSuite.scala +++ b/hail/src/test/scala/is/hail/utils/PartitionCountsSuite.scala @@ -43,7 +43,7 @@ class PartitionCountsSuite extends TestNGSuite { } @Test def testIncrementalPCSubset() = { - var pcs = Array(0L, 0L, 5L, 6L, 4L, 3L, 3L, 3L, 2L, 1L) + val pcs = Array(0L, 0L, 5L, 6L, 4L, 3L, 3L, 3L, 2L, 1L) def headOffset(n: Long) = incrementalPCSubsetOffset(n, 0 until pcs.length)(_.map(pcs)) diff --git a/hail/src/test/scala/is/hail/utils/RichDenseMatrixDoubleSuite.scala b/hail/src/test/scala/is/hail/utils/RichDenseMatrixDoubleSuite.scala index 549025e4d64..a8d05321bf4 100644 --- a/hail/src/test/scala/is/hail/utils/RichDenseMatrixDoubleSuite.scala +++ b/hail/src/test/scala/is/hail/utils/RichDenseMatrixDoubleSuite.scala @@ -31,7 +31,7 @@ class RichDenseMatrixDoubleSuite extends HailSuite { val mT = m.t RichDenseMatrixDouble.exportToDoubles(fs, fileT, mT, forceRowMajor = true) val lmT2 = RichDenseMatrixDouble.importFromDoubles(fs, fileT, 100, 50, rowMajor = true) - assert(mT === mT) + assert(mT === lmT2) TestUtils.interceptFatal("Premature") { RichDenseMatrixDouble.importFromDoubles(fs, fileT, 100, 100, rowMajor = true) diff --git a/hail/src/test/scala/is/hail/utils/TreeTraversalSuite.scala b/hail/src/test/scala/is/hail/utils/TreeTraversalSuite.scala index 32836c3207a..0106d66c23a 100644 --- a/hail/src/test/scala/is/hail/utils/TreeTraversalSuite.scala +++ b/hail/src/test/scala/is/hail/utils/TreeTraversalSuite.scala @@ -8,21 +8,21 @@ class TreeTraversalSuite { def binaryTree(i: Int): Iterator[Int] = (1 to 2).map(2 * i + _).iterator.filter(_ < 7) - @Test def testPostOrder = + @Test def testPostOrder() = Assert.assertEquals( TreeTraversal.postOrder(binaryTree)(0).toArray, Array(3, 4, 1, 5, 6, 2, 0), "", ) - @Test def testPreOrder = + @Test def testPreOrder() = Assert.assertEquals( TreeTraversal.preOrder(binaryTree)(0).toArray, Array(0, 1, 3, 4, 2, 5, 6), "", ) - @Test def levelOrder = + @Test def levelOrder() = Assert.assertEquals( TreeTraversal.levelOrder(binaryTree)(0).toArray, (0 to 6).toArray, diff --git a/hail/src/test/scala/is/hail/utils/UtilsSuite.scala b/hail/src/test/scala/is/hail/utils/UtilsSuite.scala index f79493d1dd2..24a5423ed58 100644 --- a/hail/src/test/scala/is/hail/utils/UtilsSuite.scala +++ b/hail/src/test/scala/is/hail/utils/UtilsSuite.scala @@ -143,7 +143,6 @@ class UtilsSuite extends HailSuite { assert(c2.toSeq == Seq("a", "b", "c", "a_1", "a_2", "c_1", "a_3")) assert(diff.toSeq == Seq("a" -> "a_1", "a" -> "a_2", "c" -> "c_1", "a" -> "a_3")) - val c3 = Array("a", "b", "c", "a", "a", "c", "a") val (c4, diff2) = mangle(c1, "D" * _) assert(c4.toSeq == Seq("a", "b", "c", "aD", "aDD", "cD", "aDDD")) assert(diff2.toSeq == Seq("a" -> "aD", "a" -> "aDD", "c" -> "cD", "a" -> "aDDD")) diff --git a/hail/src/test/scala/is/hail/variant/ReferenceGenomeSuite.scala b/hail/src/test/scala/is/hail/variant/ReferenceGenomeSuite.scala index 5b1124aff65..1f7c361f914 100644 --- a/hail/src/test/scala/is/hail/variant/ReferenceGenomeSuite.scala +++ b/hail/src/test/scala/is/hail/variant/ReferenceGenomeSuite.scala @@ -123,11 +123,6 @@ class ReferenceGenomeSuite extends HailSuite { assert(rg.compare("X", "Y") < 0) assert(rg.compare("Y", "X") > 0) assert(rg.compare("Y", "MT") < 0) - - // Test loci - val l1 = Locus("1", 25) - val l2 = Locus("1", 13000) - val l3 = Locus("2", 26) } @Test def testWriteToFile(): Unit = { @@ -230,7 +225,6 @@ class ReferenceGenomeSuite extends HailSuite { withExecuteContext() { ctx => val grch38 = ctx.getReference(ReferenceGenome.GRCh38) val fb = EmitFunctionBuilder[String, Boolean](ctx, "serialize_rg") - val cb = fb.ecb val rgfield = fb.getReferenceGenome(grch38.name) fb.emit(rgfield.invoke[String, Boolean]("isValidContig", fb.getCodeParam[String](1))) @@ -248,7 +242,6 @@ class ReferenceGenomeSuite extends HailSuite { val fb = EmitFunctionBuilder[String, Locus, Double, (Locus, Boolean)](ctx, "serialize_with_liftover") - val cb = fb.ecb val rgfield = fb.getReferenceGenome(grch37.name) fb.emit(rgfield.invoke[String, Locus, Double, (Locus, Boolean)]( "liftoverLocus",