From 9132454143c32c39e8b44f2b63789e211fe70643 Mon Sep 17 00:00:00 2001 From: Paul Phillips Date: Mon, 15 Feb 2010 21:44:28 +0000 Subject: Rewrote my own submitted code of a year ago fro... Rewrote my own submitted code of a year ago from trac and added scalawhich to the tools dir. Closes #657. --- src/compiler/scala/tools/util/Which.scala | 39 +++++++++++++++++++++++++++++++ tools/scalawhich | 4 ++++ 2 files changed, 43 insertions(+) create mode 100644 src/compiler/scala/tools/util/Which.scala create mode 100755 tools/scalawhich diff --git a/src/compiler/scala/tools/util/Which.scala b/src/compiler/scala/tools/util/Which.scala new file mode 100644 index 0000000000..b331416f3d --- /dev/null +++ b/src/compiler/scala/tools/util/Which.scala @@ -0,0 +1,39 @@ +/* NSC -- new Scala compiler + * Copyright 2005-2010 LAMP/EPFL + * @author Paul Phillips + */ + +package scala.tools +package util + +import scala.tools.nsc._ + +/** A tool for identifying which classfile is being used. + * under the given conditions. + */ +object Which +{ + def main(args: Array[String]): Unit = { + val settings = new Settings() + val names = settings.processArguments(args.toList, true)._2 + val global = new Global(settings) + val cp = global.classPath + + import cp._ + + for (name <- names) { + def fail = println("Could not find: %s".format(name)) + (cp findClass name) match { + case Some(classRep) => classRep.binary match { + case Some(f) => println("%s is %s".format(name, f)) + case _ => fail + } + case _ => fail + } + } + } +} + + + + diff --git a/tools/scalawhich b/tools/scalawhich new file mode 100755 index 0000000000..6a4b1788a8 --- /dev/null +++ b/tools/scalawhich @@ -0,0 +1,4 @@ +#!/bin/sh +# + +scala scala.tools.util.Which $* -- cgit v1.2.3