Addressed comments.
authorMichael Case <mikecase@google.com>
Tue, 10 Apr 2018 03:09:19 +0000 (20:09 -0700)
committerMichael Case <mikecase@google.com>
Tue, 10 Apr 2018 03:09:19 +0000 (20:09 -0700)
- Free all un-popped GenericNamespace objects in destructor (not
  just the one garunteed to be there).
- Renamed test file to test.java.snippet.

tensorflow/java/BUILD
tensorflow/java/src/gen/cc/source_writer.cc
tensorflow/java/src/gen/cc/source_writer_test.cc
tensorflow/java/src/gen/resources/test.java.snippet [moved from tensorflow/java/src/gen/resources/test.snippet.java.txt with 100% similarity]

index 4b558af..ab7d698 100644 (file)
@@ -312,7 +312,7 @@ tf_cc_test(
         "src/gen/cc/source_writer_test.cc",
     ],
     data = [
-        "src/gen/resources/test.snippet.java.txt",
+        "src/gen/resources/test.java.snippet",
     ],
     deps = [
         ":java_op_gen_lib",
index c57389f..a02f75a 100644 (file)
@@ -28,10 +28,13 @@ SourceWriter::SourceWriter() {
 }
 
 SourceWriter::~SourceWriter() {
-  // Remove empty generic namespace added at start.
-  GenericNamespace* generic_namespace = generic_namespaces_.top();
-  generic_namespaces_.pop();
-  delete generic_namespace;
+  // Remove empty generic namespace added at start as well as any other
+  // namespace objects that haven't been removed.
+  while (!generic_namespaces_.empty()) {
+    GenericNamespace* generic_namespace = generic_namespaces_.top();
+    generic_namespaces_.pop();
+    delete generic_namespace;
+  }
 }
 
 SourceWriter& SourceWriter::Indent(int tab) {
index cbde646..4bce2fe 100644 (file)
@@ -261,7 +261,7 @@ TEST(StreamTest, FileSnippet) {
   SourceBufferWriter writer;
   const string fname = tensorflow::io::JoinPath(
       tensorflow::testing::TensorFlowSrcRoot(),
-      "java/src/gen/resources/test.snippet.java.txt");
+      "java/src/gen/resources/test.java.snippet");
 
   writer.WriteFromFile(fname)
         .BeginBlock()