Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(160)

Unified Diff: base/android/jni_generator/jni_generator.py

Issue 2199973003: Android JNI gen: Don't emit code for empty RegisterNatives() (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@jnireg1
Patch Set: Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | base/android/jni_generator/testCalledByNatives.golden » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: base/android/jni_generator/jni_generator.py
diff --git a/base/android/jni_generator/jni_generator.py b/base/android/jni_generator/jni_generator.py
index 0cb70bc836b379f4bf333c4219e78ef0a858f95f..de0c152c7a21961267b449737f9b278da5d373cb 100755
--- a/base/android/jni_generator/jni_generator.py
+++ b/base/android/jni_generator/jni_generator.py
@@ -740,7 +740,7 @@ $CONSTANT_FIELDS
// Step 2: method stubs.
$METHOD_STUBS
-// Step 3: RegisterNatives.
+$STEP3_COMMENT
Torne 2016/08/02 12:31:40 I'd really just leave the comment there; it's an a
no sievers 2016/08/02 23:12:17 Done.
$JNI_NATIVE_METHODS
$REGISTER_NATIVES
$CLOSE_NAMESPACE
@@ -754,12 +754,17 @@ $CLOSE_NAMESPACE
'CONSTANT_FIELDS': self.GetConstantFieldsString(),
'METHOD_STUBS': self.GetMethodStubsString(),
'OPEN_NAMESPACE': self.GetOpenNamespaceString(),
+ 'STEP3_COMMENT': '',
'JNI_NATIVE_METHODS': self.GetJNINativeMethodsString(),
'REGISTER_NATIVES': self.GetRegisterNativesString(),
'CLOSE_NAMESPACE': self.GetCloseNamespaceString(),
'HEADER_GUARD': self.header_guard,
'INCLUDES': self.GetIncludesString(),
}
+ assert (values['JNI_NATIVE_METHODS'] == '') ==
+ (values['REGISTER_NATIVES'] == '')
+ if values['JNI_NATIVE_METHODS'] != '':
+ values['STEP3_COMMENT'] = '// Step 3: RegisterNatives.'
return WrapOutput(template.substitute(values))
def GetClassPathDefinitionsString(self):
@@ -829,6 +834,10 @@ ${KMETHODS}
def GetRegisterNativesString(self):
"""Returns the code for RegisterNatives."""
+ natives = self.GetRegisterNativesImplString()
+ if not natives:
+ return ''
+
template = Template("""\
${REGISTER_NATIVES_SIGNATURE} {
${EARLY_EXIT}
@@ -843,19 +852,12 @@ ${NATIVES}
if (base::android::IsManualJniRegistrationDisabled()) return true;
"""
- natives = self.GetRegisterNativesImplString()
values = {'REGISTER_NATIVES_SIGNATURE': signature,
'EARLY_EXIT': early_exit,
'NATIVES': natives,
}
- func_declaration = ''
- if not natives:
- func_declaration = Template("""\
-${REGISTER_NATIVES_SIGNATURE} __attribute__((unused));
-""").substitute(values)
-
- return func_declaration + template.substitute(values)
+ return template.substitute(values)
def GetRegisterNativesImplString(self):
"""Returns the shared implementation for RegisterNatives."""
« no previous file with comments | « no previous file | base/android/jni_generator/testCalledByNatives.golden » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698