From 01a94483bc15df2243df1ea9009972a9d1eb54e8 Mon Sep 17 00:00:00 2001 From: Turiiya <34311583+ttytm@users.noreply.github.com> Date: Sun, 7 Apr 2024 08:36:51 +0200 Subject: [PATCH] fmt: extend import import alias reference map for submodules (#21200) --- vlib/v/fmt/fmt.v | 1 + .../submod_import_alias/vlas/internal/blas/.gitkeep | 0 .../vlas/module_alias_import_submod_in_submod_keep.vv | 10 ++++++++++ .../module_alias_submod_import_parent_mod_expected.vv | 9 +++++++++ .../module_alias_submod_import_parent_mod_input.vv | 9 +++++++++ 5 files changed, 29 insertions(+) create mode 100644 vlib/v/fmt/testdata/vmodules/submod_import_alias/vlas/internal/blas/.gitkeep create mode 100644 vlib/v/fmt/testdata/vmodules/submod_import_alias/vlas/module_alias_import_submod_in_submod_keep.vv create mode 100644 vlib/v/fmt/testdata/vmodules/submod_import_alias/vlas/module_alias_submod_import_parent_mod_expected.vv create mode 100644 vlib/v/fmt/testdata/vmodules/submod_import_alias/vlas/module_alias_submod_import_parent_mod_input.vv diff --git a/vlib/v/fmt/fmt.v b/vlib/v/fmt/fmt.v index 183b33c12..d2a7c187c 100644 --- a/vlib/v/fmt/fmt.v +++ b/vlib/v/fmt/fmt.v @@ -102,6 +102,7 @@ pub fn fmt(file ast.File, mut table ast.Table, pref_ &pref.Preferences, is_debug pub fn (mut f Fmt) process_file_imports(file &ast.File) { for imp in file.imports { f.mod2alias[imp.mod] = imp.alias + f.mod2alias[imp.mod.all_after('${file.mod.name}.')] = imp.alias for sym in imp.syms { f.mod2alias['${imp.mod}.${sym.name}'] = sym.name f.mod2alias['${imp.mod.all_after_last('.')}.${sym.name}'] = sym.name diff --git a/vlib/v/fmt/testdata/vmodules/submod_import_alias/vlas/internal/blas/.gitkeep b/vlib/v/fmt/testdata/vmodules/submod_import_alias/vlas/internal/blas/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/vlib/v/fmt/testdata/vmodules/submod_import_alias/vlas/module_alias_import_submod_in_submod_keep.vv b/vlib/v/fmt/testdata/vmodules/submod_import_alias/vlas/module_alias_import_submod_in_submod_keep.vv new file mode 100644 index 000000000..15d10bf68 --- /dev/null +++ b/vlib/v/fmt/testdata/vmodules/submod_import_alias/vlas/module_alias_import_submod_in_submod_keep.vv @@ -0,0 +1,10 @@ +module vlas + +// `internal/blas` has to be intact as submodule directory structure for the test to be reliable. +import internal.blas + +fn C.LAPACKE_dlange(matrix_layout blas.MemoryLayout) f64 + +pub fn c_trans(trans bool) blas.Transpose { + return if trans { .trans } else { .no_trans } +} diff --git a/vlib/v/fmt/testdata/vmodules/submod_import_alias/vlas/module_alias_submod_import_parent_mod_expected.vv b/vlib/v/fmt/testdata/vmodules/submod_import_alias/vlas/module_alias_submod_import_parent_mod_expected.vv new file mode 100644 index 000000000..022d1b3b4 --- /dev/null +++ b/vlib/v/fmt/testdata/vmodules/submod_import_alias/vlas/module_alias_submod_import_parent_mod_expected.vv @@ -0,0 +1,9 @@ +module vlas + +import submod_import_alias.vlas.internal.blas + +fn C.LAPACKE_dlange(matrix_layout blas.MemoryLayout) f64 + +pub fn c_trans(trans bool) blas.Transpose { + return if trans { .trans } else { .no_trans } +} diff --git a/vlib/v/fmt/testdata/vmodules/submod_import_alias/vlas/module_alias_submod_import_parent_mod_input.vv b/vlib/v/fmt/testdata/vmodules/submod_import_alias/vlas/module_alias_submod_import_parent_mod_input.vv new file mode 100644 index 000000000..3900a2463 --- /dev/null +++ b/vlib/v/fmt/testdata/vmodules/submod_import_alias/vlas/module_alias_submod_import_parent_mod_input.vv @@ -0,0 +1,9 @@ +module vlas + +import submod_import_alias.vlas.internal.blas + +fn C.LAPACKE_dlange(matrix_layout internal.blas.MemoryLayout) f64 + +pub fn c_trans(trans bool) internal.blas.Transpose { + return if trans { .trans } else { .no_trans } +} -- 2.39.5