public class net.sf.cglib.core.VisibilityPredicate implements net.sf.cglib.core.Predicate
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: net.sf.cglib.core.VisibilityPredicate
super_class: java.lang.Object
{
private boolean protectedOk;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.lang.String pkg;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private boolean samePackageOk;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
public void <init>(java.lang.Class, boolean);
descriptor: (Ljava/lang/Class;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iload 2
putfield net.sf.cglib.core.VisibilityPredicate.protectedOk:Z
2: aload 0
aload 1
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
ifnull 3
iconst_1
goto 4
StackMap locals: net.sf.cglib.core.VisibilityPredicate java.lang.Class int
StackMap stack: net.sf.cglib.core.VisibilityPredicate
3: iconst_0
StackMap locals: net.sf.cglib.core.VisibilityPredicate java.lang.Class int
StackMap stack: net.sf.cglib.core.VisibilityPredicate int
4: putfield net.sf.cglib.core.VisibilityPredicate.samePackageOk:Z
5: aload 0
aload 1
invokestatic org.objectweb.asm.Type.getType:(Ljava/lang/Class;)Lorg/objectweb/asm/Type;
invokestatic net.sf.cglib.core.TypeUtils.getPackageName:(Lorg/objectweb/asm/Type;)Ljava/lang/String;
putfield net.sf.cglib.core.VisibilityPredicate.pkg:Ljava/lang/String;
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lnet/sf/cglib/core/VisibilityPredicate;
0 7 1 source Ljava/lang/Class;
0 7 2 protectedOk Z
MethodParameters:
Name Flags
source
protectedOk
public boolean evaluate(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
checkcast java.lang.reflect.Member
astore 2
start local 2 1: aload 2
invokeinterface java.lang.reflect.Member.getModifiers:()I
istore 3
start local 3 2: iload 3
invokestatic java.lang.reflect.Modifier.isPrivate:(I)Z
ifeq 4
3: iconst_0
ireturn
4: StackMap locals: java.lang.reflect.Member int
StackMap stack:
iload 3
invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
ifeq 6
5: iconst_1
ireturn
6: StackMap locals:
StackMap stack:
iload 3
invokestatic java.lang.reflect.Modifier.isProtected:(I)Z
ifeq 8
aload 0
getfield net.sf.cglib.core.VisibilityPredicate.protectedOk:Z
ifeq 8
7: iconst_1
ireturn
8: StackMap locals:
StackMap stack:
aload 0
getfield net.sf.cglib.core.VisibilityPredicate.samePackageOk:Z
ifeq 11
9: aload 0
getfield net.sf.cglib.core.VisibilityPredicate.pkg:Ljava/lang/String;
aload 2
invokeinterface java.lang.reflect.Member.getDeclaringClass:()Ljava/lang/Class;
invokestatic org.objectweb.asm.Type.getType:(Ljava/lang/Class;)Lorg/objectweb/asm/Type;
invokestatic net.sf.cglib.core.TypeUtils.getPackageName:(Lorg/objectweb/asm/Type;)Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 11
10: iconst_1
ireturn
StackMap locals:
StackMap stack:
11: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lnet/sf/cglib/core/VisibilityPredicate;
0 12 1 arg Ljava/lang/Object;
1 12 2 member Ljava/lang/reflect/Member;
2 12 3 mod I
MethodParameters:
Name Flags
arg
}
SourceFile: "VisibilityPredicate.java"