THRIFT-3559 Fix awkward extra semi-colons with Cocoa container literals
Client: Cocoa
Patch: Kevin Wooten

This closes #797
diff --git a/compiler/cpp/src/generate/t_cocoa_generator.cc b/compiler/cpp/src/generate/t_cocoa_generator.cc
index 4f135f4..4258965 100644
--- a/compiler/cpp/src/generate/t_cocoa_generator.cc
+++ b/compiler/cpp/src/generate/t_cocoa_generator.cc
@@ -2767,7 +2767,7 @@
         mapout << ", ";
       }
     }
-    mapout << "};" << endl;
+    mapout << "}";
     out << mapout.str();
   } else if (type->is_list()) {
     ostringstream listout;
@@ -2784,7 +2784,7 @@
         listout << ", ";
       }
     }
-    listout << "];" << endl;
+    listout << "]";
     out << listout.str();
   } else if (type->is_set()) {
     ostringstream setout;
@@ -2794,14 +2794,14 @@
     vector<t_const_value*>::const_iterator v_iter;
     if (defval)
       setout << type_name(type) << " ";
-    setout << name << " = [[NSSet alloc] initWithArray:@[";
+    setout << name << " = [NSSet setWithArray:@[";
     for (v_iter = val.begin(); v_iter != val.end();) {
       setout << render_const_value(out, etype, *v_iter, true);
       if (++v_iter != val.end()) {
         setout << ", ";
       }
     }
-    setout << "]];" << endl;
+    setout << "]]";
     out << setout.str();
   } else {
     throw "compiler error: no const of type " + type->get_name();
@@ -2849,6 +2849,7 @@
   } else {
     string t = tmp("tmp");
     print_const_value(out, t, type, value, true);
+    out << ";" << endl;
     render << t;
   }