diff --git a/.gitignore b/.gitignore index 2384f4cd6..4fc7efa00 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ veryl_testcase.* /dependencies/ /book/po/messages.pot /book/po/*~ +/testcases/map/dependencies/ diff --git a/Cargo.lock b/Cargo.lock index 2b640a9d6..718d4dd13 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -14,9 +14,9 @@ dependencies = [ [[package]] name = "addr2line" -version = "0.21.0" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" +checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" dependencies = [ "gimli", ] @@ -94,15 +94,16 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.13" +version = "0.6.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d96bd03f33fe50a863e394ee9718a706f988b9079b20c3784fb726e7678b62fb" +checksum = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b" dependencies = [ "anstyle", "anstyle-parse", "anstyle-query", "anstyle-wincon", "colorchoice", + "is_terminal_polyfill", "utf8parse", ] @@ -114,27 +115,27 @@ checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b" [[package]] name = "anstyle-parse" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c" +checksum = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.0.2" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648" +checksum = "ad186efb764318d35165f1758e7dcef3b10628e26d41a44bc5550652e6804391" dependencies = [ "windows-sys 0.52.0", ] [[package]] name = "anstyle-wincon" -version = "3.0.2" +version = "3.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7" +checksum = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19" dependencies = [ "anstyle", "windows-sys 0.52.0", @@ -229,15 +230,15 @@ dependencies = [ [[package]] name = "autocfg" -version = "1.2.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80" +checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" [[package]] name = "backtrace" -version = "0.3.71" +version = "0.3.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d" +checksum = "17c6a35df3749d2e8bb1b7b21a976d82b15548788d2735b9d82f329268f71a11" dependencies = [ "addr2line", "cc", @@ -263,6 +264,15 @@ version = "0.21.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" +[[package]] +name = "base64-simd" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "781dd20c3aff0bd194fe7d2a977dd92f21c173891f3a03b677359e5fa457e5d5" +dependencies = [ + "simd-abstraction", +] + [[package]] name = "bimap" version = "0.6.3" @@ -281,6 +291,18 @@ version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" +[[package]] +name = "bitvec" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" +dependencies = [ + "funty", + "radium", + "tap", + "wyz", +] + [[package]] name = "block-buffer" version = "0.10.4" @@ -318,9 +340,9 @@ checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" [[package]] name = "bytemuck" -version = "1.15.0" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d6d68c57235a3a081186990eca2867354726650f42f7516ca50c28d6281fd15" +checksum = "78834c15cb5d5efe3452d58b1e8ba890dd62d21907f867f383358198e56ebca5" [[package]] name = "byteorder" @@ -357,9 +379,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.96" +version = "1.0.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "065a29261d53ba54260972629f9ca6bffa69bac13cd1fed61420f7fa68b9f8bd" +checksum = "96c51067fd44124faa7f870b4b1c969379ad32b2ba805aa959430ceaa384f695" [[package]] name = "cfg-if" @@ -446,9 +468,9 @@ dependencies = [ [[package]] name = "clap_complete" -version = "4.5.2" +version = "4.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd79504325bf38b10165b02e89b4347300f855f273c4cb30c4a3209e6583275e" +checksum = "d2020fa13af48afc65a9a87335bda648309ab3d154cd03c7ff95b378c7ed39c4" dependencies = [ "clap 4.5.7", ] @@ -467,15 +489,15 @@ dependencies = [ [[package]] name = "clap_lex" -version = "0.7.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce" +checksum = "4b82cf0babdbd58558212896d1a4272303a57bdb245c2bf1147185fb45640e70" [[package]] name = "clru" -version = "0.6.1" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8191fa7302e03607ff0e237d4246cc043ff5b3cb9409d995172ba3bea16b807" +checksum = "cbd0f76e066e64fdc5631e3bb46381254deab9ef1158292f27c8c57e3bf3fe59" [[package]] name = "codespan-reporting" @@ -489,9 +511,9 @@ dependencies = [ [[package]] name = "colorchoice" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" +checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422" [[package]] name = "combine" @@ -572,9 +594,9 @@ dependencies = [ [[package]] name = "crc32fast" -version = "1.4.0" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa" +checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" dependencies = [ "cfg-if", ] @@ -630,9 +652,9 @@ dependencies = [ [[package]] name = "crossbeam-channel" -version = "0.5.12" +version = "0.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab3db02a9c5b5121e1e42fbdb1aeb65f5e02624cc58c43f2884c6ccac0b82f95" +checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" dependencies = [ "crossbeam-utils", ] @@ -667,9 +689,9 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.19" +version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" +checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" [[package]] name = "crunchy" @@ -698,9 +720,9 @@ dependencies = [ [[package]] name = "darling" -version = "0.20.8" +version = "0.20.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54e36fcd13ed84ffdfda6f5be89b31287cbb80c439841fe69e04841435464391" +checksum = "83b2eb4d90d12bdda5ed17de686c2acb4c57914f8f921b8da7e112b5a36f3fe1" dependencies = [ "darling_core", "darling_macro", @@ -708,23 +730,23 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.8" +version = "0.20.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c2cf1c23a687a1feeb728783b993c4e1ad83d99f351801977dd809b48d0a70f" +checksum = "622687fe0bac72a04e5599029151f5796111b90f1baaa9b544d807a5e31cd120" dependencies = [ "fnv", "ident_case", "proc-macro2", "quote", - "strsim 0.10.0", + "strsim 0.11.1", "syn", ] [[package]] name = "darling_macro" -version = "0.20.8" +version = "0.20.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a668eda54683121533a393014d8692171709ff57a7d61f187b6e782719f8933f" +checksum = "733cabb43482b1a1b53eee8583c2b9e8684d592215ea83efd305dd31bc2f0178" dependencies = [ "darling_core", "quote", @@ -767,6 +789,7 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bef552e6f588e446098f6ba40d89ac146c8c7b64aade83c051ee00bb5d2bc18d" dependencies = [ + "serde", "uuid", ] @@ -892,9 +915,9 @@ checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b" [[package]] name = "either" -version = "1.11.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a47c1c47d2f5964e29c61246e81db715514cd532db6b5116a25ea3c03d6780a2" +checksum = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b" [[package]] name = "elasticlunr-rs" @@ -979,9 +1002,9 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "errno" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" +checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" dependencies = [ "libc", "windows-sys 0.52.0", @@ -989,9 +1012,9 @@ dependencies = [ [[package]] name = "event-listener" -version = "5.3.0" +version = "5.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d9944b8ca13534cdfb2800775f8dd4902ff3fc75a50101466decadfdf322a24" +checksum = "6032be9bd27023a771701cc49f9f053c751055f71efb2e0ae5c15809093675ba" dependencies = [ "concurrent-queue", "parking", @@ -1121,6 +1144,12 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "673464e1e314dd67a0fd9544abc99e8eb28d0c7e3b69b033bcff9b2d00b87333" +[[package]] +name = "funty" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" + [[package]] name = "futf" version = "0.1.5" @@ -1241,9 +1270,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.14" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if", "libc", @@ -1252,9 +1281,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.28.1" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" +checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" [[package]] name = "git-actor" @@ -2078,9 +2107,9 @@ dependencies = [ [[package]] name = "httparse" -version = "1.8.0" +version = "1.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" +checksum = "9f3935c160d00ac752e09787e6e6bfc26494c2183cc922f1bc678a60d4733bc2" [[package]] name = "httpdate" @@ -2102,9 +2131,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.28" +version = "0.14.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80" +checksum = "f361cde2f109281a220d4307746cdfd5ee3f410da58a70377762396775634b33" dependencies = [ "bytes", "futures-channel", @@ -2307,6 +2336,12 @@ dependencies = [ "utf8_iter", ] +[[package]] +name = "if_chain" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb56e1aa765b4b4f3aadfab769793b7087bb03a4ea4920644a6d238e2df5b9ed" + [[package]] name = "ignore" version = "0.4.22" @@ -2393,9 +2428,9 @@ dependencies = [ [[package]] name = "instant" -version = "0.1.12" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" dependencies = [ "cfg-if", ] @@ -2445,6 +2480,12 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7655c9839580ee829dfacba1d1278c2b7883e50a277ff7541299489d6bdfdc45" +[[package]] +name = "is_terminal_polyfill" +version = "1.70.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800" + [[package]] name = "itertools" version = "0.10.5" @@ -2531,9 +2572,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.154" +version = "0.2.155" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae743338b92ff9146ce83992f766a31066a91a8c84a45e0e9f21e7cf6de6d346" +checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" [[package]] name = "libdbus-sys" @@ -2569,9 +2610,9 @@ checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" [[package]] name = "linux-raw-sys" -version = "0.4.13" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" +checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" [[package]] name = "litemap" @@ -2706,7 +2747,7 @@ dependencies = [ "mdbook", "pulldown-cmark 0.11.0", "regex", - "semver", + "semver 1.0.23", "serde_json", "similar", "toml 0.7.8", @@ -2811,9 +2852,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.7.2" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" +checksum = "87dfd01fe195c66b572b37921ad8803d010623c0aca821bea2302239d155cdae" dependencies = [ "adler", ] @@ -2914,9 +2955,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.18" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", ] @@ -2942,9 +2983,9 @@ dependencies = [ [[package]] name = "object" -version = "0.32.2" +version = "0.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" +checksum = "b8ec7ab813848ba4522158d5517a6093db1ded27575b070f4177b8d12b41db5e" dependencies = [ "memchr", ] @@ -2963,9 +3004,9 @@ checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575" [[package]] name = "opener" -version = "0.7.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9901cb49d7fc923b256db329ee26ffed69130bf05d74b9efdd1875c92d6af01" +checksum = "f8df34be653210fbe9ffaff41d3b92721c56ce82dfee58ee684f9afb5e3a90c0" dependencies = [ "bstr", "dbus", @@ -2979,6 +3020,12 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" +[[package]] +name = "outref" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f222829ae9293e33a9f5e9f440c6760a3d450a64affe1846486b140db81c1f4" + [[package]] name = "owo-colors" version = "3.5.0" @@ -2999,9 +3046,9 @@ checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae" [[package]] name = "parking_lot" -version = "0.12.2" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e4af0ca4f6caed20e900d564c242b8e5d4903fdacf31d3daf527b66fe6f42fb" +checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" dependencies = [ "lock_api", "parking_lot_core", @@ -3253,9 +3300,9 @@ checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" [[package]] name = "plotters" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2c224ba00d7cadd4d5c660deaf2098e5e80e07846537c51f9cfa4be50c1fd45" +checksum = "a15b6eccb8484002195a3e44fe65a4ce8e93a625797a063735536fd59cb01cf3" dependencies = [ "num-traits", "plotters-backend", @@ -3266,15 +3313,15 @@ dependencies = [ [[package]] name = "plotters-backend" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e76628b4d3a7581389a35d5b6e2139607ad7c75b17aed325f210aa91f4a9609" +checksum = "414cec62c6634ae900ea1c56128dfe87cf63e7caece0852ec76aba307cebadb7" [[package]] name = "plotters-svg" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38f6d39893cca0701371e3c27294f09797214b86f1fb951b89ade8ec04e2abab" +checksum = "81b30686a7d9c3e010b84284bdd26a29f2138574f52f5eb6f794fc0ad924e705" dependencies = [ "plotters-backend", ] @@ -3347,9 +3394,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.81" +version = "1.0.85" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d1597b0c024618f09a9c3b8655b7e430397a36d23fdafec26d6965e9eec3eba" +checksum = "22244ce15aa966053a896d1accb3a6e68469b97c7f33f284b99f0d576879fc23" dependencies = [ "unicode-ident", ] @@ -3444,6 +3491,12 @@ dependencies = [ "proc-macro2", ] +[[package]] +name = "radium" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" + [[package]] name = "rand" version = "0.8.5" @@ -3547,9 +3600,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.6" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" +checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" dependencies = [ "aho-corasick", "memchr", @@ -3558,9 +3611,15 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.8.3" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" + +[[package]] +name = "relative-path" +version = "1.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56" +checksum = "ba39f3699c378cd8970968dcbff9c43159ea4cfbd88d43c00b22f2ef10a435d2" [[package]] name = "reqwest" @@ -3650,9 +3709,24 @@ dependencies = [ [[package]] name = "rustc-demangle" -version = "0.1.23" +version = "0.1.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" + +[[package]] +name = "rustc-hash" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" + +[[package]] +name = "rustc_version" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" +checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" +dependencies = [ + "semver 0.9.0", +] [[package]] name = "rustix" @@ -3700,15 +3774,15 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.15" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80af6f9131f277a45a3fba6ce8e2258037bb0477a67e610d3c1fe046ab31de47" +checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" [[package]] name = "ryu" -version = "1.0.17" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" +checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" [[package]] name = "same-file" @@ -3741,6 +3815,15 @@ dependencies = [ "untrusted", ] +[[package]] +name = "semver" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" +dependencies = [ + "semver-parser", +] + [[package]] name = "semver" version = "1.0.23" @@ -3750,6 +3833,12 @@ dependencies = [ "serde", ] +[[package]] +name = "semver-parser" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" + [[package]] name = "serde" version = "1.0.203" @@ -3804,9 +3893,9 @@ dependencies = [ [[package]] name = "serde_spanned" -version = "0.6.5" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1" +checksum = "79e674e01f999af37c49f70a6ede167a8a60b2503e56c5599532a65baa5969a0" dependencies = [ "serde", ] @@ -3876,6 +3965,15 @@ dependencies = [ "libc", ] +[[package]] +name = "simd-abstraction" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cadb29c57caadc51ff8346233b5cec1d240b68ce55cf1afc764818791876987" +dependencies = [ + "outref", +] + [[package]] name = "similar" version = "2.5.0" @@ -3919,6 +4017,25 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "sourcemap" +version = "8.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "208d40b9e8cad9f93613778ea295ed8f3c2b1824217c6cfc7219d3f6f45b96d4" +dependencies = [ + "base64-simd", + "bitvec", + "data-encoding", + "debugid", + "if_chain", + "rustc-hash", + "rustc_version", + "serde", + "serde_json", + "unicode-id-start", + "url", +] + [[package]] name = "spdx" version = "0.10.6" @@ -3990,12 +4107,6 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" -[[package]] -name = "strsim" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" - [[package]] name = "strsim" version = "0.11.1" @@ -4032,9 +4143,9 @@ dependencies = [ [[package]] name = "symbolic-common" -version = "12.8.0" +version = "12.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cccfffbc6bb3bb2d3a26cd2077f4d055f6808d266f9d4d158797a4c60510dfe" +checksum = "71297dc3e250f7dbdf8adb99e235da783d690f5819fdeb4cce39d9cfb0aca9f1" dependencies = [ "debugid", "memmap2 0.9.4", @@ -4044,9 +4155,9 @@ dependencies = [ [[package]] name = "symbolic-demangle" -version = "12.8.0" +version = "12.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76a99812da4020a67e76c4eb41f08c87364c14170495ff780f30dd519c221a68" +checksum = "424fa2c9bf2c862891b9cfd354a752751a6730fd838a4691e7f6c2c7957b9daf" dependencies = [ "cpp_demangle", "rustc-demangle", @@ -4055,9 +4166,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.60" +version = "2.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "909518bc7b1c9b779f1bbf07f2929d35af9f0f37e47c6e9ef7f9dddc1e1821f3" +checksum = "c42f3f41a2de00b01c0aaad383c5a45241efc8b2d1eda5661812fda5f3cdcff5" dependencies = [ "proc-macro2", "quote", @@ -4120,6 +4231,12 @@ dependencies = [ "libc", ] +[[package]] +name = "tap" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" + [[package]] name = "tempfile" version = "3.10.1" @@ -4374,9 +4491,9 @@ dependencies = [ [[package]] name = "toml_datetime" -version = "0.6.5" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" +checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf" dependencies = [ "serde", ] @@ -4600,6 +4717,12 @@ version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "63ec69f541d875b783ca40184d655f2927c95f0bffd486faa83cd3ac3529ec32" +[[package]] +name = "unicode-id-start" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8f73150333cb58412db36f2aca8f2875b013049705cc77b94ded70a1ab1f5da" + [[package]] name = "unicode-ident" version = "1.0.12" @@ -4623,9 +4746,9 @@ dependencies = [ [[package]] name = "unicode-width" -version = "0.1.12" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68f5e5f3158ecfd4b8ff6fe086db7c8467a2dfdac97fe420f2b7c4aa97af66d6" +checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" [[package]] name = "untrusted" @@ -4665,9 +4788,9 @@ checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" [[package]] name = "utf8parse" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" +checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" @@ -4719,6 +4842,7 @@ dependencies = [ "veryl-formatter", "veryl-metadata", "veryl-parser", + "veryl-sourcemap", ] [[package]] @@ -4746,6 +4870,7 @@ dependencies = [ "veryl-analyzer", "veryl-metadata", "veryl-parser", + "veryl-sourcemap", ] [[package]] @@ -4786,7 +4911,7 @@ dependencies = [ "miette", "once_cell", "regex", - "semver", + "semver 1.0.23", "serde", "serde_regex", "spdx", @@ -4815,6 +4940,16 @@ dependencies = [ "walkdir", ] +[[package]] +name = "veryl-sourcemap" +version = "0.10.1" +dependencies = [ + "miette", + "relative-path", + "sourcemap", + "thiserror", +] + [[package]] name = "veryl-tests" version = "0.1.0" @@ -5246,6 +5381,15 @@ version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" +[[package]] +name = "wyz" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" +dependencies = [ + "tap", +] + [[package]] name = "xml_writer" version = "0.4.0" @@ -5278,18 +5422,18 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.7.32" +version = "0.7.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be" +checksum = "ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.32" +version = "0.7.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" +checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" dependencies = [ "proc-macro2", "quote", diff --git a/Cargo.toml b/Cargo.toml index 3ddbdff96..10468c97a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -7,6 +7,7 @@ members = [ "crates/mdbook", "crates/metadata", "crates/parser", + "crates/sourcemap", "crates/tests", "crates/veryl", ] diff --git a/Veryl.toml b/Veryl.toml index 76311579d..c47313052 100644 --- a/Veryl.toml +++ b/Veryl.toml @@ -12,6 +12,7 @@ reset_type = "async_low" reset_low_suffix = "_n" filelist_type = "absolute" target = {type = "directory", path = "testcases/sv"} +sourcemap_target = {type = "directory", path = "testcases/map"} [format] indent_width = 4 diff --git a/crates/emitter/Cargo.toml b/crates/emitter/Cargo.toml index ad3971889..624f59f20 100644 --- a/crates/emitter/Cargo.toml +++ b/crates/emitter/Cargo.toml @@ -18,3 +18,4 @@ strnum_bitwidth = {workspace = true} veryl-analyzer = {version = "0.10.1", path = "../analyzer"} veryl-metadata = {version = "0.10.1", path = "../metadata"} veryl-parser = {version = "0.10.1", path = "../parser"} +veryl-sourcemap = {version = "0.10.1", path = "../sourcemap"} diff --git a/crates/emitter/src/emitter.rs b/crates/emitter/src/emitter.rs index 2d4585293..7a15b1262 100644 --- a/crates/emitter/src/emitter.rs +++ b/crates/emitter/src/emitter.rs @@ -1,5 +1,6 @@ use crate::aligner::{Aligner, Location}; use std::fs; +use std::path::Path; use veryl_analyzer::attribute::Attribute as Attr; use veryl_analyzer::attribute_table; use veryl_analyzer::namespace::Namespace; @@ -8,12 +9,13 @@ use veryl_analyzer::symbol::{GenericMap, Symbol, SymbolId, SymbolKind, TypeKind} use veryl_analyzer::symbol_path::{GenericSymbolPath, SymbolPath}; use veryl_analyzer::symbol_table; use veryl_analyzer::{msb_table, namespace_table}; -use veryl_metadata::{Build, BuiltinType, ClockType, Format, Metadata, ResetType}; +use veryl_metadata::{Build, BuiltinType, ClockType, Format, Metadata, ResetType, SourceMapTarget}; use veryl_parser::resource_table::{self, StrId}; use veryl_parser::veryl_grammar_trait::*; use veryl_parser::veryl_token::{Token, TokenSource, VerylToken}; use veryl_parser::veryl_walker::VerylWalker; use veryl_parser::Stringifier; +use veryl_sourcemap::SourceMap; #[cfg(target_os = "windows")] const NEWLINE: &str = "\r\n"; @@ -32,7 +34,9 @@ pub struct Emitter { format_opt: Format, string: String, indent: usize, - line: u32, + src_line: u32, + dst_line: u32, + dst_column: u32, aligner: Aligner, in_start_token: bool, consumed_next_newline: bool, @@ -53,6 +57,7 @@ pub struct Emitter { attribute: Vec, assignment_lefthand_side: Option, generic_map: Vec, + source_map: Option, } impl Default for Emitter { @@ -63,7 +68,9 @@ impl Default for Emitter { format_opt: Format::default(), string: String::new(), indent: 0, - line: 1, + src_line: 1, + dst_line: 1, + dst_column: 1, aligner: Aligner::new(), in_start_token: false, consumed_next_newline: false, @@ -84,19 +91,24 @@ impl Default for Emitter { attribute: Vec::new(), assignment_lefthand_side: None, generic_map: Vec::new(), + source_map: None, } } } impl Emitter { - pub fn new(metadata: &Metadata) -> Self { + pub fn new(metadata: &Metadata, src_path: &Path, dst_path: &Path, map_path: &Path) -> Self { let mut aligner = Aligner::new(); aligner.set_metadata(metadata); + + let source_map = SourceMap::new(src_path, dst_path, map_path); + Self { project_name: Some(metadata.project.name.as_str().into()), build_opt: metadata.build.clone(), format_opt: metadata.format.clone(), aligner, + source_map: Some(source_map), ..Default::default() } } @@ -111,12 +123,32 @@ impl Emitter { &self.string } - fn column(&self) -> usize { - self.string.len() - self.string.rfind('\n').unwrap_or(0) + pub fn source_map(&mut self) -> &mut SourceMap { + self.source_map.as_mut().unwrap() } fn str(&mut self, x: &str) { self.string.push_str(x); + + let new_lines = x.matches('\n').count() as u32; + self.dst_line += new_lines; + if new_lines == 0 { + self.dst_column += x.len() as u32; + } else { + self.dst_column = (x.len() - x.rfind('\n').unwrap_or(0)) as u32; + } + } + + fn truncate(&mut self, x: usize) { + let removed = self.string.split_off(x); + + let removed_lines = removed.matches('\n').count() as u32; + if removed_lines == 0 { + self.dst_column -= removed.len() as u32; + } else { + self.dst_line -= removed_lines; + self.dst_column = (self.string.len() - self.string.rfind('\n').unwrap_or(0)) as u32; + } } fn unindent(&mut self) { @@ -124,8 +156,7 @@ impl Emitter { .string .ends_with(&" ".repeat(self.indent * self.format_opt.indent_width)) { - self.string - .truncate(self.string.len() - self.indent * self.format_opt.indent_width); + self.truncate(self.string.len() - self.indent * self.format_opt.indent_width); } } @@ -191,7 +222,7 @@ impl Emitter { } fn consume_adjust_line(&mut self, x: &Token) { - if self.adjust_line && x.line > self.line + 1 { + if self.adjust_line && x.line > self.src_line + 1 { self.newline(); } self.adjust_line = false; @@ -210,9 +241,16 @@ impl Emitter { } else { &text }; + + if x.line != 0 && x.column != 0 { + if let Some(ref mut map) = self.source_map { + map.add(self.dst_line, self.dst_column, x.line, x.column, text); + } + } + let newlines_in_text = text.matches('\n').count() as u32; self.str(text); - self.line = x.line + newlines_in_text; + self.src_line = x.line + newlines_in_text; } fn process_token(&mut self, x: &VerylToken, will_push: bool, duplicated: Option) { @@ -237,10 +275,10 @@ impl Emitter { self.consumed_next_newline = false; for x in &x.comments { // insert space between comments in the same line - if x.line == self.line && !self.in_start_token { + if x.line == self.src_line && !self.in_start_token { self.space(1); } - for _ in 0..x.line - self.line { + for _ in 0..x.line - self.src_line { self.unindent(); self.str(NEWLINE); self.indent(); @@ -545,7 +583,7 @@ impl VerylWalker for Emitter { /// Semantic action for non-terminal 'Comma' fn comma(&mut self, arg: &Comma) { if self.string.ends_with("`endif") { - self.string.truncate(self.string.len() - "`endif".len()); + self.truncate(self.string.len() - "`endif".len()); let trailing_endif = format!( "`endif{}{}", @@ -554,8 +592,7 @@ impl VerylWalker for Emitter { ); let mut additional_endif = 0; while self.string.ends_with(&trailing_endif) { - self.string - .truncate(self.string.len() - trailing_endif.len()); + self.truncate(self.string.len() - trailing_endif.len()); additional_endif += 1; } @@ -1557,7 +1594,7 @@ impl VerylWalker for Emitter { /// Semantic action for non-terminal 'CaseItem' fn case_item(&mut self, arg: &CaseItem) { - let start = self.column(); + let start = self.dst_column; match &*arg.case_item_group { CaseItemGroup::ExpressionCaseItemGroupList(x) => { self.expression(&x.expression); @@ -1571,7 +1608,7 @@ impl VerylWalker for Emitter { } self.colon(&arg.colon); self.space(1); - self.case_item_indent = Some(self.column() - start); + self.case_item_indent = Some((self.dst_column - start) as usize); match &*arg.case_item_group0 { CaseItemGroup0::Statement(x) => self.statement(&x.statement), CaseItemGroup0::LBraceCaseItemGroup0ListRBrace(x) => { @@ -1605,8 +1642,7 @@ impl VerylWalker for Emitter { if let Some(ref x) = arg.attribute_opt { let comma = if self.string.trim_end().ends_with(',') { self.unindent(); - self.string - .truncate(self.string.len() - format!(",{}", NEWLINE).len()); + self.truncate(self.string.len() - format!(",{}", NEWLINE).len()); self.newline(); true } else { @@ -3154,6 +3190,13 @@ impl VerylWalker for Emitter { self.description_group(&x.description_group); } self.newline(); + + // build map and insert link to map + if self.build_opt.sourcemap_target != SourceMapTarget::None { + self.source_map.as_mut().unwrap().build(); + self.str(&self.source_map.as_ref().unwrap().get_link()); + self.newline(); + } } } diff --git a/crates/metadata/src/build.rs b/crates/metadata/src/build.rs index 08f3baede..f5294e5d8 100644 --- a/crates/metadata/src/build.rs +++ b/crates/metadata/src/build.rs @@ -26,6 +26,8 @@ pub struct Build { pub omit_project_prefix: bool, #[serde(default)] pub strip_comments: bool, + #[serde(default)] + pub sourcemap_target: SourceMapTarget, } #[derive(Clone, Copy, Debug, Default, Serialize, Deserialize, PartialEq, Eq)] @@ -73,6 +75,18 @@ pub enum Target { Bundle { path: PathBuf }, } +#[derive(Clone, Debug, Default, Serialize, Deserialize, PartialEq, Eq)] +#[serde(tag = "type")] +pub enum SourceMapTarget { + #[default] + #[serde(rename = "target")] + Target, + #[serde(rename = "directory")] + Directory { path: PathBuf }, + #[serde(rename = "none")] + None, +} + #[derive(Clone, Copy, Debug, Serialize, Deserialize, PartialEq, Eq)] pub enum BuiltinType { #[serde(rename = "u32")] diff --git a/crates/metadata/src/lib.rs b/crates/metadata/src/lib.rs index 20d3de7fd..61c6a8da9 100644 --- a/crates/metadata/src/lib.rs +++ b/crates/metadata/src/lib.rs @@ -13,7 +13,7 @@ mod test; #[cfg(test)] mod tests; mod utils; -pub use build::{Build, BuiltinType, ClockType, FilelistType, ResetType, Target}; +pub use build::{Build, BuiltinType, ClockType, FilelistType, ResetType, SourceMapTarget, Target}; pub use doc::Doc; pub use format::Format; pub use lint::{Case, Lint}; diff --git a/crates/metadata/src/metadata.rs b/crates/metadata/src/metadata.rs index a5f0d27d7..139654cbd 100644 --- a/crates/metadata/src/metadata.rs +++ b/crates/metadata/src/metadata.rs @@ -232,7 +232,11 @@ impl Metadata { let src_files = if files.is_empty() { utils::gather_files_with_extension(&base, "veryl", symlink)? } else { - files.iter().map(|x| x.as_ref().to_path_buf()).collect() + let mut ret = Vec::new(); + for file in files { + ret.push(fs::canonicalize(file.as_ref())?); + } + ret }; let mut ret = Vec::new(); diff --git a/crates/sourcemap/Cargo.toml b/crates/sourcemap/Cargo.toml new file mode 100644 index 000000000..331fe0a71 --- /dev/null +++ b/crates/sourcemap/Cargo.toml @@ -0,0 +1,17 @@ +[package] +name = "veryl-sourcemap" +version = "0.10.1" +edition = "2021" +authors.workspace = true +repository.workspace = true +keywords.workspace = true +categories.workspace = true +license.workspace = true +readme.workspace = true +description.workspace = true + +[dependencies] +miette = {workspace = true} +relative-path = "1.9" +sourcemap = "8.0" +thiserror = {workspace = true} diff --git a/crates/sourcemap/src/lib.rs b/crates/sourcemap/src/lib.rs new file mode 100644 index 000000000..1ab0104fb --- /dev/null +++ b/crates/sourcemap/src/lib.rs @@ -0,0 +1,4 @@ +mod sourcemap; +mod sourcemap_error; +pub use sourcemap::SourceMap; +pub use sourcemap_error::SourceMapError; diff --git a/crates/sourcemap/src/sourcemap.rs b/crates/sourcemap/src/sourcemap.rs new file mode 100644 index 000000000..63200d999 --- /dev/null +++ b/crates/sourcemap/src/sourcemap.rs @@ -0,0 +1,151 @@ +use crate::SourceMapError; +use relative_path::PathExt; +use sourcemap::SourceMapBuilder; +use std::fs; +use std::path::{Path, PathBuf}; + +const LINK_HEADER: &str = "//# sourceMappingURL="; + +pub struct SourceMap { + pub src_path: PathBuf, + pub dst_path: PathBuf, + pub map_path: PathBuf, + pub src_path_from_map: String, + pub map_path_from_dst: String, + builder: SourceMapBuilder, + source_map: Option, +} + +impl SourceMap { + pub fn new(src_path: &Path, dst_path: &Path, map_path: &Path) -> Self { + let src_path = src_path.to_path_buf(); + let dst_path = dst_path.to_path_buf(); + let map_path = map_path.to_path_buf(); + let src_path_from_map = if let Ok(x) = src_path.relative_to(map_path.parent().unwrap()) { + x.as_str().to_owned() + } else { + src_path.to_string_lossy().to_string() + }; + let map_path_from_dst = if let Ok(x) = map_path.relative_to(dst_path.parent().unwrap()) { + x.as_str().to_owned() + } else { + map_path.to_string_lossy().to_string() + }; + let builder = SourceMapBuilder::new(Some(&map_path.file_name().unwrap().to_string_lossy())); + Self { + src_path, + dst_path, + map_path, + src_path_from_map, + map_path_from_dst, + builder, + source_map: None, + } + } + + pub fn from_src(src_path: &Path) -> Result { + let src = fs::read_to_string(src_path)?; + + if let Some(line) = src.lines().last() { + if line.starts_with(LINK_HEADER) { + let map_path = line.strip_prefix(LINK_HEADER).unwrap(); + let map_path = src_path.parent().unwrap().join(map_path); + let text = fs::read(&map_path)?; + + let src_path = src_path.to_path_buf(); + let dst_path = PathBuf::new(); + let src_path_from_map = String::new(); + let map_path_from_dst = String::new(); + let builder = + SourceMapBuilder::new(Some(&map_path.file_name().unwrap().to_string_lossy())); + let source_map = Some(sourcemap::SourceMap::from_reader(text.as_slice())?); + + return Ok(Self { + src_path, + dst_path, + map_path, + src_path_from_map, + map_path_from_dst, + builder, + source_map, + }); + } + } + + Err(SourceMapError::NotFound) + } + + pub fn add( + &mut self, + dst_line: u32, + dst_column: u32, + src_line: u32, + src_column: u32, + name: &str, + ) { + // Line and column of sourcemap crate is 0-based + let dst_line = dst_line - 1; + let dst_column = dst_column - 1; + let src_line = src_line - 1; + let src_column = src_column - 1; + + self.builder.add( + dst_line, + dst_column, + src_line, + src_column, + Some(&self.src_path_from_map), + Some(name), + false, + ); + } + + pub fn set_source_content(&mut self, content: &str) { + let id = self.builder.add_source(&self.src_path_from_map); + self.builder.set_source_contents(id, Some(content)); + } + + pub fn build(&mut self) { + let mut builder = + SourceMapBuilder::new(Some(&self.map_path.file_name().unwrap().to_string_lossy())); + std::mem::swap(&mut builder, &mut self.builder); + self.source_map = Some(builder.into_sourcemap()); + } + + pub fn get_link(&self) -> String { + format!("{}{}", LINK_HEADER, self.map_path_from_dst) + } + + pub fn to_bytes(&self) -> Result, SourceMapError> { + if let Some(ref x) = self.source_map { + let mut ret = Vec::new(); + x.to_writer(&mut ret)?; + Ok(ret) + } else { + Err(SourceMapError::NotFound) + } + } + + pub fn lookup(&self, line: u32, column: u32) -> Option<(PathBuf, u32, u32)> { + if let Some(ref x) = self.source_map { + if let Some(token) = x.lookup_token(line - 1, column - 1) { + if let Some(path) = token.get_source() { + let path = self.map_path.parent().unwrap().join(path); + if let Ok(path) = fs::canonicalize(path) { + let line = token.get_src_line() + 1; + let column = token.get_src_col() + 1; + Some((path, line, column)) + } else { + None + } + } else { + None + } + } else { + None + } + } else { + None + } + } +} diff --git a/crates/sourcemap/src/sourcemap_error.rs b/crates/sourcemap/src/sourcemap_error.rs new file mode 100644 index 000000000..3999410b5 --- /dev/null +++ b/crates/sourcemap/src/sourcemap_error.rs @@ -0,0 +1,17 @@ +use miette::{self, Diagnostic}; +use thiserror::Error; + +#[derive(Error, Diagnostic, Debug)] +pub enum SourceMapError { + #[diagnostic(code(MetadataError::Io), help(""))] + #[error("IO error")] + Io(#[from] std::io::Error), + + #[diagnostic(code(MetadataError::SourceMap), help(""))] + #[error("sourcemap error")] + SourceMap(#[from] sourcemap::Error), + + #[diagnostic(code(MetadataError::NotFound), help(""))] + #[error("map is not found")] + NotFound, +} diff --git a/crates/tests/src/lib.rs b/crates/tests/src/lib.rs index 23df0372f..eeac048c4 100644 --- a/crates/tests/src/lib.rs +++ b/crates/tests/src/lib.rs @@ -100,6 +100,7 @@ mod formatter { #[cfg(test)] mod emitter { use std::fs; + use std::path::PathBuf; use veryl_analyzer::Analyzer; use veryl_emitter::Emitter; use veryl_metadata::Metadata; @@ -122,21 +123,34 @@ mod emitter { } } - let file = format!("../../testcases/veryl/{}.veryl", name); - let input = fs::read_to_string(&file).unwrap(); + let src_path = PathBuf::from(format!("../../testcases/veryl/{}.veryl", name)); + let dst_path = PathBuf::from(format!("../../testcases/sv/{}.sv", name)); + let map_path = PathBuf::from(format!("../../testcases/map/testcases/sv/{}.sv.map", name)); - let ret = Parser::parse(&input, &file).unwrap(); + let input = fs::read_to_string(&src_path).unwrap(); + let ret = Parser::parse(&input, &src_path).unwrap(); let prj = &metadata.project.name; let analyzer = Analyzer::new(&metadata); - let _ = analyzer.analyze_pass1(&prj, &input, &file, &ret.veryl); - let _ = analyzer.analyze_pass2(&prj, &input, &file, &ret.veryl); - let mut emitter = Emitter::new(&metadata); + let _ = analyzer.analyze_pass1(&prj, &input, &src_path, &ret.veryl); + let _ = analyzer.analyze_pass2(&prj, &input, &src_path, &ret.veryl); + let mut emitter = Emitter::new(&metadata, &src_path, &dst_path, &map_path); emitter.emit(&prj, &ret.veryl); - let file = format!("../../testcases/sv/{}.sv", name); - let reference = fs::read_to_string(&file).unwrap(); + let out_code = emitter.as_str(); + let ref_code = fs::read_to_string(&dst_path).unwrap(); + + assert_eq!(ref_code, out_code); + + let out_map = String::from_utf8(emitter.source_map().to_bytes().unwrap()).unwrap(); + let ref_map = if cfg!(target_os = "windows") { + fs::read_to_string(&map_path) + .unwrap() + .replace("\\n", "\\r\\n") + } else { + fs::read_to_string(&map_path).unwrap() + }; - assert_eq!(reference, emitter.as_str()); + assert_eq!(ref_map, out_map); } include!(concat!(env!("OUT_DIR"), "/test.rs")); diff --git a/crates/veryl/Cargo.toml b/crates/veryl/Cargo.toml index a8da3fc01..f9b873a10 100644 --- a/crates/veryl/Cargo.toml +++ b/crates/veryl/Cargo.toml @@ -49,3 +49,4 @@ veryl-emitter = {version = "0.10.1", path = "../emitter"} veryl-formatter = {version = "0.10.1", path = "../formatter"} veryl-metadata = {version = "0.10.1", path = "../metadata"} veryl-parser = {version = "0.10.1", path = "../parser"} +veryl-sourcemap = {version = "0.10.1", path = "../sourcemap"} diff --git a/crates/veryl/src/cmd_build.rs b/crates/veryl/src/cmd_build.rs index 2df1bc069..4f16cd4fe 100644 --- a/crates/veryl/src/cmd_build.rs +++ b/crates/veryl/src/cmd_build.rs @@ -11,7 +11,7 @@ use tempfile::TempDir; use veryl_analyzer::symbol::SymbolKind; use veryl_analyzer::{type_dag, Analyzer}; use veryl_emitter::Emitter; -use veryl_metadata::{FilelistType, Metadata, PathPair, Target}; +use veryl_metadata::{FilelistType, Metadata, PathPair, SourceMapTarget, Target}; use veryl_parser::{veryl_token::TokenSource, Parser}; pub struct CmdBuild { @@ -60,10 +60,7 @@ impl CmdBuild { None }; - for (path, _, parser, _) in &contexts { - let mut emitter = Emitter::new(metadata); - emitter.emit(&path.prj, &parser.veryl); - + for (path, input, parser, _) in &contexts { let dst = if let Some(ref temp_dir) = temp_dir { temp_dir.path().join( path.dst @@ -74,6 +71,26 @@ impl CmdBuild { path.dst.clone() }; + let map = match &metadata.build.sourcemap_target { + SourceMapTarget::Directory { path: map_dir } => { + let dst = path + .dst + .strip_prefix(metadata.project_path()) + .into_diagnostic()?; + let mut map = dst.to_path_buf(); + map.set_extension("sv.map"); + metadata.project_path().join(map_dir).join(map) + } + _ => { + let mut map = dst.clone(); + map.set_extension("sv.map"); + map + } + }; + + let mut emitter = Emitter::new(metadata, &path.src, &dst, &map); + emitter.emit(&path.prj, &parser.veryl); + let dst_dir = dst.parent().unwrap(); if !dst_dir.exists() { std::fs::create_dir_all(dst.parent().unwrap()).into_diagnostic()?; @@ -90,6 +107,28 @@ impl CmdBuild { file.flush().into_diagnostic()?; debug!("Output file ({})", dst.to_string_lossy()); + + if metadata.build.sourcemap_target != SourceMapTarget::None { + let source_map = emitter.source_map(); + source_map.set_source_content(input); + let source_map = source_map.to_bytes().into_diagnostic()?; + + let map_dir = map.parent().unwrap(); + if !map_dir.exists() { + std::fs::create_dir_all(map.parent().unwrap()).into_diagnostic()?; + } + + let mut file = OpenOptions::new() + .create(true) + .write(true) + .truncate(true) + .open(&map) + .into_diagnostic()?; + file.write_all(&source_map).into_diagnostic()?; + file.flush().into_diagnostic()?; + + debug!("Output map ({})", map.to_string_lossy()); + } } self.gen_filelist(metadata, &paths, temp_dir)?; diff --git a/crates/veryl/src/runner.rs b/crates/veryl/src/runner.rs index a2ce9d613..6c88a8d3a 100644 --- a/crates/veryl/src/runner.rs +++ b/crates/veryl/src/runner.rs @@ -2,8 +2,11 @@ use anstyle::{AnsiColor, Style}; use log::{debug, log_enabled, Level}; use miette::Result; use once_cell::sync::Lazy; +use regex::Regex; +use std::path::PathBuf; use veryl_metadata::Metadata; use veryl_parser::resource_table::StrId; +use veryl_sourcemap::SourceMap; mod vcs; mod verilator; @@ -59,3 +62,30 @@ pub trait Runner { self.failure(); } } + +pub fn remap_msg_by_regex(line: &str, re: &Regex) -> String { + let mut ret = line.to_string(); + + if let Some(caps) = re.captures(line) { + let start = caps.get(0).unwrap().start(); + let path = caps.name("path").unwrap().as_str().to_string(); + let line = caps.name("line").unwrap().as_str().parse::().unwrap(); + let column = caps + .name("column") + .map(|x| x.as_str().parse::().unwrap()); + + if let Ok(source_map) = SourceMap::from_src(&PathBuf::from(path)) { + if let Some((path, line, column)) = source_map.lookup(line, column.unwrap_or(1)) { + ret.push_str(&format!( + "\n{}^ from: {}:{}:{}", + " ".repeat(start), + path.to_string_lossy(), + line, + column + )); + } + } + } + + ret +} diff --git a/crates/veryl/src/runner/vcs.rs b/crates/veryl/src/runner/vcs.rs index 69660f671..916130ff9 100644 --- a/crates/veryl/src/runner/vcs.rs +++ b/crates/veryl/src/runner/vcs.rs @@ -1,7 +1,9 @@ -use crate::runner::Runner; +use crate::runner::{remap_msg_by_regex, Runner}; use futures::prelude::*; use log::{error, info}; use miette::{IntoDiagnostic, Result}; +use once_cell::sync::Lazy; +use regex::Regex; use std::process::Stdio; use tokio::process::{Child, Command}; use tokio::runtime::Runtime; @@ -25,6 +27,13 @@ pub struct Vcs { success: bool, } +fn remap_msg(line: &str) -> String { + static RE: Lazy = + Lazy::new(|| Regex::new(r###""?(?[^: "]+)"?, (?[0-9]+)"###).unwrap()); + + remap_msg_by_regex(line, &RE) +} + impl Vcs { pub fn new() -> Self { Self { @@ -52,10 +61,10 @@ impl Vcs { self.state = State::SimulateFatal; } else if line.starts_with("Warning-") { self.state = State::CompileWarning; - self.warning(line); + self.warning(&remap_msg(line)); } else if line.starts_with("Error-") { self.state = State::CompileError; - self.error(line); + self.error(&remap_msg(line)); } } State::SimulateInfo => { @@ -78,14 +87,14 @@ impl Vcs { if line.is_empty() { self.state = State::Idle; } else { - self.warning(line); + self.warning(&remap_msg(line)); } } State::CompileError => { if line.is_empty() { self.state = State::Idle; } else { - self.error(line); + self.error(&remap_msg(line)); } } } diff --git a/crates/veryl/src/runner/verilator.rs b/crates/veryl/src/runner/verilator.rs index 771f27516..873799ab7 100644 --- a/crates/veryl/src/runner/verilator.rs +++ b/crates/veryl/src/runner/verilator.rs @@ -1,4 +1,4 @@ -use crate::runner::Runner; +use crate::runner::{remap_msg_by_regex, Runner}; use futures::prelude::*; use log::{error, info}; use miette::{IntoDiagnostic, Result}; @@ -33,6 +33,14 @@ fn parse_msg(line: &str) -> String { } } +fn remap_msg(line: &str) -> String { + static RE: Lazy = Lazy::new(|| { + Regex::new(r"(?[^: ]+):(?[0-9]+)(?::(?[0-9]+))?").unwrap() + }); + + remap_msg_by_regex(line, &RE) +} + impl Verilator { pub fn new() -> Self { Self { @@ -60,34 +68,34 @@ impl Verilator { self.fatal(&parse_msg(line)); } else if line.starts_with("%Warning:") { self.state = State::CompileWarning; - self.warning(line); + self.warning(&remap_msg(line)); } else if line.starts_with("%Error:") { self.state = State::CompileError; - self.error(line); + self.error(&remap_msg(line)); } } State::CompileWarning => { if line.starts_with(' ') { - self.warning(line); - } else if line.starts_with("%Warning-") { + self.warning(&remap_msg(line)); + } else if line.starts_with("%Warning") { self.state = State::CompileWarning; - self.warning(line); - } else if line.starts_with("%Error:") { + self.warning(&remap_msg(line)); + } else if line.starts_with("%Error") { self.state = State::CompileError; - self.error(line); + self.error(&remap_msg(line)); } else { self.state = State::Idle; } } State::CompileError => { if line.starts_with(' ') { - self.error(line); - } else if line.starts_with("%Warning-") { + self.error(&remap_msg(line)); + } else if line.starts_with("%Warning") { self.state = State::CompileWarning; - self.warning(line); - } else if line.starts_with("%Error:") { + self.warning(&remap_msg(line)); + } else if line.starts_with("%Error") { self.state = State::CompileError; - self.error(line); + self.error(&remap_msg(line)); } else { self.state = State::Idle; } diff --git a/crates/veryl/src/runner/vivado.rs b/crates/veryl/src/runner/vivado.rs index 4ffd71f89..bebd12f57 100644 --- a/crates/veryl/src/runner/vivado.rs +++ b/crates/veryl/src/runner/vivado.rs @@ -1,7 +1,9 @@ -use crate::runner::Runner; +use crate::runner::{remap_msg_by_regex, Runner}; use futures::prelude::*; use log::{error, info}; use miette::{IntoDiagnostic, Result}; +use once_cell::sync::Lazy; +use regex::Regex; use std::process::Stdio; use tokio::process::{Child, Command}; use tokio::runtime::Runtime; @@ -23,6 +25,14 @@ pub struct Vivado { success: bool, } +fn remap_msg(line: &str) -> String { + static RE: Lazy = Lazy::new(|| { + Regex::new(r"(?[^: \[\]]+):(?[0-9]+)(?::(?[0-9]+))?").unwrap() + }); + + remap_msg_by_regex(line, &RE) +} + impl Vivado { pub fn new() -> Self { Self { @@ -53,9 +63,9 @@ impl Vivado { self.state = State::SimulateFatal; self.fatal(line.strip_prefix("Fatal: ").unwrap()); } else if line.starts_with("WARNING:") { - self.warning(line); + self.warning(&remap_msg(line)); } else if line.starts_with("ERROR:") { - self.error(line); + self.error(&remap_msg(line)); } } State::SimulateInfo => { diff --git a/testcases/map/testcases/sv/01_number.sv.map b/testcases/map/testcases/sv/01_number.sv.map new file mode 100644 index 000000000..18aed1321 --- /dev/null +++ b/testcases/map/testcases/sv/01_number.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"01_number.sv.map","sources":["../../../veryl/01_number.veryl"],"names":["","module","Module01",";","localparam","int unsigned","a","=","0123456789","aa","01234_56789","b","32'b01xzXZ","bb","32'b01_xz_XZ","bbb","32'sb01_xz_XZ","c","32'o01234567xzXZ","cc","32'o01234_567xzXZ","ccc","32'so01234_567xzXZ","d","32'd0123456789","dd","32'd01234_56789","ddd","32'sd01234_56789","e","128'h0123456789abcdefxzABCDEFXZ","ee","128'h01234_5678_9abc_defxz_ABCD_EFXZ","eee","128'sh01234_5678_9abc_defxz_ABCD_EFXZ","f","'0","ff","'1","fff","'x","ffff","'X","fffff","'z","ffffff","'Z","g","0123456789.0123456789","gg","0123456789.0123456789e+0123456789","ggg","0123456789.0123456789e-0123456789","gggg","0123456789.0123456789E+0123456789","ggggg","0123456789.0123456789E-0123456789","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;;IAEZC,WAAUC,aAAJC,GAAQC,EAAEC,UAAUL;IAC1BC,WAAUC,aAAJI,GAAQF,EAAEG,WAAWP;;;IAG3BC,WAAWC,aAALM,IAASJ,EAAEK,UAAUT;IAC3BC,WAAWC,aAALQ,IAASN,EAAEO,YAAYX;IAC7BC,WAAWC,aAALU,IAASR,EAAES,aAAab;;;IAG9BC,WAAWC,aAALY,IAASV,EAAEW,gBAAgBf;IACjCC,WAAWC,aAALc,IAASZ,EAAEa,iBAAiBjB;IAClCC,WAAWC,aAALgB,IAASd,EAAEe,kBAAkBnB;;;IAGnCC,WAAWC,aAALkB,IAAShB,EAAEiB,cAAcrB;IAC/BC,WAAWC,aAALoB,IAASlB,EAAEmB,eAAevB;IAChCC,WAAWC,aAALsB,IAASpB,EAAEqB,gBAAgBzB;;;IAGjCC,WAAWC,aAALwB,IAAStB,EAAEuB,+BAA+B3B;IAChDC,WAAWC,aAAL0B,IAASxB,EAAEyB,oCAAoC7B;IACrDC,WAAWC,aAAL4B,IAAS1B,EAAE2B,qCAAqC/B;;;IAGtDC,WAAcC,aAAR8B,OAAY5B,EAAE6B,EAAEjC;IACtBC,WAAcC,aAARgC,OAAY9B,EAAE+B,EAAEnC;IACtBC,WAAcC,aAARkC,OAAYhC,EAAEiC,EAAErC;IACtBC,WAAcC,aAARoC,OAAYlC,EAAEmC,EAAEvC;IACtBC,WAAcC,aAARsC,OAAYpC,EAAEqC,EAAEzC;IACtBC,WAAcC,aAARwC,OAAYtC,EAAEuC,EAAE3C;;;IAGtBC,WAAaC,aAAP0C,MAAWxC,EAAEyC,qBAAqB7C;IACxCC,WAAaC,aAAP4C,MAAW1C,EAAE2C,iCAAiC/C;IACpDC,WAAaC,aAAP8C,MAAW5C,EAAE6C,iCAAiCjD;IACpDC,WAAaC,aAAPgD,MAAW9C,EAAE+C,iCAAiCnD;IACpDC,WAAaC,aAAPkD,MAAWhD,EAAEiD,iCAAiCrD;AACxDsD"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/02_builtin_type.sv.map b/testcases/map/testcases/sv/02_builtin_type.sv.map new file mode 100644 index 000000000..c03422789 --- /dev/null +++ b/testcases/map/testcases/sv/02_builtin_type.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"02_builtin_type.sv.map","sources":["../../../veryl/02_builtin_type.veryl"],"names":["","module","Module02",";","int unsigned","_a","=","1","longint unsigned","_aa","int signed","_b","longint signed","_bb","shortreal","_c","real","_cc","logic","_d","[","10","]","_dd","][","_ddd","bit","_e","_ee","_eee","_f","_ff","_fff","_ffff","_fffff","_ffffff","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;;IAEHC,iBAALC;mBAASC,EAAEC,CAACJ;IACPK,iBAALC;oBAASH,EAAEC,CAACJ;;;IAGPO,eAALC;mBAASL,EAAEC,CAACJ;IACPS,eAALC;oBAASP,EAAEC,CAACJ;;;IAGPW,UAALC;mBAAST,EAAEC,CAACJ;IACPa,UAALC;oBAASX,EAAEC,CAACJ;;;IAGNe,uBAANC;mBAAoBb,EAAEC,CAACJ;IACjBe,MAAKE,CAACC,MAAEC,UAAdC;oBAAoBjB,EAAEC,CAACJ;IACjBe,MAAKE,CAACC,MAAEG,EAAEH,MAAEC,EAAlBG;qBAAoBnB,EAAEC,CAACJ;;;IAGjBuB,qBAANC;mBAAkBrB,EAAEC,CAACJ;IACfuB,IAAGN,CAACC,MAAEC,UAAZM;oBAAkBtB,EAAEC,CAACJ;IACfuB,IAAGN,CAACC,MAAEG,EAAEH,MAAEC,EAAhBO;qBAAkBvB,EAAEC,CAACJ;;;IAGZC,iBAAT0B,QAAaV,GAACC,IAAEC;mBAAEhB,EAAEC,CAACJ;IACZK,iBAATuB,QAAaX,GAACC,IAAEC;oBAAEhB,EAAEC,CAACJ;IACZO,iBAATsB,QAAaZ,GAACC,IAAEC;qBAAEhB,EAAEC,CAACJ;IACZS,iBAATqB,QAAab,GAACC,IAAEC;sBAAEhB,EAAEC,CAACJ;IACZW,iBAAToB,QAAad,GAACC,IAAEC;uBAAEhB,EAAEC,CAACJ;IACZa,iBAATmB,QAAaf,GAACC,IAAEC;wBAAEhB,EAAEC,CAACJ;AAC7BiC"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/03_operator.sv.map b/testcases/map/testcases/sv/03_operator.sv.map new file mode 100644 index 000000000..2ccefe5a1 --- /dev/null +++ b/testcases/map/testcases/sv/03_operator.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"03_operator.sv.map","sources":["../../../veryl/03_operator.veryl"],"names":["","module","Module03",";","logic","_a","=","+","1","_aa","-","_b","!","_bb","~","_c","&","_cc","|","_ccc","^","_cccc","~&","_ccccc","~|","_cccccc","~^","_ccccccc","^~","_d","**","_dd","*","_ddd","/","_dddd","%","_ddddd","_dddddd","_e","<<","_ee",">>","_eee","<<<","_eeee",">>>","_f","_ff","<=","_fff","_ffff",">=","_fffff","==","_ffffff","!=","_fffffff","===","_ffffffff","!==","_fffffffff","==?","_ffffffffff","!=?","_g","_gg","_ggg","_gggg","_ggggg","_h","&&","_hh","||","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;;IAEHC,MAALC;mBAAWC,EAAEC,CAACC,CAACL;IACVC,MAALK;oBAAWH,EAAEI,CAACF,CAACL;;;IAGVC,MAALO;mBAAWL,EAAEM,CAACJ,CAACL;IACVC,MAALS;oBAAWP,EAAEQ,CAACN,CAACL;;;IAGLC,MAAVW;mBAAgBT,EAAEU,CAACR,CAACL;IACVC,MAAVa;oBAAgBX,EAAEY,CAACV,CAACL;IACVC,MAAVe;qBAAgBb,EAAEc,CAACZ,CAACL;IACVC,MAAViB;sBAAgBf,EAAEgB,EAAEd,CAACL;IACXC,MAAVmB;uBAAgBjB,EAAEkB,EAAEhB,CAACL;IACXC,MAAVqB;wBAAgBnB,EAAEoB,EAAElB,CAACL;IACXC,MAAVuB;yBAAgBrB,EAAEsB,EAAEpB,CAACL;;;IAGZC,MAATyB;mBAAevB,EAAEE,EAAEsB,GAAGtB,CAACL;IACdC,MAAT2B;oBAAezB,EAAEE,EAAEwB,EAAExB,CAACL;IACbC,MAAT6B;qBAAe3B,EAAEE,EAAE0B,EAAE1B,CAACL;IACbC,MAAT+B;sBAAe7B,EAAEE,EAAE4B,EAAE5B,CAACL;IACbC,MAATiC;uBAAe/B,EAAEE,EAAED,EAAEC,CAACL;IACbC,MAATkC;wBAAehC,EAAEE,EAAEE,EAAEF,CAACL;;;IAGfC,MAAPmC;mBAAajC,EAAEE,EAAEgC,GAAGhC,CAACL;IACdC,MAAPqC;oBAAanC,EAAEE,EAAEkC,GAAGlC,CAACL;IACdC,MAAPuC;qBAAarC,EAAEE,EAAEoC,IAAIpC,CAACL;IACfC,MAAPyC;sBAAavC,EAAEE,EAAEsC,IAAItC,CAACL;;;IAGTC,MAAb2C;mBAAmBzC,EAAEE,IAAKA,CAACL;IACdC,MAAb4C;oBAAmB1C,EAAEE,EAAEyC,GAAGzC,CAACL;IACdC,MAAb8C;qBAAmB5C,EAAEE,IAAKA,CAACL;IACdC,MAAb+C;sBAAmB7C,EAAEE,EAAE4C,GAAG5C,CAACL;IACdC,MAAbiD;uBAAmB/C,EAAEE,EAAE8C,GAAG9C,CAACL;IACdC,MAAbmD;wBAAmBjD,EAAEE,EAAEgD,GAAGhD,CAACL;IACdC,MAAbqD;yBAAmBnD,EAAEE,EAAEkD,IAAIlD,CAACL;IACfC,MAAbuD;0BAAmBrD,EAAEE,EAAEoD,IAAIpD,CAACL;IACfC,MAAbyD;2BAAmBvD,EAAEE,EAAEsD,IAAItD,CAACL;IACfC,MAAb2D;4BAAmBzD,EAAEE,EAAEwD,IAAIxD,CAACL;;;IAGpBC,MAAR6D;mBAAc3D,EAAEE,EAAEQ,EAAER,CAACL;IACbC,MAAR8D;oBAAc5D,EAAEE,EAAEY,EAAEZ,CAACL;IACbC,MAAR+D;qBAAc7D,EAAEE,EAAEkB,GAAGlB,CAACL;IACdC,MAARgE;sBAAc9D,EAAEE,EAAEoB,GAAGpB,CAACL;IACdC,MAARiE;uBAAc/D,EAAEE,EAAEU,EAAEV,CAACL;;;IAGhBC,MAALkE;mBAAWhE,EAAEE,EAAE+D,GAAG/D,CAACL;IACdC,MAALoE;oBAAWlE,EAAEE,EAAEiE,GAAGjE,CAACL;AAC3BuE"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/04_module.sv.map b/testcases/map/testcases/sv/04_module.sv.map new file mode 100644 index 000000000..aca2e2ecb --- /dev/null +++ b/testcases/map/testcases/sv/04_module.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"04_module.sv.map","sources":["../../../veryl/04_module.veryl"],"names":["","module","Module04","#","(","parameter","int unsigned","a","=","1",",","localparam","aa","type","aaa","logic","[","10","]",")","input","b","output","bb","inout","tri","bbb","interface","bbbb","veryl_testcase_Interface04.d","bbbbb",";","c","longint unsigned","cc","_d","_dd","bit","][","_ddd","always_comb","0","assign","endmodule","Interface04","modport","d","endinterface"],"mappings":"AAAAA;AACAC,sBAAOC,SAASC,CAACC;;IAEbC,WAAWC,aAALC,IAAUC,EAAEC,cAASC;IAC3BC,WAAWL,aAALM,IAAUJ,EAAEC,cAASC;IAC3BC,WAAWE,aAALC,IAAUN,EAAEO,MAAKC,CAACC,MAAEC,CAAClB;AAC/BmB,EAAEf;;IAESgB,OAAOL,UAASC,CAACC,MAAEC,EAA1BG,KAA2BX;IACpBY,OAAOP,UAASC,CAACC,MAAEC,EAA1BK,KAA2Bb;IACpBc,OAAOC,IAAIV,MAAKC,CAACC,MAAEC,EAA1BQ,KAA2BhB;IACpBiB,UAAPC,KAAgBlB;IACDmB,6BAAfC,KAA6B9B;AACjCmB,CAAEY;;IAEEpB,WAAUL,iBAAJ0B,GAAQxB,EAAEC,CAACsB;IACjBpB,WAAUsB,iBAAJC,GAAQ1B,EAAEC,CAACsB;;;IAGPhB,uBAANoB;mBAAoB3B,EAAEC,CAACsB;IACjBhB,MAAKC,CAACC,MAAEC,UAAdkB;oBAAoB5B,EAAEC,CAACsB;IACjBM,MAAKrB,CAACC,MAAEqB,EAAErB,MAAEC,EAAlBqB;qBAAoB/B,EAAEC,CAACsB;;IAE3BS,YAAOjB,IAAIf,EAAEiC,CAACV;IACdW,OAAOhB,IAAIlB,EAAEiC,CAACV;AAClBY;;AAEAhB,yBAAUiB,WAAYb;IACXhB,MAAHiB,CAAQD;;IAEZc,QAAQC,EAAE1C;QACHgB,MAAHY,CAAQhC;IACZmB;AACJ4B"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/05_interface.sv.map b/testcases/map/testcases/sv/05_interface.sv.map new file mode 100644 index 000000000..f43706a61 --- /dev/null +++ b/testcases/map/testcases/sv/05_interface.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"05_interface.sv.map","sources":["../../../veryl/05_interface.veryl"],"names":["","interface","Interface05","#","(","parameter","int unsigned","a","=","1",",","aa","localparam","aaa",")",";","b","longint unsigned","bb","logic","c","[","10","]","cc","tri","][","ccc","modport","d","input","output","inout","endinterface"],"mappings":"AAAAA;AACAC,yBAAUC,YAAYC,CAACC;;IAEnBC,WAAWC,aAALC,IAASC,EAAEC,CAACC;IAClBL,WAAWC,aAALK,IAASH,EAAEC,CAACC;IAClBE,WAAWN,aAALO,IAASL,EAAEC,CAACT;AACtBc,CAAEC;;IAEEH,WAAUN,iBAAJU,GAAQR,EAAEC,CAACM;IACjBH,WAAUK,iBAAJC,GAAQV,EAAEC,CAACM;;;IAGRI,2BAALC,GAAsBL;IACjBI,UAASE,CAACC,MAAEC,UAAjBC,GAAsBT;IACjBU,IAAIN,MAAKE,CAACC,MAAEI,EAAEJ,MAAEC,EAArBI,GAAsBZ;;;IAG1Ba,QAAQC,EAAEzB;QACD0B,OAALV,GAAWV;QACNqB,OAALP,GAAWd;QACNsB,OAALL,GAAW3B;IACfc;AACJmB"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/06_function.sv.map b/testcases/map/testcases/sv/06_function.sv.map new file mode 100644 index 000000000..654dfa7a1 --- /dev/null +++ b/testcases/map/testcases/sv/06_function.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"06_function.sv.map","sources":["../../../veryl/06_function.veryl"],"names":["","module","Module06",";","localparam","int unsigned","ParamX","=","1","function","logic","[","]","FuncA","(","input","a",",","output","b","ref","c",")","d","+","/","return","2","endfunction","FuncC","e","always_comb","initial","begin","end","$clog2","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACZC,WAAcC,aAARC,OAAYC,EAAEC,CAACL;;;IAGrBM,mBAIKC,MAAKC,CAACL,UAAMM,EAJRC,KAAMC;QACRC,OAAOL,MAAKC,CAACL,UAAMM,EAAtBI,CAAuBC;QACpBC,OAAOR,MAAKC,CAACL,UAAMM,EAAtBO,CAAuBF;QACpBG,OAAOV,MAAKC,CAACL,UAAMM,EAAtBS,CAAuBrB;IAC3BsB,EAAEtB,CAAiBA;QACRK,aAAHkB;UAAOhB,EAAEC,CAACL;QACdgB,EAAEZ,EAAES,EAAEQ,EAAEhB,EAAEgB,EAAED,CAACpB;QACbkB,EAAEd,EAAES,EAAES,EAAEjB,CAACL;QACTuB,OAAOV,EAAEQ,EAAEG,CAACxB;IAChByB;;;IAGAnB,wBAASoB,KAAMf;QACRC,MAAML,MAAKC,CAACL,UAAMM,EAArBI,CAAsBC;QACnBG,MAAMV,MAAKC,CAACL,UAAMM,EAArBS,CAAsBrB;IAC1BsB,GAAEtB;QACEqB,EAAEd,EAAES,EAAES,EAAEjB,CAACL;IACbyB;;IAEOlB,MAAKC,CAACL,UAAMM,EAAfI;kBAAiBT,EAAEC,CAACL;IACjBO,MAAKC,CAACL,UAAMM,EAAfO;kBAAiBZ,EAAEC,CAACL;IACjBO,MAAKC,CAACL,UAAMM,EAAfS;kBAAiBd,EAAEC,CAACL;IACjBO,MAAKC,CAACL,UAAMM,EAAfW,CAAgBpB;IACbO,MAAKC,CAACL,UAAMM,EAAfkB,CAAgB3B;;;IAGpB4B,YAAOR,EAAEhB,EAAEM,KAAKC,CAACE,CAACC,EAAEE,CAACF,EAAEI,CAACC,CAACnB;;;IAGzB6B,QAAQC;QACJJ,KAAKf,CAACE,CAACC,EAAEI,CAACC,CAACnB;IACf+B;;;IAGAH,YAAOD,EAAEvB,EAAE4B,MAAMrB,CAACE,CAACM,CAACnB;AACxBiC"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/07_statement.sv.map b/testcases/map/testcases/sv/07_statement.sv.map new file mode 100644 index 000000000..0a0aea4a7 --- /dev/null +++ b/testcases/map/testcases/sv/07_statement.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"07_statement.sv.map","sources":["../../../veryl/07_statement.veryl"],"names":["","module","Module07",";","logic","a","aa","clk","=","1","always_comb","begin","+=","-=","*=","/=","%=","&=","|=","^=","<<=",">>=","<<<=",">>>=","if","end","else","for","int unsigned","i","0","10","+","2","==","break","j","&&","always_ff","(",")","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACHC,MAALC,GAAUF;IACLC,MAALE,GAAUH;IACLC,MAALG;oBAAWC,EAAEC,CAACN;;IAElBO,YAAYC;;QAERN,EAAEG,KAAKC,CAACN;QACRE,EAAEO,KAAKH,CAACN;QACRE,EAAEQ,KAAKJ,CAACN;QACRE,EAAES,KAAKL,CAACN;QACRE,EAAEU,KAAKN,CAACN;QACRE,EAAEW,KAAKP,CAACN;QACRE,EAAEY,KAAKR,CAACN;QACRE,EAAEa,KAAKT,CAACN;QACRE,EAAEc,KAAKV,CAACN;QACRE,EAAEe,KAAKX,CAACN;QACRE,EAAEgB,KAAKZ,CAACN;QACRE,EAAEiB,KAAKb,CAACN;QACRE,EAAEkB,KAAKd,CAACN;;;QAGRqB,IAAGnB,GAAEM;YACDN,GAAGG,EAAEC,CAACN;YACNG,GAAGE,EAAEC,CAACN;QACVsB,IAAEC,KAAKF,IAAGnB,GAAEM;YACRN,GAAGG,EAAEC,CAACN;YACNG,GAAGE,EAAEC,CAACN;QACVsB,IAAEC,KAAKf;YACHN,GAAGG,EAAEC,CAACN;YACNG,GAAGE,EAAEC,CAACN;QACVsB;;;QAGAE,KAAOC,aAAHC,IAAUC,GAAVD,IAAaE,IAAbF,KAAgBlB;YAChBN,GAAGG,EAAEqB,CAAC1B;YACNG,GAAGE,EAAEqB,EAAEG,EAAEvB,CAACN;QACdsB;;;QAGAE,KAAOC,aAAHC,IAAUC,GAAVD,KAAcE,IAAdF,KAAiBlB;YACjBN,GAAGG,EAAEqB,CAAC1B;YACNG,GAAGE,EAAEqB,EAAEG,EAAEvB,CAACN;QACdsB;;;QAGAE,KAAOC,aAAHC,IAAUC,GAAVD,IAAaE,IAAbF,EAAqBjB,GAAGqB,GAAEtB;YAC1BN,GAAGG,EAAEqB,CAAC1B;YACNG,GAAGE,EAAEqB,EAAEG,EAAEvB,CAACN;QACdsB;QACAE,KAAOC,aAAHC,IAAUC,GAAVD,IAAaE,IAAbF,EAAqBf,GAAGmB,GAAEtB;YAC1BN,GAAGG,EAAEqB,CAAC1B;YACNG,GAAGE,EAAEqB,EAAEG,EAAEvB,CAACN;QACdsB;;;QAGAE,KAAOC,aAAHC,IAAUC,GAAVD,IAAaE,IAAbF,KAAgBlB;YAChBN,GAAGG,EAAEqB,CAAC1B;YACNG,GAAGE,EAAEqB,EAAEG,EAAEvB,CAACN;YACVqB,IAAGK,EAAEK,GAAGJ,GAAEnB;gBACNwB,KAAKhC;YACTsB;QACJA;;QAEAE,KAAOC,aAAHC,IAAUC,GAAVD,IAAaE,IAAbF,KAAgBlB;YAChBgB,KAAOC,aAAHQ,IAAUN,GAAVM,IAAaL,IAAbK,KAAgBzB;gBAChBN,GAAGG,EAAEqB,CAAC1B;gBACNG,GAAGE,EAAEqB,EAAEG,EAAEI,CAACjC;gBACVqB,IAAGK,EAAEK,GAAGJ,EAAEO,GAAGD,EAAEF,GAAGJ,GAAEnB;oBAChBwB,KAAKhC;gBACTsB;YACJA;QACJA;IACJA;;IAEAa,YAAUC,SAAChC,GAAGiC,EAAE7B;QACZN,KAAAA,KAAOI,EAACN;QACRE,KAAAA,KAAOI,EAACN;QACRE,KAAAA,KAAOI,EAACN;QACRE,KAAAA,KAAOI,EAACN;QACRE,KAAAA,KAAOI,EAACN;QACRE,KAAAA,KAAOI,EAACN;QACRE,KAAAA,KAAOI,EAACN;QACRE,KAAAA,KAAOI,EAACN;QACRE,KAAAA,MAAOI,EAACN;QACRE,KAAAA,MAAOI,EAACN;QACRE,KAAAA,OAAOI,EAACN;QACRE,KAAAA,OAAOI,EAACN;IACZsB;AACJgB"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/08_generate_declaration.sv.map b/testcases/map/testcases/sv/08_generate_declaration.sv.map new file mode 100644 index 000000000..aa23bb07f --- /dev/null +++ b/testcases/map/testcases/sv/08_generate_declaration.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"08_generate_declaration.sv.map","sources":["../../../veryl/08_generate_declaration.veryl"],"names":["","module","Module08",";","localparam","int unsigned","a","=","1","b","logic","i_clk","if","==",":","label","always_ff","(",")","begin","end","else","label1","for","i","0","10","label2","+=","2","label3","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACZC,WAAaC,aAAPC,MAAaC,EAAEC,CAACL;IACtBC,WAAaC,aAAPI,MAAaF,EAAEC,CAACL;IACXO,aAAPC;sBAAaJ,EAAEC,CAACL;;;IAGpBS,IAAGN,EAAEO,GAAGL,SAAEM,CAACC,KAAMf;QACNU,MAAHJ,CAAQH;QACZa,YAAUC,SAACN,KAAKO,EAAEC;YACdb,GAAEC,EAAEC,CAACL;QACTiB;IACJA,IAAEC,KAAKT,IAAGH,EAAEI,GAAGL,eAAER;QACNU,MAAHJ,CAAQH;QACZa,YAAUC,SAACN,KAAKO,EAAEC;YACdb,GAAEC,EAAEC,CAACL;QACTiB;IACJA,IAAEC,KAAKT,IAAGH,EAAEI,GAAGL,SAAEM,CAACQ,MAAOtB;QACdU,MAAHJ,CAAQH;QACZa,YAAUC,SAACN,KAAKO,EAAEC;YACdb,GAAEC,EAAEC,CAACL;QACTiB;IACJA,IAAEC,iBAAKrB;QACIU,MAAHJ,CAAQH;QACZa,YAAUC,SAACN,KAAKO,EAAEC;YACdb,GAAEC,EAAEC,CAACL;QACTiB;IACJA;;;IAGAG,YAAIC,IAAKC,GAALD,IAAQE,IAARF,WAAWV,CAACa,MAAO3B;QACZU,MAAHJ,CAAQH;QACZa,YAAUC,SAACN,KAAKO,EAAEC;YACdb,GAAEC,EAAEiB,CAACrB;QACTiB;IACJA;;;IAGAG,YAAIC,IAAKC,GAALD,IAAQE,IAARF,EAAgBI,GAAGC,SAAEf,CAACgB,MAAO9B;QACtBU,MAAHJ,CAAQH;QACZa,YAAUC,SAACN,KAAKO,EAAEC;YACdb,GAAEC,EAAEiB,CAACrB;QACTiB;IACJA;AACJW"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/09_struct_enum.sv.map b/testcases/map/testcases/sv/09_struct_enum.sv.map new file mode 100644 index 000000000..8e904de96 --- /dev/null +++ b/testcases/map/testcases/sv/09_struct_enum.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"09_struct_enum.sv.map","sources":["../../../veryl/09_struct_enum.veryl"],"names":["","module","Module09",";","typedef struct packed","{","logic","[","10","]","a","aa","int unsigned","aaa","A","typedef enum","2","B_X","=","1",",","B_Y","B_Z","B","FOO_C_0","FOO_C_1","C","b","c","always_comb",".","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;;IAEZC,sBAASC;QACAC,aAAKC,CAACC,MAAEC,EAAbC,GAAcP;QACTG,aAAKC,CAACC,MAAEC,EAAbE,GAAcR;QACTS,sBAALC,GAAcV;MAHXW,EAIPd;;;IAGAe,aAAQT,MAAKC,CAACS,KAACP,EAAEJ;QACbY,IAAEC,EAAEC,CAACC;QACLC,IAAEH,EAAEF,CAACI;QACLE,GAACtB;MAHAuB,EAILvB;;IAGAe,aAAQT,MAAMD;QACVmB,OAAGJ;QACHK,OAAGzB;MAFF0B,EAGL1B;;IAEOc,EAAHJ,CAAIP;IACDoB,EAAHI,CAAIxB;IACDuB,EAAHE,CAAIzB;;IAER0B,YAAOnB,CAACoB,CAACpB,IAAIQ,EAAEC,CAAChB;IAChB0B,YAAOnB,CAACoB,CAACnB,IAAIO,EAAEC,CAAChB;IAChB0B,YAAOnB,CAACoB,CAACjB,IAAIK,EAAEC,CAAChB;IAChB0B,YAAOF,MAAMT,EAAED,GAAId;IACnB0B,YAAOD,MAAMV,EAAEM,OAAMrB;AACzB4B"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/10_various_line_comment.sv.map b/testcases/map/testcases/sv/10_various_line_comment.sv.map new file mode 100644 index 000000000..2dad4a425 --- /dev/null +++ b/testcases/map/testcases/sv/10_various_line_comment.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"10_various_line_comment.sv.map","sources":["../../../veryl/10_various_line_comment.veryl"],"names":["","module","Module10","(","input","logic","i_clk",",","i_rst_n","i_up","i_down","output","[","8","]","o_count",")",";","count","2","up_down","always_comb","=","begin","<<","1","|","end","always_ff","if","0","else","==","2'b10","+","2'b01","-","endmodule"],"mappings":"AAAAA,AAAAC;gBACCC;CACAC;;IAGIC;KACAC;KAHDC;IAIAC;IACOH,MAAMC,MAAbG,OAAkBD;IACXH,MAAMC,MAAbI,OAAkBF;;IAETH,OAAOC,cAAhBK,OAAwBH;IACfI,OAAON,MAAKO,CAACC,KAACC,EAAvBC,OAAwBf;AAC5BgB,CAAEC;;IAEIZ;KACFO;IACAC;QACAC;KAJII;IAKJD;IACaZ,MAAKO,CAACO,KAACL,EAAhBM,OAAiBH;;IAErBI,YAAON,QAAQO,EAAEJ,KAAKD;;IAEtBI;KACCE;QACGH,QAAQE;SACPnB,CAACM;SACDe;SACAC,CAACT;SACDU,EAAEhB,MAAMO;IACbU;;IAEAC;OACCzB,SAACG;IACFC;aACCC;IACDQ;KACCO;QACGM;oBACCN;YACGL,OAAMI,EAAEQ,CAACb;QACbU;SACCI;SACAF;UACAT;SACAY;SACAC,OAAMV;YACHL,OAAMI,EAAEJ;aACPgB,EAAET;YACHR;QACJU;SACCI;SACAF;UACAT,QAAQY,GAAGG,OAAMZ;YACdL;cACCI,EAAEJ,MAAMkB;aACRX,CAACR;QACNU;IACJA;AACJU"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/11_let.sv.map b/testcases/map/testcases/sv/11_let.sv.map new file mode 100644 index 000000000..5a8be32d4 --- /dev/null +++ b/testcases/map/testcases/sv/11_let.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"11_let.sv.map","sources":["../../../veryl/11_let.veryl"],"names":["","module","Module11",";","logic","b","[","10","]","bb","bit","][","_bbb","=","1","_c","always_comb","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;;IAEFC,uBAANC,IAAmBF;IACbC,MAAKE,CAACC,MAAEC,UAAdC,IAAmBN;IACbO,MAAKJ,CAACC,MAAEI,EAAEJ,MAAEC,EAAlBI;qBAAoBC,EAAEC,CAACX;;;IAGnBC,MAAKE,CAACC,MAAEC,EAAZO;mBAAcF,EAAEC,CAACX;;;IAGrBa,YAAOX,GAAGQ,EAAEC,CAACX;IACba,YAAOP,GAAGI,EAAEC,CAACX;AACjBc"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/12_always.sv.map b/testcases/map/testcases/sv/12_always.sv.map new file mode 100644 index 000000000..029149b2f --- /dev/null +++ b/testcases/map/testcases/sv/12_always.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"12_always.sv.map","sources":["../../../veryl/12_always.veryl"],"names":["","module","Module12_1","(","input","logic","i_clk",",","i_rst_n",")",";","a","b","always_ff","begin","if","=","0","end","else","~","endmodule","Module12_2","i_clk_p","i_clk_n","i_rst_ah","i_rst_al","i_rst_sh","i_rst_sl","aa","1","c","1'b0","[","]","5",":","always_comb","10","10'b0",".","10'b01z","+","16'hffff","*","3","/","4"],"mappings":"AAAAA,AAAAC,sBAAOC,WAAWC;IACPC,MAAMC,MAAbC,OAAkBC;IACXH,MAAMC,MAAbG,OAAkBR;AACtBS,CAAEC;IACSL,MAAHM,CAAQD;IACLL,MAAHO,CAAQF;;IAEZG,6CAAUC;QACNC,cAASD;YACLH,GAAEK,EAAEC,CAACP;QACTQ,IAAEC,KAAKL;YACHH,GAAEK,EAAEI,CAACT,CAACD;QACVQ;IACJA;;IAEAL,4BAAUC;QACNF,GAAEI,EAAEL,CAACD;IACTQ;AACJG;;AAEApB,sBAAOqB,WAAWnB;IACJC,MAAMC,MAAhBC,QAAgCC;IACtBH,MAAMC,MAAhBkB,QAAgChB;IACtBH,MAAMC,MAAhBmB,QAAgCjB;IACtBH,MAAMC,MAAhBG,QAAgCD;IACtBH,MAAMC,MAAhBoB,QAAgClB;IACtBH,MAAMC,MAAhBqB,QAAgCnB;IACtBH,MAAMC,MAAhBsB,QAAgCpB;IACtBH,MAAMC,MAAhBuB,QAAgC5B;AACpCS,CAAEC;IACUL,MAAJM,EAASD;IACLL,MAAJwB,EAASnB;IACLL,MAAJO;kBAAUI,EAAEc,CAACpB;IACTL,MAAJ0B;kBAAUf,EAAEc,CAACpB;;;IAGjBG,YAAUV,SAACG,KAAKC,UAAEC,OAAKC,EAAEK;QACrBC,cAASD;YACLH,GAAEK,EAAEgB,IAAItB;QACZQ,IAAEC,KAAKJ,IAAGJ,GAAEG;YACRH,GAAEK,EAAEJ,CAACqB,CAAChB,CAACiB,CAACxB;QACZQ,IAAEC,KAAKL;YACHH,GAAEK,EAAEe,CAACE,CAACE,CAACC,CAACnB,CAACiB,CAACxB;QACdQ;IACJA;;;IAGAL,YAAUV,SAACG,KAAKG,EAAEK;QACdC,IAAGJ,GAAEG;YACDH,GAAEK,EAAEJ,CAACF;QACTQ,IAAEC,KAAKL;YACHH,GAAEK,EAAEe,CAACE,CAACE,CAACC,CAACnB,CAACiB,CAACxB;QACdQ;IACJA;;;IAGAL,YAAUV,SAACoB,OAAOhB,UAAEkB,QAAQhB,EAAEK;QAC1BC,cAASD;YACLH,GAAEK,EAAEgB,IAAItB;QACZQ,IAAEC,KAAKL;YACHH,GAAEK,EAAEe,CAACE,CAACE,CAACC,CAACnB,CAACiB,CAACxB;QACdQ;IACJA;IACAL,YAAUV,SAACqB,OAAOjB,UAAEmB,QAAQjB,EAAEK;QAC1BC,eAASD;YACLH,GAAEK,EAAEgB,IAAItB;QACZQ,IAAEC,KAAKL;YACHH,GAAEK,EAAEe,CAACE,CAACE,CAACC,CAACnB,CAACiB,CAACxB;QACdQ;IACJA;IACAL,YAAUV,SAACoB,OAAiBd,EAAEK;QAC1BC,cAASD;YACLH,GAAEK,EAAEgB,IAAItB;QACZQ,IAAEC,KAAKL;YACHH,GAAEK,EAAEe,CAACE,CAACE,CAACC,CAACnB,CAACiB,CAACxB;QACdQ;IACJA;IACAL,YAAUV,SAACqB,OAAiBf,EAAEK;QAC1BC,eAASD;YACLH,GAAEK,EAAEgB,IAAItB;QACZQ,IAAEC,KAAKL;YACHH,GAAEK,EAAEe,CAACE,CAACE,CAACC,CAACnB,CAACiB,CAACxB;QACdQ;IACJA;;;IAGAmB,YAAYvB;QACRH,KAAKK,EAAEsB,EAAE5B;QACTmB,KAAKb,EAAEuB,KAAK7B;QACZmB,EAAEW,CAAC7B,EAAEK,EAAEyB,OAAO/B;;QAEdC,GAAGK,EAAEsB,GAAGI,EAAEJ,EAAE5B;QACZmB,GAAGb,EAAEsB,GAAGI,EAAEC,SAASC,EAAEzC,CAAC0C,EAAEC,EAAEC,CAACtC,CAACC;IAChCQ;AACJG"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/13_range_operator.sv.map b/testcases/map/testcases/sv/13_range_operator.sv.map new file mode 100644 index 000000000..982881467 --- /dev/null +++ b/testcases/map/testcases/sv/13_range_operator.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"13_range_operator.sv.map","sources":["../../../veryl/13_range_operator.veryl"],"names":["","module","Module13",";","logic","a","b","c","d","e","X","=","1","always_comb","[","0","]",":","+:","2","-:","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACLC,MAAHC,CAAQF;IACLC,MAAHE,CAAQH;IACLC,MAAHG,CAAQJ;IACLC,MAAHI,CAAQL;IACLC,MAAHK,CAAQN;IACLC,MAAHM;kBAASC,EAAEC,CAACT;;;IAGhBU,YAAOR,EAAEM,EAAED,CAACI,CAACC,CAACC,CAACb;;;IAGfU,YAAOP,EAAEK,EAAED,CAACI,CAACF,CAACK,CAACF,CAACC,CAACb;;;IAGjBU,YAAON,EAAEI,EAAED,CAACI,CAACF,CAACM,EAAEC,CAACH,CAACb;IAClBU,YAAOL,EAAEG,EAAED,CAACI,CAACF,CAACQ,EAAED,CAACH,CAACb;;;IAGlBU,YAAOJ,EAAEE,EAAED,CAACI,CAACF,GAAOO,KAAAA,EAACH,CAACb;AAC1BkB"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/14_inst.sv.map b/testcases/map/testcases/sv/14_inst.sv.map new file mode 100644 index 000000000..a2899caf8 --- /dev/null +++ b/testcases/map/testcases/sv/14_inst.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"14_inst.sv.map","sources":["../../../veryl/14_inst.veryl"],"names":["","module","Module14",";","localparam","int unsigned","X","=","1","logic","a","aa","bbb","veryl_testcase_Module14B","x","veryl_testcase_Module14C","#","(",",","Y","10",")","xx","bb","bbbb","veryl_testcase_InterfaceA","y","b","yy","xxx","yyy","[","]","endmodule","Module14B","Module14C","parameter","input","interface","InterfaceA","endinterface"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACZC,WAASC,aAAHC,EAAOC,EAAEC,CAACL;;IAEPM,MAALC;kBAAWH,EAAEC,CAACL;IACTM,MAALE;mBAAWJ,EAAEC,CAACL;IACTM,MAALG;oBAAWL,EAAEC,CAACL;;;IAGlBH,AAAQa,yBAAHC,IAAYX;;;IAGjBH,AAASe,yBAAUC,CAACC;SAChBX,GAAAA,GAAKY;SACLC,GAACnB,AAAEoB,GAAEpB;IACTqB,EAHKC,GAGHL;SACEP,MAAAA,IAASQ;SACTK,MAAIvB,AAAEW,IAAGO;SACTM,MAAIxB,AAAEY,IAAGZ;IACbqB,CAAClB;;;IAGDH,AAAQyB,0BAAHC,IAAavB;;;IAGlBH,AAAUyB,0BAAWT,CAACC,EAACP,GAAAA,EAACQ,GAAES,GAAC3B,AAAEoB,GAAEpB,AAACqB,EAA3BO,MAA4BzB;IACjCH,AAAUyB,0BAAWT,CAACC,EAACP,GAAAA,EAACQ,GAAES,GAAC3B,AAAEoB,GAAEpB,AAACqB,EAA3BQ,MAA4B1B;;;IAGjCH,AAAUyB,0BAALK,IAAgBC,GAACX,IAAEY,IAAC7B;AAC7B8B;;AAEAhC,sBAAOiC,SAAU/B;AAAC8B;;AAElBhC,sBAAOkC,UAAUnB,CAACC;IACdmB,UAAS/B,aAAHC,EAAOC,EAAEC,CAACU;IAChBkB,UAAS/B,aAAHc,EAAOZ,EAAEC,CAACR;AACpBqB,EAAEJ;IACQoB,MAAMhC,aAAZK,IAAeQ;IACTmB,MAAMhC,aAAZkB,IAAeL;IACTmB,MAAMhC,aAAZmB,IAAexB;AACnBqB,CAAElB;AAAC8B;;AAEHK,yBAAUC,WAAWvB,CAACC;IAClBmB,UAAS/B,aAAHK,EAAOH,EAAEC,CAACU;IAChBkB,UAAS/B,aAAHsB,EAAOpB,EAAEC,CAACR;AACpBqB,CAAElB;AAACqC"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/15_named_block.sv.map b/testcases/map/testcases/sv/15_named_block.sv.map new file mode 100644 index 000000000..2c89fb701 --- /dev/null +++ b/testcases/map/testcases/sv/15_named_block.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"15_named_block.sv.map","sources":["../../../veryl/15_named_block.veryl"],"names":["","module","Module15",";","logic","_a","=","1",":","label","end","label1","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACJC,MAAJC;mBAAUC,EAAEC,CAACJ;;IAEjBK,CAACC,KAAMT;QACKI,MAAJC;uBAAUC,EAAEC,CAACJ;IACrBO;;IAEAF,CAACG,MAAOX;QACII,MAAJC;uBAAUC,EAAEC,CAACJ;IACrBO;AACJE"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/16_case.sv.map b/testcases/map/testcases/sv/16_case.sv.map new file mode 100644 index 000000000..2363327e5 --- /dev/null +++ b/testcases/map/testcases/sv/16_case.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"16_case.sv.map","sources":["../../../veryl/16_case.veryl"],"names":["","module","Module16",";","logic","a","x","=","1","y","always_comb","begin","case",")","0",":","2","end","3",",","4","-","default","endcase","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACLC,MAAHC,CAAQF;IACLC,MAAHE;kBAASC,EAAEC,CAACL;IACTC,MAAHK;kBAASF,EAAEC,CAACL;;IAEhBO,YAAYC;QACRC,MAAKN,CAAEO;YACHC,CAACC,EAAEV,EAAEE,EAAEC,CAACL;YACRK,CAACO,EAAEV,EAAEE,EAAEC,CAACL;YACRa,CAACD,EAAEJ;mBACIN,EAAEE,EAAEC,CAACL;mBACLE,EAAEE,EAAEC,CAACL;mBACLE,EAAEE,EAAEC,CAACL;eACTc;YACHC,CAACC,EAAEC,IAAIL,EAAEV,EAAEE,EAAEC,CAACL;YACdM,EAAEY,EAAEb,GAAGO,EAAEV,EAAEE,EAAEC,CAACL;YACdmB,OAAOP,EAAEV,EAAEE,EAAEC,CAACL;QAClBoB;IACJN;AACJO"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/17_package.sv.map b/testcases/map/testcases/sv/17_package.sv.map new file mode 100644 index 000000000..347c326a7 --- /dev/null +++ b/testcases/map/testcases/sv/17_package.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"17_package.sv.map","sources":["../../../veryl/17_package.veryl"],"names":["","package","Package17",";","localparam","int unsigned","ParamX","=","1","logic","_b","typedef struct packed","{","[","10","]","a","aa","aaa","A","typedef enum","2","B_X",",","B_Y","B_Z","B","function","FuncA","(","input","output","b","ref","c",")","d","+","/","return","endfunction","endpackage"],"mappings":"AAAAA,AAAAC,uBAAQC,SAAUC;;IAEdC,WAAcC,aAARC,OAAYC,EAAEC,CAACL;;;IAGbM,MAAJC,EAASP;;;IAGbQ,sBAASC;QACAH,aAAKI,CAACC,MAAEC,EAAbC,GAAcb;QACTM,aAAKI,CAACC,MAAEC,EAAbE,GAAcd;QACTE,sBAALa,GAAcf;MAHXgB,EAIPnB;;;IAGAoB,aAAQX,MAAKI,CAACQ,KAACN,EAAEH;QACbU,IAAEf,EAAEC,CAACe;QACLC,IAAEjB,EAAEc,CAACE;QACLE,GAACzB;MAHA0B,EAIL1B;;;IAGA2B,mBAIKlB,MAAKI,CAACP,UAAMS,EAJRa,KAAMC;QACRC,OAAOrB,MAAKI,CAACP,UAAMS,EAAtBC,CAAuBO;QACpBQ,OAAOtB,MAAKI,CAACP,UAAMS,EAAtBiB,CAAuBT;QACpBU,OAAOxB,MAAKI,CAACP,UAAMS,EAAtBmB,CAAuBlC;IAC3BmC,EAAEnC,CAAiBA;QACRK,aAAH+B;UAAO7B,EAAEC,CAACL;QACd6B,EAAEzB,EAAES,EAAEqB,EAAE7B,EAAE6B,EAAED,CAACjC;QACb+B,EAAE3B,EAAES,EAAEsB,EAAE9B,CAACL;QACToC,OAAOvB,EAAEqB,EAAEhB,CAAClB;IAChBqC;AACJC"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/18_concatenation.sv.map b/testcases/map/testcases/sv/18_concatenation.sv.map new file mode 100644 index 000000000..1b0668647 --- /dev/null +++ b/testcases/map/testcases/sv/18_concatenation.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"18_concatenation.sv.map","sources":["../../../veryl/18_concatenation.veryl"],"names":["","module","Module18",";","logic","a","b","c","=","1","always_comb","{","[","10",":","0","]",",","}","4","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACLC,MAAHC,CAAQF;IACLC,MAAHE,CAAQH;IACLC,MAAHG;kBAASC,EAAEC,CAACN;;IAEhBO,YAAOL,EAAEG,EAAEG,CAACN,CAACO,CAACC,EAAEC,CAACC,CAACC,CAACC,EAAEV,CAACW,CAACf;IACvBO,YAAOJ,EAAEE,EAAEG,EAAgBE,GAAfR,CAACO,CAACC,EAAEC,CAACC,CAACC,GAAWC,GAAWE,EAATZ,GAAUW,CAACf;AAC9CiB"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/19_import_export.sv.map b/testcases/map/testcases/sv/19_import_export.sv.map new file mode 100644 index 000000000..751a2be7b --- /dev/null +++ b/testcases/map/testcases/sv/19_import_export.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"19_import_export.sv.map","sources":["../../../veryl/19_import_export.veryl"],"names":["","module","Module19",";","import","veryl_testcase_PackageA::A","veryl_testcase_PackageA","::","*","endmodule","interface","Interface19","endinterface","package","Package19","export","A","*::*","endpackage","PackageA","localparam","int unsigned","=","0"],"mappings":"AAAAA;;;AAGAC,sBAAOC;;;AAASC;IACZC,OAAOC,0BAAWF;IAClBC,OAAOE,uBAAQC,EAAEC,CAACL;AACtBM;;AAEAC,yBAAUC;;;AAAYR;IAClBC,OAAOC,0BAAWF;IAClBC,OAAOE,uBAAQC,EAAEC,CAACL;AACtBS;;AAEAC,uBAAQC,SAAUX;;;IACdC,OAAOC,0BAAWF;IAClBC,OAAOE,uBAAQC,EAAEC,CAACL;IAClBY,OAAOC,CAAWb;IAClBY,OAAOE,IAACd;AACZe;;AAEAL,uBAAQM,QAAShB;;;IACbiB,WAASC,aAAHL,EAAOM,EAAEC,CAACpB;AACpBe"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/20_if_case_expression.sv.map b/testcases/map/testcases/sv/20_if_case_expression.sv.map new file mode 100644 index 000000000..58f7ed1ed --- /dev/null +++ b/testcases/map/testcases/sv/20_if_case_expression.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"20_if_case_expression.sv.map","sources":["../../../veryl/20_if_case_expression.veryl"],"names":["","module","Module20",";","logic","a","b","x","=","1","y","always_comb","((",") ? (",")",":","(","2","))","0","3","4","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACLC,MAAHC,CAAQF;IACLC,MAAHE,CAAQH;IACLC,MAAHG;kBAASC,EAAEC,CAACN;IACTC,MAAHM;kBAASF,EAAEC,CAACN;;IAEhBQ,YAAON,EAAEG,EAAEI,EAAGL,CAAEM;QACZJ;IACJK,EAAEC,EAAKC;QACHJ,EAAGF,CAAEG;YACDJ;QACJK,EAAEC,EAAKC;YACHC;QACJC;IACJA,EAACf;;IAEDQ,YAAOL,EAAEE,EAAEI,EAAKP,KACZI;QAASU;SADGd,KAEZY;QAASR;IAACK,KAFET,KAGZe;QAASH;IAACH,KAHET,KAGTgB;QAAMJ;IAACH;QACDM;IACbF,EAACf;AACLmB"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/21_cast.sv.map b/testcases/map/testcases/sv/21_cast.sv.map new file mode 100644 index 000000000..c168322fa --- /dev/null +++ b/testcases/map/testcases/sv/21_cast.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"21_cast.sv.map","sources":["../../../veryl/21_cast.veryl"],"names":["","module","Module21",";","logic","a","b","=","1","typedef enum","{","EnumA_A",",","EnumA_B","EnumA","EnumB_C","EnumB_D","EnumB","always_comb","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACLC,MAAHC,CAAQF;IACLC,MAAHE;kBAASC,EAAEC,CAACL;;IAEhBM,aAAYL,MAAMM;QACdC,OAACC;QACDC,OAACb;MAFAc,MAGLd;;IAEAS,aAAYL,MAAMM;QACdK,OAACH;QACDI,OAAChB;MAFAiB,MAGLjB;;IAEAkB,YAAOb,EAAEE,EAAOO,OAASG,OAAdX,GAAmBH;AAClCgB"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/22_type_modifier.sv.map b/testcases/map/testcases/sv/22_type_modifier.sv.map new file mode 100644 index 000000000..0dea356e3 --- /dev/null +++ b/testcases/map/testcases/sv/22_type_modifier.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"22_type_modifier.sv.map","sources":["../../../veryl/22_type_modifier.veryl"],"names":["","module","Module22",";","logic","[","10","]","_a","=","1","tri","_b","_c","_d","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACGC,iBAASC,CAACC,MAAEC,EAAvBC;mBAAyBC,EAAEC,CAACP;IACxBQ,IAAWP,aAAKC,CAACC,MAAEC,EAAvBK;cAAyBH,EAAEC,CAACP;IACjBQ,IAAIP,aAAKC,CAACC,MAAEC,EAAvBM;cAAyBJ,EAAEC,CAACP;IACxBC,iBAAgBC,CAACC,MAAEC,EAAvBO;mBAAyBL,EAAEC,CAACP;AACpCY"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/23_ifdef.sv.map b/testcases/map/testcases/sv/23_ifdef.sv.map new file mode 100644 index 000000000..8260803a8 --- /dev/null +++ b/testcases/map/testcases/sv/23_ifdef.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"23_ifdef.sv.map","sources":["../../../veryl/23_ifdef.veryl"],"names":["","module","Module23","#","(","ifdef","DEFINE_A","DEFINE_B","DEFINE_C","DEFINE_D","parameter","int unsigned","ParamA","=","1",",","ParamB","ParamC",")","input","logic","port_a","port_b","port_c",";","[","10","]","_a","_b","_c","endmodule","Module23_A","ifndef","Module23_B","Module23_C"],"mappings":"AAAAA,AAAAC,sBAAOC,SAASC,CAACC;KACXC,MAAMC;KACND,MAAME;KACNF,MAAMG;KACNH,MAAMI;IACRC,UAAcC,aAARC,OAAYC,EAAEC;IAACC;;;;IACrBL,UAAcC,aAARK,OAAYH,EAAEC,CAACC;KACnBV,MAAMC;;IAEJI,UAAcC,aAARM,OAAYJ,EAAEC,CAACd;UACxBA;AACLkB,EAAEd;KACIC,MAAMC;IACAa,MAAMC,MAAdC;IAAmBN;IACXI,MAAMC,MAAdE,MAAmBP;;KAEjBV,MAAMC;;IAEIa,MAAMC,MAAdG,MAAmBvB;UACtBA;AACLkB,CAAEM;KACInB,MAAMC;KACND,MAAME;IACAa,MAAKK,CAACC,MAAEC,EAAZC;mBAAcf,EAAEC,CAACU;;;;KAEnBnB,MAAMC;IAEIc,MAAKK,CAACC,MAAEC,EAAZE;mBAAchB,EAAEC,CAACU;IACbJ,MAAKK,CAACC,MAAEC,EAAZG;mBAAcjB,EAAEC,CAACU;;;AAE7BO;;CAEE1B,MAAMC;AACRL,sBAAO+B,UAAWR;AAACO;;;CAEjBE,OAAO3B;AAELL,sBAAOiC,UAAWV;AAACO;AACnB9B,sBAAOkC,UAAWX;AAACO"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/24_sv_attribute.sv.map b/testcases/map/testcases/sv/24_sv_attribute.sv.map new file mode 100644 index 000000000..cbe917a0f --- /dev/null +++ b/testcases/map/testcases/sv/24_sv_attribute.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"24_sv_attribute.sv.map","sources":["../../../veryl/24_sv_attribute.veryl"],"names":["","module","Module24",";","ram_style=\"block\"","logic","_a","=","1","mark_debug=\"true\"","_b","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;OACPC;IACGC,MAAJC;mBAAUC,EAAEC,CAACL;OACZM;IACGJ,MAAJK;mBAAUH,EAAEC,CAACL;AACrBQ"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/25_dependency.sv.map b/testcases/map/testcases/sv/25_dependency.sv.map new file mode 100644 index 000000000..922ec8507 --- /dev/null +++ b/testcases/map/testcases/sv/25_dependency.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"25_dependency.sv.map","sources":["../../../veryl/25_dependency.veryl"],"names":["","module","Module25","(","input","logic","i_clk",",","i_rst_n","i_d","output","o_d0","o_d1",")",";","veryl_sample1_delay","u0","o_d","veryl_sample2_delay","u1","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,SAASC;IACHC,OAAOC,MAAhBC,OAAqBC;IACZH,OAAOC,MAAhBG,OAAqBD;IACZH,OAAOC,MAAhBI,OAAqBF;IACZG,OAAOL,MAAhBM,OAAqBJ;IACZG,OAAOL,MAAhBO,OAAqBZ;AACzBa,CAAEC;IACEd,AAASe,oBAAJC,GAAyBb;SAC1BG,SAAAA,QAAaC;SACbC,SAAAA,QAAaD;SACbE,SAAAA,QAAaF;SACbU,SAAOjB,AAAEW,QAAIX;IACjBa,CAACC;;IAEDd,AAASkB,oBAAJC,GAAyBhB;SAC1BG,SAAAA,QAAaC;SACbC,SAAAA,QAAaD;SACbE,SAAAA,QAAaF;SACbU,SAAOjB,AAAEY,QAAIZ;IACjBa,CAACC;AACLM"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/26_array.sv.map b/testcases/map/testcases/sv/26_array.sv.map new file mode 100644 index 000000000..89881fc45 --- /dev/null +++ b/testcases/map/testcases/sv/26_array.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"26_array.sv.map","sources":["../../../veryl/26_array.veryl"],"names":["","module","Module26",";","logic","[","10","]","_a","=","1","][","_b","_c","_d","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACJC,MAAKC,CAACC,MAAEC,UAAZC;mBAA2BC,EAAEC,CAACP;IAC1BC,MAAKC,CAACC,MAAEK,EAAEL,MAAEC,EAAhBK;mBAA2BH,EAAEC,CAACP;IAC1BC,MAAKC,CAACC,MAAEK,EAAEL,MAAEC,EAAhBM,GAAkBR,GAACC,IAAEC;mBAAME,EAAEC,CAACP;IAC1BC,MAAKC,CAACC,MAAEK,EAAEL,MAAEC,EAAhBO,GAAkBT,GAACC,IAAEK,IAAEL,IAAEC;mBAAEE,EAAEC,CAACP;AACtCY"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/27_string.sv.map b/testcases/map/testcases/sv/27_string.sv.map new file mode 100644 index 000000000..6e8b27533 --- /dev/null +++ b/testcases/map/testcases/sv/27_string.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"27_string.sv.map","sources":["../../../veryl/27_string.veryl"],"names":["","module","Module27",";","localparam","string","a","=","\"aaa\"","_b","\"bbb\"","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACZC,WAASC,OAAHC,EAAUC,EAAEC,KAAKL;;IAEfE,OAAJI;mBAAWF,EAAEG,KAAKP;AAC1BQ"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/28_msblsb.sv.map b/testcases/map/testcases/sv/28_msblsb.sv.map new file mode 100644 index 000000000..0a20f2c0f --- /dev/null +++ b/testcases/map/testcases/sv/28_msblsb.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"28_msblsb.sv.map","sources":["../../../veryl/28_msblsb.veryl"],"names":["","module","Module28",";","localparam","int unsigned","WIDTH0","=","10","WIDTH1","20","logic","[","][","]","a","1","+","b","_x",":","0","_y","-","3","5","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACZC,WAAcC,aAARC,OAAYC,EAAEC,EAAEL;IACtBC,WAAcC,aAARI,OAAYF,EAAEG,EAAEP;;IAEfQ,MAAKC,CAACJ,MAAEK,EAAEH,MAAEI,eAAfC;kBAA8BR,EAAES,CAACb;IAC9BQ,MAAKC,CAACN,OAAOW,EAAET,MAAEK,EAAEJ,UAAMK,EAA5BI;kBAA8BX,EAAES,CAACb;;IAE7BQ,MAAJQ;mBAAUZ,EAAEQ,CAACH,GAHJJ,QAGQM,CAACF,GAHLF,QAGSU,CAACC,EAAIJ,EAAED,CAACF,CAACX;IAC3BQ,MAAJW;mBAAUf,EAAEW,CAACN,GAHJN,OAAOW,EAAET,SAGAe,EAAEC,CAACV,CAACF,GAHAH,aAGKQ,EAAEQ,CAACL,CAACC,CAAGP,CAACX;AAC3CuB"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/29_allow.sv.map b/testcases/map/testcases/sv/29_allow.sv.map new file mode 100644 index 000000000..5fbb83e1a --- /dev/null +++ b/testcases/map/testcases/sv/29_allow.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"29_allow.sv.map","sources":["../../../veryl/29_allow.veryl"],"names":["","module","Module29","(","input","logic","clk",",","rst_n",")",";","a","b","c","=","1","always_ff","begin","if","0","end","else","veryl_testcase_Module29","u0","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,SAASC;IACPC,MAAMC,MAAXC,KAAgBC;IACXH,MAAMC,MAAXG,KAAgBR;AACpBS,CAAEC;IACSL,MAAHM,CAAQD;IACLL,MAAHO,CAAQF;;IAELL,MAAHQ;kBAASC,EAAEC,CAACL;;IAGhBM,YAAUb,SAACG,GAAGC,UAAEC,KAAGC,EAAEQ;QACjBC,YAASD;YACLN,GAAEG,EAAEK,CAACT;QACTU,IAAEC,KAAKJ;YACHN,GAAEG,EAAEK,CAACT;YACLE,GAAEE,EAAEK,CAACT;QACTU;IACJA;;IAGApB,AAASsB,wBAAJC,GAAapB;;;IAGlBM,CAACC;AACLc"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/30_empty.sv.map b/testcases/map/testcases/sv/30_empty.sv.map new file mode 100644 index 000000000..f1d7417d1 --- /dev/null +++ b/testcases/map/testcases/sv/30_empty.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"30_empty.sv.map","sources":["../../../veryl/30_empty.veryl"],"names":[""],"mappings":"AAAAA"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/31_initial_final.sv.map b/testcases/map/testcases/sv/31_initial_final.sv.map new file mode 100644 index 000000000..7464b8e2b --- /dev/null +++ b/testcases/map/testcases/sv/31_initial_final.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"31_initial_final.sv.map","sources":["../../../veryl/31_initial_final.veryl"],"names":["","module","Module31",";","initial","begin","$display","(","\"initial\"",")","end","final","\"final\"","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACZC,QAAQC;QACJC,QAAQC,CAACC,SAASC,CAACN;IACvBO;;IAEAC,MAAMN;QACFC,QAAQC,CAACK,OAAOH,CAACN;IACrBO;AACJG"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/32_inside_outside.sv.map b/testcases/map/testcases/sv/32_inside_outside.sv.map new file mode 100644 index 000000000..b7cb5ef2a --- /dev/null +++ b/testcases/map/testcases/sv/32_inside_outside.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"32_inside_outside.sv.map","sources":["../../../veryl/32_inside_outside.veryl"],"names":["","module","Module32",";","logic","a","b","always_comb","=","1","+","2","/","3","inside","{","0",",","10","}","*","-","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACLC,MAAHC,CAAQF;IACLC,MAAHE,CAAQH;;IAEZI,YAAOF,EAAEG,IAASC,EAAEC,EAAEC,EAAEC,EAAEC,GAAfC,OAAiBC,CAACC,CAACC,GAAED,GAAGE,MAAED,GAAER,EAAIS,GAAEC,EAAChB;IAC9CI,YAAOD,EAAEE,KAAUC,EAAEW,EAAET,EAAEU,EAAEZ,GAAhBK,OAAkBC,CAACC,CAACC,GAAED,GAAGE,MAAED,GAAER,EAAIS,GAAEC,EAAChB;AACnDmB"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/33_widthless_num.sv.map b/testcases/map/testcases/sv/33_widthless_num.sv.map new file mode 100644 index 000000000..525fd68fa --- /dev/null +++ b/testcases/map/testcases/sv/33_widthless_num.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"33_widthless_num.sv.map","sources":["../../../veryl/33_widthless_num.veryl"],"names":["","module","Module33",";","localparam","int unsigned","a0","=","1'b1","a1","4'b1010","a2","1'o1","a3","10'o1234","a4","1'd1","a5","24'd12345678","a6","1'h1","a7","32'hffffffff","a8","208'hffff_ffff_ffff_ffff_ffff_ffff_ffff_ffff_ffff_ffff_ffff_ffff_ffff","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACZC,WAAUC,aAAJC,GAAQC,EAAEC,IAAGL;IACnBC,WAAUC,aAAJI,GAAQF,EAAEG,OAAMP;IACtBC,WAAUC,aAAJM,GAAQJ,EAAEK,IAAGT;IACnBC,WAAUC,aAAJQ,GAAQN,EAAEO,QAAMX;IACtBC,WAAUC,aAAJU,GAAQR,EAAES,IAAGb;IACnBC,WAAUC,aAAJY,GAAQV,EAAEW,YAAUf;IAC1BC,WAAUC,aAAJc,GAAQZ,EAAEa,IAAGjB;IACnBC,WAAUC,aAAJgB,GAAQd,EAAEe,YAAUnB;IAC1BC,WAAUC,aAAJkB,GAAQhB,EAAEiB,qEAAkErB;AACtFsB"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/34_width_all_set.sv.map b/testcases/map/testcases/sv/34_width_all_set.sv.map new file mode 100644 index 000000000..bffed72e6 --- /dev/null +++ b/testcases/map/testcases/sv/34_width_all_set.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"34_width_all_set.sv.map","sources":["../../../veryl/34_width_all_set.veryl"],"names":["","module","Module34",";","localparam","int unsigned","a0","=","'0","a1","'1","a2","'x","a3","'z","a4","10'b0000000000","a5","10'b1111111111","a6","10'bxxxxxxxxxx","a7","10'bzzzzzzzzzz","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACZC,WAAUC,aAAJC,GAAQC,EAAEC,EAAEL;IAClBC,WAAUC,aAAJI,GAAQF,EAAEG,EAAEP;IAClBC,WAAUC,aAAJM,GAAQJ,EAAEK,EAAET;IAClBC,WAAUC,aAAJQ,GAAQN,EAAEO,EAAEX;IAClBC,WAAUC,aAAJU,GAAQR,EAAES,cAAIb;IACpBC,WAAUC,aAAJY,GAAQV,EAAEW,cAAIf;IACpBC,WAAUC,aAAJc,GAAQZ,EAAEa,cAAIjB;IACpBC,WAAUC,aAAJgB,GAAQd,EAAEe,cAAInB;AACxBoB"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/35_unconnected_port.sv.map b/testcases/map/testcases/sv/35_unconnected_port.sv.map new file mode 100644 index 000000000..7c8a56178 --- /dev/null +++ b/testcases/map/testcases/sv/35_unconnected_port.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"35_unconnected_port.sv.map","sources":["../../../veryl/35_unconnected_port.veryl"],"names":["","module","Module35",";","logic","aa","=","1","veryl_testcase_Module35B","xx","(",",","bb","bbbb",")","endmodule","Module35B","input","int unsigned"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACJC,MAAJC;mBAAUC,EAAEC,CAACJ;;IAEjBH,AAASQ,yBAAJC,GAAcC;SACfL,MAAAA,KAAOM;SACPC,MAAIZ,CAAGW;SACPE,MAAIb,CAAGA;IACXc,CAACX;AACLY;;AAEAd,sBAAOe,UAAUN;IACPO,MAAMC,aAAZb,IAAeM;IACTM,MAAMC,aAAZN,IAAeD;IACTM,MAAMC,aAAZL,IAAeb;AACnBc,CAAEX;AAACY"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/36_doc_comment.sv.map b/testcases/map/testcases/sv/36_doc_comment.sv.map new file mode 100644 index 000000000..21e9e4527 --- /dev/null +++ b/testcases/map/testcases/sv/36_doc_comment.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"36_doc_comment.sv.map","sources":["../../../veryl/36_doc_comment.veryl"],"names":["","module","Module36","#","(","parameter","int unsigned","ParamA","=","1",",","localparam","ParamB",")","input","logic","i_clk","i_rst_n","[","]","i_data","output","o_data",";","always_comb","0","endmodule","interface","Interface36","endinterface","package","Package36","endpackage"],"mappings":"AAAAA;;;;;;;;;;;;;;;;AAgBIC,sBAAOC,SAASC,CAACC;;IAEjBC,WAAcC,aAARC,OAAYC,EAAEC,CAACC;IACrBC,WAAcL,aAARM,OAAYJ,EAAEC,CAACT;AACzBa,EAAET;IACWU,OAAOC,mBAAhBC,OAA6BN;IACpBI,OAAOC,mBAAhBE,OAA6BP;IACpBI,OAAOC,MAAKG,CAACX,UAAMY,EAA5BC,OAA6BV;IACpBW,OAAON,MAAKG,CAACX,UAAMY,EAA5BG,OAA6BtB;AACjCa,CAAEU;IACEC,YAAOF,OAAOd,EAAEiB,CAACF;AACrBG;;;;;;AAMIC,yBAAUC,YAAYzB,CAACC;IACvBC,WAAcC,aAARC,OAAYC,EAAEC,CAACC;IACrBC,WAAcL,aAARM,OAAYJ,EAAEC,CAACT;AACzBa,CAAEU;AAACM;;;;;;AAMCC,uBAAQC,SAAUR;AAACS"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/37_package_ref.sv.map b/testcases/map/testcases/sv/37_package_ref.sv.map new file mode 100644 index 000000000..f39329fc8 --- /dev/null +++ b/testcases/map/testcases/sv/37_package_ref.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"37_package_ref.sv.map","sources":["../../../veryl/37_package_ref.veryl"],"names":["","module","Module37",";","int unsigned","_a","=","veryl_testcase_Package37::A","_b","veryl_testcase_Package37::B_C","_c","veryl_testcase_Package37::X","(",")","endmodule","package","Package37","localparam","A","1","typedef enum","logic","{","B_C","B","function","X","return","0","endfunction","endpackage"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACJC,aAAJC;mBAAQC,EAAEC,2BAAYJ;IAClBC,aAAJI;mBAAQF,EAAEG,6BAAeN;IACrBC,aAAJM;mBAAQJ,EAAEK,2BAAYC,CAACC,CAACV;AAChCW;AACAC,uBAAQC,SAAUb;IACdc,WAASb,aAAHc,EAAOZ,EAAEa,CAAChB;;IAEhBiB,aAAQC,MAAMC;QACVC,GAACvB;MADAwB,EAELxB;;IAEAyB,mBAAcrB,aAALsB,CAAE1B,CAAOA;QACd2B,OAAOC,CAACzB;IACZ0B;AACJC"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/38_typedef.sv.map b/testcases/map/testcases/sv/38_typedef.sv.map new file mode 100644 index 000000000..c41d696d0 --- /dev/null +++ b/testcases/map/testcases/sv/38_typedef.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"38_typedef.sv.map","sources":["../../../veryl/38_typedef.veryl"],"names":["","module","Module38",";","typedef","logic","[","16","]","word_t","][","words_t","regfile_t","bit","8","octbyte","rf","always_comb","0","=","'0","endmodule","interface","Interface38","endinterface","package","Package38","endpackage"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACZC,QAAiBC,OAAMC,CAACC,MAAEC,UAArBC,SAA+BN;IACpCC,QAAiBC,OAAMC,CAACC,MAAEG,EAAEH,MAAEC,EAAzBG,SAA+BR;IACpCC,QAAiBK,wBAAZG,UAA2BN,GAACC,IAAEC,CAACL;;IAEpCC,QAAeS,IAAGP,CAACQ,KAACN,EAAfO,QAAiBT,GAACQ,GAACN,CAACL;;IAEdS,UAAPI,KAAgBb;IACpBc,YAAOD,EAAEV,CAACY,CAACV,EAAEW,EAAEC,EAAEjB;AACrBkB;;AAEAC,yBAAUC,WAAYpB;IAClBC,QAAiBC,OAAMC,CAACC,MAAEC,UAArBC,SAA+BN;IACpCC,QAAiBC,OAAMC,CAACC,MAAEG,EAAEH,MAAEC,EAAzBG,SAA+BR;IACpCC,QAAiBK,wBAAZG,UAA2BN,GAACC,IAAEC,CAACL;;IAEpCC,QAAeS,IAAGP,CAACQ,KAACN,EAAfO,QAAiBT,GAACQ,GAACN,CAACL;AAC7BqB;;AAEAC,uBAAQC,SAAUvB;IACdC,QAAiBC,OAAMC,CAACC,MAAEC,UAArBC,SAA+BN;IACpCC,QAAiBC,OAAMC,CAACC,MAAEG,EAAEH,MAAEC,EAAzBG,SAA+BR;IACpCC,QAAiBK,wBAAZG,UAA2BN,GAACC,IAAEC,CAACL;;IAEpCC,QAAeS,IAAGP,CAACQ,KAACN,EAAfO,QAAiBT,GAACQ,GAACN,CAACL;AAC7BwB"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/39_modport.sv.map b/testcases/map/testcases/sv/39_modport.sv.map new file mode 100644 index 000000000..f09a73d12 --- /dev/null +++ b/testcases/map/testcases/sv/39_modport.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"39_modport.sv.map","sources":["../../../veryl/39_modport.veryl"],"names":["","module","Module39","(","veryl_testcase_Interface39.master","mst",",","veryl_testcase_Interface39.slave","slv",")",";","logic","a","always_comb",".","=","get_a","endmodule","interface","Interface39","function","return","endfunction","modport","master","output","slave","input","import","endinterface"],"mappings":"AAAAA,AAAAC,sBAAOC,SAASC;IACCC,kCAAbC,GAAgCC;IACnBC,kCAAbC,GAAgCR;AACpCS,CAAEC;IACaC,MAAPC,KAAYF;IAChBG,YAAOR,GAAGS,CAACF,EAAEG,EAAEH,CAACF;IAChBG,YAAOD,MAAMG,EAAEP,GAAGM,CAACE,KAAKb,CAACM,CAACC;AAC9BO;;AAEAC,yBAAUC,WAAYT;IACXC,MAAHC,CAAQF;;IAEZU,mBAAqBT,MAAZK,KAAMb,CAACM,EAAET,CAASA;QACvBqB,OAAOT,CAACF;IACZY;;IAEAC,QAAQC,OAAOrB;QACRsB,OAAHb,CAASZ;IACbS;;IAEAc,QAAQG,MAAMvB;QACHwB,OAAPf,KAAaN;QACNsB,OAAPZ,KAAahB;IACjBS;AACJoB"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/40_enum_resolve.sv.map b/testcases/map/testcases/sv/40_enum_resolve.sv.map new file mode 100644 index 000000000..759d0f008 --- /dev/null +++ b/testcases/map/testcases/sv/40_enum_resolve.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"40_enum_resolve.sv.map","sources":["../../../veryl/40_enum_resolve.veryl"],"names":["","module","Module40",";","typedef enum","logic","[","2","]","{","EnumA_member_a",",","EnumA_member_b","EnumA_member_c","=","3","EnumA","a","always_comb","function","is_a","(","input","e",")","return","==","endfunction","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;;IAEZC,aAAYC,MAAKC,CAACC,KAACC,EAAEC;QACjBC,cAAQC;;QAERC,cAAQD;QACRE,eAASC,EAAEC,CAACf;MAJXgB,MAKLhB;;IAEOgB,MAAHC,CAAQd;;IAEZe,YAAOD,EAAEH,EAAEJ,cAAeP;IAC1BgB,mBAEKd,MAFIe,IAAKC;QACPC,MAAMN,MAATO,CAAcvB;IAClBwB,EAAExB,CAASA;QACPyB,OAAOF,EAAEG,GAAGhB,cAAeP;IAC/BwB;AACJC"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/41_union.sv.map b/testcases/map/testcases/sv/41_union.sv.map new file mode 100644 index 000000000..687dd2e6c --- /dev/null +++ b/testcases/map/testcases/sv/41_union.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"41_union.sv.map","sources":["../../../veryl/41_union.veryl"],"names":["","module","Module41",";","typedef enum","logic","{","Boolean_True","=","1",",","Boolean_False","0","Boolean","typedef union packed","b","c","A","foo","always_comb",".","1'b0","bar","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACZC,aAAcC,MAAMC;QAChBC,aAAKC,EAAEC,CAACC;QACRC,cAAMH,EAAEI,CAACZ;MAFRa,QAGLb;;IAEAc,qBAAQR;QACDD,QAAHU,CAAUZ;QACPU,QAAHG,CAAUb;MAFRc,EAGNjB;;IAEWiB,EAAPC,KAAQf;IACZgB,YAAOD,GAAGE,CAACL,EAAEP,EAAEa,IAAIlB;;IAERc,EAAPK,KAAQnB;IACZgB,YAAOG,GAAGF,CAACJ,EAAER,EAAED,YAAaJ;AAChCoB"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/42_sv_namespace.sv.map b/testcases/map/testcases/sv/42_sv_namespace.sv.map new file mode 100644 index 000000000..fa7cc9fee --- /dev/null +++ b/testcases/map/testcases/sv/42_sv_namespace.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"42_sv_namespace.sv.map","sources":["../../../veryl/42_sv_namespace.veryl"],"names":["","module","Module42","(","input","logic","i_clk",",","i_rst_n","i_d","output","o_d",")",";","localparam","int unsigned","a","=","pkg::paramA","delay","u0","u1","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,SAASC;IACHC,OAAOC,MAAhBC,OAAqBC;IACZH,OAAOC,MAAhBG,OAAqBD;IACZH,OAAOC,MAAhBI,OAAqBF;IACZG,OAAOL,MAAhBM,OAAqBX;AACzBY,CAAEC;IACEC,WAASC,aAAHC,EAAOC,EAAEC,WAAgBL;;;IAG/Bb,AAASmB,MAAJC,GAAejB;SAChBG,SAAAA,QAASC;SACTC,SAAAA,QAASD;SACTE,SAAAA,QAASF;SACTI,SAAAA,QAASX;IACbY,CAACC;;IAEDb,AAASmB,MAAJE,GAAelB;SAChBG,SAAAA,QAASC;SACTC,SAAAA,QAASD;SACTE,SAAAA,QAASF;SACTI,SAAAA,QAASX;IACbY,CAACC;AACLS"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/43_sv_member.sv.map b/testcases/map/testcases/sv/43_sv_member.sv.map new file mode 100644 index 000000000..4c60d42a9 --- /dev/null +++ b/testcases/map/testcases/sv/43_sv_member.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"43_sv_member.sv.map","sources":["../../../veryl/43_sv_member.veryl"],"names":["","module","Module43",";","StructA","a","logic","[","10","]","b","always_comb","=",".","memberA","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACLC,iBAAHC,CAAmBF;IAChBG,QAAYC,CAACC,MAAEC,EAAlBC,CAAmBP;;IAEvBQ,YAAOD,EAAEE,EAAEP,CAACQ,CAACC,OAAOX;AACxBY"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/44_import_resolve.sv.map b/testcases/map/testcases/sv/44_import_resolve.sv.map new file mode 100644 index 000000000..8059861e0 --- /dev/null +++ b/testcases/map/testcases/sv/44_import_resolve.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"44_import_resolve.sv.map","sources":["../../../veryl/44_import_resolve.veryl"],"names":["","module","Module44",";","logic","[","10","]","a","b","c","import","veryl_testcase_Package44A::z","veryl_testcase_Package44B","::","*","always_comb","=","z","y","endmodule","package","Package44A","localparam","int unsigned","0","endpackage","Package44B"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACLC,MAAKC,CAACC,MAAEC,EAAXC,CAAYL;IACTC,MAAKC,CAACC,MAAEC,EAAXE,CAAYN;IACTC,MAAKC,CAACC,MAAEC,EAAXG,CAAYP;;IAEhBQ,OAAOC,4BAAaT;IACpBQ,OAAOE,yBAAUC,EAAEC,CAACZ;;IAEpBa,YAAOR,EAAES,EAAEC,CAAaf;IACxBa,YAAOP,EAAEQ,EAAEC,CAACf;IACZa,YAAON,EAAEO,EAAEE,CAAChB;AAChBiB;;AAEAC,uBAAQC,UAAWnB;IACfoB,WAASC,aAAHN,EAAOD,EAAEQ,CAACtB;AACpBuB;;AAEAL,uBAAQM,UAAWxB;IACfoB,WAASC,aAAHL,EAAOF,EAAEQ,CAACtB;AACpBuB"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/45_let_in_always.sv.map b/testcases/map/testcases/sv/45_let_in_always.sv.map new file mode 100644 index 000000000..30e57c227 --- /dev/null +++ b/testcases/map/testcases/sv/45_let_in_always.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"45_let_in_always.sv.map","sources":["../../../veryl/45_let_in_always.veryl"],"names":["","module","Module45",";","logic","a","=","1","[","10","]","b","c","always_ff","(",")","begin","x","*","end","always_comb","y","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACLC,eAAHC;kBAAaC,EAAEC,CAACJ;IACbC,MAAKI,CAACC,MAAEC,EAAXC,CAAYR;IACTC,MAAKI,CAACC,MAAEC,EAAXE,CAAYT;;IAEhBU,YAAUC,SAACT,CAACU,EAAEC;QACHZ,MAAKI,CAACC,MAAEC,EAAXO;UAAaX,EAAEC,CAACJ;QACpBQ,GAAEL,EAAEW,EAAEC,EAAEX,CAACJ;IACbgB;;IAEAC,YAAYJ;QACDZ,MAAKI,CAACC,MAAEC,EAAXW;UAAaf,EAAEC,CAACJ;QACpBS,EAAEN,EAAEe,EAAEH,EAAEX,CAACJ;IACbgB;AACJG"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/46_let_anywhere.sv.map b/testcases/map/testcases/sv/46_let_anywhere.sv.map new file mode 100644 index 000000000..6f69f82c2 --- /dev/null +++ b/testcases/map/testcases/sv/46_let_anywhere.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"46_let_anywhere.sv.map","sources":["../../../veryl/46_let_anywhere.veryl"],"names":["","module","Module46",";","logic","a","=","1","[","10","]","b","c","d","e","always_ff","(",")","begin","x","*","end","always_comb","y","function","FuncA","input",",","output","ref","int unsigned","/","+","return","2","endfunction","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACLC,eAAHC;kBAAaC,EAAEC,CAACJ;IACbC,MAAKI,CAACC,MAAEC,EAAXC,CAAYR;IACTC,MAAKI,CAACC,MAAEC,EAAXE,CAAYT;IACTC,MAAKI,CAACC,MAAEC,EAAXG,CAAYV;IACTC,MAAKI,CAACC,MAAEC,EAAXI,CAAYX;;IAEhBY,YAAUC,SAACX,CAACY,EAAEC;QAEHd,MAAKI,CAACC,MAAEC,EAAXS;QADJN,GAAEP,EAAEC,CAACJ;UACYG,EAAEC,CAACJ;QACpBQ,GAAEL,EAAEa,EAAEC,EAAEb,CAACJ;IACbkB;;IAEAC,YAAYJ;QAEDd,MAAKI,CAACC,MAAEC,EAAXa;QADJT,EAAER,EAAEC,CAACJ;UACYG,EAAEC,CAACJ;QACpBS,EAAEN,EAAEiB,EAAEH,EAAEb,CAACJ;IACbkB;;IAEAG,mBAIKpB,MAAKI,CAACC,MAAEC,EAJJe,KAAMT;QACRU,OAAOtB,MAAKI,CAACC,MAAEC,EAAlBL,CAAmBsB;QAChBC,OAAOxB,MAAKI,CAACC,MAAEC,EAAlBC,CAAmBgB;QAChBE,OAAOzB,MAAKI,CAACC,MAAEC,EAAlBE,CAAmBZ;IACvBiB,EAAEjB,CAAaA;QAEJ8B,aAAHjB;QADJD,EAAEN,EAAED,EAAE0B,EAAExB,CAACJ;UACEG,EAAEC,CAACJ;QACdQ,EAAEL,EAAED,EAAE2B,EAAEzB,EAAEyB,EAAEnB,CAACV;QACb8B,OAAO5B,EAAE2B,EAAEE,CAAC/B;IAChBgC;AACJC"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/47_embed.sv.map b/testcases/map/testcases/sv/47_embed.sv.map new file mode 100644 index 000000000..21505fa97 --- /dev/null +++ b/testcases/map/testcases/sv/47_embed.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"47_embed.sv.map","sources":["../../../veryl/47_embed.veryl"],"names":["","module","Module47",";","endmodule","\nmodule test;\n initial begin\n $display(\"hello\");\n end\nendmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;AAACC;;AAEAC"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/48_test.sv.map b/testcases/map/testcases/sv/48_test.sv.map new file mode 100644 index 000000000..7565ed035 --- /dev/null +++ b/testcases/map/testcases/sv/48_test.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"48_test.sv.map","sources":["../../../veryl/48_test.veryl"],"names":["","module","Module48",";","endmodule","`ifdef __veryl_test_veryl_testcase_test1__","\nmodule test1;\n initial begin\n $display(\"hello\");\n assert(0) else $info(\"info\");\n assert(0) else $warning(\"warning\");\n assert(0) else $error(\"error\");\n assert(0) else $fatal(1, \"fatal\");\n $finish();\n end\nendmodule","`ifdef __veryl_test_veryl_testcase_test2__","\nmodule test2;\n // parse error\n initial\nendmodule","`ifdef __veryl_test_veryl_testcase_test3__","\nmodule test3;\n // elaborate error\n tri logic a;\n always_comb a = 1;\nendmodule","`ifdef __veryl_test_veryl_testcase_test4__","test4","initial","begin","$display","(","\"test4\"",")","end"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;AAACC;;AAEjBC;AACiBC;;;;;;;;;;;;;AAajBC;AACiBC;;;;;;;AAOjBC;AACiBC;;;;;;;;AAQjBC;AACAV,sBAAOW,KAAMT;IACTU,QAAQC;QACJC,QAAQC,CAACC,OAAOC,CAACf;IACrBgB;AACJf"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/49_system_function.sv.map b/testcases/map/testcases/sv/49_system_function.sv.map new file mode 100644 index 000000000..ee5939c42 --- /dev/null +++ b/testcases/map/testcases/sv/49_system_function.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"49_system_function.sv.map","sources":["../../../veryl/49_system_function.veryl"],"names":["","module","Module49",";","logic","a","always_comb","begin","=","$acos","(",")","$acosh","$asin","$asinh","$assertcontrol","$assertfailoff","$assertfailon","$assertkill","$assertnonvacuouson","$assertoff","$asserton","$assertpassoff","$assertpasson","$assertvacuousoff","$async$and$array","$async$and$plane","$async$nand$array","$async$nand$plane","$async$nor$array","$async$nor$plane","$async$or$array","$async$or$plane","$atan","$atan2","$atanh","$bits","$bitstoreal","$bitstoshortreal","$cast","$ceil","$changed","$changed_gclk","$changing_gclk","$clog2","$cos","$cosh","$countbits","$countones","$coverage_control","$coverage_get","$coverage_get_max","$coverage_merge","$coverage_save","$dimensions","$display","$displayb","$displayh","$displayo","$dist_chi_square","$dist_erlang","$dist_exponential","$dist_normal","$dist_poisson","$dist_t","$dist_uniform","$dumpall","$dumpfile","$dumpflush","$dumplimit","$dumpoff","$dumpon","$dumpports","$dumpportsall","$dumpportsflush","$dumpportslimit","$dumpportsoff","$dumpportson","$dumpvars","$error","$exit","$exp","$falling_gclk","$fatal","$fclose","$fdisplay","$fdisplayb","$fdisplayh","$fdisplayo","$fell","$fell_gclk","$feof","$ferror","$fflush","$fgetc","$fgets","$finish","$floor","$fmonitor","$fmonitorb","$fmonitorh","$fmonitoro","$fopen","$fread","$fscanf","$fseek","$fstrobe","$fstrobeb","$fstrobeh","$fstrobeo","$ftell","$future_gclk","$fwrite","$fwriteb","$fwriteh","$fwriteo","$get_coverage","$high","$hypot","$increment","$info","$isunbounded","$isunknown","$itor","$left","$ln","$load_coverage_db","$log10","$low","$monitor","$monitorb","$monitorh","$monitoro","$monitoroff","$monitoron","$onehot","$onehot0","$past","$past_gclk","$pow","$printtimescale","$q_add","$q_exam","$q_full","$q_initialize","$q_remove","$random","$readmemb","$readmemh","$realtime","$realtobits","$rewind","$right","$rising_gclk","$rose","$rose_gclk","$rtoi","$sampled","$set_coverage_db_name","$sformat","$sformatf","$shortrealtobits","$signed","$sin","$sinh","$size","$sqrt","$sscanf","$stable","$stable_gclk","$steady_gclk","$stime","$stop","$strobe","$strobeb","$strobeh","$strobeo","$swrite","$swriteb","$swriteh","$swriteo","$sync$and$array","$sync$and$plane","$sync$nand$array","$sync$nand$plane","$sync$nor$array","$sync$nor$plane","$sync$or$array","$sync$or$plane","$system","$tan","$tanh","$test$plusargs","$time","$timeformat","$typename","$ungetc","$unpacked_dimensions","$unsigned","$value$plusargs","$warning","$write","$writeb","$writeh","$writememb","$writememh","$writeo","end","endmodule"],"mappings":"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"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/50_enum_over_typedef.sv.map b/testcases/map/testcases/sv/50_enum_over_typedef.sv.map new file mode 100644 index 000000000..0ea7db3bc --- /dev/null +++ b/testcases/map/testcases/sv/50_enum_over_typedef.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"50_enum_over_typedef.sv.map","sources":["../../../veryl/50_enum_over_typedef.veryl"],"names":["","package","Package50",";","typedef enum","logic","[","1","]","{","EnumA_memberA",",","EnumA_memberB","EnumA","endpackage","module","Module50","typedef","veryl_testcase_Package50::EnumA","EnumB","_a","=","veryl_testcase_Package50::EnumA_memberA","_b","veryl_testcase_Package50::EnumA_memberB","endmodule"],"mappings":"AAAAA,AAAAC,uBAAQC,SAAUC;IACdC,aAAYC,MAAKC,CAACC,KAACC,EAAEC;QACjBC,aAAOC;QACPC,aAAOZ;MAFNa,MAGLb;AACJc;;AAEAC,sBAAOC,QAASb;IACZc,QAAaC,gCAARC,KAAwBhB;;IAErBe,gCAAJE;mBAAqBC,EAAEC,uCAAyBnB;IAC5CgB,gCAAJI;mBAAqBF,EAAEG,uCAAcrB;AAC7CsB"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/51_array_literal.sv.map b/testcases/map/testcases/sv/51_array_literal.sv.map new file mode 100644 index 000000000..cb7686231 --- /dev/null +++ b/testcases/map/testcases/sv/51_array_literal.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"51_array_literal.sv.map","sources":["../../../veryl/51_array_literal.veryl"],"names":["","module","Module51",";","logic","_a","[","2","]","=","'{","1",",","}","_b","_c","default",":","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACJC,MAAJC,GAAUC,GAACC,GAACC;mBAAEC,EAAEC,EAAEC,CAACC,EAAED,CAACE,CAACV;IACnBC,MAAJU,GAAUR,GAACC,GAACC;mBAAEC,EAAEC,EAAWH,EAATI,EAAUE,CAACV;IACzBC,MAAJW,GAAUT,GAACC,GAACC;mBAAEC,EAAEC,EAAEM,OAAOC,EAAEN,CAACE,CAACV;AACrCe"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/52_include.sv.map b/testcases/map/testcases/sv/52_include.sv.map new file mode 100644 index 000000000..9694726c5 --- /dev/null +++ b/testcases/map/testcases/sv/52_include.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"52_include.sv.map","sources":["../../../veryl/52_include.veryl"],"names":["","module","Module52",";","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;AAACC"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/53_multiline_comment_case.sv.map b/testcases/map/testcases/sv/53_multiline_comment_case.sv.map new file mode 100644 index 000000000..44cba8345 --- /dev/null +++ b/testcases/map/testcases/sv/53_multiline_comment_case.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"53_multiline_comment_case.sv.map","sources":["../../../veryl/53_multiline_comment_case.veryl"],"names":["","module","Module53",";","typedef enum","logic","{","EnumA_A","EnumA","_a","always_comb","begin","case",")",":","=","0","default","1","endcase","end","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACZC,aAAYC,MAAMC;QACdC,OAACP;MADAQ,MAELR;;IAEQK,MAAJI,EAASN;IACbO,YAAYC;QACRC,MAAKL,OAASM;;;YAGVN,OAAQO,EAAEL,GAAGM,EAAEC,CAACb;YAChBc,OAAQH,EAAEL,GAAGM,EAAEG,CAACf;QACpBgB;IACJC;AACJC"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/54_generic_function.sv.map b/testcases/map/testcases/sv/54_generic_function.sv.map new file mode 100644 index 000000000..1b883324b --- /dev/null +++ b/testcases/map/testcases/sv/54_generic_function.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"54_generic_function.sv.map","sources":["../../../veryl/54_generic_function.veryl"],"names":["","module","Module54",";","function","logic","[","10","]","(","input","a",")","return","+","1","endfunction","20","_a","=","__FuncA__10","_b","__FuncA__20","2","4","12","_c","__FuncB__10__2","14","_d","__FuncB__10__4","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACZC,mBAEKC,MAAKC,CAACC,MAACC,aAFQC;QACbC,MAAML,MAAKC,CAACC,MAACC,EAAhBG,CAAiBX;IACrBY,EAAEZ,CAAYA;QACVa,OAAOF,EAAEG,EAAEC,CAACZ;IAChBa;IAJAZ,mBAEKC,MAAKC,CAACW,MAACT,aAFQC;QACbC,MAAML,MAAKC,CAACW,MAACT,EAAhBG,CAAiBX;IACrBY,EAAEZ,CAAYA;QACVa,OAAOF,EAAEG,EAAEC,CAACZ;IAChBa;;IAEQX,MAAKC,CAACC,MAAEC,EAAZU;mBAAcC,EAAEC,WAAWX,CAACM,CAACH,CAACT;IAC1BE,MAAKC,CAACW,MAAET,EAAZa;mBAAcF,EAAEG,WAAWb,CAACM,CAACH,CAACT;;IAElCC,mBAEKC,MAAKC,CAACC,GAAEO,EAAES,KAACf,gBAFWC;QACpBC,MAAML,MAAKC,CAACC,GAAEO,EAAES,KAACf,EAApBG,CAAqBX;IACzBY,EAAEZ,CAAgBA;QACda,OAAOF,EAAEG,EAAEC,CAACZ;IAChBa;IAJAZ,mBAEKC,MAAKC,CAACC,GAAEO,EAAEU,KAAChB,gBAFWC;QACpBC,MAAML,MAAKC,CAACC,GAAEO,EAAEU,KAAChB,EAApBG,CAAqBX;IACzBY,EAAEZ,CAAgBA;QACda,OAAOF,EAAEG,EAAEC,CAACZ;IAChBa;;IAEQX,MAAKC,CAACmB,MAAEjB,EAAZkB;mBAAcP,EAAEQ,cAAWlB,CAACM,CAACH,CAACT;IAC1BE,MAAKC,CAACsB,MAAEpB,EAAZqB;mBAAcV,EAAEW,cAAcrB,CAACM,CAACH,CAACT;AACzC4B"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/55_generic_module.sv.map b/testcases/map/testcases/sv/55_generic_module.sv.map new file mode 100644 index 000000000..2becdf34c --- /dev/null +++ b/testcases/map/testcases/sv/55_generic_module.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"55_generic_module.sv.map","sources":["../../../veryl/55_generic_module.veryl"],"names":["","module","Module55",";","veryl_testcase___Module55A__Module55B","u0","veryl_testcase___Module55A__Module55C","u1","veryl_testcase___Module55E__Module55C","u2","veryl_testcase___Module55E__Module55D","u3","veryl_testcase___Module55F__Module55C","u4","veryl_testcase___Module55F__Module55B","u5","endmodule","veryl_testcase_Module55B","u","veryl_testcase_Module55C","veryl_testcase_Module55D","Module55B","Module55C","Module55D","veryl_testcase___Module55A__Module55D"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACZH,AAASI,sCAAJC,KAA0BF;IAC/BH,AAASM,sCAAJC,KAA0BJ;IAC/BH,AAASQ,sCAAJC,KAA0BN;IAC/BH,AAASU,sCAAJC,KAA0BR;IAC/BH,AAASY,sCAAJC,KAA0BV;IAC/BH,AAASc,sCAAJC,KAAiBZ;AAC1Ba;;AAEAf,4CAAsBE;IAClBH,AAAQiB,yBAAHC,IAAIf;AACba;AAFAf,4CAAsBE;IAClBH,AAAQmB,yBAAHD,IAAIf;AACba;AAFAf,4CAAsBE;IAClBH,AAAQoB,yBAAHF,IAAIf;AACba;;AAEAf,sBAAOoB,SAAUlB;AAACa;;AAElBf,sBAAOqB,SAAUnB;AAACa;;AAElBf,sBAAOsB,SAAUpB;AAACa;;AAElBf,4CAAsBE;IAClBH,AAAQM,sCAAHY,IAAiBf;AAC1Ba;AAFAf,4CAAsBE;IAClBH,AAAQwB,sCAAHN,IAAiBf;AAC1Ba;;AAEAf,4CAAkCE;IAC9BH,AAAQmB,yBAAHD,IAAIf;AACba;AAFAf,4CAAkCE;IAC9BH,AAAQiB,yBAAHC,IAAIf;AACba"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/56_generic_interface.sv.map b/testcases/map/testcases/sv/56_generic_interface.sv.map new file mode 100644 index 000000000..e135d42b3 --- /dev/null +++ b/testcases/map/testcases/sv/56_generic_interface.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"56_generic_interface.sv.map","sources":["../../../veryl/56_generic_interface.veryl"],"names":["","module","Module56",";","veryl_testcase___Interface56A__Package56A","u0","veryl_testcase___Interface56A__Package56B","u1","veryl_testcase___Interface56B__Package56A","u2","veryl_testcase___Interface56B__Package56B","u3","endmodule","interface","logic","[","veryl_testcase_Package56A::X","]","_a","endinterface","veryl_testcase_Package56B::X","_b","package","Package56A","localparam","int unsigned","X","=","1","endpackage","Package56B","2"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACZH,AAASI,0CAAJC,KAA8BF;IACnCH,AAASM,0CAAJC,KAA8BJ;IACnCH,AAASQ,0CAAJC,KAA8BN;IACnCH,AAASU,0CAAJC,KAAoBR;AAC7BS;;AAEAC,mDAA4BV;IAChBW,MAAKC,CAACC,gCAAIC,EAAdC,EAAef;AACvBgB;AAFAN,mDAA4BV;IAChBW,MAAKC,CAACK,gCAAIH,EAAdC,EAAef;AACvBgB;;AAEAN,mDAAyCV;IAC7BW,MAAKC,CAACC,gCAAIC,EAAdI,EAAelB;AACvBgB;AAFAN,mDAAyCV;IAC7BW,MAAKC,CAACK,gCAAIH,EAAdI,EAAelB;AACvBgB;;AAEAG,uBAAQC,UAAWpB;IACfqB,WAASC,aAAHC,EAAOC,EAAEC,CAACzB;AACpB0B;;AAEAP,uBAAQQ,UAAW3B;IACfqB,WAASC,aAAHC,EAAOC,EAAEI,CAAC5B;AACpB0B"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/57_generic_package.sv.map b/testcases/map/testcases/sv/57_generic_package.sv.map new file mode 100644 index 000000000..96bf53654 --- /dev/null +++ b/testcases/map/testcases/sv/57_generic_package.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"57_generic_package.sv.map","sources":["../../../veryl/57_generic_package.veryl"],"names":["","module","Module57",";","localparam","int unsigned","A","=","veryl_testcase___Package57A__1::X","longint unsigned","B","veryl_testcase___Package57A__2::X","C","veryl_testcase___Package57B__3::X","D","veryl_testcase___Package57B__4::X","veryl_testcase___Package57C__2::StructC","_e","always_comb",".","c","1","endmodule","package","X","endpackage","2","3","4","typedef struct packed","{","logic","[","]","StructC"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACZC,WAASC,iBAAHC,EAAOC,EAAEC,iCAAkBL;IACjCC,WAASK,iBAAHC,EAAOH,EAAEI,iCAAkBR;IACjCC,WAASC,iBAAHO,EAAOL,EAAEM,iCAAkBV;IACjCC,WAASK,iBAAHK,EAAOP,EAAEQ,iCAAiBZ;;IAEtBa,wCAANC,IAA8Bd;IAClCe,YAAOD,EAAEE,CAACC,EAAEb,EAAEc,CAAClB;AACnBmB;;AAEAC,sCAAwBpB;IACpBC,WAASC,aAAHmB,EAAOjB,EAAEc,CAAClB;AACpBsB;AAFAF,sCAAwBpB;IACpBC,WAASC,aAAHmB,EAAOjB,EAAEmB,CAACvB;AACpBsB;;AAEAF,sCAA4BpB;IACxBC,WAASC,aAAHmB,EAAOjB,EAAEoB,CAACxB;AACpBsB;AAFAF,sCAA4BpB;IACxBC,WAASC,aAAHmB,EAAOjB,EAAEqB,CAACzB;AACpBsB;;AAEAF,sCAAwBpB;IACpB0B,sBAAeC;QACRC,MAAKC,CAACN,KAACO,EAAVb,CAAWjB;MADR+B,QAEPlC;AACJyB"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/58_generic_struct.sv.map b/testcases/map/testcases/sv/58_generic_struct.sv.map new file mode 100644 index 000000000..91b02d199 --- /dev/null +++ b/testcases/map/testcases/sv/58_generic_struct.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"58_generic_struct.sv.map","sources":["../../../veryl/58_generic_struct.veryl"],"names":["","module","Module58",";","typedef struct packed","{","veryl_testcase_Package58::B","A","veryl_testcase_Package58::C","C","typedef","int signed","B","__StructA__Package58_B","_a","__StructA__Package58_C","_b","__StructA__C","_c","__StructB__Package58_C","_d","__StructB__C","_e","endmodule","package","Package58","int unsigned","longint unsigned","endpackage"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACZC,sBAAoBC;QACbC,4BAAHC,CAAIJ;6BACRH;IAFAI,sBAAoBC;QACbG,4BAAHD,CAAIJ;6BACRH;IAFAI,sBAAoBC;QACbI,EAAHF,CAAIJ;mBACRH;;IAEAU,QAASC,WAAJF,CAAON;;IAEZC,sBAAwBC;QACjBG,4BAAHI,CAAIT;6BACRH;IAFAI,sBAAwBC;QACjBI,EAAHG,CAAIT;mBACRH;;IAEQa,uBAAJC,EAA2BX;IACvBY,uBAAJC,EAA2Bb;IACvBc,uBAAJC,EAA2Bf;IACvBgB,uBAAJC,EAA2BjB;IACvBkB,aAAJC,EAA2BnB;AACnCoB;;AAEAC,uBAAQC,SAAUtB;IACdO,QAASgB,iBAAJd,CAAOT;IACZO,QAASiB,iBAAJlB,CAAON;AAChByB"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/59_same_name.sv.map b/testcases/map/testcases/sv/59_same_name.sv.map new file mode 100644 index 000000000..ea4c1176a --- /dev/null +++ b/testcases/map/testcases/sv/59_same_name.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"59_same_name.sv.map","sources":["../../../veryl/59_same_name.veryl"],"names":["","package","Package59A",";","localparam","int unsigned","XLEN","=","32","endpackage","Package59B","veryl_testcase_Package59A::XLEN"],"mappings":"AAAAA,AAAAC,uBAAQC,UAAWC;IACfC,WAAYC,aAANC,KAAUC,EAAEC,EAAEL;AACxBM;;AAEAR,uBAAQS,UAAWP;IACfC,WAAYC,aAANC,KAAUC,EAAEI,+BAAgBR;AACtCM"} \ No newline at end of file diff --git a/testcases/sv/01_number.sv b/testcases/sv/01_number.sv index 7f9e34b66..278c6ad7e 100644 --- a/testcases/sv/01_number.sv +++ b/testcases/sv/01_number.sv @@ -38,3 +38,4 @@ module veryl_testcase_Module01; localparam int unsigned gggg = 0123456789.0123456789E+0123456789; localparam int unsigned ggggg = 0123456789.0123456789E-0123456789; endmodule +//# sourceMappingURL=../map/testcases/sv/01_number.sv.map diff --git a/testcases/sv/02_builtin_type.sv b/testcases/sv/02_builtin_type.sv index 2aa5ba606..819350af5 100644 --- a/testcases/sv/02_builtin_type.sv +++ b/testcases/sv/02_builtin_type.sv @@ -47,3 +47,4 @@ module veryl_testcase_Module02; real _ffffff [0:10-1]; always_comb _ffffff = 1; endmodule +//# sourceMappingURL=../map/testcases/sv/02_builtin_type.sv.map diff --git a/testcases/sv/03_operator.sv b/testcases/sv/03_operator.sv index 7de94c509..491c17b86 100644 --- a/testcases/sv/03_operator.sv +++ b/testcases/sv/03_operator.sv @@ -91,3 +91,4 @@ module veryl_testcase_Module03; logic _hh; always_comb _hh = 1 || 1; endmodule +//# sourceMappingURL=../map/testcases/sv/03_operator.sv.map diff --git a/testcases/sv/04_module.sv b/testcases/sv/04_module.sv index c9350e429..ef67b9102 100644 --- a/testcases/sv/04_module.sv +++ b/testcases/sv/04_module.sv @@ -35,3 +35,4 @@ interface veryl_testcase_Interface04; input c ); endinterface +//# sourceMappingURL=../map/testcases/sv/04_module.sv.map diff --git a/testcases/sv/05_interface.sv b/testcases/sv/05_interface.sv index 8e713b881..5200b213f 100644 --- a/testcases/sv/05_interface.sv +++ b/testcases/sv/05_interface.sv @@ -21,3 +21,4 @@ interface veryl_testcase_Interface05 #( inout ccc ); endinterface +//# sourceMappingURL=../map/testcases/sv/05_interface.sv.map diff --git a/testcases/sv/06_function.sv b/testcases/sv/06_function.sv index bc4f3398f..b02506114 100644 --- a/testcases/sv/06_function.sv +++ b/testcases/sv/06_function.sv @@ -42,3 +42,4 @@ module veryl_testcase_Module06; // system function call always_comb e = $clog2(a); endmodule +//# sourceMappingURL=../map/testcases/sv/06_function.sv.map diff --git a/testcases/sv/07_statement.sv b/testcases/sv/07_statement.sv index 782bbb0f4..d190b9660 100644 --- a/testcases/sv/07_statement.sv +++ b/testcases/sv/07_statement.sv @@ -89,3 +89,4 @@ module veryl_testcase_Module07; a <= a >>> (1); end endmodule +//# sourceMappingURL=../map/testcases/sv/07_statement.sv.map diff --git a/testcases/sv/08_generate_declaration.sv b/testcases/sv/08_generate_declaration.sv index 21902e6df..65d7aef89 100644 --- a/testcases/sv/08_generate_declaration.sv +++ b/testcases/sv/08_generate_declaration.sv @@ -43,3 +43,4 @@ module veryl_testcase_Module08; end end endmodule +//# sourceMappingURL=../map/testcases/sv/08_generate_declaration.sv.map diff --git a/testcases/sv/09_struct_enum.sv b/testcases/sv/09_struct_enum.sv index 0473040b9..82d943e2d 100644 --- a/testcases/sv/09_struct_enum.sv +++ b/testcases/sv/09_struct_enum.sv @@ -28,3 +28,4 @@ module veryl_testcase_Module09; always_comb b = B_X; always_comb c = FOO_C_0; endmodule +//# sourceMappingURL=../map/testcases/sv/09_struct_enum.sv.map diff --git a/testcases/sv/10_various_line_comment.sv b/testcases/sv/10_various_line_comment.sv index b29dbfc83..1c4b940e1 100644 --- a/testcases/sv/10_various_line_comment.sv +++ b/testcases/sv/10_various_line_comment.sv @@ -60,3 +60,4 @@ module //a end end endmodule +//# sourceMappingURL=../map/testcases/sv/10_various_line_comment.sv.map diff --git a/testcases/sv/11_let.sv b/testcases/sv/11_let.sv index cf375fd5c..c0e663070 100644 --- a/testcases/sv/11_let.sv +++ b/testcases/sv/11_let.sv @@ -13,3 +13,4 @@ module veryl_testcase_Module11; always_comb b = 1; always_comb bb = 1; endmodule +//# sourceMappingURL=../map/testcases/sv/11_let.sv.map diff --git a/testcases/sv/12_always.sv b/testcases/sv/12_always.sv index 9a68a1765..eab05d6b2 100644 --- a/testcases/sv/12_always.sv +++ b/testcases/sv/12_always.sv @@ -95,3 +95,4 @@ module veryl_testcase_Module12_2 ( aa = 10 + 16'hffff * (3 / 4); end endmodule +//# sourceMappingURL=../map/testcases/sv/12_always.sv.map diff --git a/testcases/sv/13_range_operator.sv b/testcases/sv/13_range_operator.sv index 1d65cd54c..1e26f0361 100644 --- a/testcases/sv/13_range_operator.sv +++ b/testcases/sv/13_range_operator.sv @@ -20,3 +20,4 @@ module veryl_testcase_Module13; // index by step always_comb e = X[1*(2)+:(2)]; endmodule +//# sourceMappingURL=../map/testcases/sv/13_range_operator.sv.map diff --git a/testcases/sv/14_inst.sv b/testcases/sv/14_inst.sv index 35734498a..aa78cdeb1 100644 --- a/testcases/sv/14_inst.sv +++ b/testcases/sv/14_inst.sv @@ -50,3 +50,4 @@ interface veryl_testcase_InterfaceA #( parameter int unsigned b = 1 ); endinterface +//# sourceMappingURL=../map/testcases/sv/14_inst.sv.map diff --git a/testcases/sv/15_named_block.sv b/testcases/sv/15_named_block.sv index 536935914..2f87044aa 100644 --- a/testcases/sv/15_named_block.sv +++ b/testcases/sv/15_named_block.sv @@ -12,3 +12,4 @@ module veryl_testcase_Module15; always_comb _a = 1; end endmodule +//# sourceMappingURL=../map/testcases/sv/15_named_block.sv.map diff --git a/testcases/sv/16_case.sv b/testcases/sv/16_case.sv index 38bca5f28..690756e09 100644 --- a/testcases/sv/16_case.sv +++ b/testcases/sv/16_case.sv @@ -20,3 +20,4 @@ module veryl_testcase_Module16; endcase end endmodule +//# sourceMappingURL=../map/testcases/sv/16_case.sv.map diff --git a/testcases/sv/17_package.sv b/testcases/sv/17_package.sv index 0fd1540df..467b71925 100644 --- a/testcases/sv/17_package.sv +++ b/testcases/sv/17_package.sv @@ -32,3 +32,4 @@ package veryl_testcase_Package17; return a + 2; endfunction endpackage +//# sourceMappingURL=../map/testcases/sv/17_package.sv.map diff --git a/testcases/sv/18_concatenation.sv b/testcases/sv/18_concatenation.sv index 70c026a6a..025af14f6 100644 --- a/testcases/sv/18_concatenation.sv +++ b/testcases/sv/18_concatenation.sv @@ -7,3 +7,4 @@ module veryl_testcase_Module18; always_comb a = {a[10:0], c}; always_comb b = {{10{a[10:0]}}, {4{c}}}; endmodule +//# sourceMappingURL=../map/testcases/sv/18_concatenation.sv.map diff --git a/testcases/sv/19_import_export.sv b/testcases/sv/19_import_export.sv index 11dd2ffab..0eebbdf01 100644 --- a/testcases/sv/19_import_export.sv +++ b/testcases/sv/19_import_export.sv @@ -31,3 +31,4 @@ package veryl_testcase_PackageA; import PackageA::*; localparam int unsigned A = 0; endpackage +//# sourceMappingURL=../map/testcases/sv/19_import_export.sv.map diff --git a/testcases/sv/20_if_case_expression.sv b/testcases/sv/20_if_case_expression.sv index 42d49bfe6..662bd5e73 100644 --- a/testcases/sv/20_if_case_expression.sv +++ b/testcases/sv/20_if_case_expression.sv @@ -28,3 +28,4 @@ module veryl_testcase_Module20; 3 )); endmodule +//# sourceMappingURL=../map/testcases/sv/20_if_case_expression.sv.map diff --git a/testcases/sv/21_cast.sv b/testcases/sv/21_cast.sv index a42076923..0b1396e42 100644 --- a/testcases/sv/21_cast.sv +++ b/testcases/sv/21_cast.sv @@ -15,3 +15,4 @@ module veryl_testcase_Module21; always_comb a = EnumA'(EnumB'(b)); endmodule +//# sourceMappingURL=../map/testcases/sv/21_cast.sv.map diff --git a/testcases/sv/22_type_modifier.sv b/testcases/sv/22_type_modifier.sv index d19f07926..c0fc8201a 100644 --- a/testcases/sv/22_type_modifier.sv +++ b/testcases/sv/22_type_modifier.sv @@ -8,3 +8,4 @@ module veryl_testcase_Module22; logic [10-1:0] _d; always_comb _d = 1; endmodule +//# sourceMappingURL=../map/testcases/sv/22_type_modifier.sv.map diff --git a/testcases/sv/23_ifdef.sv b/testcases/sv/23_ifdef.sv index e48539677..def79feb8 100644 --- a/testcases/sv/23_ifdef.sv +++ b/testcases/sv/23_ifdef.sv @@ -51,3 +51,4 @@ endmodule module veryl_testcase_Module23_C; endmodule `endif +//# sourceMappingURL=../map/testcases/sv/23_ifdef.sv.map diff --git a/testcases/sv/24_sv_attribute.sv b/testcases/sv/24_sv_attribute.sv index 75334046a..5a6011355 100644 --- a/testcases/sv/24_sv_attribute.sv +++ b/testcases/sv/24_sv_attribute.sv @@ -6,3 +6,4 @@ module veryl_testcase_Module24; logic _b; always_comb _b = 1; endmodule +//# sourceMappingURL=../map/testcases/sv/24_sv_attribute.sv.map diff --git a/testcases/sv/25_dependency.sv b/testcases/sv/25_dependency.sv index b3df2662c..0dcaede47 100644 --- a/testcases/sv/25_dependency.sv +++ b/testcases/sv/25_dependency.sv @@ -19,3 +19,4 @@ module veryl_testcase_Module25 ( .o_d (o_d1 ) ); endmodule +//# sourceMappingURL=../map/testcases/sv/25_dependency.sv.map diff --git a/testcases/sv/26_array.sv b/testcases/sv/26_array.sv index 722ac6d15..e2562f227 100644 --- a/testcases/sv/26_array.sv +++ b/testcases/sv/26_array.sv @@ -8,3 +8,4 @@ module veryl_testcase_Module26; logic [10-1:0][10-1:0] _d [0:10-1][0:10-1]; always_comb _d = 1; endmodule +//# sourceMappingURL=../map/testcases/sv/26_array.sv.map diff --git a/testcases/sv/27_string.sv b/testcases/sv/27_string.sv index 4f44dece0..767edba0e 100644 --- a/testcases/sv/27_string.sv +++ b/testcases/sv/27_string.sv @@ -4,3 +4,4 @@ module veryl_testcase_Module27; string _b; always_comb _b = "bbb"; endmodule +//# sourceMappingURL=../map/testcases/sv/27_string.sv.map diff --git a/testcases/sv/28_msblsb.sv b/testcases/sv/28_msblsb.sv index e7e73d51e..3a6336bd4 100644 --- a/testcases/sv/28_msblsb.sv +++ b/testcases/sv/28_msblsb.sv @@ -12,3 +12,4 @@ module veryl_testcase_Module28; logic _y; always_comb _y = b[((WIDTH0 + 10) - 1) - 3][((WIDTH1) - 1) + 5:0]; endmodule +//# sourceMappingURL=../map/testcases/sv/28_msblsb.sv.map diff --git a/testcases/sv/29_allow.sv b/testcases/sv/29_allow.sv index 8e12d92ec..13bbee666 100644 --- a/testcases/sv/29_allow.sv +++ b/testcases/sv/29_allow.sv @@ -22,3 +22,4 @@ module veryl_testcase_Module29 ( ); endmodule +//# sourceMappingURL=../map/testcases/sv/29_allow.sv.map diff --git a/testcases/sv/30_empty.sv b/testcases/sv/30_empty.sv index 8b1378917..79a0acb17 100644 --- a/testcases/sv/30_empty.sv +++ b/testcases/sv/30_empty.sv @@ -1 +1,2 @@ +//# sourceMappingURL=../map/testcases/sv/30_empty.sv.map diff --git a/testcases/sv/31_initial_final.sv b/testcases/sv/31_initial_final.sv index db4baedc2..27de0949a 100644 --- a/testcases/sv/31_initial_final.sv +++ b/testcases/sv/31_initial_final.sv @@ -7,3 +7,4 @@ module veryl_testcase_Module31; $display("final"); end endmodule +//# sourceMappingURL=../map/testcases/sv/31_initial_final.sv.map diff --git a/testcases/sv/32_inside_outside.sv b/testcases/sv/32_inside_outside.sv index df8925ca6..9418a4625 100644 --- a/testcases/sv/32_inside_outside.sv +++ b/testcases/sv/32_inside_outside.sv @@ -5,3 +5,4 @@ module veryl_testcase_Module32; always_comb a = ((1 + 2 / 3) inside {0, [0:(10)-1], [1:10]}); always_comb b = !((1 * 2 - 1) inside {0, [0:(10)-1], [1:10]}); endmodule +//# sourceMappingURL=../map/testcases/sv/32_inside_outside.sv.map diff --git a/testcases/sv/33_widthless_num.sv b/testcases/sv/33_widthless_num.sv index d85162d40..1a48dc050 100644 --- a/testcases/sv/33_widthless_num.sv +++ b/testcases/sv/33_widthless_num.sv @@ -9,3 +9,4 @@ module veryl_testcase_Module33; localparam int unsigned a7 = 32'hffffffff; localparam int unsigned a8 = 208'hffff_ffff_ffff_ffff_ffff_ffff_ffff_ffff_ffff_ffff_ffff_ffff_ffff; endmodule +//# sourceMappingURL=../map/testcases/sv/33_widthless_num.sv.map diff --git a/testcases/sv/34_width_all_set.sv b/testcases/sv/34_width_all_set.sv index baf2337c0..25d65f0ca 100644 --- a/testcases/sv/34_width_all_set.sv +++ b/testcases/sv/34_width_all_set.sv @@ -8,3 +8,4 @@ module veryl_testcase_Module34; localparam int unsigned a6 = 10'bxxxxxxxxxx; localparam int unsigned a7 = 10'bzzzzzzzzzz; endmodule +//# sourceMappingURL=../map/testcases/sv/34_width_all_set.sv.map diff --git a/testcases/sv/35_unconnected_port.sv b/testcases/sv/35_unconnected_port.sv index 6f1c6d94d..715da5ab6 100644 --- a/testcases/sv/35_unconnected_port.sv +++ b/testcases/sv/35_unconnected_port.sv @@ -15,3 +15,4 @@ module veryl_testcase_Module35B ( input int unsigned bbbb ); endmodule +//# sourceMappingURL=../map/testcases/sv/35_unconnected_port.sv.map diff --git a/testcases/sv/36_doc_comment.sv b/testcases/sv/36_doc_comment.sv index b9608ef03..cad98811f 100644 --- a/testcases/sv/36_doc_comment.sv +++ b/testcases/sv/36_doc_comment.sv @@ -43,3 +43,4 @@ endinterface /// * list item1 package veryl_testcase_Package36; endpackage +//# sourceMappingURL=../map/testcases/sv/36_doc_comment.sv.map diff --git a/testcases/sv/37_package_ref.sv b/testcases/sv/37_package_ref.sv index 1816916b9..851826485 100644 --- a/testcases/sv/37_package_ref.sv +++ b/testcases/sv/37_package_ref.sv @@ -17,3 +17,4 @@ package veryl_testcase_Package37; return 0; endfunction endpackage +//# sourceMappingURL=../map/testcases/sv/37_package_ref.sv.map diff --git a/testcases/sv/38_typedef.sv b/testcases/sv/38_typedef.sv index 0b5ddb9c3..6667e03fe 100644 --- a/testcases/sv/38_typedef.sv +++ b/testcases/sv/38_typedef.sv @@ -24,3 +24,4 @@ package veryl_testcase_Package38; typedef bit [8-1:0] octbyte [0:8-1]; endpackage +//# sourceMappingURL=../map/testcases/sv/38_typedef.sv.map diff --git a/testcases/sv/39_modport.sv b/testcases/sv/39_modport.sv index 6cac6067f..2f27fb30c 100644 --- a/testcases/sv/39_modport.sv +++ b/testcases/sv/39_modport.sv @@ -23,3 +23,4 @@ interface veryl_testcase_Interface39; import get_a ); endinterface +//# sourceMappingURL=../map/testcases/sv/39_modport.sv.map diff --git a/testcases/sv/40_enum_resolve.sv b/testcases/sv/40_enum_resolve.sv index 0eec1a184..75e31286f 100644 --- a/testcases/sv/40_enum_resolve.sv +++ b/testcases/sv/40_enum_resolve.sv @@ -16,3 +16,4 @@ module veryl_testcase_Module40; return e == EnumA_member_a; endfunction endmodule +//# sourceMappingURL=../map/testcases/sv/40_enum_resolve.sv.map diff --git a/testcases/sv/41_union.sv b/testcases/sv/41_union.sv index 8271a4799..39808f576 100644 --- a/testcases/sv/41_union.sv +++ b/testcases/sv/41_union.sv @@ -15,3 +15,4 @@ module veryl_testcase_Module41; A bar ; always_comb bar.c = Boolean_True; endmodule +//# sourceMappingURL=../map/testcases/sv/41_union.sv.map diff --git a/testcases/sv/42_sv_namespace.sv b/testcases/sv/42_sv_namespace.sv index 6fd7686dc..b803f505f 100644 --- a/testcases/sv/42_sv_namespace.sv +++ b/testcases/sv/42_sv_namespace.sv @@ -21,3 +21,4 @@ module veryl_testcase_Module42 ( .o_d (o_d ) ); endmodule +//# sourceMappingURL=../map/testcases/sv/42_sv_namespace.sv.map diff --git a/testcases/sv/43_sv_member.sv b/testcases/sv/43_sv_member.sv index 4b51c92ab..313a898c3 100644 --- a/testcases/sv/43_sv_member.sv +++ b/testcases/sv/43_sv_member.sv @@ -4,3 +4,4 @@ module veryl_testcase_Module43; always_comb b = a.memberA; endmodule +//# sourceMappingURL=../map/testcases/sv/43_sv_member.sv.map diff --git a/testcases/sv/44_import_resolve.sv b/testcases/sv/44_import_resolve.sv index 845f8d28d..c322fa329 100644 --- a/testcases/sv/44_import_resolve.sv +++ b/testcases/sv/44_import_resolve.sv @@ -18,3 +18,4 @@ endpackage package veryl_testcase_Package44B; localparam int unsigned y = 0; endpackage +//# sourceMappingURL=../map/testcases/sv/44_import_resolve.sv.map diff --git a/testcases/sv/45_let_in_always.sv b/testcases/sv/45_let_in_always.sv index ff28ce190..bef0e7783 100644 --- a/testcases/sv/45_let_in_always.sv +++ b/testcases/sv/45_let_in_always.sv @@ -16,3 +16,4 @@ module veryl_testcase_Module45; c = y * 1; end endmodule +//# sourceMappingURL=../map/testcases/sv/45_let_in_always.sv.map diff --git a/testcases/sv/46_let_anywhere.sv b/testcases/sv/46_let_anywhere.sv index f25e87518..23c32ec99 100644 --- a/testcases/sv/46_let_anywhere.sv +++ b/testcases/sv/46_let_anywhere.sv @@ -32,3 +32,4 @@ module veryl_testcase_Module46; return a + 2; endfunction endmodule +//# sourceMappingURL=../map/testcases/sv/46_let_anywhere.sv.map diff --git a/testcases/sv/47_embed.sv b/testcases/sv/47_embed.sv index 89977ea38..7f53ab0d4 100644 --- a/testcases/sv/47_embed.sv +++ b/testcases/sv/47_embed.sv @@ -10,3 +10,4 @@ endmodule // comment +//# sourceMappingURL=../map/testcases/sv/47_embed.sv.map diff --git a/testcases/sv/48_test.sv b/testcases/sv/48_test.sv index 8995f25a1..3752aaab6 100644 --- a/testcases/sv/48_test.sv +++ b/testcases/sv/48_test.sv @@ -39,3 +39,4 @@ module veryl_testcase_test4; end endmodule `endif +//# sourceMappingURL=../map/testcases/sv/48_test.sv.map diff --git a/testcases/sv/49_system_function.sv b/testcases/sv/49_system_function.sv index 04feaa74a..723f33cf4 100644 --- a/testcases/sv/49_system_function.sv +++ b/testcases/sv/49_system_function.sv @@ -200,3 +200,4 @@ module veryl_testcase_Module49; a = $writeo(); end endmodule +//# sourceMappingURL=../map/testcases/sv/49_system_function.sv.map diff --git a/testcases/sv/50_enum_over_typedef.sv b/testcases/sv/50_enum_over_typedef.sv index 194a8159f..d52a7b523 100644 --- a/testcases/sv/50_enum_over_typedef.sv +++ b/testcases/sv/50_enum_over_typedef.sv @@ -13,3 +13,4 @@ module veryl_testcase_Module50; EnumB _b; always_comb _b = veryl_testcase_Package50::EnumA_memberB; endmodule +//# sourceMappingURL=../map/testcases/sv/50_enum_over_typedef.sv.map diff --git a/testcases/sv/51_array_literal.sv b/testcases/sv/51_array_literal.sv index 7efd00ff4..757f41d38 100644 --- a/testcases/sv/51_array_literal.sv +++ b/testcases/sv/51_array_literal.sv @@ -6,3 +6,4 @@ module veryl_testcase_Module51; logic _c [0:2-1]; always_comb _c = '{default: 1}; endmodule +//# sourceMappingURL=../map/testcases/sv/51_array_literal.sv.map diff --git a/testcases/sv/52_include.sv b/testcases/sv/52_include.sv index 201b1a96a..90307d945 100644 --- a/testcases/sv/52_include.sv +++ b/testcases/sv/52_include.sv @@ -6,3 +6,4 @@ module test; end endmodule +//# sourceMappingURL=../map/testcases/sv/52_include.sv.map diff --git a/testcases/sv/53_multiline_comment_case.sv b/testcases/sv/53_multiline_comment_case.sv index caa1d76b9..5fd9d26c1 100644 --- a/testcases/sv/53_multiline_comment_case.sv +++ b/testcases/sv/53_multiline_comment_case.sv @@ -13,3 +13,4 @@ module veryl_testcase_Module53; endcase end endmodule +//# sourceMappingURL=../map/testcases/sv/53_multiline_comment_case.sv.map diff --git a/testcases/sv/54_generic_function.sv b/testcases/sv/54_generic_function.sv index 4d066ca07..3298531ab 100644 --- a/testcases/sv/54_generic_function.sv +++ b/testcases/sv/54_generic_function.sv @@ -31,3 +31,4 @@ module veryl_testcase_Module54; logic [14-1:0] _d; always_comb _d = __FuncB__10__4(1); endmodule +//# sourceMappingURL=../map/testcases/sv/54_generic_function.sv.map diff --git a/testcases/sv/55_generic_module.sv b/testcases/sv/55_generic_module.sv index 3ba1e6393..e2a082c9e 100644 --- a/testcases/sv/55_generic_module.sv +++ b/testcases/sv/55_generic_module.sv @@ -39,3 +39,4 @@ endmodule module veryl_testcase___Module55F__Module55B; veryl_testcase_Module55B u (); endmodule +//# sourceMappingURL=../map/testcases/sv/55_generic_module.sv.map diff --git a/testcases/sv/56_generic_interface.sv b/testcases/sv/56_generic_interface.sv index ca7b0d171..97ea640eb 100644 --- a/testcases/sv/56_generic_interface.sv +++ b/testcases/sv/56_generic_interface.sv @@ -26,3 +26,4 @@ endpackage package veryl_testcase_Package56B; localparam int unsigned X = 2; endpackage +//# sourceMappingURL=../map/testcases/sv/56_generic_interface.sv.map diff --git a/testcases/sv/57_generic_package.sv b/testcases/sv/57_generic_package.sv index d1b6a8554..6c1d0111c 100644 --- a/testcases/sv/57_generic_package.sv +++ b/testcases/sv/57_generic_package.sv @@ -27,3 +27,4 @@ package veryl_testcase___Package57C__2; logic [2-1:0] c; } StructC; endpackage +//# sourceMappingURL=../map/testcases/sv/57_generic_package.sv.map diff --git a/testcases/sv/58_generic_struct.sv b/testcases/sv/58_generic_struct.sv index 3f52f3de5..86c2c8941 100644 --- a/testcases/sv/58_generic_struct.sv +++ b/testcases/sv/58_generic_struct.sv @@ -29,3 +29,4 @@ package veryl_testcase_Package58; typedef int unsigned B; typedef longint unsigned C; endpackage +//# sourceMappingURL=../map/testcases/sv/58_generic_struct.sv.map diff --git a/testcases/sv/59_same_name.sv b/testcases/sv/59_same_name.sv index 71a35afd2..0d168ac47 100644 --- a/testcases/sv/59_same_name.sv +++ b/testcases/sv/59_same_name.sv @@ -5,3 +5,4 @@ endpackage package veryl_testcase_Package59B; localparam int unsigned XLEN = veryl_testcase_Package59A::XLEN; endpackage +//# sourceMappingURL=../map/testcases/sv/59_same_name.sv.map