| 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 ec695db4bbc58becd6f8d34666d28f2d9c3c6fda..81bcfbb4c57d475b48ab11010a923096865eee3c 100755
|
| --- a/base/android/jni_generator/jni_generator.py
|
| +++ b/base/android/jni_generator/jni_generator.py
|
| @@ -163,6 +163,9 @@ class JniParams(object):
|
|
|
| @staticmethod
|
| def ExtractImportsAndInnerClasses(contents):
|
| + if not JniParams._package:
|
| + raise RuntimeError('SetFullyQualifiedClass must be called before '
|
| + 'ExtractImportsAndInnerClasses')
|
| contents = contents.replace('\n', '')
|
| re_import = re.compile(r'import.*?(?P<class>\S*?);')
|
| for match in re.finditer(re_import, contents):
|
| @@ -175,6 +178,19 @@ class JniParams(object):
|
| JniParams._inner_classes += [JniParams._fully_qualified_class + '$' +
|
| inner]
|
|
|
| + re_additional_imports = re.compile(
|
| + r'@JNIAdditionalImport\((?P<class_name>\w+?)\.class\)')
|
| + for match in re.finditer(re_additional_imports, contents):
|
| + class_name = match.group('class_name')
|
| + if '.' in class_name:
|
| + raise SyntaxError('*.class cannot be used in @JNIAdditionalImport. '
|
| + 'Only import unqualified outer classes.' % class_name)
|
| + new_import = 'L%s/%s' % (JniParams._package, class_name)
|
| + if new_import in JniParams._imports:
|
| + raise SyntaxError('Do not use JNIAdditionalImport on an already '
|
| + 'imported class: %s' % (new_import.replace('/', '.')))
|
| + JniParams._imports += [new_import]
|
| +
|
| @staticmethod
|
| def ParseJavaPSignature(signature_line):
|
| prefix = 'Signature: '
|
|
|