public abstract class io.vertx.ext.web.impl.RoutingContextImplBase implements io.vertx.ext.web.impl.RoutingContextInternal
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: io.vertx.ext.web.impl.RoutingContextImplBase
super_class: java.lang.Object
{
protected static final io.vertx.core.impl.logging.Logger LOG;
descriptor: Lio/vertx/core/impl/logging/Logger;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
private final java.util.Set<io.vertx.ext.web.impl.RouteImpl> routes;
descriptor: Ljava/util/Set;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Set<Lio/vertx/ext/web/impl/RouteImpl;>;
protected final java.lang.String mountPoint;
descriptor: Ljava/lang/String;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
private final java.util.concurrent.atomic.AtomicInteger currentRouteNextHandlerIndex;
descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.concurrent.atomic.AtomicInteger currentRouteNextFailureHandlerIndex;
descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
protected java.util.Iterator<io.vertx.ext.web.impl.RouteImpl> iter;
descriptor: Ljava/util/Iterator;
flags: (0x0004) ACC_PROTECTED
Signature: Ljava/util/Iterator<Lio/vertx/ext/web/impl/RouteImpl;>;
protected io.vertx.ext.web.impl.RouteState currentRoute;
descriptor: Lio/vertx/ext/web/impl/RouteState;
flags: (0x0004) ACC_PROTECTED
int matchFailure;
descriptor: I
flags: (0x0000)
int matchRest;
descriptor: I
flags: (0x0000)
boolean matchNormalized;
descriptor: Z
flags: (0x0000)
private volatile long seen;
descriptor: J
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lio/vertx/ext/web/RoutingContext;
invokestatic io.vertx.core.impl.logging.LoggerFactory.getLogger:(Ljava/lang/Class;)Lio/vertx/core/impl/logging/Logger;
putstatic io.vertx.ext.web.impl.RoutingContextImplBase.LOG:Lio/vertx/core/impl/logging/Logger;
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(java.lang.String, java.util.Set<io.vertx.ext.web.impl.RouteImpl>);
descriptor: (Ljava/lang/String;Ljava/util/Set;)V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_m1
putfield io.vertx.ext.web.impl.RoutingContextImplBase.matchRest:I
2: aload 0
aload 1
putfield io.vertx.ext.web.impl.RoutingContextImplBase.mountPoint:Ljava/lang/String;
3: aload 0
aload 2
putfield io.vertx.ext.web.impl.RoutingContextImplBase.routes:Ljava/util/Set;
4: aload 0
aload 2
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
putfield io.vertx.ext.web.impl.RoutingContextImplBase.iter:Ljava/util/Iterator;
5: aload 0
new java.util.concurrent.atomic.AtomicInteger
dup
iconst_0
invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:(I)V
putfield io.vertx.ext.web.impl.RoutingContextImplBase.currentRouteNextHandlerIndex:Ljava/util/concurrent/atomic/AtomicInteger;
6: aload 0
new java.util.concurrent.atomic.AtomicInteger
dup
iconst_0
invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:(I)V
putfield io.vertx.ext.web.impl.RoutingContextImplBase.currentRouteNextFailureHandlerIndex:Ljava/util/concurrent/atomic/AtomicInteger;
7: aload 0
invokevirtual io.vertx.ext.web.impl.RoutingContextImplBase.resetMatchFailure:()V
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lio/vertx/ext/web/impl/RoutingContextImplBase;
0 9 1 mountPoint Ljava/lang/String;
0 9 2 routes Ljava/util/Set<Lio/vertx/ext/web/impl/RouteImpl;>;
Signature: (Ljava/lang/String;Ljava/util/Set<Lio/vertx/ext/web/impl/RouteImpl;>;)V
MethodParameters:
Name Flags
mountPoint
routes
public synchronized io.vertx.ext.web.impl.RoutingContextInternal visitHandler(int);
descriptor: (I)Lio/vertx/ext/web/impl/RoutingContextInternal;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
dup
getfield io.vertx.ext.web.impl.RoutingContextImplBase.seen:J
iload 1
i2l
lor
putfield io.vertx.ext.web.impl.RoutingContextImplBase.seen:J
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/ext/web/impl/RoutingContextImplBase;
0 2 1 id I
MethodParameters:
Name Flags
id
public boolean seenHandler(int);
descriptor: (I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.ext.web.impl.RoutingContextImplBase.seen:J
iload 1
i2l
land
lconst_0
lcmp
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/ext/web/impl/RoutingContextImplBase;
0 2 1 id I
MethodParameters:
Name Flags
id
public synchronized io.vertx.ext.web.impl.RoutingContextInternal setMatchFailure(int);
descriptor: (I)Lio/vertx/ext/web/impl/RoutingContextInternal;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield io.vertx.ext.web.impl.RoutingContextImplBase.matchFailure:I
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/ext/web/impl/RoutingContextImplBase;
0 2 1 matchFailure I
MethodParameters:
Name Flags
matchFailure
public java.lang.String mountPoint();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.ext.web.impl.RoutingContextImplBase.mountPoint:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/ext/web/impl/RoutingContextImplBase;
public io.vertx.ext.web.Route currentRoute();
descriptor: ()Lio/vertx/ext/web/Route;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.ext.web.impl.RoutingContextImplBase.currentRoute:Lio/vertx/ext/web/impl/RouteState;
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.ext.web.impl.RoutingContextImplBase.currentRoute:Lio/vertx/ext/web/impl/RouteState;
invokevirtual io.vertx.ext.web.impl.RouteState.getRoute:()Lio/vertx/ext/web/impl/RouteImpl;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/ext/web/impl/RoutingContextImplBase;
int currentRouteNextHandlerIndex();
descriptor: ()I
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.ext.web.impl.RoutingContextImplBase.currentRouteNextHandlerIndex:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.intValue:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/ext/web/impl/RoutingContextImplBase;
int currentRouteNextFailureHandlerIndex();
descriptor: ()I
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.ext.web.impl.RoutingContextImplBase.currentRouteNextFailureHandlerIndex:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.intValue:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/ext/web/impl/RoutingContextImplBase;
void restart();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield io.vertx.ext.web.impl.RoutingContextImplBase.routes:Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
putfield io.vertx.ext.web.impl.RoutingContextImplBase.iter:Ljava/util/Iterator;
1: aload 0
aconst_null
putfield io.vertx.ext.web.impl.RoutingContextImplBase.currentRoute:Lio/vertx/ext/web/impl/RouteState;
2: aload 0
invokevirtual io.vertx.ext.web.impl.RoutingContextImplBase.next:()V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/ext/web/impl/RoutingContextImplBase;
boolean iterateNext();
descriptor: ()Z
flags: (0x0000)
Code:
stack=4, locals=5, args_size=1
start local 0 0: aload 0
invokevirtual io.vertx.ext.web.impl.RoutingContextImplBase.failed:()Z
istore 1
start local 1 1: aload 0
getfield io.vertx.ext.web.impl.RoutingContextImplBase.currentRoute:Lio/vertx/ext/web/impl/RouteState;
ifnull 54
2: iload 1
ifne 7
aload 0
getfield io.vertx.ext.web.impl.RoutingContextImplBase.currentRoute:Lio/vertx/ext/web/impl/RouteState;
aload 0
invokevirtual io.vertx.ext.web.impl.RouteState.hasNextContextHandler:(Lio/vertx/ext/web/impl/RoutingContextImplBase;)Z
ifeq 7
3: aload 0
getfield io.vertx.ext.web.impl.RoutingContextImplBase.currentRouteNextHandlerIndex:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.incrementAndGet:()I
pop
4: aload 0
invokevirtual io.vertx.ext.web.impl.RoutingContextImplBase.resetMatchFailure:()V
5: aload 0
getfield io.vertx.ext.web.impl.RoutingContextImplBase.currentRoute:Lio/vertx/ext/web/impl/RouteState;
aload 0
invokevirtual io.vertx.ext.web.impl.RouteState.handleContext:(Lio/vertx/ext/web/impl/RoutingContextImplBase;)V
6: iconst_1
ireturn
7: StackMap locals: int
StackMap stack:
iload 1
ifeq 54
aload 0
getfield io.vertx.ext.web.impl.RoutingContextImplBase.currentRoute:Lio/vertx/ext/web/impl/RouteState;
aload 0
invokevirtual io.vertx.ext.web.impl.RouteState.hasNextFailureHandler:(Lio/vertx/ext/web/impl/RoutingContextImplBase;)Z
ifeq 54
8: aload 0
getfield io.vertx.ext.web.impl.RoutingContextImplBase.currentRouteNextFailureHandlerIndex:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.incrementAndGet:()I
pop
9: aload 0
getfield io.vertx.ext.web.impl.RoutingContextImplBase.currentRoute:Lio/vertx/ext/web/impl/RouteState;
aload 0
invokevirtual io.vertx.ext.web.impl.RouteState.handleFailure:(Lio/vertx/ext/web/impl/RoutingContextImplBase;)V
10: iconst_1
ireturn
11: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
start local 2 12: aload 0
aload 0
getfield io.vertx.ext.web.impl.RoutingContextImplBase.currentRoute:Lio/vertx/ext/web/impl/RouteState;
invokevirtual io.vertx.ext.web.impl.RouteState.getRouter:()Lio/vertx/ext/web/impl/RouterImpl;
iload 1
aload 2
invokevirtual io.vertx.ext.web.impl.RoutingContextImplBase.handleInHandlerRuntimeFailure:(Lio/vertx/ext/web/impl/RouterImpl;ZLjava/lang/Throwable;)V
13: iconst_1
ireturn
end local 2 14: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.ext.web.impl.RoutingContextImplBase.iter:Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.vertx.ext.web.impl.RouteImpl
invokevirtual io.vertx.ext.web.impl.RouteImpl.state:()Lio/vertx/ext/web/impl/RouteState;
astore 2
start local 2 15: aload 0
getfield io.vertx.ext.web.impl.RoutingContextImplBase.currentRouteNextHandlerIndex:Ljava/util/concurrent/atomic/AtomicInteger;
iconst_0
invokevirtual java.util.concurrent.atomic.AtomicInteger.set:(I)V
16: aload 0
getfield io.vertx.ext.web.impl.RoutingContextImplBase.currentRouteNextFailureHandlerIndex:Ljava/util/concurrent/atomic/AtomicInteger;
iconst_0
invokevirtual java.util.concurrent.atomic.AtomicInteger.set:(I)V
17: aload 2
aload 0
aload 0
invokevirtual io.vertx.ext.web.impl.RoutingContextImplBase.mountPoint:()Ljava/lang/String;
iload 1
invokevirtual io.vertx.ext.web.impl.RouteState.matches:(Lio/vertx/ext/web/impl/RoutingContextImplBase;Ljava/lang/String;Z)I
istore 3
start local 3 18: iload 3
ifne 39
19: getstatic io.vertx.ext.web.impl.RoutingContextImplBase.LOG:Lio/vertx/core/impl/logging/Logger;
invokeinterface io.vertx.core.impl.logging.Logger.isTraceEnabled:()Z
ifeq 21
20: getstatic io.vertx.ext.web.impl.RoutingContextImplBase.LOG:Lio/vertx/core/impl/logging/Logger;
new java.lang.StringBuilder
dup
ldc "Route matches: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface io.vertx.core.impl.logging.Logger.trace:(Ljava/lang/Object;)V
21: StackMap locals: io.vertx.ext.web.impl.RouteState int
StackMap stack:
aload 0
invokevirtual io.vertx.ext.web.impl.RoutingContextImplBase.resetMatchFailure:()V
22: aload 0
aload 2
putfield io.vertx.ext.web.impl.RoutingContextImplBase.currentRoute:Lio/vertx/ext/web/impl/RouteState;
23: aload 0
invokevirtual io.vertx.ext.web.impl.RoutingContextImplBase.request:()Lio/vertx/core/http/HttpServerRequest;
aload 0
getfield io.vertx.ext.web.impl.RoutingContextImplBase.currentRoute:Lio/vertx/ext/web/impl/RouteState;
invokevirtual io.vertx.ext.web.impl.RouteState.getName:()Ljava/lang/String;
invokeinterface io.vertx.core.http.HttpServerRequest.routed:(Ljava/lang/String;)Lio/vertx/core/http/HttpServerRequest;
pop
24: getstatic io.vertx.ext.web.impl.RoutingContextImplBase.LOG:Lio/vertx/core/impl/logging/Logger;
invokeinterface io.vertx.core.impl.logging.Logger.isTraceEnabled:()Z
ifeq 28
25: getstatic io.vertx.ext.web.impl.RoutingContextImplBase.LOG:Lio/vertx/core/impl/logging/Logger;
new java.lang.StringBuilder
dup
ldc "Calling the "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
ifeq 26
ldc "failure"
goto 27
StackMap locals: io.vertx.ext.web.impl.RoutingContextImplBase int io.vertx.ext.web.impl.RouteState int
StackMap stack: io.vertx.core.impl.logging.Logger java.lang.StringBuilder
26: ldc ""
StackMap locals: io.vertx.ext.web.impl.RoutingContextImplBase int io.vertx.ext.web.impl.RouteState int
StackMap stack: io.vertx.core.impl.logging.Logger java.lang.StringBuilder java.lang.String
27: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " handler"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface io.vertx.core.impl.logging.Logger.trace:(Ljava/lang/Object;)V
28: StackMap locals:
StackMap stack:
iload 1
ifeq 32
aload 0
getfield io.vertx.ext.web.impl.RoutingContextImplBase.currentRoute:Lio/vertx/ext/web/impl/RouteState;
aload 0
invokevirtual io.vertx.ext.web.impl.RouteState.hasNextFailureHandler:(Lio/vertx/ext/web/impl/RoutingContextImplBase;)Z
ifeq 32
29: aload 0
getfield io.vertx.ext.web.impl.RoutingContextImplBase.currentRouteNextFailureHandlerIndex:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.incrementAndGet:()I
pop
30: aload 2
aload 0
invokevirtual io.vertx.ext.web.impl.RouteState.handleFailure:(Lio/vertx/ext/web/impl/RoutingContextImplBase;)V
31: goto 38
StackMap locals:
StackMap stack:
32: aload 0
getfield io.vertx.ext.web.impl.RoutingContextImplBase.currentRoute:Lio/vertx/ext/web/impl/RouteState;
aload 0
invokevirtual io.vertx.ext.web.impl.RouteState.hasNextContextHandler:(Lio/vertx/ext/web/impl/RoutingContextImplBase;)Z
ifeq 54
33: aload 0
getfield io.vertx.ext.web.impl.RoutingContextImplBase.currentRouteNextHandlerIndex:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.incrementAndGet:()I
pop
34: aload 2
aload 0
invokevirtual io.vertx.ext.web.impl.RouteState.handleContext:(Lio/vertx/ext/web/impl/RoutingContextImplBase;)V
35: goto 38
StackMap locals:
StackMap stack: java.lang.Throwable
36: astore 4
start local 4 37: aload 0
aload 2
invokevirtual io.vertx.ext.web.impl.RouteState.getRouter:()Lio/vertx/ext/web/impl/RouterImpl;
iload 1
aload 4
invokevirtual io.vertx.ext.web.impl.RoutingContextImplBase.handleInHandlerRuntimeFailure:(Lio/vertx/ext/web/impl/RouterImpl;ZLjava/lang/Throwable;)V
end local 4 38: StackMap locals:
StackMap stack:
iconst_1
ireturn
39: StackMap locals:
StackMap stack:
iload 3
sipush 405
if_icmpne 43
40: aload 0
getfield io.vertx.ext.web.impl.RoutingContextImplBase.matchFailure:I
sipush 404
if_icmpne 54
41: aload 0
iload 3
putfield io.vertx.ext.web.impl.RoutingContextImplBase.matchFailure:I
42: goto 54
StackMap locals:
StackMap stack:
43: iload 3
sipush 404
if_icmpeq 54
44: aload 0
iload 3
putfield io.vertx.ext.web.impl.RoutingContextImplBase.matchFailure:I
end local 3 45: goto 54
StackMap locals: io.vertx.ext.web.impl.RoutingContextImplBase int io.vertx.ext.web.impl.RouteState
StackMap stack: java.lang.Throwable
46: astore 3
start local 3 47: getstatic io.vertx.ext.web.impl.RoutingContextImplBase.LOG:Lio/vertx/core/impl/logging/Logger;
invokeinterface io.vertx.core.impl.logging.Logger.isTraceEnabled:()Z
ifeq 49
48: getstatic io.vertx.ext.web.impl.RoutingContextImplBase.LOG:Lio/vertx/core/impl/logging/Logger;
ldc "IllegalArgumentException thrown during iteration"
aload 3
invokeinterface io.vertx.core.impl.logging.Logger.trace:(Ljava/lang/Object;Ljava/lang/Throwable;)V
49: StackMap locals: java.lang.Throwable
StackMap stack:
aload 0
invokevirtual io.vertx.ext.web.impl.RoutingContextImplBase.response:()Lio/vertx/core/http/HttpServerResponse;
invokeinterface io.vertx.core.http.HttpServerResponse.ended:()Z
ifne 53
50: aload 0
aload 3
instanceof java.lang.IllegalArgumentException
ifeq 51
sipush 400
goto 52
StackMap locals:
StackMap stack: io.vertx.ext.web.impl.RoutingContextImplBase
51: iconst_m1
StackMap locals: io.vertx.ext.web.impl.RoutingContextImplBase int io.vertx.ext.web.impl.RouteState java.lang.Throwable
StackMap stack: io.vertx.ext.web.impl.RoutingContextImplBase int
52: aload 3
aload 2
invokevirtual io.vertx.ext.web.impl.RouteState.getRouter:()Lio/vertx/ext/web/impl/RouterImpl;
invokevirtual io.vertx.ext.web.impl.RoutingContextImplBase.unhandledFailure:(ILjava/lang/Throwable;Lio/vertx/ext/web/impl/RouterImpl;)V
53: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 3 end local 2 54: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.ext.web.impl.RoutingContextImplBase.iter:Ljava/util/Iterator;
invokeinterface java.util.Iterator.hasNext:()Z
ifne 14
55: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 56 0 this Lio/vertx/ext/web/impl/RoutingContextImplBase;
1 56 1 failed Z
12 14 2 t Ljava/lang/Throwable;
15 54 2 routeState Lio/vertx/ext/web/impl/RouteState;
18 45 3 matchResult I
37 38 4 t Ljava/lang/Throwable;
47 54 3 e Ljava/lang/Throwable;
Exception table:
from to target type
2 6 11 Class java.lang.Throwable
7 10 11 Class java.lang.Throwable
22 35 36 Class java.lang.Throwable
17 38 46 Class java.lang.Throwable
39 45 46 Class java.lang.Throwable
private void handleInHandlerRuntimeFailure(io.vertx.ext.web.impl.RouterImpl, boolean, java.lang.Throwable);
descriptor: (Lio/vertx/ext/web/impl/RouterImpl;ZLjava/lang/Throwable;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic io.vertx.ext.web.impl.RoutingContextImplBase.LOG:Lio/vertx/core/impl/logging/Logger;
invokeinterface io.vertx.core.impl.logging.Logger.isTraceEnabled:()Z
ifeq 2
1: getstatic io.vertx.ext.web.impl.RoutingContextImplBase.LOG:Lio/vertx/core/impl/logging/Logger;
ldc "Throwable thrown from handler"
aload 3
invokeinterface io.vertx.core.impl.logging.Logger.trace:(Ljava/lang/Object;Ljava/lang/Throwable;)V
2: StackMap locals:
StackMap stack:
iload 2
ifne 7
3: getstatic io.vertx.ext.web.impl.RoutingContextImplBase.LOG:Lio/vertx/core/impl/logging/Logger;
invokeinterface io.vertx.core.impl.logging.Logger.isTraceEnabled:()Z
ifeq 5
4: getstatic io.vertx.ext.web.impl.RoutingContextImplBase.LOG:Lio/vertx/core/impl/logging/Logger;
ldc "Failing the routing"
invokeinterface io.vertx.core.impl.logging.Logger.trace:(Ljava/lang/Object;)V
5: StackMap locals:
StackMap stack:
aload 0
aload 3
invokevirtual io.vertx.ext.web.impl.RoutingContextImplBase.fail:(Ljava/lang/Throwable;)V
6: goto 10
7: StackMap locals:
StackMap stack:
getstatic io.vertx.ext.web.impl.RoutingContextImplBase.LOG:Lio/vertx/core/impl/logging/Logger;
invokeinterface io.vertx.core.impl.logging.Logger.isTraceEnabled:()Z
ifeq 9
8: getstatic io.vertx.ext.web.impl.RoutingContextImplBase.LOG:Lio/vertx/core/impl/logging/Logger;
ldc "Failure in handling failure"
invokeinterface io.vertx.core.impl.logging.Logger.trace:(Ljava/lang/Object;)V
9: StackMap locals:
StackMap stack:
aload 0
iconst_m1
aload 3
aload 1
invokevirtual io.vertx.ext.web.impl.RoutingContextImplBase.unhandledFailure:(ILjava/lang/Throwable;Lio/vertx/ext/web/impl/RouterImpl;)V
10: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lio/vertx/ext/web/impl/RoutingContextImplBase;
0 11 1 router Lio/vertx/ext/web/impl/RouterImpl;
0 11 2 failed Z
0 11 3 t Ljava/lang/Throwable;
MethodParameters:
Name Flags
router
failed
t
protected void unhandledFailure(int, java.lang.Throwable, io.vertx.ext.web.impl.RouterImpl);
descriptor: (ILjava/lang/Throwable;Lio/vertx/ext/web/impl/RouterImpl;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 1
iconst_m1
if_icmpeq 2
1: iload 1
goto 5
2: StackMap locals:
StackMap stack:
aload 2
instanceof io.vertx.ext.web.handler.impl.HttpStatusException
ifeq 4
3: aload 2
checkcast io.vertx.ext.web.handler.impl.HttpStatusException
invokevirtual io.vertx.ext.web.handler.impl.HttpStatusException.getStatusCode:()I
goto 5
4: StackMap locals:
StackMap stack:
sipush 500
5: StackMap locals:
StackMap stack: int
istore 4
start local 4 6: aload 3
iload 4
invokevirtual io.vertx.ext.web.impl.RouterImpl.getErrorHandlerByStatusCode:(I)Lio/vertx/core/Handler;
astore 5
start local 5 7: aload 5
ifnull 12
8: aload 5
aload 0
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
9: goto 12
StackMap locals: io.vertx.ext.web.impl.RoutingContextImplBase int java.lang.Throwable io.vertx.ext.web.impl.RouterImpl int io.vertx.core.Handler
StackMap stack: java.lang.Throwable
10: astore 6
start local 6 11: getstatic io.vertx.ext.web.impl.RoutingContextImplBase.LOG:Lio/vertx/core/impl/logging/Logger;
ldc "Error in error handler"
aload 6
invokeinterface io.vertx.core.impl.logging.Logger.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 6 12: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.vertx.ext.web.impl.RoutingContextImplBase.response:()Lio/vertx/core/http/HttpServerResponse;
invokeinterface io.vertx.core.http.HttpServerResponse.ended:()Z
ifne 20
aload 0
invokevirtual io.vertx.ext.web.impl.RoutingContextImplBase.response:()Lio/vertx/core/http/HttpServerResponse;
invokeinterface io.vertx.core.http.HttpServerResponse.closed:()Z
ifne 20
13: aload 0
invokevirtual io.vertx.ext.web.impl.RoutingContextImplBase.response:()Lio/vertx/core/http/HttpServerResponse;
iload 4
invokeinterface io.vertx.core.http.HttpServerResponse.setStatusCode:(I)Lio/vertx/core/http/HttpServerResponse;
pop
14: goto 19
StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
15: pop
16: aload 0
invokevirtual io.vertx.ext.web.impl.RoutingContextImplBase.response:()Lio/vertx/core/http/HttpServerResponse;
17: iload 4
invokestatic io.netty.handler.codec.http.HttpResponseStatus.valueOf:(I)Lio/netty/handler/codec/http/HttpResponseStatus;
invokevirtual io.netty.handler.codec.http.HttpResponseStatus.reasonPhrase:()Ljava/lang/String;
invokeinterface io.vertx.core.http.HttpServerResponse.setStatusMessage:(Ljava/lang/String;)Lio/vertx/core/http/HttpServerResponse;
18: iload 4
invokeinterface io.vertx.core.http.HttpServerResponse.setStatusCode:(I)Lio/vertx/core/http/HttpServerResponse;
pop
19: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.vertx.ext.web.impl.RoutingContextImplBase.response:()Lio/vertx/core/http/HttpServerResponse;
aload 0
invokevirtual io.vertx.ext.web.impl.RoutingContextImplBase.response:()Lio/vertx/core/http/HttpServerResponse;
invokeinterface io.vertx.core.http.HttpServerResponse.getStatusMessage:()Ljava/lang/String;
invokeinterface io.vertx.core.http.HttpServerResponse.end:(Ljava/lang/String;)Lio/vertx/core/Future;
pop
20: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lio/vertx/ext/web/impl/RoutingContextImplBase;
0 21 1 statusCode I
0 21 2 failure Ljava/lang/Throwable;
0 21 3 router Lio/vertx/ext/web/impl/RouterImpl;
6 21 4 code I
7 21 5 errorHandler Lio/vertx/core/Handler<Lio/vertx/ext/web/RoutingContext;>;
11 12 6 t Ljava/lang/Throwable;
Exception table:
from to target type
8 9 10 Class java.lang.Throwable
13 14 15 Class java.lang.IllegalArgumentException
MethodParameters:
Name Flags
statusCode
failure
router
private void resetMatchFailure();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
sipush 404
putfield io.vertx.ext.web.impl.RoutingContextImplBase.matchFailure:I
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/ext/web/impl/RoutingContextImplBase;
}
SourceFile: "RoutingContextImplBase.java"