public class ch.qos.logback.core.joran.util.PropertySetter 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.PropertySetter
super_class: ch.qos.logback.core.spi.ContextAwareBase
{
protected final java.lang.Object obj;
descriptor: Ljava/lang/Object;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final java.lang.Class<?> objClass;
descriptor: Ljava/lang/Class;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Signature: Ljava/lang/Class<*>;
protected final ch.qos.logback.core.joran.util.beans.BeanDescription beanDescription;
descriptor: Lch/qos/logback/core/joran/util/beans/BeanDescription;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
private static volatile int[] $SWITCH_TABLE$ch$qos$logback$core$util$AggregationType;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
public void <init>(ch.qos.logback.core.joran.util.beans.BeanDescriptionCache, java.lang.Object);
descriptor: (Lch/qos/logback/core/joran/util/beans/BeanDescriptionCache;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial ch.qos.logback.core.spi.ContextAwareBase.<init>:()V
1: aload 0
aload 2
putfield ch.qos.logback.core.joran.util.PropertySetter.obj:Ljava/lang/Object;
2: aload 0
aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
putfield ch.qos.logback.core.joran.util.PropertySetter.objClass:Ljava/lang/Class;
3: aload 0
aload 1
aload 0
getfield ch.qos.logback.core.joran.util.PropertySetter.objClass:Ljava/lang/Class;
invokevirtual ch.qos.logback.core.joran.util.beans.BeanDescriptionCache.getBeanDescription:(Ljava/lang/Class;)Lch/qos/logback/core/joran/util/beans/BeanDescription;
putfield ch.qos.logback.core.joran.util.PropertySetter.beanDescription:Lch/qos/logback/core/joran/util/beans/BeanDescription;
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lch/qos/logback/core/joran/util/PropertySetter;
0 5 1 beanDescriptionCache Lch/qos/logback/core/joran/util/beans/BeanDescriptionCache;
0 5 2 obj Ljava/lang/Object;
MethodParameters:
Name Flags
beanDescriptionCache
obj
public void setProperty(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual ch.qos.logback.core.joran.util.PropertySetter.findSetterMethod:(Ljava/lang/String;)Ljava/lang/reflect/Method;
astore 3
start local 3 3: aload 3
ifnonnull 6
4: aload 0
new java.lang.StringBuilder
dup
ldc "No setter for property ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "] in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield ch.qos.logback.core.joran.util.PropertySetter.objClass:Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual ch.qos.logback.core.joran.util.PropertySetter.addWarn:(Ljava/lang/String;)V
5: goto 10
6: StackMap locals: java.lang.reflect.Method
StackMap stack:
aload 0
aload 3
aload 1
aload 2
invokevirtual ch.qos.logback.core.joran.util.PropertySetter.setProperty:(Ljava/lang/reflect/Method;Ljava/lang/String;Ljava/lang/String;)V
7: goto 10
StackMap locals:
StackMap stack: ch.qos.logback.core.util.PropertySetterException
8: astore 4
start local 4 9: aload 0
new java.lang.StringBuilder
dup
ldc "Failed to set property ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "] to value \""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\". "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 4
invokevirtual ch.qos.logback.core.joran.util.PropertySetter.addWarn:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 4 10: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lch/qos/logback/core/joran/util/PropertySetter;
0 11 1 name Ljava/lang/String;
0 11 2 value Ljava/lang/String;
3 11 3 setter Ljava/lang/reflect/Method;
9 10 4 ex Lch/qos/logback/core/util/PropertySetterException;
Exception table:
from to target type
6 7 8 Class ch.qos.logback.core.util.PropertySetterException
MethodParameters:
Name Flags
name
value
private void setProperty(java.lang.reflect.Method, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/reflect/Method;Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
astore 4
start local 4 1: aload 0
aload 3
aload 4
iconst_0
aaload
invokestatic ch.qos.logback.core.joran.util.StringToObjectConverter.convertArg:(Lch/qos/logback/core/spi/ContextAware;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
astore 5
start local 5 2: goto 5
end local 5 StackMap locals: ch.qos.logback.core.joran.util.PropertySetter java.lang.reflect.Method java.lang.String java.lang.String java.lang.Class[]
StackMap stack: java.lang.Throwable
3: astore 6
start local 6 4: new ch.qos.logback.core.util.PropertySetterException
dup
new java.lang.StringBuilder
dup
ldc "Conversion to type ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
iconst_0
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "] failed. "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 6
invokespecial ch.qos.logback.core.util.PropertySetterException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 6 start local 5 5: StackMap locals: java.lang.Object
StackMap stack:
aload 5
ifnonnull 7
6: new ch.qos.logback.core.util.PropertySetterException
dup
new java.lang.StringBuilder
dup
ldc "Conversion to type ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
iconst_0
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "] failed."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial ch.qos.logback.core.util.PropertySetterException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield ch.qos.logback.core.joran.util.PropertySetter.obj:Ljava/lang/Object;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 5
aastore
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
pop
8: goto 11
StackMap locals:
StackMap stack: java.lang.Exception
9: astore 6
start local 6 10: new ch.qos.logback.core.util.PropertySetterException
dup
aload 6
invokespecial ch.qos.logback.core.util.PropertySetterException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 6 11: StackMap locals:
StackMap stack:
return
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 12 0 this Lch/qos/logback/core/joran/util/PropertySetter;
0 12 1 setter Ljava/lang/reflect/Method;
0 12 2 name Ljava/lang/String;
0 12 3 value Ljava/lang/String;
1 12 4 paramTypes [Ljava/lang/Class;
2 3 5 arg Ljava/lang/Object;
5 12 5 arg Ljava/lang/Object;
4 5 6 t Ljava/lang/Throwable;
10 11 6 ex Ljava/lang/Exception;
Exception table:
from to target type
1 2 3 Class java.lang.Throwable
7 8 9 Class java.lang.Exception
Exceptions:
throws ch.qos.logback.core.util.PropertySetterException
MethodParameters:
Name Flags
setter
name
value
public ch.qos.logback.core.util.AggregationType computeAggregationType(java.lang.String);
descriptor: (Ljava/lang/String;)Lch/qos/logback/core/util/AggregationType;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual ch.qos.logback.core.joran.util.PropertySetter.capitalizeFirstLetter:(Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 1: aload 0
aload 2
invokevirtual ch.qos.logback.core.joran.util.PropertySetter.findAdderMethod:(Ljava/lang/String;)Ljava/lang/reflect/Method;
astore 3
start local 3 2: aload 3
ifnull 9
3: aload 0
aload 3
invokevirtual ch.qos.logback.core.joran.util.PropertySetter.computeRawAggregationType:(Ljava/lang/reflect/Method;)Lch/qos/logback/core/util/AggregationType;
astore 4
start local 4 4: invokestatic ch.qos.logback.core.joran.util.PropertySetter.$SWITCH_TABLE$ch$qos$logback$core$util$AggregationType:()[I
aload 4
invokevirtual ch.qos.logback.core.util.AggregationType.ordinal:()I
iaload
tableswitch { // 1 - 5
1: 5
2: 6
3: 7
4: 8
5: 8
default: 9
}
5: StackMap locals: java.lang.String java.lang.reflect.Method ch.qos.logback.core.util.AggregationType
StackMap stack:
getstatic ch.qos.logback.core.util.AggregationType.NOT_FOUND:Lch/qos/logback/core/util/AggregationType;
areturn
6: StackMap locals:
StackMap stack:
getstatic ch.qos.logback.core.util.AggregationType.AS_BASIC_PROPERTY_COLLECTION:Lch/qos/logback/core/util/AggregationType;
areturn
7: StackMap locals:
StackMap stack:
getstatic ch.qos.logback.core.util.AggregationType.AS_COMPLEX_PROPERTY_COLLECTION:Lch/qos/logback/core/util/AggregationType;
areturn
8: StackMap locals:
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
ldc "Unexpected AggregationType "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual ch.qos.logback.core.joran.util.PropertySetter.addError:(Ljava/lang/String;)V
end local 4 9: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual ch.qos.logback.core.joran.util.PropertySetter.findSetterMethod:(Ljava/lang/String;)Ljava/lang/reflect/Method;
astore 4
start local 4 10: aload 4
ifnull 12
11: aload 0
aload 4
invokevirtual ch.qos.logback.core.joran.util.PropertySetter.computeRawAggregationType:(Ljava/lang/reflect/Method;)Lch/qos/logback/core/util/AggregationType;
areturn
12: StackMap locals: java.lang.reflect.Method
StackMap stack:
getstatic ch.qos.logback.core.util.AggregationType.NOT_FOUND:Lch/qos/logback/core/util/AggregationType;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lch/qos/logback/core/joran/util/PropertySetter;
0 13 1 name Ljava/lang/String;
1 13 2 cName Ljava/lang/String;
2 13 3 addMethod Ljava/lang/reflect/Method;
4 9 4 type Lch/qos/logback/core/util/AggregationType;
10 13 4 setter Ljava/lang/reflect/Method;
MethodParameters:
Name Flags
name
private java.lang.reflect.Method findAdderMethod(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/reflect/Method;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokestatic ch.qos.logback.core.joran.util.beans.BeanUtil.toLowerCamelCase:(Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 1: aload 0
getfield ch.qos.logback.core.joran.util.PropertySetter.beanDescription:Lch/qos/logback/core/joran/util/beans/BeanDescription;
aload 2
invokevirtual ch.qos.logback.core.joran.util.beans.BeanDescription.getAdder:(Ljava/lang/String;)Ljava/lang/reflect/Method;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lch/qos/logback/core/joran/util/PropertySetter;
0 2 1 name Ljava/lang/String;
1 2 2 propertyName Ljava/lang/String;
MethodParameters:
Name Flags
name
private java.lang.reflect.Method findSetterMethod(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/reflect/Method;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokestatic ch.qos.logback.core.joran.util.beans.BeanUtil.toLowerCamelCase:(Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 1: aload 0
getfield ch.qos.logback.core.joran.util.PropertySetter.beanDescription:Lch/qos/logback/core/joran/util/beans/BeanDescription;
aload 2
invokevirtual ch.qos.logback.core.joran.util.beans.BeanDescription.getSetter:(Ljava/lang/String;)Ljava/lang/reflect/Method;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lch/qos/logback/core/joran/util/PropertySetter;
0 2 1 name Ljava/lang/String;
1 2 2 propertyName Ljava/lang/String;
MethodParameters:
Name Flags
name
private java.lang.Class<?> getParameterClassForMethod(java.lang.reflect.Method);
descriptor: (Ljava/lang/reflect/Method;)Ljava/lang/Class;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
astore 2
start local 2 3: aload 2
arraylength
iconst_1
if_icmpeq 5
4: aconst_null
areturn
5: StackMap locals: java.lang.Class[]
StackMap stack:
aload 2
iconst_0
aaload
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lch/qos/logback/core/joran/util/PropertySetter;
0 6 1 method Ljava/lang/reflect/Method;
3 6 2 classArray [Ljava/lang/Class;
Signature: (Ljava/lang/reflect/Method;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
method
private ch.qos.logback.core.util.AggregationType computeRawAggregationType(java.lang.reflect.Method);
descriptor: (Ljava/lang/reflect/Method;)Lch/qos/logback/core/util/AggregationType;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual ch.qos.logback.core.joran.util.PropertySetter.getParameterClassForMethod:(Ljava/lang/reflect/Method;)Ljava/lang/Class;
astore 2
start local 2 1: aload 2
ifnonnull 3
2: getstatic ch.qos.logback.core.util.AggregationType.NOT_FOUND:Lch/qos/logback/core/util/AggregationType;
areturn
3: StackMap locals: java.lang.Class
StackMap stack:
aload 2
invokestatic ch.qos.logback.core.joran.util.StringToObjectConverter.canBeBuiltFromSimpleString:(Ljava/lang/Class;)Z
ifeq 5
4: getstatic ch.qos.logback.core.util.AggregationType.AS_BASIC_PROPERTY:Lch/qos/logback/core/util/AggregationType;
areturn
5: StackMap locals:
StackMap stack:
getstatic ch.qos.logback.core.util.AggregationType.AS_COMPLEX_PROPERTY:Lch/qos/logback/core/util/AggregationType;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lch/qos/logback/core/joran/util/PropertySetter;
0 6 1 method Ljava/lang/reflect/Method;
1 6 2 parameterClass Ljava/lang/Class<*>;
MethodParameters:
Name Flags
method
private boolean isUnequivocallyInstantiable(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.Class.isInterface:()Z
ifeq 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
astore 2
start local 2 3: aload 2
ifnull 5
4: iconst_1
ireturn
5: StackMap locals: java.lang.Object
StackMap stack:
iconst_0
ireturn
end local 2 6: StackMap locals: ch.qos.logback.core.joran.util.PropertySetter java.lang.Class
StackMap stack: java.lang.InstantiationException
pop
7: iconst_0
ireturn
8: StackMap locals:
StackMap stack: java.lang.IllegalAccessException
pop
9: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lch/qos/logback/core/joran/util/PropertySetter;
0 10 1 clazz Ljava/lang/Class<*>;
3 6 2 o Ljava/lang/Object;
Exception table:
from to target type
2 4 6 Class java.lang.InstantiationException
2 4 8 Class java.lang.IllegalAccessException
Signature: (Ljava/lang/Class<*>;)Z
MethodParameters:
Name Flags
clazz
public java.lang.Class<?> getObjClass();
descriptor: ()Ljava/lang/Class;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield ch.qos.logback.core.joran.util.PropertySetter.objClass:Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lch/qos/logback/core/joran/util/PropertySetter;
Signature: ()Ljava/lang/Class<*>;
public void addComplexProperty(java.lang.String, java.lang.Object);
descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual ch.qos.logback.core.joran.util.PropertySetter.findAdderMethod:(Ljava/lang/String;)Ljava/lang/reflect/Method;
astore 3
start local 3 1: aload 3
ifnull 7
2: aload 3
invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
astore 4
start local 4 3: aload 0
aload 1
aload 3
aload 4
aload 2
invokevirtual ch.qos.logback.core.joran.util.PropertySetter.isSanityCheckSuccessful:(Ljava/lang/String;Ljava/lang/reflect/Method;[Ljava/lang/Class;Ljava/lang/Object;)Z
ifne 5
4: return
5: StackMap locals: java.lang.reflect.Method java.lang.Class[]
StackMap stack:
aload 0
aload 3
aload 2
invokevirtual ch.qos.logback.core.joran.util.PropertySetter.invokeMethodWithSingleParameterOnThisObject:(Ljava/lang/reflect/Method;Ljava/lang/Object;)V
end local 4 6: goto 8
7: StackMap locals:
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
ldc "Could not find method [add"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "] in class ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield ch.qos.logback.core.joran.util.PropertySetter.objClass:Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual ch.qos.logback.core.joran.util.PropertySetter.addError:(Ljava/lang/String;)V
8: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lch/qos/logback/core/joran/util/PropertySetter;
0 9 1 name Ljava/lang/String;
0 9 2 complexProperty Ljava/lang/Object;
1 9 3 adderMethod Ljava/lang/reflect/Method;
3 6 4 paramTypes [Ljava/lang/Class;
MethodParameters:
Name Flags
name
complexProperty
void invokeMethodWithSingleParameterOnThisObject(java.lang.reflect.Method, java.lang.Object);
descriptor: (Ljava/lang/reflect/Method;Ljava/lang/Object;)V
flags: (0x0000)
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
astore 3
start local 3 1: aload 1
aload 0
getfield ch.qos.logback.core.joran.util.PropertySetter.obj:Ljava/lang/Object;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
pop
2: goto 5
StackMap locals: ch.qos.logback.core.joran.util.PropertySetter java.lang.reflect.Method java.lang.Object java.lang.Class
StackMap stack: java.lang.Exception
3: astore 4
start local 4 4: aload 0
new java.lang.StringBuilder
dup
ldc "Could not invoke method "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " in class "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield ch.qos.logback.core.joran.util.PropertySetter.obj:Ljava/lang/Object;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " with parameter of type "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 4
invokevirtual ch.qos.logback.core.joran.util.PropertySetter.addError:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 4 5: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lch/qos/logback/core/joran/util/PropertySetter;
0 6 1 method Ljava/lang/reflect/Method;
0 6 2 parameter Ljava/lang/Object;
1 6 3 ccc Ljava/lang/Class<*>;
4 5 4 e Ljava/lang/Exception;
Exception table:
from to target type
1 2 3 Class java.lang.Exception
MethodParameters:
Name Flags
method
parameter
public void addBasicProperty(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual ch.qos.logback.core.joran.util.PropertySetter.capitalizeFirstLetter:(Ljava/lang/String;)Ljava/lang/String;
astore 1
3: aload 0
aload 1
invokevirtual ch.qos.logback.core.joran.util.PropertySetter.findAdderMethod:(Ljava/lang/String;)Ljava/lang/reflect/Method;
astore 3
start local 3 4: aload 3
ifnonnull 7
5: aload 0
new java.lang.StringBuilder
dup
ldc "No adder for property ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual ch.qos.logback.core.joran.util.PropertySetter.addError:(Ljava/lang/String;)V
6: return
7: StackMap locals: java.lang.reflect.Method
StackMap stack:
aload 3
invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
astore 4
start local 4 8: aload 0
aload 1
aload 3
aload 4
aload 2
invokevirtual ch.qos.logback.core.joran.util.PropertySetter.isSanityCheckSuccessful:(Ljava/lang/String;Ljava/lang/reflect/Method;[Ljava/lang/Class;Ljava/lang/Object;)Z
pop
9: aload 0
aload 2
aload 4
iconst_0
aaload
invokestatic ch.qos.logback.core.joran.util.StringToObjectConverter.convertArg:(Lch/qos/logback/core/spi/ContextAware;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
astore 5
start local 5 10: goto 14
end local 5 StackMap locals: ch.qos.logback.core.joran.util.PropertySetter java.lang.String java.lang.String java.lang.reflect.Method java.lang.Class[]
StackMap stack: java.lang.Throwable
11: astore 6
start local 6 12: aload 0
new java.lang.StringBuilder
dup
ldc "Conversion to type ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
iconst_0
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "] failed. "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 6
invokevirtual ch.qos.logback.core.joran.util.PropertySetter.addError:(Ljava/lang/String;Ljava/lang/Throwable;)V
13: return
end local 6 start local 5 14: StackMap locals: java.lang.Object
StackMap stack:
aload 5
ifnull 16
15: aload 0
aload 3
aload 2
invokevirtual ch.qos.logback.core.joran.util.PropertySetter.invokeMethodWithSingleParameterOnThisObject:(Ljava/lang/reflect/Method;Ljava/lang/Object;)V
16: StackMap locals:
StackMap stack:
return
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 17 0 this Lch/qos/logback/core/joran/util/PropertySetter;
0 17 1 name Ljava/lang/String;
0 17 2 strValue Ljava/lang/String;
4 17 3 adderMethod Ljava/lang/reflect/Method;
8 17 4 paramTypes [Ljava/lang/Class;
10 11 5 arg Ljava/lang/Object;
14 17 5 arg Ljava/lang/Object;
12 14 6 t Ljava/lang/Throwable;
Exception table:
from to target type
9 10 11 Class java.lang.Throwable
MethodParameters:
Name Flags
name
strValue
public void setComplexProperty(java.lang.String, java.lang.Object);
descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual ch.qos.logback.core.joran.util.PropertySetter.findSetterMethod:(Ljava/lang/String;)Ljava/lang/reflect/Method;
astore 3
start local 3 1: aload 3
ifnonnull 4
2: aload 0
new java.lang.StringBuilder
dup
ldc "Not setter method for property ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "] in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield ch.qos.logback.core.joran.util.PropertySetter.obj:Ljava/lang/Object;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual ch.qos.logback.core.joran.util.PropertySetter.addWarn:(Ljava/lang/String;)V
3: return
4: StackMap locals: java.lang.reflect.Method
StackMap stack:
aload 3
invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
astore 4
start local 4 5: aload 0
aload 1
aload 3
aload 4
aload 2
invokevirtual ch.qos.logback.core.joran.util.PropertySetter.isSanityCheckSuccessful:(Ljava/lang/String;Ljava/lang/reflect/Method;[Ljava/lang/Class;Ljava/lang/Object;)Z
ifne 7
6: return
7: StackMap locals: java.lang.Class[]
StackMap stack:
aload 0
aload 3
aload 2
invokevirtual ch.qos.logback.core.joran.util.PropertySetter.invokeMethodWithSingleParameterOnThisObject:(Ljava/lang/reflect/Method;Ljava/lang/Object;)V
8: goto 11
StackMap locals:
StackMap stack: java.lang.Exception
9: astore 5
start local 5 10: aload 0
new java.lang.StringBuilder
dup
ldc "Could not set component "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield ch.qos.logback.core.joran.util.PropertySetter.obj:Ljava/lang/Object;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " for parent component "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield ch.qos.logback.core.joran.util.PropertySetter.obj:Ljava/lang/Object;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 5
invokevirtual ch.qos.logback.core.joran.util.PropertySetter.addError:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 5 11: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lch/qos/logback/core/joran/util/PropertySetter;
0 12 1 name Ljava/lang/String;
0 12 2 complexProperty Ljava/lang/Object;
1 12 3 setter Ljava/lang/reflect/Method;
5 12 4 paramTypes [Ljava/lang/Class;
10 11 5 e Ljava/lang/Exception;
Exception table:
from to target type
7 8 9 Class java.lang.Exception
MethodParameters:
Name Flags
name
complexProperty
private boolean isSanityCheckSuccessful(java.lang.String, java.lang.reflect.Method, java.lang.Class<?>[], );
descriptor: (Ljava/lang/String;Ljava/lang/reflect/Method;[Ljava/lang/Class;Ljava/lang/Object;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 4
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
astore 5
start local 5 1: aload 3
arraylength
iconst_1
if_icmpeq 4
2: aload 0
new java.lang.StringBuilder
dup
ldc "Wrong number of parameters in setter method for property ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "] in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield ch.qos.logback.core.joran.util.PropertySetter.obj:Ljava/lang/Object;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual ch.qos.logback.core.joran.util.PropertySetter.addError:(Ljava/lang/String;)V
3: iconst_0
ireturn
4: StackMap locals: java.lang.Class
StackMap stack:
aload 3
iconst_0
aaload
aload 4
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 10
5: aload 0
new java.lang.StringBuilder
dup
ldc "A \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\" object is not assignable to a \""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
iconst_0
aaload
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\" variable."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual ch.qos.logback.core.joran.util.PropertySetter.addError:(Ljava/lang/String;)V
6: aload 0
new java.lang.StringBuilder
dup
ldc "The class \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
iconst_0
aaload
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\" was loaded by "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual ch.qos.logback.core.joran.util.PropertySetter.addError:(Ljava/lang/String;)V
7: aload 0
new java.lang.StringBuilder
dup
ldc "["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
iconst_0
aaload
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "] whereas object of type "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual ch.qos.logback.core.joran.util.PropertySetter.addError:(Ljava/lang/String;)V
8: aload 0
new java.lang.StringBuilder
dup
ldc "\""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\" was loaded by ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "]."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual ch.qos.logback.core.joran.util.PropertySetter.addError:(Ljava/lang/String;)V
9: iconst_0
ireturn
10: StackMap locals:
StackMap stack:
iconst_1
ireturn
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 11 0 this Lch/qos/logback/core/joran/util/PropertySetter;
0 11 1 name Ljava/lang/String;
0 11 2 method Ljava/lang/reflect/Method;
0 11 3 params [Ljava/lang/Class;
0 11 4 complexProperty Ljava/lang/Object;
1 11 5 ccc Ljava/lang/Class<*>;
Signature: (Ljava/lang/String;Ljava/lang/reflect/Method;[Ljava/lang/Class<*>;Ljava/lang/Object;)Z
MethodParameters:
Name Flags
name
method
params
complexProperty
private java.lang.String capitalizeFirstLetter(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
aload 1
iconst_0
iconst_1
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.String.toUpperCase:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
iconst_1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lch/qos/logback/core/joran/util/PropertySetter;
0 1 1 name Ljava/lang/String;
MethodParameters:
Name Flags
name
public java.lang.Object getObj();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield ch.qos.logback.core.joran.util.PropertySetter.obj:Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lch/qos/logback/core/joran/util/PropertySetter;
java.lang.reflect.Method getRelevantMethod(java.lang.String, ch.qos.logback.core.util.AggregationType);
descriptor: (Ljava/lang/String;Lch/qos/logback/core/util/AggregationType;)Ljava/lang/reflect/Method;
flags: (0x0000)
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
getstatic ch.qos.logback.core.util.AggregationType.AS_COMPLEX_PROPERTY_COLLECTION:Lch/qos/logback/core/util/AggregationType;
if_acmpne 3
1: aload 0
aload 1
invokevirtual ch.qos.logback.core.joran.util.PropertySetter.findAdderMethod:(Ljava/lang/String;)Ljava/lang/reflect/Method;
astore 3
start local 3 2: goto 7
end local 3 StackMap locals:
StackMap stack:
3: aload 2
getstatic ch.qos.logback.core.util.AggregationType.AS_COMPLEX_PROPERTY:Lch/qos/logback/core/util/AggregationType;
if_acmpne 6
4: aload 0
aload 1
invokevirtual ch.qos.logback.core.joran.util.PropertySetter.findSetterMethod:(Ljava/lang/String;)Ljava/lang/reflect/Method;
astore 3
start local 3 5: goto 7
end local 3 6: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " not allowed here"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
start local 3 7: StackMap locals: java.lang.reflect.Method
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lch/qos/logback/core/joran/util/PropertySetter;
0 8 1 name Ljava/lang/String;
0 8 2 aggregationType Lch/qos/logback/core/util/AggregationType;
2 3 3 relevantMethod Ljava/lang/reflect/Method;
5 6 3 relevantMethod Ljava/lang/reflect/Method;
7 8 3 relevantMethod Ljava/lang/reflect/Method;
MethodParameters:
Name Flags
name
aggregationType
<T extends java.lang.annotation.Annotation> T getAnnotation(java.lang.String, java.lang.Class<T>, java.lang.reflect.Method);
descriptor: (Ljava/lang/String;Ljava/lang/Class;Ljava/lang/reflect/Method;)Ljava/lang/annotation/Annotation;
flags: (0x0000)
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
ifnull 2
1: aload 3
aload 2
invokevirtual java.lang.reflect.Method.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
areturn
2: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lch/qos/logback/core/joran/util/PropertySetter;
0 3 1 name Ljava/lang/String;
0 3 2 annonationClass Ljava/lang/Class<TT;>;
0 3 3 relevantMethod Ljava/lang/reflect/Method;
Signature: <T::Ljava/lang/annotation/Annotation;>(Ljava/lang/String;Ljava/lang/Class<TT;>;Ljava/lang/reflect/Method;)TT;
MethodParameters:
Name Flags
name
annonationClass
relevantMethod
java.lang.Class<?> getDefaultClassNameByAnnonation(java.lang.String, java.lang.reflect.Method);
descriptor: (Ljava/lang/String;Ljava/lang/reflect/Method;)Ljava/lang/Class;
flags: (0x0000)
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
ldc Lch/qos/logback/core/joran/spi/DefaultClass;
aload 2
invokevirtual ch.qos.logback.core.joran.util.PropertySetter.getAnnotation:(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/reflect/Method;)Ljava/lang/annotation/Annotation;
checkcast ch.qos.logback.core.joran.spi.DefaultClass
astore 3
start local 3 1: aload 3
ifnull 3
2: aload 3
invokeinterface ch.qos.logback.core.joran.spi.DefaultClass.value:()Ljava/lang/Class;
areturn
3: StackMap locals: ch.qos.logback.core.joran.spi.DefaultClass
StackMap stack:
aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lch/qos/logback/core/joran/util/PropertySetter;
0 4 1 name Ljava/lang/String;
0 4 2 relevantMethod Ljava/lang/reflect/Method;
1 4 3 defaultClassAnnon Lch/qos/logback/core/joran/spi/DefaultClass;
Signature: (Ljava/lang/String;Ljava/lang/reflect/Method;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
name
relevantMethod
java.lang.Class<?> getByConcreteType(java.lang.String, java.lang.reflect.Method);
descriptor: (Ljava/lang/String;Ljava/lang/reflect/Method;)Ljava/lang/Class;
flags: (0x0000)
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
invokevirtual ch.qos.logback.core.joran.util.PropertySetter.getParameterClassForMethod:(Ljava/lang/reflect/Method;)Ljava/lang/Class;
astore 3
start local 3 1: aload 3
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: java.lang.Class
StackMap stack:
aload 0
aload 3
invokevirtual ch.qos.logback.core.joran.util.PropertySetter.isUnequivocallyInstantiable:(Ljava/lang/Class;)Z
istore 4
start local 4 4: iload 4
ifeq 6
5: aload 3
areturn
6: StackMap locals: int
StackMap stack:
aconst_null
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lch/qos/logback/core/joran/util/PropertySetter;
0 7 1 name Ljava/lang/String;
0 7 2 relevantMethod Ljava/lang/reflect/Method;
1 7 3 paramType Ljava/lang/Class<*>;
4 7 4 isUnequivocallyInstantiable Z
Signature: (Ljava/lang/String;Ljava/lang/reflect/Method;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
name
relevantMethod
public java.lang.Class<?> getClassNameViaImplicitRules(java.lang.String, ch.qos.logback.core.util.AggregationType, ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry);
descriptor: (Ljava/lang/String;Lch/qos/logback/core/util/AggregationType;Lch/qos/logback/core/joran/spi/DefaultNestedComponentRegistry;)Ljava/lang/Class;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
aload 0
getfield ch.qos.logback.core.joran.util.PropertySetter.obj:Ljava/lang/Object;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aload 1
invokevirtual ch.qos.logback.core.joran.spi.DefaultNestedComponentRegistry.findDefaultComponentType:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Class;
astore 4
start local 4 1: aload 4
ifnull 3
2: aload 4
areturn
3: StackMap locals: java.lang.Class
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual ch.qos.logback.core.joran.util.PropertySetter.getRelevantMethod:(Ljava/lang/String;Lch/qos/logback/core/util/AggregationType;)Ljava/lang/reflect/Method;
astore 5
start local 5 4: aload 5
ifnonnull 6
5: aconst_null
areturn
6: StackMap locals: java.lang.reflect.Method
StackMap stack:
aload 0
aload 1
aload 5
invokevirtual ch.qos.logback.core.joran.util.PropertySetter.getDefaultClassNameByAnnonation:(Ljava/lang/String;Ljava/lang/reflect/Method;)Ljava/lang/Class;
astore 6
start local 6 7: aload 6
ifnull 9
8: aload 6
areturn
9: StackMap locals: java.lang.Class
StackMap stack:
aload 0
aload 1
aload 5
invokevirtual ch.qos.logback.core.joran.util.PropertySetter.getByConcreteType:(Ljava/lang/String;Ljava/lang/reflect/Method;)Ljava/lang/Class;
areturn
end local 6 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 10 0 this Lch/qos/logback/core/joran/util/PropertySetter;
0 10 1 name Ljava/lang/String;
0 10 2 aggregationType Lch/qos/logback/core/util/AggregationType;
0 10 3 registry Lch/qos/logback/core/joran/spi/DefaultNestedComponentRegistry;
1 10 4 registryResult Ljava/lang/Class<*>;
4 10 5 relevantMethod Ljava/lang/reflect/Method;
7 10 6 byAnnotation Ljava/lang/Class<*>;
Signature: (Ljava/lang/String;Lch/qos/logback/core/util/AggregationType;Lch/qos/logback/core/joran/spi/DefaultNestedComponentRegistry;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
name
aggregationType
registry
static int[] $SWITCH_TABLE$ch$qos$logback$core$util$AggregationType();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic ch.qos.logback.core.joran.util.PropertySetter.$SWITCH_TABLE$ch$qos$logback$core$util$AggregationType:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic ch.qos.logback.core.util.AggregationType.values:()[Lch/qos/logback/core/util/AggregationType;
arraylength
newarray 10
astore 0
2: aload 0
getstatic ch.qos.logback.core.util.AggregationType.AS_BASIC_PROPERTY:Lch/qos/logback/core/util/AggregationType;
invokevirtual ch.qos.logback.core.util.AggregationType.ordinal:()I
iconst_2
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic ch.qos.logback.core.util.AggregationType.AS_BASIC_PROPERTY_COLLECTION:Lch/qos/logback/core/util/AggregationType;
invokevirtual ch.qos.logback.core.util.AggregationType.ordinal:()I
iconst_4
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic ch.qos.logback.core.util.AggregationType.AS_COMPLEX_PROPERTY:Lch/qos/logback/core/util/AggregationType;
invokevirtual ch.qos.logback.core.util.AggregationType.ordinal:()I
iconst_3
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic ch.qos.logback.core.util.AggregationType.AS_COMPLEX_PROPERTY_COLLECTION:Lch/qos/logback/core/util/AggregationType;
invokevirtual ch.qos.logback.core.util.AggregationType.ordinal:()I
iconst_5
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic ch.qos.logback.core.util.AggregationType.NOT_FOUND:Lch/qos/logback/core/util/AggregationType;
invokevirtual ch.qos.logback.core.util.AggregationType.ordinal:()I
iconst_1
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
dup
putstatic ch.qos.logback.core.joran.util.PropertySetter.$SWITCH_TABLE$ch$qos$logback$core$util$AggregationType:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
}
SourceFile: "PropertySetter.java"