From 9e3a08b4f9e87d0886e69e4ca7928a1647dda062 Mon Sep 17 00:00:00 2001 From: Michael Case Date: Mon, 9 Apr 2018 08:19:52 -0700 Subject: [PATCH] Fixes to source_writer.cc. - Fix memory leak in source_writer constructor. - FIx test data having .java extension causing issues with internal linters. Changing to .txt extension. --- tensorflow/java/BUILD | 2 +- tensorflow/java/src/gen/cc/source_writer.cc | 9 ++++++++- tensorflow/java/src/gen/cc/source_writer.h | 2 +- tensorflow/java/src/gen/cc/source_writer_test.cc | 4 +++- .../gen/resources/{test.snippet.java => test.snippet.java.txt} | 0 5 files changed, 13 insertions(+), 4 deletions(-) rename tensorflow/java/src/gen/resources/{test.snippet.java => test.snippet.java.txt} (100%) diff --git a/tensorflow/java/BUILD b/tensorflow/java/BUILD index 1be4c83..4b558af 100644 --- a/tensorflow/java/BUILD +++ b/tensorflow/java/BUILD @@ -312,7 +312,7 @@ tf_cc_test( "src/gen/cc/source_writer_test.cc", ], data = [ - "src/gen/resources/test.snippet.java", + "src/gen/resources/test.snippet.java.txt", ], deps = [ ":java_op_gen_lib", diff --git a/tensorflow/java/src/gen/cc/source_writer.cc b/tensorflow/java/src/gen/cc/source_writer.cc index 214999a..c57389f 100644 --- a/tensorflow/java/src/gen/cc/source_writer.cc +++ b/tensorflow/java/src/gen/cc/source_writer.cc @@ -23,10 +23,17 @@ namespace tensorflow { namespace java { SourceWriter::SourceWriter() { - // push an empty generic namespace at start, for simplification + // Push an empty generic namespace at start, for simplification. generic_namespaces_.push(new GenericNamespace()); } +SourceWriter::~SourceWriter() { + // Remove empty generic namespace added at start. + GenericNamespace* generic_namespace = generic_namespaces_.top(); + generic_namespaces_.pop(); + delete generic_namespace; +} + SourceWriter& SourceWriter::Indent(int tab) { left_margin_.resize( std::max(static_cast(left_margin_.size() + tab), 0), ' '); diff --git a/tensorflow/java/src/gen/cc/source_writer.h b/tensorflow/java/src/gen/cc/source_writer.h index 6abe13b..cb0e927 100644 --- a/tensorflow/java/src/gen/cc/source_writer.h +++ b/tensorflow/java/src/gen/cc/source_writer.h @@ -32,7 +32,7 @@ namespace java { class SourceWriter { public: SourceWriter(); - virtual ~SourceWriter() = default; + virtual ~SourceWriter(); // Indents following lines with white spaces. // diff --git a/tensorflow/java/src/gen/cc/source_writer_test.cc b/tensorflow/java/src/gen/cc/source_writer_test.cc index 6926a5a..cbde646 100644 --- a/tensorflow/java/src/gen/cc/source_writer_test.cc +++ b/tensorflow/java/src/gen/cc/source_writer_test.cc @@ -259,7 +259,9 @@ TEST(StreamTest, Types) { TEST(StreamTest, FileSnippet) { SourceBufferWriter writer; - const string& fname = "tensorflow/java/src/gen/resources/test.snippet.java"; + const string fname = tensorflow::io::JoinPath( + tensorflow::testing::TensorFlowSrcRoot(), + "java/src/gen/resources/test.snippet.java.txt"); writer.WriteFromFile(fname) .BeginBlock() diff --git a/tensorflow/java/src/gen/resources/test.snippet.java b/tensorflow/java/src/gen/resources/test.snippet.java.txt similarity index 100% rename from tensorflow/java/src/gen/resources/test.snippet.java rename to tensorflow/java/src/gen/resources/test.snippet.java.txt -- 2.7.4