public class org.apache.batik.bridge.SVGFeSpecularLightingElementBridge extends org.apache.batik.bridge.AbstractSVGLightingElementBridge
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.batik.bridge.SVGFeSpecularLightingElementBridge
  super_class: org.apache.batik.bridge.AbstractSVGLightingElementBridge
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.batik.bridge.SVGFeSpecularLightingElementBridge this
         0: .line 43
            aload 0 /* this */
            invokespecial org.apache.batik.bridge.AbstractSVGLightingElementBridge.<init>:()V
            return
        end local 0 // org.apache.batik.bridge.SVGFeSpecularLightingElementBridge this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/batik/bridge/SVGFeSpecularLightingElementBridge;

  public java.lang.String getLocalName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.batik.bridge.SVGFeSpecularLightingElementBridge this
         0: .line 49
            ldc "feSpecularLighting"
            areturn
        end local 0 // org.apache.batik.bridge.SVGFeSpecularLightingElementBridge this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/batik/bridge/SVGFeSpecularLightingElementBridge;

  public org.apache.batik.ext.awt.image.renderable.Filter createFilter(org.apache.batik.bridge.BridgeContext, org.w3c.dom.Element, org.w3c.dom.Element, org.apache.batik.gvt.GraphicsNode, org.apache.batik.ext.awt.image.renderable.Filter, java.awt.geom.Rectangle2D, java.util.Map);
    descriptor: (Lorg/apache/batik/bridge/BridgeContext;Lorg/w3c/dom/Element;Lorg/w3c/dom/Element;Lorg/apache/batik/gvt/GraphicsNode;Lorg/apache/batik/ext/awt/image/renderable/Filter;Ljava/awt/geom/Rectangle2D;Ljava/util/Map;)Lorg/apache/batik/ext/awt/image/renderable/Filter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=12, locals=17, args_size=8
        start local 0 // org.apache.batik.bridge.SVGFeSpecularLightingElementBridge this
        start local 1 // org.apache.batik.bridge.BridgeContext ctx
        start local 2 // org.w3c.dom.Element filterElement
        start local 3 // org.w3c.dom.Element filteredElement
        start local 4 // org.apache.batik.gvt.GraphicsNode filteredNode
        start local 5 // org.apache.batik.ext.awt.image.renderable.Filter inputFilter
        start local 6 // java.awt.geom.Rectangle2D filterRegion
        start local 7 // java.util.Map filterMap
         0: .line 80
            aload 2 /* filterElement */
         1: .line 81
            ldc "surfaceScale"
            fconst_1
            aload 1 /* ctx */
         2: .line 80
            invokestatic org.apache.batik.bridge.SVGFeSpecularLightingElementBridge.convertNumber:(Lorg/w3c/dom/Element;Ljava/lang/String;FLorg/apache/batik/bridge/BridgeContext;)F
            fstore 8 /* surfaceScale */
        start local 8 // float surfaceScale
         3: .line 85
            aload 2 /* filterElement */
            ldc "specularConstant"
            fconst_1
            aload 1 /* ctx */
         4: .line 84
            invokestatic org.apache.batik.bridge.SVGFeSpecularLightingElementBridge.convertNumber:(Lorg/w3c/dom/Element;Ljava/lang/String;FLorg/apache/batik/bridge/BridgeContext;)F
            fstore 9 /* specularConstant */
        start local 9 // float specularConstant
         5: .line 88
            aload 2 /* filterElement */
            aload 1 /* ctx */
            invokestatic org.apache.batik.bridge.SVGFeSpecularLightingElementBridge.convertSpecularExponent:(Lorg/w3c/dom/Element;Lorg/apache/batik/bridge/BridgeContext;)F
            fstore 10 /* specularExponent */
        start local 10 // float specularExponent
         6: .line 91
            aload 2 /* filterElement */
            aload 1 /* ctx */
            invokestatic org.apache.batik.bridge.SVGFeSpecularLightingElementBridge.extractLight:(Lorg/w3c/dom/Element;Lorg/apache/batik/bridge/BridgeContext;)Lorg/apache/batik/ext/awt/image/Light;
            astore 11 /* light */
        start local 11 // org.apache.batik.ext.awt.image.Light light
         7: .line 94
            aload 2 /* filterElement */
            aload 1 /* ctx */
            invokestatic org.apache.batik.bridge.SVGFeSpecularLightingElementBridge.convertKernelUnitLength:(Lorg/w3c/dom/Element;Lorg/apache/batik/bridge/BridgeContext;)[D
            astore 12 /* kernelUnitLength */
        start local 12 // double[] kernelUnitLength
         8: .line 97
            aload 2 /* filterElement */
         9: .line 98
            aload 3 /* filteredElement */
        10: .line 99
            aload 4 /* filteredNode */
        11: .line 100
            aload 5 /* inputFilter */
        12: .line 101
            aload 7 /* filterMap */
        13: .line 102
            aload 1 /* ctx */
        14: .line 97
            invokestatic org.apache.batik.bridge.SVGFeSpecularLightingElementBridge.getIn:(Lorg/w3c/dom/Element;Lorg/w3c/dom/Element;Lorg/apache/batik/gvt/GraphicsNode;Lorg/apache/batik/ext/awt/image/renderable/Filter;Ljava/util/Map;Lorg/apache/batik/bridge/BridgeContext;)Lorg/apache/batik/ext/awt/image/renderable/Filter;
            astore 13 /* in */
        start local 13 // org.apache.batik.ext.awt.image.renderable.Filter in
        15: .line 103
            aload 13 /* in */
            ifnonnull 17
        16: .line 104
            aconst_null
            areturn
        17: .line 110
      StackMap locals: org.apache.batik.bridge.SVGFeSpecularLightingElementBridge org.apache.batik.bridge.BridgeContext org.w3c.dom.Element org.w3c.dom.Element org.apache.batik.gvt.GraphicsNode org.apache.batik.ext.awt.image.renderable.Filter java.awt.geom.Rectangle2D java.util.Map float float float org.apache.batik.ext.awt.image.Light double[] org.apache.batik.ext.awt.image.renderable.Filter
      StackMap stack:
            aload 13 /* in */
            invokeinterface org.apache.batik.ext.awt.image.renderable.Filter.getBounds2D:()Ljava/awt/geom/Rectangle2D;
            astore 14 /* defaultRegion */
        start local 14 // java.awt.geom.Rectangle2D defaultRegion
        18: .line 112
            aload 2 /* filterElement */
        19: .line 113
            aload 3 /* filteredElement */
        20: .line 114
            aload 4 /* filteredNode */
        21: .line 115
            aload 14 /* defaultRegion */
        22: .line 116
            aload 6 /* filterRegion */
        23: .line 117
            aload 1 /* ctx */
        24: .line 112
            invokestatic org.apache.batik.bridge.SVGUtilities.convertFilterPrimitiveRegion:(Lorg/w3c/dom/Element;Lorg/w3c/dom/Element;Lorg/apache/batik/gvt/GraphicsNode;Ljava/awt/geom/Rectangle2D;Ljava/awt/geom/Rectangle2D;Lorg/apache/batik/bridge/BridgeContext;)Ljava/awt/geom/Rectangle2D;
        25: .line 111
            astore 15 /* primitiveRegion */
        start local 15 // java.awt.geom.Rectangle2D primitiveRegion
        26: .line 119
            new org.apache.batik.ext.awt.image.renderable.SpecularLightingRable8Bit
            dup
            aload 13 /* in */
        27: .line 120
            aload 15 /* primitiveRegion */
        28: .line 121
            aload 11 /* light */
        29: .line 122
            fload 9 /* specularConstant */
            f2d
        30: .line 123
            fload 10 /* specularExponent */
            f2d
        31: .line 124
            fload 8 /* surfaceScale */
            f2d
        32: .line 125
            aload 12 /* kernelUnitLength */
        33: .line 119
            invokespecial org.apache.batik.ext.awt.image.renderable.SpecularLightingRable8Bit.<init>:(Lorg/apache/batik/ext/awt/image/renderable/Filter;Ljava/awt/geom/Rectangle2D;Lorg/apache/batik/ext/awt/image/Light;DDD[D)V
            astore 16 /* filter */
        start local 16 // org.apache.batik.ext.awt.image.renderable.Filter filter
        34: .line 129
            aload 16 /* filter */
            aload 2 /* filterElement */
            invokestatic org.apache.batik.bridge.SVGFeSpecularLightingElementBridge.handleColorInterpolationFilters:(Lorg/apache/batik/ext/awt/image/renderable/Filter;Lorg/w3c/dom/Element;)V
        35: .line 132
            aload 2 /* filterElement */
            aload 16 /* filter */
            aload 7 /* filterMap */
            invokestatic org.apache.batik.bridge.SVGFeSpecularLightingElementBridge.updateFilterMap:(Lorg/w3c/dom/Element;Lorg/apache/batik/ext/awt/image/renderable/Filter;Ljava/util/Map;)V
        36: .line 134
            aload 16 /* filter */
            areturn
        end local 16 // org.apache.batik.ext.awt.image.renderable.Filter filter
        end local 15 // java.awt.geom.Rectangle2D primitiveRegion
        end local 14 // java.awt.geom.Rectangle2D defaultRegion
        end local 13 // org.apache.batik.ext.awt.image.renderable.Filter in
        end local 12 // double[] kernelUnitLength
        end local 11 // org.apache.batik.ext.awt.image.Light light
        end local 10 // float specularExponent
        end local 9 // float specularConstant
        end local 8 // float surfaceScale
        end local 7 // java.util.Map filterMap
        end local 6 // java.awt.geom.Rectangle2D filterRegion
        end local 5 // org.apache.batik.ext.awt.image.renderable.Filter inputFilter
        end local 4 // org.apache.batik.gvt.GraphicsNode filteredNode
        end local 3 // org.w3c.dom.Element filteredElement
        end local 2 // org.w3c.dom.Element filterElement
        end local 1 // org.apache.batik.bridge.BridgeContext ctx
        end local 0 // org.apache.batik.bridge.SVGFeSpecularLightingElementBridge this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   37     0              this  Lorg/apache/batik/bridge/SVGFeSpecularLightingElementBridge;
            0   37     1               ctx  Lorg/apache/batik/bridge/BridgeContext;
            0   37     2     filterElement  Lorg/w3c/dom/Element;
            0   37     3   filteredElement  Lorg/w3c/dom/Element;
            0   37     4      filteredNode  Lorg/apache/batik/gvt/GraphicsNode;
            0   37     5       inputFilter  Lorg/apache/batik/ext/awt/image/renderable/Filter;
            0   37     6      filterRegion  Ljava/awt/geom/Rectangle2D;
            0   37     7         filterMap  Ljava/util/Map;
            3   37     8      surfaceScale  F
            5   37     9  specularConstant  F
            6   37    10  specularExponent  F
            7   37    11             light  Lorg/apache/batik/ext/awt/image/Light;
            8   37    12  kernelUnitLength  [D
           15   37    13                in  Lorg/apache/batik/ext/awt/image/renderable/Filter;
           18   37    14     defaultRegion  Ljava/awt/geom/Rectangle2D;
           26   37    15   primitiveRegion  Ljava/awt/geom/Rectangle2D;
           34   37    16            filter  Lorg/apache/batik/ext/awt/image/renderable/Filter;
    MethodParameters:
                 Name  Flags
      ctx              
      filterElement    
      filteredElement  
      filteredNode     
      inputFilter      
      filterRegion     
      filterMap        

  protected static float convertSpecularExponent(org.w3c.dom.Element, org.apache.batik.bridge.BridgeContext);
    descriptor: (Lorg/w3c/dom/Element;Lorg/apache/batik/bridge/BridgeContext;)F
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=10, locals=4, args_size=2
        start local 0 // org.w3c.dom.Element filterElement
        start local 1 // org.apache.batik.bridge.BridgeContext ctx
         0: .line 146
            aload 0 /* filterElement */
         1: .line 147
            aconst_null
            ldc "specularExponent"
         2: .line 146
            invokeinterface org.w3c.dom.Element.getAttributeNS:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* s */
        start local 2 // java.lang.String s
         3: .line 148
            aload 2 /* s */
            invokevirtual java.lang.String.length:()I
            ifne 5
         4: .line 149
            fconst_1
            freturn
         5: .line 152
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* s */
            invokestatic org.apache.batik.bridge.SVGUtilities.convertSVGNumber:(Ljava/lang/String;)F
            fstore 3 /* v */
        start local 3 // float v
         6: .line 153
            fload 3 /* v */
            fconst_1
            fcmpg
            iflt 7
            fload 3 /* v */
            ldc 128.0
            fcmpl
            ifle 11
         7: .line 154
      StackMap locals: float
      StackMap stack:
            new org.apache.batik.bridge.BridgeException
            dup
         8: .line 155
            aload 1 /* ctx */
            aload 0 /* filterElement */
            ldc "attribute.malformed"
         9: .line 156
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "specularConstant"
            aastore
            dup
            iconst_1
            aload 2 /* s */
            aastore
        10: .line 154
            invokespecial org.apache.batik.bridge.BridgeException.<init>:(Lorg/apache/batik/bridge/BridgeContext;Lorg/w3c/dom/Element;Ljava/lang/String;[Ljava/lang/Object;)V
            athrow
        11: .line 158
      StackMap locals:
      StackMap stack:
            fload 3 /* v */
        12: freturn
        end local 3 // float v
        13: .line 159
      StackMap locals: org.w3c.dom.Element org.apache.batik.bridge.BridgeContext java.lang.String
      StackMap stack: java.lang.NumberFormatException
            astore 3 /* nfEx */
        start local 3 // java.lang.NumberFormatException nfEx
        14: .line 160
            new org.apache.batik.bridge.BridgeException
            dup
        15: .line 161
            aload 1 /* ctx */
            aload 0 /* filterElement */
            aload 3 /* nfEx */
            ldc "attribute.malformed"
        16: .line 162
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "specularConstant"
            aastore
            dup
            iconst_1
            aload 2 /* s */
            aastore
            dup
            iconst_2
            aload 3 /* nfEx */
            aastore
        17: .line 160
            invokespecial org.apache.batik.bridge.BridgeException.<init>:(Lorg/apache/batik/bridge/BridgeContext;Lorg/w3c/dom/Element;Ljava/lang/Exception;Ljava/lang/String;[Ljava/lang/Object;)V
            athrow
        end local 3 // java.lang.NumberFormatException nfEx
        end local 2 // java.lang.String s
        end local 1 // org.apache.batik.bridge.BridgeContext ctx
        end local 0 // org.w3c.dom.Element filterElement
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   18     0  filterElement  Lorg/w3c/dom/Element;
            0   18     1            ctx  Lorg/apache/batik/bridge/BridgeContext;
            3   18     2              s  Ljava/lang/String;
            6   13     3              v  F
           14   18     3           nfEx  Ljava/lang/NumberFormatException;
      Exception table:
        from    to  target  type
           5    12      13  Class java.lang.NumberFormatException
    MethodParameters:
               Name  Flags
      filterElement  
      ctx            
}
SourceFile: "SVGFeSpecularLightingElementBridge.java"