summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSébastien Doeraene <sjrdoeraene@gmail.com>2013-09-18 16:45:40 +0200
committerSébastien Doeraene <sjrdoeraene@gmail.com>2013-09-23 13:32:32 +0200
commit40c10680d7c16624e878dea19ea31f9e7eaa9712 (patch)
tree8688a70698cc8dc52178c0f3a3462cb3c36d8b8b /src
parent2399304b2a7be8a2b3f58d521042eb6eb3a2a4ce (diff)
downloadscala-40c10680d7c16624e878dea19ea31f9e7eaa9712.tar.gz
scala-40c10680d7c16624e878dea19ea31f9e7eaa9712.tar.bz2
scala-40c10680d7c16624e878dea19ea31f9e7eaa9712.zip
Move logic checking valid names from ClassPath to ClassPathContext
Other methods taking the same kind of decisions were already in ClassPathContext, e.g., isValidName() or, in some sense, even toBinaryName(). This makes ClassPath itself be completely agnostic of how particular kinds of files or directories are named. It also allows to override this logic at the context level. Without it, overriding this logic required a fair amount of code duplication from ClassPath.
Diffstat (limited to 'src')
-rw-r--r--src/compiler/scala/tools/nsc/util/ClassPath.scala12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/compiler/scala/tools/nsc/util/ClassPath.scala b/src/compiler/scala/tools/nsc/util/ClassPath.scala
index 906a575d90..c63d7f6820 100644
--- a/src/compiler/scala/tools/nsc/util/ClassPath.scala
+++ b/src/compiler/scala/tools/nsc/util/ClassPath.scala
@@ -96,6 +96,12 @@ object ClassPath {
*/
def isValidName(name: String): Boolean = true
+ /** Filters for assessing validity of various entities.
+ */
+ def validClassFile(name: String) = endsClass(name) && isValidName(name)
+ def validPackage(name: String) = (name != "META-INF") && (name != "") && (name.charAt(0) != '.')
+ def validSourceFile(name: String) = endsScala(name) || endsJava(name)
+
/** From the representation to its identifier.
*/
def toBinaryName(rep: T): String
@@ -208,9 +214,9 @@ abstract class ClassPath[T] {
/** Filters for assessing validity of various entities.
*/
- def validClassFile(name: String) = endsClass(name) && context.isValidName(name)
- def validPackage(name: String) = (name != "META-INF") && (name != "") && (name.charAt(0) != '.')
- def validSourceFile(name: String) = endsScala(name) || endsJava(name)
+ def validClassFile(name: String) = context.validClassFile(name)
+ def validPackage(name: String) = context.validPackage(name)
+ def validSourceFile(name: String) = context.validSourceFile(name)
/**
* Find a ClassRep given a class name of the form "package.subpackage.ClassName".