public class io.micronaut.web.router.DefaultRouter implements io.micronaut.web.router.Router, io.micronaut.http.filter.HttpServerFilterResolver<io.micronaut.web.router.RouteMatch<?>>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.micronaut.web.router.DefaultRouter
super_class: java.lang.Object
{
private final java.util.Map<java.lang.String, java.util.List<io.micronaut.web.router.UriRoute>> routesByMethod;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Lio/micronaut/web/router/UriRoute;>;>;
private final java.util.List<io.micronaut.web.router.StatusRoute> statusRoutes;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Lio/micronaut/web/router/StatusRoute;>;
private final java.util.Collection<io.micronaut.web.router.FilterRoute> filterRoutes;
descriptor: Ljava/util/Collection;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Collection<Lio/micronaut/web/router/FilterRoute;>;
private final java.util.List<io.micronaut.web.router.ErrorRoute> errorRoutes;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Lio/micronaut/web/router/ErrorRoute;>;
private final java.util.Set<java.lang.Integer> exposedPorts;
descriptor: Ljava/util/Set;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Set<Ljava/lang/Integer;>;
public void <init>(java.util.Collection<io.micronaut.web.router.RouteBuilder>);
descriptor: (Ljava/util/Collection;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield io.micronaut.web.router.DefaultRouter.routesByMethod:Ljava/util/Map;
2: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield io.micronaut.web.router.DefaultRouter.statusRoutes:Ljava/util/List;
3: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield io.micronaut.web.router.DefaultRouter.filterRoutes:Ljava/util/Collection;
4: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield io.micronaut.web.router.DefaultRouter.errorRoutes:Ljava/util/List;
5: new java.util.HashSet
dup
iconst_5
invokespecial java.util.HashSet.<init>:(I)V
astore 2
start local 2 6: aload 1
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
goto 30
StackMap locals: io.micronaut.web.router.DefaultRouter java.util.Collection java.util.Set top java.util.Iterator
StackMap stack:
7: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.micronaut.web.router.RouteBuilder
astore 3
start local 3 8: aload 3
invokeinterface io.micronaut.web.router.RouteBuilder.getUriRoutes:()Ljava/util/List;
astore 5
start local 5 9: aload 5
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 13
StackMap locals: io.micronaut.web.router.DefaultRouter java.util.Collection java.util.Set io.micronaut.web.router.RouteBuilder java.util.Iterator java.util.List top java.util.Iterator
StackMap stack:
10: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.micronaut.web.router.UriRoute
astore 6
start local 6 11: aload 6
invokeinterface io.micronaut.web.router.UriRoute.getHttpMethodName:()Ljava/lang/String;
astore 8
start local 8 12: aload 0
getfield io.micronaut.web.router.DefaultRouter.routesByMethod:Ljava/util/Map;
aload 8
invokedynamic apply()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/web/router/DefaultRouter.lambda$0(Ljava/lang/String;)Ljava/util/List; (6)
(Ljava/lang/String;)Ljava/util/List;
invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
checkcast java.util.List
aload 6
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 8 end local 6 13: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
14: aload 3
invokeinterface io.micronaut.web.router.RouteBuilder.getStatusRoutes:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 20
StackMap locals:
StackMap stack:
15: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.micronaut.web.router.StatusRoute
astore 6
start local 6 16: aload 0
getfield io.micronaut.web.router.DefaultRouter.statusRoutes:Ljava/util/List;
aload 6
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ifeq 19
17: aload 0
getfield io.micronaut.web.router.DefaultRouter.statusRoutes:Ljava/util/List;
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
aload 6
invokedynamic test(Lio/micronaut/web/router/StatusRoute;)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/web/router/DefaultRouter.lambda$1(Lio/micronaut/web/router/StatusRoute;Lio/micronaut/web/router/StatusRoute;)Z (6)
(Lio/micronaut/web/router/StatusRoute;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
invokeinterface java.util.stream.Stream.findFirst:()Ljava/util/Optional;
aconst_null
invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast io.micronaut.web.router.StatusRoute
astore 8
start local 8 18: new io.micronaut.web.router.exceptions.RoutingException
dup
new java.lang.StringBuilder
dup
ldc "Attempted to register multiple local routes for http status ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokeinterface io.micronaut.web.router.StatusRoute.status:()Lio/micronaut/http/HttpStatus;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "]. New route: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ". Existing: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial io.micronaut.web.router.exceptions.RoutingException.<init>:(Ljava/lang/String;)V
athrow
end local 8 19: StackMap locals: io.micronaut.web.router.DefaultRouter java.util.Collection java.util.Set io.micronaut.web.router.RouteBuilder java.util.Iterator java.util.List io.micronaut.web.router.StatusRoute java.util.Iterator
StackMap stack:
aload 0
getfield io.micronaut.web.router.DefaultRouter.statusRoutes:Ljava/util/List;
aload 6
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 6 20: StackMap locals: io.micronaut.web.router.DefaultRouter java.util.Collection java.util.Set io.micronaut.web.router.RouteBuilder java.util.Iterator java.util.List top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 15
21: aload 3
invokeinterface io.micronaut.web.router.RouteBuilder.getErrorRoutes:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 27
StackMap locals:
StackMap stack:
22: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.micronaut.web.router.ErrorRoute
astore 6
start local 6 23: aload 0
getfield io.micronaut.web.router.DefaultRouter.errorRoutes:Ljava/util/List;
aload 6
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ifeq 26
24: aload 0
getfield io.micronaut.web.router.DefaultRouter.errorRoutes:Ljava/util/List;
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
aload 6
invokedynamic test(Lio/micronaut/web/router/ErrorRoute;)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/web/router/DefaultRouter.lambda$2(Lio/micronaut/web/router/ErrorRoute;Lio/micronaut/web/router/ErrorRoute;)Z (6)
(Lio/micronaut/web/router/ErrorRoute;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
invokeinterface java.util.stream.Stream.findFirst:()Ljava/util/Optional;
aconst_null
invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast io.micronaut.web.router.ErrorRoute
astore 8
start local 8 25: new io.micronaut.web.router.exceptions.RoutingException
dup
new java.lang.StringBuilder
dup
ldc "Attempted to register multiple local routes for error ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokeinterface io.micronaut.web.router.ErrorRoute.exceptionType:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]. New route: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ". Existing: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial io.micronaut.web.router.exceptions.RoutingException.<init>:(Ljava/lang/String;)V
athrow
end local 8 26: StackMap locals: io.micronaut.web.router.DefaultRouter java.util.Collection java.util.Set io.micronaut.web.router.RouteBuilder java.util.Iterator java.util.List io.micronaut.web.router.ErrorRoute java.util.Iterator
StackMap stack:
aload 0
getfield io.micronaut.web.router.DefaultRouter.errorRoutes:Ljava/util/List;
aload 6
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 6 27: StackMap locals: io.micronaut.web.router.DefaultRouter java.util.Collection java.util.Set io.micronaut.web.router.RouteBuilder java.util.Iterator java.util.List top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 22
28: aload 0
getfield io.micronaut.web.router.DefaultRouter.filterRoutes:Ljava/util/Collection;
aload 3
invokeinterface io.micronaut.web.router.RouteBuilder.getFilterRoutes:()Ljava/util/List;
invokeinterface java.util.Collection.addAll:(Ljava/util/Collection;)Z
pop
29: aload 2
aload 3
invokeinterface io.micronaut.web.router.RouteBuilder.getExposedPorts:()Ljava/util/Set;
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
end local 5 end local 3 30: StackMap locals: io.micronaut.web.router.DefaultRouter java.util.Collection java.util.Set top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
31: aload 2
invokestatic io.micronaut.core.util.CollectionUtils.isNotEmpty:(Ljava/util/Collection;)Z
ifeq 34
32: aload 0
aload 2
putfield io.micronaut.web.router.DefaultRouter.exposedPorts:Ljava/util/Set;
33: goto 35
34: StackMap locals: io.micronaut.web.router.DefaultRouter java.util.Collection java.util.Set
StackMap stack:
aload 0
invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
putfield io.micronaut.web.router.DefaultRouter.exposedPorts:Ljava/util/Set;
35: StackMap locals:
StackMap stack:
aload 0
getfield io.micronaut.web.router.DefaultRouter.routesByMethod:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
aload 0
invokedynamic accept(Lio/micronaut/web/router/DefaultRouter;)Ljava/util/function/Consumer;
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;)V
io/micronaut/web/router/DefaultRouter.finalizeRoutes(Ljava/util/List;)[Lio/micronaut/web/router/UriRoute; (7)
(Ljava/util/List;)V
invokeinterface java.util.Collection.forEach:(Ljava/util/function/Consumer;)V
36: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Lio/micronaut/web/router/DefaultRouter;
0 37 1 builders Ljava/util/Collection<Lio/micronaut/web/router/RouteBuilder;>;
6 37 2 exposedPorts Ljava/util/Set<Ljava/lang/Integer;>;
8 30 3 builder Lio/micronaut/web/router/RouteBuilder;
9 30 5 constructedRoutes Ljava/util/List<Lio/micronaut/web/router/UriRoute;>;
11 13 6 route Lio/micronaut/web/router/UriRoute;
12 13 8 key Ljava/lang/String;
16 20 6 statusRoute Lio/micronaut/web/router/StatusRoute;
18 19 8 existing Lio/micronaut/web/router/StatusRoute;
23 27 6 errorRoute Lio/micronaut/web/router/ErrorRoute;
25 26 8 existing Lio/micronaut/web/router/ErrorRoute;
Signature: (Ljava/util/Collection<Lio/micronaut/web/router/RouteBuilder;>;)V
RuntimeVisibleAnnotations:
javax.inject.Inject()
MethodParameters:
Name Flags
builders
public void <init>(io.micronaut.web.router.RouteBuilder[]);
descriptor: ([Lio/micronaut/web/router/RouteBuilder;)V
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokespecial io.micronaut.web.router.DefaultRouter.<init>:(Ljava/util/Collection;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/micronaut/web/router/DefaultRouter;
0 2 1 builders [Lio/micronaut/web/router/RouteBuilder;
MethodParameters:
Name Flags
builders
public java.util.Set<java.lang.Integer> getExposedPorts();
descriptor: ()Ljava/util/Set;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.micronaut.web.router.DefaultRouter.exposedPorts:Ljava/util/Set;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/micronaut/web/router/DefaultRouter;
Signature: ()Ljava/util/Set<Ljava/lang/Integer;>;
public void applyDefaultPorts(java.util.List<java.lang.Integer>);
descriptor: (Ljava/util/List;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokedynamic test(Ljava/util/List;)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/web/router/DefaultRouter.lambda$4(Ljava/util/List;Lio/micronaut/http/HttpRequest;)Z (6)
(Lio/micronaut/http/HttpRequest;)Z
astore 2
start local 2 1: aload 0
getfield io.micronaut.web.router.DefaultRouter.routesByMethod:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
aload 2
invokedynamic accept(Ljava/util/function/Predicate;)Ljava/util/function/Consumer;
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;)V
io/micronaut/web/router/DefaultRouter.lambda$5(Ljava/util/function/Predicate;Ljava/util/List;)V (6)
(Ljava/util/List;)V
invokeinterface java.util.Collection.forEach:(Ljava/util/function/Consumer;)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/micronaut/web/router/DefaultRouter;
0 3 1 ports Ljava/util/List<Ljava/lang/Integer;>;
1 3 2 portMatches Ljava/util/function/Predicate<Lio/micronaut/http/HttpRequest<*>;>;
Signature: (Ljava/util/List<Ljava/lang/Integer;>;)V
MethodParameters:
Name Flags
ports
public <T, R> java.util.stream.Stream<io.micronaut.web.router.UriRouteMatch<T, R>> find(io.micronaut.http.HttpRequest<?>, java.lang.CharSequence);
descriptor: (Lio/micronaut/http/HttpRequest;Ljava/lang/CharSequence;)Ljava/util/stream/Stream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokeinterface io.micronaut.http.HttpRequest.getMethodName:()Ljava/lang/String;
aload 2
invokevirtual io.micronaut.web.router.DefaultRouter.find:(Ljava/lang/String;Ljava/lang/CharSequence;)Ljava/util/List;
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/micronaut/web/router/DefaultRouter;
0 1 1 request Lio/micronaut/http/HttpRequest<*>;
0 1 2 uri Ljava/lang/CharSequence;
Signature: <T:Ljava/lang/Object;R:Ljava/lang/Object;>(Lio/micronaut/http/HttpRequest<*>;Ljava/lang/CharSequence;)Ljava/util/stream/Stream<Lio/micronaut/web/router/UriRouteMatch<TT;TR;>;>;
RuntimeInvisibleAnnotations:
edu.umd.cs.findbugs.annotations.NonNull()
RuntimeInvisibleParameterAnnotations:
0:
edu.umd.cs.findbugs.annotations.NonNull()
1:
edu.umd.cs.findbugs.annotations.NonNull()
MethodParameters:
Name Flags
request
uri
public <T, R> java.util.stream.Stream<io.micronaut.web.router.UriRouteMatch<T, R>> find(io.micronaut.http.HttpRequest<?>);
descriptor: (Lio/micronaut/http/HttpRequest;)Ljava/util/stream/Stream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface io.micronaut.http.HttpRequest.getMethod:()Lio/micronaut/http/HttpMethod;
invokestatic io.micronaut.http.HttpMethod.permitsRequestBody:(Lio/micronaut/http/HttpMethod;)Z
istore 2
start local 2 1: aload 0
aload 1
aload 1
invokeinterface io.micronaut.http.HttpRequest.getPath:()Ljava/lang/String;
invokevirtual io.micronaut.web.router.DefaultRouter.find:(Lio/micronaut/http/HttpRequest;Ljava/lang/CharSequence;)Ljava/util/stream/Stream;
2: aload 1
iload 2
invokedynamic test(Lio/micronaut/http/HttpRequest;Z)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/web/router/DefaultRouter.lambda$6(Lio/micronaut/http/HttpRequest;ZLio/micronaut/web/router/UriRouteMatch;)Z (6)
(Lio/micronaut/web/router/UriRouteMatch;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
3: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/micronaut/web/router/DefaultRouter;
0 4 1 request Lio/micronaut/http/HttpRequest<*>;
1 4 2 permitsBody Z
Signature: <T:Ljava/lang/Object;R:Ljava/lang/Object;>(Lio/micronaut/http/HttpRequest<*>;)Ljava/util/stream/Stream<Lio/micronaut/web/router/UriRouteMatch<TT;TR;>;>;
RuntimeInvisibleAnnotations:
edu.umd.cs.findbugs.annotations.NonNull()
RuntimeInvisibleParameterAnnotations:
0:
edu.umd.cs.findbugs.annotations.NonNull()
MethodParameters:
Name Flags
request
public <T, R> java.util.stream.Stream<io.micronaut.web.router.UriRouteMatch<T, R>> find(io.micronaut.http.HttpMethod, java.lang.CharSequence, io.micronaut.http.HttpRequest<?>);
descriptor: (Lio/micronaut/http/HttpMethod;Ljava/lang/CharSequence;Lio/micronaut/http/HttpRequest;)Ljava/util/stream/Stream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokevirtual io.micronaut.http.HttpMethod.name:()Ljava/lang/String;
aload 2
invokevirtual io.micronaut.web.router.DefaultRouter.find:(Ljava/lang/String;Ljava/lang/CharSequence;)Ljava/util/List;
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/micronaut/web/router/DefaultRouter;
0 1 1 httpMethod Lio/micronaut/http/HttpMethod;
0 1 2 uri Ljava/lang/CharSequence;
0 1 3 context Lio/micronaut/http/HttpRequest<*>;
Signature: <T:Ljava/lang/Object;R:Ljava/lang/Object;>(Lio/micronaut/http/HttpMethod;Ljava/lang/CharSequence;Lio/micronaut/http/HttpRequest<*>;)Ljava/util/stream/Stream<Lio/micronaut/web/router/UriRouteMatch<TT;TR;>;>;
RuntimeInvisibleAnnotations:
edu.umd.cs.findbugs.annotations.NonNull()
RuntimeInvisibleParameterAnnotations:
0:
edu.umd.cs.findbugs.annotations.NonNull()
1:
edu.umd.cs.findbugs.annotations.NonNull()
2:
edu.umd.cs.findbugs.annotations.Nullable()
MethodParameters:
Name Flags
httpMethod
uri
context
public java.util.stream.Stream<io.micronaut.web.router.UriRoute> uriRoutes();
descriptor: ()Ljava/util/stream/Stream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.micronaut.web.router.DefaultRouter.routesByMethod:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
invokedynamic apply()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;
java/util/Collection.stream()Ljava/util/stream/Stream; (9 itf)
(Ljava/util/List;)Ljava/util/stream/Stream;
invokeinterface java.util.stream.Stream.flatMap:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/micronaut/web/router/DefaultRouter;
Signature: ()Ljava/util/stream/Stream<Lio/micronaut/web/router/UriRoute;>;
RuntimeInvisibleAnnotations:
edu.umd.cs.findbugs.annotations.NonNull()
public <T, R> java.util.List<io.micronaut.web.router.UriRouteMatch<T, R>> findAllClosest(io.micronaut.http.HttpRequest<?>);
descriptor: (Lio/micronaut/http/HttpRequest;)Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=20, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface io.micronaut.http.HttpRequest.getMethod:()Lio/micronaut/http/HttpMethod;
astore 2
start local 2 1: aload 1
invokeinterface io.micronaut.http.HttpRequest.getContentType:()Ljava/util/Optional;
aconst_null
invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast io.micronaut.http.MediaType
astore 3
start local 3 2: aload 2
invokestatic io.micronaut.http.HttpMethod.permitsRequestBody:(Lio/micronaut/http/HttpMethod;)Z
istore 4
start local 4 3: aload 1
invokeinterface io.micronaut.http.HttpRequest.accept:()Ljava/util/Collection;
astore 5
start local 5 4: aload 0
aload 1
invokeinterface io.micronaut.http.HttpRequest.getMethodName:()Ljava/lang/String;
aload 1
invokeinterface io.micronaut.http.HttpRequest.getPath:()Ljava/lang/String;
invokevirtual io.micronaut.web.router.DefaultRouter.find:(Ljava/lang/String;Ljava/lang/CharSequence;)Ljava/util/List;
astore 6
start local 6 5: aload 6
aload 1
iload 4
aload 3
aload 5
invokedynamic test(Lio/micronaut/http/HttpRequest;ZLio/micronaut/http/MediaType;Ljava/util/Collection;)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/web/router/DefaultRouter.lambda$8(Lio/micronaut/http/HttpRequest;ZLio/micronaut/http/MediaType;Ljava/util/Collection;Lio/micronaut/web/router/UriRouteMatch;)Z (6)
(Lio/micronaut/web/router/UriRouteMatch;)Z
invokeinterface java.util.List.removeIf:(Ljava/util/function/Predicate;)Z
pop
6: aload 6
invokeinterface java.util.List.size:()I
istore 7
start local 7 7: iload 7
iconst_1
if_icmpgt 9
8: aload 6
areturn
9: StackMap locals: io.micronaut.web.router.DefaultRouter io.micronaut.http.HttpRequest io.micronaut.http.HttpMethod io.micronaut.http.MediaType int java.util.Collection java.util.List int
StackMap stack:
aload 5
invokestatic io.micronaut.core.util.CollectionUtils.isNotEmpty:(Ljava/util/Collection;)Z
ifeq 17
10: aload 5
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.micronaut.http.MediaType
astore 8
start local 8 11: aload 6
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
12: aload 8
invokedynamic test(Lio/micronaut/http/MediaType;)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/web/router/DefaultRouter.lambda$9(Lio/micronaut/http/MediaType;Lio/micronaut/web/router/UriRouteMatch;)Z (6)
(Lio/micronaut/web/router/UriRouteMatch;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
13: invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.util.List
14: astore 9
start local 9 15: aload 9
invokeinterface java.util.List.isEmpty:()Z
ifeq 16
aload 5
getstatic io.micronaut.http.MediaType.ALL_TYPE:Lio/micronaut/http/MediaType;
invokeinterface java.util.Collection.contains:(Ljava/lang/Object;)Z
ifne 17
16: StackMap locals: io.micronaut.http.MediaType java.util.List
StackMap stack:
aload 9
astore 6
end local 9 end local 8 17: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.List.size:()I
istore 7
18: iload 7
iconst_1
if_icmple 33
iload 4
ifeq 33
19: new java.util.ArrayList
dup
iload 7
invokespecial java.util.ArrayList.<init>:(I)V
astore 8
start local 8 20: new java.util.ArrayList
dup
iload 7
invokespecial java.util.ArrayList.<init>:(I)V
astore 9
start local 9 21: aload 6
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 11
goto 29
StackMap locals: io.micronaut.web.router.DefaultRouter io.micronaut.http.HttpRequest io.micronaut.http.HttpMethod io.micronaut.http.MediaType int java.util.Collection java.util.List int java.util.List java.util.List top java.util.Iterator
StackMap stack:
22: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.micronaut.web.router.UriRouteMatch
astore 10
start local 10 23: aload 10
aload 3
ifnull 24
aload 3
goto 25
StackMap locals: io.micronaut.web.router.DefaultRouter io.micronaut.http.HttpRequest io.micronaut.http.HttpMethod io.micronaut.http.MediaType int java.util.Collection java.util.List int java.util.List java.util.List io.micronaut.web.router.UriRouteMatch java.util.Iterator
StackMap stack: io.micronaut.web.router.UriRouteMatch
24: getstatic io.micronaut.http.MediaType.ALL_TYPE:Lio/micronaut/http/MediaType;
StackMap locals: io.micronaut.web.router.DefaultRouter io.micronaut.http.HttpRequest io.micronaut.http.HttpMethod io.micronaut.http.MediaType int java.util.Collection java.util.List int java.util.List java.util.List io.micronaut.web.router.UriRouteMatch java.util.Iterator
StackMap stack: io.micronaut.web.router.UriRouteMatch io.micronaut.http.MediaType
25: invokeinterface io.micronaut.web.router.UriRouteMatch.explicitlyConsumes:(Lio/micronaut/http/MediaType;)Z
ifeq 27
26: aload 8
aload 10
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
27: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.List.isEmpty:()Z
ifeq 29
aload 10
aload 3
invokeinterface io.micronaut.web.router.UriRouteMatch.doesConsume:(Lio/micronaut/http/MediaType;)Z
ifeq 29
28: aload 9
aload 10
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 10 29: StackMap locals: io.micronaut.web.router.DefaultRouter io.micronaut.http.HttpRequest io.micronaut.http.HttpMethod io.micronaut.http.MediaType int java.util.Collection java.util.List int java.util.List java.util.List top java.util.Iterator
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 22
30: aload 8
invokeinterface java.util.List.isEmpty:()Z
ifeq 31
aload 9
goto 32
StackMap locals: io.micronaut.web.router.DefaultRouter io.micronaut.http.HttpRequest io.micronaut.http.HttpMethod io.micronaut.http.MediaType int java.util.Collection java.util.List int java.util.List java.util.List
StackMap stack:
31: aload 8
StackMap locals:
StackMap stack: java.util.List
32: astore 6
end local 9 end local 8 33: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.List.size:()I
istore 7
34: iload 7
iconst_1
if_icmple 53
35: lconst_0
lstore 8
start local 8 36: lconst_0
lstore 10
start local 10 37: new java.util.ArrayList
dup
iload 7
invokespecial java.util.ArrayList.<init>:(I)V
astore 12
start local 12 38: iconst_0
istore 13
start local 13 39: goto 51
40: StackMap locals: io.micronaut.web.router.DefaultRouter io.micronaut.http.HttpRequest io.micronaut.http.HttpMethod io.micronaut.http.MediaType int java.util.Collection java.util.List int long long java.util.List int
StackMap stack:
aload 6
iload 13
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast io.micronaut.web.router.UriRouteMatch
astore 14
start local 14 41: aload 14
invokeinterface io.micronaut.web.router.UriRouteMatch.getRoute:()Lio/micronaut/web/router/UriRoute;
invokeinterface io.micronaut.web.router.UriRoute.getUriMatchTemplate:()Lio/micronaut/http/uri/UriMatchTemplate;
astore 15
start local 15 42: aload 15
invokevirtual io.micronaut.http.uri.UriMatchTemplate.getPathVariableSegmentCount:()J
lstore 16
start local 16 43: aload 15
invokevirtual io.micronaut.http.uri.UriMatchTemplate.getRawSegmentLength:()I
i2l
lstore 18
start local 18 44: iload 13
ifne 47
45: lload 16
lstore 8
46: lload 18
lstore 10
47: StackMap locals: io.micronaut.web.router.DefaultRouter io.micronaut.http.HttpRequest io.micronaut.http.HttpMethod io.micronaut.http.MediaType int java.util.Collection java.util.List int long long java.util.List int io.micronaut.web.router.UriRouteMatch io.micronaut.http.uri.UriMatchTemplate long long
StackMap stack:
lload 16
lload 8
lcmp
ifgt 52
lload 18
lload 10
lcmp
ifge 49
48: goto 52
49: StackMap locals:
StackMap stack:
aload 12
aload 14
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 18 end local 16 end local 15 end local 14 50: iinc 13 1
StackMap locals: io.micronaut.web.router.DefaultRouter io.micronaut.http.HttpRequest io.micronaut.http.HttpMethod io.micronaut.http.MediaType int java.util.Collection java.util.List int long long java.util.List int
StackMap stack:
51: iload 13
iload 7
if_icmplt 40
end local 13 52: StackMap locals:
StackMap stack:
aload 12
astore 6
end local 12 end local 10 end local 8 53: StackMap locals:
StackMap stack:
aload 6
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 54 0 this Lio/micronaut/web/router/DefaultRouter;
0 54 1 request Lio/micronaut/http/HttpRequest<*>;
1 54 2 httpMethod Lio/micronaut/http/HttpMethod;
2 54 3 contentType Lio/micronaut/http/MediaType;
3 54 4 permitsBody Z
4 54 5 acceptedProducedTypes Ljava/util/Collection<Lio/micronaut/http/MediaType;>;
5 54 6 uriRoutes Ljava/util/List<Lio/micronaut/web/router/UriRouteMatch<TT;TR;>;>;
7 54 7 routeCount I
11 17 8 mediaType Lio/micronaut/http/MediaType;
15 17 9 mostSpecific Ljava/util/List<Lio/micronaut/web/router/UriRouteMatch<TT;TR;>;>;
20 33 8 explicitlyConsumedRoutes Ljava/util/List<Lio/micronaut/web/router/UriRouteMatch<TT;TR;>;>;
21 33 9 consumesRoutes Ljava/util/List<Lio/micronaut/web/router/UriRouteMatch<TT;TR;>;>;
23 29 10 match Lio/micronaut/web/router/UriRouteMatch<TT;TR;>;
36 53 8 variableCount J
37 53 10 rawLength J
38 53 12 closestMatches Ljava/util/List<Lio/micronaut/web/router/UriRouteMatch<TT;TR;>;>;
39 52 13 i I
41 50 14 match Lio/micronaut/web/router/UriRouteMatch<TT;TR;>;
42 50 15 template Lio/micronaut/http/uri/UriMatchTemplate;
43 50 16 variable J
44 50 18 raw J
Signature: <T:Ljava/lang/Object;R:Ljava/lang/Object;>(Lio/micronaut/http/HttpRequest<*>;)Ljava/util/List<Lio/micronaut/web/router/UriRouteMatch<TT;TR;>;>;
RuntimeInvisibleAnnotations:
edu.umd.cs.findbugs.annotations.NonNull()
RuntimeInvisibleParameterAnnotations:
0:
edu.umd.cs.findbugs.annotations.NonNull()
MethodParameters:
Name Flags
request
public <T, R> java.util.Optional<io.micronaut.web.router.UriRouteMatch<T, R>> route(io.micronaut.http.HttpMethod, java.lang.CharSequence);
descriptor: (Lio/micronaut/http/HttpMethod;Ljava/lang/CharSequence;)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 0
getfield io.micronaut.web.router.DefaultRouter.routesByMethod:Ljava/util/Map;
aload 1
invokevirtual io.micronaut.http.HttpMethod.name:()Ljava/lang/String;
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
invokeinterface java.util.Map.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 3
start local 3 1: aload 3
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
2: aload 2
invokedynamic apply(Ljava/lang/CharSequence;)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/web/router/DefaultRouter.lambda$10(Ljava/lang/CharSequence;Lio/micronaut/web/router/UriRoute;)Ljava/util/Optional; (6)
(Lio/micronaut/web/router/UriRoute;)Ljava/util/Optional;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
3: 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
java/util/Optional.isPresent()Z (5)
(Ljava/util/Optional;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
4: invokedynamic apply()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;
java/util/Optional.get()Ljava/lang/Object; (5)
(Ljava/util/Optional;)Lio/micronaut/web/router/UriRouteMatch;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
5: invokeinterface java.util.stream.Stream.findFirst:()Ljava/util/Optional;
6: astore 4
start local 4 7: aload 4
aconst_null
invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast io.micronaut.web.router.UriRouteMatch
astore 5
start local 5 8: aload 5
invokestatic java.util.Optional.ofNullable:(Ljava/lang/Object;)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 9 0 this Lio/micronaut/web/router/DefaultRouter;
0 9 1 httpMethod Lio/micronaut/http/HttpMethod;
0 9 2 uri Ljava/lang/CharSequence;
1 9 3 routes Ljava/util/List<Lio/micronaut/web/router/UriRoute;>;
7 9 4 result Ljava/util/Optional<Lio/micronaut/web/router/UriRouteMatch;>;
8 9 5 match Lio/micronaut/web/router/UriRouteMatch;
Signature: <T:Ljava/lang/Object;R:Ljava/lang/Object;>(Lio/micronaut/http/HttpMethod;Ljava/lang/CharSequence;)Ljava/util/Optional<Lio/micronaut/web/router/UriRouteMatch<TT;TR;>;>;
RuntimeInvisibleAnnotations:
edu.umd.cs.findbugs.annotations.NonNull()
RuntimeInvisibleParameterAnnotations:
0:
edu.umd.cs.findbugs.annotations.NonNull()
1:
edu.umd.cs.findbugs.annotations.NonNull()
MethodParameters:
Name Flags
httpMethod
uri
public <R> java.util.Optional<io.micronaut.web.router.RouteMatch<R>> route(io.micronaut.http.HttpStatus);
descriptor: (Lio/micronaut/http/HttpStatus;)Ljava/util/Optional;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield io.micronaut.web.router.DefaultRouter.statusRoutes:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 6
StackMap locals: io.micronaut.web.router.DefaultRouter io.micronaut.http.HttpStatus top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.micronaut.web.router.StatusRoute
astore 2
start local 2 2: aload 2
invokeinterface io.micronaut.web.router.StatusRoute.originatingType:()Ljava/lang/Class;
ifnonnull 6
3: aload 2
aload 1
invokeinterface io.micronaut.web.router.StatusRoute.match:(Lio/micronaut/http/HttpStatus;)Ljava/util/Optional;
astore 4
start local 4 4: aload 4
invokevirtual java.util.Optional.isPresent:()Z
ifeq 6
5: aload 4
areturn
end local 4 end local 2 6: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
7: invokestatic java.util.Optional.empty:()Ljava/util/Optional;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/micronaut/web/router/DefaultRouter;
0 8 1 status Lio/micronaut/http/HttpStatus;
2 6 2 statusRoute Lio/micronaut/web/router/StatusRoute;
4 6 4 match Ljava/util/Optional<Lio/micronaut/web/router/RouteMatch<TR;>;>;
Signature: <R:Ljava/lang/Object;>(Lio/micronaut/http/HttpStatus;)Ljava/util/Optional<Lio/micronaut/web/router/RouteMatch<TR;>;>;
RuntimeInvisibleParameterAnnotations:
0:
edu.umd.cs.findbugs.annotations.NonNull()
MethodParameters:
Name Flags
status
public <R> java.util.Optional<io.micronaut.web.router.RouteMatch<R>> route(java.lang.Class, io.micronaut.http.HttpStatus);
descriptor: (Ljava/lang/Class;Lio/micronaut/http/HttpStatus;)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 0
getfield io.micronaut.web.router.DefaultRouter.statusRoutes:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 5
StackMap locals: io.micronaut.web.router.DefaultRouter java.lang.Class io.micronaut.http.HttpStatus top java.util.Iterator
StackMap stack:
1: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.micronaut.web.router.StatusRoute
astore 3
start local 3 2: aload 3
aload 1
aload 2
invokeinterface io.micronaut.web.router.StatusRoute.match:(Ljava/lang/Class;Lio/micronaut/http/HttpStatus;)Ljava/util/Optional;
astore 5
start local 5 3: aload 5
invokevirtual java.util.Optional.isPresent:()Z
ifeq 5
4: aload 5
areturn
end local 5 end local 3 5: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
6: invokestatic java.util.Optional.empty:()Ljava/util/Optional;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/micronaut/web/router/DefaultRouter;
0 7 1 originatingClass Ljava/lang/Class;
0 7 2 status Lio/micronaut/http/HttpStatus;
2 5 3 statusRoute Lio/micronaut/web/router/StatusRoute;
3 5 5 match Ljava/util/Optional<Lio/micronaut/web/router/RouteMatch<TR;>;>;
Signature: <R:Ljava/lang/Object;>(Ljava/lang/Class;Lio/micronaut/http/HttpStatus;)Ljava/util/Optional<Lio/micronaut/web/router/RouteMatch<TR;>;>;
RuntimeInvisibleParameterAnnotations:
0:
edu.umd.cs.findbugs.annotations.NonNull()
1:
edu.umd.cs.findbugs.annotations.NonNull()
MethodParameters:
Name Flags
originatingClass
status
public <R> java.util.Optional<io.micronaut.web.router.RouteMatch<R>> route(java.lang.Class, java.lang.Throwable);
descriptor: (Ljava/lang/Class;Ljava/lang/Throwable;)Ljava/util/Optional;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=3
start local 0 start local 1 start local 2 0: new java.util.LinkedHashMap
dup
invokespecial java.util.LinkedHashMap.<init>:()V
astore 3
start local 3 1: aload 0
getfield io.micronaut.web.router.DefaultRouter.errorRoutes:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 5
StackMap locals: io.micronaut.web.router.DefaultRouter java.lang.Class java.lang.Throwable java.util.Map top java.util.Iterator
StackMap stack:
2: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.micronaut.web.router.ErrorRoute
astore 4
start local 4 3: aload 4
aload 1
aload 2
invokeinterface io.micronaut.web.router.ErrorRoute.match:(Ljava/lang/Class;Ljava/lang/Throwable;)Ljava/util/Optional;
astore 6
start local 6 4: aload 6
aload 3
aload 4
invokedynamic accept(Ljava/util/Map;Lio/micronaut/web/router/ErrorRoute;)Ljava/util/function/Consumer;
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;)V
io/micronaut/web/router/DefaultRouter.lambda$13(Ljava/util/Map;Lio/micronaut/web/router/ErrorRoute;Lio/micronaut/web/router/RouteMatch;)V (6)
(Lio/micronaut/web/router/RouteMatch;)V
invokevirtual java.util.Optional.ifPresent:(Ljava/util/function/Consumer;)V
end local 6 end local 4 5: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
6: aload 0
aload 3
aload 2
invokevirtual io.micronaut.web.router.DefaultRouter.findRouteMatch:(Ljava/util/Map;Ljava/lang/Throwable;)Ljava/util/Optional;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/micronaut/web/router/DefaultRouter;
0 7 1 originatingClass Ljava/lang/Class;
0 7 2 error Ljava/lang/Throwable;
1 7 3 matchedRoutes Ljava/util/Map<Lio/micronaut/web/router/ErrorRoute;Lio/micronaut/web/router/RouteMatch<TR;>;>;
3 5 4 errorRoute Lio/micronaut/web/router/ErrorRoute;
4 5 6 match Ljava/util/Optional<Lio/micronaut/web/router/RouteMatch<TR;>;>;
Signature: <R:Ljava/lang/Object;>(Ljava/lang/Class;Ljava/lang/Throwable;)Ljava/util/Optional<Lio/micronaut/web/router/RouteMatch<TR;>;>;
RuntimeInvisibleParameterAnnotations:
0:
edu.umd.cs.findbugs.annotations.NonNull()
1:
edu.umd.cs.findbugs.annotations.NonNull()
MethodParameters:
Name Flags
originatingClass
error
public <R> java.util.Optional<io.micronaut.web.router.RouteMatch<R>> findErrorRoute(java.lang.Class<?>, java.lang.Throwable, io.micronaut.http.HttpRequest<?>);
descriptor: (Ljava/lang/Class;Ljava/lang/Throwable;Lio/micronaut/http/HttpRequest;)Ljava/util/Optional;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
invokevirtual io.micronaut.web.router.DefaultRouter.findErrorRouteInternal:(Ljava/lang/Class;Ljava/lang/Throwable;Lio/micronaut/http/HttpRequest;)Ljava/util/Optional;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/micronaut/web/router/DefaultRouter;
0 1 1 originatingClass Ljava/lang/Class<*>;
0 1 2 error Ljava/lang/Throwable;
0 1 3 request Lio/micronaut/http/HttpRequest<*>;
Signature: <R:Ljava/lang/Object;>(Ljava/lang/Class<*>;Ljava/lang/Throwable;Lio/micronaut/http/HttpRequest<*>;)Ljava/util/Optional<Lio/micronaut/web/router/RouteMatch<TR;>;>;
RuntimeInvisibleParameterAnnotations:
0:
edu.umd.cs.findbugs.annotations.NonNull()
1:
edu.umd.cs.findbugs.annotations.NonNull()
2:
MethodParameters:
Name Flags
originatingClass
error
request
private <R> java.util.Optional<io.micronaut.web.router.RouteMatch<R>> findErrorRouteInternal(java.lang.Class<?>, java.lang.Throwable, io.micronaut.http.HttpRequest<?>);
descriptor: (Ljava/lang/Class;Ljava/lang/Throwable;Lio/micronaut/http/HttpRequest;)Ljava/util/Optional;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=12, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
invokeinterface io.micronaut.http.HttpRequest.accept:()Ljava/util/Collection;
astore 4
start local 4 1: aload 4
invokestatic io.micronaut.core.util.CollectionUtils.isNotEmpty:(Ljava/util/Collection;)Z
istore 5
start local 5 2: iload 5
ifeq 13
3: new java.util.LinkedHashMap
dup
invokespecial java.util.LinkedHashMap.<init>:()V
astore 6
start local 6 4: aload 0
getfield io.micronaut.web.router.DefaultRouter.errorRoutes:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 11
StackMap locals: io.micronaut.web.router.DefaultRouter java.lang.Class java.lang.Throwable io.micronaut.http.HttpRequest java.util.Collection int java.util.Map top java.util.Iterator
StackMap stack:
5: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.micronaut.web.router.ErrorRoute
astore 7
start local 7 6: aload 7
7: aload 1
aload 2
invokeinterface io.micronaut.web.router.ErrorRoute.match:(Ljava/lang/Class;Ljava/lang/Throwable;)Ljava/util/Optional;
aconst_null
invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast io.micronaut.web.router.RouteMatch
8: astore 9
start local 9 9: aload 9
ifnull 11
aload 9
aload 4
invokeinterface io.micronaut.web.router.RouteMatch.doesProduce:(Ljava/util/Collection;)Z
ifeq 11
10: aload 6
aload 7
aload 9
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 9 end local 7 11: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
12: aload 0
aload 6
aload 2
invokevirtual io.micronaut.web.router.DefaultRouter.findRouteMatch:(Ljava/util/Map;Ljava/lang/Throwable;)Ljava/util/Optional;
areturn
end local 6 13: StackMap locals: io.micronaut.web.router.DefaultRouter java.lang.Class java.lang.Throwable io.micronaut.http.HttpRequest java.util.Collection int
StackMap stack:
new java.util.LinkedHashMap
dup
invokespecial java.util.LinkedHashMap.<init>:()V
astore 6
start local 6 14: new java.util.LinkedHashMap
dup
invokespecial java.util.LinkedHashMap.<init>:()V
astore 7
start local 7 15: aload 0
getfield io.micronaut.web.router.DefaultRouter.errorRoutes:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 9
goto 26
StackMap locals: io.micronaut.web.router.DefaultRouter java.lang.Class java.lang.Throwable io.micronaut.http.HttpRequest java.util.Collection int java.util.Map java.util.Map top java.util.Iterator
StackMap stack:
16: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.micronaut.web.router.ErrorRoute
astore 8
start local 8 17: aload 8
18: aload 1
aload 2
invokeinterface io.micronaut.web.router.ErrorRoute.match:(Ljava/lang/Class;Ljava/lang/Throwable;)Ljava/util/Optional;
aconst_null
invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast io.micronaut.web.router.RouteMatch
19: astore 10
start local 10 20: aload 10
ifnull 26
21: aload 10
invokeinterface io.micronaut.web.router.RouteMatch.getProduces:()Ljava/util/List;
astore 11
start local 11 22: aload 11
invokestatic io.micronaut.core.util.CollectionUtils.isEmpty:(Ljava/util/Collection;)Z
ifne 23
aload 11
getstatic io.micronaut.http.MediaType.ALL_TYPE:Lio/micronaut/http/MediaType;
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ifeq 25
23: StackMap locals: io.micronaut.web.router.DefaultRouter java.lang.Class java.lang.Throwable io.micronaut.http.HttpRequest java.util.Collection int java.util.Map java.util.Map io.micronaut.web.router.ErrorRoute java.util.Iterator io.micronaut.web.router.RouteMatch java.util.List
StackMap stack:
aload 6
aload 8
aload 10
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
24: goto 26
25: StackMap locals:
StackMap stack:
aload 7
aload 8
aload 10
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 11 end local 10 end local 8 26: StackMap locals: io.micronaut.web.router.DefaultRouter java.lang.Class java.lang.Throwable io.micronaut.http.HttpRequest java.util.Collection int java.util.Map java.util.Map top java.util.Iterator
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 16
27: aload 6
invokeinterface java.util.Map.isEmpty:()Z
ifeq 29
28: aload 0
aload 7
aload 2
invokevirtual io.micronaut.web.router.DefaultRouter.findRouteMatch:(Ljava/util/Map;Ljava/lang/Throwable;)Ljava/util/Optional;
areturn
29: StackMap locals: io.micronaut.web.router.DefaultRouter java.lang.Class java.lang.Throwable io.micronaut.http.HttpRequest java.util.Collection int java.util.Map java.util.Map
StackMap stack:
aload 0
aload 6
aload 2
invokevirtual io.micronaut.web.router.DefaultRouter.findRouteMatch:(Ljava/util/Map;Ljava/lang/Throwable;)Ljava/util/Optional;
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lio/micronaut/web/router/DefaultRouter;
0 30 1 originatingClass Ljava/lang/Class<*>;
0 30 2 error Ljava/lang/Throwable;
0 30 3 request Lio/micronaut/http/HttpRequest<*>;
1 30 4 accept Ljava/util/Collection<Lio/micronaut/http/MediaType;>;
2 30 5 hasAcceptHeader Z
4 13 6 matchedRoutes Ljava/util/Map<Lio/micronaut/web/router/ErrorRoute;Lio/micronaut/web/router/RouteMatch<TR;>;>;
6 11 7 errorRoute Lio/micronaut/web/router/ErrorRoute;
9 11 9 match Lio/micronaut/web/router/RouteMatch<TR;>;
14 30 6 producesAllMatchedRoutes Ljava/util/Map<Lio/micronaut/web/router/ErrorRoute;Lio/micronaut/web/router/RouteMatch<TR;>;>;
15 30 7 producesSpecificMatchedRoutes Ljava/util/Map<Lio/micronaut/web/router/ErrorRoute;Lio/micronaut/web/router/RouteMatch<TR;>;>;
17 26 8 errorRoute Lio/micronaut/web/router/ErrorRoute;
20 26 10 match Lio/micronaut/web/router/RouteMatch<TR;>;
22 26 11 produces Ljava/util/List<Lio/micronaut/http/MediaType;>;
Signature: <R:Ljava/lang/Object;>(Ljava/lang/Class<*>;Ljava/lang/Throwable;Lio/micronaut/http/HttpRequest<*>;)Ljava/util/Optional<Lio/micronaut/web/router/RouteMatch<TR;>;>;
RuntimeInvisibleParameterAnnotations:
0:
edu.umd.cs.findbugs.annotations.Nullable()
1:
edu.umd.cs.findbugs.annotations.NonNull()
2:
MethodParameters:
Name Flags
originatingClass
error
request
public <R> java.util.Optional<io.micronaut.web.router.RouteMatch<R>> findErrorRoute(java.lang.Throwable, io.micronaut.http.HttpRequest<?>);
descriptor: (Ljava/lang/Throwable;Lio/micronaut/http/HttpRequest;)Ljava/util/Optional;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aconst_null
aload 1
aload 2
invokevirtual io.micronaut.web.router.DefaultRouter.findErrorRouteInternal:(Ljava/lang/Class;Ljava/lang/Throwable;Lio/micronaut/http/HttpRequest;)Ljava/util/Optional;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/micronaut/web/router/DefaultRouter;
0 1 1 error Ljava/lang/Throwable;
0 1 2 request Lio/micronaut/http/HttpRequest<*>;
Signature: <R:Ljava/lang/Object;>(Ljava/lang/Throwable;Lio/micronaut/http/HttpRequest<*>;)Ljava/util/Optional<Lio/micronaut/web/router/RouteMatch<TR;>;>;
RuntimeInvisibleParameterAnnotations:
0:
edu.umd.cs.findbugs.annotations.NonNull()
1:
MethodParameters:
Name Flags
error
request
public <R> java.util.Optional<io.micronaut.web.router.RouteMatch<R>> findStatusRoute(java.lang.Class<?>, io.micronaut.http.HttpStatus, io.micronaut.http.HttpRequest<?>);
descriptor: (Ljava/lang/Class;Lio/micronaut/http/HttpStatus;Lio/micronaut/http/HttpRequest;)Ljava/util/Optional;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
invokevirtual io.micronaut.web.router.DefaultRouter.findStatusInternal:(Ljava/lang/Class;Lio/micronaut/http/HttpStatus;Lio/micronaut/http/HttpRequest;)Ljava/util/Optional;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/micronaut/web/router/DefaultRouter;
0 1 1 originatingClass Ljava/lang/Class<*>;
0 1 2 status Lio/micronaut/http/HttpStatus;
0 1 3 request Lio/micronaut/http/HttpRequest<*>;
Signature: <R:Ljava/lang/Object;>(Ljava/lang/Class<*>;Lio/micronaut/http/HttpStatus;Lio/micronaut/http/HttpRequest<*>;)Ljava/util/Optional<Lio/micronaut/web/router/RouteMatch<TR;>;>;
RuntimeInvisibleParameterAnnotations:
0:
edu.umd.cs.findbugs.annotations.NonNull()
1:
edu.umd.cs.findbugs.annotations.NonNull()
2:
MethodParameters:
Name Flags
originatingClass
status
request
public <R> java.util.Optional<io.micronaut.web.router.RouteMatch<R>> findStatusRoute(io.micronaut.http.HttpStatus, io.micronaut.http.HttpRequest<?>);
descriptor: (Lio/micronaut/http/HttpStatus;Lio/micronaut/http/HttpRequest;)Ljava/util/Optional;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aconst_null
aload 1
aload 2
invokevirtual io.micronaut.web.router.DefaultRouter.findStatusInternal:(Ljava/lang/Class;Lio/micronaut/http/HttpStatus;Lio/micronaut/http/HttpRequest;)Ljava/util/Optional;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/micronaut/web/router/DefaultRouter;
0 1 1 status Lio/micronaut/http/HttpStatus;
0 1 2 request Lio/micronaut/http/HttpRequest<*>;
Signature: <R:Ljava/lang/Object;>(Lio/micronaut/http/HttpStatus;Lio/micronaut/http/HttpRequest<*>;)Ljava/util/Optional<Lio/micronaut/web/router/RouteMatch<TR;>;>;
RuntimeInvisibleParameterAnnotations:
0:
edu.umd.cs.findbugs.annotations.NonNull()
1:
MethodParameters:
Name Flags
status
request
private <R> java.util.Optional<io.micronaut.web.router.RouteMatch<R>> findStatusInternal(java.lang.Class<?>, io.micronaut.http.HttpStatus, io.micronaut.http.HttpRequest<?>);
descriptor: (Ljava/lang/Class;Lio/micronaut/http/HttpStatus;Lio/micronaut/http/HttpRequest;)Ljava/util/Optional;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
invokeinterface io.micronaut.http.HttpRequest.accept:()Ljava/util/Collection;
1: astore 4
start local 4 2: aload 4
invokestatic io.micronaut.core.util.CollectionUtils.isNotEmpty:(Ljava/util/Collection;)Z
istore 5
start local 5 3: iload 5
ifeq 13
4: aload 0
getfield io.micronaut.web.router.DefaultRouter.statusRoutes:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 11
StackMap locals: io.micronaut.web.router.DefaultRouter java.lang.Class io.micronaut.http.HttpStatus io.micronaut.http.HttpRequest java.util.Collection int top java.util.Iterator
StackMap stack:
5: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.micronaut.web.router.StatusRoute
astore 6
start local 6 6: aload 6
7: aload 1
aload 2
invokeinterface io.micronaut.web.router.StatusRoute.match:(Ljava/lang/Class;Lio/micronaut/http/HttpStatus;)Ljava/util/Optional;
aconst_null
invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast io.micronaut.web.router.RouteMatch
8: astore 8
start local 8 9: aload 8
ifnull 11
aload 8
aload 4
invokeinterface io.micronaut.web.router.RouteMatch.doesProduce:(Ljava/util/Collection;)Z
ifeq 11
10: aload 8
invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
areturn
end local 8 end local 6 11: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
12: goto 27
13: StackMap locals: io.micronaut.web.router.DefaultRouter java.lang.Class io.micronaut.http.HttpStatus io.micronaut.http.HttpRequest java.util.Collection int
StackMap stack:
aconst_null
astore 6
start local 6 14: aload 0
getfield io.micronaut.web.router.DefaultRouter.statusRoutes:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 25
StackMap locals: io.micronaut.web.router.DefaultRouter java.lang.Class io.micronaut.http.HttpStatus io.micronaut.http.HttpRequest java.util.Collection int io.micronaut.web.router.RouteMatch top java.util.Iterator
StackMap stack:
15: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.micronaut.web.router.StatusRoute
astore 7
start local 7 16: aload 7
17: aload 1
aload 2
invokeinterface io.micronaut.web.router.StatusRoute.match:(Ljava/lang/Class;Lio/micronaut/http/HttpStatus;)Ljava/util/Optional;
aconst_null
invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast io.micronaut.web.router.RouteMatch
18: astore 9
start local 9 19: aload 9
ifnull 25
20: aload 9
invokeinterface io.micronaut.web.router.RouteMatch.getProduces:()Ljava/util/List;
astore 10
start local 10 21: aload 10
invokestatic io.micronaut.core.util.CollectionUtils.isEmpty:(Ljava/util/Collection;)Z
ifne 22
aload 10
getstatic io.micronaut.http.MediaType.ALL_TYPE:Lio/micronaut/http/MediaType;
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ifeq 23
22: StackMap locals: io.micronaut.web.router.DefaultRouter java.lang.Class io.micronaut.http.HttpStatus io.micronaut.http.HttpRequest java.util.Collection int io.micronaut.web.router.RouteMatch io.micronaut.web.router.StatusRoute java.util.Iterator io.micronaut.web.router.RouteMatch java.util.List
StackMap stack:
aload 9
invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
areturn
23: StackMap locals:
StackMap stack:
aload 6
ifnonnull 25
24: aload 9
astore 6
end local 10 end local 9 end local 7 25: StackMap locals: io.micronaut.web.router.DefaultRouter java.lang.Class io.micronaut.http.HttpStatus io.micronaut.http.HttpRequest java.util.Collection int io.micronaut.web.router.RouteMatch top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 15
26: aload 6
invokestatic java.util.Optional.ofNullable:(Ljava/lang/Object;)Ljava/util/Optional;
areturn
end local 6 27: StackMap locals: io.micronaut.web.router.DefaultRouter java.lang.Class io.micronaut.http.HttpStatus io.micronaut.http.HttpRequest java.util.Collection int
StackMap stack:
invokestatic java.util.Optional.empty:()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 28 0 this Lio/micronaut/web/router/DefaultRouter;
0 28 1 originatingClass Ljava/lang/Class<*>;
0 28 2 status Lio/micronaut/http/HttpStatus;
0 28 3 request Lio/micronaut/http/HttpRequest<*>;
2 28 4 accept Ljava/util/Collection<Lio/micronaut/http/MediaType;>;
3 28 5 hasAcceptHeader Z
6 11 6 statusRoute Lio/micronaut/web/router/StatusRoute;
9 11 8 match Lio/micronaut/web/router/RouteMatch<TR;>;
14 27 6 firstMatch Lio/micronaut/web/router/RouteMatch<TR;>;
16 25 7 errorRoute Lio/micronaut/web/router/StatusRoute;
19 25 9 match Lio/micronaut/web/router/RouteMatch<TR;>;
21 25 10 produces Ljava/util/List<Lio/micronaut/http/MediaType;>;
Signature: <R:Ljava/lang/Object;>(Ljava/lang/Class<*>;Lio/micronaut/http/HttpStatus;Lio/micronaut/http/HttpRequest<*>;)Ljava/util/Optional<Lio/micronaut/web/router/RouteMatch<TR;>;>;
RuntimeInvisibleParameterAnnotations:
0:
edu.umd.cs.findbugs.annotations.Nullable()
1:
edu.umd.cs.findbugs.annotations.NonNull()
2:
MethodParameters:
Name Flags
originatingClass
status
request
public <R> java.util.Optional<io.micronaut.web.router.RouteMatch<R>> route(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)Ljava/util/Optional;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: new java.util.LinkedHashMap
dup
invokespecial java.util.LinkedHashMap.<init>:()V
astore 2
start local 2 1: aload 0
getfield io.micronaut.web.router.DefaultRouter.errorRoutes:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 6
StackMap locals: io.micronaut.web.router.DefaultRouter java.lang.Throwable java.util.Map top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.micronaut.web.router.ErrorRoute
astore 3
start local 3 3: aload 3
invokeinterface io.micronaut.web.router.ErrorRoute.originatingType:()Ljava/lang/Class;
ifnonnull 6
4: aload 3
aload 1
invokeinterface io.micronaut.web.router.ErrorRoute.match:(Ljava/lang/Throwable;)Ljava/util/Optional;
astore 5
start local 5 5: aload 5
aload 2
aload 3
invokedynamic accept(Ljava/util/Map;Lio/micronaut/web/router/ErrorRoute;)Ljava/util/function/Consumer;
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;)V
io/micronaut/web/router/DefaultRouter.lambda$14(Ljava/util/Map;Lio/micronaut/web/router/ErrorRoute;Lio/micronaut/web/router/RouteMatch;)V (6)
(Lio/micronaut/web/router/RouteMatch;)V
invokevirtual java.util.Optional.ifPresent:(Ljava/util/function/Consumer;)V
end local 5 end local 3 6: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
7: aload 0
aload 2
aload 1
invokevirtual io.micronaut.web.router.DefaultRouter.findRouteMatch:(Ljava/util/Map;Ljava/lang/Throwable;)Ljava/util/Optional;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/micronaut/web/router/DefaultRouter;
0 8 1 error Ljava/lang/Throwable;
1 8 2 matchedRoutes Ljava/util/Map<Lio/micronaut/web/router/ErrorRoute;Lio/micronaut/web/router/RouteMatch<TR;>;>;
3 6 3 errorRoute Lio/micronaut/web/router/ErrorRoute;
5 6 5 match Ljava/util/Optional<Lio/micronaut/web/router/RouteMatch<TR;>;>;
Signature: <R:Ljava/lang/Object;>(Ljava/lang/Throwable;)Ljava/util/Optional<Lio/micronaut/web/router/RouteMatch<TR;>;>;
RuntimeInvisibleParameterAnnotations:
0:
edu.umd.cs.findbugs.annotations.NonNull()
MethodParameters:
Name Flags
error
public java.util.List<io.micronaut.http.filter.HttpFilter> findFilters(io.micronaut.http.HttpRequest<?>);
descriptor: (Lio/micronaut/http/HttpRequest;)Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=9, args_size=2
start local 0 start local 1 0: aload 0
getfield io.micronaut.web.router.DefaultRouter.filterRoutes:Ljava/util/Collection;
invokeinterface java.util.Collection.isEmpty:()Z
ifne 17
1: aload 1
getstatic io.micronaut.http.HttpAttributes.ROUTE_MATCH:Lio/micronaut/http/HttpAttributes;
invokeinterface io.micronaut.http.HttpRequest.getAttribute:(Ljava/lang/CharSequence;)Ljava/util/Optional;
aconst_null
invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
astore 2
start local 2 2: aload 2
instanceof io.micronaut.web.router.RouteMatch
ifeq 5
3: aload 2
checkcast io.micronaut.web.router.RouteMatch
astore 3
start local 3 4: aload 0
aload 1
aload 0
aload 3
invokevirtual io.micronaut.web.router.DefaultRouter.filterRouteStream:(Lio/micronaut/web/router/RouteMatch;)Ljava/util/stream/Stream;
invokevirtual io.micronaut.web.router.DefaultRouter.resolveFilters:(Lio/micronaut/http/HttpRequest;Ljava/util/stream/Stream;)Ljava/util/List;
areturn
end local 3 5: StackMap locals: java.lang.Object
StackMap stack:
new java.util.ArrayList
dup
aload 0
getfield io.micronaut.web.router.DefaultRouter.filterRoutes:Ljava/util/Collection;
invokeinterface java.util.Collection.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 3
start local 3 6: aload 1
invokeinterface io.micronaut.http.HttpRequest.getMethod:()Lio/micronaut/http/HttpMethod;
astore 4
start local 4 7: aload 1
invokeinterface io.micronaut.http.HttpRequest.getUri:()Ljava/net/URI;
astore 5
start local 5 8: aload 0
getfield io.micronaut.web.router.DefaultRouter.filterRoutes:Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 7
goto 12
StackMap locals: io.micronaut.web.router.DefaultRouter io.micronaut.http.HttpRequest java.lang.Object java.util.List io.micronaut.http.HttpMethod java.net.URI top java.util.Iterator
StackMap stack:
9: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.micronaut.web.router.FilterRoute
astore 6
start local 6 10: aload 6
aload 4
aload 5
invokeinterface io.micronaut.web.router.FilterRoute.match:(Lio/micronaut/http/HttpMethod;Ljava/net/URI;)Ljava/util/Optional;
astore 8
start local 8 11: aload 8
aload 3
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic accept(Ljava/util/List;)Ljava/util/function/Consumer;
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;)V
java/util/List.add(Ljava/lang/Object;)Z (9 itf)
(Lio/micronaut/http/filter/HttpFilter;)V
invokevirtual java.util.Optional.ifPresent:(Ljava/util/function/Consumer;)V
end local 8 end local 6 12: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
13: aload 3
invokeinterface java.util.List.isEmpty:()Z
ifne 16
14: aload 3
invokestatic io.micronaut.core.order.OrderUtil.sort:(Ljava/util/List;)V
15: aload 3
invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
areturn
16: StackMap locals: io.micronaut.web.router.DefaultRouter io.micronaut.http.HttpRequest java.lang.Object java.util.List io.micronaut.http.HttpMethod java.net.URI
StackMap stack:
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
areturn
end local 5 end local 4 end local 3 end local 2 17: StackMap locals: io.micronaut.web.router.DefaultRouter io.micronaut.http.HttpRequest
StackMap stack:
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lio/micronaut/web/router/DefaultRouter;
0 18 1 request Lio/micronaut/http/HttpRequest<*>;
2 17 2 o Ljava/lang/Object;
4 5 3 routeMatch Lio/micronaut/web/router/RouteMatch<*>;
6 17 3 httpFilters Ljava/util/List<Lio/micronaut/http/filter/HttpFilter;>;
7 17 4 method Lio/micronaut/http/HttpMethod;
8 17 5 uri Ljava/net/URI;
10 12 6 filterRoute Lio/micronaut/web/router/FilterRoute;
11 12 8 match Ljava/util/Optional<Lio/micronaut/http/filter/HttpFilter;>;
Signature: (Lio/micronaut/http/HttpRequest<*>;)Ljava/util/List<Lio/micronaut/http/filter/HttpFilter;>;
RuntimeInvisibleAnnotations:
edu.umd.cs.findbugs.annotations.NonNull()
RuntimeInvisibleParameterAnnotations:
0:
edu.umd.cs.findbugs.annotations.NonNull()
MethodParameters:
Name Flags
request
public <T, R> java.util.stream.Stream<io.micronaut.web.router.UriRouteMatch<T, R>> findAny(java.lang.CharSequence, io.micronaut.http.HttpRequest<?>);
descriptor: (Ljava/lang/CharSequence;Lio/micronaut/http/HttpRequest;)Ljava/util/stream/Stream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=10, args_size=3
start local 0 start local 1 start local 2 0: new java.util.ArrayList
dup
iconst_5
invokespecial java.util.ArrayList.<init>:(I)V
astore 3
start local 3 1: aload 1
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
astore 4
start local 4 2: aload 0
getfield io.micronaut.web.router.DefaultRouter.routesByMethod:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 6
goto 10
StackMap locals: io.micronaut.web.router.DefaultRouter java.lang.CharSequence io.micronaut.http.HttpRequest java.util.List java.lang.String top java.util.Iterator
StackMap stack:
3: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.List
astore 5
start local 5 4: aload 5
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 9
StackMap locals: io.micronaut.web.router.DefaultRouter java.lang.CharSequence io.micronaut.http.HttpRequest java.util.List java.lang.String java.util.List java.util.Iterator top java.util.Iterator
StackMap stack:
5: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.micronaut.web.router.UriRoute
astore 7
start local 7 6: aload 7
aload 4
invokeinterface io.micronaut.web.router.UriRoute.match:(Ljava/lang/String;)Ljava/util/Optional;
aconst_null
invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast io.micronaut.web.router.UriRouteMatch
astore 9
start local 9 7: aload 9
ifnull 9
aload 9
aload 2
invokeinterface io.micronaut.web.router.UriRouteMatch.test:(Ljava/lang/Object;)Z
ifeq 9
8: aload 3
aload 9
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 9 end local 7 9: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
end local 5 10: StackMap locals: io.micronaut.web.router.DefaultRouter java.lang.CharSequence io.micronaut.http.HttpRequest java.util.List java.lang.String top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
11: aload 3
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lio/micronaut/web/router/DefaultRouter;
0 12 1 uri Ljava/lang/CharSequence;
0 12 2 context Lio/micronaut/http/HttpRequest<*>;
1 12 3 matchedRoutes Ljava/util/List;
2 12 4 uriStr Ljava/lang/String;
4 10 5 routes Ljava/util/List<Lio/micronaut/web/router/UriRoute;>;
6 9 7 route Lio/micronaut/web/router/UriRoute;
7 9 9 match Lio/micronaut/web/router/UriRouteMatch;
Signature: <T:Ljava/lang/Object;R:Ljava/lang/Object;>(Ljava/lang/CharSequence;Lio/micronaut/http/HttpRequest<*>;)Ljava/util/stream/Stream<Lio/micronaut/web/router/UriRouteMatch<TT;TR;>;>;
RuntimeInvisibleAnnotations:
edu.umd.cs.findbugs.annotations.NonNull()
RuntimeInvisibleParameterAnnotations:
0:
edu.umd.cs.findbugs.annotations.NonNull()
1:
edu.umd.cs.findbugs.annotations.Nullable()
MethodParameters:
Name Flags
uri
context
private <T, R> java.util.List<io.micronaut.web.router.UriRouteMatch<T, R>> find(java.lang.String, java.lang.CharSequence);
descriptor: (Ljava/lang/String;Ljava/lang/CharSequence;)Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield io.micronaut.web.router.DefaultRouter.routesByMethod:Ljava/util/Map;
aload 1
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
invokeinterface java.util.Map.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 3
start local 3 1: aload 3
invokestatic io.micronaut.core.util.CollectionUtils.isNotEmpty:(Ljava/util/Collection;)Z
ifeq 11
2: aload 2
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
astore 4
start local 4 3: new java.util.ArrayList
dup
aload 3
invokeinterface java.util.List.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 5
start local 5 4: aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 9
StackMap locals: io.micronaut.web.router.DefaultRouter java.lang.String java.lang.CharSequence java.util.List java.lang.String java.util.List top java.util.Iterator
StackMap stack:
5: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.micronaut.web.router.UriRoute
astore 6
start local 6 6: aload 6
aload 4
invokeinterface io.micronaut.web.router.UriRoute.match:(Ljava/lang/String;)Ljava/util/Optional;
aconst_null
invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast io.micronaut.web.router.UriRouteMatch
astore 8
start local 8 7: aload 8
ifnull 9
8: aload 5
aload 8
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 8 end local 6 9: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
10: aload 5
areturn
end local 5 end local 4 11: StackMap locals: io.micronaut.web.router.DefaultRouter java.lang.String java.lang.CharSequence java.util.List
StackMap stack:
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lio/micronaut/web/router/DefaultRouter;
0 12 1 httpMethodName Ljava/lang/String;
0 12 2 uri Ljava/lang/CharSequence;
1 12 3 routes Ljava/util/List<Lio/micronaut/web/router/UriRoute;>;
3 11 4 uriStr Ljava/lang/String;
4 11 5 routeMatches Ljava/util/List<Lio/micronaut/web/router/UriRouteMatch<TT;TR;>;>;
6 9 6 route Lio/micronaut/web/router/UriRoute;
7 9 8 match Lio/micronaut/web/router/UriRouteMatch;
Signature: <T:Ljava/lang/Object;R:Ljava/lang/Object;>(Ljava/lang/String;Ljava/lang/CharSequence;)Ljava/util/List<Lio/micronaut/web/router/UriRouteMatch<TT;TR;>;>;
MethodParameters:
Name Flags
httpMethodName
uri
private io.micronaut.web.router.UriRoute[] finalizeRoutes(java.util.List<io.micronaut.web.router.UriRoute>);
descriptor: (Ljava/util/List;)[Lio/micronaut/web/router/UriRoute;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.util.Collections.sort:(Ljava/util/List;)V
1: aload 1
iconst_0
anewarray io.micronaut.web.router.UriRoute
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast io.micronaut.web.router.UriRoute[]
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/micronaut/web/router/DefaultRouter;
0 2 1 routes Ljava/util/List<Lio/micronaut/web/router/UriRoute;>;
Signature: (Ljava/util/List<Lio/micronaut/web/router/UriRoute;>;)[Lio/micronaut/web/router/UriRoute;
MethodParameters:
Name Flags
routes
private <T> java.util.Optional<io.micronaut.web.router.RouteMatch<T>> findRouteMatch(java.util.Map<io.micronaut.web.router.ErrorRoute, io.micronaut.web.router.RouteMatch<T>>, java.lang.Throwable);
descriptor: (Ljava/util/Map;Ljava/lang/Throwable;)Ljava/util/Optional;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=12, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface java.util.Map.size:()I
iconst_1
if_icmpne 2
1: aload 1
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
invokeinterface java.util.stream.Stream.findFirst:()Ljava/util/Optional;
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.util.Map.size:()I
iconst_1
if_icmple 20
3: ldc 2147483647
istore 3
start local 3 4: aload 2
invokedynamic get(Ljava/lang/Throwable;)Ljava/util/function/Supplier;
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;
io/micronaut/web/router/DefaultRouter.lambda$16(Ljava/lang/Throwable;)Ljava/util/List; (6)
()Ljava/util/List;
astore 4
start local 4 5: invokestatic java.util.Optional.empty:()Ljava/util/Optional;
astore 5
start local 5 6: aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
astore 6
start local 6 7: aload 1
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 8
goto 18
StackMap locals: io.micronaut.web.router.DefaultRouter java.util.Map java.lang.Throwable int java.util.function.Supplier java.util.Optional java.lang.Class top java.util.Iterator
StackMap stack:
8: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 7
start local 7 9: aload 7
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast io.micronaut.web.router.ErrorRoute
invokeinterface io.micronaut.web.router.ErrorRoute.exceptionType:()Ljava/lang/Class;
astore 9
start local 9 10: aload 9
aload 6
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 13
11: aload 7
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast io.micronaut.web.router.RouteMatch
invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
astore 5
12: goto 19
13: StackMap locals: io.micronaut.web.router.DefaultRouter java.util.Map java.lang.Throwable int java.util.function.Supplier java.util.Optional java.lang.Class java.util.Map$Entry java.util.Iterator java.lang.Class
StackMap stack:
aload 4
invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
checkcast java.util.List
astore 10
start local 10 14: aload 10
aload 9
invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
istore 11
start local 11 15: iload 11
iconst_m1
if_icmple 18
iload 11
iload 3
if_icmpge 18
16: iload 11
istore 3
17: aload 7
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast io.micronaut.web.router.RouteMatch
invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
astore 5
end local 11 end local 10 end local 9 end local 7 18: StackMap locals: io.micronaut.web.router.DefaultRouter java.util.Map java.lang.Throwable int java.util.function.Supplier java.util.Optional java.lang.Class top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
19: StackMap locals: io.micronaut.web.router.DefaultRouter java.util.Map java.lang.Throwable int java.util.function.Supplier java.util.Optional java.lang.Class
StackMap stack:
aload 5
areturn
end local 6 end local 5 end local 4 end local 3 20: StackMap locals: io.micronaut.web.router.DefaultRouter java.util.Map java.lang.Throwable
StackMap stack:
invokestatic java.util.Optional.empty:()Ljava/util/Optional;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lio/micronaut/web/router/DefaultRouter;
0 21 1 matchedRoutes Ljava/util/Map<Lio/micronaut/web/router/ErrorRoute;Lio/micronaut/web/router/RouteMatch<TT;>;>;
0 21 2 error Ljava/lang/Throwable;
4 20 3 minCount I
5 20 4 hierarchySupplier Ljava/util/function/Supplier<Ljava/util/List<Ljava/lang/Class;>;>;
6 20 5 match Ljava/util/Optional<Lio/micronaut/web/router/RouteMatch<TT;>;>;
7 20 6 errorClass Ljava/lang/Class;
9 18 7 entry Ljava/util/Map$Entry<Lio/micronaut/web/router/ErrorRoute;Lio/micronaut/web/router/RouteMatch<TT;>;>;
10 18 9 exceptionType Ljava/lang/Class;
14 18 10 hierarchy Ljava/util/List<Ljava/lang/Class;>;
15 18 11 index I
Signature: <T:Ljava/lang/Object;>(Ljava/util/Map<Lio/micronaut/web/router/ErrorRoute;Lio/micronaut/web/router/RouteMatch<TT;>;>;Ljava/lang/Throwable;)Ljava/util/Optional<Lio/micronaut/web/router/RouteMatch<TT;>;>;
MethodParameters:
Name Flags
matchedRoutes
error
public java.util.List<io.micronaut.http.filter.HttpFilterResolver$FilterEntry<io.micronaut.http.filter.HttpFilter>> resolveFilterEntries(io.micronaut.web.router.RouteMatch<?>);
descriptor: (Lio/micronaut/web/router/RouteMatch;)Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual io.micronaut.web.router.DefaultRouter.filterRouteStream:(Lio/micronaut/web/router/RouteMatch;)Ljava/util/stream/Stream;
1: invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.util.List
2: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/micronaut/web/router/DefaultRouter;
0 3 1 context Lio/micronaut/web/router/RouteMatch<*>;
Signature: (Lio/micronaut/web/router/RouteMatch<*>;)Ljava/util/List<Lio/micronaut/http/filter/HttpFilterResolver$FilterEntry<Lio/micronaut/http/filter/HttpFilter;>;>;
MethodParameters:
Name Flags
context
public java.util.List<io.micronaut.http.filter.HttpFilter> resolveFilters(io.micronaut.http.HttpRequest<?>, java.util.List<io.micronaut.http.filter.HttpFilterResolver$FilterEntry<io.micronaut.http.filter.HttpFilter>>);
descriptor: (Lio/micronaut/http/HttpRequest;Ljava/util/List;)Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
astore 3
start local 3 1: aload 0
aload 1
aload 3
invokevirtual io.micronaut.web.router.DefaultRouter.resolveFilters:(Lio/micronaut/http/HttpRequest;Ljava/util/stream/Stream;)Ljava/util/List;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/micronaut/web/router/DefaultRouter;
0 2 1 request Lio/micronaut/http/HttpRequest<*>;
0 2 2 filterEntries Ljava/util/List<Lio/micronaut/http/filter/HttpFilterResolver$FilterEntry<Lio/micronaut/http/filter/HttpFilter;>;>;
1 2 3 entryStream Ljava/util/stream/Stream<Lio/micronaut/http/filter/HttpFilterResolver$FilterEntry<Lio/micronaut/http/filter/HttpFilter;>;>;
Signature: (Lio/micronaut/http/HttpRequest<*>;Ljava/util/List<Lio/micronaut/http/filter/HttpFilterResolver$FilterEntry<Lio/micronaut/http/filter/HttpFilter;>;>;)Ljava/util/List<Lio/micronaut/http/filter/HttpFilter;>;
MethodParameters:
Name Flags
request
filterEntries
private java.util.List<io.micronaut.http.filter.HttpFilter> resolveFilters(io.micronaut.http.HttpRequest<?>, java.util.stream.Stream<? extends io.micronaut.http.filter.HttpFilterResolver$FilterEntry<io.micronaut.http.filter.HttpFilter>>);
descriptor: (Lio/micronaut/http/HttpRequest;Ljava/util/stream/Stream;)Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
1: aload 1
invokedynamic test(Lio/micronaut/http/HttpRequest;)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/web/router/DefaultRouter.lambda$17(Lio/micronaut/http/HttpRequest;Lio/micronaut/http/filter/HttpFilterResolver$FilterEntry;)Z (6)
(Lio/micronaut/http/filter/HttpFilterResolver$FilterEntry;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
2: invokedynamic apply()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/filter/HttpFilterResolver$FilterEntry.getFilter()Ljava/lang/Object; (9 itf)
(Lio/micronaut/http/filter/HttpFilterResolver$FilterEntry;)Lio/micronaut/http/filter/HttpFilter;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
3: getstatic io.micronaut.core.order.OrderUtil.COMPARATOR:Ljava/util/Comparator;
invokeinterface java.util.stream.Stream.sorted:(Ljava/util/Comparator;)Ljava/util/stream/Stream;
4: invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.util.List
5: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/micronaut/web/router/DefaultRouter;
0 6 1 request Lio/micronaut/http/HttpRequest<*>;
0 6 2 entryStream Ljava/util/stream/Stream<+Lio/micronaut/http/filter/HttpFilterResolver$FilterEntry<Lio/micronaut/http/filter/HttpFilter;>;>;
Signature: (Lio/micronaut/http/HttpRequest<*>;Ljava/util/stream/Stream<+Lio/micronaut/http/filter/HttpFilterResolver$FilterEntry<Lio/micronaut/http/filter/HttpFilter;>;>;)Ljava/util/List<Lio/micronaut/http/filter/HttpFilter;>;
MethodParameters:
Name Flags
request
entryStream
private java.util.stream.Stream<io.micronaut.web.router.FilterRoute> filterRouteStream(io.micronaut.web.router.RouteMatch<?>);
descriptor: (Lio/micronaut/web/router/RouteMatch;)Ljava/util/stream/Stream;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.micronaut.web.router.DefaultRouter.filterRoutes:Ljava/util/Collection;
invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
1: aload 1
invokedynamic test(Lio/micronaut/web/router/RouteMatch;)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/web/router/DefaultRouter.lambda$19(Lio/micronaut/web/router/RouteMatch;Lio/micronaut/web/router/FilterRoute;)Z (6)
(Lio/micronaut/web/router/FilterRoute;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
2: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/micronaut/web/router/DefaultRouter;
0 3 1 context Lio/micronaut/web/router/RouteMatch<*>;
Signature: (Lio/micronaut/web/router/RouteMatch<*>;)Ljava/util/stream/Stream<Lio/micronaut/web/router/FilterRoute;>;
MethodParameters:
Name Flags
context
public java.util.List resolveFilterEntries(io.micronaut.core.annotation.AnnotationMetadataProvider);
descriptor: (Lio/micronaut/core/annotation/AnnotationMetadataProvider;)Ljava/util/List;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast io.micronaut.web.router.RouteMatch
invokevirtual io.micronaut.web.router.DefaultRouter.resolveFilterEntries:(Lio/micronaut/web/router/RouteMatch;)Ljava/util/List;
areturn
LocalVariableTable:
Start End Slot Name Signature
private static java.util.List lambda$0(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/List;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x Ljava/lang/String;
private static boolean lambda$1(io.micronaut.web.router.StatusRoute, io.micronaut.web.router.StatusRoute);
descriptor: (Lio/micronaut/web/router/StatusRoute;Lio/micronaut/web/router/StatusRoute;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 1
aload 0
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ireturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 r Lio/micronaut/web/router/StatusRoute;
private static boolean lambda$2(io.micronaut.web.router.ErrorRoute, io.micronaut.web.router.ErrorRoute);
descriptor: (Lio/micronaut/web/router/ErrorRoute;Lio/micronaut/web/router/ErrorRoute;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 1
aload 0
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ireturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 r Lio/micronaut/web/router/ErrorRoute;
private static boolean lambda$4(java.util.List, io.micronaut.http.HttpRequest);
descriptor: (Ljava/util/List;Lio/micronaut/http/HttpRequest;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 0
aload 1
invokeinterface io.micronaut.http.HttpRequest.getServerAddress:()Ljava/net/InetSocketAddress;
invokevirtual java.net.InetSocketAddress.getPort:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ireturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 httpRequest Lio/micronaut/http/HttpRequest<*>;
private static void lambda$5(java.util.function.Predicate, java.util.List);
descriptor: (Ljava/util/function/Predicate;Ljava/util/List;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=4, locals=4, args_size=2
start local 1 0: iconst_0
istore 2
start local 2 1: goto 6
2: StackMap locals: int
StackMap stack:
aload 1
iload 2
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast io.micronaut.web.router.UriRoute
astore 3
start local 3 3: aload 3
invokeinterface io.micronaut.web.router.UriRoute.getPort:()Ljava/lang/Integer;
ifnonnull 5
4: aload 1
iload 2
aload 3
aload 0
invokeinterface io.micronaut.web.router.UriRoute.where:(Ljava/util/function/Predicate;)Lio/micronaut/web/router/UriRoute;
invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
pop
end local 3 5: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
6: iload 2
aload 1
invokeinterface java.util.List.size:()I
if_icmplt 2
end local 2 7: return
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 8 1 routes Ljava/util/List<Lio/micronaut/web/router/UriRoute;>;
1 7 2 i I
3 5 3 route Lio/micronaut/web/router/UriRoute;
private static boolean lambda$6(io.micronaut.http.HttpRequest, boolean, io.micronaut.web.router.UriRouteMatch);
descriptor: (Lio/micronaut/http/HttpRequest;ZLio/micronaut/web/router/UriRouteMatch;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
start local 2 0: aload 2
aload 0
invokeinterface io.micronaut.web.router.UriRouteMatch.test:(Ljava/lang/Object;)Z
ifeq 2
iload 1
ifeq 1
aload 2
aload 0
invokeinterface io.micronaut.http.HttpRequest.getContentType:()Ljava/util/Optional;
aconst_null
invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast io.micronaut.http.MediaType
invokeinterface io.micronaut.web.router.UriRouteMatch.doesConsume:(Lio/micronaut/http/MediaType;)Z
ifeq 2
StackMap locals:
StackMap stack:
1: iconst_1
goto 3
StackMap locals:
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: ireturn
end local 2 LocalVariableTable:
Start End Slot Name Signature
0 4 2 match Lio/micronaut/web/router/UriRouteMatch<TT;TR;>;
private static boolean lambda$8(io.micronaut.http.HttpRequest, boolean, io.micronaut.http.MediaType, java.util.Collection, io.micronaut.web.router.UriRouteMatch);
descriptor: (Lio/micronaut/http/HttpRequest;ZLio/micronaut/http/MediaType;Ljava/util/Collection;Lio/micronaut/web/router/UriRouteMatch;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=5, args_size=5
start local 4 0: aload 4
aload 0
invokeinterface io.micronaut.web.router.UriRouteMatch.test:(Ljava/lang/Object;)Z
ifeq 2
iload 1
ifeq 1
aload 4
aload 2
invokeinterface io.micronaut.web.router.UriRouteMatch.doesConsume:(Lio/micronaut/http/MediaType;)Z
ifeq 2
StackMap locals:
StackMap stack:
1: aload 4
aload 3
invokeinterface io.micronaut.web.router.UriRouteMatch.doesProduce:(Ljava/util/Collection;)Z
ifeq 2
iconst_0
goto 3
StackMap locals:
StackMap stack:
2: iconst_1
StackMap locals:
StackMap stack: int
3: ireturn
end local 4 LocalVariableTable:
Start End Slot Name Signature
0 4 4 routeMatch Lio/micronaut/web/router/UriRouteMatch<TT;TR;>;
private static boolean lambda$9(io.micronaut.http.MediaType, io.micronaut.web.router.UriRouteMatch);
descriptor: (Lio/micronaut/http/MediaType;Lio/micronaut/web/router/UriRouteMatch;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 1
aload 0
invokeinterface io.micronaut.web.router.UriRouteMatch.doesProduce:(Lio/micronaut/http/MediaType;)Z
ireturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 routeMatch Lio/micronaut/web/router/UriRouteMatch<TT;TR;>;
private static java.util.Optional lambda$10(java.lang.CharSequence, io.micronaut.web.router.UriRoute);
descriptor: (Ljava/lang/CharSequence;Lio/micronaut/web/router/UriRoute;)Ljava/util/Optional;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 1
aload 0
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
invokeinterface io.micronaut.web.router.UriRoute.match:(Ljava/lang/String;)Ljava/util/Optional;
areturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 route Lio/micronaut/web/router/UriRoute;
private static void lambda$13(java.util.Map, io.micronaut.web.router.ErrorRoute, io.micronaut.web.router.RouteMatch);
descriptor: (Ljava/util/Map;Lio/micronaut/web/router/ErrorRoute;Lio/micronaut/web/router/RouteMatch;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
start local 2 0: aload 0
aload 1
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
return
end local 2 LocalVariableTable:
Start End Slot Name Signature
0 1 2 m Lio/micronaut/web/router/RouteMatch<TR;>;
private static void lambda$14(java.util.Map, io.micronaut.web.router.ErrorRoute, io.micronaut.web.router.RouteMatch);
descriptor: (Ljava/util/Map;Lio/micronaut/web/router/ErrorRoute;Lio/micronaut/web/router/RouteMatch;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
start local 2 0: aload 0
aload 1
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
return
end local 2 LocalVariableTable:
Start End Slot Name Signature
0 1 2 m Lio/micronaut/web/router/RouteMatch<TR;>;
private static java.util.List lambda$16(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)Ljava/util/List;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic io.micronaut.core.reflect.ClassUtils.resolveHierarchy:(Ljava/lang/Class;)Ljava/util/List;
areturn
LocalVariableTable:
Start End Slot Name Signature
private static boolean lambda$17(io.micronaut.http.HttpRequest, io.micronaut.http.filter.HttpFilterResolver$FilterEntry);
descriptor: (Lio/micronaut/http/HttpRequest;Lio/micronaut/http/filter/HttpFilterResolver$FilterEntry;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=8, args_size=2
start local 1 0: aload 1
invokeinterface io.micronaut.http.filter.HttpFilterResolver$FilterEntry.hasMethods:()Z
ifeq 2
aload 1
invokeinterface io.micronaut.http.filter.HttpFilterResolver$FilterEntry.getFilterMethods:()Ljava/util/Set;
aload 0
invokeinterface io.micronaut.http.HttpRequest.getMethod:()Lio/micronaut/http/HttpMethod;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 1
invokeinterface io.micronaut.http.filter.HttpFilterResolver$FilterEntry.hasPatterns:()Z
ifeq 12
3: aload 0
invokeinterface io.micronaut.http.HttpRequest.getPath:()Ljava/lang/String;
astore 2
start local 2 4: aload 1
invokeinterface io.micronaut.http.filter.HttpFilterResolver$FilterEntry.getPatterns:()[Ljava/lang/String;
astore 3
start local 3 5: aload 3
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 10
StackMap locals: io.micronaut.http.HttpRequest io.micronaut.http.filter.HttpFilterResolver$FilterEntry java.lang.String java.lang.String[] top int int java.lang.String[]
StackMap stack:
6: aload 7
iload 5
aaload
astore 4
start local 4 7: ldc "/**"
aload 4
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 8
getstatic io.micronaut.core.util.PathMatcher.ANT:Lio/micronaut/core/util/AntPathMatcher;
aload 4
aload 2
invokevirtual io.micronaut.core.util.AntPathMatcher.matches:(Ljava/lang/String;Ljava/lang/String;)Z
ifeq 9
8: StackMap locals: io.micronaut.http.HttpRequest io.micronaut.http.filter.HttpFilterResolver$FilterEntry java.lang.String java.lang.String[] java.lang.String int int java.lang.String[]
StackMap stack:
iconst_1
ireturn
end local 4 9: StackMap locals: io.micronaut.http.HttpRequest io.micronaut.http.filter.HttpFilterResolver$FilterEntry java.lang.String java.lang.String[] top int int java.lang.String[]
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
10: iload 5
iload 6
if_icmplt 6
11: iconst_0
ireturn
end local 3 end local 2 12: StackMap locals: io.micronaut.http.HttpRequest io.micronaut.http.filter.HttpFilterResolver$FilterEntry
StackMap stack:
iconst_1
ireturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 13 1 entry Lio/micronaut/http/filter/HttpFilterResolver$FilterEntry<TF;>;
4 12 2 path Ljava/lang/String;
5 12 3 patterns [Ljava/lang/String;
7 9 4 pattern Ljava/lang/String;
private static boolean lambda$19(io.micronaut.web.router.RouteMatch, io.micronaut.web.router.FilterRoute);
descriptor: (Lio/micronaut/web/router/RouteMatch;Lio/micronaut/web/router/FilterRoute;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=5, args_size=2
start local 1 0: aload 1
invokeinterface io.micronaut.web.router.FilterRoute.getAnnotationMetadata:()Lio/micronaut/core/annotation/AnnotationMetadata;
astore 2
start local 2 1: aload 2
getstatic io.micronaut.http.annotation.FilterMatcher.NAME:Ljava/lang/String;
invokeinterface io.micronaut.core.annotation.AnnotationMetadata.hasStereotype:(Ljava/lang/String;)Z
ifeq 2
iconst_0
goto 3
StackMap locals: io.micronaut.core.annotation.AnnotationMetadata
StackMap stack:
2: iconst_1
StackMap locals:
StackMap stack: int
3: istore 3
start local 3 4: iload 3
ifne 8
5: aload 2
getstatic io.micronaut.http.annotation.FilterMatcher.NAME:Ljava/lang/String;
invokeinterface io.micronaut.core.annotation.AnnotationMetadata.getAnnotationNameByStereotype:(Ljava/lang/String;)Ljava/util/Optional;
aconst_null
invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 6: aload 4
ifnull 8
7: aload 0
invokeinterface io.micronaut.web.router.RouteMatch.getAnnotationMetadata:()Lio/micronaut/core/annotation/AnnotationMetadata;
aload 4
invokeinterface io.micronaut.core.annotation.AnnotationMetadata.hasAnnotation:(Ljava/lang/String;)Z
istore 3
end local 4 8: StackMap locals: int
StackMap stack:
iload 3
ireturn
end local 3 end local 2 end local 1 LocalVariableTable:
Start End Slot Name Signature
0 9 1 filterRoute Lio/micronaut/web/router/FilterRoute;
1 9 2 annotationMetadata Lio/micronaut/core/annotation/AnnotationMetadata;
4 9 3 matches Z
6 8 4 filterAnnotation Ljava/lang/String;
}
Signature: Ljava/lang/Object;Lio/micronaut/web/router/Router;Lio/micronaut/http/filter/HttpServerFilterResolver<Lio/micronaut/web/router/RouteMatch<*>;>;
SourceFile: "DefaultRouter.java"
InnerClasses:
public abstract FilterEntry = io.micronaut.http.filter.HttpFilterResolver$FilterEntry of io.micronaut.http.filter.HttpFilterResolver
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()