summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorburaq <buraq@epfl.ch>2005-01-21 16:08:41 +0000
committerburaq <buraq@epfl.ch>2005-01-21 16:08:41 +0000
commit5f956146dbaeab36b834cd0a122aa138617b3cc9 (patch)
tree95514da888299983432ff5fedda3e2fa9c5c5a30
parent0dce46b648e6b74c0841e3ec1279029f3d3f7ae4 (diff)
downloadscala-5f956146dbaeab36b834cd0a122aa138617b3cc9.tar.gz
scala-5f956146dbaeab36b834cd0a122aa138617b3cc9.tar.bz2
scala-5f956146dbaeab36b834cd0a122aa138617b3cc9.zip
little fixes
-rw-r--r--config/list/scalac.lst22
-rw-r--r--sources/scala/concurrent/Process.scala30
-rw-r--r--sources/scala/tools/scalac/transformer/TransMatch.scala4
-rw-r--r--sources/scala/tools/scalac/util/NewArray.scala45
-rw-r--r--sources/scala/xml/Text.scala2
-rw-r--r--sources/scalac/util/Names.java2
6 files changed, 44 insertions, 61 deletions
diff --git a/config/list/scalac.lst b/config/list/scalac.lst
index 284b884da1..d3b05717c7 100644
--- a/config/list/scalac.lst
+++ b/config/list/scalac.lst
@@ -112,8 +112,8 @@
../../../scalac/transformer/TailCallPhase.java
../../../scalac/transformer/TypesAsValuesPhase.java
-../../../scalac/transformer/matching/AlgebraicMatcher.java
-../../../scalac/transformer/matching/Autom2Scala.java
+#../../../scalac/transformer/matching/AlgebraicMatcher.java
+#../../../scalac/transformer/matching/Autom2Scala.java
../../../scalac/transformer/matching/BindingBerrySethi.java
../../../scalac/transformer/matching/BerrySethi.java
../../../scalac/transformer/matching/CaseEnv.java
@@ -122,8 +122,8 @@
../../../scalac/transformer/matching/DetWordAutom.java
../../../scalac/transformer/matching/FreshVariableTraverser.java
../../../scalac/transformer/matching/Label.java
-../../../scalac/transformer/matching/TracerInScala.java
-../../../scalac/transformer/matching/LeftTracerInScala.java
+#../../../scalac/transformer/matching/TracerInScala.java
+#../../../scalac/transformer/matching/LeftTracerInScala.java
../../../scalac/transformer/matching/NondetWordAutom.java
../../../scalac/transformer/matching/NoSeqVariableTraverser.java
../../../scalac/transformer/matching/PartialMatcher.java
@@ -131,11 +131,11 @@
../../../scalac/transformer/matching/PatternNode.java
../../../scalac/transformer/matching/PatternNodeCreator.java
../../../scalac/transformer/matching/PatternTool.java
-../../../scalac/transformer/matching/RightTracerInScala.java
-../../../scalac/transformer/matching/SequenceMatcher.java
+#../../../scalac/transformer/matching/RightTracerInScala.java
+#../../../scalac/transformer/matching/SequenceMatcher.java
../../../scalac/transformer/matching/StateSetComparator.java
../../../scalac/transformer/matching/VariableTraverser.java
-../../../scalac/transformer/matching/WordAutomInScala.java
+#../../../scalac/transformer/matching/WordAutomInScala.java
../../../scalac/typechecker/AnalyzerPhase.java
../../../scalac/typechecker/Infer.java
@@ -182,6 +182,14 @@ transformer/TransMatch.scala
transformer/TransMatchPhase.scala
transformer/UnCurry.scala
transformer/UnCurryPhase.scala
+transformer/matching/AlgebraicMatcher.scala
+transformer/matching/Autom2Scala.scala
+transformer/matching/TracerInScala.scala
+transformer/matching/LeftTracerInScala.scala
+transformer/matching/RightTracerInScala.scala
+transformer/matching/WordAutomInScala.scala
+transformer/matching/SequenceMatcher.scala
+
#transformer/matching/FullRegularTranslator.scala
#transformer/matching/MutableGrammar.scala
#transformer/matching/NonTermFactory.scala
diff --git a/sources/scala/concurrent/Process.scala b/sources/scala/concurrent/Process.scala
index 60dcc9ff6c..5273f2a25e 100644
--- a/sources/scala/concurrent/Process.scala
+++ b/sources/scala/concurrent/Process.scala
@@ -11,58 +11,58 @@ package scala.concurrent;
object Process {
- def spawn(def body:unit):Process = {
+ def spawn(body: => Unit): Process = {
val p = new Process(body);
p.start();
p;
}
- def spawn_link(def body:unit):Process = {
+ def spawn_link(body: => Unit): Process = {
self.spawn_link(body);
}
- def send(p:Process,msg:Actor#Message) =
+ def send(p: Process,msg: Actor#Message) =
p.send(msg);
def receive[a](f: PartialFunction[Actor#Message, a]): a =
self.receive(f);
- def receiveWithin[a](msec: long)(f: PartialFunction[Actor#Message, a]):a =
+ def receiveWithin[a](msec: long)(f: PartialFunction[Actor#Message, a]): a =
self.receiveWithin(msec)(f);
- def self:Process = {
+ def self: Process = {
if (Thread.currentThread().isInstanceOf[Process])
Thread.currentThread().asInstanceOf[Process]
else error("Self called outside a process");
}
- def exit(p:Process,reason:AnyRef) =
+ def exit(p: Process, reason: AnyRef) =
p.exit(reason);
}
-class Process(def body:unit) extends Actor() {
- private var exitReason:AnyRef = null;
- private var links:List[Process] = Nil;
+class Process(body: => Unit) extends Actor() {
+ private var exitReason: AnyRef = null;
+ private var links: List[Process] = Nil;
override def run() = {
try {body}
catch {
- case _:java.lang.InterruptedException =>
+ case _: java.lang.InterruptedException =>
signal(exitReason);
case (exitSignal) =>
signal(exitSignal);
}
}
- private def signal(s:Actor#Message) = {
+ private def signal(s: Actor#Message) = {
links.foreach((p:Process) => p.send(Tuple3('EXIT,this,s)));
}
- def !(msg:Actor#Message) =
+ def !(msg: Actor#Message) =
send(msg);
- def link(p:Process) = {
+ def link(p: Process) = {
links = p::links;
}
- def spawn_link(def body:unit) = {
+ def spawn_link(body: => Unit) = {
val p = new Process(body);
p.link(this);
p.start();
@@ -71,7 +71,7 @@ class Process(def body:unit) extends Actor() {
def self = this;
- def exit(reason:AnyRef):unit = {
+ def exit(reason: AnyRef): Unit = {
exitReason = reason;
interrupt();
}
diff --git a/sources/scala/tools/scalac/transformer/TransMatch.scala b/sources/scala/tools/scalac/transformer/TransMatch.scala
index 1ec204f240..f3357b42e5 100644
--- a/sources/scala/tools/scalac/transformer/TransMatch.scala
+++ b/sources/scala/tools/scalac/transformer/TransMatch.scala
@@ -18,7 +18,7 @@ import scalac.transformer.{ OwnerTransformer => scalac_transformer_OwnerTransfor
import scalac.transformer.matching.PartialMatcher ;
import scalac.transformer.matching.PatternMatcher ;
-import scalac.transformer.matching.AlgebraicMatcher ;
+//import scalac.transformer.matching.AlgebraicMatcher ;
/** A transformer for expanding match expressions into
* flat sequences of .is and .as method calls
@@ -142,7 +142,7 @@ class TransMatch( global:scalac_Global )
j = j + 1;
} // TEST
*/
- val am = new AlgebraicMatcher( cunit );
+ val am = new matching.AlgebraicMatcher( cunit );
val matcher = new PartialMatcher( currentOwner, root, restpe );
am.construct( matcher, cases.asInstanceOf[ Array[Tree] ] );
matcher.tree
diff --git a/sources/scala/tools/scalac/util/NewArray.scala b/sources/scala/tools/scalac/util/NewArray.scala
index ff68779a3f..6c55656a17 100644
--- a/sources/scala/tools/scalac/util/NewArray.scala
+++ b/sources/scala/tools/scalac/util/NewArray.scala
@@ -16,82 +16,55 @@ object NewArray {
def Tree(xs: Tree*): Array[Tree] = {
val arr = new Array[Tree](xs.length);
- var i = 0;
- for (val t <- xs.elements) {
- arr(i) = t; i = i + 1;
- }
+ xs.elements.copyToArray(arr, 0);
arr
}
def TreeArray(xs: Array[Tree]*): Array[Array[Tree]] = {
val arr = new Array[Array[Tree]](xs.length);
- var i = 0;
- for (val t <- xs.elements) {
- arr(i) = t; i = i + 1;
- }
+ xs.elements.copyToArray(arr, 0);
arr
}
def ValDef(xs: Tree$ValDef*): Array[Tree$ValDef] = {
val arr = new Array[Tree$ValDef](xs.length);
- var i = 0;
- for (val t <- xs.elements) {
- arr(i) = t; i = i + 1;
- }
+ xs.elements.copyToArray(arr, 0);
arr
}
def ValDefArray(xs: Array[Tree$ValDef]*): Array[Array[Tree$ValDef]] = {
val arr = new Array[Array[Tree$ValDef]](xs.length);
- var i = 0;
- for (val t <- xs.elements) {
- arr(i) = t; i = i + 1;
- }
+ xs.elements.copyToArray(arr, 0);
arr
}
def CaseDef(xs: Tree$CaseDef*): Array[Tree$CaseDef] = {
val arr = new Array[Tree$CaseDef](xs.length);
- var i = 0;
- for (val t <- xs.elements) {
- arr(i) = t; i = i + 1;
- }
+ xs.elements.copyToArray(arr, 0);
arr
}
def Name(xs: Name*): Array[Name] = {
val arr = new Array[Name](xs.length);
- var i = 0;
- for (val t <- xs.elements) {
- arr(i) = t; i = i + 1;
- }
+ xs.elements.copyToArray(arr, 0);
arr
}
def Symbol(xs: Symbol*): Array[Symbol] = {
val arr = new Array[Symbol](xs.length);
- var i = 0;
- for (val t <- xs.elements) {
- arr(i) = t; i = i + 1;
- }
+ xs.elements.copyToArray(arr, 0);
arr
}
def SymbolArray(xs: Array[Symbol]*): Array[Array[Symbol]] = {
val arr = new Array[Array[Symbol]](xs.length);
- var i = 0;
- for (val t <- xs.elements) {
- arr(i) = t; i = i + 1;
- }
+ xs.elements.copyToArray(arr, 0);
arr
}
def Type(xs: Type*): Array[Type] = {
val arr = new Array[Type](xs.length);
- var i = 0;
- for (val t <- xs.elements) {
- arr(i) = t; i = i + 1;
- }
+ xs.elements.copyToArray(arr, 0);
arr
}
diff --git a/sources/scala/xml/Text.scala b/sources/scala/xml/Text.scala
index c81918bcea..1671bdbf79 100644
--- a/sources/scala/xml/Text.scala
+++ b/sources/scala/xml/Text.scala
@@ -28,7 +28,7 @@ case class Text( text:String ) extends SpecialNode {
def label = "#PCDATA";
final override def equals(x:Any) = x match {
- case s:String => text.equals( s );
+ case s:String => text.equals( s );
case Text( s ) => text.equals( s );
case _ => false;
}
diff --git a/sources/scalac/util/Names.java b/sources/scalac/util/Names.java
index ed4810d98d..286038afa9 100644
--- a/sources/scalac/util/Names.java
+++ b/sources/scalac/util/Names.java
@@ -160,6 +160,7 @@ public class Names {
public static final Name box = Name.fromString("box");
public static final Name caseArity = Name.fromString("caseArity");
public static final Name caseElement = Name.fromString("caseElement");
+ public static final Name cur = Name.fromString("cur"); // used in translation of automata
public static final Name checkCastability = Name.fromString("checkCastability");
public static final Name coerce = Name.fromString("coerce");
public static final Name defaultValue = Name.fromString("defaultValue");
@@ -218,6 +219,7 @@ public class Names {
public static final Name wait = Name.fromString("wait");
public static final Name xml = Name.fromString("xml");
+
public static final Name
ZNOT = encode("!"),
ZAND = encode("&&"),