public class ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory extends ch.qos.logback.core.spi.ContextAwareBase
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory
super_class: ch.qos.logback.core.spi.ContextAwareBase
{
void <init>(ch.qos.logback.core.Context);
descriptor: (Lch/qos/logback/core/Context;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial ch.qos.logback.core.spi.ContextAwareBase.<init>:()V
1: aload 0
aload 1
invokevirtual ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory.setContext:(Lch/qos/logback/core/Context;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lch/qos/logback/core/joran/util/beans/BeanDescriptionFactory;
0 3 1 context Lch/qos/logback/core/Context;
MethodParameters:
Name Flags
context
public ch.qos.logback.core.joran.util.beans.BeanDescription create(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Lch/qos/logback/core/joran/util/beans/BeanDescription;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=13, args_size=2
start local 0 start local 1 0: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 2
start local 2 1: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 3
start local 3 2: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 4
start local 4 3: aload 1
invokevirtual java.lang.Class.getMethods:()[Ljava/lang/reflect/Method;
astore 5
start local 5 4: aload 5
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 31
StackMap locals: ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory java.lang.Class java.util.Map java.util.Map java.util.Map java.lang.reflect.Method[] top int int java.lang.reflect.Method[]
StackMap stack:
5: aload 9
iload 7
aaload
astore 6
start local 6 6: aload 6
invokevirtual java.lang.reflect.Method.isBridge:()Z
ifeq 8
7: goto 30
8: StackMap locals: ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory java.lang.Class java.util.Map java.util.Map java.util.Map java.lang.reflect.Method[] java.lang.reflect.Method int int java.lang.reflect.Method[]
StackMap stack:
aload 6
invokestatic ch.qos.logback.core.joran.util.beans.BeanUtil.isGetter:(Ljava/lang/reflect/Method;)Z
ifeq 17
9: aload 6
invokestatic ch.qos.logback.core.joran.util.beans.BeanUtil.getPropertyName:(Ljava/lang/reflect/Method;)Ljava/lang/String;
astore 10
start local 10 10: aload 2
aload 10
aload 6
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.reflect.Method
astore 11
start local 11 11: aload 11
ifnull 30
12: aload 11
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
ldc "is"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 14
13: aload 2
aload 10
aload 11
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
14: StackMap locals: java.lang.String java.lang.reflect.Method
StackMap stack:
ldc "Class '%s' contains multiple getters for the same property '%s'."
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
invokevirtual java.lang.Class.getCanonicalName:()Ljava/lang/String;
aastore
dup
iconst_1
aload 10
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 12
start local 12 15: aload 0
aload 12
invokevirtual ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory.addWarn:(Ljava/lang/String;)V
end local 12 end local 11 end local 10 16: goto 30
StackMap locals:
StackMap stack:
17: aload 6
invokestatic ch.qos.logback.core.joran.util.beans.BeanUtil.isSetter:(Ljava/lang/reflect/Method;)Z
ifeq 24
18: aload 6
invokestatic ch.qos.logback.core.joran.util.beans.BeanUtil.getPropertyName:(Ljava/lang/reflect/Method;)Ljava/lang/String;
astore 10
start local 10 19: aload 3
aload 10
aload 6
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.reflect.Method
astore 11
start local 11 20: aload 11
ifnull 30
21: ldc "Class '%s' contains multiple setters for the same property '%s'."
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
invokevirtual java.lang.Class.getCanonicalName:()Ljava/lang/String;
aastore
dup
iconst_1
aload 10
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 12
start local 12 22: aload 0
aload 12
invokevirtual ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory.addWarn:(Ljava/lang/String;)V
end local 12 end local 11 end local 10 23: goto 30
StackMap locals:
StackMap stack:
24: aload 6
invokestatic ch.qos.logback.core.joran.util.beans.BeanUtil.isAdder:(Ljava/lang/reflect/Method;)Z
ifeq 30
25: aload 6
invokestatic ch.qos.logback.core.joran.util.beans.BeanUtil.getPropertyName:(Ljava/lang/reflect/Method;)Ljava/lang/String;
astore 10
start local 10 26: aload 4
aload 10
aload 6
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.reflect.Method
astore 11
start local 11 27: aload 11
ifnull 30
28: ldc "Class '%s' contains multiple adders for the same property '%s'."
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
invokevirtual java.lang.Class.getCanonicalName:()Ljava/lang/String;
aastore
dup
iconst_1
aload 10
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 12
start local 12 29: aload 0
aload 12
invokevirtual ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory.addWarn:(Ljava/lang/String;)V
end local 12 end local 11 end local 10 end local 6 30: StackMap locals: ch.qos.logback.core.joran.util.beans.BeanDescriptionFactory java.lang.Class java.util.Map java.util.Map java.util.Map java.lang.reflect.Method[] top int int java.lang.reflect.Method[]
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
31: iload 7
iload 8
if_icmplt 5
32: new ch.qos.logback.core.joran.util.beans.BeanDescription
dup
aload 1
aload 2
aload 3
aload 4
invokespecial ch.qos.logback.core.joran.util.beans.BeanDescription.<init>:(Ljava/lang/Class;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;)V
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lch/qos/logback/core/joran/util/beans/BeanDescriptionFactory;
0 33 1 clazz Ljava/lang/Class<*>;
1 33 2 propertyNameToGetter Ljava/util/Map<Ljava/lang/String;Ljava/lang/reflect/Method;>;
2 33 3 propertyNameToSetter Ljava/util/Map<Ljava/lang/String;Ljava/lang/reflect/Method;>;
3 33 4 propertyNameToAdder Ljava/util/Map<Ljava/lang/String;Ljava/lang/reflect/Method;>;
4 33 5 methods [Ljava/lang/reflect/Method;
6 30 6 method Ljava/lang/reflect/Method;
10 16 10 propertyName Ljava/lang/String;
11 16 11 oldGetter Ljava/lang/reflect/Method;
15 16 12 message Ljava/lang/String;
19 23 10 propertyName Ljava/lang/String;
20 23 11 oldSetter Ljava/lang/reflect/Method;
22 23 12 message Ljava/lang/String;
26 30 10 propertyName Ljava/lang/String;
27 30 11 oldAdder Ljava/lang/reflect/Method;
29 30 12 message Ljava/lang/String;
Signature: (Ljava/lang/Class<*>;)Lch/qos/logback/core/joran/util/beans/BeanDescription;
MethodParameters:
Name Flags
clazz
}
SourceFile: "BeanDescriptionFactory.java"