Forcing all of the functions under src/parse to be defined in header
files is silly and sometimes painful. Createa a "parse.cc" file for
functions that don't belong in header files. To start, move
generate_fingerprint there, because it requires including md5.h.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@
1004702 13f79535-47bb-0310-9956-
ffa450edef68
src/parse/t_scope.h \
src/parse/t_const.h \
src/parse/t_const_value.h \
+ src/parse/parse.cc \
src/generate/t_generator.h \
src/generate/t_oop_generator.h
--- /dev/null
+#include "t_type.h"
+
+#include "md5.h"
+
+void t_type::generate_fingerprint() {
+ std::string material = get_fingerprint_material();
+ md5_state_t ctx;
+ md5_init(&ctx);
+ md5_append(&ctx, (md5_byte_t*)(material.data()), (int)material.size());
+ md5_finish(&ctx, (md5_byte_t*)fingerprint_);
+}
#include <stdint.h>
#include "t_doc.h"
-// What's worse? This, or making a src/parse/non_inlined.cc?
-#include "md5.h"
-
class t_program;
/**
static const int fingerprint_len = 16;
// Call this before trying get_*_fingerprint().
- virtual void generate_fingerprint() {
- std::string material = get_fingerprint_material();
- md5_state_t ctx;
- md5_init(&ctx);
- md5_append(&ctx, (md5_byte_t*)(material.data()), (int)material.size());
- md5_finish(&ctx, (md5_byte_t*)fingerprint_);
- }
+ virtual void generate_fingerprint();
bool has_fingerprint() const {
for (int i = 0; i < fingerprint_len; i++) {