summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2011-01-02 17:40:25 +0000
committerPaul Phillips <paulp@improving.org>2011-01-02 17:40:25 +0000
commit635bc9c17b0d35e9cf8029cf24aee8d3594a143f (patch)
tree7b7ca9282bd2c009f9c0e1c4c00ffb7eedf94802
parent533ffe9482c530489ad4f6670831b8d87f78193a (diff)
downloadscala-635bc9c17b0d35e9cf8029cf24aee8d3594a143f.tar.gz
scala-635bc9c17b0d35e9cf8029cf24aee8d3594a143f.tar.bz2
scala-635bc9c17b0d35e9cf8029cf24aee8d3594a143f.zip
Misc uninteresting tidbits to take some weight ...
Misc uninteresting tidbits to take some weight off overly large patches in progress. No review.
-rw-r--r--src/compiler/scala/tools/nsc/interpreter/package.scala3
-rw-r--r--src/compiler/scala/tools/nsc/util/JavaStackFrame.scala7
-rw-r--r--src/compiler/scala/tools/nsc/util/package.scala3
-rw-r--r--src/fjbg/ch/epfl/lamp/fjbg/JMethodType.java12
-rw-r--r--src/fjbg/ch/epfl/lamp/fjbg/JObjectType.java9
-rwxr-xr-xsrc/library/scala/reflect/generic/Constants.scala2
-rw-r--r--test/files/run/Course-2002-05.scala6
-rw-r--r--test/files/run/bug978.scala6
-rw-r--r--test/files/run/enums.scala4
-rw-r--r--test/files/run/fors.scala42
10 files changed, 61 insertions, 33 deletions
diff --git a/src/compiler/scala/tools/nsc/interpreter/package.scala b/src/compiler/scala/tools/nsc/interpreter/package.scala
index 88e54abcde..9d131f4786 100644
--- a/src/compiler/scala/tools/nsc/interpreter/package.scala
+++ b/src/compiler/scala/tools/nsc/interpreter/package.scala
@@ -21,9 +21,6 @@ package object interpreter {
x
}
- /** Frequency counter */
- def freq[T](seq: Seq[T]) = seq groupBy identity mapValues (_.length)
-
/** Heuristically strip interpreter wrapper prefixes
* from an interpreter output string.
*/
diff --git a/src/compiler/scala/tools/nsc/util/JavaStackFrame.scala b/src/compiler/scala/tools/nsc/util/JavaStackFrame.scala
index a08c9ed3b8..7b1caa1784 100644
--- a/src/compiler/scala/tools/nsc/util/JavaStackFrame.scala
+++ b/src/compiler/scala/tools/nsc/util/JavaStackFrame.scala
@@ -37,6 +37,11 @@ class FrameContext(frame: JavaStackFrame, codeSources: Sources) {
else contextLines.mkString(tag + "\n", "", "")
}
+object FrameContext {
+ def apply(elem: StackTraceElement): FrameContext = apply(new JavaStackFrame(elem))
+ def apply(frame: JavaStackFrame): FrameContext = new FrameContext(frame, Sources())
+}
+
class JavaStackFrame(val elem: StackTraceElement) {
def className: String = elem.getClassName()
def methodName: String = elem.getMethodName()
@@ -51,6 +56,7 @@ class JavaStackFrame(val elem: StackTraceElement) {
private def standardString(which: String) =
"%s.%s(%s:%s)".format(which, methodName, fileName, line)
+ def locationString = fileName + ":" + line
def javaString = standardString(className)
def shortNameString = standardString(shortName)
def tag = "[%s.%s]".format(shortName, methodName)
@@ -59,6 +65,7 @@ class JavaStackFrame(val elem: StackTraceElement) {
}
object JavaStackFrame {
+ def apply(elem: StackTraceElement) = new JavaStackFrame(elem)
def frames(xs: Array[StackTraceElement]): Array[JavaStackFrame] = xs map (x => new JavaStackFrame(x))
def frames(t: Throwable): Array[JavaStackFrame] = frames(Exceptional.unwrap(t).getStackTrace)
}
diff --git a/src/compiler/scala/tools/nsc/util/package.scala b/src/compiler/scala/tools/nsc/util/package.scala
index b61f3751b9..2bede3c8ca 100644
--- a/src/compiler/scala/tools/nsc/util/package.scala
+++ b/src/compiler/scala/tools/nsc/util/package.scala
@@ -13,6 +13,9 @@ package object util {
/** Apply a function and return the passed value */
def returning[T](x: T)(f: T => Unit): T = { f(x) ; x }
+ /** Frequency counter */
+ def freq[T](xs: Traversable[T]): Map[T, Int] = xs groupBy identity mapValues (_.size)
+
/** Execute code and then wait for all Threads created during its
* execution to complete.
*/
diff --git a/src/fjbg/ch/epfl/lamp/fjbg/JMethodType.java b/src/fjbg/ch/epfl/lamp/fjbg/JMethodType.java
index 1d2952b84e..a0197de972 100644
--- a/src/fjbg/ch/epfl/lamp/fjbg/JMethodType.java
+++ b/src/fjbg/ch/epfl/lamp/fjbg/JMethodType.java
@@ -72,4 +72,16 @@ public class JMethodType extends JType {
public boolean isCompatibleWith(JType other) {
return false;
}
+ public boolean equals(Object o) {
+ if (o instanceof JMethodType)
+ return ((JMethodType)o).getSignature().equals(this.getSignature());
+ else
+ return false;
+ }
+ public int hashCode() {
+ if (signature == null)
+ return 0;
+ else
+ return signature.hashCode();
+ }
}
diff --git a/src/fjbg/ch/epfl/lamp/fjbg/JObjectType.java b/src/fjbg/ch/epfl/lamp/fjbg/JObjectType.java
index b8567e8d30..50ccae79c0 100644
--- a/src/fjbg/ch/epfl/lamp/fjbg/JObjectType.java
+++ b/src/fjbg/ch/epfl/lamp/fjbg/JObjectType.java
@@ -53,4 +53,13 @@ public class JObjectType extends JReferenceType {
return other instanceof JObjectType
|| other == JType.REFERENCE;
}
+ public boolean equals(Object o) {
+ if (o instanceof JObjectType)
+ return ((JObjectType)o).getSignature().equals(this.getSignature());
+ else
+ return false;
+ }
+ public int hashCode() {
+ return name.hashCode();
+ }
}
diff --git a/src/library/scala/reflect/generic/Constants.scala b/src/library/scala/reflect/generic/Constants.scala
index f137fc43c9..1dadc55aae 100755
--- a/src/library/scala/reflect/generic/Constants.scala
+++ b/src/library/scala/reflect/generic/Constants.scala
@@ -227,7 +227,7 @@ trait Constants {
case ClassTag => "classOf[" + signature(typeValue) + "]"
case CharTag => escape("'" + escapedChar(charValue) + "'")
case LongTag => longValue.toString() + "L"
- case _ => "" + value
+ case _ => String.valueOf(value)
}
}
def typeValue: Type = value.asInstanceOf[Type]
diff --git a/test/files/run/Course-2002-05.scala b/test/files/run/Course-2002-05.scala
index a1d71e2818..e6764b92c8 100644
--- a/test/files/run/Course-2002-05.scala
+++ b/test/files/run/Course-2002-05.scala
@@ -178,9 +178,9 @@ object M4 {
isSafe(col, p.tail, delta + 1)));
for (
- val placement <- placeQueens(row - 1);
- val col <- columns;
- isSafe(col, placement, 1)
+ placement <- placeQueens(row - 1);
+ col <- columns;
+ if isSafe(col, placement, 1)
) yield {
col :: placement
}
diff --git a/test/files/run/bug978.scala b/test/files/run/bug978.scala
index 72dfdbae0a..a2df87b0ed 100644
--- a/test/files/run/bug978.scala
+++ b/test/files/run/bug978.scala
@@ -13,14 +13,14 @@ object Test extends Application {
// val set = new collection.jcl.HashSet[Foo]
val max = 200
- for (val x <- 1 to max)
+ for (x <- 1 to max)
set += new Foo(x)
testRemove(2)
testExists(2)
def testRemove(m: Int) {
- for (val x <- 1 to max; x % m == 0) {
+ for (x <- 1 to max; if x % m == 0) {
val f = new Foo(x)
set -= f
assert(!(set contains f))
@@ -29,7 +29,7 @@ object Test extends Application {
}
def testExists(m: Int) {
- for (val x <- 1 to max; x % m == 1) {
+ for (x <- 1 to max; if x % m == 1) {
val f = new Foo(x)
assert(set contains f, "For element: " + f + " set: " + set)
}
diff --git a/test/files/run/enums.scala b/test/files/run/enums.scala
index fcca8d3438..6dda8cbc6e 100644
--- a/test/files/run/enums.scala
+++ b/test/files/run/enums.scala
@@ -29,7 +29,7 @@ object Test2 {
}
def run: Int = {
- val it = for (val s <- ThreadState.values; s.id != 0) yield s;
+ val it = for (s <- ThreadState.values; if s.id != 0) yield s;
it.toList.length
}
}
@@ -41,7 +41,7 @@ object Test3 {
}
def run: Int = {
- val it = for (val d <- Direction.values; d.toString() startsWith "N") yield d;
+ val it = for (d <- Direction.values; if d.toString() startsWith "N") yield d;
it.toList.length
}
}
diff --git a/test/files/run/fors.scala b/test/files/run/fors.scala
index 868a05369b..2cd4cf135c 100644
--- a/test/files/run/fors.scala
+++ b/test/files/run/fors.scala
@@ -24,34 +24,34 @@ object Test extends Application {
println("\ntestOld")
// lists
- for (val x <- xs) print(x + " "); println
- for (val x <- xs;
- x % 2 == 0) print(x + " "); println
- for {val x <- xs
- x % 2 == 0} print(x + " "); println
+ for (x <- xs) print(x + " "); println
+ for (x <- xs;
+ if x % 2 == 0) print(x + " "); println
+ for {x <- xs
+ if x % 2 == 0} print(x + " "); println
var n = 0
- for (val _ <- xs) n += 1; println(n)
- for (val (x, y) <- xs zip ys) print(x + " "); println
- for (val p @ (x, y) <- xs zip ys) print(p._1 + " "); println
+ for (_ <- xs) n += 1; println(n)
+ for ((x, y) <- xs zip ys) print(x + " "); println
+ for (p @ (x, y) <- xs zip ys) print(p._1 + " "); println
// iterators
- for (val x <- it) print(x + " "); println
- for (val x <- it;
- x % 2 == 0) print(x + " "); println
- for {val x <- it
- x % 2 == 0} print(x + " "); println
+ for (x <- it) print(x + " "); println
+ for (x <- it;
+ if x % 2 == 0) print(x + " "); println
+ for {x <- it
+ if x % 2 == 0} print(x + " "); println
// arrays
- for (val x <- ar) print(x + " "); println
- for (val x <- ar;
- x.toInt > 97) print(x + " "); println
- for {val x <- ar
- x.toInt > 97} print(x + " "); println
+ for (x <- ar) print(x + " "); println
+ for (x <- ar;
+ if x.toInt > 97) print(x + " "); println
+ for {x <- ar
+ if x.toInt > 97} print(x + " "); println
// sequences
- for (val x <- xml.child) println(x)
- for (val x <- xml.child;
- x.label == "head") println(x)
+ for (x <- xml.child) println(x)
+ for (x <- xml.child;
+ if x.label == "head") println(x)
}
/////////////////// new syntax ///////////////////