Commit 31fe3a1c authored by 残页's avatar 残页 Committed by John Wu

Java keywords cannot be used as package/class name

parent 19182ffd
...@@ -194,7 +194,23 @@ fun genStubManifest(srcDir: File, outDir: File): String { ...@@ -194,7 +194,23 @@ fun genStubManifest(srcDir: File, outDir: File): String {
val pkgNames = names.distinctBy { it.toLowerCase(Locale.ROOT) } val pkgNames = names.distinctBy { it.toLowerCase(Locale.ROOT) }
var idx = 0 var idx = 0
fun genCmpName() = "${pkgNames[idx++]}.${names.random(kRANDOM)}" fun isJavaKeyword(name: String) = when (name) {
"do", "if", "for", "int", "new", "try" -> true
else -> false
}
fun genCmpName() : String {
var pkgName : String
do {
pkgName = pkgNames[idx++]
} while (isJavaKeyword(pkgName))
var clzName : String
do {
clzName = names.random(kRANDOM)
} while (isJavaKeyword(clzName))
return "${pkgName}.${clzName}"
}
fun genClass(clzName: String, type: String) { fun genClass(clzName: String, type: String) {
val (pkg, name) = clzName.split('.') val (pkg, name) = clzName.split('.')
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment