final class jakarta.el.BeanELResolver$BeanProperties
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: jakarta.el.BeanELResolver$BeanProperties
super_class: java.lang.Object
{
private final java.util.Map<java.lang.String, jakarta.el.BeanELResolver$BeanProperty> properties;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Ljakarta/el/BeanELResolver$BeanProperty;>;
private final java.lang.Class<?> type;
descriptor: Ljava/lang/Class;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/Class<*>;
public void <init>(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=8, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield jakarta.el.BeanELResolver$BeanProperties.type:Ljava/lang/Class;
2: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield jakarta.el.BeanELResolver$BeanProperties.properties:Ljava/util/Map;
3: aload 0
getfield jakarta.el.BeanELResolver$BeanProperties.type:Ljava/lang/Class;
invokestatic java.beans.Introspector.getBeanInfo:(Ljava/lang/Class;)Ljava/beans/BeanInfo;
astore 2
start local 2 4: aload 2
invokeinterface java.beans.BeanInfo.getPropertyDescriptors:()[Ljava/beans/PropertyDescriptor;
astore 3
start local 3 5: aload 3
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 9
StackMap locals: jakarta.el.BeanELResolver$BeanProperties java.lang.Class java.beans.BeanInfo java.beans.PropertyDescriptor[] top int int java.beans.PropertyDescriptor[]
StackMap stack:
6: aload 7
iload 5
aaload
astore 4
start local 4 7: aload 0
getfield jakarta.el.BeanELResolver$BeanProperties.properties:Ljava/util/Map;
aload 4
invokevirtual java.beans.PropertyDescriptor.getName:()Ljava/lang/String;
new jakarta.el.BeanELResolver$BeanProperty
dup
aload 1
aload 4
invokespecial jakarta.el.BeanELResolver$BeanProperty.<init>:(Ljava/lang/Class;Ljava/beans/PropertyDescriptor;)V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 4 8: iinc 5 1
StackMap locals:
StackMap stack:
9: iload 5
iload 6
if_icmplt 6
10: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
ifnull 15
11: aload 0
aload 1
invokevirtual jakarta.el.BeanELResolver$BeanProperties.populateFromInterfaces:(Ljava/lang/Class;)V
end local 3 end local 2 12: goto 15
StackMap locals: jakarta.el.BeanELResolver$BeanProperties java.lang.Class
StackMap stack: java.beans.IntrospectionException
13: astore 2
start local 2 14: new jakarta.el.ELException
dup
aload 2
invokespecial jakarta.el.ELException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 2 15: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Ljakarta/el/BeanELResolver$BeanProperties;
0 16 1 type Ljava/lang/Class<*>;
4 12 2 info Ljava/beans/BeanInfo;
5 12 3 pds [Ljava/beans/PropertyDescriptor;
7 8 4 pd Ljava/beans/PropertyDescriptor;
14 15 2 ie Ljava/beans/IntrospectionException;
Exception table:
from to target type
3 12 13 Class java.beans.IntrospectionException
Exceptions:
throws jakarta.el.ELException
Signature: (Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
type
private void populateFromInterfaces(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=13, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
astore 2
start local 2 1: aload 2
arraylength
ifle 17
2: aload 2
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 16
StackMap locals: jakarta.el.BeanELResolver$BeanProperties java.lang.Class java.lang.Class[] top int int java.lang.Class[]
StackMap stack:
3: aload 6
iload 4
aaload
astore 3
start local 3 4: aload 3
invokestatic java.beans.Introspector.getBeanInfo:(Ljava/lang/Class;)Ljava/beans/BeanInfo;
astore 7
start local 7 5: aload 7
invokeinterface java.beans.BeanInfo.getPropertyDescriptors:()[Ljava/beans/PropertyDescriptor;
astore 8
start local 8 6: aload 8
dup
astore 12
arraylength
istore 11
iconst_0
istore 10
goto 13
StackMap locals: jakarta.el.BeanELResolver$BeanProperties java.lang.Class java.lang.Class[] java.lang.Class int int java.lang.Class[] java.beans.BeanInfo java.beans.PropertyDescriptor[] top int int java.beans.PropertyDescriptor[]
StackMap stack:
7: aload 12
iload 10
aaload
astore 9
start local 9 8: aload 0
getfield jakarta.el.BeanELResolver$BeanProperties.properties:Ljava/util/Map;
aload 9
invokevirtual java.beans.PropertyDescriptor.getName:()Ljava/lang/String;
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifne 12
9: aload 0
getfield jakarta.el.BeanELResolver$BeanProperties.properties:Ljava/util/Map;
aload 9
invokevirtual java.beans.PropertyDescriptor.getName:()Ljava/lang/String;
new jakarta.el.BeanELResolver$BeanProperty
dup
10: aload 0
getfield jakarta.el.BeanELResolver$BeanProperties.type:Ljava/lang/Class;
aload 9
invokespecial jakarta.el.BeanELResolver$BeanProperty.<init>:(Ljava/lang/Class;Ljava/beans/PropertyDescriptor;)V
11: invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 9 12: StackMap locals:
StackMap stack:
iinc 10 1
StackMap locals:
StackMap stack:
13: iload 10
iload 11
if_icmplt 7
14: aload 0
aload 3
invokevirtual jakarta.el.BeanELResolver$BeanProperties.populateFromInterfaces:(Ljava/lang/Class;)V
end local 8 end local 7 end local 3 15: iinc 4 1
StackMap locals: jakarta.el.BeanELResolver$BeanProperties java.lang.Class java.lang.Class[] top int int java.lang.Class[]
StackMap stack:
16: iload 4
iload 5
if_icmplt 3
17: StackMap locals: jakarta.el.BeanELResolver$BeanProperties java.lang.Class java.lang.Class[]
StackMap stack:
aload 1
invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
astore 3
start local 3 18: aload 3
ifnull 20
19: aload 0
aload 3
invokevirtual jakarta.el.BeanELResolver$BeanProperties.populateFromInterfaces:(Ljava/lang/Class;)V
20: StackMap locals: java.lang.Class
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Ljakarta/el/BeanELResolver$BeanProperties;
0 21 1 aClass Ljava/lang/Class<*>;
1 21 2 interfaces [Ljava/lang/Class;
4 15 3 ifs Ljava/lang/Class<*>;
5 15 7 info Ljava/beans/BeanInfo;
6 15 8 pds [Ljava/beans/PropertyDescriptor;
8 12 9 pd Ljava/beans/PropertyDescriptor;
18 21 3 superclass Ljava/lang/Class<*>;
Exceptions:
throws java.beans.IntrospectionException
Signature: (Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
aClass
private jakarta.el.BeanELResolver$BeanProperty get(jakarta.el.ELContext, java.lang.String);
descriptor: (Ljakarta/el/ELContext;Ljava/lang/String;)Ljakarta/el/BeanELResolver$BeanProperty;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield jakarta.el.BeanELResolver$BeanProperties.properties:Ljava/util/Map;
aload 2
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast jakarta.el.BeanELResolver$BeanProperty
astore 3
start local 3 1: aload 3
ifnonnull 5
2: new jakarta.el.PropertyNotFoundException
dup
aload 1
3: ldc "propertyNotFound"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield jakarta.el.BeanELResolver$BeanProperties.type:Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aastore
dup
iconst_1
aload 2
aastore
4: invokestatic jakarta.el.Util.message:(Ljakarta/el/ELContext;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial jakarta.el.PropertyNotFoundException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: jakarta.el.BeanELResolver$BeanProperty
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljakarta/el/BeanELResolver$BeanProperties;
0 6 1 ctx Ljakarta/el/ELContext;
0 6 2 name Ljava/lang/String;
1 6 3 property Ljakarta/el/BeanELResolver$BeanProperty;
MethodParameters:
Name Flags
ctx
name
private java.lang.Class<?> getType();
descriptor: ()Ljava/lang/Class;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jakarta.el.BeanELResolver$BeanProperties.type:Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljakarta/el/BeanELResolver$BeanProperties;
Signature: ()Ljava/lang/Class<*>;
}
SourceFile: "BeanELResolver.java"
NestHost: jakarta.el.BeanELResolver
InnerClasses:
final BeanProperties = jakarta.el.BeanELResolver$BeanProperties of jakarta.el.BeanELResolver
final BeanProperty = jakarta.el.BeanELResolver$BeanProperty of jakarta.el.BeanELResolver