Test for multiple modules and binding.
auto visitor = visitImports(q{ import foo, bar : aa, cc, bb; }); auto ids = visitor.importGroups[0]; assert(ids[0].name == "foo"); assert(ids[0].bindNames == []); assert(ids[1].name == "bar"); assert(ids[1].bindNames == ["aa", "bb", "cc"]); // Test opCmp in sort. sort(ids); assert(ids[0].name == "bar"); assert(ids[1].name == "foo");
Test for merging redundant modules.
auto visitor = visitImports(q{ import foo : bar; import foo : baz, bar; }); assert(visitor.outputImports(visitor.importGroups[0]) == "import foo : bar, baz;");
Decomposes multi module import decl to a list of single module with binds.