mirror of
https://github.com/valitydev/thrift.git
synced 2024-11-06 18:35:19 +00:00
THRIFT-5353: Fix import dedup without explicit go namespace
Client: go When a thrift file includes 2 or more other thrift files, and those included thrift files do not have explicit go namespaces defined, the current import dedup logic would wrongly use their empty namespace and skip the second one, while the real import namespace should be inferred from the filename.
This commit is contained in:
parent
bb8fec7930
commit
e89b3e11ee
@ -787,14 +787,15 @@ void t_go_generator::init_generator() {
|
||||
string t_go_generator::render_included_programs(string& unused_prot) {
|
||||
const vector<t_program*>& includes = program_->get_includes();
|
||||
string result = "";
|
||||
string local_namespace = program_->get_namespace("go");
|
||||
string local_namespace = get_real_go_module(program_);
|
||||
std::set<std::string> included;
|
||||
for (auto include : includes) {
|
||||
if (!local_namespace.empty() && local_namespace == include->get_namespace("go")) {
|
||||
std::string includeModule = get_real_go_module(include);
|
||||
if (!local_namespace.empty() && local_namespace == includeModule) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!included.insert(include->get_namespace("go")).second) {
|
||||
if (!included.insert(includeModule).second) {
|
||||
continue;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user