public class org.mongodb.morphia.mapping.MappedField
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.mongodb.morphia.mapping.MappedField
super_class: java.lang.Object
{
private static final org.mongodb.morphia.logging.Logger LOG;
descriptor: Lorg/mongodb/morphia/logging/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.List<java.lang.Class<? extends java.lang.annotation.Annotation>> INTERESTING;
descriptor: Ljava/util/List;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/List<Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;>;
private final java.util.Map<java.lang.Class<? extends java.lang.annotation.Annotation>, java.lang.annotation.Annotation> foundAnnotations;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;Ljava/lang/annotation/Annotation;>;
private final java.util.List<org.mongodb.morphia.mapping.MappedField> typeParameters;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Lorg/mongodb/morphia/mapping/MappedField;>;
private java.lang.Class persistedClass;
descriptor: Ljava/lang/Class;
flags: (0x0002) ACC_PRIVATE
private java.lang.reflect.Field field;
descriptor: Ljava/lang/reflect/Field;
flags: (0x0002) ACC_PRIVATE
private java.lang.Class realType;
descriptor: Ljava/lang/Class;
flags: (0x0002) ACC_PRIVATE
private java.lang.reflect.Constructor constructor;
descriptor: Ljava/lang/reflect/Constructor;
flags: (0x0002) ACC_PRIVATE
private java.lang.reflect.Type subType;
descriptor: Ljava/lang/reflect/Type;
flags: (0x0002) ACC_PRIVATE
private java.lang.reflect.Type mapKeyType;
descriptor: Ljava/lang/reflect/Type;
flags: (0x0002) ACC_PRIVATE
private boolean isSingleValue;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean isMongoType;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean isMap;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean isSet;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean isArray;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean isCollection;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.lang.reflect.Type genericType;
descriptor: Ljava/lang/reflect/Type;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc Lorg/mongodb/morphia/mapping/MappedField;
invokestatic org.mongodb.morphia.logging.MorphiaLoggerFactory.get:(Ljava/lang/Class;)Lorg/mongodb/morphia/logging/Logger;
putstatic org.mongodb.morphia.mapping.MappedField.LOG:Lorg/mongodb/morphia/logging/Logger;
1: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putstatic org.mongodb.morphia.mapping.MappedField.INTERESTING:Ljava/util/List;
2: getstatic org.mongodb.morphia.mapping.MappedField.INTERESTING:Ljava/util/List;
ldc Lorg/mongodb/morphia/annotations/Serialized;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
3: getstatic org.mongodb.morphia.mapping.MappedField.INTERESTING:Ljava/util/List;
ldc Lorg/mongodb/morphia/annotations/Indexed;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
4: getstatic org.mongodb.morphia.mapping.MappedField.INTERESTING:Ljava/util/List;
ldc Lorg/mongodb/morphia/annotations/Property;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
5: getstatic org.mongodb.morphia.mapping.MappedField.INTERESTING:Ljava/util/List;
ldc Lorg/mongodb/morphia/annotations/Reference;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
6: getstatic org.mongodb.morphia.mapping.MappedField.INTERESTING:Ljava/util/List;
ldc Lorg/mongodb/morphia/annotations/Embedded;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
7: getstatic org.mongodb.morphia.mapping.MappedField.INTERESTING:Ljava/util/List;
ldc Lorg/mongodb/morphia/annotations/Id;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
8: getstatic org.mongodb.morphia.mapping.MappedField.INTERESTING:Ljava/util/List;
ldc Lorg/mongodb/morphia/annotations/Version;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
9: getstatic org.mongodb.morphia.mapping.MappedField.INTERESTING:Ljava/util/List;
ldc Lorg/mongodb/morphia/annotations/ConstructorArgs;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
10: getstatic org.mongodb.morphia.mapping.MappedField.INTERESTING:Ljava/util/List;
ldc Lorg/mongodb/morphia/annotations/AlsoLoad;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
11: getstatic org.mongodb.morphia.mapping.MappedField.INTERESTING:Ljava/util/List;
ldc Lorg/mongodb/morphia/annotations/NotSaved;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
12: getstatic org.mongodb.morphia.mapping.MappedField.INTERESTING:Ljava/util/List;
ldc Lorg/mongodb/morphia/annotations/Text;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
13: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(java.lang.reflect.Field, java.lang.Class<?>, org.mongodb.morphia.mapping.Mapper);
descriptor: (Ljava/lang/reflect/Field;Ljava/lang/Class;Lorg/mongodb/morphia/mapping/Mapper;)V
flags: (0x0000)
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield org.mongodb.morphia.mapping.MappedField.foundAnnotations:Ljava/util/Map;
2: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield org.mongodb.morphia.mapping.MappedField.typeParameters:Ljava/util/List;
3: aload 0
iconst_1
putfield org.mongodb.morphia.mapping.MappedField.isSingleValue:Z
4: aload 1
iconst_1
invokevirtual java.lang.reflect.Field.setAccessible:(Z)V
5: aload 0
aload 1
putfield org.mongodb.morphia.mapping.MappedField.field:Ljava/lang/reflect/Field;
6: aload 0
aload 2
putfield org.mongodb.morphia.mapping.MappedField.persistedClass:Ljava/lang/Class;
7: aload 0
aload 0
getfield org.mongodb.morphia.mapping.MappedField.field:Ljava/lang/reflect/Field;
invokevirtual java.lang.reflect.Field.getType:()Ljava/lang/Class;
putfield org.mongodb.morphia.mapping.MappedField.realType:Ljava/lang/Class;
8: aload 0
aload 0
getfield org.mongodb.morphia.mapping.MappedField.field:Ljava/lang/reflect/Field;
invokevirtual java.lang.reflect.Field.getGenericType:()Ljava/lang/reflect/Type;
putfield org.mongodb.morphia.mapping.MappedField.genericType:Ljava/lang/reflect/Type;
9: aload 0
aload 3
invokevirtual org.mongodb.morphia.mapping.MappedField.discover:(Lorg/mongodb/morphia/mapping/Mapper;)V
10: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/mongodb/morphia/mapping/MappedField;
0 11 1 f Ljava/lang/reflect/Field;
0 11 2 clazz Ljava/lang/Class<*>;
0 11 3 mapper Lorg/mongodb/morphia/mapping/Mapper;
Signature: (Ljava/lang/reflect/Field;Ljava/lang/Class<*>;Lorg/mongodb/morphia/mapping/Mapper;)V
MethodParameters:
Name Flags
f final
clazz final
mapper final
void <init>(java.lang.reflect.Field, java.lang.reflect.Type, org.mongodb.morphia.mapping.Mapper);
descriptor: (Ljava/lang/reflect/Field;Ljava/lang/reflect/Type;Lorg/mongodb/morphia/mapping/Mapper;)V
flags: (0x0000)
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield org.mongodb.morphia.mapping.MappedField.foundAnnotations:Ljava/util/Map;
2: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield org.mongodb.morphia.mapping.MappedField.typeParameters:Ljava/util/List;
3: aload 0
iconst_1
putfield org.mongodb.morphia.mapping.MappedField.isSingleValue:Z
4: aload 0
aload 1
putfield org.mongodb.morphia.mapping.MappedField.field:Ljava/lang/reflect/Field;
5: aload 0
aload 2
putfield org.mongodb.morphia.mapping.MappedField.genericType:Ljava/lang/reflect/Type;
6: aload 0
aload 3
invokevirtual org.mongodb.morphia.mapping.MappedField.discoverType:(Lorg/mongodb/morphia/mapping/Mapper;)V
7: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/mongodb/morphia/mapping/MappedField;
0 8 1 field Ljava/lang/reflect/Field;
0 8 2 type Ljava/lang/reflect/Type;
0 8 3 mapper Lorg/mongodb/morphia/mapping/Mapper;
MethodParameters:
Name Flags
field final
type final
mapper final
public static void addInterestingAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation>);
descriptor: (Ljava/lang/Class;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic org.mongodb.morphia.mapping.MappedField.INTERESTING:Ljava/util/List;
aload 0
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 annotation Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
Signature: (Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;)V
MethodParameters:
Name Flags
annotation final
public void addAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation>);
descriptor: (Ljava/lang/Class;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.mongodb.morphia.mapping.MappedField.field:Ljava/lang/reflect/Field;
aload 1
invokevirtual java.lang.reflect.Field.isAnnotationPresent:(Ljava/lang/Class;)Z
ifeq 2
1: aload 0
getfield org.mongodb.morphia.mapping.MappedField.foundAnnotations:Ljava/util/Map;
aload 1
aload 0
getfield org.mongodb.morphia.mapping.MappedField.field:Ljava/lang/reflect/Field;
aload 1
invokevirtual java.lang.reflect.Field.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/mongodb/morphia/mapping/MappedField;
0 3 1 clazz Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
Signature: (Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;)V
MethodParameters:
Name Flags
clazz final
public void addAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation>, java.lang.annotation.Annotation);
descriptor: (Ljava/lang/Class;Ljava/lang/annotation/Annotation;)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
getfield org.mongodb.morphia.mapping.MappedField.foundAnnotations:Ljava/util/Map;
aload 1
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/mongodb/morphia/mapping/MappedField;
0 2 1 clazz Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
0 2 2 ann Ljava/lang/annotation/Annotation;
Signature: (Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;Ljava/lang/annotation/Annotation;)V
MethodParameters:
Name Flags
clazz final
ann final
public <T extends java.lang.annotation.Annotation> T getAnnotation(java.lang.Class<T>);
descriptor: (Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.mongodb.morphia.mapping.MappedField.foundAnnotations:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.annotation.Annotation
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/mapping/MappedField;
0 1 1 clazz Ljava/lang/Class<TT;>;
Signature: <T::Ljava/lang/annotation/Annotation;>(Ljava/lang/Class<TT;>;)TT;
MethodParameters:
Name Flags
clazz final
public java.util.Map<java.lang.Class<? extends java.lang.annotation.Annotation>, java.lang.annotation.Annotation> getAnnotations();
descriptor: ()Ljava/util/Map;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.mongodb.morphia.mapping.MappedField.foundAnnotations:Ljava/util/Map;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/mapping/MappedField;
Signature: ()Ljava/util/Map<Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;Ljava/lang/annotation/Annotation;>;
public java.lang.reflect.Constructor getCTor();
descriptor: ()Ljava/lang/reflect/Constructor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.mongodb.morphia.mapping.MappedField.constructor:Ljava/lang/reflect/Constructor;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/mapping/MappedField;
public java.lang.Class getConcreteType();
descriptor: ()Ljava/lang/Class;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
ldc Lorg/mongodb/morphia/annotations/Embedded;
invokevirtual org.mongodb.morphia.mapping.MappedField.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast org.mongodb.morphia.annotations.Embedded
astore 1
start local 1 1: aload 1
ifnull 5
2: aload 1
invokeinterface org.mongodb.morphia.annotations.Embedded.concreteClass:()Ljava/lang/Class;
astore 2
start local 2 3: aload 2
ldc Ljava/lang/Object;
if_acmpeq 5
4: aload 2
areturn
end local 2 5: StackMap locals: org.mongodb.morphia.annotations.Embedded
StackMap stack:
aload 0
ldc Lorg/mongodb/morphia/annotations/Property;
invokevirtual org.mongodb.morphia.mapping.MappedField.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast org.mongodb.morphia.annotations.Property
astore 2
start local 2 6: aload 2
ifnull 10
7: aload 2
invokeinterface org.mongodb.morphia.annotations.Property.concreteClass:()Ljava/lang/Class;
astore 3
start local 3 8: aload 3
ldc Ljava/lang/Object;
if_acmpeq 10
9: aload 3
areturn
end local 3 10: StackMap locals: org.mongodb.morphia.annotations.Property
StackMap stack:
aload 0
invokevirtual org.mongodb.morphia.mapping.MappedField.getType:()Ljava/lang/Class;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/mongodb/morphia/mapping/MappedField;
1 11 1 e Lorg/mongodb/morphia/annotations/Embedded;
3 5 2 concrete Ljava/lang/Class;
6 11 2 p Lorg/mongodb/morphia/annotations/Property;
8 10 3 concrete Ljava/lang/Class;
public java.lang.Object getDbObjectValue(com.mongodb.DBObject);
descriptor: (Lcom/mongodb/DBObject;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
aload 1
invokevirtual org.mongodb.morphia.mapping.MappedField.getFirstFieldName:(Lcom/mongodb/DBObject;)Ljava/lang/String;
invokeinterface com.mongodb.DBObject.get:(Ljava/lang/String;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/mapping/MappedField;
0 1 1 dbObj Lcom/mongodb/DBObject;
MethodParameters:
Name Flags
dbObj final
public java.lang.Class getDeclaringClass();
descriptor: ()Ljava/lang/Class;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.mongodb.morphia.mapping.MappedField.field:Ljava/lang/reflect/Field;
invokevirtual java.lang.reflect.Field.getDeclaringClass:()Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/mapping/MappedField;
public java.lang.reflect.Field getField();
descriptor: ()Ljava/lang/reflect/Field;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.mongodb.morphia.mapping.MappedField.field:Ljava/lang/reflect/Field;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/mapping/MappedField;
public java.lang.Object getFieldValue(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.mongodb.morphia.mapping.MappedField.field:Ljava/lang/reflect/Field;
aload 1
invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
1: areturn
2: StackMap locals:
StackMap stack: java.lang.IllegalAccessException
astore 2
start local 2 3: new java.lang.RuntimeException
dup
aload 2
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/mongodb/morphia/mapping/MappedField;
0 4 1 instance Ljava/lang/Object;
3 4 2 e Ljava/lang/IllegalAccessException;
Exception table:
from to target type
0 1 2 Class java.lang.IllegalAccessException
MethodParameters:
Name Flags
instance final
public java.lang.String getFirstFieldName(com.mongodb.DBObject);
descriptor: (Lcom/mongodb/DBObject;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.mongodb.morphia.mapping.MappedField.getNameToStore:()Ljava/lang/String;
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: aload 0
invokevirtual org.mongodb.morphia.mapping.MappedField.getLoadNames:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 10
StackMap locals: org.mongodb.morphia.mapping.MappedField com.mongodb.DBObject java.lang.String int top java.util.Iterator
StackMap stack:
3: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 4: aload 1
aload 4
invokeinterface com.mongodb.DBObject.containsField:(Ljava/lang/String;)Z
ifeq 10
5: iload 3
ifne 9
6: iconst_1
istore 3
7: aload 4
astore 2
8: goto 10
9: StackMap locals: org.mongodb.morphia.mapping.MappedField com.mongodb.DBObject java.lang.String int java.lang.String java.util.Iterator
StackMap stack:
new org.mongodb.morphia.mapping.MappingException
dup
ldc "Found more than one field from @AlsoLoad %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
invokevirtual org.mongodb.morphia.mapping.MappedField.getLoadNames:()Ljava/util/List;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial org.mongodb.morphia.mapping.MappingException.<init>:(Ljava/lang/String;)V
athrow
end local 4 10: StackMap locals: org.mongodb.morphia.mapping.MappedField com.mongodb.DBObject java.lang.String int top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
11: aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/mongodb/morphia/mapping/MappedField;
0 12 1 dbObj Lcom/mongodb/DBObject;
1 12 2 fieldName Ljava/lang/String;
2 12 3 foundField Z
4 10 4 n Ljava/lang/String;
MethodParameters:
Name Flags
dbObj final
public java.lang.String getFullName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
aload 0
getfield org.mongodb.morphia.mapping.MappedField.field:Ljava/lang/reflect/Field;
invokevirtual java.lang.reflect.Field.getDeclaringClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.mongodb.morphia.mapping.MappedField.field:Ljava/lang/reflect/Field;
invokevirtual java.lang.reflect.Field.getName:()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 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/mapping/MappedField;
public java.lang.String getJavaFieldName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.mongodb.morphia.mapping.MappedField.field:Ljava/lang/reflect/Field;
invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/mapping/MappedField;
public java.util.List<java.lang.String> getLoadNames();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
start local 1 1: aload 1
aload 0
invokevirtual org.mongodb.morphia.mapping.MappedField.getMappedFieldName:()Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
2: aload 0
getfield org.mongodb.morphia.mapping.MappedField.foundAnnotations:Ljava/util/Map;
ldc Lorg/mongodb/morphia/annotations/AlsoLoad;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.mongodb.morphia.annotations.AlsoLoad
astore 2
start local 2 3: aload 2
ifnull 5
aload 2
invokeinterface org.mongodb.morphia.annotations.AlsoLoad.value:()[Ljava/lang/String;
ifnull 5
aload 2
invokeinterface org.mongodb.morphia.annotations.AlsoLoad.value:()[Ljava/lang/String;
arraylength
ifle 5
4: aload 1
aload 2
invokeinterface org.mongodb.morphia.annotations.AlsoLoad.value:()[Ljava/lang/String;
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
5: StackMap locals: java.util.List org.mongodb.morphia.annotations.AlsoLoad
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/mongodb/morphia/mapping/MappedField;
1 6 1 names Ljava/util/List<Ljava/lang/String;>;
3 6 2 al Lorg/mongodb/morphia/annotations/AlsoLoad;
Signature: ()Ljava/util/List<Ljava/lang/String;>;
public java.lang.Class getMapKeyClass();
descriptor: ()Ljava/lang/Class;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield org.mongodb.morphia.mapping.MappedField.mapKeyType:Ljava/lang/reflect/Type;
invokevirtual org.mongodb.morphia.mapping.MappedField.toClass:(Ljava/lang/reflect/Type;)Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/mapping/MappedField;
public java.lang.String getNameToStore();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.mongodb.morphia.mapping.MappedField.getMappedFieldName:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/mapping/MappedField;
public java.lang.Class getSubClass();
descriptor: ()Ljava/lang/Class;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield org.mongodb.morphia.mapping.MappedField.subType:Ljava/lang/reflect/Type;
invokevirtual org.mongodb.morphia.mapping.MappedField.toClass:(Ljava/lang/reflect/Type;)Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/mapping/MappedField;
public java.lang.reflect.Type getSubType();
descriptor: ()Ljava/lang/reflect/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.mongodb.morphia.mapping.MappedField.subType:Ljava/lang/reflect/Type;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/mapping/MappedField;
public boolean isTransient();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc Lorg/mongodb/morphia/annotations/Transient;
invokevirtual org.mongodb.morphia.mapping.MappedField.hasAnnotation:(Ljava/lang/Class;)Z
ifne 1
aload 0
getfield org.mongodb.morphia.mapping.MappedField.field:Ljava/lang/reflect/Field;
invokevirtual java.lang.reflect.Field.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isTransient:(I)Z
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/mongodb/morphia/mapping/MappedField;
void setSubType(java.lang.reflect.Type);
descriptor: (Ljava/lang/reflect/Type;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.mongodb.morphia.mapping.MappedField.subType:Ljava/lang/reflect/Type;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/mongodb/morphia/mapping/MappedField;
0 2 1 subType Ljava/lang/reflect/Type;
MethodParameters:
Name Flags
subType final
public java.lang.Class getType();
descriptor: ()Ljava/lang/Class;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.mongodb.morphia.mapping.MappedField.realType:Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/mapping/MappedField;
public java.util.List<org.mongodb.morphia.mapping.MappedField> getTypeParameters();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.mongodb.morphia.mapping.MappedField.typeParameters:Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/mapping/MappedField;
Signature: ()Ljava/util/List<Lorg/mongodb/morphia/mapping/MappedField;>;
public boolean hasAnnotation(java.lang.Class);
descriptor: (Ljava/lang/Class;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.mongodb.morphia.mapping.MappedField.foundAnnotations:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/mapping/MappedField;
0 1 1 ann Ljava/lang/Class;
MethodParameters:
Name Flags
ann final
public boolean isArray();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.mongodb.morphia.mapping.MappedField.isArray:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/mapping/MappedField;
public boolean isMap();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.mongodb.morphia.mapping.MappedField.isMap:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/mapping/MappedField;
public boolean isMultipleValues();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.mongodb.morphia.mapping.MappedField.isSingleValue:()Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/mongodb/morphia/mapping/MappedField;
public boolean isReference();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc Lorg/mongodb/morphia/annotations/Reference;
invokevirtual org.mongodb.morphia.mapping.MappedField.hasAnnotation:(Ljava/lang/Class;)Z
ifne 1
ldc Lorg/mongodb/morphia/Key;
aload 0
invokevirtual org.mongodb.morphia.mapping.MappedField.getConcreteType:()Ljava/lang/Class;
if_acmpeq 1
ldc Lcom/mongodb/DBRef;
aload 0
invokevirtual org.mongodb.morphia.mapping.MappedField.getConcreteType:()Ljava/lang/Class;
if_acmpeq 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/mongodb/morphia/mapping/MappedField;
public boolean isSet();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.mongodb.morphia.mapping.MappedField.isSet:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/mapping/MappedField;
public boolean isSingleValue();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield org.mongodb.morphia.mapping.MappedField.isSingleValue:Z
ifne 2
aload 0
getfield org.mongodb.morphia.mapping.MappedField.isMap:Z
ifne 2
aload 0
getfield org.mongodb.morphia.mapping.MappedField.isSet:Z
ifne 2
aload 0
getfield org.mongodb.morphia.mapping.MappedField.isArray:Z
ifne 2
aload 0
getfield org.mongodb.morphia.mapping.MappedField.isCollection:Z
ifne 2
1: new java.lang.RuntimeException
dup
ldc "Not single, but none of the types that are not-single."
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield org.mongodb.morphia.mapping.MappedField.isSingleValue:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/mongodb/morphia/mapping/MappedField;
public boolean isTypeMongoCompatible();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.mongodb.morphia.mapping.MappedField.isMongoType:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/mapping/MappedField;
public java.lang.annotation.Annotation putAnnotation(java.lang.annotation.Annotation);
descriptor: (Ljava/lang/annotation/Annotation;)Ljava/lang/annotation/Annotation;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.mongodb.morphia.mapping.MappedField.foundAnnotations:Ljava/util/Map;
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aload 1
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.annotation.Annotation
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/mapping/MappedField;
0 1 1 ann Ljava/lang/annotation/Annotation;
MethodParameters:
Name Flags
ann final
public void setFieldValue(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.mongodb.morphia.mapping.MappedField.field:Ljava/lang/reflect/Field;
aload 1
aload 2
invokevirtual java.lang.reflect.Field.set:(Ljava/lang/Object;Ljava/lang/Object;)V
1: goto 4
StackMap locals:
StackMap stack: java.lang.IllegalAccessException
2: astore 3
start local 3 3: new java.lang.RuntimeException
dup
aload 3
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 3 4: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/mongodb/morphia/mapping/MappedField;
0 5 1 instance Ljava/lang/Object;
0 5 2 value Ljava/lang/Object;
3 4 3 e Ljava/lang/IllegalAccessException;
Exception table:
from to target type
0 1 2 Class java.lang.IllegalAccessException
MethodParameters:
Name Flags
instance final
value final
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 1
start local 1 1: aload 1
aload 0
invokevirtual org.mongodb.morphia.mapping.MappedField.getMappedFieldName:()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;
pop
2: aload 1
ldc " type:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.mongodb.morphia.mapping.MappedField.realType:Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()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;
pop
3: aload 0
invokevirtual org.mongodb.morphia.mapping.MappedField.isSingleValue:()Z
ifeq 6
4: aload 1
ldc " single:true,"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
5: goto 8
6: StackMap locals: java.lang.StringBuilder
StackMap stack:
aload 1
ldc " multiple:true,"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
7: aload 1
ldc " subtype:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual org.mongodb.morphia.mapping.MappedField.getSubClass:()Ljava/lang/Class;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ","
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
8: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.mongodb.morphia.mapping.MappedField.isMap:()Z
ifeq 14
9: aload 1
ldc " map:true,"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
10: aload 0
invokevirtual org.mongodb.morphia.mapping.MappedField.getMapKeyClass:()Ljava/lang/Class;
ifnull 13
11: aload 1
ldc " map-key:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual org.mongodb.morphia.mapping.MappedField.getMapKeyClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
12: goto 14
13: StackMap locals:
StackMap stack:
aload 1
ldc " map-key: class unknown! "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
14: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.mongodb.morphia.mapping.MappedField.isSet:()Z
ifeq 16
15: aload 1
ldc " set:true,"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
16: StackMap locals:
StackMap stack:
aload 0
getfield org.mongodb.morphia.mapping.MappedField.isCollection:Z
ifeq 18
17: aload 1
ldc " collection:true,"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
18: StackMap locals:
StackMap stack:
aload 0
getfield org.mongodb.morphia.mapping.MappedField.isArray:Z
ifeq 20
19: aload 1
ldc " array:true,"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
20: StackMap locals:
StackMap stack:
aload 1
aload 1
invokevirtual java.lang.StringBuilder.length:()I
iconst_1
isub
invokevirtual java.lang.StringBuilder.charAt:(I)C
bipush 44
if_icmpne 22
21: aload 1
aload 1
invokevirtual java.lang.StringBuilder.length:()I
iconst_1
isub
invokevirtual java.lang.StringBuilder.setLength:(I)V
22: StackMap locals:
StackMap stack:
aload 1
ldc "); "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.mongodb.morphia.mapping.MappedField.foundAnnotations:Ljava/util/Map;
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
23: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lorg/mongodb/morphia/mapping/MappedField;
1 24 1 sb Ljava/lang/StringBuilder;
protected void discover(org.mongodb.morphia.mapping.Mapper);
descriptor: (Lorg/mongodb/morphia/mapping/Mapper;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: getstatic org.mongodb.morphia.mapping.MappedField.INTERESTING:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 3
StackMap locals: org.mongodb.morphia.mapping.MappedField org.mongodb.morphia.mapping.Mapper top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Class
astore 2
start local 2 2: aload 0
aload 2
invokevirtual org.mongodb.morphia.mapping.MappedField.addAnnotation:(Ljava/lang/Class;)V
end local 2 3: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
4: aload 0
aload 1
invokevirtual org.mongodb.morphia.mapping.MappedField.discoverType:(Lorg/mongodb/morphia/mapping/Mapper;)V
5: aload 0
aload 0
invokevirtual org.mongodb.morphia.mapping.MappedField.discoverConstructor:()Ljava/lang/reflect/Constructor;
putfield org.mongodb.morphia.mapping.MappedField.constructor:Ljava/lang/reflect/Constructor;
6: aload 0
invokevirtual org.mongodb.morphia.mapping.MappedField.discoverMultivalued:()V
7: aload 0
aload 0
getfield org.mongodb.morphia.mapping.MappedField.realType:Ljava/lang/Class;
invokestatic org.mongodb.morphia.utils.ReflectionUtils.isPropertyType:(Ljava/lang/Class;)Z
putfield org.mongodb.morphia.mapping.MappedField.isMongoType:Z
8: aload 0
getfield org.mongodb.morphia.mapping.MappedField.isMongoType:Z
ifne 10
aload 0
getfield org.mongodb.morphia.mapping.MappedField.subType:Ljava/lang/reflect/Type;
ifnull 10
9: aload 0
aload 0
getfield org.mongodb.morphia.mapping.MappedField.subType:Ljava/lang/reflect/Type;
invokestatic org.mongodb.morphia.utils.ReflectionUtils.isPropertyType:(Ljava/lang/reflect/Type;)Z
putfield org.mongodb.morphia.mapping.MappedField.isMongoType:Z
10: StackMap locals: org.mongodb.morphia.mapping.MappedField org.mongodb.morphia.mapping.Mapper
StackMap stack:
aload 0
getfield org.mongodb.morphia.mapping.MappedField.isMongoType:Z
ifne 16
aload 0
getfield org.mongodb.morphia.mapping.MappedField.isSingleValue:Z
ifne 16
aload 0
getfield org.mongodb.morphia.mapping.MappedField.subType:Ljava/lang/reflect/Type;
ifnull 11
aload 0
getfield org.mongodb.morphia.mapping.MappedField.subType:Ljava/lang/reflect/Type;
ldc Ljava/lang/Object;
if_acmpne 16
11: StackMap locals:
StackMap stack:
getstatic org.mongodb.morphia.mapping.MappedField.LOG:Lorg/mongodb/morphia/logging/Logger;
invokeinterface org.mongodb.morphia.logging.Logger.isWarningEnabled:()Z
ifeq 15
aload 1
invokevirtual org.mongodb.morphia.mapping.Mapper.getConverters:()Lorg/mongodb/morphia/converters/Converters;
aload 0
invokevirtual org.mongodb.morphia.converters.Converters.hasDbObjectConverter:(Lorg/mongodb/morphia/mapping/MappedField;)Z
ifne 15
12: getstatic org.mongodb.morphia.mapping.MappedField.LOG:Lorg/mongodb/morphia/logging/Logger;
ldc "The multi-valued field '%s' is a possible heterogeneous collection. It cannot be verified. Please declare a valid type to get rid of this warning. %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
13: aload 0
invokevirtual org.mongodb.morphia.mapping.MappedField.getFullName:()Ljava/lang/String;
aastore
dup
iconst_1
aload 0
getfield org.mongodb.morphia.mapping.MappedField.subType:Ljava/lang/reflect/Type;
aastore
14: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface org.mongodb.morphia.logging.Logger.warning:(Ljava/lang/String;)V
15: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield org.mongodb.morphia.mapping.MappedField.isMongoType:Z
16: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/mongodb/morphia/mapping/MappedField;
0 17 1 mapper Lorg/mongodb/morphia/mapping/Mapper;
2 3 2 clazz Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
MethodParameters:
Name Flags
mapper final
protected void discoverType(org.mongodb.morphia.mapping.Mapper);
descriptor: (Lorg/mongodb/morphia/mapping/Mapper;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=9, args_size=2
start local 0 start local 1 0: aload 0
getfield org.mongodb.morphia.mapping.MappedField.genericType:Ljava/lang/reflect/Type;
instanceof java.lang.reflect.TypeVariable
ifeq 3
1: aload 0
aload 0
aload 0
getfield org.mongodb.morphia.mapping.MappedField.genericType:Ljava/lang/reflect/Type;
checkcast java.lang.reflect.TypeVariable
invokevirtual org.mongodb.morphia.mapping.MappedField.extractTypeVariable:(Ljava/lang/reflect/TypeVariable;)Ljava/lang/Class;
putfield org.mongodb.morphia.mapping.MappedField.realType:Ljava/lang/Class;
2: goto 47
StackMap locals:
StackMap stack:
3: aload 0
getfield org.mongodb.morphia.mapping.MappedField.genericType:Ljava/lang/reflect/Type;
instanceof java.lang.reflect.ParameterizedType
ifeq 18
4: aload 0
getfield org.mongodb.morphia.mapping.MappedField.genericType:Ljava/lang/reflect/Type;
checkcast java.lang.reflect.ParameterizedType
astore 2
start local 2 5: aload 2
invokeinterface java.lang.reflect.ParameterizedType.getActualTypeArguments:()[Ljava/lang/reflect/Type;
astore 3
start local 3 6: aload 0
aload 0
aload 2
invokevirtual org.mongodb.morphia.mapping.MappedField.toClass:(Ljava/lang/reflect/Type;)Ljava/lang/Class;
putfield org.mongodb.morphia.mapping.MappedField.realType:Ljava/lang/Class;
7: aload 3
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 16
StackMap locals: org.mongodb.morphia.mapping.MappedField org.mongodb.morphia.mapping.Mapper java.lang.reflect.ParameterizedType java.lang.reflect.Type[] top int int java.lang.reflect.Type[]
StackMap stack:
8: aload 7
iload 5
aaload
astore 4
start local 4 9: aload 4
instanceof java.lang.reflect.ParameterizedType
ifeq 12
10: aload 0
getfield org.mongodb.morphia.mapping.MappedField.typeParameters:Ljava/util/List;
new org.mongodb.morphia.mapping.EphemeralMappedField
dup
aload 4
checkcast java.lang.reflect.ParameterizedType
aload 0
aload 1
invokespecial org.mongodb.morphia.mapping.EphemeralMappedField.<init>:(Ljava/lang/reflect/ParameterizedType;Lorg/mongodb/morphia/mapping/MappedField;Lorg/mongodb/morphia/mapping/Mapper;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
11: goto 15
12: StackMap locals: org.mongodb.morphia.mapping.MappedField org.mongodb.morphia.mapping.Mapper java.lang.reflect.ParameterizedType java.lang.reflect.Type[] java.lang.reflect.Type int int java.lang.reflect.Type[]
StackMap stack:
aload 4
instanceof java.lang.reflect.WildcardType
ifeq 14
13: aload 4
checkcast java.lang.reflect.WildcardType
invokeinterface java.lang.reflect.WildcardType.getUpperBounds:()[Ljava/lang/reflect/Type;
iconst_0
aaload
astore 4
14: StackMap locals:
StackMap stack:
aload 0
getfield org.mongodb.morphia.mapping.MappedField.typeParameters:Ljava/util/List;
new org.mongodb.morphia.mapping.EphemeralMappedField
dup
aload 4
aload 0
aload 1
invokespecial org.mongodb.morphia.mapping.EphemeralMappedField.<init>:(Ljava/lang/reflect/Type;Lorg/mongodb/morphia/mapping/MappedField;Lorg/mongodb/morphia/mapping/Mapper;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 4 15: StackMap locals: org.mongodb.morphia.mapping.MappedField org.mongodb.morphia.mapping.Mapper java.lang.reflect.ParameterizedType java.lang.reflect.Type[] top int int java.lang.reflect.Type[]
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
16: iload 5
iload 6
if_icmplt 8
end local 3 end local 2 17: goto 47
StackMap locals: org.mongodb.morphia.mapping.MappedField org.mongodb.morphia.mapping.Mapper
StackMap stack:
18: aload 0
getfield org.mongodb.morphia.mapping.MappedField.genericType:Ljava/lang/reflect/Type;
instanceof java.lang.reflect.WildcardType
ifeq 23
19: aload 0
getfield org.mongodb.morphia.mapping.MappedField.genericType:Ljava/lang/reflect/Type;
checkcast java.lang.reflect.WildcardType
astore 2
start local 2 20: aload 2
invokeinterface java.lang.reflect.WildcardType.getUpperBounds:()[Ljava/lang/reflect/Type;
astore 3
start local 3 21: aload 0
aload 0
aload 3
iconst_0
aaload
invokevirtual org.mongodb.morphia.mapping.MappedField.toClass:(Ljava/lang/reflect/Type;)Ljava/lang/Class;
putfield org.mongodb.morphia.mapping.MappedField.realType:Ljava/lang/Class;
end local 3 end local 2 22: goto 47
StackMap locals:
StackMap stack:
23: aload 0
getfield org.mongodb.morphia.mapping.MappedField.genericType:Ljava/lang/reflect/Type;
instanceof java.lang.Class
ifeq 26
24: aload 0
aload 0
getfield org.mongodb.morphia.mapping.MappedField.genericType:Ljava/lang/reflect/Type;
checkcast java.lang.Class
putfield org.mongodb.morphia.mapping.MappedField.realType:Ljava/lang/Class;
25: goto 47
StackMap locals:
StackMap stack:
26: aload 0
getfield org.mongodb.morphia.mapping.MappedField.genericType:Ljava/lang/reflect/Type;
instanceof java.lang.reflect.GenericArrayType
ifeq 47
27: aload 0
getfield org.mongodb.morphia.mapping.MappedField.genericType:Ljava/lang/reflect/Type;
checkcast java.lang.reflect.GenericArrayType
invokeinterface java.lang.reflect.GenericArrayType.getGenericComponentType:()Ljava/lang/reflect/Type;
astore 2
start local 2 28: aload 2
instanceof java.lang.reflect.ParameterizedType
ifeq 43
29: aload 2
checkcast java.lang.reflect.ParameterizedType
astore 3
start local 3 30: aload 0
aload 0
aload 0
getfield org.mongodb.morphia.mapping.MappedField.genericType:Ljava/lang/reflect/Type;
invokevirtual org.mongodb.morphia.mapping.MappedField.toClass:(Ljava/lang/reflect/Type;)Ljava/lang/Class;
putfield org.mongodb.morphia.mapping.MappedField.realType:Ljava/lang/Class;
31: aload 3
invokeinterface java.lang.reflect.ParameterizedType.getActualTypeArguments:()[Ljava/lang/reflect/Type;
astore 4
start local 4 32: aload 4
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 41
StackMap locals: org.mongodb.morphia.mapping.MappedField org.mongodb.morphia.mapping.Mapper java.lang.reflect.Type java.lang.reflect.ParameterizedType java.lang.reflect.Type[] top int int java.lang.reflect.Type[]
StackMap stack:
33: aload 8
iload 6
aaload
astore 5
start local 5 34: aload 5
instanceof java.lang.reflect.ParameterizedType
ifeq 37
35: aload 0
getfield org.mongodb.morphia.mapping.MappedField.typeParameters:Ljava/util/List;
new org.mongodb.morphia.mapping.EphemeralMappedField
dup
aload 5
checkcast java.lang.reflect.ParameterizedType
aload 0
aload 1
invokespecial org.mongodb.morphia.mapping.EphemeralMappedField.<init>:(Ljava/lang/reflect/ParameterizedType;Lorg/mongodb/morphia/mapping/MappedField;Lorg/mongodb/morphia/mapping/Mapper;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
36: goto 40
37: StackMap locals: org.mongodb.morphia.mapping.MappedField org.mongodb.morphia.mapping.Mapper java.lang.reflect.Type java.lang.reflect.ParameterizedType java.lang.reflect.Type[] java.lang.reflect.Type int int java.lang.reflect.Type[]
StackMap stack:
aload 5
instanceof java.lang.reflect.WildcardType
ifeq 39
38: aload 5
checkcast java.lang.reflect.WildcardType
invokeinterface java.lang.reflect.WildcardType.getUpperBounds:()[Ljava/lang/reflect/Type;
iconst_0
aaload
astore 5
39: StackMap locals:
StackMap stack:
aload 0
getfield org.mongodb.morphia.mapping.MappedField.typeParameters:Ljava/util/List;
new org.mongodb.morphia.mapping.EphemeralMappedField
dup
aload 5
aload 0
aload 1
invokespecial org.mongodb.morphia.mapping.EphemeralMappedField.<init>:(Ljava/lang/reflect/Type;Lorg/mongodb/morphia/mapping/MappedField;Lorg/mongodb/morphia/mapping/Mapper;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 5 40: StackMap locals: org.mongodb.morphia.mapping.MappedField org.mongodb.morphia.mapping.Mapper java.lang.reflect.Type java.lang.reflect.ParameterizedType java.lang.reflect.Type[] top int int java.lang.reflect.Type[]
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
41: iload 6
iload 7
if_icmplt 33
end local 4 end local 3 42: goto 47
43: StackMap locals: org.mongodb.morphia.mapping.MappedField org.mongodb.morphia.mapping.Mapper java.lang.reflect.Type
StackMap stack:
aload 2
instanceof java.lang.reflect.TypeVariable
ifeq 46
44: aload 0
aload 0
aload 0
getfield org.mongodb.morphia.mapping.MappedField.genericType:Ljava/lang/reflect/Type;
invokevirtual org.mongodb.morphia.mapping.MappedField.toClass:(Ljava/lang/reflect/Type;)Ljava/lang/Class;
putfield org.mongodb.morphia.mapping.MappedField.realType:Ljava/lang/Class;
45: goto 47
46: StackMap locals:
StackMap stack:
aload 0
aload 2
checkcast java.lang.Class
putfield org.mongodb.morphia.mapping.MappedField.realType:Ljava/lang/Class;
end local 2 47: StackMap locals:
StackMap stack:
ldc Ljava/lang/Object;
aload 0
getfield org.mongodb.morphia.mapping.MappedField.realType:Ljava/lang/Class;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 48
ldc [Ljava/lang/Object;
aload 0
getfield org.mongodb.morphia.mapping.MappedField.realType:Ljava/lang/Class;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 52
48: StackMap locals:
StackMap stack:
getstatic org.mongodb.morphia.mapping.MappedField.LOG:Lorg/mongodb/morphia/logging/Logger;
invokeinterface org.mongodb.morphia.logging.Logger.isWarningEnabled:()Z
ifeq 52
49: getstatic org.mongodb.morphia.mapping.MappedField.LOG:Lorg/mongodb/morphia/logging/Logger;
ldc "Parameterized types are treated as untyped Objects. See field '%s' on %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield org.mongodb.morphia.mapping.MappedField.field:Ljava/lang/reflect/Field;
invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
aastore
dup
iconst_1
50: aload 0
getfield org.mongodb.morphia.mapping.MappedField.field:Ljava/lang/reflect/Field;
invokevirtual java.lang.reflect.Field.getDeclaringClass:()Ljava/lang/Class;
aastore
51: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface org.mongodb.morphia.logging.Logger.warning:(Ljava/lang/String;)V
52: StackMap locals:
StackMap stack:
aload 0
getfield org.mongodb.morphia.mapping.MappedField.realType:Ljava/lang/Class;
ifnonnull 54
53: new org.mongodb.morphia.mapping.MappingException
dup
ldc "A type could not be found for the field %s.%s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 0
invokevirtual org.mongodb.morphia.mapping.MappedField.getType:()Ljava/lang/Class;
aastore
dup
iconst_1
aload 0
invokevirtual org.mongodb.morphia.mapping.MappedField.getField:()Ljava/lang/reflect/Field;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial org.mongodb.morphia.mapping.MappingException.<init>:(Ljava/lang/String;)V
athrow
54: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 55 0 this Lorg/mongodb/morphia/mapping/MappedField;
0 55 1 mapper Lorg/mongodb/morphia/mapping/Mapper;
5 17 2 pt Ljava/lang/reflect/ParameterizedType;
6 17 3 types [Ljava/lang/reflect/Type;
9 15 4 type Ljava/lang/reflect/Type;
20 22 2 wildcardType Ljava/lang/reflect/WildcardType;
21 22 3 types [Ljava/lang/reflect/Type;
28 47 2 genericComponentType Ljava/lang/reflect/Type;
30 42 3 pt Ljava/lang/reflect/ParameterizedType;
32 42 4 types [Ljava/lang/reflect/Type;
34 40 5 type Ljava/lang/reflect/Type;
MethodParameters:
Name Flags
mapper final
private java.lang.Class extractTypeVariable(java.lang.reflect.TypeVariable<?>);
descriptor: (Ljava/lang/reflect/TypeVariable;)Ljava/lang/Class;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.mongodb.morphia.mapping.MappedField.persistedClass:Ljava/lang/Class;
aload 1
invokestatic org.mongodb.morphia.utils.ReflectionUtils.getTypeArgument:(Ljava/lang/Class;Ljava/lang/reflect/TypeVariable;)Ljava/lang/Class;
astore 2
start local 2 1: aload 2
ifnull 2
aload 2
goto 3
StackMap locals: java.lang.Class
StackMap stack:
2: ldc Ljava/lang/Object;
StackMap locals:
StackMap stack: java.lang.Class
3: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/mongodb/morphia/mapping/MappedField;
0 4 1 type Ljava/lang/reflect/TypeVariable<*>;
1 4 2 typeArgument Ljava/lang/Class;
Signature: (Ljava/lang/reflect/TypeVariable<*>;)Ljava/lang/Class;
MethodParameters:
Name Flags
type final
protected java.lang.String getMappedFieldName();
descriptor: ()Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
ldc Lorg/mongodb/morphia/annotations/Id;
invokevirtual org.mongodb.morphia.mapping.MappedField.hasAnnotation:(Ljava/lang/Class;)Z
ifeq 2
1: ldc "_id"
areturn
2: StackMap locals:
StackMap stack:
aload 0
ldc Lorg/mongodb/morphia/annotations/Property;
invokevirtual org.mongodb.morphia.mapping.MappedField.hasAnnotation:(Ljava/lang/Class;)Z
ifeq 6
3: aload 0
getfield org.mongodb.morphia.mapping.MappedField.foundAnnotations:Ljava/util/Map;
ldc Lorg/mongodb/morphia/annotations/Property;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.mongodb.morphia.annotations.Property
astore 1
start local 1 4: aload 1
invokeinterface org.mongodb.morphia.annotations.Property.value:()Ljava/lang/String;
ldc "."
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 22
5: aload 1
invokeinterface org.mongodb.morphia.annotations.Property.value:()Ljava/lang/String;
areturn
end local 1 6: StackMap locals:
StackMap stack:
aload 0
ldc Lorg/mongodb/morphia/annotations/Reference;
invokevirtual org.mongodb.morphia.mapping.MappedField.hasAnnotation:(Ljava/lang/Class;)Z
ifeq 10
7: aload 0
getfield org.mongodb.morphia.mapping.MappedField.foundAnnotations:Ljava/util/Map;
ldc Lorg/mongodb/morphia/annotations/Reference;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.mongodb.morphia.annotations.Reference
astore 1
start local 1 8: aload 1
invokeinterface org.mongodb.morphia.annotations.Reference.value:()Ljava/lang/String;
ldc "."
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 22
9: aload 1
invokeinterface org.mongodb.morphia.annotations.Reference.value:()Ljava/lang/String;
areturn
end local 1 10: StackMap locals:
StackMap stack:
aload 0
ldc Lorg/mongodb/morphia/annotations/Embedded;
invokevirtual org.mongodb.morphia.mapping.MappedField.hasAnnotation:(Ljava/lang/Class;)Z
ifeq 14
11: aload 0
getfield org.mongodb.morphia.mapping.MappedField.foundAnnotations:Ljava/util/Map;
ldc Lorg/mongodb/morphia/annotations/Embedded;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.mongodb.morphia.annotations.Embedded
astore 1
start local 1 12: aload 1
invokeinterface org.mongodb.morphia.annotations.Embedded.value:()Ljava/lang/String;
ldc "."
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 22
13: aload 1
invokeinterface org.mongodb.morphia.annotations.Embedded.value:()Ljava/lang/String;
areturn
end local 1 14: StackMap locals:
StackMap stack:
aload 0
ldc Lorg/mongodb/morphia/annotations/Serialized;
invokevirtual org.mongodb.morphia.mapping.MappedField.hasAnnotation:(Ljava/lang/Class;)Z
ifeq 18
15: aload 0
getfield org.mongodb.morphia.mapping.MappedField.foundAnnotations:Ljava/util/Map;
ldc Lorg/mongodb/morphia/annotations/Serialized;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.mongodb.morphia.annotations.Serialized
astore 1
start local 1 16: aload 1
invokeinterface org.mongodb.morphia.annotations.Serialized.value:()Ljava/lang/String;
ldc "."
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 22
17: aload 1
invokeinterface org.mongodb.morphia.annotations.Serialized.value:()Ljava/lang/String;
areturn
end local 1 18: StackMap locals:
StackMap stack:
aload 0
ldc Lorg/mongodb/morphia/annotations/Version;
invokevirtual org.mongodb.morphia.mapping.MappedField.hasAnnotation:(Ljava/lang/Class;)Z
ifeq 22
19: aload 0
getfield org.mongodb.morphia.mapping.MappedField.foundAnnotations:Ljava/util/Map;
ldc Lorg/mongodb/morphia/annotations/Version;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.mongodb.morphia.annotations.Version
astore 1
start local 1 20: aload 1
invokeinterface org.mongodb.morphia.annotations.Version.value:()Ljava/lang/String;
ldc "."
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 22
21: aload 1
invokeinterface org.mongodb.morphia.annotations.Version.value:()Ljava/lang/String;
areturn
end local 1 22: StackMap locals:
StackMap stack:
aload 0
getfield org.mongodb.morphia.mapping.MappedField.field:Ljava/lang/reflect/Field;
invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lorg/mongodb/morphia/mapping/MappedField;
4 6 1 mv Lorg/mongodb/morphia/annotations/Property;
8 10 1 mr Lorg/mongodb/morphia/annotations/Reference;
12 14 1 me Lorg/mongodb/morphia/annotations/Embedded;
16 18 1 me Lorg/mongodb/morphia/annotations/Serialized;
20 22 1 me Lorg/mongodb/morphia/annotations/Version;
protected java.lang.Class toClass(java.lang.reflect.Type);
descriptor: (Ljava/lang/reflect/Type;)Ljava/lang/Class;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=4, 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
instanceof java.lang.Class
ifeq 4
3: aload 1
checkcast java.lang.Class
areturn
4: StackMap locals:
StackMap stack:
aload 1
instanceof java.lang.reflect.GenericArrayType
ifeq 16
5: aload 1
checkcast java.lang.reflect.GenericArrayType
invokeinterface java.lang.reflect.GenericArrayType.getGenericComponentType:()Ljava/lang/reflect/Type;
astore 2
start local 2 6: aload 2
instanceof java.lang.reflect.ParameterizedType
ifeq 9
7: aload 2
checkcast java.lang.reflect.ParameterizedType
invokeinterface java.lang.reflect.ParameterizedType.getRawType:()Ljava/lang/reflect/Type;
checkcast java.lang.Class
astore 3
start local 3 8: goto 15
end local 3 StackMap locals: java.lang.reflect.Type
StackMap stack:
9: aload 2
instanceof java.lang.reflect.TypeVariable
ifeq 14
10: aload 0
getfield org.mongodb.morphia.mapping.MappedField.persistedClass:Ljava/lang/Class;
aload 2
checkcast java.lang.reflect.TypeVariable
invokestatic org.mongodb.morphia.utils.ReflectionUtils.getTypeArgument:(Ljava/lang/Class;Ljava/lang/reflect/TypeVariable;)Ljava/lang/Class;
astore 3
start local 3 11: aload 3
ifnonnull 15
12: ldc Ljava/lang/Object;
astore 3
13: goto 15
end local 3 14: StackMap locals:
StackMap stack:
aload 2
checkcast java.lang.Class
astore 3
start local 3 15: StackMap locals: java.lang.Class
StackMap stack:
aload 3
iconst_0
invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
areturn
end local 3 end local 2 16: StackMap locals:
StackMap stack:
aload 1
instanceof java.lang.reflect.ParameterizedType
ifeq 18
17: aload 1
checkcast java.lang.reflect.ParameterizedType
invokeinterface java.lang.reflect.ParameterizedType.getRawType:()Ljava/lang/reflect/Type;
checkcast java.lang.Class
areturn
18: StackMap locals:
StackMap stack:
aload 1
instanceof java.lang.reflect.WildcardType
ifeq 20
19: aload 1
checkcast java.lang.reflect.WildcardType
invokeinterface java.lang.reflect.WildcardType.getUpperBounds:()[Ljava/lang/reflect/Type;
iconst_0
aaload
checkcast java.lang.Class
areturn
20: StackMap locals:
StackMap stack:
new java.lang.RuntimeException
dup
ldc "Generic TypeVariable not supported!"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lorg/mongodb/morphia/mapping/MappedField;
0 21 1 t Ljava/lang/reflect/Type;
6 16 2 type Ljava/lang/reflect/Type;
8 9 3 aClass Ljava/lang/Class;
11 14 3 aClass Ljava/lang/Class;
15 16 3 aClass Ljava/lang/Class;
MethodParameters:
Name Flags
t final
private java.lang.reflect.Constructor discoverConstructor();
descriptor: ()Ljava/lang/reflect/Constructor;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aload 0
getfield org.mongodb.morphia.mapping.MappedField.foundAnnotations:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 3
goto 17
StackMap locals: org.mongodb.morphia.mapping.MappedField java.lang.Class top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.annotation.Annotation
astore 2
start local 2 3: aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
ldc "concreteClass"
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 4
start local 4 4: aload 4
iconst_1
invokevirtual java.lang.reflect.Method.setAccessible:(Z)V
5: aload 4
aload 2
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
astore 5
start local 5 6: aload 5
ifnull 17
aload 5
ldc Ljava/lang/Object;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 17
7: aload 5
checkcast java.lang.Class
astore 1
8: goto 18
end local 5 end local 4 9: StackMap locals: org.mongodb.morphia.mapping.MappedField java.lang.Class java.lang.annotation.Annotation java.util.Iterator
StackMap stack: java.lang.NoSuchMethodException
pop
goto 17
10: StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
astore 4
start local 4 11: getstatic org.mongodb.morphia.mapping.MappedField.LOG:Lorg/mongodb/morphia/logging/Logger;
invokeinterface org.mongodb.morphia.logging.Logger.isWarningEnabled:()Z
ifeq 17
12: getstatic org.mongodb.morphia.mapping.MappedField.LOG:Lorg/mongodb/morphia/logging/Logger;
ldc "There should not be an argument"
aload 4
invokeinterface org.mongodb.morphia.logging.Logger.warning:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 4 13: goto 17
14: StackMap locals:
StackMap stack: java.lang.Exception
astore 4
start local 4 15: getstatic org.mongodb.morphia.mapping.MappedField.LOG:Lorg/mongodb/morphia/logging/Logger;
invokeinterface org.mongodb.morphia.logging.Logger.isWarningEnabled:()Z
ifeq 17
16: getstatic org.mongodb.morphia.mapping.MappedField.LOG:Lorg/mongodb/morphia/logging/Logger;
ldc ""
aload 4
invokeinterface org.mongodb.morphia.logging.Logger.warning:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 4 end local 2 17: StackMap locals: org.mongodb.morphia.mapping.MappedField java.lang.Class top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
18: StackMap locals: org.mongodb.morphia.mapping.MappedField java.lang.Class
StackMap stack:
aload 1
ifnull 27
19: aload 0
aload 1
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getDeclaredConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
putfield org.mongodb.morphia.mapping.MappedField.constructor:Ljava/lang/reflect/Constructor;
20: aload 0
getfield org.mongodb.morphia.mapping.MappedField.constructor:Ljava/lang/reflect/Constructor;
iconst_1
invokevirtual java.lang.reflect.Constructor.setAccessible:(Z)V
21: goto 36
StackMap locals:
StackMap stack: java.lang.NoSuchMethodException
22: astore 2
start local 2 23: aload 0
ldc Lorg/mongodb/morphia/annotations/ConstructorArgs;
invokevirtual org.mongodb.morphia.mapping.MappedField.hasAnnotation:(Ljava/lang/Class;)Z
ifne 36
24: getstatic org.mongodb.morphia.mapping.MappedField.LOG:Lorg/mongodb/morphia/logging/Logger;
invokeinterface org.mongodb.morphia.logging.Logger.isWarningEnabled:()Z
ifeq 36
25: getstatic org.mongodb.morphia.mapping.MappedField.LOG:Lorg/mongodb/morphia/logging/Logger;
new java.lang.StringBuilder
dup
ldc "No usable constructor for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
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 2
invokeinterface org.mongodb.morphia.logging.Logger.warning:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 2 26: goto 36
27: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.mongodb.morphia.mapping.MappedField.getType:()Ljava/lang/Class;
astore 1
28: aload 1
ldc Ljava/util/List;
if_acmpeq 29
aload 1
ldc Ljava/util/Map;
if_acmpne 30
29: StackMap locals:
StackMap stack:
aconst_null
areturn
30: StackMap locals:
StackMap stack:
aload 1
ifnull 36
31: aload 0
aload 1
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getDeclaredConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
putfield org.mongodb.morphia.mapping.MappedField.constructor:Ljava/lang/reflect/Constructor;
32: aload 0
getfield org.mongodb.morphia.mapping.MappedField.constructor:Ljava/lang/reflect/Constructor;
iconst_1
invokevirtual java.lang.reflect.Constructor.setAccessible:(Z)V
33: goto 36
StackMap locals:
StackMap stack: java.lang.NoSuchMethodException
34: pop
goto 36
35: StackMap locals:
StackMap stack: java.lang.SecurityException
pop
36: StackMap locals:
StackMap stack:
aload 0
getfield org.mongodb.morphia.mapping.MappedField.constructor:Ljava/lang/reflect/Constructor;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Lorg/mongodb/morphia/mapping/MappedField;
1 37 1 type Ljava/lang/Class<*>;
3 17 2 an Ljava/lang/annotation/Annotation;
4 9 4 m Ljava/lang/reflect/Method;
6 9 5 o Ljava/lang/Object;
11 13 4 e Ljava/lang/IllegalArgumentException;
15 17 4 e Ljava/lang/Exception;
23 26 2 e Ljava/lang/NoSuchMethodException;
Exception table:
from to target type
3 8 9 Class java.lang.NoSuchMethodException
3 8 10 Class java.lang.IllegalArgumentException
3 8 14 Class java.lang.Exception
19 21 22 Class java.lang.NoSuchMethodException
31 33 34 Class java.lang.NoSuchMethodException
31 33 35 Class java.lang.SecurityException
private void discoverMultivalued();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=1, args_size=1
start local 0 0: aload 0
getfield org.mongodb.morphia.mapping.MappedField.realType:Ljava/lang/Class;
invokevirtual java.lang.Class.isArray:()Z
ifne 4
1: ldc Ljava/util/Collection;
aload 0
getfield org.mongodb.morphia.mapping.MappedField.realType:Ljava/lang/Class;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 4
2: ldc Ljava/util/Map;
aload 0
getfield org.mongodb.morphia.mapping.MappedField.realType:Ljava/lang/Class;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 4
3: ldc Ljava/lang/reflect/GenericArrayType;
aload 0
getfield org.mongodb.morphia.mapping.MappedField.genericType:Ljava/lang/reflect/Type;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 20
4: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield org.mongodb.morphia.mapping.MappedField.isSingleValue:Z
5: aload 0
ldc Ljava/util/Map;
aload 0
getfield org.mongodb.morphia.mapping.MappedField.realType:Ljava/lang/Class;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
putfield org.mongodb.morphia.mapping.MappedField.isMap:Z
6: aload 0
ldc Ljava/util/Set;
aload 0
getfield org.mongodb.morphia.mapping.MappedField.realType:Ljava/lang/Class;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
putfield org.mongodb.morphia.mapping.MappedField.isSet:Z
7: aload 0
ldc Ljava/util/Collection;
aload 0
getfield org.mongodb.morphia.mapping.MappedField.realType:Ljava/lang/Class;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
putfield org.mongodb.morphia.mapping.MappedField.isCollection:Z
8: aload 0
aload 0
getfield org.mongodb.morphia.mapping.MappedField.realType:Ljava/lang/Class;
invokevirtual java.lang.Class.isArray:()Z
putfield org.mongodb.morphia.mapping.MappedField.isArray:Z
9: aload 0
getfield org.mongodb.morphia.mapping.MappedField.isMap:Z
ifne 13
aload 0
getfield org.mongodb.morphia.mapping.MappedField.isSet:Z
ifne 13
aload 0
getfield org.mongodb.morphia.mapping.MappedField.isCollection:Z
ifne 13
aload 0
getfield org.mongodb.morphia.mapping.MappedField.isArray:Z
ifne 13
10: new org.mongodb.morphia.mapping.MappingException
dup
ldc "%s.%s is not a map/set/collection/array : %s"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield org.mongodb.morphia.mapping.MappedField.field:Ljava/lang/reflect/Field;
invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
aastore
dup
iconst_1
11: aload 0
getfield org.mongodb.morphia.mapping.MappedField.field:Ljava/lang/reflect/Field;
invokevirtual java.lang.reflect.Field.getDeclaringClass:()Ljava/lang/Class;
aastore
dup
iconst_2
aload 0
getfield org.mongodb.morphia.mapping.MappedField.realType:Ljava/lang/Class;
aastore
12: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial org.mongodb.morphia.mapping.MappingException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.mongodb.morphia.mapping.MappedField.realType:Ljava/lang/Class;
invokevirtual java.lang.Class.isArray:()Z
ifeq 14
aload 0
getfield org.mongodb.morphia.mapping.MappedField.realType:Ljava/lang/Class;
invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
goto 17
StackMap locals:
StackMap stack: org.mongodb.morphia.mapping.MappedField
14: aload 0
getfield org.mongodb.morphia.mapping.MappedField.field:Ljava/lang/reflect/Field;
aload 0
getfield org.mongodb.morphia.mapping.MappedField.isMap:Z
ifeq 15
iconst_1
goto 16
StackMap locals: org.mongodb.morphia.mapping.MappedField
StackMap stack: org.mongodb.morphia.mapping.MappedField java.lang.reflect.Field
15: iconst_0
StackMap locals: org.mongodb.morphia.mapping.MappedField
StackMap stack: org.mongodb.morphia.mapping.MappedField java.lang.reflect.Field int
16: invokestatic org.mongodb.morphia.utils.ReflectionUtils.getParameterizedType:(Ljava/lang/reflect/Field;I)Ljava/lang/reflect/Type;
StackMap locals: org.mongodb.morphia.mapping.MappedField
StackMap stack: org.mongodb.morphia.mapping.MappedField java.lang.reflect.Type
17: putfield org.mongodb.morphia.mapping.MappedField.subType:Ljava/lang/reflect/Type;
18: aload 0
getfield org.mongodb.morphia.mapping.MappedField.isMap:Z
ifeq 20
19: aload 0
aload 0
getfield org.mongodb.morphia.mapping.MappedField.field:Ljava/lang/reflect/Field;
iconst_0
invokestatic org.mongodb.morphia.utils.ReflectionUtils.getParameterizedType:(Ljava/lang/reflect/Field;I)Ljava/lang/reflect/Type;
putfield org.mongodb.morphia.mapping.MappedField.mapKeyType:Ljava/lang/reflect/Type;
20: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lorg/mongodb/morphia/mapping/MappedField;
void setIsMap(boolean);
descriptor: (Z)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.mongodb.morphia.mapping.MappedField.isMap:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/mongodb/morphia/mapping/MappedField;
0 2 1 isMap Z
MethodParameters:
Name Flags
isMap final
void setIsMongoType(boolean);
descriptor: (Z)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.mongodb.morphia.mapping.MappedField.isMongoType:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/mongodb/morphia/mapping/MappedField;
0 2 1 isMongoType Z
MethodParameters:
Name Flags
isMongoType final
void setIsSet(boolean);
descriptor: (Z)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.mongodb.morphia.mapping.MappedField.isSet:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/mongodb/morphia/mapping/MappedField;
0 2 1 isSet Z
MethodParameters:
Name Flags
isSet final
void setMapKeyType(java.lang.Class);
descriptor: (Ljava/lang/Class;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.mongodb.morphia.mapping.MappedField.mapKeyType:Ljava/lang/reflect/Type;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/mongodb/morphia/mapping/MappedField;
0 2 1 mapKeyType Ljava/lang/Class;
MethodParameters:
Name Flags
mapKeyType final
}
SourceFile: "MappedField.java"