class javax.swing.text.html.HTMLEditorKit$NavigateLinkAction extends javax.swing.text.TextAction implements javax.swing.event.CaretListener
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: javax.swing.text.html.HTMLEditorKit$NavigateLinkAction
  super_class: javax.swing.text.TextAction
{
  private static final javax.swing.text.html.HTMLEditorKit$NavigateLinkAction$FocusHighlightPainter focusPainter;
    descriptor: Ljavax/swing/text/html/HTMLEditorKit$NavigateLinkAction$FocusHighlightPainter;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final boolean focusBack;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 2100
            new javax.swing.text.html.HTMLEditorKit$NavigateLinkAction$FocusHighlightPainter
            dup
            aconst_null
            invokespecial javax.swing.text.html.HTMLEditorKit$NavigateLinkAction$FocusHighlightPainter.<init>:(Ljava/awt/Color;)V
         1: .line 2099
            putstatic javax.swing.text.html.HTMLEditorKit$NavigateLinkAction.focusPainter:Ljavax/swing/text/html/HTMLEditorKit$NavigateLinkAction$FocusHighlightPainter;
         2: .line 2100
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // javax.swing.text.html.HTMLEditorKit$NavigateLinkAction this
        start local 1 // java.lang.String actionName
         0: .line 2107
            aload 0 /* this */
            aload 1 /* actionName */
            invokespecial javax.swing.text.TextAction.<init>:(Ljava/lang/String;)V
         1: .line 2108
            aload 0 /* this */
            ldc "previous-link-action"
            aload 1 /* actionName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            putfield javax.swing.text.html.HTMLEditorKit$NavigateLinkAction.focusBack:Z
         2: .line 2109
            return
        end local 1 // java.lang.String actionName
        end local 0 // javax.swing.text.html.HTMLEditorKit$NavigateLinkAction this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Ljavax/swing/text/html/HTMLEditorKit$NavigateLinkAction;
            0    3     1  actionName  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      actionName  

  public void caretUpdate(javax.swing.event.CaretEvent);
    descriptor: (Ljavax/swing/event/CaretEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // javax.swing.text.html.HTMLEditorKit$NavigateLinkAction this
        start local 1 // javax.swing.event.CaretEvent e
         0: .line 2117
            aload 1 /* e */
            invokevirtual javax.swing.event.CaretEvent.getSource:()Ljava/lang/Object;
            astore 2 /* src */
        start local 2 // java.lang.Object src
         1: .line 2118
            aload 2 /* src */
            instanceof javax.swing.text.JTextComponent
            ifeq 11
         2: .line 2119
            aload 2 /* src */
            checkcast javax.swing.text.JTextComponent
            astore 3 /* comp */
        start local 3 // javax.swing.text.JTextComponent comp
         3: .line 2120
            aload 0 /* this */
            aload 3 /* comp */
            invokevirtual javax.swing.text.html.HTMLEditorKit$NavigateLinkAction.getHTMLEditorKit:(Ljavax/swing/text/JTextComponent;)Ljavax/swing/text/html/HTMLEditorKit;
            astore 4 /* kit */
        start local 4 // javax.swing.text.html.HTMLEditorKit kit
         4: .line 2121
            aload 4 /* kit */
            ifnull 11
            aload 4 /* kit */
            getfield javax.swing.text.html.HTMLEditorKit.foundLink:Z
            ifeq 11
         5: .line 2122
            aload 4 /* kit */
            iconst_0
            putfield javax.swing.text.html.HTMLEditorKit.foundLink:Z
         6: .line 2126
            aload 3 /* comp */
            invokevirtual javax.swing.text.JTextComponent.getAccessibleContext:()Ljavax/accessibility/AccessibleContext;
         7: .line 2127
            ldc "AccessibleHypertextOffset"
         8: .line 2128
            aload 4 /* kit */
            getfield javax.swing.text.html.HTMLEditorKit.prevHypertextOffset:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
         9: .line 2129
            aload 1 /* e */
            invokevirtual javax.swing.event.CaretEvent.getDot:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
        10: .line 2126
            invokevirtual javax.accessibility.AccessibleContext.firePropertyChange:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        end local 4 // javax.swing.text.html.HTMLEditorKit kit
        end local 3 // javax.swing.text.JTextComponent comp
        11: .line 2132
      StackMap locals: java.lang.Object
      StackMap stack:
            return
        end local 2 // java.lang.Object src
        end local 1 // javax.swing.event.CaretEvent e
        end local 0 // javax.swing.text.html.HTMLEditorKit$NavigateLinkAction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Ljavax/swing/text/html/HTMLEditorKit$NavigateLinkAction;
            0   12     1     e  Ljavax/swing/event/CaretEvent;
            1   12     2   src  Ljava/lang/Object;
            3   11     3  comp  Ljavax/swing/text/JTextComponent;
            4   11     4   kit  Ljavax/swing/text/html/HTMLEditorKit;
    MethodParameters:
      Name  Flags
      e     

  public void actionPerformed(java.awt.event.ActionEvent);
    descriptor: (Ljava/awt/event/ActionEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=14, args_size=2
        start local 0 // javax.swing.text.html.HTMLEditorKit$NavigateLinkAction this
        start local 1 // java.awt.event.ActionEvent e
         0: .line 2138
            aload 0 /* this */
            aload 1 /* e */
            invokevirtual javax.swing.text.html.HTMLEditorKit$NavigateLinkAction.getTextComponent:(Ljava/awt/event/ActionEvent;)Ljavax/swing/text/JTextComponent;
            astore 2 /* comp */
        start local 2 // javax.swing.text.JTextComponent comp
         1: .line 2139
            aload 2 /* comp */
            ifnull 2
            aload 2 /* comp */
            invokevirtual javax.swing.text.JTextComponent.isEditable:()Z
            ifeq 3
         2: .line 2140
      StackMap locals: javax.swing.text.JTextComponent
      StackMap stack:
            return
         3: .line 2143
      StackMap locals:
      StackMap stack:
            aload 2 /* comp */
            invokevirtual javax.swing.text.JTextComponent.getDocument:()Ljavax/swing/text/Document;
            astore 3 /* doc */
        start local 3 // javax.swing.text.Document doc
         4: .line 2144
            aload 0 /* this */
            aload 2 /* comp */
            invokevirtual javax.swing.text.html.HTMLEditorKit$NavigateLinkAction.getHTMLEditorKit:(Ljavax/swing/text/JTextComponent;)Ljavax/swing/text/html/HTMLEditorKit;
            astore 4 /* kit */
        start local 4 // javax.swing.text.html.HTMLEditorKit kit
         5: .line 2145
            aload 3 /* doc */
            ifnull 6
            aload 4 /* kit */
            ifnonnull 7
         6: .line 2146
      StackMap locals: javax.swing.text.Document javax.swing.text.html.HTMLEditorKit
      StackMap stack:
            return
         7: .line 2151
      StackMap locals:
      StackMap stack:
            new javax.swing.text.ElementIterator
            dup
            aload 3 /* doc */
            invokespecial javax.swing.text.ElementIterator.<init>:(Ljavax/swing/text/Document;)V
            astore 5 /* ei */
        start local 5 // javax.swing.text.ElementIterator ei
         8: .line 2152
            aload 2 /* comp */
            invokevirtual javax.swing.text.JTextComponent.getCaretPosition:()I
            istore 6 /* currentOffset */
        start local 6 // int currentOffset
         9: .line 2153
            iconst_m1
            istore 7 /* prevStartOffset */
        start local 7 // int prevStartOffset
        10: .line 2154
            iconst_m1
            istore 8 /* prevEndOffset */
        start local 8 // int prevEndOffset
        11: .line 2158
            goto 38
        start local 9 // javax.swing.text.Element nextElement
        12: .line 2159
      StackMap locals: javax.swing.text.html.HTMLEditorKit$NavigateLinkAction java.awt.event.ActionEvent javax.swing.text.JTextComponent javax.swing.text.Document javax.swing.text.html.HTMLEditorKit javax.swing.text.ElementIterator int int int javax.swing.text.Element
      StackMap stack:
            aload 9 /* nextElement */
            invokeinterface javax.swing.text.Element.getName:()Ljava/lang/String;
            astore 10 /* name */
        start local 10 // java.lang.String name
        13: .line 2160
            aload 9 /* nextElement */
            invokeinterface javax.swing.text.Element.getAttributes:()Ljavax/swing/text/AttributeSet;
            astore 11 /* attr */
        start local 11 // javax.swing.text.AttributeSet attr
        14: .line 2162
            aload 11 /* attr */
            getstatic javax.swing.text.html.HTML$Attribute.HREF:Ljavax/swing/text/html/HTML$Attribute;
            invokestatic javax.swing.text.html.HTMLEditorKit.getAttrValue:(Ljavax/swing/text/AttributeSet;Ljavax/swing/text/html/HTML$Attribute;)Ljava/lang/Object;
            astore 12 /* href */
        start local 12 // java.lang.Object href
        15: .line 2163
            aload 10 /* name */
            getstatic javax.swing.text.html.HTML$Tag.OBJECT:Ljavax/swing/text/html/HTML$Tag;
            invokevirtual javax.swing.text.html.HTML$Tag.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 17
            aload 12 /* href */
            ifnonnull 17
        16: .line 2164
            goto 38
        17: .line 2167
      StackMap locals: java.lang.String javax.swing.text.AttributeSet java.lang.Object
      StackMap stack:
            aload 9 /* nextElement */
            invokeinterface javax.swing.text.Element.getStartOffset:()I
            istore 13 /* elementOffset */
        start local 13 // int elementOffset
        18: .line 2168
            aload 0 /* this */
            getfield javax.swing.text.html.HTMLEditorKit$NavigateLinkAction.focusBack:Z
            ifeq 28
        19: .line 2169
            iload 13 /* elementOffset */
            iload 6 /* currentOffset */
            if_icmplt 36
        20: .line 2170
            iload 7 /* prevStartOffset */
            iflt 36
        21: .line 2172
            aload 4 /* kit */
            iconst_1
            putfield javax.swing.text.html.HTMLEditorKit.foundLink:Z
        22: .line 2173
            aload 2 /* comp */
            iload 7 /* prevStartOffset */
            invokevirtual javax.swing.text.JTextComponent.setCaretPosition:(I)V
        23: .line 2174
            aload 0 /* this */
            aload 2 /* comp */
            aload 4 /* kit */
            iload 7 /* prevStartOffset */
        24: .line 2175
            iload 8 /* prevEndOffset */
        25: .line 2174
            invokevirtual javax.swing.text.html.HTMLEditorKit$NavigateLinkAction.moveCaretPosition:(Ljavax/swing/text/JTextComponent;Ljavax/swing/text/html/HTMLEditorKit;II)V
        26: .line 2176
            aload 4 /* kit */
            iload 7 /* prevStartOffset */
            putfield javax.swing.text.html.HTMLEditorKit.prevHypertextOffset:I
        27: .line 2177
            return
        28: .line 2180
      StackMap locals: int
      StackMap stack:
            iload 13 /* elementOffset */
            iload 6 /* currentOffset */
            if_icmple 36
        29: .line 2182
            aload 4 /* kit */
            iconst_1
            putfield javax.swing.text.html.HTMLEditorKit.foundLink:Z
        30: .line 2183
            aload 2 /* comp */
            iload 13 /* elementOffset */
            invokevirtual javax.swing.text.JTextComponent.setCaretPosition:(I)V
        31: .line 2184
            aload 0 /* this */
            aload 2 /* comp */
            aload 4 /* kit */
            iload 13 /* elementOffset */
        32: .line 2185
            aload 9 /* nextElement */
            invokeinterface javax.swing.text.Element.getEndOffset:()I
        33: .line 2184
            invokevirtual javax.swing.text.html.HTMLEditorKit$NavigateLinkAction.moveCaretPosition:(Ljavax/swing/text/JTextComponent;Ljavax/swing/text/html/HTMLEditorKit;II)V
        34: .line 2186
            aload 4 /* kit */
            iload 13 /* elementOffset */
            putfield javax.swing.text.html.HTMLEditorKit.prevHypertextOffset:I
        35: .line 2187
            return
        36: .line 2190
      StackMap locals:
      StackMap stack:
            aload 9 /* nextElement */
            invokeinterface javax.swing.text.Element.getStartOffset:()I
            istore 7 /* prevStartOffset */
        37: .line 2191
            aload 9 /* nextElement */
            invokeinterface javax.swing.text.Element.getEndOffset:()I
            istore 8 /* prevEndOffset */
        end local 13 // int elementOffset
        end local 12 // java.lang.Object href
        end local 11 // javax.swing.text.AttributeSet attr
        end local 10 // java.lang.String name
        end local 9 // javax.swing.text.Element nextElement
        38: .line 2158
      StackMap locals: javax.swing.text.html.HTMLEditorKit$NavigateLinkAction java.awt.event.ActionEvent javax.swing.text.JTextComponent javax.swing.text.Document javax.swing.text.html.HTMLEditorKit javax.swing.text.ElementIterator int int int
      StackMap stack:
            aload 5 /* ei */
            invokevirtual javax.swing.text.ElementIterator.next:()Ljavax/swing/text/Element;
            dup
            astore 9 /* nextElement */
        start local 9 // javax.swing.text.Element nextElement
        39: ifnonnull 12
        40: .line 2193
            aload 0 /* this */
            getfield javax.swing.text.html.HTMLEditorKit$NavigateLinkAction.focusBack:Z
            ifeq 45
            iload 7 /* prevStartOffset */
            iflt 45
        41: .line 2194
            aload 4 /* kit */
            iconst_1
            putfield javax.swing.text.html.HTMLEditorKit.foundLink:Z
        42: .line 2195
            aload 2 /* comp */
            iload 7 /* prevStartOffset */
            invokevirtual javax.swing.text.JTextComponent.setCaretPosition:(I)V
        43: .line 2196
            aload 0 /* this */
            aload 2 /* comp */
            aload 4 /* kit */
            iload 7 /* prevStartOffset */
            iload 8 /* prevEndOffset */
            invokevirtual javax.swing.text.html.HTMLEditorKit$NavigateLinkAction.moveCaretPosition:(Ljavax/swing/text/JTextComponent;Ljavax/swing/text/html/HTMLEditorKit;II)V
        44: .line 2197
            aload 4 /* kit */
            iload 7 /* prevStartOffset */
            putfield javax.swing.text.html.HTMLEditorKit.prevHypertextOffset:I
        45: .line 2199
      StackMap locals: javax.swing.text.Element
      StackMap stack:
            return
        end local 9 // javax.swing.text.Element nextElement
        end local 8 // int prevEndOffset
        end local 7 // int prevStartOffset
        end local 6 // int currentOffset
        end local 5 // javax.swing.text.ElementIterator ei
        end local 4 // javax.swing.text.html.HTMLEditorKit kit
        end local 3 // javax.swing.text.Document doc
        end local 2 // javax.swing.text.JTextComponent comp
        end local 1 // java.awt.event.ActionEvent e
        end local 0 // javax.swing.text.html.HTMLEditorKit$NavigateLinkAction this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   46     0             this  Ljavax/swing/text/html/HTMLEditorKit$NavigateLinkAction;
            0   46     1                e  Ljava/awt/event/ActionEvent;
            1   46     2             comp  Ljavax/swing/text/JTextComponent;
            4   46     3              doc  Ljavax/swing/text/Document;
            5   46     4              kit  Ljavax/swing/text/html/HTMLEditorKit;
            8   46     5               ei  Ljavax/swing/text/ElementIterator;
            9   46     6    currentOffset  I
           10   46     7  prevStartOffset  I
           11   46     8    prevEndOffset  I
           12   38     9      nextElement  Ljavax/swing/text/Element;
           39   46     9      nextElement  Ljavax/swing/text/Element;
           13   38    10             name  Ljava/lang/String;
           14   38    11             attr  Ljavax/swing/text/AttributeSet;
           15   38    12             href  Ljava/lang/Object;
           18   38    13    elementOffset  I
    MethodParameters:
      Name  Flags
      e     

  private void moveCaretPosition(javax.swing.text.JTextComponent, javax.swing.text.html.HTMLEditorKit, int, int);
    descriptor: (Ljavax/swing/text/JTextComponent;Ljavax/swing/text/html/HTMLEditorKit;II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=5
        start local 0 // javax.swing.text.html.HTMLEditorKit$NavigateLinkAction this
        start local 1 // javax.swing.text.JTextComponent comp
        start local 2 // javax.swing.text.html.HTMLEditorKit kit
        start local 3 // int mark
        start local 4 // int dot
         0: .line 2206
            aload 1 /* comp */
            invokevirtual javax.swing.text.JTextComponent.getHighlighter:()Ljavax/swing/text/Highlighter;
            astore 5 /* h */
        start local 5 // javax.swing.text.Highlighter h
         1: .line 2207
            aload 5 /* h */
            ifnull 12
         2: .line 2208
            iload 4 /* dot */
            iload 3 /* mark */
            invokestatic java.lang.Math.min:(II)I
            istore 6 /* p0 */
        start local 6 // int p0
         3: .line 2209
            iload 4 /* dot */
            iload 3 /* mark */
            invokestatic java.lang.Math.max:(II)I
            istore 7 /* p1 */
        start local 7 // int p1
         4: .line 2211
            aload 2 /* kit */
            getfield javax.swing.text.html.HTMLEditorKit.linkNavigationTag:Ljava/lang/Object;
            ifnull 7
         5: .line 2212
            aload 5 /* h */
            aload 2 /* kit */
            getfield javax.swing.text.html.HTMLEditorKit.linkNavigationTag:Ljava/lang/Object;
            iload 6 /* p0 */
            iload 7 /* p1 */
            invokeinterface javax.swing.text.Highlighter.changeHighlight:(Ljava/lang/Object;II)V
         6: .line 2213
            goto 12
         7: .line 2214
      StackMap locals: javax.swing.text.Highlighter int int
      StackMap stack:
            aload 2 /* kit */
         8: .line 2215
            aload 5 /* h */
            iload 6 /* p0 */
            iload 7 /* p1 */
            getstatic javax.swing.text.html.HTMLEditorKit$NavigateLinkAction.focusPainter:Ljavax/swing/text/html/HTMLEditorKit$NavigateLinkAction$FocusHighlightPainter;
            invokeinterface javax.swing.text.Highlighter.addHighlight:(IILjavax/swing/text/Highlighter$HighlightPainter;)Ljava/lang/Object;
         9: .line 2214
            putfield javax.swing.text.html.HTMLEditorKit.linkNavigationTag:Ljava/lang/Object;
        10: .line 2217
            goto 12
      StackMap locals:
      StackMap stack: javax.swing.text.BadLocationException
        11: pop
        end local 7 // int p1
        end local 6 // int p0
        12: .line 2220
      StackMap locals:
      StackMap stack:
            return
        end local 5 // javax.swing.text.Highlighter h
        end local 4 // int dot
        end local 3 // int mark
        end local 2 // javax.swing.text.html.HTMLEditorKit kit
        end local 1 // javax.swing.text.JTextComponent comp
        end local 0 // javax.swing.text.html.HTMLEditorKit$NavigateLinkAction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Ljavax/swing/text/html/HTMLEditorKit$NavigateLinkAction;
            0   13     1  comp  Ljavax/swing/text/JTextComponent;
            0   13     2   kit  Ljavax/swing/text/html/HTMLEditorKit;
            0   13     3  mark  I
            0   13     4   dot  I
            1   13     5     h  Ljavax/swing/text/Highlighter;
            3   12     6    p0  I
            4   12     7    p1  I
      Exception table:
        from    to  target  type
           4    10      11  Class javax.swing.text.BadLocationException
    MethodParameters:
      Name  Flags
      comp  
      kit   
      mark  
      dot   

  private javax.swing.text.html.HTMLEditorKit getHTMLEditorKit(javax.swing.text.JTextComponent);
    descriptor: (Ljavax/swing/text/JTextComponent;)Ljavax/swing/text/html/HTMLEditorKit;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=3, args_size=2
        start local 0 // javax.swing.text.html.HTMLEditorKit$NavigateLinkAction this
        start local 1 // javax.swing.text.JTextComponent comp
         0: .line 2223
            aload 1 /* comp */
            instanceof javax.swing.JEditorPane
            ifeq 4
         1: .line 2224
            aload 1 /* comp */
            checkcast javax.swing.JEditorPane
            invokevirtual javax.swing.JEditorPane.getEditorKit:()Ljavax/swing/text/EditorKit;
            astore 2 /* kit */
        start local 2 // javax.swing.text.EditorKit kit
         2: .line 2225
            aload 2 /* kit */
            instanceof javax.swing.text.html.HTMLEditorKit
            ifeq 4
         3: .line 2226
            aload 2 /* kit */
            checkcast javax.swing.text.html.HTMLEditorKit
            areturn
        end local 2 // javax.swing.text.EditorKit kit
         4: .line 2229
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // javax.swing.text.JTextComponent comp
        end local 0 // javax.swing.text.html.HTMLEditorKit$NavigateLinkAction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljavax/swing/text/html/HTMLEditorKit$NavigateLinkAction;
            0    5     1  comp  Ljavax/swing/text/JTextComponent;
            2    4     2   kit  Ljavax/swing/text/EditorKit;
    MethodParameters:
      Name  Flags
      comp  
}
SourceFile: "HTMLEditorKit.java"
NestHost: javax.swing.text.html.HTMLEditorKit
InnerClasses:
  public abstract HighlightPainter = javax.swing.text.Highlighter$HighlightPainter of javax.swing.text.Highlighter
  public final Attribute = javax.swing.text.html.HTML$Attribute of javax.swing.text.html.HTML
  public Tag = javax.swing.text.html.HTML$Tag of javax.swing.text.html.HTML
  NavigateLinkAction = javax.swing.text.html.HTMLEditorKit$NavigateLinkAction of javax.swing.text.html.HTMLEditorKit
  FocusHighlightPainter = javax.swing.text.html.HTMLEditorKit$NavigateLinkAction$FocusHighlightPainter of javax.swing.text.html.HTMLEditorKit$NavigateLinkAction