public class com.sun.tools.jdi.SocketListeningConnector extends com.sun.tools.jdi.GenericListeningConnector
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.tools.jdi.SocketListeningConnector
  super_class: com.sun.tools.jdi.GenericListeningConnector
{
  static final java.lang.String ARG_PORT;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "port"

  static final java.lang.String ARG_LOCALADDR;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "localAddress"

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=1, args_size=1
        start local 0 // com.sun.tools.jdi.SocketListeningConnector this
         0: .line 44
            aload 0 /* this */
            new com.sun.tools.jdi.SocketTransportService
            dup
            invokespecial com.sun.tools.jdi.SocketTransportService.<init>:()V
            invokespecial com.sun.tools.jdi.GenericListeningConnector.<init>:(Lcom/sun/jdi/connect/spi/TransportService;)V
         1: .line 46
            aload 0 /* this */
         2: .line 47
            ldc "port"
         3: .line 48
            aload 0 /* this */
            ldc "socket_listening.port.label"
            invokevirtual com.sun.tools.jdi.SocketListeningConnector.getString:(Ljava/lang/String;)Ljava/lang/String;
         4: .line 49
            aload 0 /* this */
            ldc "socket_listening.port"
            invokevirtual com.sun.tools.jdi.SocketListeningConnector.getString:(Ljava/lang/String;)Ljava/lang/String;
         5: .line 50
            ldc ""
         6: .line 51
            iconst_0
         7: .line 52
            iconst_0
            ldc 2147483647
         8: .line 46
            invokevirtual com.sun.tools.jdi.SocketListeningConnector.addIntegerArgument:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZII)V
         9: .line 54
            aload 0 /* this */
        10: .line 55
            ldc "localAddress"
        11: .line 56
            aload 0 /* this */
            ldc "socket_listening.localaddr.label"
            invokevirtual com.sun.tools.jdi.SocketListeningConnector.getString:(Ljava/lang/String;)Ljava/lang/String;
        12: .line 57
            aload 0 /* this */
            ldc "socket_listening.localaddr"
            invokevirtual com.sun.tools.jdi.SocketListeningConnector.getString:(Ljava/lang/String;)Ljava/lang/String;
        13: .line 58
            ldc ""
        14: .line 59
            iconst_0
        15: .line 54
            invokevirtual com.sun.tools.jdi.SocketListeningConnector.addStringArgument:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
        16: .line 61
            aload 0 /* this */
            new com.sun.tools.jdi.SocketListeningConnector$1
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.jdi.SocketListeningConnector$1.<init>:(Lcom/sun/tools/jdi/SocketListeningConnector;)V
            putfield com.sun.tools.jdi.SocketListeningConnector.transport:Lcom/sun/jdi/connect/Transport;
        17: .line 66
            return
        end local 0 // com.sun.tools.jdi.SocketListeningConnector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   18     0  this  Lcom/sun/tools/jdi/SocketListeningConnector;

  public java.lang.String startListening(java.util.Map<java.lang.String, ? extends com.sun.jdi.connect.Connector$Argument>);
    descriptor: (Ljava/util/Map;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.sun.tools.jdi.SocketListeningConnector this
        start local 1 // java.util.Map args
         0: .line 72
            aload 0 /* this */
            ldc "port"
            aload 1 /* args */
            invokevirtual com.sun.tools.jdi.SocketListeningConnector.argument:(Ljava/lang/String;Ljava/util/Map;)Lcom/sun/tools/jdi/ConnectorImpl$ArgumentImpl;
            invokevirtual com.sun.tools.jdi.ConnectorImpl$ArgumentImpl.value:()Ljava/lang/String;
            astore 2 /* port */
        start local 2 // java.lang.String port
         1: .line 73
            aload 0 /* this */
            ldc "localAddress"
            aload 1 /* args */
            invokevirtual com.sun.tools.jdi.SocketListeningConnector.argument:(Ljava/lang/String;Ljava/util/Map;)Lcom/sun/tools/jdi/ConnectorImpl$ArgumentImpl;
            invokevirtual com.sun.tools.jdi.ConnectorImpl$ArgumentImpl.value:()Ljava/lang/String;
            astore 3 /* localaddr */
        start local 3 // java.lang.String localaddr
         2: .line 76
            aload 2 /* port */
            invokevirtual java.lang.String.length:()I
            ifne 4
         3: .line 77
            ldc "0"
            astore 2 /* port */
         4: .line 80
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 3 /* localaddr */
            invokevirtual java.lang.String.length:()I
            ifle 7
         5: .line 81
            new java.lang.StringBuilder
            dup
            aload 3 /* localaddr */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* port */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* localaddr */
         6: .line 82
            goto 8
         7: .line 83
      StackMap locals:
      StackMap stack:
            aload 2 /* port */
            astore 3 /* localaddr */
         8: .line 86
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* localaddr */
            aload 1 /* args */
            invokespecial com.sun.tools.jdi.GenericListeningConnector.startListening:(Ljava/lang/String;Ljava/util/Map;)Ljava/lang/String;
            areturn
        end local 3 // java.lang.String localaddr
        end local 2 // java.lang.String port
        end local 1 // java.util.Map args
        end local 0 // com.sun.tools.jdi.SocketListeningConnector this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Lcom/sun/tools/jdi/SocketListeningConnector;
            0    9     1       args  Ljava/util/Map<Ljava/lang/String;+Lcom/sun/jdi/connect/Connector$Argument;>;
            1    9     2       port  Ljava/lang/String;
            2    9     3  localaddr  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException, com.sun.jdi.connect.IllegalConnectorArgumentsException
    Signature: (Ljava/util/Map<Ljava/lang/String;+Lcom/sun/jdi/connect/Connector$Argument;>;)Ljava/lang/String;
    MethodParameters:
      Name  Flags
      args  

  public java.lang.String name();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.jdi.SocketListeningConnector this
         0: .line 90
            ldc "com.sun.jdi.SocketListen"
            areturn
        end local 0 // com.sun.tools.jdi.SocketListeningConnector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/jdi/SocketListeningConnector;

  public java.lang.String description();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.jdi.SocketListeningConnector this
         0: .line 94
            aload 0 /* this */
            ldc "socket_listening.description"
            invokevirtual com.sun.tools.jdi.SocketListeningConnector.getString:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // com.sun.tools.jdi.SocketListeningConnector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/jdi/SocketListeningConnector;

  protected void updateArgumentMapIfRequired(java.util.Map<java.lang.String, ? extends com.sun.jdi.connect.Connector$Argument>, com.sun.jdi.connect.spi.TransportService$ListenKey);
    descriptor: (Ljava/util/Map;Lcom/sun/jdi/connect/spi/TransportService$ListenKey;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.sun.tools.jdi.SocketListeningConnector this
        start local 1 // java.util.Map args
        start local 2 // com.sun.jdi.connect.spi.TransportService$ListenKey listener
         0: .line 101
            aload 0 /* this */
            aload 1 /* args */
            invokevirtual com.sun.tools.jdi.SocketListeningConnector.isWildcardPort:(Ljava/util/Map;)Z
            ifeq 4
         1: .line 102
            aload 2 /* listener */
            invokevirtual com.sun.jdi.connect.spi.TransportService$ListenKey.address:()Ljava/lang/String;
            ldc ":"
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 3 /* address */
        start local 3 // java.lang.String[] address
         2: .line 103
            aload 3 /* address */
            arraylength
            iconst_1
            if_icmple 4
         3: .line 104
            aload 1 /* args */
            ldc "port"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.sun.jdi.connect.Connector$Argument
            aload 3 /* address */
            iconst_1
            aaload
            invokeinterface com.sun.jdi.connect.Connector$Argument.setValue:(Ljava/lang/String;)V
        end local 3 // java.lang.String[] address
         4: .line 107
      StackMap locals:
      StackMap stack:
            return
        end local 2 // com.sun.jdi.connect.spi.TransportService$ListenKey listener
        end local 1 // java.util.Map args
        end local 0 // com.sun.tools.jdi.SocketListeningConnector this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lcom/sun/tools/jdi/SocketListeningConnector;
            0    5     1      args  Ljava/util/Map<Ljava/lang/String;+Lcom/sun/jdi/connect/Connector$Argument;>;
            0    5     2  listener  Lcom/sun/jdi/connect/spi/TransportService$ListenKey;
            2    4     3   address  [Ljava/lang/String;
    Signature: (Ljava/util/Map<Ljava/lang/String;+Lcom/sun/jdi/connect/Connector$Argument;>;Lcom/sun/jdi/connect/spi/TransportService$ListenKey;)V
    MethodParameters:
          Name  Flags
      args      
      listener  

  private boolean isWildcardPort(java.util.Map<java.lang.String, ? extends com.sun.jdi.connect.Connector$Argument>);
    descriptor: (Ljava/util/Map;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.sun.tools.jdi.SocketListeningConnector this
        start local 1 // java.util.Map args
         0: .line 110
            aload 1 /* args */
            ldc "port"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.sun.jdi.connect.Connector$Argument
            invokeinterface com.sun.jdi.connect.Connector$Argument.value:()Ljava/lang/String;
            astore 2 /* port */
        start local 2 // java.lang.String port
         1: .line 111
            aload 2 /* port */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 2
            aload 2 /* port */
            invokestatic java.lang.Integer.valueOf:(Ljava/lang/String;)Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            ifeq 2
            iconst_0
            ireturn
      StackMap locals: java.lang.String
      StackMap stack:
         2: iconst_1
            ireturn
        end local 2 // java.lang.String port
        end local 1 // java.util.Map args
        end local 0 // com.sun.tools.jdi.SocketListeningConnector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/tools/jdi/SocketListeningConnector;
            0    3     1  args  Ljava/util/Map<Ljava/lang/String;+Lcom/sun/jdi/connect/Connector$Argument;>;
            1    3     2  port  Ljava/lang/String;
    Signature: (Ljava/util/Map<Ljava/lang/String;+Lcom/sun/jdi/connect/Connector$Argument;>;)Z
    MethodParameters:
      Name  Flags
      args  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokespecial com.sun.tools.jdi.GenericListeningConnector.toString:()Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.util.Map defaultArguments();
    descriptor: ()Ljava/util/Map;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokespecial com.sun.tools.jdi.GenericListeningConnector.defaultArguments:()Ljava/util/Map;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "SocketListeningConnector.java"
NestMembers:
  com.sun.tools.jdi.SocketListeningConnector$1
InnerClasses:
  public abstract Argument = com.sun.jdi.connect.Connector$Argument of com.sun.jdi.connect.Connector
  public abstract ListenKey = com.sun.jdi.connect.spi.TransportService$ListenKey of com.sun.jdi.connect.spi.TransportService
  abstract ArgumentImpl = com.sun.tools.jdi.ConnectorImpl$ArgumentImpl of com.sun.tools.jdi.ConnectorImpl
  com.sun.tools.jdi.SocketListeningConnector$1