模块 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 path 找到 map 中所有作为输入 path 前缀的源。对于每个匹配的源,按优先级顺序,将该前缀替换为相应的目标,并将结果添加到返回的列表中。如果没有匹配项,则只返回 []

val rewrite : map ->
path -> path

rewrite path 使用 rewrite_first 尝试为路径找到映射。如果找到,则返回该映射,否则只返回 path