From 8b8d0f844ce01b8b786798125815fdc61ae42b90 Mon Sep 17 00:00:00 2001 From: Lex Spoon Date: Wed, 10 May 2006 08:46:40 +0000 Subject: --- test/pending/pos/bug586.scala | 78 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 test/pending/pos/bug586.scala (limited to 'test/pending') diff --git a/test/pending/pos/bug586.scala b/test/pending/pos/bug586.scala new file mode 100644 index 0000000000..ca0a508baa --- /dev/null +++ b/test/pending/pos/bug586.scala @@ -0,0 +1,78 @@ +import scala.collection.immutable.{Map, TreeMap, ListMap, ListSet, Set} +import scala.collection.{immutable=>imm, mutable=>mut} + +case class HashTreeSet[A](map: imm.Map[A, Unit]) +extends Object +with imm.Set[A] +{ + def this() = this(null) + + def size = map.size + def +(elem: A) = new HashTreeSet(map + elem -> ()) + def -(elem: A) = new HashTreeSet(map - elem) + def contains(elem: A) = map.isDefinedAt(elem) + def elements = map.elements.map(._1) + def empty:imm.Set[A] = new HashTreeSet[A]() +} + + +abstract class Goal2 { + type Question + val question: Question + + type Answer + def initialAnswer: Answer +} + + + +abstract class AbstractRespondersGoal +extends Goal2 // TYPEFIX -- comment out the extends Goal2 +{ +} + +class RespondersGoal( + val question: String, + rcvr: String, + signature: String, + codebase: String) +extends AbstractRespondersGoal +{ + type Question = String + type Answer = imm.Set[String] + + val initialAnswer = new HashTreeSet[String]()// TYPEFIX .asInstanceOf[Answer] +} + + +class SingleResponderGoal(val question: String, responder: String) +extends AbstractRespondersGoal +{ + type Question = String + type Answer = Set[String] + val initialAnswer = (new ListSet[String])//TYPEFIX .asInstanceOf[Answer] +} + +class RespondersGoalSet +//extends OneKindGoalSet +{ + type Question = String + type Answer = imm.Set[String] + type MyGoal = AbstractRespondersGoal + + var selector: Boolean = _ + def newGoal(question: String) //TYPEFIX :MyGoal + = { + + selector match { +// case StaticMethodSelector(method: MethodRef) => + case true => + new SingleResponderGoal(null, null) + +// case DynamicMethodSelector(signature: MethodSignature) => { +case false => { + new RespondersGoal(null, null,null,null) + } + } + } +} -- cgit v1.2.3