diff --git a/generate/templates/manual/include/wrapper.h b/generate/templates/manual/include/wrapper.h index cd7c26ff0..c040ea64d 100644 --- a/generate/templates/manual/include/wrapper.h +++ b/generate/templates/manual/include/wrapper.h @@ -20,7 +20,7 @@ class Wrapper : public Nan::ObjectWrap { static void InitializeComponent (Local target); void *GetValue(); - static Local New(void *raw); + static Local New(const void *raw); private: Wrapper(void *raw); diff --git a/generate/templates/manual/src/convenient_patch.cc b/generate/templates/manual/src/convenient_patch.cc index 8638cf0d7..dbe75ba74 100644 --- a/generate/templates/manual/src/convenient_patch.cc +++ b/generate/templates/manual/src/convenient_patch.cc @@ -303,7 +303,7 @@ NAN_METHOD(ConvenientPatch::OldFile) { git_diff_file *old_file = (git_diff_file *)malloc(sizeof(git_diff_file)); *old_file = Nan::ObjectWrap::Unwrap(info.This())->GetOldFile(); - to = GitDiffFile::New((void *)old_file, true); + to = GitDiffFile::New(old_file, true); return info.GetReturnValue().Set(to); } @@ -315,7 +315,7 @@ NAN_METHOD(ConvenientPatch::NewFile) { git_diff_file *new_file = (git_diff_file *)malloc(sizeof(git_diff_file)); *new_file = Nan::ObjectWrap::Unwrap(info.This())->GetNewFile(); if (new_file != NULL) { - to = GitDiffFile::New((void *)new_file, true); + to = GitDiffFile::New(new_file, true); } else { to = Nan::Null(); } diff --git a/generate/templates/manual/src/wrapper.cc b/generate/templates/manual/src/wrapper.cc index 0bcc9a745..3f2ea6121 100644 --- a/generate/templates/manual/src/wrapper.cc +++ b/generate/templates/manual/src/wrapper.cc @@ -42,7 +42,7 @@ NAN_METHOD(Wrapper::JSNewFunction) { info.GetReturnValue().Set(info.This()); } -Local Wrapper::New(void *raw) { +Local Wrapper::New(const void *raw) { Nan::EscapableHandleScope scope; Local argv[1] = { Nan::New((void *)raw) }; diff --git a/generate/templates/partials/callback_helpers.cc b/generate/templates/partials/callback_helpers.cc index 0acd215ae..b103d24e0 100644 --- a/generate/templates/partials/callback_helpers.cc +++ b/generate/templates/partials/callback_helpers.cc @@ -55,7 +55,7 @@ void {{ cppClassName }}::{{ cppFunctionName }}_{{ cbFunction.name }}_async(uv_as {% if arg.isEnum %} Nan::New((int)baton->{{ arg.name }}), {% elsif arg.isLibgitType %} - {{ arg.cppClassName }}::New((void *)baton->{{ arg.name }}, false), + {{ arg.cppClassName }}::New(baton->{{ arg.name }}, false), {% elsif arg.cType == "size_t" %} // HACK: NAN should really have an overload for Nan::New to support size_t Nan::New((unsigned int)baton->{{ arg.name }}), diff --git a/generate/templates/partials/convert_to_v8.cc b/generate/templates/partials/convert_to_v8.cc index bfe40dde6..100885260 100644 --- a/generate/templates/partials/convert_to_v8.cc +++ b/generate/templates/partials/convert_to_v8.cc @@ -59,9 +59,9 @@ if ({{= parsedName =}} != NULL) { // {{= cppClassName }} {{= parsedName }} {% if cppClassName == 'Wrapper' %} - to = {{ cppClassName }}::New((void *){{= parsedName =}}); + to = {{ cppClassName }}::New({{= parsedName =}}); {% else %} - to = {{ cppClassName }}::New((void *){{= parsedName =}}, false); + to = {{ cppClassName }}::New({{= parsedName =}}, false); {% endif %} } else { diff --git a/generate/templates/partials/field_accessors.cc b/generate/templates/partials/field_accessors.cc index 17b338dc3..9261c2fcd 100644 --- a/generate/templates/partials/field_accessors.cc +++ b/generate/templates/partials/field_accessors.cc @@ -149,7 +149,7 @@ {% if arg.isEnum %} Nan::New((int)baton->{{ arg.name }}), {% elsif arg.isLibgitType %} - {{ arg.cppClassName }}::New((void *)baton->{{ arg.name }}, false), + {{ arg.cppClassName }}::New(baton->{{ arg.name }}, false), {% elsif arg.cType == "size_t" %} // HACK: NAN should really have an overload for Nan::New to support size_t Nan::New((unsigned int)baton->{{ arg.name }}), diff --git a/generate/templates/templates/class_content.cc b/generate/templates/templates/class_content.cc index c172e1fa5..34d7a0126 100644 --- a/generate/templates/templates/class_content.cc +++ b/generate/templates/templates/class_content.cc @@ -98,7 +98,7 @@ using namespace node; info.GetReturnValue().Set(info.This()); } - Local {{ cppClassName }}::New(void *raw, bool selfFreeing) { + Local {{ cppClassName }}::New(const {{ cType }} *raw, bool selfFreeing) { Nan::EscapableHandleScope scope; Local argv[2] = { Nan::New((void *)raw), Nan::New(selfFreeing) }; return scope.Escape(Nan::NewInstance(Nan::New({{ cppClassName }}::constructor_template), 2, argv).ToLocalChecked()); diff --git a/generate/templates/templates/class_header.h b/generate/templates/templates/class_header.h index 84c9b5c4f..502b67d72 100644 --- a/generate/templates/templates/class_header.h +++ b/generate/templates/templates/class_header.h @@ -45,7 +45,7 @@ class {{ cppClassName }} : public Nan::ObjectWrap { {{ cType }} *GetValue(); void ClearValue(); - static Local New(void *raw, bool selfFreeing); + static Local New(const {{ cType }} *raw, bool selfFreeing); {%endif%} bool selfFreeing; diff --git a/generate/templates/templates/struct_content.cc b/generate/templates/templates/struct_content.cc index cab524a80..80b496538 100644 --- a/generate/templates/templates/struct_content.cc +++ b/generate/templates/templates/struct_content.cc @@ -73,7 +73,7 @@ void {{ cppClassName }}::ConstructFields() { {% if not field.isEnum %} {% if field.hasConstructor |or field.isLibgitType %} Local {{ field.name }}Temp = {{ field.cppClassName }}::New( - &this->raw->{{ field.name }}, + {%if not field.cType|isPointer %}&{%endif%}this->raw->{{ field.name }}, false )->ToObject(); this->{{ field.name }}.Reset({{ field.name }}Temp); @@ -131,7 +131,7 @@ NAN_METHOD({{ cppClassName }}::JSNewFunction) { info.GetReturnValue().Set(info.This()); } -Local {{ cppClassName }}::New(void* raw, bool selfFreeing) { +Local {{ cppClassName }}::New(const {{ cType }} * raw, bool selfFreeing) { Nan::EscapableHandleScope scope; Local argv[2] = { Nan::New((void *)raw), Nan::New(selfFreeing) }; diff --git a/generate/templates/templates/struct_header.h b/generate/templates/templates/struct_header.h index 0320fbbf6..ac5a0e236 100644 --- a/generate/templates/templates/struct_header.h +++ b/generate/templates/templates/struct_header.h @@ -30,7 +30,7 @@ class {{ cppClassName }} : public Nan::ObjectWrap { {{ cType }} *GetValue(); void ClearValue(); - static Local New(void *raw, bool selfFreeing); + static Local New(const {{ cType }} *raw, bool selfFreeing); bool selfFreeing;