public class io.micronaut.http.bind.DefaultRequestBinderRegistry implements io.micronaut.http.bind.RequestBinderRegistry
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.micronaut.http.bind.DefaultRequestBinderRegistry
super_class: java.lang.Object
{
private static final long CACHE_MAX_SIZE;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 30
private final java.util.Map<java.lang.Class<? extends java.lang.annotation.Annotation>, io.micronaut.http.bind.binders.RequestArgumentBinder> byAnnotation;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;Lio/micronaut/http/bind/binders/RequestArgumentBinder;>;
private final java.util.Map<io.micronaut.http.bind.DefaultRequestBinderRegistry$TypeAndAnnotation, io.micronaut.http.bind.binders.RequestArgumentBinder> byTypeAndAnnotation;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Lio/micronaut/http/bind/DefaultRequestBinderRegistry$TypeAndAnnotation;Lio/micronaut/http/bind/binders/RequestArgumentBinder;>;
private final java.util.Map<java.lang.Integer, io.micronaut.http.bind.binders.RequestArgumentBinder> byType;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/Integer;Lio/micronaut/http/bind/binders/RequestArgumentBinder;>;
private final io.micronaut.core.convert.ConversionService<?> conversionService;
descriptor: Lio/micronaut/core/convert/ConversionService;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lio/micronaut/core/convert/ConversionService<*>;
private final java.util.Map<io.micronaut.http.bind.DefaultRequestBinderRegistry$TypeAndAnnotation, java.util.Optional<io.micronaut.http.bind.binders.RequestArgumentBinder>> argumentBinderCache;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Lio/micronaut/http/bind/DefaultRequestBinderRegistry$TypeAndAnnotation;Ljava/util/Optional<Lio/micronaut/http/bind/binders/RequestArgumentBinder;>;>;
public void <init>(io.micronaut.core.convert.ConversionService, io.micronaut.http.bind.binders.RequestArgumentBinder[]);
descriptor: (Lio/micronaut/core/convert/ConversionService;[Lio/micronaut/http/bind/binders/RequestArgumentBinder;)V
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokespecial io.micronaut.http.bind.DefaultRequestBinderRegistry.<init>:(Lio/micronaut/core/convert/ConversionService;Ljava/util/List;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/micronaut/http/bind/DefaultRequestBinderRegistry;
0 2 1 conversionService Lio/micronaut/core/convert/ConversionService;
0 2 2 binders [Lio/micronaut/http/bind/binders/RequestArgumentBinder;
MethodParameters:
Name Flags
conversionService
binders
public void <init>(io.micronaut.core.convert.ConversionService, java.util.List<io.micronaut.http.bind.binders.RequestArgumentBinder>);
descriptor: (Lio/micronaut/core/convert/ConversionService;Ljava/util/List;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.LinkedHashMap
dup
invokespecial java.util.LinkedHashMap.<init>:()V
putfield io.micronaut.http.bind.DefaultRequestBinderRegistry.byAnnotation:Ljava/util/Map;
2: aload 0
new java.util.LinkedHashMap
dup
invokespecial java.util.LinkedHashMap.<init>:()V
putfield io.micronaut.http.bind.DefaultRequestBinderRegistry.byTypeAndAnnotation:Ljava/util/Map;
3: aload 0
new java.util.LinkedHashMap
dup
invokespecial java.util.LinkedHashMap.<init>:()V
putfield io.micronaut.http.bind.DefaultRequestBinderRegistry.byType:Ljava/util/Map;
4: aload 0
5: new io.micronaut.core.util.clhm.ConcurrentLinkedHashMap$Builder
dup
invokespecial io.micronaut.core.util.clhm.ConcurrentLinkedHashMap$Builder.<init>:()V
ldc 30
invokevirtual io.micronaut.core.util.clhm.ConcurrentLinkedHashMap$Builder.maximumWeightedCapacity:(J)Lio/micronaut/core/util/clhm/ConcurrentLinkedHashMap$Builder;
invokevirtual io.micronaut.core.util.clhm.ConcurrentLinkedHashMap$Builder.build:()Lio/micronaut/core/util/clhm/ConcurrentLinkedHashMap;
putfield io.micronaut.http.bind.DefaultRequestBinderRegistry.argumentBinderCache:Ljava/util/Map;
6: aload 0
aload 1
putfield io.micronaut.http.bind.DefaultRequestBinderRegistry.conversionService:Lio/micronaut/core/convert/ConversionService;
7: aload 2
invokestatic io.micronaut.core.util.CollectionUtils.isNotEmpty:(Ljava/util/Collection;)Z
ifeq 12
8: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 11
StackMap locals: io.micronaut.http.bind.DefaultRequestBinderRegistry io.micronaut.core.convert.ConversionService java.util.List top java.util.Iterator
StackMap stack:
9: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.micronaut.http.bind.binders.RequestArgumentBinder
astore 3
start local 3 10: aload 0
aload 3
invokevirtual io.micronaut.http.bind.DefaultRequestBinderRegistry.addRequestArgumentBinder:(Lio/micronaut/core/bind/ArgumentBinder;)V
end local 3 11: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
12: StackMap locals: io.micronaut.http.bind.DefaultRequestBinderRegistry io.micronaut.core.convert.ConversionService java.util.List
StackMap stack:
aload 0
aload 1
invokevirtual io.micronaut.http.bind.DefaultRequestBinderRegistry.registerDefaultConverters:(Lio/micronaut/core/convert/ConversionService;)V
13: aload 0
aload 0
getfield io.micronaut.http.bind.DefaultRequestBinderRegistry.byAnnotation:Ljava/util/Map;
invokevirtual io.micronaut.http.bind.DefaultRequestBinderRegistry.registerDefaultAnnotationBinders:(Ljava/util/Map;)V
14: aload 0
getfield io.micronaut.http.bind.DefaultRequestBinderRegistry.byType:Ljava/util/Map;
ldc Lio/micronaut/http/HttpHeaders;
invokestatic io.micronaut.core.type.Argument.of:(Ljava/lang/Class;)Lio/micronaut/core/type/Argument;
invokeinterface io.micronaut.core.type.Argument.typeHashCode:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokedynamic bind()Lio/micronaut/http/bind/binders/RequestArgumentBinder;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Lio/micronaut/core/convert/ArgumentConversionContext;Ljava/lang/Object;)Lio/micronaut/core/bind/ArgumentBinder$BindingResult;
io/micronaut/http/bind/DefaultRequestBinderRegistry.lambda$0(Lio/micronaut/core/convert/ArgumentConversionContext;Lio/micronaut/http/HttpRequest;)Lio/micronaut/core/bind/ArgumentBinder$BindingResult; (6)
(Lio/micronaut/core/convert/ArgumentConversionContext;Lio/micronaut/http/HttpRequest;)Lio/micronaut/core/bind/ArgumentBinder$BindingResult;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
15: aload 0
getfield io.micronaut.http.bind.DefaultRequestBinderRegistry.byType:Ljava/util/Map;
ldc Lio/micronaut/http/HttpRequest;
invokestatic io.micronaut.core.type.Argument.of:(Ljava/lang/Class;)Lio/micronaut/core/type/Argument;
invokeinterface io.micronaut.core.type.Argument.typeHashCode:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokedynamic bind()Lio/micronaut/http/bind/binders/RequestArgumentBinder;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Lio/micronaut/core/convert/ArgumentConversionContext;Ljava/lang/Object;)Lio/micronaut/core/bind/ArgumentBinder$BindingResult;
io/micronaut/http/bind/DefaultRequestBinderRegistry.lambda$2(Lio/micronaut/core/convert/ArgumentConversionContext;Lio/micronaut/http/HttpRequest;)Lio/micronaut/core/bind/ArgumentBinder$BindingResult; (6)
(Lio/micronaut/core/convert/ArgumentConversionContext;Lio/micronaut/http/HttpRequest;)Lio/micronaut/core/bind/ArgumentBinder$BindingResult;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
16: aload 0
getfield io.micronaut.http.bind.DefaultRequestBinderRegistry.byType:Ljava/util/Map;
ldc Lio/micronaut/http/HttpParameters;
invokestatic io.micronaut.core.type.Argument.of:(Ljava/lang/Class;)Lio/micronaut/core/type/Argument;
invokeinterface io.micronaut.core.type.Argument.typeHashCode:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokedynamic bind()Lio/micronaut/http/bind/binders/RequestArgumentBinder;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Lio/micronaut/core/convert/ArgumentConversionContext;Ljava/lang/Object;)Lio/micronaut/core/bind/ArgumentBinder$BindingResult;
io/micronaut/http/bind/DefaultRequestBinderRegistry.lambda$7(Lio/micronaut/core/convert/ArgumentConversionContext;Lio/micronaut/http/HttpRequest;)Lio/micronaut/core/bind/ArgumentBinder$BindingResult; (6)
(Lio/micronaut/core/convert/ArgumentConversionContext;Lio/micronaut/http/HttpRequest;)Lio/micronaut/core/bind/ArgumentBinder$BindingResult;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
17: aload 0
getfield io.micronaut.http.bind.DefaultRequestBinderRegistry.byType:Ljava/util/Map;
ldc Lio/micronaut/http/cookie/Cookies;
invokestatic io.micronaut.core.type.Argument.of:(Ljava/lang/Class;)Lio/micronaut/core/type/Argument;
invokeinterface io.micronaut.core.type.Argument.typeHashCode:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokedynamic bind()Lio/micronaut/http/bind/binders/RequestArgumentBinder;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Lio/micronaut/core/convert/ArgumentConversionContext;Ljava/lang/Object;)Lio/micronaut/core/bind/ArgumentBinder$BindingResult;
io/micronaut/http/bind/DefaultRequestBinderRegistry.lambda$9(Lio/micronaut/core/convert/ArgumentConversionContext;Lio/micronaut/http/HttpRequest;)Lio/micronaut/core/bind/ArgumentBinder$BindingResult; (6)
(Lio/micronaut/core/convert/ArgumentConversionContext;Lio/micronaut/http/HttpRequest;)Lio/micronaut/core/bind/ArgumentBinder$BindingResult;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
18: aload 0
getfield io.micronaut.http.bind.DefaultRequestBinderRegistry.byType:Ljava/util/Map;
ldc Lio/micronaut/http/cookie/Cookie;
invokestatic io.micronaut.core.type.Argument.of:(Ljava/lang/Class;)Lio/micronaut/core/type/Argument;
invokeinterface io.micronaut.core.type.Argument.typeHashCode:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokedynamic bind()Lio/micronaut/http/bind/binders/RequestArgumentBinder;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Lio/micronaut/core/convert/ArgumentConversionContext;Ljava/lang/Object;)Lio/micronaut/core/bind/ArgumentBinder$BindingResult;
io/micronaut/http/bind/DefaultRequestBinderRegistry.lambda$11(Lio/micronaut/core/convert/ArgumentConversionContext;Lio/micronaut/http/HttpRequest;)Lio/micronaut/core/bind/ArgumentBinder$BindingResult; (6)
(Lio/micronaut/core/convert/ArgumentConversionContext;Lio/micronaut/http/HttpRequest;)Lio/micronaut/core/bind/ArgumentBinder$BindingResult;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
19: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lio/micronaut/http/bind/DefaultRequestBinderRegistry;
0 20 1 conversionService Lio/micronaut/core/convert/ConversionService;
0 20 2 binders Ljava/util/List<Lio/micronaut/http/bind/binders/RequestArgumentBinder;>;
10 11 3 binder Lio/micronaut/http/bind/binders/RequestArgumentBinder;
Signature: (Lio/micronaut/core/convert/ConversionService;Ljava/util/List<Lio/micronaut/http/bind/binders/RequestArgumentBinder;>;)V
RuntimeVisibleAnnotations:
javax.inject.Inject()
MethodParameters:
Name Flags
conversionService
binders
public <T, ST> void addRequestArgumentBinder(io.micronaut.core.bind.ArgumentBinder<T, ST>);
descriptor: (Lio/micronaut/core/bind/ArgumentBinder;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=10, args_size=2
start local 0 start local 1 0: aload 1
instanceof io.micronaut.http.bind.binders.AnnotatedRequestArgumentBinder
ifeq 29
1: aload 1
checkcast io.micronaut.http.bind.binders.AnnotatedRequestArgumentBinder
astore 2
start local 2 2: aload 2
invokeinterface io.micronaut.http.bind.binders.AnnotatedRequestArgumentBinder.getAnnotationType:()Ljava/lang/Class;
astore 3
start local 3 3: aload 1
instanceof io.micronaut.http.bind.binders.TypedRequestArgumentBinder
ifeq 27
4: aload 1
checkcast io.micronaut.http.bind.binders.TypedRequestArgumentBinder
astore 4
start local 4 5: aload 4
invokeinterface io.micronaut.http.bind.binders.TypedRequestArgumentBinder.argumentType:()Lio/micronaut/core/type/Argument;
astore 5
start local 5 6: aload 0
getfield io.micronaut.http.bind.DefaultRequestBinderRegistry.byTypeAndAnnotation:Ljava/util/Map;
new io.micronaut.http.bind.DefaultRequestBinderRegistry$TypeAndAnnotation
dup
aload 5
aload 3
invokespecial io.micronaut.http.bind.DefaultRequestBinderRegistry$TypeAndAnnotation.<init>:(Lio/micronaut/core/type/Argument;Ljava/lang/Class;)V
aload 1
checkcast io.micronaut.http.bind.binders.RequestArgumentBinder
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
7: aload 4
invokeinterface io.micronaut.http.bind.binders.TypedRequestArgumentBinder.superTypes:()Ljava/util/List;
astore 6
start local 6 8: aload 6
invokestatic io.micronaut.core.util.CollectionUtils.isNotEmpty:(Ljava/util/Collection;)Z
ifeq 14
9: aload 6
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 12
StackMap locals: io.micronaut.http.bind.DefaultRequestBinderRegistry io.micronaut.core.bind.ArgumentBinder io.micronaut.http.bind.binders.AnnotatedRequestArgumentBinder java.lang.Class io.micronaut.http.bind.binders.TypedRequestArgumentBinder io.micronaut.core.type.Argument java.util.List top java.util.Iterator
StackMap stack:
10: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Class
astore 7
start local 7 11: aload 0
getfield io.micronaut.http.bind.DefaultRequestBinderRegistry.byTypeAndAnnotation:Ljava/util/Map;
new io.micronaut.http.bind.DefaultRequestBinderRegistry$TypeAndAnnotation
dup
aload 7
invokestatic io.micronaut.core.type.Argument.of:(Ljava/lang/Class;)Lio/micronaut/core/type/Argument;
aload 3
invokespecial io.micronaut.http.bind.DefaultRequestBinderRegistry$TypeAndAnnotation.<init>:(Lio/micronaut/core/type/Argument;Ljava/lang/Class;)V
aload 1
checkcast io.micronaut.http.bind.binders.RequestArgumentBinder
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 7 12: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
13: goto 32
StackMap locals: io.micronaut.http.bind.DefaultRequestBinderRegistry io.micronaut.core.bind.ArgumentBinder io.micronaut.http.bind.binders.AnnotatedRequestArgumentBinder java.lang.Class io.micronaut.http.bind.binders.TypedRequestArgumentBinder io.micronaut.core.type.Argument java.util.List
StackMap stack:
14: aload 4
invokeinterface io.micronaut.http.bind.binders.TypedRequestArgumentBinder.supportsSuperTypes:()Z
ifeq 32
15: aload 5
invokeinterface io.micronaut.core.type.Argument.getType:()Ljava/lang/Class;
invokestatic io.micronaut.core.reflect.ReflectionUtils.getAllInterfaces:(Ljava/lang/Class;)Ljava/util/Set;
astore 7
start local 7 16: getstatic io.micronaut.core.reflect.ClassUtils.REFLECTION_LOGGER:Lorg/slf4j/Logger;
invokeinterface org.slf4j.Logger.isWarnEnabled:()Z
ifeq 22
17: getstatic io.micronaut.core.reflect.ClassUtils.REFLECTION_LOGGER:Lorg/slf4j/Logger;
18: ldc "Request argument binder [{}] triggered the use of reflection for types {}"
19: aload 4
20: aload 7
21: invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
22: StackMap locals: java.util.Set
StackMap stack:
aload 7
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 9
goto 25
StackMap locals: io.micronaut.http.bind.DefaultRequestBinderRegistry io.micronaut.core.bind.ArgumentBinder io.micronaut.http.bind.binders.AnnotatedRequestArgumentBinder java.lang.Class io.micronaut.http.bind.binders.TypedRequestArgumentBinder io.micronaut.core.type.Argument java.util.List java.util.Set top java.util.Iterator
StackMap stack:
23: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Class
astore 8
start local 8 24: aload 0
getfield io.micronaut.http.bind.DefaultRequestBinderRegistry.byTypeAndAnnotation:Ljava/util/Map;
new io.micronaut.http.bind.DefaultRequestBinderRegistry$TypeAndAnnotation
dup
aload 8
invokestatic io.micronaut.core.type.Argument.of:(Ljava/lang/Class;)Lio/micronaut/core/type/Argument;
aload 3
invokespecial io.micronaut.http.bind.DefaultRequestBinderRegistry$TypeAndAnnotation.<init>:(Lio/micronaut/core/type/Argument;Ljava/lang/Class;)V
aload 1
checkcast io.micronaut.http.bind.binders.RequestArgumentBinder
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 8 25: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 23
end local 7 end local 6 end local 5 end local 4 26: goto 32
27: StackMap locals: io.micronaut.http.bind.DefaultRequestBinderRegistry io.micronaut.core.bind.ArgumentBinder io.micronaut.http.bind.binders.AnnotatedRequestArgumentBinder java.lang.Class
StackMap stack:
aload 0
getfield io.micronaut.http.bind.DefaultRequestBinderRegistry.byAnnotation:Ljava/util/Map;
aload 3
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 3 end local 2 28: goto 32
StackMap locals:
StackMap stack:
29: aload 1
instanceof io.micronaut.http.bind.binders.TypedRequestArgumentBinder
ifeq 32
30: aload 1
checkcast io.micronaut.http.bind.binders.TypedRequestArgumentBinder
astore 2
start local 2 31: aload 0
getfield io.micronaut.http.bind.DefaultRequestBinderRegistry.byType:Ljava/util/Map;
aload 2
invokeinterface io.micronaut.http.bind.binders.TypedRequestArgumentBinder.argumentType:()Lio/micronaut/core/type/Argument;
invokeinterface io.micronaut.core.type.Argument.typeHashCode:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 2 32: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lio/micronaut/http/bind/DefaultRequestBinderRegistry;
0 33 1 binder Lio/micronaut/core/bind/ArgumentBinder<TT;TST;>;
2 28 2 annotatedRequestArgumentBinder Lio/micronaut/http/bind/binders/AnnotatedRequestArgumentBinder<**>;
3 28 3 annotationType Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
5 26 4 typedRequestArgumentBinder Lio/micronaut/http/bind/binders/TypedRequestArgumentBinder<*>;
6 26 5 argumentType Lio/micronaut/core/type/Argument;
8 26 6 superTypes Ljava/util/List<Ljava/lang/Class<*>;>;
11 12 7 superType Ljava/lang/Class<*>;
16 26 7 allInterfaces Ljava/util/Set<Ljava/lang/Class;>;
24 25 8 itfce Ljava/lang/Class<*>;
31 32 2 typedRequestArgumentBinder Lio/micronaut/http/bind/binders/TypedRequestArgumentBinder;
Signature: <T:Ljava/lang/Object;ST:Ljava/lang/Object;>(Lio/micronaut/core/bind/ArgumentBinder<TT;TST;>;)V
MethodParameters:
Name Flags
binder
public <T> java.util.Optional<io.micronaut.core.bind.ArgumentBinder<T, io.micronaut.http.HttpRequest<?>>> findArgumentBinder(io.micronaut.core.type.Argument<T>, io.micronaut.http.HttpRequest<?>);
descriptor: (Lio/micronaut/core/type/Argument;Lio/micronaut/http/HttpRequest;)Ljava/util/Optional;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface io.micronaut.core.type.Argument.getAnnotationMetadata:()Lio/micronaut/core/annotation/AnnotationMetadata;
ldc Lio/micronaut/core/bind/annotation/Bindable;
invokeinterface io.micronaut.core.annotation.AnnotationMetadata.getAnnotationTypeByStereotype:(Ljava/lang/Class;)Ljava/util/Optional;
astore 3
start local 3 1: aload 3
invokevirtual java.util.Optional.isPresent:()Z
ifeq 8
2: aload 3
invokevirtual java.util.Optional.get:()Ljava/lang/Object;
checkcast java.lang.Class
astore 4
start local 4 3: aload 0
aload 1
aload 4
invokevirtual io.micronaut.http.bind.DefaultRequestBinderRegistry.findBinder:(Lio/micronaut/core/type/Argument;Ljava/lang/Class;)Lio/micronaut/http/bind/binders/RequestArgumentBinder;
astore 5
start local 5 4: aload 5
ifnonnull 6
5: aload 0
getfield io.micronaut.http.bind.DefaultRequestBinderRegistry.byAnnotation:Ljava/util/Map;
aload 4
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast io.micronaut.http.bind.binders.RequestArgumentBinder
astore 5
6: StackMap locals: java.util.Optional java.lang.Class io.micronaut.http.bind.binders.RequestArgumentBinder
StackMap stack:
aload 5
ifnull 14
7: aload 5
invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
areturn
end local 5 end local 4 8: StackMap locals:
StackMap stack:
aload 0
getfield io.micronaut.http.bind.DefaultRequestBinderRegistry.byType:Ljava/util/Map;
aload 1
invokeinterface io.micronaut.core.type.Argument.typeHashCode:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast io.micronaut.http.bind.binders.RequestArgumentBinder
astore 4
start local 4 9: aload 4
ifnull 11
10: aload 4
invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
areturn
11: StackMap locals: io.micronaut.http.bind.binders.RequestArgumentBinder
StackMap stack:
aload 0
getfield io.micronaut.http.bind.DefaultRequestBinderRegistry.byType:Ljava/util/Map;
aload 1
invokeinterface io.micronaut.core.type.Argument.getType:()Ljava/lang/Class;
invokestatic io.micronaut.core.type.Argument.of:(Ljava/lang/Class;)Lio/micronaut/core/type/Argument;
invokeinterface io.micronaut.core.type.Argument.typeHashCode:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast io.micronaut.http.bind.binders.RequestArgumentBinder
astore 4
12: aload 4
ifnull 14
13: aload 4
invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
areturn
end local 4 14: StackMap locals:
StackMap stack:
new io.micronaut.http.bind.binders.ParameterAnnotationBinder
dup
aload 0
getfield io.micronaut.http.bind.DefaultRequestBinderRegistry.conversionService:Lio/micronaut/core/convert/ConversionService;
invokespecial io.micronaut.http.bind.binders.ParameterAnnotationBinder.<init>:(Lio/micronaut/core/convert/ConversionService;)V
invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lio/micronaut/http/bind/DefaultRequestBinderRegistry;
0 15 1 argument Lio/micronaut/core/type/Argument<TT;>;
0 15 2 source Lio/micronaut/http/HttpRequest<*>;
1 15 3 opt Ljava/util/Optional<Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;>;
3 8 4 annotationType Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
4 8 5 binder Lio/micronaut/http/bind/binders/RequestArgumentBinder<TT;>;
9 14 4 binder Lio/micronaut/http/bind/binders/RequestArgumentBinder<TT;>;
Signature: <T:Ljava/lang/Object;>(Lio/micronaut/core/type/Argument<TT;>;Lio/micronaut/http/HttpRequest<*>;)Ljava/util/Optional<Lio/micronaut/core/bind/ArgumentBinder<TT;Lio/micronaut/http/HttpRequest<*>;>;>;
MethodParameters:
Name Flags
argument
source
protected <T> io.micronaut.http.bind.binders.RequestArgumentBinder findBinder(io.micronaut.core.type.Argument<T>, java.lang.Class<? extends java.lang.annotation.Annotation>);
descriptor: (Lio/micronaut/core/type/Argument;Ljava/lang/Class;)Lio/micronaut/http/bind/binders/RequestArgumentBinder;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: new io.micronaut.http.bind.DefaultRequestBinderRegistry$TypeAndAnnotation
dup
aload 1
aload 2
invokespecial io.micronaut.http.bind.DefaultRequestBinderRegistry$TypeAndAnnotation.<init>:(Lio/micronaut/core/type/Argument;Ljava/lang/Class;)V
astore 3
start local 3 1: aload 0
getfield io.micronaut.http.bind.DefaultRequestBinderRegistry.argumentBinderCache:Ljava/util/Map;
aload 3
aload 0
aload 2
aload 1
invokedynamic apply(Lio/micronaut/http/bind/DefaultRequestBinderRegistry;Ljava/lang/Class;Lio/micronaut/core/type/Argument;)Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
io/micronaut/http/bind/DefaultRequestBinderRegistry.lambda$13(Ljava/lang/Class;Lio/micronaut/core/type/Argument;Lio/micronaut/http/bind/DefaultRequestBinderRegistry$TypeAndAnnotation;)Ljava/util/Optional; (7)
(Lio/micronaut/http/bind/DefaultRequestBinderRegistry$TypeAndAnnotation;)Ljava/util/Optional;
invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
checkcast java.util.Optional
2: aconst_null
invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast io.micronaut.http.bind.binders.RequestArgumentBinder
3: areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/micronaut/http/bind/DefaultRequestBinderRegistry;
0 4 1 argument Lio/micronaut/core/type/Argument<TT;>;
0 4 2 annotationType Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
1 4 3 key Lio/micronaut/http/bind/DefaultRequestBinderRegistry$TypeAndAnnotation;
Signature: <T:Ljava/lang/Object;>(Lio/micronaut/core/type/Argument<TT;>;Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;)Lio/micronaut/http/bind/binders/RequestArgumentBinder;
MethodParameters:
Name Flags
argument
annotationType
protected void registerDefaultConverters(io.micronaut.core.convert.ConversionService<?>);
descriptor: (Lio/micronaut/core/convert/ConversionService;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
1: ldc Ljava/lang/CharSequence;
2: ldc Lio/micronaut/http/MediaType;
invokedynamic convert()Lio/micronaut/core/convert/TypeConverter;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Class;Lio/micronaut/core/convert/ConversionContext;)Ljava/util/Optional;
io/micronaut/http/bind/DefaultRequestBinderRegistry.lambda$14(Ljava/lang/CharSequence;Ljava/lang/Class;Lio/micronaut/core/convert/ConversionContext;)Ljava/util/Optional; (6)
(Ljava/lang/CharSequence;Ljava/lang/Class;Lio/micronaut/core/convert/ConversionContext;)Ljava/util/Optional;
3: invokeinterface io.micronaut.core.convert.ConversionService.addConverter:(Ljava/lang/Class;Ljava/lang/Class;Lio/micronaut/core/convert/TypeConverter;)Lio/micronaut/core/convert/ConversionService;
pop
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/micronaut/http/bind/DefaultRequestBinderRegistry;
0 5 1 conversionService Lio/micronaut/core/convert/ConversionService<*>;
Signature: (Lio/micronaut/core/convert/ConversionService<*>;)V
MethodParameters:
Name Flags
conversionService
protected void registerDefaultAnnotationBinders(java.util.Map<java.lang.Class<? extends java.lang.annotation.Annotation>, io.micronaut.http.bind.binders.RequestArgumentBinder>);
descriptor: (Ljava/util/Map;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tContinuationArgumentBinder cannot be resolved to a type\n\tContinuationArgumentBinder cannot be resolved to a type\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/micronaut/http/bind/DefaultRequestBinderRegistry;
Signature: (Ljava/util/Map<Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;Lio/micronaut/http/bind/binders/RequestArgumentBinder;>;)V
MethodParameters:
Name Flags
byAnnotation
public java.util.Optional findArgumentBinder(io.micronaut.core.type.Argument, java.lang.Object);
descriptor: (Lio/micronaut/core/type/Argument;Ljava/lang/Object;)Ljava/util/Optional;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
checkcast io.micronaut.core.type.Argument
aload 2
checkcast io.micronaut.http.HttpRequest
invokevirtual io.micronaut.http.bind.DefaultRequestBinderRegistry.findArgumentBinder:(Lio/micronaut/core/type/Argument;Lio/micronaut/http/HttpRequest;)Ljava/util/Optional;
areturn
LocalVariableTable:
Start End Slot Name Signature
private static io.micronaut.core.bind.ArgumentBinder$BindingResult lambda$0(io.micronaut.core.convert.ArgumentConversionContext, io.micronaut.http.HttpRequest);
descriptor: (Lio/micronaut/core/convert/ArgumentConversionContext;Lio/micronaut/http/HttpRequest;)Lio/micronaut/core/bind/ArgumentBinder$BindingResult;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokedynamic getValue(Lio/micronaut/http/HttpRequest;)Lio/micronaut/core/bind/ArgumentBinder$BindingResult;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/util/Optional;
io/micronaut/http/bind/DefaultRequestBinderRegistry.lambda$1(Lio/micronaut/http/HttpRequest;)Ljava/util/Optional; (6)
()Ljava/util/Optional;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 argument Lio/micronaut/core/convert/ArgumentConversionContext<Lio/micronaut/http/HttpHeaders;>;
0 1 1 source Lio/micronaut/http/HttpRequest<*>;
private static io.micronaut.core.bind.ArgumentBinder$BindingResult lambda$2(io.micronaut.core.convert.ArgumentConversionContext, io.micronaut.http.HttpRequest);
descriptor: (Lio/micronaut/core/convert/ArgumentConversionContext;Lio/micronaut/http/HttpRequest;)Lio/micronaut/core/bind/ArgumentBinder$BindingResult;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface io.micronaut.core.convert.ArgumentConversionContext.getFirstTypeVariable:()Ljava/util/Optional;
1: invokedynamic test()Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
io/micronaut/http/bind/DefaultRequestBinderRegistry.lambda$3(Lio/micronaut/core/type/Argument;)Z (6)
(Lio/micronaut/core/type/Argument;)Z
invokevirtual java.util.Optional.filter:(Ljava/util/function/Predicate;)Ljava/util/Optional;
2: invokedynamic test()Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
io/micronaut/http/bind/DefaultRequestBinderRegistry.lambda$4(Lio/micronaut/core/type/Argument;)Z (6)
(Lio/micronaut/core/type/Argument;)Z
invokevirtual java.util.Optional.filter:(Ljava/util/function/Predicate;)Ljava/util/Optional;
3: astore 2
start local 2 4: aload 2
invokevirtual java.util.Optional.isPresent:()Z
ifeq 8
aload 1
invokeinterface io.micronaut.http.HttpRequest.getMethod:()Lio/micronaut/http/HttpMethod;
invokestatic io.micronaut.http.HttpMethod.permitsRequestBody:(Lio/micronaut/http/HttpMethod;)Z
ifeq 8
5: aload 1
invokeinterface io.micronaut.http.HttpRequest.getBody:()Ljava/util/Optional;
invokevirtual java.util.Optional.isPresent:()Z
ifeq 7
6: aload 1
aload 2
invokedynamic getValue(Lio/micronaut/http/HttpRequest;Ljava/util/Optional;)Lio/micronaut/core/bind/ArgumentBinder$BindingResult;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/util/Optional;
io/micronaut/http/bind/DefaultRequestBinderRegistry.lambda$5(Lio/micronaut/http/HttpRequest;Ljava/util/Optional;)Ljava/util/Optional; (6)
()Ljava/util/Optional;
areturn
7: StackMap locals: java.util.Optional
StackMap stack:
getstatic io.micronaut.core.bind.ArgumentBinder$BindingResult.UNSATISFIED:Lio/micronaut/core/bind/ArgumentBinder$BindingResult;
areturn
8: StackMap locals:
StackMap stack:
aload 1
invokedynamic getValue(Lio/micronaut/http/HttpRequest;)Lio/micronaut/core/bind/ArgumentBinder$BindingResult;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/util/Optional;
io/micronaut/http/bind/DefaultRequestBinderRegistry.lambda$6(Lio/micronaut/http/HttpRequest;)Ljava/util/Optional; (6)
()Ljava/util/Optional;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 argument Lio/micronaut/core/convert/ArgumentConversionContext<Lio/micronaut/http/HttpRequest;>;
0 9 1 source Lio/micronaut/http/HttpRequest<*>;
4 9 2 typeVariable Ljava/util/Optional<Lio/micronaut/core/type/Argument<*>;>;
private static io.micronaut.core.bind.ArgumentBinder$BindingResult lambda$7(io.micronaut.core.convert.ArgumentConversionContext, io.micronaut.http.HttpRequest);
descriptor: (Lio/micronaut/core/convert/ArgumentConversionContext;Lio/micronaut/http/HttpRequest;)Lio/micronaut/core/bind/ArgumentBinder$BindingResult;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokedynamic getValue(Lio/micronaut/http/HttpRequest;)Lio/micronaut/core/bind/ArgumentBinder$BindingResult;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/util/Optional;
io/micronaut/http/bind/DefaultRequestBinderRegistry.lambda$8(Lio/micronaut/http/HttpRequest;)Ljava/util/Optional; (6)
()Ljava/util/Optional;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 argument Lio/micronaut/core/convert/ArgumentConversionContext<Lio/micronaut/http/HttpParameters;>;
0 1 1 source Lio/micronaut/http/HttpRequest<*>;
private static io.micronaut.core.bind.ArgumentBinder$BindingResult lambda$9(io.micronaut.core.convert.ArgumentConversionContext, io.micronaut.http.HttpRequest);
descriptor: (Lio/micronaut/core/convert/ArgumentConversionContext;Lio/micronaut/http/HttpRequest;)Lio/micronaut/core/bind/ArgumentBinder$BindingResult;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokedynamic getValue(Lio/micronaut/http/HttpRequest;)Lio/micronaut/core/bind/ArgumentBinder$BindingResult;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/util/Optional;
io/micronaut/http/bind/DefaultRequestBinderRegistry.lambda$10(Lio/micronaut/http/HttpRequest;)Ljava/util/Optional; (6)
()Ljava/util/Optional;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 argument Lio/micronaut/core/convert/ArgumentConversionContext<Lio/micronaut/http/cookie/Cookies;>;
0 1 1 source Lio/micronaut/http/HttpRequest<*>;
private static io.micronaut.core.bind.ArgumentBinder$BindingResult lambda$11(io.micronaut.core.convert.ArgumentConversionContext, io.micronaut.http.HttpRequest);
descriptor: (Lio/micronaut/core/convert/ArgumentConversionContext;Lio/micronaut/http/HttpRequest;)Lio/micronaut/core/bind/ArgumentBinder$BindingResult;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface io.micronaut.http.HttpRequest.getCookies:()Lio/micronaut/http/cookie/Cookies;
astore 2
start local 2 1: aload 0
invokeinterface io.micronaut.core.convert.ArgumentConversionContext.getArgument:()Lio/micronaut/core/type/Argument;
invokeinterface io.micronaut.core.type.Argument.getName:()Ljava/lang/String;
astore 3
start local 3 2: aload 2
aload 3
invokeinterface io.micronaut.http.cookie.Cookies.get:(Ljava/lang/CharSequence;)Lio/micronaut/http/cookie/Cookie;
astore 4
start local 4 3: aload 4
ifnonnull 5
4: aload 2
aload 3
invokestatic io.micronaut.core.naming.NameUtils.hyphenate:(Ljava/lang/String;)Ljava/lang/String;
invokeinterface io.micronaut.http.cookie.Cookies.get:(Ljava/lang/CharSequence;)Lio/micronaut/http/cookie/Cookie;
astore 4
5: StackMap locals: io.micronaut.http.cookie.Cookies java.lang.String io.micronaut.http.cookie.Cookie
StackMap stack:
aload 4
astore 5
start local 5 6: aload 5
invokedynamic getValue(Lio/micronaut/http/cookie/Cookie;)Lio/micronaut/core/bind/ArgumentBinder$BindingResult;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/util/Optional;
io/micronaut/http/bind/DefaultRequestBinderRegistry.lambda$12(Lio/micronaut/http/cookie/Cookie;)Ljava/util/Optional; (6)
()Ljava/util/Optional;
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 context Lio/micronaut/core/convert/ArgumentConversionContext<Lio/micronaut/http/cookie/Cookie;>;
0 7 1 source Lio/micronaut/http/HttpRequest<*>;
1 7 2 cookies Lio/micronaut/http/cookie/Cookies;
2 7 3 name Ljava/lang/String;
3 7 4 cookie Lio/micronaut/http/cookie/Cookie;
6 7 5 finalCookie Lio/micronaut/http/cookie/Cookie;
private java.util.Optional lambda$13(java.lang.Class, io.micronaut.core.type.Argument, io.micronaut.http.bind.DefaultRequestBinderRegistry$TypeAndAnnotation);
descriptor: (Ljava/lang/Class;Lio/micronaut/core/type/Argument;Lio/micronaut/http/bind/DefaultRequestBinderRegistry$TypeAndAnnotation;)Ljava/util/Optional;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=5, locals=10, args_size=4
start local 0 start local 3 0: aload 0
getfield io.micronaut.http.bind.DefaultRequestBinderRegistry.byTypeAndAnnotation:Ljava/util/Map;
aload 3
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast io.micronaut.http.bind.binders.RequestArgumentBinder
astore 4
start local 4 1: aload 4
ifnonnull 15
2: aload 3
getfield io.micronaut.http.bind.DefaultRequestBinderRegistry$TypeAndAnnotation.type:Lio/micronaut/core/type/Argument;
invokeinterface io.micronaut.core.type.Argument.getType:()Ljava/lang/Class;
astore 5
start local 5 3: aload 0
getfield io.micronaut.http.bind.DefaultRequestBinderRegistry.byTypeAndAnnotation:Ljava/util/Map;
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 7
goto 12
StackMap locals: io.micronaut.http.bind.DefaultRequestBinderRegistry java.lang.Class io.micronaut.core.type.Argument io.micronaut.http.bind.DefaultRequestBinderRegistry$TypeAndAnnotation io.micronaut.http.bind.binders.RequestArgumentBinder java.lang.Class top java.util.Iterator
StackMap stack:
4: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 6
start local 6 5: aload 6
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast io.micronaut.http.bind.DefaultRequestBinderRegistry$TypeAndAnnotation
astore 8
start local 8 6: aload 8
getfield io.micronaut.http.bind.DefaultRequestBinderRegistry$TypeAndAnnotation.annotation:Ljava/lang/Class;
aload 1
if_acmpne 12
7: aload 8
getfield io.micronaut.http.bind.DefaultRequestBinderRegistry$TypeAndAnnotation.type:Lio/micronaut/core/type/Argument;
astore 9
start local 9 8: aload 9
invokeinterface io.micronaut.core.type.Argument.getType:()Ljava/lang/Class;
aload 5
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 12
9: aload 6
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast io.micronaut.http.bind.binders.RequestArgumentBinder
astore 4
10: aload 4
ifnull 12
11: goto 13
end local 9 end local 8 end local 6 12: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
13: StackMap locals: io.micronaut.http.bind.DefaultRequestBinderRegistry java.lang.Class io.micronaut.core.type.Argument io.micronaut.http.bind.DefaultRequestBinderRegistry$TypeAndAnnotation io.micronaut.http.bind.binders.RequestArgumentBinder java.lang.Class
StackMap stack:
aload 4
ifnonnull 15
14: aload 0
getfield io.micronaut.http.bind.DefaultRequestBinderRegistry.byTypeAndAnnotation:Ljava/util/Map;
new io.micronaut.http.bind.DefaultRequestBinderRegistry$TypeAndAnnotation
dup
aload 2
invokeinterface io.micronaut.core.type.Argument.getType:()Ljava/lang/Class;
invokestatic io.micronaut.core.type.Argument.of:(Ljava/lang/Class;)Lio/micronaut/core/type/Argument;
aload 1
invokespecial io.micronaut.http.bind.DefaultRequestBinderRegistry$TypeAndAnnotation.<init>:(Lio/micronaut/core/type/Argument;Ljava/lang/Class;)V
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast io.micronaut.http.bind.binders.RequestArgumentBinder
astore 4
end local 5 15: StackMap locals:
StackMap stack:
aload 4
invokestatic java.util.Optional.ofNullable:(Ljava/lang/Object;)Ljava/util/Optional;
areturn
end local 4 end local 3 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lio/micronaut/http/bind/DefaultRequestBinderRegistry;
0 16 3 key1 Lio/micronaut/http/bind/DefaultRequestBinderRegistry$TypeAndAnnotation;
1 16 4 requestArgumentBinder Lio/micronaut/http/bind/binders/RequestArgumentBinder;
3 15 5 javaType Ljava/lang/Class<*>;
5 12 6 entry Ljava/util/Map$Entry<Lio/micronaut/http/bind/DefaultRequestBinderRegistry$TypeAndAnnotation;Lio/micronaut/http/bind/binders/RequestArgumentBinder;>;
6 12 8 typeAndAnnotation Lio/micronaut/http/bind/DefaultRequestBinderRegistry$TypeAndAnnotation;
8 12 9 t Lio/micronaut/core/type/Argument<*>;
private static java.util.Optional lambda$14(java.lang.CharSequence, java.lang.Class, io.micronaut.core.convert.ConversionContext);
descriptor: (Ljava/lang/CharSequence;Ljava/lang/Class;Lio/micronaut/core/convert/ConversionContext;)Ljava/util/Optional;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokestatic io.micronaut.core.util.StringUtils.isEmpty:(Ljava/lang/CharSequence;)Z
ifeq 2
1: invokestatic java.util.Optional.empty:()Ljava/util/Optional;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
astore 3
start local 3 3: new io.micronaut.http.MediaType
dup
aload 3
invokespecial io.micronaut.http.MediaType.<init>:(Ljava/lang/String;)V
invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
4: areturn
5: StackMap locals: java.lang.CharSequence java.lang.Class io.micronaut.core.convert.ConversionContext java.lang.String
StackMap stack: java.lang.IllegalArgumentException
astore 4
start local 4 6: aload 2
aload 4
invokeinterface io.micronaut.core.convert.ConversionContext.reject:(Ljava/lang/Exception;)V
7: invokestatic java.util.Optional.empty:()Ljava/util/Optional;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 object Ljava/lang/CharSequence;
0 8 1 targetType Ljava/lang/Class<Lio/micronaut/http/MediaType;>;
0 8 2 context Lio/micronaut/core/convert/ConversionContext;
3 8 3 str Ljava/lang/String;
6 8 4 e Ljava/lang/IllegalArgumentException;
Exception table:
from to target type
3 4 5 Class java.lang.IllegalArgumentException
private static java.util.Optional lambda$1(io.micronaut.http.HttpRequest);
descriptor: (Lio/micronaut/http/HttpRequest;)Ljava/util/Optional;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokeinterface io.micronaut.http.HttpRequest.getHeaders:()Lio/micronaut/http/HttpHeaders;
invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
areturn
LocalVariableTable:
Start End Slot Name Signature
private static boolean lambda$3(io.micronaut.core.type.Argument);
descriptor: (Lio/micronaut/core/type/Argument;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokeinterface io.micronaut.core.type.Argument.getType:()Ljava/lang/Class;
ldc Ljava/lang/Object;
if_acmpeq 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 arg Lio/micronaut/core/type/Argument<*>;
private static boolean lambda$4(io.micronaut.core.type.Argument);
descriptor: (Lio/micronaut/core/type/Argument;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokeinterface io.micronaut.core.type.Argument.getType:()Ljava/lang/Class;
ldc Ljava/lang/Void;
if_acmpeq 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 arg Lio/micronaut/core/type/Argument<*>;
private static java.util.Optional lambda$5(io.micronaut.http.HttpRequest, java.util.Optional);
descriptor: (Lio/micronaut/http/HttpRequest;Ljava/util/Optional;)Ljava/util/Optional;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=4, locals=2, args_size=2
0: new io.micronaut.http.FullHttpRequest
dup
aload 0
aload 1
invokevirtual java.util.Optional.get:()Ljava/lang/Object;
checkcast io.micronaut.core.type.Argument
invokespecial io.micronaut.http.FullHttpRequest.<init>:(Lio/micronaut/http/HttpRequest;Lio/micronaut/core/type/Argument;)V
invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
areturn
LocalVariableTable:
Start End Slot Name Signature
private static java.util.Optional lambda$6(io.micronaut.http.HttpRequest);
descriptor: (Lio/micronaut/http/HttpRequest;)Ljava/util/Optional;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
areturn
LocalVariableTable:
Start End Slot Name Signature
private static java.util.Optional lambda$8(io.micronaut.http.HttpRequest);
descriptor: (Lio/micronaut/http/HttpRequest;)Ljava/util/Optional;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokeinterface io.micronaut.http.HttpRequest.getParameters:()Lio/micronaut/http/HttpParameters;
invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
areturn
LocalVariableTable:
Start End Slot Name Signature
private static java.util.Optional lambda$10(io.micronaut.http.HttpRequest);
descriptor: (Lio/micronaut/http/HttpRequest;)Ljava/util/Optional;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokeinterface io.micronaut.http.HttpRequest.getCookies:()Lio/micronaut/http/cookie/Cookies;
invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
areturn
LocalVariableTable:
Start End Slot Name Signature
private static java.util.Optional lambda$12(io.micronaut.http.cookie.Cookie);
descriptor: (Lio/micronaut/http/cookie/Cookie;)Ljava/util/Optional;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
ifnull 1
aload 0
invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
goto 2
StackMap locals:
StackMap stack:
1: invokestatic java.util.Optional.empty:()Ljava/util/Optional;
StackMap locals:
StackMap stack: java.util.Optional
2: areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "DefaultRequestBinderRegistry.java"
NestMembers:
io.micronaut.http.bind.DefaultRequestBinderRegistry$TypeAndAnnotation
InnerClasses:
public abstract BindingResult = io.micronaut.core.bind.ArgumentBinder$BindingResult of io.micronaut.core.bind.ArgumentBinder
public final Builder = io.micronaut.core.util.clhm.ConcurrentLinkedHashMap$Builder of io.micronaut.core.util.clhm.ConcurrentLinkedHashMap
private final TypeAndAnnotation = io.micronaut.http.bind.DefaultRequestBinderRegistry$TypeAndAnnotation of io.micronaut.http.bind.DefaultRequestBinderRegistry
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Entry = java.util.Map$Entry of java.util.Map
RuntimeVisibleAnnotations:
javax.inject.Singleton()