Better consistency with module names, fix module name for Errors
diff --git a/compiler/cpp/src/thrift/generate/t_swift_generator.cc b/compiler/cpp/src/thrift/generate/t_swift_generator.cc
index a1d3211..31db04d 100644
--- a/compiler/cpp/src/thrift/generate/t_swift_generator.cc
+++ b/compiler/cpp/src/thrift/generate/t_swift_generator.cc
@@ -299,10 +299,10 @@
string module = get_real_swift_module(program_);
string out_dir = get_out_dir();
string module_path = out_dir;
- string name = capitalize(program_name_);
+ string name = program_name_;
if (namespaced_ && !module.empty()) {
module_path = module_path + "/" + module;
- name = capitalize(module);
+ name = module;
}
MKDIR(module_path.c_str());
@@ -1060,7 +1060,7 @@
const vector<t_field*>& fields = tstruct->get_members();
vector<t_field*>::const_iterator f_iter;
for (f_iter = fields.begin(); f_iter != fields.end(); ++f_iter) {
- indent(out) << "case (" << (*f_iter)->get_key() << ", " << type_to_enum((*f_iter)->get_type()) << "):";// << endl;
+ indent(out) << "case (" << (*f_iter)->get_key() << ", " << type_to_enum((*f_iter)->get_type()) << "):";
string padding = "";
t_type* type = get_true_type((*f_iter)->get_type());
@@ -1165,7 +1165,7 @@
// Generate deserialization code for known cases
for (f_iter = fields.begin(); f_iter != fields.end(); ++f_iter) {
- indent(out) << "case (" << (*f_iter)->get_key() << ", " << type_to_enum((*f_iter)->get_type()) << "):";// << endl;
+ indent(out) << "case (" << (*f_iter)->get_key() << ", " << type_to_enum((*f_iter)->get_type()) << "):";
string padding = "";
t_type* type = get_true_type((*f_iter)->get_type());
@@ -2414,7 +2414,14 @@
if (!gen_cocoa_) {
for (x_iter = xfields.begin(); x_iter != xfields.end(); ++x_iter) {
- indent(out) << "catch let error as " << (*x_iter)->get_type()->get_name();
+ indent(out) << "catch let error as ";
+
+ t_program* program = (*x_iter)->get_type()->get_program();
+ if ((*x_iter)->get_type()->get_name() == "Error" && namespaced_ && program != program_) {
+ out << get_real_swift_module(program) << ".";
+ }
+ out << (*x_iter)->get_type()->get_name();
+
out << " { result." << (*x_iter)->get_name() << " = error }" << endl;
}
diff --git a/lib/swift/README.md b/lib/swift/README.md
index 2ad88d6..4fdeacf 100644
--- a/lib/swift/README.md
+++ b/lib/swift/README.md
@@ -20,8 +20,6 @@
specific language governing permissions and limitations
under the License.
-Brought to you by [FiscalNote, Inc](http://www.fiscalnote.com/)
-
## Build