class freemarker.debug.DebuggerClient$LocalDebuggerProxy implements freemarker.debug.Debugger
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: freemarker.debug.DebuggerClient$LocalDebuggerProxy
  super_class: java.lang.Object
{
  private final freemarker.debug.Debugger remoteDebugger;
    descriptor: Lfreemarker/debug/Debugger;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  void <init>(freemarker.debug.Debugger);
    descriptor: (Lfreemarker/debug/Debugger;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.debug.DebuggerClient$LocalDebuggerProxy this
        start local 1 // freemarker.debug.Debugger remoteDebugger
         0: .line 93
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 94
            aload 0 /* this */
            aload 1 /* remoteDebugger */
            putfield freemarker.debug.DebuggerClient$LocalDebuggerProxy.remoteDebugger:Lfreemarker/debug/Debugger;
         2: .line 95
            return
        end local 1 // freemarker.debug.Debugger remoteDebugger
        end local 0 // freemarker.debug.DebuggerClient$LocalDebuggerProxy this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0            this  Lfreemarker/debug/DebuggerClient$LocalDebuggerProxy;
            0    3     1  remoteDebugger  Lfreemarker/debug/Debugger;
    MethodParameters:
                Name  Flags
      remoteDebugger  

  public void addBreakpoint(freemarker.debug.Breakpoint);
    descriptor: (Lfreemarker/debug/Breakpoint;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.debug.DebuggerClient$LocalDebuggerProxy this
        start local 1 // freemarker.debug.Breakpoint breakpoint
         0: .line 98
            aload 0 /* this */
            getfield freemarker.debug.DebuggerClient$LocalDebuggerProxy.remoteDebugger:Lfreemarker/debug/Debugger;
            aload 1 /* breakpoint */
            invokeinterface freemarker.debug.Debugger.addBreakpoint:(Lfreemarker/debug/Breakpoint;)V
         1: .line 99
            return
        end local 1 // freemarker.debug.Breakpoint breakpoint
        end local 0 // freemarker.debug.DebuggerClient$LocalDebuggerProxy this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lfreemarker/debug/DebuggerClient$LocalDebuggerProxy;
            0    2     1  breakpoint  Lfreemarker/debug/Breakpoint;
    Exceptions:
      throws java.rmi.RemoteException
    MethodParameters:
            Name  Flags
      breakpoint  

  public java.lang.Object addDebuggerListener(freemarker.debug.DebuggerListener);
    descriptor: (Lfreemarker/debug/DebuggerListener;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // freemarker.debug.DebuggerClient$LocalDebuggerProxy this
        start local 1 // freemarker.debug.DebuggerListener listener
         0: .line 103
            aload 1 /* listener */
            instanceof java.rmi.server.RemoteObject
            ifeq 2
         1: .line 104
            aload 0 /* this */
            getfield freemarker.debug.DebuggerClient$LocalDebuggerProxy.remoteDebugger:Lfreemarker/debug/Debugger;
            aload 1 /* listener */
            invokeinterface freemarker.debug.Debugger.addDebuggerListener:(Lfreemarker/debug/DebuggerListener;)Ljava/lang/Object;
            areturn
         2: .line 107
      StackMap locals:
      StackMap stack:
            new freemarker.debug.impl.RmiDebuggerListenerImpl
            dup
            aload 1 /* listener */
            invokespecial freemarker.debug.impl.RmiDebuggerListenerImpl.<init>:(Lfreemarker/debug/DebuggerListener;)V
         3: .line 106
            astore 2 /* remotableListener */
        start local 2 // freemarker.debug.impl.RmiDebuggerListenerImpl remotableListener
         4: .line 108
            aload 0 /* this */
            getfield freemarker.debug.DebuggerClient$LocalDebuggerProxy.remoteDebugger:Lfreemarker/debug/Debugger;
            aload 2 /* remotableListener */
            invokeinterface freemarker.debug.Debugger.addDebuggerListener:(Lfreemarker/debug/DebuggerListener;)Ljava/lang/Object;
            areturn
        end local 2 // freemarker.debug.impl.RmiDebuggerListenerImpl remotableListener
        end local 1 // freemarker.debug.DebuggerListener listener
        end local 0 // freemarker.debug.DebuggerClient$LocalDebuggerProxy this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    5     0               this  Lfreemarker/debug/DebuggerClient$LocalDebuggerProxy;
            0    5     1           listener  Lfreemarker/debug/DebuggerListener;
            4    5     2  remotableListener  Lfreemarker/debug/impl/RmiDebuggerListenerImpl;
    Exceptions:
      throws java.rmi.RemoteException
    MethodParameters:
          Name  Flags
      listener  

  public java.util.List getBreakpoints();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.debug.DebuggerClient$LocalDebuggerProxy this
         0: .line 113
            aload 0 /* this */
            getfield freemarker.debug.DebuggerClient$LocalDebuggerProxy.remoteDebugger:Lfreemarker/debug/Debugger;
            invokeinterface freemarker.debug.Debugger.getBreakpoints:()Ljava/util/List;
            areturn
        end local 0 // freemarker.debug.DebuggerClient$LocalDebuggerProxy this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/debug/DebuggerClient$LocalDebuggerProxy;
    Exceptions:
      throws java.rmi.RemoteException

  public java.util.List getBreakpoints(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.debug.DebuggerClient$LocalDebuggerProxy this
        start local 1 // java.lang.String templateName
         0: .line 117
            aload 0 /* this */
            getfield freemarker.debug.DebuggerClient$LocalDebuggerProxy.remoteDebugger:Lfreemarker/debug/Debugger;
            aload 1 /* templateName */
            invokeinterface freemarker.debug.Debugger.getBreakpoints:(Ljava/lang/String;)Ljava/util/List;
            areturn
        end local 1 // java.lang.String templateName
        end local 0 // freemarker.debug.DebuggerClient$LocalDebuggerProxy this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lfreemarker/debug/DebuggerClient$LocalDebuggerProxy;
            0    1     1  templateName  Ljava/lang/String;
    Exceptions:
      throws java.rmi.RemoteException
    MethodParameters:
              Name  Flags
      templateName  

  public java.util.Collection getSuspendedEnvironments();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.debug.DebuggerClient$LocalDebuggerProxy this
         0: .line 121
            aload 0 /* this */
            getfield freemarker.debug.DebuggerClient$LocalDebuggerProxy.remoteDebugger:Lfreemarker/debug/Debugger;
            invokeinterface freemarker.debug.Debugger.getSuspendedEnvironments:()Ljava/util/Collection;
            areturn
        end local 0 // freemarker.debug.DebuggerClient$LocalDebuggerProxy this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/debug/DebuggerClient$LocalDebuggerProxy;
    Exceptions:
      throws java.rmi.RemoteException

  public void removeBreakpoint(freemarker.debug.Breakpoint);
    descriptor: (Lfreemarker/debug/Breakpoint;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.debug.DebuggerClient$LocalDebuggerProxy this
        start local 1 // freemarker.debug.Breakpoint breakpoint
         0: .line 125
            aload 0 /* this */
            getfield freemarker.debug.DebuggerClient$LocalDebuggerProxy.remoteDebugger:Lfreemarker/debug/Debugger;
            aload 1 /* breakpoint */
            invokeinterface freemarker.debug.Debugger.removeBreakpoint:(Lfreemarker/debug/Breakpoint;)V
         1: .line 126
            return
        end local 1 // freemarker.debug.Breakpoint breakpoint
        end local 0 // freemarker.debug.DebuggerClient$LocalDebuggerProxy this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lfreemarker/debug/DebuggerClient$LocalDebuggerProxy;
            0    2     1  breakpoint  Lfreemarker/debug/Breakpoint;
    Exceptions:
      throws java.rmi.RemoteException
    MethodParameters:
            Name  Flags
      breakpoint  

  public void removeBreakpoints(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.debug.DebuggerClient$LocalDebuggerProxy this
        start local 1 // java.lang.String templateName
         0: .line 129
            aload 0 /* this */
            getfield freemarker.debug.DebuggerClient$LocalDebuggerProxy.remoteDebugger:Lfreemarker/debug/Debugger;
            aload 1 /* templateName */
            invokeinterface freemarker.debug.Debugger.removeBreakpoints:(Ljava/lang/String;)V
         1: .line 130
            return
        end local 1 // java.lang.String templateName
        end local 0 // freemarker.debug.DebuggerClient$LocalDebuggerProxy this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lfreemarker/debug/DebuggerClient$LocalDebuggerProxy;
            0    2     1  templateName  Ljava/lang/String;
    Exceptions:
      throws java.rmi.RemoteException
    MethodParameters:
              Name  Flags
      templateName  

  public void removeBreakpoints();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.debug.DebuggerClient$LocalDebuggerProxy this
         0: .line 133
            aload 0 /* this */
            getfield freemarker.debug.DebuggerClient$LocalDebuggerProxy.remoteDebugger:Lfreemarker/debug/Debugger;
            invokeinterface freemarker.debug.Debugger.removeBreakpoints:()V
         1: .line 134
            return
        end local 0 // freemarker.debug.DebuggerClient$LocalDebuggerProxy this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lfreemarker/debug/DebuggerClient$LocalDebuggerProxy;
    Exceptions:
      throws java.rmi.RemoteException

  public void removeDebuggerListener(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.debug.DebuggerClient$LocalDebuggerProxy this
        start local 1 // java.lang.Object id
         0: .line 137
            aload 0 /* this */
            getfield freemarker.debug.DebuggerClient$LocalDebuggerProxy.remoteDebugger:Lfreemarker/debug/Debugger;
            aload 1 /* id */
            invokeinterface freemarker.debug.Debugger.removeDebuggerListener:(Ljava/lang/Object;)V
         1: .line 138
            return
        end local 1 // java.lang.Object id
        end local 0 // freemarker.debug.DebuggerClient$LocalDebuggerProxy this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lfreemarker/debug/DebuggerClient$LocalDebuggerProxy;
            0    2     1    id  Ljava/lang/Object;
    Exceptions:
      throws java.rmi.RemoteException
    MethodParameters:
      Name  Flags
      id    
}
SourceFile: "DebuggerClient.java"
NestHost: freemarker.debug.DebuggerClient
InnerClasses:
  private LocalDebuggerProxy = freemarker.debug.DebuggerClient$LocalDebuggerProxy of freemarker.debug.DebuggerClient