AI 149620: mkstubs should ignore all the methods/fields/classes with default access.
External bug: http://code.google.com/p/android/issues/detail?id=2806 BUG=1901455 Automated import of CL 149620
This commit is contained in:
committed by
The Android Open Source Project
parent
c91e5f15ba
commit
c3c97d1db3
@@ -26,7 +26,7 @@ import org.objectweb.asm.Opcodes;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* A class visitor that filters out all members (fields, methods and inner classes) that are
|
* A class visitor that filters out all members (fields, methods and inner classes) that are
|
||||||
* either private or rejected by the {@link Filter}.
|
* either private, default-access or rejected by the {@link Filter}.
|
||||||
*/
|
*/
|
||||||
class FilterClassAdapter extends ClassAdapter {
|
class FilterClassAdapter extends ClassAdapter {
|
||||||
|
|
||||||
@@ -64,8 +64,8 @@ class FilterClassAdapter extends ClassAdapter {
|
|||||||
@Override
|
@Override
|
||||||
public FieldVisitor visitField(int access, String name, String desc,
|
public FieldVisitor visitField(int access, String name, String desc,
|
||||||
String signature, Object value) {
|
String signature, Object value) {
|
||||||
// exclude private fields
|
// only accept public/protected fields
|
||||||
if ((access & Opcodes.ACC_PRIVATE) != 0) {
|
if ((access & (Opcodes.ACC_PUBLIC | Opcodes.ACC_PROTECTED)) == 0) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -96,8 +96,8 @@ class FilterClassAdapter extends ClassAdapter {
|
|||||||
public MethodVisitor visitMethod(int access, String name, String desc,
|
public MethodVisitor visitMethod(int access, String name, String desc,
|
||||||
String signature, String[] exceptions) {
|
String signature, String[] exceptions) {
|
||||||
|
|
||||||
// exclude private methods
|
// only accept public/protected methods
|
||||||
if ((access & Opcodes.ACC_PRIVATE) != 0) {
|
if ((access & (Opcodes.ACC_PUBLIC | Opcodes.ACC_PROTECTED)) == 0) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -139,8 +139,8 @@ class FilterClassAdapter extends ClassAdapter {
|
|||||||
@Override
|
@Override
|
||||||
public void visitInnerClass(String name, String outerName, String innerName, int access) {
|
public void visitInnerClass(String name, String outerName, String innerName, int access) {
|
||||||
|
|
||||||
// exclude private methods
|
// only accept public/protected inner classes
|
||||||
if ((access & Opcodes.ACC_PRIVATE) != 0) {
|
if ((access & (Opcodes.ACC_PUBLIC | Opcodes.ACC_PROTECTED)) == 0) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user