diff options
author | Sébastien Doeraene <sjrdoeraene@gmail.com> | 2013-09-18 16:45:40 +0200 |
---|---|---|
committer | Sébastien Doeraene <sjrdoeraene@gmail.com> | 2013-09-23 13:32:32 +0200 |
commit | 40c10680d7c16624e878dea19ea31f9e7eaa9712 (patch) | |
tree | 8688a70698cc8dc52178c0f3a3462cb3c36d8b8b /src/compiler/scala/tools/nsc/util/ClassPath.scala | |
parent | 2399304b2a7be8a2b3f58d521042eb6eb3a2a4ce (diff) | |
download | scala-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/compiler/scala/tools/nsc/util/ClassPath.scala')
-rw-r--r-- | src/compiler/scala/tools/nsc/util/ClassPath.scala | 12 |
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". |