diff options
author | Paul Phillips <paulp@improving.org> | 2009-11-12 13:59:56 +0000 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2009-11-12 13:59:56 +0000 |
commit | 5995692ffd9bd401589117b10029b63503cad6be (patch) | |
tree | 46e93557da197869f3d7ae4bf513782f4c03e19d /src/compiler | |
parent | 6720ae4cbcda0f2a8b956709690fd09dd45da3d4 (diff) | |
download | scala-5995692ffd9bd401589117b10029b63503cad6be.tar.gz scala-5995692ffd9bd401589117b10029b63503cad6be.tar.bz2 scala-5995692ffd9bd401589117b10029b63503cad6be.zip |
Removed some duplicated functions.
Diffstat (limited to 'src/compiler')
6 files changed, 6 insertions, 12 deletions
diff --git a/src/compiler/scala/tools/nsc/ast/TreeDSL.scala b/src/compiler/scala/tools/nsc/ast/TreeDSL.scala index c5cef0dd32..569b0f7b37 100644 --- a/src/compiler/scala/tools/nsc/ast/TreeDSL.scala +++ b/src/compiler/scala/tools/nsc/ast/TreeDSL.scala @@ -18,24 +18,13 @@ trait TreeDSL { import global._ import definitions._ import gen.{ scalaDot } + import PartialFunction._ object CODE { // Add a null check to a Tree => Tree function def nullSafe[T](f: Tree => Tree, ifNull: Tree): Tree => Tree = tree => IF (tree MEMBER_== NULL) THEN ifNull ELSE f(tree) - // XXX these two are in scala.PartialFunction now, just have to - // settle on the final names. - - // Create a conditional based on a partial function - for values not defined - // on the partial, it is false. - def cond[T](x: T)(f: PartialFunction[T, Boolean]) = (f isDefinedAt x) && f(x) - - // Like cond, but transforms the value T => Some(U) if the pf is defined, - // or returns None if it is not. - def condOpt[T,U](x: T)(f: PartialFunction[T, U]): Option[U] = - if (f isDefinedAt x) Some(f(x)) else None - // Applies a function to a value and then returns the value. def returning[T](f: T => Unit)(x: T): T = { f(x) ; x } diff --git a/src/compiler/scala/tools/nsc/matching/MatrixAdditions.scala b/src/compiler/scala/tools/nsc/matching/MatrixAdditions.scala index 37ddbbc671..ea8a8e5ce5 100644 --- a/src/compiler/scala/tools/nsc/matching/MatrixAdditions.scala +++ b/src/compiler/scala/tools/nsc/matching/MatrixAdditions.scala @@ -7,6 +7,7 @@ package scala.tools.nsc package matching import transform.ExplicitOuter +import PartialFunction._ /** Traits which are mixed into MatchMatrix, but separated out as * (somewhat) independent components to keep them on the sidelines. diff --git a/src/compiler/scala/tools/nsc/matching/ParallelMatching.scala b/src/compiler/scala/tools/nsc/matching/ParallelMatching.scala index 4bc8826908..d87eb29cf1 100644 --- a/src/compiler/scala/tools/nsc/matching/ParallelMatching.scala +++ b/src/compiler/scala/tools/nsc/matching/ParallelMatching.scala @@ -31,6 +31,7 @@ trait ParallelMatching extends ast.TreeDSL import Types._ import Debug._ import Flags.{ TRANS_FLAG } + import PartialFunction._ /** Transition **/ def toPats(xs: List[Tree]): List[Pattern] = xs map Pattern.apply diff --git a/src/compiler/scala/tools/nsc/matching/PatternBindings.scala b/src/compiler/scala/tools/nsc/matching/PatternBindings.scala index b4689ebc30..daaa7d8b88 100644 --- a/src/compiler/scala/tools/nsc/matching/PatternBindings.scala +++ b/src/compiler/scala/tools/nsc/matching/PatternBindings.scala @@ -8,6 +8,7 @@ package matching import transform.ExplicitOuter import collection.immutable.TreeMap +import PartialFunction._ trait PatternBindings extends ast.TreeDSL { diff --git a/src/compiler/scala/tools/nsc/matching/Patterns.scala b/src/compiler/scala/tools/nsc/matching/Patterns.scala index 8a596f1257..f1efd7436f 100644 --- a/src/compiler/scala/tools/nsc/matching/Patterns.scala +++ b/src/compiler/scala/tools/nsc/matching/Patterns.scala @@ -9,6 +9,7 @@ package matching import symtab.Flags import util.NoPosition import scala.util.NameTransformer.decode +import PartialFunction._ /** Patterns are wrappers for Trees with enhanced semantics. * diff --git a/src/compiler/scala/tools/nsc/matching/TransMatcher.scala b/src/compiler/scala/tools/nsc/matching/TransMatcher.scala index b47ebccfa9..ea29f1859b 100644 --- a/src/compiler/scala/tools/nsc/matching/TransMatcher.scala +++ b/src/compiler/scala/tools/nsc/matching/TransMatcher.scala @@ -13,6 +13,7 @@ import symtab.SymbolTable import transform.ExplicitOuter import java.io.{ StringWriter, PrintWriter } import scala.util.NameTransformer.decode +import PartialFunction._ /** Translation of pattern matching * |