模組 Build_path_prefix_map

module Build_path_prefix_map: sig .. end

為可重現的建置重寫路徑

警告:此模組不穩定,屬於 compiler-libs 的一部分。

請參閱 BUILD_PATH_PREFIX_MAP 規範


type path = string 
type path_prefix = string 
type error_message = string 
val encode_prefix : path_prefix -> string
val decode_prefix : string ->
(path_prefix, error_message)
result
type pair = {
   target :path_prefix
   source :path_prefix
}
val encode_pair : pair -> string
val decode_pair : string ->
(pair, error_message)
result
type map = pair option list 
val encode_map : map -> string
val decode_map : string ->
(map, error_message)
result
val rewrite_first : map ->
path -> path option

rewrite_first map path 嘗試在 map 中找到一個作為輸入 path 前綴的來源。如果成功,它會將此前綴替換為對應的目標。如果失敗,它只會返回 None

val rewrite_all : map ->
path -> path list

rewrite_all map pathmap 中找出所有作為輸入 path 前綴的來源。對於每個匹配的來源,按照優先順序,它會將此前綴替換為對應的目標,並將結果加入到返回的列表中。如果沒有匹配項,它只會返回 []

val rewrite : map ->
path -> path

rewrite path 使用 rewrite_first 來嘗試尋找 path 的映射。如果找到,它會返回該映射,否則只會返回 path