blob: b024a63dba2fecbf7a80e404b02cf804d88dd6bf (
plain) (
tree)
|
|
package dotty.tools
package dotc
package parsing
import scala.reflect.io._
import scala.io.Codec
import util._
import Tokens._, Scanners._
import org.junit.Test
class ScannerTest extends DottyTest {
val blackList = List(
"/scaladoc/scala/tools/nsc/doc/html/page/Index.scala",
"/scaladoc/scala/tools/nsc/doc/html/page/Template.scala"
)
def scan(name: String): Unit = scan(new PlainFile(name))
def scan(file: PlainFile): Unit = {
//println("***** scanning " + file)
val source = new SourceFile(file, Codec.UTF8)
val scanner = new Scanner(source)
var i = 0
while (scanner.token != EOF) {
// print("[" + scanner.token.show +"]")
scanner.nextToken
// i += 1
// if (i % 10 == 0) println()
}
}
def scanDir(path: String): Unit = scanDir(Directory(path))
def scanDir(dir: Directory): Unit = {
if (blackList exists (dir.jfile.toString endsWith _))
println(s"blacklisted package: ${dir.jfile.getAbsolutePath}")
else
for (f <- dir.files)
if (f.name.endsWith(".scala"))
if (blackList exists (f.jfile.toString endsWith _))
println(s"blacklisted file: ${f.jfile.getAbsolutePath}")
else
scan(new PlainFile(f))
for (d <- dir.dirs)
scanDir(d.path)
}
@Test
def scanList() = {
println(System.getProperty("user.dir"))
scan("./src/dotty/tools/dotc/core/Symbols.scala")
scan("./src/dotty/tools/dotc/core/Symbols.scala")
}
@Test
def scanDotty() = {
scanDir("src")
}
@Test
def scanScala() = {
scanDir("../scala-scala/src")
}
}
|