public class org.apache.batik.bridge.TextNode extends org.apache.batik.gvt.AbstractGraphicsNode implements org.apache.batik.gvt.Selectable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.batik.bridge.TextNode
  super_class: org.apache.batik.gvt.AbstractGraphicsNode
{
  public static final java.text.AttributedCharacterIterator$Attribute PAINT_INFO;
    descriptor: Ljava/text/AttributedCharacterIterator$Attribute;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  protected java.awt.geom.Point2D location;
    descriptor: Ljava/awt/geom/Point2D;
    flags: (0x0004) ACC_PROTECTED

  protected java.text.AttributedCharacterIterator aci;
    descriptor: Ljava/text/AttributedCharacterIterator;
    flags: (0x0004) ACC_PROTECTED

  protected java.lang.String text;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  protected org.apache.batik.bridge.Mark beginMark;
    descriptor: Lorg/apache/batik/bridge/Mark;
    flags: (0x0004) ACC_PROTECTED

  protected org.apache.batik.bridge.Mark endMark;
    descriptor: Lorg/apache/batik/bridge/Mark;
    flags: (0x0004) ACC_PROTECTED

  protected java.util.List textRuns;
    descriptor: Ljava/util/List;
    flags: (0x0004) ACC_PROTECTED

  protected org.apache.batik.bridge.TextPainter textPainter;
    descriptor: Lorg/apache/batik/bridge/TextPainter;
    flags: (0x0004) ACC_PROTECTED

  private java.awt.geom.Rectangle2D geometryBounds;
    descriptor: Ljava/awt/geom/Rectangle2D;
    flags: (0x0002) ACC_PRIVATE

  private java.awt.geom.Rectangle2D primitiveBounds;
    descriptor: Ljava/awt/geom/Rectangle2D;
    flags: (0x0002) ACC_PRIVATE

  private java.awt.Shape outline;
    descriptor: Ljava/awt/Shape;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 47
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.PAINT_INFO:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
         1: .line 46
            putstatic org.apache.batik.bridge.TextNode.PAINT_INFO:Ljava/text/AttributedCharacterIterator$Attribute;
         2: .line 47
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.apache.batik.bridge.TextNode this
         0: .line 104
            aload 0 /* this */
            invokespecial org.apache.batik.gvt.AbstractGraphicsNode.<init>:()V
         1: .line 53
            aload 0 /* this */
            new java.awt.geom.Point2D$Float
            dup
            fconst_0
            fconst_0
            invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
            putfield org.apache.batik.bridge.TextNode.location:Ljava/awt/geom/Point2D;
         2: .line 68
            aload 0 /* this */
            aconst_null
            putfield org.apache.batik.bridge.TextNode.beginMark:Lorg/apache/batik/bridge/Mark;
         3: .line 73
            aload 0 /* this */
            aconst_null
            putfield org.apache.batik.bridge.TextNode.endMark:Lorg/apache/batik/bridge/Mark;
         4: .line 83
            aload 0 /* this */
            invokestatic org.apache.batik.bridge.StrokingTextPainter.getInstance:()Lorg/apache/batik/bridge/TextPainter;
            putfield org.apache.batik.bridge.TextNode.textPainter:Lorg/apache/batik/bridge/TextPainter;
         5: .line 105
            return
        end local 0 // org.apache.batik.bridge.TextNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/apache/batik/bridge/TextNode;

  public void setTextPainter(org.apache.batik.bridge.TextPainter);
    descriptor: (Lorg/apache/batik/bridge/TextPainter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.batik.bridge.TextNode this
        start local 1 // org.apache.batik.bridge.TextPainter textPainter
         0: .line 115
            aload 1 /* textPainter */
            ifnonnull 3
         1: .line 116
            aload 0 /* this */
            invokestatic org.apache.batik.bridge.StrokingTextPainter.getInstance:()Lorg/apache/batik/bridge/TextPainter;
            putfield org.apache.batik.bridge.TextNode.textPainter:Lorg/apache/batik/bridge/TextPainter;
         2: .line 117
            goto 4
         3: .line 118
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* textPainter */
            putfield org.apache.batik.bridge.TextNode.textPainter:Lorg/apache/batik/bridge/TextPainter;
         4: .line 120
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.apache.batik.bridge.TextPainter textPainter
        end local 0 // org.apache.batik.bridge.TextNode this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lorg/apache/batik/bridge/TextNode;
            0    5     1  textPainter  Lorg/apache/batik/bridge/TextPainter;
    MethodParameters:
             Name  Flags
      textPainter  

  public org.apache.batik.bridge.TextPainter getTextPainter();
    descriptor: ()Lorg/apache/batik/bridge/TextPainter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.batik.bridge.TextNode this
         0: .line 126
            aload 0 /* this */
            getfield org.apache.batik.bridge.TextNode.textPainter:Lorg/apache/batik/bridge/TextPainter;
            areturn
        end local 0 // org.apache.batik.bridge.TextNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/batik/bridge/TextNode;

  public java.util.List getTextRuns();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.batik.bridge.TextNode this
         0: .line 133
            aload 0 /* this */
            getfield org.apache.batik.bridge.TextNode.textRuns:Ljava/util/List;
            areturn
        end local 0 // org.apache.batik.bridge.TextNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/batik/bridge/TextNode;

  public void setTextRuns(java.util.List);
    descriptor: (Ljava/util/List;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.batik.bridge.TextNode this
        start local 1 // java.util.List textRuns
         0: .line 142
            aload 0 /* this */
            aload 1 /* textRuns */
            putfield org.apache.batik.bridge.TextNode.textRuns:Ljava/util/List;
         1: .line 143
            return
        end local 1 // java.util.List textRuns
        end local 0 // org.apache.batik.bridge.TextNode this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/apache/batik/bridge/TextNode;
            0    2     1  textRuns  Ljava/util/List;
    MethodParameters:
          Name  Flags
      textRuns  

  public java.lang.String getText();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.apache.batik.bridge.TextNode this
         0: .line 150
            aload 0 /* this */
            getfield org.apache.batik.bridge.TextNode.text:Ljava/lang/String;
            ifnull 2
         1: .line 151
            aload 0 /* this */
            getfield org.apache.batik.bridge.TextNode.text:Ljava/lang/String;
            areturn
         2: .line 153
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.TextNode.aci:Ljava/text/AttributedCharacterIterator;
            ifnonnull 5
         3: .line 154
            aload 0 /* this */
            ldc ""
            putfield org.apache.batik.bridge.TextNode.text:Ljava/lang/String;
         4: .line 155
            goto 12
         5: .line 156
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuffer
            dup
            aload 0 /* this */
            getfield org.apache.batik.bridge.TextNode.aci:Ljava/text/AttributedCharacterIterator;
            invokeinterface java.text.AttributedCharacterIterator.getEndIndex:()I
            invokespecial java.lang.StringBuffer.<init>:(I)V
            astore 1 /* buf */
        start local 1 // java.lang.StringBuffer buf
         6: .line 157
            aload 0 /* this */
            getfield org.apache.batik.bridge.TextNode.aci:Ljava/text/AttributedCharacterIterator;
            invokeinterface java.text.AttributedCharacterIterator.first:()C
            istore 2 /* c */
        start local 2 // char c
         7: .line 158
            goto 10
         8: .line 160
      StackMap locals: java.lang.StringBuffer int
      StackMap stack:
            aload 1 /* buf */
            iload 2 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         9: .line 159
            aload 0 /* this */
            getfield org.apache.batik.bridge.TextNode.aci:Ljava/text/AttributedCharacterIterator;
            invokeinterface java.text.AttributedCharacterIterator.next:()C
            istore 2 /* c */
        10: .line 158
      StackMap locals:
      StackMap stack:
            iload 2 /* c */
            ldc 65535
            if_icmpne 8
        end local 2 // char c
        11: .line 162
            aload 0 /* this */
            aload 1 /* buf */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            putfield org.apache.batik.bridge.TextNode.text:Ljava/lang/String;
        end local 1 // java.lang.StringBuffer buf
        12: .line 164
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.TextNode.text:Ljava/lang/String;
            areturn
        end local 0 // org.apache.batik.bridge.TextNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lorg/apache/batik/bridge/TextNode;
            6   12     1   buf  Ljava/lang/StringBuffer;
            7   11     2     c  C

  public void setLocation(java.awt.geom.Point2D);
    descriptor: (Ljava/awt/geom/Point2D;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.batik.bridge.TextNode this
        start local 1 // java.awt.geom.Point2D newLocation
         0: .line 173
            aload 0 /* this */
            invokevirtual org.apache.batik.bridge.TextNode.fireGraphicsNodeChangeStarted:()V
         1: .line 174
            aload 0 /* this */
            invokevirtual org.apache.batik.bridge.TextNode.invalidateGeometryCache:()V
         2: .line 175
            aload 0 /* this */
            aload 1 /* newLocation */
            putfield org.apache.batik.bridge.TextNode.location:Ljava/awt/geom/Point2D;
         3: .line 176
            aload 0 /* this */
            invokevirtual org.apache.batik.bridge.TextNode.fireGraphicsNodeChangeCompleted:()V
         4: .line 177
            return
        end local 1 // java.awt.geom.Point2D newLocation
        end local 0 // org.apache.batik.bridge.TextNode this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lorg/apache/batik/bridge/TextNode;
            0    5     1  newLocation  Ljava/awt/geom/Point2D;
    MethodParameters:
             Name  Flags
      newLocation  

  public java.awt.geom.Point2D getLocation();
    descriptor: ()Ljava/awt/geom/Point2D;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.batik.bridge.TextNode this
         0: .line 185
            aload 0 /* this */
            getfield org.apache.batik.bridge.TextNode.location:Ljava/awt/geom/Point2D;
            areturn
        end local 0 // org.apache.batik.bridge.TextNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/batik/bridge/TextNode;

  public void swapTextPaintInfo(org.apache.batik.gvt.text.TextPaintInfo, org.apache.batik.gvt.text.TextPaintInfo);
    descriptor: (Lorg/apache/batik/gvt/text/TextPaintInfo;Lorg/apache/batik/gvt/text/TextPaintInfo;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.apache.batik.bridge.TextNode this
        start local 1 // org.apache.batik.gvt.text.TextPaintInfo newInfo
        start local 2 // org.apache.batik.gvt.text.TextPaintInfo oldInfo
         0: .line 190
            aload 0 /* this */
            invokevirtual org.apache.batik.bridge.TextNode.fireGraphicsNodeChangeStarted:()V
         1: .line 191
            aload 0 /* this */
            invokevirtual org.apache.batik.bridge.TextNode.invalidateGeometryCache:()V
         2: .line 192
            aload 2 /* oldInfo */
            aload 1 /* newInfo */
            invokevirtual org.apache.batik.gvt.text.TextPaintInfo.set:(Lorg/apache/batik/gvt/text/TextPaintInfo;)V
         3: .line 193
            aload 0 /* this */
            invokevirtual org.apache.batik.bridge.TextNode.fireGraphicsNodeChangeCompleted:()V
         4: .line 194
            return
        end local 2 // org.apache.batik.gvt.text.TextPaintInfo oldInfo
        end local 1 // org.apache.batik.gvt.text.TextPaintInfo newInfo
        end local 0 // org.apache.batik.bridge.TextNode this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/apache/batik/bridge/TextNode;
            0    5     1  newInfo  Lorg/apache/batik/gvt/text/TextPaintInfo;
            0    5     2  oldInfo  Lorg/apache/batik/gvt/text/TextPaintInfo;
    MethodParameters:
         Name  Flags
      newInfo  
      oldInfo  

  public void setAttributedCharacterIterator(java.text.AttributedCharacterIterator);
    descriptor: (Ljava/text/AttributedCharacterIterator;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.batik.bridge.TextNode this
        start local 1 // java.text.AttributedCharacterIterator newAci
         0: .line 204
            aload 0 /* this */
            invokevirtual org.apache.batik.bridge.TextNode.fireGraphicsNodeChangeStarted:()V
         1: .line 205
            aload 0 /* this */
            invokevirtual org.apache.batik.bridge.TextNode.invalidateGeometryCache:()V
         2: .line 206
            aload 0 /* this */
            aload 1 /* newAci */
            putfield org.apache.batik.bridge.TextNode.aci:Ljava/text/AttributedCharacterIterator;
         3: .line 207
            aload 0 /* this */
            aconst_null
            putfield org.apache.batik.bridge.TextNode.text:Ljava/lang/String;
         4: .line 208
            aload 0 /* this */
            aconst_null
            putfield org.apache.batik.bridge.TextNode.textRuns:Ljava/util/List;
         5: .line 209
            aload 0 /* this */
            invokevirtual org.apache.batik.bridge.TextNode.fireGraphicsNodeChangeCompleted:()V
         6: .line 210
            return
        end local 1 // java.text.AttributedCharacterIterator newAci
        end local 0 // org.apache.batik.bridge.TextNode this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lorg/apache/batik/bridge/TextNode;
            0    7     1  newAci  Ljava/text/AttributedCharacterIterator;
    MethodParameters:
        Name  Flags
      newAci  

  public java.text.AttributedCharacterIterator getAttributedCharacterIterator();
    descriptor: ()Ljava/text/AttributedCharacterIterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.batik.bridge.TextNode this
         0: .line 218
            aload 0 /* this */
            getfield org.apache.batik.bridge.TextNode.aci:Ljava/text/AttributedCharacterIterator;
            areturn
        end local 0 // org.apache.batik.bridge.TextNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/batik/bridge/TextNode;

  protected void invalidateGeometryCache();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.batik.bridge.TextNode this
         0: .line 231
            aload 0 /* this */
            invokespecial org.apache.batik.gvt.AbstractGraphicsNode.invalidateGeometryCache:()V
         1: .line 232
            aload 0 /* this */
            aconst_null
            putfield org.apache.batik.bridge.TextNode.primitiveBounds:Ljava/awt/geom/Rectangle2D;
         2: .line 233
            aload 0 /* this */
            aconst_null
            putfield org.apache.batik.bridge.TextNode.geometryBounds:Ljava/awt/geom/Rectangle2D;
         3: .line 234
            aload 0 /* this */
            aconst_null
            putfield org.apache.batik.bridge.TextNode.outline:Ljava/awt/Shape;
         4: .line 235
            return
        end local 0 // org.apache.batik.bridge.TextNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/batik/bridge/TextNode;

  public java.awt.geom.Rectangle2D getPrimitiveBounds();
    descriptor: ()Ljava/awt/geom/Rectangle2D;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.batik.bridge.TextNode this
         0: .line 241
            aload 0 /* this */
            getfield org.apache.batik.bridge.TextNode.primitiveBounds:Ljava/awt/geom/Rectangle2D;
            ifnonnull 3
         1: .line 242
            aload 0 /* this */
            getfield org.apache.batik.bridge.TextNode.aci:Ljava/text/AttributedCharacterIterator;
            ifnull 3
         2: .line 243
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.batik.bridge.TextNode.textPainter:Lorg/apache/batik/bridge/TextPainter;
            aload 0 /* this */
            invokeinterface org.apache.batik.bridge.TextPainter.getBounds2D:(Lorg/apache/batik/bridge/TextNode;)Ljava/awt/geom/Rectangle2D;
            putfield org.apache.batik.bridge.TextNode.primitiveBounds:Ljava/awt/geom/Rectangle2D;
         3: .line 246
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.TextNode.primitiveBounds:Ljava/awt/geom/Rectangle2D;
            areturn
        end local 0 // org.apache.batik.bridge.TextNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/batik/bridge/TextNode;

  public java.awt.geom.Rectangle2D getGeometryBounds();
    descriptor: ()Ljava/awt/geom/Rectangle2D;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.batik.bridge.TextNode this
         0: .line 256
            aload 0 /* this */
            getfield org.apache.batik.bridge.TextNode.geometryBounds:Ljava/awt/geom/Rectangle2D;
            ifnonnull 3
         1: .line 257
            aload 0 /* this */
            getfield org.apache.batik.bridge.TextNode.aci:Ljava/text/AttributedCharacterIterator;
            ifnull 3
         2: .line 258
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.batik.bridge.TextNode.textPainter:Lorg/apache/batik/bridge/TextPainter;
            aload 0 /* this */
            invokeinterface org.apache.batik.bridge.TextPainter.getGeometryBounds:(Lorg/apache/batik/bridge/TextNode;)Ljava/awt/geom/Rectangle2D;
            putfield org.apache.batik.bridge.TextNode.geometryBounds:Ljava/awt/geom/Rectangle2D;
         3: .line 261
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.TextNode.geometryBounds:Ljava/awt/geom/Rectangle2D;
            areturn
        end local 0 // org.apache.batik.bridge.TextNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/batik/bridge/TextNode;

  public java.awt.geom.Rectangle2D getSensitiveBounds();
    descriptor: ()Ljava/awt/geom/Rectangle2D;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.batik.bridge.TextNode this
         0: .line 270
            aload 0 /* this */
            invokevirtual org.apache.batik.bridge.TextNode.getGeometryBounds:()Ljava/awt/geom/Rectangle2D;
            areturn
        end local 0 // org.apache.batik.bridge.TextNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/batik/bridge/TextNode;

  public java.awt.Shape getOutline();
    descriptor: ()Ljava/awt/Shape;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.batik.bridge.TextNode this
         0: .line 277
            aload 0 /* this */
            getfield org.apache.batik.bridge.TextNode.outline:Ljava/awt/Shape;
            ifnonnull 3
         1: .line 278
            aload 0 /* this */
            getfield org.apache.batik.bridge.TextNode.aci:Ljava/text/AttributedCharacterIterator;
            ifnull 3
         2: .line 279
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.batik.bridge.TextNode.textPainter:Lorg/apache/batik/bridge/TextPainter;
            aload 0 /* this */
            invokeinterface org.apache.batik.bridge.TextPainter.getOutline:(Lorg/apache/batik/bridge/TextNode;)Ljava/awt/Shape;
            putfield org.apache.batik.bridge.TextNode.outline:Ljava/awt/Shape;
         3: .line 282
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.TextNode.outline:Ljava/awt/Shape;
            areturn
        end local 0 // org.apache.batik.bridge.TextNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/batik/bridge/TextNode;

  public org.apache.batik.bridge.Mark getMarkerForChar(int, boolean);
    descriptor: (IZ)Lorg/apache/batik/bridge/Mark;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.apache.batik.bridge.TextNode this
        start local 1 // int index
        start local 2 // boolean beforeChar
         0: .line 291
            aload 0 /* this */
            getfield org.apache.batik.bridge.TextNode.textPainter:Lorg/apache/batik/bridge/TextPainter;
            aload 0 /* this */
            iload 1 /* index */
            iload 2 /* beforeChar */
            invokeinterface org.apache.batik.bridge.TextPainter.getMark:(Lorg/apache/batik/bridge/TextNode;IZ)Lorg/apache/batik/bridge/Mark;
            areturn
        end local 2 // boolean beforeChar
        end local 1 // int index
        end local 0 // org.apache.batik.bridge.TextNode this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/apache/batik/bridge/TextNode;
            0    1     1       index  I
            0    1     2  beforeChar  Z
    MethodParameters:
            Name  Flags
      index       
      beforeChar  

  public void setSelection(org.apache.batik.bridge.Mark, org.apache.batik.bridge.Mark);
    descriptor: (Lorg/apache/batik/bridge/Mark;Lorg/apache/batik/bridge/Mark;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.batik.bridge.TextNode this
        start local 1 // org.apache.batik.bridge.Mark begin
        start local 2 // org.apache.batik.bridge.Mark end
         0: .line 298
            aload 1 /* begin */
            invokeinterface org.apache.batik.bridge.Mark.getTextNode:()Lorg/apache/batik/bridge/TextNode;
            aload 0 /* this */
            if_acmpne 2
         1: .line 299
            aload 2 /* end */
            invokeinterface org.apache.batik.bridge.Mark.getTextNode:()Lorg/apache/batik/bridge/TextNode;
            aload 0 /* this */
            if_acmpeq 3
         2: .line 300
      StackMap locals:
      StackMap stack:
            new java.lang.RuntimeException
            dup
            ldc "Markers not from this TextNode"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 302
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* begin */
            putfield org.apache.batik.bridge.TextNode.beginMark:Lorg/apache/batik/bridge/Mark;
         4: .line 303
            aload 0 /* this */
            aload 2 /* end */
            putfield org.apache.batik.bridge.TextNode.endMark:Lorg/apache/batik/bridge/Mark;
         5: .line 304
            return
        end local 2 // org.apache.batik.bridge.Mark end
        end local 1 // org.apache.batik.bridge.Mark begin
        end local 0 // org.apache.batik.bridge.TextNode this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lorg/apache/batik/bridge/TextNode;
            0    6     1  begin  Lorg/apache/batik/bridge/Mark;
            0    6     2    end  Lorg/apache/batik/bridge/Mark;
    MethodParameters:
       Name  Flags
      begin  
      end    

  public boolean selectAt(double, double);
    descriptor: (DD)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=3
        start local 0 // org.apache.batik.bridge.TextNode this
        start local 1 // double x
        start local 3 // double y
         0: .line 312
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.batik.bridge.TextNode.textPainter:Lorg/apache/batik/bridge/TextPainter;
            dload 1 /* x */
            dload 3 /* y */
            aload 0 /* this */
            invokeinterface org.apache.batik.bridge.TextPainter.selectAt:(DDLorg/apache/batik/bridge/TextNode;)Lorg/apache/batik/bridge/Mark;
            putfield org.apache.batik.bridge.TextNode.beginMark:Lorg/apache/batik/bridge/Mark;
         1: .line 313
            iconst_1
            ireturn
        end local 3 // double y
        end local 1 // double x
        end local 0 // org.apache.batik.bridge.TextNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/batik/bridge/TextNode;
            0    2     1     x  D
            0    2     3     y  D
    MethodParameters:
      Name  Flags
      x     
      y     

  public boolean selectTo(double, double);
    descriptor: (DD)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=3
        start local 0 // org.apache.batik.bridge.TextNode this
        start local 1 // double x
        start local 3 // double y
         0: .line 322
            aload 0 /* this */
            getfield org.apache.batik.bridge.TextNode.textPainter:Lorg/apache/batik/bridge/TextPainter;
            dload 1 /* x */
            dload 3 /* y */
            aload 0 /* this */
            getfield org.apache.batik.bridge.TextNode.beginMark:Lorg/apache/batik/bridge/Mark;
            invokeinterface org.apache.batik.bridge.TextPainter.selectTo:(DDLorg/apache/batik/bridge/Mark;)Lorg/apache/batik/bridge/Mark;
            astore 5 /* tmpMark */
        start local 5 // org.apache.batik.bridge.Mark tmpMark
         1: .line 323
            aload 5 /* tmpMark */
            ifnonnull 3
         2: .line 324
            iconst_0
            ireturn
         3: .line 325
      StackMap locals: org.apache.batik.bridge.Mark
      StackMap stack:
            aload 5 /* tmpMark */
            aload 0 /* this */
            getfield org.apache.batik.bridge.TextNode.endMark:Lorg/apache/batik/bridge/Mark;
            if_acmpeq 6
         4: .line 326
            aload 0 /* this */
            aload 5 /* tmpMark */
            putfield org.apache.batik.bridge.TextNode.endMark:Lorg/apache/batik/bridge/Mark;
         5: .line 327
            iconst_1
            ireturn
         6: .line 329
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 5 // org.apache.batik.bridge.Mark tmpMark
        end local 3 // double y
        end local 1 // double x
        end local 0 // org.apache.batik.bridge.TextNode this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/apache/batik/bridge/TextNode;
            0    7     1        x  D
            0    7     3        y  D
            1    7     5  tmpMark  Lorg/apache/batik/bridge/Mark;
    MethodParameters:
      Name  Flags
      x     
      y     

  public boolean selectAll(double, double);
    descriptor: (DD)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.apache.batik.bridge.TextNode this
        start local 1 // double x
        start local 3 // double y
         0: .line 338
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.batik.bridge.TextNode.textPainter:Lorg/apache/batik/bridge/TextPainter;
            aload 0 /* this */
            invokeinterface org.apache.batik.bridge.TextPainter.selectFirst:(Lorg/apache/batik/bridge/TextNode;)Lorg/apache/batik/bridge/Mark;
            putfield org.apache.batik.bridge.TextNode.beginMark:Lorg/apache/batik/bridge/Mark;
         1: .line 339
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.batik.bridge.TextNode.textPainter:Lorg/apache/batik/bridge/TextPainter;
            aload 0 /* this */
            invokeinterface org.apache.batik.bridge.TextPainter.selectLast:(Lorg/apache/batik/bridge/TextNode;)Lorg/apache/batik/bridge/Mark;
            putfield org.apache.batik.bridge.TextNode.endMark:Lorg/apache/batik/bridge/Mark;
         2: .line 340
            iconst_1
            ireturn
        end local 3 // double y
        end local 1 // double x
        end local 0 // org.apache.batik.bridge.TextNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/batik/bridge/TextNode;
            0    3     1     x  D
            0    3     3     y  D
    MethodParameters:
      Name  Flags
      x     
      y     

  public java.lang.Object getSelection();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=1
        start local 0 // org.apache.batik.bridge.TextNode this
         0: .line 349
            aconst_null
            astore 1 /* o */
        start local 1 // java.lang.Object o
         1: .line 350
            aload 0 /* this */
            getfield org.apache.batik.bridge.TextNode.aci:Ljava/text/AttributedCharacterIterator;
            ifnonnull 2
            aload 1 /* o */
            areturn
         2: .line 352
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.TextNode.textPainter:Lorg/apache/batik/bridge/TextPainter;
            aload 0 /* this */
            getfield org.apache.batik.bridge.TextNode.beginMark:Lorg/apache/batik/bridge/Mark;
            aload 0 /* this */
            getfield org.apache.batik.bridge.TextNode.endMark:Lorg/apache/batik/bridge/Mark;
            invokeinterface org.apache.batik.bridge.TextPainter.getSelected:(Lorg/apache/batik/bridge/Mark;Lorg/apache/batik/bridge/Mark;)[I
            astore 2 /* ranges */
        start local 2 // int[] ranges
         3: .line 356
            aload 2 /* ranges */
            ifnull 11
            aload 2 /* ranges */
            arraylength
            iconst_1
            if_icmple 11
         4: .line 358
            aload 2 /* ranges */
            iconst_0
            iaload
            aload 2 /* ranges */
            iconst_1
            iaload
            if_icmple 8
         5: .line 359
            aload 2 /* ranges */
            iconst_1
            iaload
            istore 3 /* temp */
        start local 3 // int temp
         6: .line 360
            aload 2 /* ranges */
            iconst_1
            aload 2 /* ranges */
            iconst_0
            iaload
            iastore
         7: .line 361
            aload 2 /* ranges */
            iconst_0
            iload 3 /* temp */
            iastore
        end local 3 // int temp
         8: .line 363
      StackMap locals: int[]
      StackMap stack:
            new org.apache.batik.gvt.text.AttributedCharacterSpanIterator
            dup
         9: .line 364
            aload 0 /* this */
            getfield org.apache.batik.bridge.TextNode.aci:Ljava/text/AttributedCharacterIterator;
            aload 2 /* ranges */
            iconst_0
            iaload
            aload 2 /* ranges */
            iconst_1
            iaload
            iconst_1
            iadd
        10: .line 363
            invokespecial org.apache.batik.gvt.text.AttributedCharacterSpanIterator.<init>:(Ljava/text/AttributedCharacterIterator;II)V
            astore 1 /* o */
        11: .line 366
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            areturn
        end local 2 // int[] ranges
        end local 1 // java.lang.Object o
        end local 0 // org.apache.batik.bridge.TextNode this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Lorg/apache/batik/bridge/TextNode;
            1   12     1       o  Ljava/lang/Object;
            3   12     2  ranges  [I
            6    8     3    temp  I

  public java.awt.Shape getHighlightShape();
    descriptor: ()Ljava/awt/Shape;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.apache.batik.bridge.TextNode this
         0: .line 376
            aload 0 /* this */
            getfield org.apache.batik.bridge.TextNode.textPainter:Lorg/apache/batik/bridge/TextPainter;
            aload 0 /* this */
            getfield org.apache.batik.bridge.TextNode.beginMark:Lorg/apache/batik/bridge/Mark;
            aload 0 /* this */
            getfield org.apache.batik.bridge.TextNode.endMark:Lorg/apache/batik/bridge/Mark;
            invokeinterface org.apache.batik.bridge.TextPainter.getHighlightShape:(Lorg/apache/batik/bridge/Mark;Lorg/apache/batik/bridge/Mark;)Ljava/awt/Shape;
         1: .line 375
            astore 1 /* highlightShape */
        start local 1 // java.awt.Shape highlightShape
         2: .line 377
            aload 0 /* this */
            invokevirtual org.apache.batik.bridge.TextNode.getGlobalTransform:()Ljava/awt/geom/AffineTransform;
            astore 2 /* t */
        start local 2 // java.awt.geom.AffineTransform t
         3: .line 378
            aload 2 /* t */
            aload 1 /* highlightShape */
            invokevirtual java.awt.geom.AffineTransform.createTransformedShape:(Ljava/awt/Shape;)Ljava/awt/Shape;
            astore 1 /* highlightShape */
         4: .line 379
            aload 1 /* highlightShape */
            areturn
        end local 2 // java.awt.geom.AffineTransform t
        end local 1 // java.awt.Shape highlightShape
        end local 0 // org.apache.batik.bridge.TextNode this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Lorg/apache/batik/bridge/TextNode;
            2    5     1  highlightShape  Ljava/awt/Shape;
            3    5     2               t  Ljava/awt/geom/AffineTransform;

  public void primitivePaint(java.awt.Graphics2D);
    descriptor: (Ljava/awt/Graphics2D;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.apache.batik.bridge.TextNode this
        start local 1 // java.awt.Graphics2D g2d
         0: .line 397
            aload 1 /* g2d */
            invokevirtual java.awt.Graphics2D.getClip:()Ljava/awt/Shape;
            astore 2 /* clip */
        start local 2 // java.awt.Shape clip
         1: .line 398
            aload 2 /* clip */
            ifnull 3
            aload 2 /* clip */
            instanceof java.awt.geom.GeneralPath
            ifne 3
         2: .line 399
            aload 1 /* g2d */
            new java.awt.geom.GeneralPath
            dup
            aload 2 /* clip */
            invokespecial java.awt.geom.GeneralPath.<init>:(Ljava/awt/Shape;)V
            invokevirtual java.awt.Graphics2D.setClip:(Ljava/awt/Shape;)V
         3: .line 402
      StackMap locals: java.awt.Shape
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.TextNode.textPainter:Lorg/apache/batik/bridge/TextPainter;
            aload 0 /* this */
            aload 1 /* g2d */
            invokeinterface org.apache.batik.bridge.TextPainter.paint:(Lorg/apache/batik/bridge/TextNode;Ljava/awt/Graphics2D;)V
         4: .line 403
            return
        end local 2 // java.awt.Shape clip
        end local 1 // java.awt.Graphics2D g2d
        end local 0 // org.apache.batik.bridge.TextNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/batik/bridge/TextNode;
            0    5     1   g2d  Ljava/awt/Graphics2D;
            1    5     2  clip  Ljava/awt/Shape;
    MethodParameters:
      Name  Flags
      g2d   

  public boolean contains(java.awt.geom.Point2D);
    descriptor: (Ljava/awt/geom/Point2D;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=10, args_size=2
        start local 0 // org.apache.batik.bridge.TextNode this
        start local 1 // java.awt.geom.Point2D p
         0: .line 419
            aload 0 /* this */
            aload 1 /* p */
            invokespecial org.apache.batik.gvt.AbstractGraphicsNode.contains:(Ljava/awt/geom/Point2D;)Z
            ifne 2
         1: .line 420
            iconst_0
            ireturn
         2: .line 422
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.batik.bridge.TextNode.getTextRuns:()Ljava/util/List;
            astore 2 /* list */
        start local 2 // java.util.List list
         3: .line 424
            aload 2 /* list */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 13
      StackMap locals: org.apache.batik.bridge.TextNode java.awt.geom.Point2D java.util.List top java.util.Iterator
      StackMap stack:
         4: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 3 /* aList */
        start local 3 // java.lang.Object aList
         5: .line 426
            aload 3 /* aList */
            checkcast org.apache.batik.bridge.StrokingTextPainter$TextRun
         6: .line 425
            astore 5 /* run */
        start local 5 // org.apache.batik.bridge.StrokingTextPainter$TextRun run
         7: .line 427
            aload 5 /* run */
            invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getLayout:()Lorg/apache/batik/bridge/TextSpanLayout;
            astore 6 /* layout */
        start local 6 // org.apache.batik.bridge.TextSpanLayout layout
         8: .line 428
            aload 1 /* p */
            invokevirtual java.awt.geom.Point2D.getX:()D
            d2f
            fstore 7 /* x */
        start local 7 // float x
         9: .line 429
            aload 1 /* p */
            invokevirtual java.awt.geom.Point2D.getY:()D
            d2f
            fstore 8 /* y */
        start local 8 // float y
        10: .line 430
            aload 6 /* layout */
            fload 7 /* x */
            fload 8 /* y */
            invokeinterface org.apache.batik.bridge.TextSpanLayout.hitTestChar:(FF)Lorg/apache/batik/bridge/TextHit;
            astore 9 /* textHit */
        start local 9 // org.apache.batik.bridge.TextHit textHit
        11: .line 431
            aload 9 /* textHit */
            ifnull 13
            aload 0 /* this */
            aload 1 /* p */
            aload 6 /* layout */
            invokeinterface org.apache.batik.bridge.TextSpanLayout.getBounds2D:()Ljava/awt/geom/Rectangle2D;
            invokevirtual org.apache.batik.bridge.TextNode.contains:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Rectangle2D;)Z
            ifeq 13
        12: .line 432
            iconst_1
            ireturn
        end local 9 // org.apache.batik.bridge.TextHit textHit
        end local 8 // float y
        end local 7 // float x
        end local 6 // org.apache.batik.bridge.TextSpanLayout layout
        end local 5 // org.apache.batik.bridge.StrokingTextPainter$TextRun run
        end local 3 // java.lang.Object aList
        13: .line 424
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        14: .line 435
            iconst_0
            ireturn
        end local 2 // java.util.List list
        end local 1 // java.awt.geom.Point2D p
        end local 0 // org.apache.batik.bridge.TextNode this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   15     0     this  Lorg/apache/batik/bridge/TextNode;
            0   15     1        p  Ljava/awt/geom/Point2D;
            3   15     2     list  Ljava/util/List;
            5   13     3    aList  Ljava/lang/Object;
            7   13     5      run  Lorg/apache/batik/bridge/StrokingTextPainter$TextRun;
            8   13     6   layout  Lorg/apache/batik/bridge/TextSpanLayout;
            9   13     7        x  F
           10   13     8        y  F
           11   13     9  textHit  Lorg/apache/batik/bridge/TextHit;
    MethodParameters:
      Name  Flags
      p     

  protected boolean contains(java.awt.geom.Point2D, java.awt.geom.Rectangle2D);
    descriptor: (Ljava/awt/geom/Point2D;Ljava/awt/geom/Rectangle2D;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.apache.batik.bridge.TextNode this
        start local 1 // java.awt.geom.Point2D p
        start local 2 // java.awt.geom.Rectangle2D b
         0: .line 439
            aload 2 /* b */
            ifnull 1
            aload 2 /* b */
            aload 1 /* p */
            invokevirtual java.awt.geom.Rectangle2D.contains:(Ljava/awt/geom/Point2D;)Z
            ifne 2
         1: .line 440
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         2: .line 442
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.TextNode.pointerEventType:I
            tableswitch { // 0 - 8
                    0: 3
                    1: 3
                    2: 3
                    3: 3
                    4: 4
                    5: 4
                    6: 4
                    7: 4
                    8: 5
              default: 6
          }
         3: .line 447
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.TextNode.isVisible:Z
            ireturn
         4: .line 452
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         5: .line 454
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         6: .line 456
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // java.awt.geom.Rectangle2D b
        end local 1 // java.awt.geom.Point2D p
        end local 0 // org.apache.batik.bridge.TextNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/apache/batik/bridge/TextNode;
            0    7     1     p  Ljava/awt/geom/Point2D;
            0    7     2     b  Ljava/awt/geom/Rectangle2D;
    MethodParameters:
      Name  Flags
      p     
      b     
}
SourceFile: "TextNode.java"
NestMembers:
  org.apache.batik.bridge.TextNode$Anchor
InnerClasses:
  public Float = java.awt.geom.Point2D$Float of java.awt.geom.Point2D
  public Attribute = java.text.AttributedCharacterIterator$Attribute of java.text.AttributedCharacterIterator
  public TextRun = org.apache.batik.bridge.StrokingTextPainter$TextRun of org.apache.batik.bridge.StrokingTextPainter
  public final Anchor = org.apache.batik.bridge.TextNode$Anchor of org.apache.batik.bridge.TextNode
  public TextAttribute = org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute of org.apache.batik.gvt.text.GVTAttributedCharacterIterator