Generate SSD import path containment from typed Jerboa
ober
9364653448ba0cc963b26bf4d6cd828a3a3fcadb
--- a/templates/ssd-review.ss +++ b/templates/ssd-review.ss @@ -15554,7 +15554,8 @@ truthStoreReadResponseTextLocal truthStoreWriteRemoteTruthLocal truthStoreApplyLearnedGuessesLocal - truthStoreSeedBundledTruthLocal) + truthStoreSeedBundledTruthLocal + truthStoreContainedImportPathLocal) (type AssetManager) (type Context) (type Exception) @@ -15592,6 +15593,9 @@ (extern (truthStoreLearnedDir (store : TruthStore)) : File (kotlin-member-get learnedDir)) + (extern (truthStoreReviewsDir + (store : TruthStore)) : File + (kotlin-member-get reviewsDir)) (extern (truthStoreChildFile (parent : File) (name : String)) : File @@ -16155,7 +16159,34 @@ (truthStoreImportZipRaw store input) (truthStoreInputStreamClose input))) (catch (error : Exception) - (int32 0)))))) + (int32 0)))) + (def (truthStoreImportDirectory + (store : TruthStore) + (kind : Int32)) : File + (if (= kind (int32 1)) + (truthStoreGroundTruthDir store) + (if (= kind (int32 2)) + (truthStoreLearnedDir store) + (if (= kind (int32 3)) + (truthStoreEventsDir store) + (if (= kind (int32 4)) + (truthStoreReviewsDir store) + (throw + (truthStoreIllegalArgumentException + "Unknown import directory") + File)))))) + (def (truthStoreContainedImportPathLocal + (store : TruthStore) + (name : String)) : File + (begin + (truthStoreRequired + (safeImportLeafEntryName name) + "Unsafe import path") + (truthStoreContainedLeaf + (truthStoreImportDirectory + store + (zipEntryRootKind name #\/)) + (zipEntryLeafName name #\/)))))) (kotlin-file-lines "com/sfb/ssdreview/TruthStore.kt" ( @@ -16206,7 +16237,7 @@ " internal val groundTruthDir = File(root, \"ground_truth\")" " internal val learnedDir = File(root, \"learned\")" " internal val eventsDir = File(root, \"events\")" - " private val reviewsDir = File(root, \"reviews\")" + " internal val reviewsDir = File(root, \"reviews\")" " private val remoteConfig: RemoteConfig? by lazy { loadRemoteConfig() }" " @Volatile internal var seedStarted = false" " @Volatile private var truthIndexCacheLoaded = false" @@ -16848,17 +16879,8 @@ " }" " }" "" - " private fun containedImportPath(name: String): File {" - " require(safeImportLeafEntryName(name)) { \"Unsafe import path\" }" - " val directory = when (zipEntryRootKind(name, '/')) {" - " 1 -> groundTruthDir" - " 2 -> learnedDir" - " 3 -> eventsDir" - " 4 -> reviewsDir" - " else -> throw IllegalArgumentException(\"Unknown import directory\")" - " }" - " return containedLeaf(directory, zipEntryLeafName(name, '/'))" - " }" + " private fun containedImportPath(name: String): File =" + " truthStoreContainedImportPathLocal(this, name)" "" " private fun readLocalText(file: File): String =" " truthStoreReadLocalText(file)"