diff options
author | Antonio Cunei <antonio.cunei@epfl.ch> | 2010-04-30 00:37:43 +0000 |
---|---|---|
committer | Antonio Cunei <antonio.cunei@epfl.ch> | 2010-04-30 00:37:43 +0000 |
commit | 660683929b6346d7a316273c145c677db7118e7d (patch) | |
tree | 5115150d7dbeadccd36c1fecc2468cf7f59763c9 | |
parent | 394ae087a71ff1e50827373dc73830c0fe799e3b (diff) | |
download | scala-660683929b6346d7a316273c145c677db7118e7d.tar.gz scala-660683929b6346d7a316273c145c677db7118e7d.tar.bz2 scala-660683929b6346d7a316273c145c677db7118e7d.zip |
Merged revisions 21747-21757 via svnmerge from
https://lampsvn.epfl.ch/svn-repos/scala/scala/trunk
........
r21747 | odersky | 2010-04-29 15:12:20 +0200 (Thu, 29 Apr 2010) | 1 line
Tightened variances check. Review by prokopec.
........
r21748 | prokopec | 2010-04-29 15:21:42 +0200 (Thu, 29 Apr 2010) | 1 line
removed the dir info of the error messages. no review ........ r21749
| dragos | 2010-04-29 15:45:41 +0200 (Thu, 29 Apr 2010) | 1 line
Allow inlining for straight-line methods. Closes #3357, #3099. no
review. ........ r21750 | dragos | 2010-04-29 15:45:44 +0200 (Thu, 29
Apr 2010) | 2 lines
Fixed misaligning due to wide (double|long) parameters in the icode
reader. Improved constant folding through local variables. Closes #3191,
no review. ........ r21751 | dragos | 2010-04-29 15:45:47 +0200 (Thu, 29
Apr 2010) | 1 line
Reverted change that made partest fail with 'bin/javac: no such file'
when JAVA_HOME was not set (instead of using the javac on the PATH).
Reviewed by extempore, so no review. ........ r21752 | extempore |
2010-04-29 17:16:33 +0200 (Thu, 29 Apr 2010) | 2 lines
Removes pointless reference queue from the Symbol cache. Closes #3370,
no review. ........ r21753 | extempore | 2010-04-29 17:29:44 +0200 (Thu,
29 Apr 2010) | 3 lines
Took advantage of the sophisticated abstractions available in ant to
cut and paste the entirety of r21723 a little further down the build
file. No review. ........ r21754 | dragos | 2010-04-29 18:35:09 +0200
(Thu, 29 Apr 2010) | 3 lines
Regenerated FunctionN, AbstractFunctionN, etc. Changed
AbstractFunction to properly specialize on primitive types (scala.Int,
instead of scala.runtime.Int). Now closures should be indeed
specialized. No review. ........ r21755 | dubochet | 2010-04-29 19:01:22
+0200 (Thu, 29 Apr 2010) | 1 line
Closes #3310 (very large Scala class is compiled to invalid classfile
because Scala signature can't fit into constant pool). Review by dragos.
........ r21756 | dubochet | 2010-04-29 19:32:03 +0200 (Thu, 29 Apr
2010) | 1 line
[scaladoc] Closes #3302 (case class with private constructor). No
review. ........ r21757 | phaller | 2010-04-30 00:15:18 +0200 (Fri, 30
Apr 2010) | 1 line
Deprecated two members of RemoteActor which clearly should not be
in the public API. Removed unnecessary casts. Some more complete doc
comments. No review. ........
112 files changed, 232 insertions, 134 deletions
@@ -1116,6 +1116,7 @@ BOOTSTRAPPING BUILD (STRAP) <compilationpath> <pathelement location="${build-strap.dir}/classes/library"/> <pathelement location="${build-strap.dir}/classes/compiler"/> + <pathelement location="${build-strap.dir}/classes/continuations-plugin"/> </compilationpath> </scalacfork> <copy diff --git a/lib/fjbg.jar.desired.sha1 b/lib/fjbg.jar.desired.sha1 index 04db587a17..ff2228066d 100644 --- a/lib/fjbg.jar.desired.sha1 +++ b/lib/fjbg.jar.desired.sha1 @@ -1 +1 @@ -bfbfc87845d5bb3402bac61f03734f362f6554b6 ?fjbg.jar +06769295d0216cf44826d06eda7836c6358110a9 ?fjbg.jar diff --git a/src/actors/scala/actors/Channel.scala b/src/actors/scala/actors/Channel.scala index bf5d9261db..ae1e3029d1 100644 --- a/src/actors/scala/actors/Channel.scala +++ b/src/actors/scala/actors/Channel.scala @@ -58,8 +58,7 @@ class Channel[Msg](val receiver: Actor) extends InputChannel[Msg] with OutputCha def receive[R](f: PartialFunction[Msg, R]): R = { val C = this.asInstanceOf[Channel[Any]] - val recvActor = receiver.asInstanceOf[Actor] - recvActor.receive { + receiver.receive { case C ! msg if (f.isDefinedAt(msg.asInstanceOf[Msg])) => f(msg.asInstanceOf[Msg]) } } @@ -70,8 +69,7 @@ class Channel[Msg](val receiver: Actor) extends InputChannel[Msg] with OutputCha def receiveWithin[R](msec: Long)(f: PartialFunction[Any, R]): R = { val C = this.asInstanceOf[Channel[Any]] - val recvActor = receiver.asInstanceOf[Actor] - recvActor.receiveWithin(msec) { + receiver.receiveWithin(msec) { case C ! msg if (f.isDefinedAt(msg)) => f(msg) case TIMEOUT => f(TIMEOUT) } @@ -86,8 +84,7 @@ class Channel[Msg](val receiver: Actor) extends InputChannel[Msg] with OutputCha def reactWithin(msec: Long)(f: PartialFunction[Any, Unit]): Nothing = { val C = this.asInstanceOf[Channel[Any]] - val recvActor = receiver.asInstanceOf[Actor] - recvActor.reactWithin(msec) { + receiver.reactWithin(msec) { case C ! msg if (f.isDefinedAt(msg)) => f(msg) case TIMEOUT => f(TIMEOUT) } diff --git a/src/actors/scala/actors/OutputChannel.scala b/src/actors/scala/actors/OutputChannel.scala index 5f99f57ecf..291117bf71 100644 --- a/src/actors/scala/actors/OutputChannel.scala +++ b/src/actors/scala/actors/OutputChannel.scala @@ -22,6 +22,8 @@ trait OutputChannel[-Msg] { /** * Sends <code>msg</code> to this $actor (asynchronous). + * + * @param msg the message to send */ def !(msg: Msg): Unit @@ -36,6 +38,8 @@ trait OutputChannel[-Msg] { /** * Forwards <code>msg</code> to this $actor (asynchronous). + * + * @param msg the message to forward */ def forward(msg: Msg): Unit diff --git a/src/actors/scala/actors/remote/Proxy.scala b/src/actors/scala/actors/remote/Proxy.scala index ac5951ed85..3607e6e62d 100644 --- a/src/actors/scala/actors/remote/Proxy.scala +++ b/src/actors/scala/actors/remote/Proxy.scala @@ -42,7 +42,7 @@ private[remote] class Proxy(node: Node, name: Symbol, @transient var kernel: Net } private def setupKernel() { - kernel = RemoteActor.someKernel + kernel = RemoteActor.someNetKernel kernel.registerProxy(node, name, this) } diff --git a/src/actors/scala/actors/remote/RemoteActor.scala b/src/actors/scala/actors/remote/RemoteActor.scala index 78361ec0fb..4e544665c0 100644 --- a/src/actors/scala/actors/remote/RemoteActor.scala +++ b/src/actors/scala/actors/remote/RemoteActor.scala @@ -57,10 +57,10 @@ object RemoteActor { * <code>port</code>. */ def alive(port: Int): Unit = synchronized { - createKernelOnPort(port) + createNetKernelOnPort(port) } - def createKernelOnPort(port: Int): NetKernel = { + private def createNetKernelOnPort(port: Int): NetKernel = { val serv = TcpService(port, cl) val kern = serv.kernel val s = Actor.self @@ -82,6 +82,10 @@ object RemoteActor { kern } + @deprecated("this member is going to be removed in a future release") + def createKernelOnPort(port: Int): NetKernel = + createNetKernelOnPort(port) + /** * Registers <code>a</code> under <code>name</code> on this * node. @@ -102,7 +106,7 @@ object RemoteActor { case None => // establish remotely accessible // return path (sender) - createKernelOnPort(TcpService.generatePort) + createNetKernelOnPort(TcpService.generatePort) case Some(k) => k } @@ -115,8 +119,12 @@ object RemoteActor { selfKernel.getOrCreateProxy(node, sym) } - def someKernel: NetKernel = + private[remote] def someNetKernel: NetKernel = kernels.valuesIterator.next + + @deprecated("this member is going to be removed in a future release") + def someKernel: NetKernel = + someNetKernel } diff --git a/src/build/genprod.scala b/src/build/genprod.scala index 8217ce3c3b..f12f98b569 100644 --- a/src/build/genprod.scala +++ b/src/build/genprod.scala @@ -133,8 +133,8 @@ object FunctionZero extends Function(0) { } object FunctionOne extends Function(1) { - override def contravariantSpecs = "@specialized(Int, Long, Double) " - override def covariantSpecs = "@specialized(Unit, Boolean, Int, Long, Double) " + override def contravariantSpecs = "@specialized(scala.Int, scala.Long, scala.Float, scala.Double) " + override def covariantSpecs = "@specialized(scala.Unit, scala.Boolean, scala.Int, scala.Float, scala.Long, scala.Double) " override def descriptiveComment = functionNTemplate.format("succ", "anonfun1", """ * @@ -159,8 +159,8 @@ object FunctionOne extends Function(1) { } object FunctionTwo extends Function(2) { - override def contravariantSpecs = "@specialized(Int, Long, Double) " - override def covariantSpecs = "@specialized(Unit, Boolean, Int, Long, Double) " + override def contravariantSpecs = "@specialized(scala.Int, scala.Long, scala.Double) " + override def covariantSpecs = "@specialized(scala.Unit, scala.Boolean, scala.Int, scala.Float, scala.Long, scala.Double) " override def descriptiveComment = functionNTemplate.format("max", "anonfun2", """ * diff --git a/src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala b/src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala index dc193b03db..2b4878a93b 100644 --- a/src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala +++ b/src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala @@ -163,10 +163,10 @@ abstract class GenJVM extends SubComponent { fjbgContext.JOtherAttribute(jclass, jclass, nme.ScalaSignatureATTR.toString, versionPickle.bytes, versionPickle.writeIndex) jclass.addAttribute(scalaAttr) - val scalaAnnot = - AnnotationInfo(definitions.ScalaSignatureAnnotation.tpe, Nil, List( - (nme.bytes, ScalaSigBytes(pickle.bytes.take(pickle.writeIndex))) - )) + val scalaAnnot = { + val sigBytes = ScalaSigBytes(pickle.bytes.take(pickle.writeIndex)) + AnnotationInfo(sigBytes.sigAnnot, Nil, List((nme.bytes, sigBytes))) + } pickledBytes = pickledBytes + pickle.writeIndex currentRun.symData -= sym currentRun.symData -= sym.companionSymbol @@ -416,9 +416,20 @@ abstract class GenJVM extends SubComponent { buf.putShort(cpool.addUtf8(const.symbolValue.name.toString).toShort) } - case ScalaSigBytes(bytes) => + case sb@ScalaSigBytes(bytes) if (!sb.isLong) => buf.put('s'.toByte) - buf.putShort(cpool.addUtf8(reflect.generic.ByteCodecs.encode(bytes)).toShort) + buf.putShort(cpool.addUtf8(sb.encodedBytes).toShort) + + case sb@ScalaSigBytes(bytes) if (sb.isLong) => + buf.put('['.toByte) + val stringCount = (sb.encodedBytes.length / 65534) + 1 + buf.putShort(stringCount.toShort) + for (i <- 0 until stringCount) { + buf.put('s'.toByte) + val j = i * 65535 + val string = sb.encodedBytes.slice(j, j + 65535) + buf.putShort(cpool.addUtf8(string).toShort) + } case ArrayAnnotArg(args) => buf.put('['.toByte) diff --git a/src/compiler/scala/tools/nsc/backend/opt/ClosureElimination.scala b/src/compiler/scala/tools/nsc/backend/opt/ClosureElimination.scala index 7311978147..fedf0d4143 100644 --- a/src/compiler/scala/tools/nsc/backend/opt/ClosureElimination.scala +++ b/src/compiler/scala/tools/nsc/backend/opt/ClosureElimination.scala @@ -110,11 +110,7 @@ abstract class ClosureElimination extends SubComponent { case LOAD_LOCAL(l) if (info.bindings.isDefinedAt(LocalVar(l))) => val t = info.getBinding(l) t match { - case Deref(LocalVar(v)) => - bb.replaceInstruction(i, valueToInstruction(t)); - log("replaced " + i + " with " + t) - - case Deref(This) => + case Deref(LocalVar(_)) | Deref(This) | Const(_) => bb.replaceInstruction(i, valueToInstruction(t)); log("replaced " + i + " with " + t) diff --git a/src/compiler/scala/tools/nsc/backend/opt/Inliners.scala b/src/compiler/scala/tools/nsc/backend/opt/Inliners.scala index cb87301b6a..dc1ac8e844 100644 --- a/src/compiler/scala/tools/nsc/backend/opt/Inliners.scala +++ b/src/compiler/scala/tools/nsc/backend/opt/Inliners.scala @@ -523,7 +523,7 @@ abstract class Inliners extends SubComponent { var score = 0 if (callee.code.blocks.length <= SMALL_METHOD_SIZE) score = score + 1 if (caller.code.blocks.length <= SMALL_METHOD_SIZE - && ((caller.code.blocks.length + callee.code.blocks.length) > SMALL_METHOD_SIZE)) { + && ((caller.code.blocks.length + callee.code.blocks.length - 1) > SMALL_METHOD_SIZE)) { score -= 1 if (settings.debug.value) log("shouldInline: score decreased to " + score + " because small " + caller + " would become large") diff --git a/src/compiler/scala/tools/nsc/doc/html/page/Template.scala b/src/compiler/scala/tools/nsc/doc/html/page/Template.scala index 12d24a7953..72cfd9c662 100644 --- a/src/compiler/scala/tools/nsc/doc/html/page/Template.scala +++ b/src/compiler/scala/tools/nsc/doc/html/page/Template.scala @@ -347,7 +347,8 @@ class Template(tpl: DocTemplateEntity) extends HtmlPage { vlsss map { vlss => <span class="params">({implicitCheck(vlss) ++ params0(vlss) })</span> } } mbr match { - case cls: Class if cls.isCaseClass => paramsToHtml(cls.primaryConstructor.get.valueParams) + case cls: Class if cls.isCaseClass && cls.primaryConstructor.isDefined => + paramsToHtml(cls.primaryConstructor.get.valueParams) case ctr: Constructor => paramsToHtml(ctr.valueParams) case dfe: Def => paramsToHtml(dfe.valueParams) case _ => NodeSeq.Empty diff --git a/src/compiler/scala/tools/nsc/symtab/AnnotationInfos.scala b/src/compiler/scala/tools/nsc/symtab/AnnotationInfos.scala index efb68c4873..edc87108b4 100644 --- a/src/compiler/scala/tools/nsc/symtab/AnnotationInfos.scala +++ b/src/compiler/scala/tools/nsc/symtab/AnnotationInfos.scala @@ -45,9 +45,16 @@ trait AnnotationInfos extends reflect.generic.AnnotationInfos { self: SymbolTabl /** A specific annotation argument that encodes an array of bytes as an array of `Long`. The type of the argument * declared in the annotation must be `String`. This specialised class is used to encode scala signatures for * reasons of efficiency, both in term of class-file size and in term of compiler performance. */ - case class ScalaSigBytes(bytes: Array[Byte]) - extends ClassfileAnnotArg { + case class ScalaSigBytes(bytes: Array[Byte]) extends ClassfileAnnotArg { override def toString = (bytes map { byte => (byte & 0xff).toHexString }).mkString("[ ", " ", " ]") + lazy val encodedBytes = + reflect.generic.ByteCodecs.encode(bytes) + def isLong: Boolean = (encodedBytes.length > 65535) + def sigAnnot: Type = + if (this.isLong) + definitions.ScalaLongSignatureAnnotation.tpe + else + definitions.ScalaSignatureAnnotation.tpe } object ScalaSigBytes extends ScalaSigBytesExtractor diff --git a/src/compiler/scala/tools/nsc/symtab/Definitions.scala b/src/compiler/scala/tools/nsc/symtab/Definitions.scala index db48189b6b..ed26ebac03 100644 --- a/src/compiler/scala/tools/nsc/symtab/Definitions.scala +++ b/src/compiler/scala/tools/nsc/symtab/Definitions.scala @@ -243,6 +243,7 @@ trait Definitions extends reflect.generic.StandardDefinitions { def Code_lift = getMember(CodeModule, nme.lift_) lazy val ScalaSignatureAnnotation = getClass("scala.reflect.ScalaSignature") + lazy val ScalaLongSignatureAnnotation = getClass("scala.reflect.ScalaLongSignature") // invoke dynamic support lazy val LinkageModule = getModule("java.dyn.Linkage") diff --git a/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala b/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala index fc635874a6..7cd32ff81e 100644 --- a/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala +++ b/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala @@ -377,6 +377,26 @@ abstract class ClassfileParser { value } + def getBytes(indices: List[Int]): Array[Byte] = { + assert(!indices.isEmpty) + var value = values(indices.head).asInstanceOf[Array[Byte]] + if (value eq null) { + val bytesBuffer = ArrayBuffer.empty[Byte] + for (index <- indices) { + if (index <= 0 || ConstantPool.this.len <= index) errorBadIndex(index) + val start = starts(index) + if (in.buf(start).toInt != CONSTANT_UTF8) errorBadTag(start) + val len = in.getChar(start + 1) + bytesBuffer ++= (in.buf, start + 3, len) + } + val bytes = bytesBuffer.toArray + val decodedLength = reflect.generic.ByteCodecs.decode(bytes) + value = bytes.take(decodedLength) + values(indices.head) = value + } + value + } + /** Throws an exception signaling a bad constant index. */ private def errorBadIndex(index: Int) = throw new RuntimeException("bad constant pool index: " + index + " at pos: " + in.bp) @@ -923,6 +943,24 @@ abstract class ClassfileParser { Some(ScalaSigBytes(pool.getBytes(in.nextChar))) } + def parseScalaLongSigBytes: Option[ScalaSigBytes] = try { + val tag = in.nextByte.toChar + assert(tag == ARRAY_TAG) + val stringCount = in.nextChar + val entries = + for (i <- 0 until stringCount) yield { + val stag = in.nextByte.toChar + assert(stag == STRING_TAG) + in.nextChar.toInt + } + Some(ScalaSigBytes(pool.getBytes(entries.toList))) + } + catch { + case e: Throwable => + e.printStackTrace + throw e + } + /** Parse and return a single annotation. If it is malformed, * return None. */ @@ -941,6 +979,11 @@ abstract class ClassfileParser { case Some(c) => nvpairs += ((name, c)) case None => hasError = true } + else if ((attrType == definitions.ScalaLongSignatureAnnotation.tpe) && (name == nme.bytes)) + parseScalaLongSigBytes match { + case Some(c) => nvpairs += ((name, c)) + case None => hasError = true + } else parseAnnotArg match { case Some(c) => nvpairs += ((name, c)) @@ -981,6 +1024,8 @@ abstract class ClassfileParser { parseAnnotation(in.nextChar) match { case Some(scalaSig) if (scalaSig.atp == definitions.ScalaSignatureAnnotation.tpe) => scalaSigAnnot = Some(scalaSig) + case Some(scalaSig) if (scalaSig.atp == definitions.ScalaLongSignatureAnnotation.tpe) => + scalaSigAnnot = Some(scalaSig) case Some(annot) => sym.addAnnotation(annot) case None => diff --git a/src/compiler/scala/tools/nsc/symtab/classfile/ICodeReader.scala b/src/compiler/scala/tools/nsc/symtab/classfile/ICodeReader.scala index e129737ebd..23f45e0d13 100644 --- a/src/compiler/scala/tools/nsc/symtab/classfile/ICodeReader.scala +++ b/src/compiler/scala/tools/nsc/symtab/classfile/ICodeReader.scala @@ -614,9 +614,9 @@ abstract class ICodeReader extends ClassfileParser { // add parameters var idx = if (method.isStatic) 0 else 1 - for (t <- method.symbol.tpe.paramTypes) { - this.method.addParam(code.enterParam(idx, toTypeKind(t))) - idx += 1 + for (t <- method.symbol.tpe.paramTypes; val kind = toTypeKind(t)) { + this.method.addParam(code.enterParam(idx, kind)) + idx += (if (kind.isWideType) 2 else 1) } pc = 0 diff --git a/src/compiler/scala/tools/nsc/typechecker/RefChecks.scala b/src/compiler/scala/tools/nsc/typechecker/RefChecks.scala index bd8482cd67..ea4109bd3a 100644 --- a/src/compiler/scala/tools/nsc/typechecker/RefChecks.scala +++ b/src/compiler/scala/tools/nsc/typechecker/RefChecks.scala @@ -593,7 +593,8 @@ abstract class RefChecks extends InfoTransform { case SingleType(pre, sym) => validateVariance(pre, variance) case TypeRef(pre, sym, args) => - if (sym.isAliasType && relativeVariance(sym) == AnyVariance) +// println("validate "+sym+" at "+relativeVariance(sym)) + if (sym.isAliasType/* && relativeVariance(sym) == AnyVariance*/) validateVariance(tp.normalize, variance) else if (sym.variance != NoVariance) { val v = relativeVariance(sym) diff --git a/src/fjbg/ch/epfl/lamp/fjbg/JConstantPool.java b/src/fjbg/ch/epfl/lamp/fjbg/JConstantPool.java index 4fa048177c..0e6b43f1e2 100644 --- a/src/fjbg/ch/epfl/lamp/fjbg/JConstantPool.java +++ b/src/fjbg/ch/epfl/lamp/fjbg/JConstantPool.java @@ -383,6 +383,9 @@ public class JConstantPool { public int getSize() { return 1; } public void writeContentsTo(DataOutputStream stream) throws IOException { if (bytes != null) { + if (bytes.length > 65535) { + throw new IOException("String literal of length " + bytes.length + " does not fit in Classfile"); + } stream.writeShort(bytes.length); stream.write(bytes); } diff --git a/src/library/scala/Function0.scala b/src/library/scala/Function0.scala index 867c7bc536..a946c3ad13 100644 --- a/src/library/scala/Function0.scala +++ b/src/library/scala/Function0.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 (with fancy comment) +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 (with fancy comment) package scala diff --git a/src/library/scala/Function1.scala b/src/library/scala/Function1.scala index a5780f561a..418bb4bdbf 100644 --- a/src/library/scala/Function1.scala +++ b/src/library/scala/Function1.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 (with fancy comment) (with extra methods) +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 (with fancy comment) (with extra methods) package scala @@ -36,7 +36,7 @@ package scala * println(anonfun1(0)) * }</pre> */ -trait Function1[@specialized(Int, Long, Double) -T1, @specialized(Unit, Boolean, Int, Long, Double) +R] extends AnyRef { self => +trait Function1[@specialized(scala.Int, scala.Long, scala.Float, scala.Double) -T1, @specialized(scala.Unit, scala.Boolean, scala.Int, scala.Float, scala.Long, scala.Double) +R] extends AnyRef { self => def apply(v1:T1): R override def toString() = "<function1>" diff --git a/src/library/scala/Function10.scala b/src/library/scala/Function10.scala index 967d58fa35..9435d65dd7 100644 --- a/src/library/scala/Function10.scala +++ b/src/library/scala/Function10.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 (with extra methods) +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 (with extra methods) package scala diff --git a/src/library/scala/Function11.scala b/src/library/scala/Function11.scala index 5d6065ea1c..1d0e3cd1e5 100644 --- a/src/library/scala/Function11.scala +++ b/src/library/scala/Function11.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 (with extra methods) +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 (with extra methods) package scala diff --git a/src/library/scala/Function12.scala b/src/library/scala/Function12.scala index a262e2d8f7..4ca33acdb0 100644 --- a/src/library/scala/Function12.scala +++ b/src/library/scala/Function12.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 (with extra methods) +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 (with extra methods) package scala diff --git a/src/library/scala/Function13.scala b/src/library/scala/Function13.scala index 6b1d0788fb..d128d396da 100644 --- a/src/library/scala/Function13.scala +++ b/src/library/scala/Function13.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 (with extra methods) +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 (with extra methods) package scala diff --git a/src/library/scala/Function14.scala b/src/library/scala/Function14.scala index 75b0d25f5e..d9adef9374 100644 --- a/src/library/scala/Function14.scala +++ b/src/library/scala/Function14.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 (with extra methods) +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 (with extra methods) package scala diff --git a/src/library/scala/Function15.scala b/src/library/scala/Function15.scala index c66015d2aa..dbe1cf870a 100644 --- a/src/library/scala/Function15.scala +++ b/src/library/scala/Function15.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 (with extra methods) +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 (with extra methods) package scala diff --git a/src/library/scala/Function16.scala b/src/library/scala/Function16.scala index 5b6968c106..72f8eff82b 100644 --- a/src/library/scala/Function16.scala +++ b/src/library/scala/Function16.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 (with extra methods) +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 (with extra methods) package scala diff --git a/src/library/scala/Function17.scala b/src/library/scala/Function17.scala index 74321b950b..523a35c70d 100644 --- a/src/library/scala/Function17.scala +++ b/src/library/scala/Function17.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 (with extra methods) +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 (with extra methods) package scala diff --git a/src/library/scala/Function18.scala b/src/library/scala/Function18.scala index 4cb1540161..df68bafee7 100644 --- a/src/library/scala/Function18.scala +++ b/src/library/scala/Function18.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 (with extra methods) +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 (with extra methods) package scala diff --git a/src/library/scala/Function19.scala b/src/library/scala/Function19.scala index 337b9c4837..609aeaa1fe 100644 --- a/src/library/scala/Function19.scala +++ b/src/library/scala/Function19.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 (with extra methods) +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 (with extra methods) package scala diff --git a/src/library/scala/Function2.scala b/src/library/scala/Function2.scala index 44c4e358b8..b8cbe19881 100644 --- a/src/library/scala/Function2.scala +++ b/src/library/scala/Function2.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 (with fancy comment) (with extra methods) +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 (with fancy comment) (with extra methods) package scala @@ -36,7 +36,7 @@ package scala * println(anonfun2(0, 1)) * }</pre> */ -trait Function2[@specialized(Int, Long, Double) -T1, @specialized(Int, Long, Double) -T2, @specialized(Unit, Boolean, Int, Long, Double) +R] extends AnyRef { self => +trait Function2[@specialized(scala.Int, scala.Long, scala.Double) -T1, @specialized(scala.Int, scala.Long, scala.Double) -T2, @specialized(scala.Unit, scala.Boolean, scala.Int, scala.Float, scala.Long, scala.Double) +R] extends AnyRef { self => def apply(v1:T1,v2:T2): R override def toString() = "<function2>" diff --git a/src/library/scala/Function20.scala b/src/library/scala/Function20.scala index d381d2d82e..f84649d4d5 100644 --- a/src/library/scala/Function20.scala +++ b/src/library/scala/Function20.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 (with extra methods) +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 (with extra methods) package scala diff --git a/src/library/scala/Function21.scala b/src/library/scala/Function21.scala index b78fd96dd3..ef8095aebd 100644 --- a/src/library/scala/Function21.scala +++ b/src/library/scala/Function21.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 (with extra methods) +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 (with extra methods) package scala diff --git a/src/library/scala/Function22.scala b/src/library/scala/Function22.scala index 2322a24e9d..a3347e996f 100644 --- a/src/library/scala/Function22.scala +++ b/src/library/scala/Function22.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 (with extra methods) +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 (with extra methods) package scala diff --git a/src/library/scala/Function3.scala b/src/library/scala/Function3.scala index 82858c356f..5f1c289853 100644 --- a/src/library/scala/Function3.scala +++ b/src/library/scala/Function3.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 (with extra methods) +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 (with extra methods) package scala diff --git a/src/library/scala/Function4.scala b/src/library/scala/Function4.scala index c97c00eb0c..664b75fb40 100644 --- a/src/library/scala/Function4.scala +++ b/src/library/scala/Function4.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 (with extra methods) +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 (with extra methods) package scala diff --git a/src/library/scala/Function5.scala b/src/library/scala/Function5.scala index fb798741ea..94aba5eb9c 100644 --- a/src/library/scala/Function5.scala +++ b/src/library/scala/Function5.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 (with extra methods) +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 (with extra methods) package scala diff --git a/src/library/scala/Function6.scala b/src/library/scala/Function6.scala index 02a2bd4fb7..297f3e074e 100644 --- a/src/library/scala/Function6.scala +++ b/src/library/scala/Function6.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 (with extra methods) +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 (with extra methods) package scala diff --git a/src/library/scala/Function7.scala b/src/library/scala/Function7.scala index 7973bcb87c..bc053f7838 100644 --- a/src/library/scala/Function7.scala +++ b/src/library/scala/Function7.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 (with extra methods) +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 (with extra methods) package scala diff --git a/src/library/scala/Function8.scala b/src/library/scala/Function8.scala index 32929db9d6..d645a8d695 100644 --- a/src/library/scala/Function8.scala +++ b/src/library/scala/Function8.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 (with extra methods) +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 (with extra methods) package scala diff --git a/src/library/scala/Function9.scala b/src/library/scala/Function9.scala index 490e44c39b..e220537708 100644 --- a/src/library/scala/Function9.scala +++ b/src/library/scala/Function9.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 (with extra methods) +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 (with extra methods) package scala diff --git a/src/library/scala/Product1.scala b/src/library/scala/Product1.scala index af9a7eca20..2e57b85104 100644 --- a/src/library/scala/Product1.scala +++ b/src/library/scala/Product1.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:17 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala diff --git a/src/library/scala/Product10.scala b/src/library/scala/Product10.scala index d6745d62ad..7452e242ea 100644 --- a/src/library/scala/Product10.scala +++ b/src/library/scala/Product10.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:17 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala diff --git a/src/library/scala/Product11.scala b/src/library/scala/Product11.scala index 83cf5f0e55..e105393934 100644 --- a/src/library/scala/Product11.scala +++ b/src/library/scala/Product11.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:17 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala diff --git a/src/library/scala/Product12.scala b/src/library/scala/Product12.scala index 845bba720d..bf2b9437ec 100644 --- a/src/library/scala/Product12.scala +++ b/src/library/scala/Product12.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:17 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala diff --git a/src/library/scala/Product13.scala b/src/library/scala/Product13.scala index 374b457789..2278f96dd9 100644 --- a/src/library/scala/Product13.scala +++ b/src/library/scala/Product13.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:17 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala diff --git a/src/library/scala/Product14.scala b/src/library/scala/Product14.scala index 93bb53339d..e194d36822 100644 --- a/src/library/scala/Product14.scala +++ b/src/library/scala/Product14.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:17 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala diff --git a/src/library/scala/Product15.scala b/src/library/scala/Product15.scala index 71cefbafc5..a2bc70b6ce 100644 --- a/src/library/scala/Product15.scala +++ b/src/library/scala/Product15.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala diff --git a/src/library/scala/Product16.scala b/src/library/scala/Product16.scala index aa87c9f40b..5ee44729ec 100644 --- a/src/library/scala/Product16.scala +++ b/src/library/scala/Product16.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala diff --git a/src/library/scala/Product17.scala b/src/library/scala/Product17.scala index 7caa99a578..c1146b18cf 100644 --- a/src/library/scala/Product17.scala +++ b/src/library/scala/Product17.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala diff --git a/src/library/scala/Product18.scala b/src/library/scala/Product18.scala index ca0b168c83..40ddcdd7d6 100644 --- a/src/library/scala/Product18.scala +++ b/src/library/scala/Product18.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala diff --git a/src/library/scala/Product19.scala b/src/library/scala/Product19.scala index 88256c44fd..1b1edf6498 100644 --- a/src/library/scala/Product19.scala +++ b/src/library/scala/Product19.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala diff --git a/src/library/scala/Product2.scala b/src/library/scala/Product2.scala index 6ce804fc89..0430341f78 100644 --- a/src/library/scala/Product2.scala +++ b/src/library/scala/Product2.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:17 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala diff --git a/src/library/scala/Product20.scala b/src/library/scala/Product20.scala index b9aab6988d..497d7a6796 100644 --- a/src/library/scala/Product20.scala +++ b/src/library/scala/Product20.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala diff --git a/src/library/scala/Product21.scala b/src/library/scala/Product21.scala index 9ab61d35ca..5fd0d269f8 100644 --- a/src/library/scala/Product21.scala +++ b/src/library/scala/Product21.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala diff --git a/src/library/scala/Product22.scala b/src/library/scala/Product22.scala index 86fbaeca7f..998ced16aa 100644 --- a/src/library/scala/Product22.scala +++ b/src/library/scala/Product22.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala diff --git a/src/library/scala/Product3.scala b/src/library/scala/Product3.scala index 09044716a4..d54b179806 100644 --- a/src/library/scala/Product3.scala +++ b/src/library/scala/Product3.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:17 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala diff --git a/src/library/scala/Product4.scala b/src/library/scala/Product4.scala index c6a5c74bb5..c24b013124 100644 --- a/src/library/scala/Product4.scala +++ b/src/library/scala/Product4.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:17 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala diff --git a/src/library/scala/Product5.scala b/src/library/scala/Product5.scala index 147fb2d305..de73d2b797 100644 --- a/src/library/scala/Product5.scala +++ b/src/library/scala/Product5.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:17 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala diff --git a/src/library/scala/Product6.scala b/src/library/scala/Product6.scala index f967992e5e..41b9fac951 100644 --- a/src/library/scala/Product6.scala +++ b/src/library/scala/Product6.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:17 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala diff --git a/src/library/scala/Product7.scala b/src/library/scala/Product7.scala index c7a9baef98..8137978f2b 100644 --- a/src/library/scala/Product7.scala +++ b/src/library/scala/Product7.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:17 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala diff --git a/src/library/scala/Product8.scala b/src/library/scala/Product8.scala index 8663b0868b..c23b50a330 100644 --- a/src/library/scala/Product8.scala +++ b/src/library/scala/Product8.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:17 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala diff --git a/src/library/scala/Product9.scala b/src/library/scala/Product9.scala index 8d2de090ab..09a7b210c3 100644 --- a/src/library/scala/Product9.scala +++ b/src/library/scala/Product9.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:17 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala diff --git a/src/library/scala/Symbol.scala b/src/library/scala/Symbol.scala index a6d6f1e21f..0c347b07b9 100644 --- a/src/library/scala/Symbol.scala +++ b/src/library/scala/Symbol.scala @@ -48,11 +48,10 @@ object Symbol extends UniquenessCache[String, Symbol] * abstracted to offer some hope of reusability. */ private[scala] abstract class UniquenessCache[K, V >: Null] { - import java.lang.ref.{ ReferenceQueue, WeakReference } + import java.lang.ref.WeakReference import java.util.WeakHashMap import java.util.concurrent.locks.ReentrantReadWriteLock - private val queue = new ReferenceQueue[V] private val rwl = new ReentrantReadWriteLock() private val rlock = rwl.readLock private val wlock = rwl.writeLock @@ -78,7 +77,7 @@ private[scala] abstract class UniquenessCache[K, V >: Null] if (res != null) res else { val sym = valueFromKey(name) - map.put(name, new WeakReference(sym, queue)) + map.put(name, new WeakReference(sym)) sym } } diff --git a/src/library/scala/Tuple1.scala b/src/library/scala/Tuple1.scala index d8f8126f42..2fef979510 100644 --- a/src/library/scala/Tuple1.scala +++ b/src/library/scala/Tuple1.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala diff --git a/src/library/scala/Tuple10.scala b/src/library/scala/Tuple10.scala index 11889b3485..18f9dd6766 100644 --- a/src/library/scala/Tuple10.scala +++ b/src/library/scala/Tuple10.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala diff --git a/src/library/scala/Tuple11.scala b/src/library/scala/Tuple11.scala index b44141c1ee..94880ce240 100644 --- a/src/library/scala/Tuple11.scala +++ b/src/library/scala/Tuple11.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala diff --git a/src/library/scala/Tuple12.scala b/src/library/scala/Tuple12.scala index 37a172e74f..fa0c1128d9 100644 --- a/src/library/scala/Tuple12.scala +++ b/src/library/scala/Tuple12.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala diff --git a/src/library/scala/Tuple13.scala b/src/library/scala/Tuple13.scala index 68d4a5aa8f..c858a42d29 100644 --- a/src/library/scala/Tuple13.scala +++ b/src/library/scala/Tuple13.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala diff --git a/src/library/scala/Tuple14.scala b/src/library/scala/Tuple14.scala index 424beb040e..cdeecb36f9 100644 --- a/src/library/scala/Tuple14.scala +++ b/src/library/scala/Tuple14.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala diff --git a/src/library/scala/Tuple15.scala b/src/library/scala/Tuple15.scala index 944ff9d1b5..316edff038 100644 --- a/src/library/scala/Tuple15.scala +++ b/src/library/scala/Tuple15.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala diff --git a/src/library/scala/Tuple16.scala b/src/library/scala/Tuple16.scala index 276220fbf5..3ad584da11 100644 --- a/src/library/scala/Tuple16.scala +++ b/src/library/scala/Tuple16.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala diff --git a/src/library/scala/Tuple17.scala b/src/library/scala/Tuple17.scala index d965ca8504..176022e4cc 100644 --- a/src/library/scala/Tuple17.scala +++ b/src/library/scala/Tuple17.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala diff --git a/src/library/scala/Tuple18.scala b/src/library/scala/Tuple18.scala index 77cc635034..96a9736e14 100644 --- a/src/library/scala/Tuple18.scala +++ b/src/library/scala/Tuple18.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala diff --git a/src/library/scala/Tuple19.scala b/src/library/scala/Tuple19.scala index 540aaa3893..428103ef14 100644 --- a/src/library/scala/Tuple19.scala +++ b/src/library/scala/Tuple19.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala diff --git a/src/library/scala/Tuple2.scala b/src/library/scala/Tuple2.scala index ee2fe84482..5dec39a79b 100644 --- a/src/library/scala/Tuple2.scala +++ b/src/library/scala/Tuple2.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 (with extra methods) +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 (with extra methods) package scala diff --git a/src/library/scala/Tuple20.scala b/src/library/scala/Tuple20.scala index 58e7018518..bbfdaf3d8e 100644 --- a/src/library/scala/Tuple20.scala +++ b/src/library/scala/Tuple20.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala diff --git a/src/library/scala/Tuple21.scala b/src/library/scala/Tuple21.scala index e302bfbd80..ecb02f6558 100644 --- a/src/library/scala/Tuple21.scala +++ b/src/library/scala/Tuple21.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala diff --git a/src/library/scala/Tuple22.scala b/src/library/scala/Tuple22.scala index 2fd4fc7166..31d46b7bf2 100644 --- a/src/library/scala/Tuple22.scala +++ b/src/library/scala/Tuple22.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala diff --git a/src/library/scala/Tuple3.scala b/src/library/scala/Tuple3.scala index e6464cf52c..ced364f29d 100644 --- a/src/library/scala/Tuple3.scala +++ b/src/library/scala/Tuple3.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 (with extra methods) +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 (with extra methods) package scala diff --git a/src/library/scala/Tuple4.scala b/src/library/scala/Tuple4.scala index 55cfae2c03..388e289647 100644 --- a/src/library/scala/Tuple4.scala +++ b/src/library/scala/Tuple4.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala diff --git a/src/library/scala/Tuple5.scala b/src/library/scala/Tuple5.scala index ec52ee039e..b2fb4d23a3 100644 --- a/src/library/scala/Tuple5.scala +++ b/src/library/scala/Tuple5.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala diff --git a/src/library/scala/Tuple6.scala b/src/library/scala/Tuple6.scala index 5f41c1de2a..2849e7222d 100644 --- a/src/library/scala/Tuple6.scala +++ b/src/library/scala/Tuple6.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala diff --git a/src/library/scala/Tuple7.scala b/src/library/scala/Tuple7.scala index 0e2315c573..c19232eeb2 100644 --- a/src/library/scala/Tuple7.scala +++ b/src/library/scala/Tuple7.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala diff --git a/src/library/scala/Tuple8.scala b/src/library/scala/Tuple8.scala index 58b2e13af8..a6d02c5030 100644 --- a/src/library/scala/Tuple8.scala +++ b/src/library/scala/Tuple8.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala diff --git a/src/library/scala/Tuple9.scala b/src/library/scala/Tuple9.scala index 360228cb68..9349695f42 100644 --- a/src/library/scala/Tuple9.scala +++ b/src/library/scala/Tuple9.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala diff --git a/src/library/scala/reflect/ScalaLongSignature.java b/src/library/scala/reflect/ScalaLongSignature.java new file mode 100644 index 0000000000..1ffd6d2520 --- /dev/null +++ b/src/library/scala/reflect/ScalaLongSignature.java @@ -0,0 +1,13 @@ +package scala.reflect; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** */ +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.TYPE) +public @interface ScalaLongSignature { + public String[] bytes(); +} diff --git a/src/library/scala/runtime/AbstractFunction0.scala b/src/library/scala/runtime/AbstractFunction0.scala index a9e564f6f8..386091b818 100644 --- a/src/library/scala/runtime/AbstractFunction0.scala +++ b/src/library/scala/runtime/AbstractFunction0.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala.runtime diff --git a/src/library/scala/runtime/AbstractFunction1.scala b/src/library/scala/runtime/AbstractFunction1.scala index 0a8a754236..64945e9f51 100644 --- a/src/library/scala/runtime/AbstractFunction1.scala +++ b/src/library/scala/runtime/AbstractFunction1.scala @@ -8,12 +8,12 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala.runtime -abstract class AbstractFunction1[@specialized(Int, Long, Double) -T1, @specialized(Unit, Boolean, Int, Long, Double) +R] extends Function1[T1, R] { +abstract class AbstractFunction1[@specialized(scala.Int, scala.Long, scala.Float, scala.Double) -T1, @specialized(scala.Unit, scala.Boolean, scala.Int, scala.Float, scala.Long, scala.Double) +R] extends Function1[T1, R] { } diff --git a/src/library/scala/runtime/AbstractFunction10.scala b/src/library/scala/runtime/AbstractFunction10.scala index 0830054e1a..d6f6a225c9 100644 --- a/src/library/scala/runtime/AbstractFunction10.scala +++ b/src/library/scala/runtime/AbstractFunction10.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala.runtime diff --git a/src/library/scala/runtime/AbstractFunction11.scala b/src/library/scala/runtime/AbstractFunction11.scala index 6ee68126d5..6ffb8e6a7e 100644 --- a/src/library/scala/runtime/AbstractFunction11.scala +++ b/src/library/scala/runtime/AbstractFunction11.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala.runtime diff --git a/src/library/scala/runtime/AbstractFunction12.scala b/src/library/scala/runtime/AbstractFunction12.scala index cda522dd37..733a0cc81d 100644 --- a/src/library/scala/runtime/AbstractFunction12.scala +++ b/src/library/scala/runtime/AbstractFunction12.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala.runtime diff --git a/src/library/scala/runtime/AbstractFunction13.scala b/src/library/scala/runtime/AbstractFunction13.scala index 016bcd4a31..60242cae17 100644 --- a/src/library/scala/runtime/AbstractFunction13.scala +++ b/src/library/scala/runtime/AbstractFunction13.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala.runtime diff --git a/src/library/scala/runtime/AbstractFunction14.scala b/src/library/scala/runtime/AbstractFunction14.scala index fc97bc8936..306a3a7f6f 100644 --- a/src/library/scala/runtime/AbstractFunction14.scala +++ b/src/library/scala/runtime/AbstractFunction14.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala.runtime diff --git a/src/library/scala/runtime/AbstractFunction15.scala b/src/library/scala/runtime/AbstractFunction15.scala index 9dc7a75b36..fd2a341388 100644 --- a/src/library/scala/runtime/AbstractFunction15.scala +++ b/src/library/scala/runtime/AbstractFunction15.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala.runtime diff --git a/src/library/scala/runtime/AbstractFunction16.scala b/src/library/scala/runtime/AbstractFunction16.scala index 3f8f19621a..9d0b2512da 100644 --- a/src/library/scala/runtime/AbstractFunction16.scala +++ b/src/library/scala/runtime/AbstractFunction16.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala.runtime diff --git a/src/library/scala/runtime/AbstractFunction17.scala b/src/library/scala/runtime/AbstractFunction17.scala index 1b8ea58c56..ebf76d3de8 100644 --- a/src/library/scala/runtime/AbstractFunction17.scala +++ b/src/library/scala/runtime/AbstractFunction17.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala.runtime diff --git a/src/library/scala/runtime/AbstractFunction18.scala b/src/library/scala/runtime/AbstractFunction18.scala index 63aa6cf8d1..4906c0f7cf 100644 --- a/src/library/scala/runtime/AbstractFunction18.scala +++ b/src/library/scala/runtime/AbstractFunction18.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala.runtime diff --git a/src/library/scala/runtime/AbstractFunction19.scala b/src/library/scala/runtime/AbstractFunction19.scala index 7a511ddd6e..1c8c87c0fd 100644 --- a/src/library/scala/runtime/AbstractFunction19.scala +++ b/src/library/scala/runtime/AbstractFunction19.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala.runtime diff --git a/src/library/scala/runtime/AbstractFunction2.scala b/src/library/scala/runtime/AbstractFunction2.scala index 0f75b2af87..1dad0963b7 100644 --- a/src/library/scala/runtime/AbstractFunction2.scala +++ b/src/library/scala/runtime/AbstractFunction2.scala @@ -8,12 +8,12 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala.runtime -abstract class AbstractFunction2[@specialized(Int, Long, Double) -T1, @specialized(Int, Long, Double) -T2, @specialized(Unit, Boolean, Int, Long, Double) +R] extends Function2[T1, T2, R] { +abstract class AbstractFunction2[@specialized(scala.Int, scala.Long, scala.Double) -T1, @specialized(scala.Int, scala.Long, scala.Double) -T2, @specialized(scala.Unit, scala.Boolean, scala.Int, scala.Float, scala.Long, scala.Double) +R] extends Function2[T1, T2, R] { } diff --git a/src/library/scala/runtime/AbstractFunction20.scala b/src/library/scala/runtime/AbstractFunction20.scala index 6afb329503..e76d60e774 100644 --- a/src/library/scala/runtime/AbstractFunction20.scala +++ b/src/library/scala/runtime/AbstractFunction20.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala.runtime diff --git a/src/library/scala/runtime/AbstractFunction21.scala b/src/library/scala/runtime/AbstractFunction21.scala index 8996f2f397..75f314aa46 100644 --- a/src/library/scala/runtime/AbstractFunction21.scala +++ b/src/library/scala/runtime/AbstractFunction21.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala.runtime diff --git a/src/library/scala/runtime/AbstractFunction22.scala b/src/library/scala/runtime/AbstractFunction22.scala index 8b33534291..bd9a3d1bbd 100644 --- a/src/library/scala/runtime/AbstractFunction22.scala +++ b/src/library/scala/runtime/AbstractFunction22.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala.runtime diff --git a/src/library/scala/runtime/AbstractFunction3.scala b/src/library/scala/runtime/AbstractFunction3.scala index 463d3d8a1d..3d479c99fa 100644 --- a/src/library/scala/runtime/AbstractFunction3.scala +++ b/src/library/scala/runtime/AbstractFunction3.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala.runtime diff --git a/src/library/scala/runtime/AbstractFunction4.scala b/src/library/scala/runtime/AbstractFunction4.scala index f7bc7d12a9..3492c91cbd 100644 --- a/src/library/scala/runtime/AbstractFunction4.scala +++ b/src/library/scala/runtime/AbstractFunction4.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala.runtime diff --git a/src/library/scala/runtime/AbstractFunction5.scala b/src/library/scala/runtime/AbstractFunction5.scala index 6642bb75bb..5aab3f065f 100644 --- a/src/library/scala/runtime/AbstractFunction5.scala +++ b/src/library/scala/runtime/AbstractFunction5.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala.runtime diff --git a/src/library/scala/runtime/AbstractFunction6.scala b/src/library/scala/runtime/AbstractFunction6.scala index 70944947e7..e770603d69 100644 --- a/src/library/scala/runtime/AbstractFunction6.scala +++ b/src/library/scala/runtime/AbstractFunction6.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala.runtime diff --git a/src/library/scala/runtime/AbstractFunction7.scala b/src/library/scala/runtime/AbstractFunction7.scala index ba4a35f743..80eaf98de4 100644 --- a/src/library/scala/runtime/AbstractFunction7.scala +++ b/src/library/scala/runtime/AbstractFunction7.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala.runtime diff --git a/src/library/scala/runtime/AbstractFunction8.scala b/src/library/scala/runtime/AbstractFunction8.scala index c3a0f0f9e3..9d844b7945 100644 --- a/src/library/scala/runtime/AbstractFunction8.scala +++ b/src/library/scala/runtime/AbstractFunction8.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala.runtime diff --git a/src/library/scala/runtime/AbstractFunction9.scala b/src/library/scala/runtime/AbstractFunction9.scala index 7e0541e246..1b90996a94 100644 --- a/src/library/scala/runtime/AbstractFunction9.scala +++ b/src/library/scala/runtime/AbstractFunction9.scala @@ -8,7 +8,7 @@ // $Id$ -// generated by genprod on Mon Apr 12 15:28:18 CEST 2010 +// generated by genprod on Thu Apr 29 17:52:16 CEST 2010 package scala.runtime diff --git a/src/partest/scala/tools/partest/Config.scala b/src/partest/scala/tools/partest/Config.scala index 2ed096d930..288a3034e9 100644 --- a/src/partest/scala/tools/partest/Config.scala +++ b/src/partest/scala/tools/partest/Config.scala @@ -15,7 +15,7 @@ trait Config { lazy val src = absolutize(srcDir).toDirectory lazy val build = new TestBuild() - def javaHomeEnv = envOrElse("JAVA_HOME", "") + def javaHomeEnv = envOrElse("JAVA_HOME", null) def javaCmd = envOrElse("JAVACMD", "java") def javacCmd = Option(javaHomeEnv) map (x => Path(x) / "bin" / "javac" path) getOrElse "javac" diff --git a/test/files/neg/variances.check b/test/files/neg/variances.check index e6abdcbb53..c5269190c2 100644 --- a/test/files/neg/variances.check +++ b/test/files/neg/variances.check @@ -10,4 +10,7 @@ variances.scala:16: error: covariant type A occurs in invariant position in supe variances.scala:63: error: covariant type A occurs in contravariant position in type => test.Covariant.T[A]{def m: (A) => A} of value x val x: T[A] { ^ -four errors found +variances.scala:79: error: covariant type T occurs in contravariant position in type => test.TestAlias.B[C.this.A] of method foo + def foo: B[A] + ^ +5 errors found diff --git a/test/files/neg/variances.scala b/test/files/neg/variances.scala index 67783bc4aa..181783f48a 100644 --- a/test/files/neg/variances.scala +++ b/test/files/neg/variances.scala @@ -71,3 +71,11 @@ object Covariant { val t: T[Any] = ST t.x.m(new Object) } + +object TestAlias { + class B[-T] + trait C[+T] { + type A = T + def foo: B[A] + } +} |