Par..: normalizes sym for case class test, if needed
Pat..: removed fallback mechanism for unexpected exceptions git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@12515 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
This commit is contained in:
parent
cf2509c829
commit
438a476ca1
|
@ -24,8 +24,11 @@ trait ParallelMatching {
|
|||
|
||||
def isCaseClass(tpe: Type) =
|
||||
tpe match {
|
||||
case TypeRef(_, sym, _) =>
|
||||
sym.hasFlag(symtab.Flags.CASE)
|
||||
case TypeRef(_, sym, _) =>
|
||||
if(!sym.isAliasType)
|
||||
sym.hasFlag(symtab.Flags.CASE)
|
||||
else
|
||||
tpe.normalize.typeSymbol.hasFlag(symtab.Flags.CASE)
|
||||
case _ => false
|
||||
}
|
||||
|
||||
|
@ -442,6 +445,7 @@ trait ParallelMatching {
|
|||
case _: UnApply =>
|
||||
dummies
|
||||
case pat =>
|
||||
//Console.println("[class="+pat.getClass()+"]")
|
||||
dummies
|
||||
}
|
||||
//Console.println(x)
|
||||
|
|
|
@ -204,19 +204,19 @@ trait PatternMatchers { self: transform.ExplicitOuter with PatternNodes with Par
|
|||
nParallel += 1
|
||||
return null
|
||||
} catch {
|
||||
case e =>
|
||||
//case e =>
|
||||
/*
|
||||
Console.println("!!!unit: "+cunit)
|
||||
Console.println("!!!selector.pos: "+selector.pos)
|
||||
cunit.warning(selector.pos, "going gaga here")
|
||||
Console.println("!!!problem: "+e.getMessage)
|
||||
*/
|
||||
Rep.cleanup()
|
||||
return e // fallback
|
||||
//Rep.cleanup()
|
||||
// return e // fallback
|
||||
|
||||
// non-fallback:
|
||||
//case e: CantHandle => return e
|
||||
//case e => throw e
|
||||
//non-fallback:
|
||||
case e: CantHandle => Rep.cleanup(); return e
|
||||
case e => throw e
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue