mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-01 19:58:15 +00:00
[Go] Generate imports with fixed order (#5340)
* use fixed order for golang imports * grumble
This commit is contained in:
committed by
Wouter van Oortmerssen
parent
bff7ffbc51
commit
b56d60f058
@@ -231,6 +231,15 @@ struct Namespace {
|
|||||||
size_t from_table; // Part of the namespace corresponds to a message/table.
|
size_t from_table; // Part of the namespace corresponds to a message/table.
|
||||||
};
|
};
|
||||||
|
|
||||||
|
inline bool operator<(const Namespace &a, const Namespace &b) {
|
||||||
|
size_t min_size = std::min(a.components.size(), b.components.size());
|
||||||
|
for (size_t i = 0; i < min_size; ++i) {
|
||||||
|
if (a.components[i] != b.components[i])
|
||||||
|
return a.components[i] < b.components[i];
|
||||||
|
}
|
||||||
|
return a.components.size() < b.components.size();
|
||||||
|
}
|
||||||
|
|
||||||
// Base class for all definition types (fields, structs_, enums_).
|
// Base class for all definition types (fields, structs_, enums_).
|
||||||
struct Definition {
|
struct Definition {
|
||||||
Definition()
|
Definition()
|
||||||
|
|||||||
@@ -113,7 +113,13 @@ class GoGenerator : public BaseGenerator {
|
|||||||
private:
|
private:
|
||||||
Namespace go_namespace_;
|
Namespace go_namespace_;
|
||||||
Namespace *cur_name_space_;
|
Namespace *cur_name_space_;
|
||||||
std::set<const Namespace*> tracked_imported_namespaces_;
|
|
||||||
|
struct NamespacePtrLess {
|
||||||
|
bool operator()(const Namespace *a, const Namespace *b) const {
|
||||||
|
return *a < *b;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
std::set<const Namespace *, NamespacePtrLess> tracked_imported_namespaces_;
|
||||||
|
|
||||||
// Most field accessors need to retrieve and test the field offset first,
|
// Most field accessors need to retrieve and test the field offset first,
|
||||||
// this is the prefix code for that.
|
// this is the prefix code for that.
|
||||||
|
|||||||
Reference in New Issue
Block a user