Reuse NoopCompilerCallbacks in oatdump

Change-Id: Icb4d3941196c1a236f0184fe4d0b7f5838bc13bd
diff --git a/compiler/driver/compiler_callbacks_impl.h b/compiler/driver/compiler_callbacks_impl.h
index fd2cd4a..ed6a925 100644
--- a/compiler/driver/compiler_callbacks_impl.h
+++ b/compiler/driver/compiler_callbacks_impl.h
@@ -23,7 +23,7 @@
 
 namespace art {
 
-class CompilerCallbacksImpl : public CompilerCallbacks {
+class CompilerCallbacksImpl FINAL : public CompilerCallbacks {
   public:
     CompilerCallbacksImpl(VerificationResults* verification_results,
                           DexFileToMethodInlinerMap* method_inliner_map)
@@ -33,10 +33,10 @@
       CHECK(method_inliner_map != nullptr);
     }
 
-    virtual ~CompilerCallbacksImpl() { }
+    ~CompilerCallbacksImpl() { }
 
-    virtual bool MethodVerified(verifier::MethodVerifier* verifier)
-        SHARED_LOCKS_REQUIRED(Locks::mutator_lock_) {
+    bool MethodVerified(verifier::MethodVerifier* verifier)
+        SHARED_LOCKS_REQUIRED(Locks::mutator_lock_) OVERRIDE {
       bool result = verification_results_->ProcessVerifiedMethod(verifier);
       if (result) {
         MethodReference ref = verifier->GetMethodReference();
@@ -45,7 +45,7 @@
       }
       return result;
     }
-    virtual void ClassRejected(ClassReference ref) {
+    void ClassRejected(ClassReference ref) OVERRIDE {
       verification_results_->AddRejectedClass(ref);
     }
 
diff --git a/oatdump/oatdump.cc b/oatdump/oatdump.cc
index 841a478..915c415 100644
--- a/oatdump/oatdump.cc
+++ b/oatdump/oatdump.cc
@@ -26,7 +26,6 @@
 #include "base/unix_file/fd_file.h"
 #include "class_linker.h"
 #include "class_linker-inl.h"
-#include "compiler_callbacks.h"
 #include "dex_file-inl.h"
 #include "dex_instruction.h"
 #include "disassembler.h"
@@ -43,6 +42,7 @@
 #include "mirror/class-inl.h"
 #include "mirror/object-inl.h"
 #include "mirror/object_array-inl.h"
+#include "noop_compiler_callbacks.h"
 #include "oat.h"
 #include "object_utils.h"
 #include "os.h"
@@ -1528,13 +1528,8 @@
   std::string boot_oat_option;
 
   // We are more like a compiler than a run-time. We don't want to execute code.
-  // TODO: Replace with NoopCompilerCallbacks.
-  struct OatDumpCompilerCallbacks : CompilerCallbacks {
-    virtual bool MethodVerified(verifier::MethodVerifier* /*verifier*/) { return true; }
-    virtual void ClassRejected(ClassReference /*ref*/) { }
-  } callbacks;
-  options.push_back(std::make_pair("compilercallbacks",
-                                   static_cast<CompilerCallbacks*>(&callbacks)));
+  NoopCompilerCallbacks callbacks;
+  options.push_back(std::make_pair("compilercallbacks", &callbacks));
 
   if (boot_image_filename != NULL) {
     boot_image_option += "-Ximage:";
diff --git a/runtime/common_runtime_test.h b/runtime/common_runtime_test.h
index cef0703..cfe808c 100644
--- a/runtime/common_runtime_test.h
+++ b/runtime/common_runtime_test.h
@@ -31,7 +31,6 @@
 #include "base/stringprintf.h"
 #include "base/unix_file/fd_file.h"
 #include "class_linker.h"
-#include "compiler_callbacks.h"
 #include "dex_file-inl.h"
 #include "entrypoints/entrypoint_utils.h"
 #include "gc/heap.h"
@@ -39,6 +38,7 @@
 #include "instruction_set.h"
 #include "interpreter/interpreter.h"
 #include "mirror/class_loader.h"
+#include "noop_compiler_callbacks.h"
 #include "oat_file.h"
 #include "object_utils.h"
 #include "os.h"
@@ -94,16 +94,6 @@
   UniquePtr<File> file_;
 };
 
-class NoopCompilerCallbacks : public CompilerCallbacks {
- public:
-  NoopCompilerCallbacks() {}
-  virtual ~NoopCompilerCallbacks() {}
-  virtual bool MethodVerified(verifier::MethodVerifier* verifier) {
-    return true;
-  }
-  virtual void ClassRejected(ClassReference ref) {}
-};
-
 class CommonRuntimeTest : public testing::Test {
  public:
   static void SetEnvironmentVariables(std::string& android_data) {
diff --git a/runtime/noop_compiler_callbacks.h b/runtime/noop_compiler_callbacks.h
new file mode 100644
index 0000000..702b2e1
--- /dev/null
+++ b/runtime/noop_compiler_callbacks.h
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ART_RUNTIME_NOOP_COMPILER_CALLBACKS_H_
+#define ART_RUNTIME_NOOP_COMPILER_CALLBACKS_H_
+
+#include "compiler_callbacks.h"
+
+namespace art {
+
+class NoopCompilerCallbacks FINAL : public CompilerCallbacks {
+ public:
+  NoopCompilerCallbacks() {}
+  ~NoopCompilerCallbacks() {}
+  bool MethodVerified(verifier::MethodVerifier* verifier) OVERRIDE {
+    return true;
+  }
+  void ClassRejected(ClassReference ref) OVERRIDE {}
+};
+
+}  // namespace art
+
+#endif  // ART_RUNTIME_NOOP_COMPILER_CALLBACKS_H_