Skip to content

Instantly share code, notes, and snippets.

@KengoTODA
Created August 10, 2020 12:13
Show Gist options
  • Select an option

  • Save KengoTODA/8011f3860ee3d66397b9b0e247ba82c4 to your computer and use it in GitHub Desktop.

Select an option

Save KengoTODA/8011f3860ee3d66397b9b0e247ba82c4 to your computer and use it in GitHub Desktop.
digraph Issue493 {
subgraph cluster_method_1 {
label="#method";
graph[style=dotted];
edge1_0 [label="ALOAD (1)"];
edge1_1 [label="javax/sql/DataSource#getConnection()Ljava/sql/Connection;"];
edge1_2 [label="ASTORE (2)"];
edge1_3 [label="class org.objectweb.asm.tree.LabelNode"];
edge1_4 [label="java/lang/System#out (Ljava/io/PrintStream;)"];
edge1_5 [label="java/io/PrintStream#println()V"];
edge1_6 [label="class org.objectweb.asm.tree.LabelNode"];
edge1_7 [label="ALOAD (2)"];
edge1_8 [label="class org.objectweb.asm.tree.JumpInsnNode"];
edge1_9 [label="ALOAD (2)"];
edge1_10 [label="java/sql/Connection#close()V"];
edge1_11 [label="class org.objectweb.asm.tree.JumpInsnNode"];
edge1_12 [label="class org.objectweb.asm.tree.LabelNode"];
edge1_13 [label="class org.objectweb.asm.tree.FrameNode"];
edge1_14 [label="ASTORE (3)"];
edge1_15 [label="ALOAD (2)"];
edge1_16 [label="class org.objectweb.asm.tree.JumpInsnNode"];
edge1_17 [label="class org.objectweb.asm.tree.LabelNode"];
edge1_18 [label="ALOAD (2)"];
edge1_19 [label="java/sql/Connection#close()V"];
edge1_20 [label="class org.objectweb.asm.tree.LabelNode"];
edge1_21 [label="class org.objectweb.asm.tree.JumpInsnNode"];
edge1_22 [label="class org.objectweb.asm.tree.LabelNode"];
edge1_23 [label="class org.objectweb.asm.tree.FrameNode"];
edge1_24 [label="ASTORE (4)"];
edge1_25 [label="ALOAD (3)"];
edge1_26 [label="ALOAD (4)"];
edge1_27 [label="java/lang/Throwable#addSuppressed(Ljava/lang/Throwable;)V"];
edge1_28 [label="class org.objectweb.asm.tree.LabelNode"];
edge1_29 [label="class org.objectweb.asm.tree.FrameNode"];
edge1_30 [label="ALOAD (3)"];
edge1_31 [label="ATHROW"];
edge1_32 [label="class org.objectweb.asm.tree.LabelNode"];
edge1_33 [label="class org.objectweb.asm.tree.FrameNode"];
edge1_34 [label="RETURN"];
edge1_0 -> edge1_1;
edge1_1 -> edge1_2;
edge1_2 -> edge1_3;
edge1_3 -> edge1_4;
edge1_3 -> edge1_12 [color = "red"];
edge1_12 -> edge1_13;
edge1_13 -> edge1_14;
edge1_14 -> edge1_15;
edge1_15 -> edge1_16;
edge1_16 -> edge1_17 [label=""];
edge1_16 -> edge1_28 [label="if null"];
edge1_28 -> edge1_29;
edge1_29 -> edge1_30;
edge1_30 -> edge1_31;
edge1_17 -> edge1_18;
edge1_17 -> edge1_22 [color = "red"];
edge1_22 -> edge1_23;
edge1_23 -> edge1_24;
edge1_24 -> edge1_25;
edge1_25 -> edge1_26;
edge1_26 -> edge1_27;
edge1_27 -> edge1_28;
edge1_18 -> edge1_19;
edge1_18 -> edge1_22 [color = "red"];
edge1_19 -> edge1_20;
edge1_19 -> edge1_22 [color = "red"];
edge1_20 -> edge1_21;
edge1_21 -> edge1_28 [label=""];
edge1_4 -> edge1_5;
edge1_4 -> edge1_12 [color = "red"];
edge1_5 -> edge1_6;
edge1_5 -> edge1_12 [color = "red"];
edge1_6 -> edge1_7;
edge1_7 -> edge1_8;
edge1_8 -> edge1_9 [label=""];
edge1_8 -> edge1_32 [label="if null"];
edge1_32 -> edge1_33;
edge1_33 -> edge1_34;
edge1_9 -> edge1_10;
edge1_10 -> edge1_11;
edge1_11 -> edge1_32 [label=""];
}
}
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.sql.DataSource;
/**
* @see <a href="https://github.com/spotbugs/spotbugs/issues/493">GitHub issue</a>
*/
abstract class Issue493 {
void method(DataSource ds) throws SQLException {
try (Connection cnn = ds.getConnection()) {
System.out.println();
}
}
}
Classfile /Users/kengo/GitHub/spotbugs/spotbugsTestCases/build/classes/java/main/Issue493.class
Last modified Aug 10, 2020; size 930 bytes
MD5 checksum da50bae641cd1cfc35731217e8f0ef55
Compiled from "Issue493.java"
abstract class Issue493
minor version: 0
major version: 52
flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: #8 // Issue493
super_class: #9 // java/lang/Object
interfaces: 0, fields: 0, methods: 2, attributes: 1
Constant pool:
#1 = Methodref #9.#30 // java/lang/Object."<init>":()V
#2 = InterfaceMethodref #24.#31 // javax/sql/DataSource.getConnection:()Ljava/sql/Connection;
#3 = Fieldref #32.#33 // java/lang/System.out:Ljava/io/PrintStream;
#4 = Methodref #34.#35 // java/io/PrintStream.println:()V
#5 = InterfaceMethodref #25.#36 // java/sql/Connection.close:()V
#6 = Class #37 // java/lang/Throwable
#7 = Methodref #6.#38 // java/lang/Throwable.addSuppressed:(Ljava/lang/Throwable;)V
#8 = Class #39 // Issue493
#9 = Class #40 // java/lang/Object
#10 = Utf8 <init>
#11 = Utf8 ()V
#12 = Utf8 Code
#13 = Utf8 LineNumberTable
#14 = Utf8 LocalVariableTable
#15 = Utf8 this
#16 = Utf8 LIssue493;
#17 = Utf8 method
#18 = Utf8 (Ljavax/sql/DataSource;)V
#19 = Utf8 cnn
#20 = Utf8 Ljava/sql/Connection;
#21 = Utf8 ds
#22 = Utf8 Ljavax/sql/DataSource;
#23 = Utf8 StackMapTable
#24 = Class #41 // javax/sql/DataSource
#25 = Class #42 // java/sql/Connection
#26 = Utf8 Exceptions
#27 = Class #43 // java/sql/SQLException
#28 = Utf8 SourceFile
#29 = Utf8 Issue493.java
#30 = NameAndType #10:#11 // "<init>":()V
#31 = NameAndType #44:#45 // getConnection:()Ljava/sql/Connection;
#32 = Class #46 // java/lang/System
#33 = NameAndType #47:#48 // out:Ljava/io/PrintStream;
#34 = Class #49 // java/io/PrintStream
#35 = NameAndType #50:#11 // println:()V
#36 = NameAndType #51:#11 // close:()V
#37 = Utf8 java/lang/Throwable
#38 = NameAndType #52:#53 // addSuppressed:(Ljava/lang/Throwable;)V
#39 = Utf8 Issue493
#40 = Utf8 java/lang/Object
#41 = Utf8 javax/sql/DataSource
#42 = Utf8 java/sql/Connection
#43 = Utf8 java/sql/SQLException
#44 = Utf8 getConnection
#45 = Utf8 ()Ljava/sql/Connection;
#46 = Utf8 java/lang/System
#47 = Utf8 out
#48 = Utf8 Ljava/io/PrintStream;
#49 = Utf8 java/io/PrintStream
#50 = Utf8 println
#51 = Utf8 close
#52 = Utf8 addSuppressed
#53 = Utf8 (Ljava/lang/Throwable;)V
{
Issue493();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
0: aload_0
1: invokespecial #1 // Method java/lang/Object."<init>":()V
4: return
LineNumberTable:
line 11: 0
LocalVariableTable:
Start Length Slot Name Signature
0 5 0 this LIssue493;
void method(javax.sql.DataSource) throws java.sql.SQLException;
descriptor: (Ljavax/sql/DataSource;)V
flags: (0x0000)
Code:
stack=2, locals=5, args_size=2
0: aload_1
1: invokeinterface #2, 1 // InterfaceMethod javax/sql/DataSource.getConnection:()Ljava/sql/Connection;
6: astore_2
7: getstatic #3 // Field java/lang/System.out:Ljava/io/PrintStream;
10: invokevirtual #4 // Method java/io/PrintStream.println:()V
13: aload_2
14: ifnull 50
17: aload_2
18: invokeinterface #5, 1 // InterfaceMethod java/sql/Connection.close:()V
23: goto 50
26: astore_3
27: aload_2
28: ifnull 48
31: aload_2
32: invokeinterface #5, 1 // InterfaceMethod java/sql/Connection.close:()V
37: goto 48
40: astore 4
42: aload_3
43: aload 4
45: invokevirtual #7 // Method java/lang/Throwable.addSuppressed:(Ljava/lang/Throwable;)V
48: aload_3
49: athrow
50: return
Exception table:
from to target type
7 13 26 Class java/lang/Throwable
31 37 40 Class java/lang/Throwable
LineNumberTable:
line 13: 0
line 14: 7
line 15: 13
line 13: 26
line 16: 50
LocalVariableTable:
Start Length Slot Name Signature
7 43 2 cnn Ljava/sql/Connection;
0 51 0 this LIssue493;
0 51 1 ds Ljavax/sql/DataSource;
StackMapTable: number_of_entries = 4
frame_type = 255 /* full_frame */
offset_delta = 26
locals = [ class Issue493, class javax/sql/DataSource, class java/sql/Connection ]
stack = [ class java/lang/Throwable ]
frame_type = 255 /* full_frame */
offset_delta = 13
locals = [ class Issue493, class javax/sql/DataSource, class java/sql/Connection, class java/lang/Throwable ]
stack = [ class java/lang/Throwable ]
frame_type = 7 /* same */
frame_type = 249 /* chop */
offset_delta = 1
Exceptions:
throws java.sql.SQLException
}
SourceFile: "Issue493.java"
Display the source blob
Display the rendered blob
Raw
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.43.0 (0)
-->
<!-- Title: Issue493 Pages: 1 -->
<svg width="799pt" height="1812pt"
viewBox="0.00 0.00 799.00 1812.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 1808)">
<title>Issue493</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-1808 795,-1808 795,4 -4,4"/>
<g id="clust1" class="cluster">
<title>cluster_method_1</title>
<polygon fill="none" stroke="black" stroke-dasharray="1,5" points="8,-8 8,-1796 783,-1796 783,-8 8,-8"/>
<text text-anchor="middle" x="395.5" y="-1780.8" font-family="Times,serif" font-size="14.00">#method</text>
</g>
<!-- edge1_0 -->
<g id="node1" class="node">
<title>edge1_0</title>
<ellipse fill="none" stroke="black" cx="520" cy="-1748" rx="53.65" ry="18"/>
<text text-anchor="middle" x="520" y="-1743.8" font-family="Times,serif" font-size="14.00">ALOAD (1)</text>
</g>
<!-- edge1_1 -->
<g id="node2" class="node">
<title>edge1_1</title>
<ellipse fill="none" stroke="black" cx="520" cy="-1675" rx="226.45" ry="18"/>
<text text-anchor="middle" x="520" y="-1670.8" font-family="Times,serif" font-size="14.00">javax/sql/DataSource#getConnection()Ljava/sql/Connection;</text>
</g>
<!-- edge1_0&#45;&gt;edge1_1 -->
<g id="edge1" class="edge">
<title>edge1_0&#45;&gt;edge1_1</title>
<path fill="none" stroke="black" d="M520,-1729.81C520,-1721.79 520,-1712.05 520,-1703.07"/>
<polygon fill="black" stroke="black" points="523.5,-1703.03 520,-1693.03 516.5,-1703.03 523.5,-1703.03"/>
</g>
<!-- edge1_2 -->
<g id="node3" class="node">
<title>edge1_2</title>
<ellipse fill="none" stroke="black" cx="520" cy="-1602" rx="56.74" ry="18"/>
<text text-anchor="middle" x="520" y="-1597.8" font-family="Times,serif" font-size="14.00">ASTORE (2)</text>
</g>
<!-- edge1_1&#45;&gt;edge1_2 -->
<g id="edge2" class="edge">
<title>edge1_1&#45;&gt;edge1_2</title>
<path fill="none" stroke="black" d="M520,-1656.81C520,-1648.79 520,-1639.05 520,-1630.07"/>
<polygon fill="black" stroke="black" points="523.5,-1630.03 520,-1620.03 516.5,-1630.03 523.5,-1630.03"/>
</g>
<!-- edge1_3 -->
<g id="node4" class="node">
<title>edge1_3</title>
<ellipse fill="none" stroke="black" cx="520" cy="-1529" rx="153.22" ry="18"/>
<text text-anchor="middle" x="520" y="-1524.8" font-family="Times,serif" font-size="14.00">class org.objectweb.asm.tree.LabelNode</text>
</g>
<!-- edge1_2&#45;&gt;edge1_3 -->
<g id="edge3" class="edge">
<title>edge1_2&#45;&gt;edge1_3</title>
<path fill="none" stroke="black" d="M520,-1583.81C520,-1575.79 520,-1566.05 520,-1557.07"/>
<polygon fill="black" stroke="black" points="523.5,-1557.03 520,-1547.03 516.5,-1557.03 523.5,-1557.03"/>
</g>
<!-- edge1_4 -->
<g id="node5" class="node">
<title>edge1_4</title>
<ellipse fill="none" stroke="black" cx="434" cy="-1456" rx="171.44" ry="18"/>
<text text-anchor="middle" x="434" y="-1451.8" font-family="Times,serif" font-size="14.00">java/lang/System#out (Ljava/io/PrintStream;)</text>
</g>
<!-- edge1_3&#45;&gt;edge1_4 -->
<g id="edge4" class="edge">
<title>edge1_3&#45;&gt;edge1_4</title>
<path fill="none" stroke="black" d="M499.18,-1510.81C488.2,-1501.74 474.55,-1490.48 462.59,-1480.6"/>
<polygon fill="black" stroke="black" points="464.57,-1477.7 454.63,-1474.03 460.11,-1483.09 464.57,-1477.7"/>
</g>
<!-- edge1_12 -->
<g id="node13" class="node">
<title>edge1_12</title>
<ellipse fill="none" stroke="black" cx="606" cy="-1310" rx="153.22" ry="18"/>
<text text-anchor="middle" x="606" y="-1305.8" font-family="Times,serif" font-size="14.00">class org.objectweb.asm.tree.LabelNode</text>
</g>
<!-- edge1_3&#45;&gt;edge1_12 -->
<g id="edge5" class="edge">
<title>edge1_3&#45;&gt;edge1_12</title>
<path fill="none" stroke="red" d="M568.7,-1511.89C586.17,-1503.49 604.01,-1491.27 614,-1474 638.57,-1431.55 626.25,-1371.99 615.7,-1337.86"/>
<polygon fill="red" stroke="red" points="618.96,-1336.55 612.53,-1328.13 612.3,-1338.72 618.96,-1336.55"/>
</g>
<!-- edge1_5 -->
<g id="node6" class="node">
<title>edge1_5</title>
<ellipse fill="none" stroke="black" cx="434" cy="-1383" rx="119.31" ry="18"/>
<text text-anchor="middle" x="434" y="-1378.8" font-family="Times,serif" font-size="14.00">java/io/PrintStream#println()V</text>
</g>
<!-- edge1_4&#45;&gt;edge1_5 -->
<g id="edge29" class="edge">
<title>edge1_4&#45;&gt;edge1_5</title>
<path fill="none" stroke="black" d="M434,-1437.81C434,-1429.79 434,-1420.05 434,-1411.07"/>
<polygon fill="black" stroke="black" points="437.5,-1411.03 434,-1401.03 430.5,-1411.03 437.5,-1411.03"/>
</g>
<!-- edge1_4&#45;&gt;edge1_12 -->
<g id="edge30" class="edge">
<title>edge1_4&#45;&gt;edge1_12</title>
<path fill="none" stroke="red" d="M495.54,-1439.08C518.53,-1430.73 543.52,-1418.49 562,-1401 580.18,-1383.8 591.83,-1357.49 598.54,-1337.76"/>
<polygon fill="red" stroke="red" points="601.91,-1338.71 601.61,-1328.12 595.24,-1336.59 601.91,-1338.71"/>
</g>
<!-- edge1_6 -->
<g id="node7" class="node">
<title>edge1_6</title>
<ellipse fill="none" stroke="black" cx="282" cy="-1310" rx="153.22" ry="18"/>
<text text-anchor="middle" x="282" y="-1305.8" font-family="Times,serif" font-size="14.00">class org.objectweb.asm.tree.LabelNode</text>
</g>
<!-- edge1_5&#45;&gt;edge1_6 -->
<g id="edge31" class="edge">
<title>edge1_5&#45;&gt;edge1_6</title>
<path fill="none" stroke="black" d="M399.13,-1365.71C377.64,-1355.67 349.86,-1342.7 326.76,-1331.91"/>
<polygon fill="black" stroke="black" points="328.04,-1328.64 317.5,-1327.58 325.08,-1334.99 328.04,-1328.64"/>
</g>
<!-- edge1_5&#45;&gt;edge1_12 -->
<g id="edge32" class="edge">
<title>edge1_5&#45;&gt;edge1_12</title>
<path fill="none" stroke="red" d="M473.03,-1365.89C497.83,-1355.65 530.16,-1342.31 556.73,-1331.34"/>
<polygon fill="red" stroke="red" points="558.32,-1334.47 566.23,-1327.42 555.65,-1328 558.32,-1334.47"/>
</g>
<!-- edge1_7 -->
<g id="node8" class="node">
<title>edge1_7</title>
<ellipse fill="none" stroke="black" cx="282" cy="-1237" rx="53.65" ry="18"/>
<text text-anchor="middle" x="282" y="-1232.8" font-family="Times,serif" font-size="14.00">ALOAD (2)</text>
</g>
<!-- edge1_6&#45;&gt;edge1_7 -->
<g id="edge33" class="edge">
<title>edge1_6&#45;&gt;edge1_7</title>
<path fill="none" stroke="black" d="M282,-1291.81C282,-1283.79 282,-1274.05 282,-1265.07"/>
<polygon fill="black" stroke="black" points="285.5,-1265.03 282,-1255.03 278.5,-1265.03 285.5,-1265.03"/>
</g>
<!-- edge1_8 -->
<g id="node9" class="node">
<title>edge1_8</title>
<ellipse fill="none" stroke="black" cx="282" cy="-1164" rx="167.24" ry="18"/>
<text text-anchor="middle" x="282" y="-1159.8" font-family="Times,serif" font-size="14.00">class org.objectweb.asm.tree.JumpInsnNode</text>
</g>
<!-- edge1_7&#45;&gt;edge1_8 -->
<g id="edge34" class="edge">
<title>edge1_7&#45;&gt;edge1_8</title>
<path fill="none" stroke="black" d="M282,-1218.81C282,-1210.79 282,-1201.05 282,-1192.07"/>
<polygon fill="black" stroke="black" points="285.5,-1192.03 282,-1182.03 278.5,-1192.03 285.5,-1192.03"/>
</g>
<!-- edge1_9 -->
<g id="node10" class="node">
<title>edge1_9</title>
<ellipse fill="none" stroke="black" cx="243" cy="-1091" rx="53.65" ry="18"/>
<text text-anchor="middle" x="243" y="-1086.8" font-family="Times,serif" font-size="14.00">ALOAD (2)</text>
</g>
<!-- edge1_8&#45;&gt;edge1_9 -->
<g id="edge35" class="edge">
<title>edge1_8&#45;&gt;edge1_9</title>
<path fill="none" stroke="black" d="M272.56,-1145.81C267.96,-1137.44 262.33,-1127.2 257.23,-1117.9"/>
<polygon fill="black" stroke="black" points="260.24,-1116.11 252.35,-1109.03 254.1,-1119.48 260.24,-1116.11"/>
</g>
<!-- edge1_32 -->
<g id="node33" class="node">
<title>edge1_32</title>
<ellipse fill="none" stroke="black" cx="183" cy="-872" rx="153.22" ry="18"/>
<text text-anchor="middle" x="183" y="-867.8" font-family="Times,serif" font-size="14.00">class org.objectweb.asm.tree.LabelNode</text>
</g>
<!-- edge1_8&#45;&gt;edge1_32 -->
<g id="edge36" class="edge">
<title>edge1_8&#45;&gt;edge1_32</title>
<path fill="none" stroke="black" d="M324.99,-1146.48C346.91,-1134.98 369,-1117.15 369,-1092 369,-1092 369,-1092 369,-944 369,-920.76 317.67,-902.34 268.94,-890.09"/>
<polygon fill="black" stroke="black" points="269.47,-886.62 258.92,-887.65 267.81,-893.42 269.47,-886.62"/>
<text text-anchor="middle" x="385.92" y="-1013.8" font-family="Times,serif" font-size="14.00">if null</text>
</g>
<!-- edge1_10 -->
<g id="node11" class="node">
<title>edge1_10</title>
<ellipse fill="none" stroke="black" cx="200" cy="-1018" rx="115.92" ry="18"/>
<text text-anchor="middle" x="200" y="-1013.8" font-family="Times,serif" font-size="14.00">java/sql/Connection#close()V</text>
</g>
<!-- edge1_9&#45;&gt;edge1_10 -->
<g id="edge39" class="edge">
<title>edge1_9&#45;&gt;edge1_10</title>
<path fill="none" stroke="black" d="M232.81,-1073.17C227.69,-1064.72 221.38,-1054.29 215.66,-1044.85"/>
<polygon fill="black" stroke="black" points="218.59,-1042.94 210.42,-1036.2 212.6,-1046.57 218.59,-1042.94"/>
</g>
<!-- edge1_11 -->
<g id="node12" class="node">
<title>edge1_11</title>
<ellipse fill="none" stroke="black" cx="183" cy="-945" rx="167.24" ry="18"/>
<text text-anchor="middle" x="183" y="-940.8" font-family="Times,serif" font-size="14.00">class org.objectweb.asm.tree.JumpInsnNode</text>
</g>
<!-- edge1_10&#45;&gt;edge1_11 -->
<g id="edge40" class="edge">
<title>edge1_10&#45;&gt;edge1_11</title>
<path fill="none" stroke="black" d="M195.88,-999.81C193.94,-991.7 191.58,-981.84 189.41,-972.78"/>
<polygon fill="black" stroke="black" points="192.81,-971.94 187.08,-963.03 186,-973.57 192.81,-971.94"/>
</g>
<!-- edge1_11&#45;&gt;edge1_32 -->
<g id="edge41" class="edge">
<title>edge1_11&#45;&gt;edge1_32</title>
<path fill="none" stroke="black" d="M183,-926.81C183,-918.79 183,-909.05 183,-900.07"/>
<polygon fill="black" stroke="black" points="186.5,-900.03 183,-890.03 179.5,-900.03 186.5,-900.03"/>
</g>
<!-- edge1_13 -->
<g id="node14" class="node">
<title>edge1_13</title>
<ellipse fill="none" stroke="black" cx="606" cy="-1237" rx="155.64" ry="18"/>
<text text-anchor="middle" x="606" y="-1232.8" font-family="Times,serif" font-size="14.00">class org.objectweb.asm.tree.FrameNode</text>
</g>
<!-- edge1_12&#45;&gt;edge1_13 -->
<g id="edge6" class="edge">
<title>edge1_12&#45;&gt;edge1_13</title>
<path fill="none" stroke="black" d="M606,-1291.81C606,-1283.79 606,-1274.05 606,-1265.07"/>
<polygon fill="black" stroke="black" points="609.5,-1265.03 606,-1255.03 602.5,-1265.03 609.5,-1265.03"/>
</g>
<!-- edge1_14 -->
<g id="node15" class="node">
<title>edge1_14</title>
<ellipse fill="none" stroke="black" cx="606" cy="-1164" rx="56.74" ry="18"/>
<text text-anchor="middle" x="606" y="-1159.8" font-family="Times,serif" font-size="14.00">ASTORE (3)</text>
</g>
<!-- edge1_13&#45;&gt;edge1_14 -->
<g id="edge7" class="edge">
<title>edge1_13&#45;&gt;edge1_14</title>
<path fill="none" stroke="black" d="M606,-1218.81C606,-1210.79 606,-1201.05 606,-1192.07"/>
<polygon fill="black" stroke="black" points="609.5,-1192.03 606,-1182.03 602.5,-1192.03 609.5,-1192.03"/>
</g>
<!-- edge1_15 -->
<g id="node16" class="node">
<title>edge1_15</title>
<ellipse fill="none" stroke="black" cx="606" cy="-1091" rx="53.65" ry="18"/>
<text text-anchor="middle" x="606" y="-1086.8" font-family="Times,serif" font-size="14.00">ALOAD (2)</text>
</g>
<!-- edge1_14&#45;&gt;edge1_15 -->
<g id="edge8" class="edge">
<title>edge1_14&#45;&gt;edge1_15</title>
<path fill="none" stroke="black" d="M606,-1145.81C606,-1137.79 606,-1128.05 606,-1119.07"/>
<polygon fill="black" stroke="black" points="609.5,-1119.03 606,-1109.03 602.5,-1119.03 609.5,-1119.03"/>
</g>
<!-- edge1_16 -->
<g id="node17" class="node">
<title>edge1_16</title>
<ellipse fill="none" stroke="black" cx="606" cy="-1018" rx="167.24" ry="18"/>
<text text-anchor="middle" x="606" y="-1013.8" font-family="Times,serif" font-size="14.00">class org.objectweb.asm.tree.JumpInsnNode</text>
</g>
<!-- edge1_15&#45;&gt;edge1_16 -->
<g id="edge9" class="edge">
<title>edge1_15&#45;&gt;edge1_16</title>
<path fill="none" stroke="black" d="M606,-1072.81C606,-1064.79 606,-1055.05 606,-1046.07"/>
<polygon fill="black" stroke="black" points="609.5,-1046.03 606,-1036.03 602.5,-1046.03 609.5,-1046.03"/>
</g>
<!-- edge1_17 -->
<g id="node18" class="node">
<title>edge1_17</title>
<ellipse fill="none" stroke="black" cx="602" cy="-945" rx="153.22" ry="18"/>
<text text-anchor="middle" x="602" y="-940.8" font-family="Times,serif" font-size="14.00">class org.objectweb.asm.tree.LabelNode</text>
</g>
<!-- edge1_16&#45;&gt;edge1_17 -->
<g id="edge10" class="edge">
<title>edge1_16&#45;&gt;edge1_17</title>
<path fill="none" stroke="black" d="M605.03,-999.81C604.58,-991.79 604.03,-982.05 603.53,-973.07"/>
<polygon fill="black" stroke="black" points="607.02,-972.82 602.96,-963.03 600.03,-973.21 607.02,-972.82"/>
</g>
<!-- edge1_28 -->
<g id="node29" class="node">
<title>edge1_28</title>
<ellipse fill="none" stroke="black" cx="488" cy="-253" rx="153.22" ry="18"/>
<text text-anchor="middle" x="488" y="-248.8" font-family="Times,serif" font-size="14.00">class org.objectweb.asm.tree.LabelNode</text>
</g>
<!-- edge1_16&#45;&gt;edge1_28 -->
<g id="edge11" class="edge">
<title>edge1_16&#45;&gt;edge1_28</title>
<path fill="none" stroke="black" d="M718.99,-1004.71C749.38,-994.71 774,-977.03 774,-946 774,-946 774,-946 774,-762 774,-688.52 741,-673.48 741,-600 741,-600 741,-600 741,-325 741,-295.11 674.73,-277.22 610.02,-266.87"/>
<polygon fill="black" stroke="black" points="610.49,-263.41 600.07,-265.34 609.42,-270.32 610.49,-263.41"/>
<text text-anchor="middle" x="769.92" y="-648.8" font-family="Times,serif" font-size="14.00">if null</text>
</g>
<!-- edge1_18 -->
<g id="node19" class="node">
<title>edge1_18</title>
<ellipse fill="none" stroke="black" cx="547" cy="-872" rx="53.65" ry="18"/>
<text text-anchor="middle" x="547" y="-867.8" font-family="Times,serif" font-size="14.00">ALOAD (2)</text>
</g>
<!-- edge1_17&#45;&gt;edge1_18 -->
<g id="edge15" class="edge">
<title>edge1_17&#45;&gt;edge1_18</title>
<path fill="none" stroke="black" d="M588.69,-926.81C581.9,-918.05 573.53,-907.24 566.07,-897.61"/>
<polygon fill="black" stroke="black" points="568.7,-895.3 559.81,-889.54 563.17,-899.59 568.7,-895.3"/>
</g>
<!-- edge1_22 -->
<g id="node23" class="node">
<title>edge1_22</title>
<ellipse fill="none" stroke="black" cx="602" cy="-726" rx="153.22" ry="18"/>
<text text-anchor="middle" x="602" y="-721.8" font-family="Times,serif" font-size="14.00">class org.objectweb.asm.tree.LabelNode</text>
</g>
<!-- edge1_17&#45;&gt;edge1_22 -->
<g id="edge16" class="edge">
<title>edge1_17&#45;&gt;edge1_22</title>
<path fill="none" stroke="red" d="M605.25,-926.56C607.05,-916.02 609.09,-902.29 610,-890 613.52,-842.27 608.91,-786.57 605.37,-754.19"/>
<polygon fill="red" stroke="red" points="608.83,-753.69 604.22,-744.15 601.88,-754.48 608.83,-753.69"/>
</g>
<!-- edge1_19 -->
<g id="node20" class="node">
<title>edge1_19</title>
<ellipse fill="none" stroke="black" cx="465" cy="-799" rx="115.92" ry="18"/>
<text text-anchor="middle" x="465" y="-794.8" font-family="Times,serif" font-size="14.00">java/sql/Connection#close()V</text>
</g>
<!-- edge1_18&#45;&gt;edge1_19 -->
<g id="edge23" class="edge">
<title>edge1_18&#45;&gt;edge1_19</title>
<path fill="none" stroke="black" d="M528.39,-854.89C517.72,-845.65 504.13,-833.88 492.27,-823.61"/>
<polygon fill="black" stroke="black" points="494.24,-820.69 484.39,-816.79 489.66,-825.98 494.24,-820.69"/>
</g>
<!-- edge1_18&#45;&gt;edge1_22 -->
<g id="edge24" class="edge">
<title>edge1_18&#45;&gt;edge1_22</title>
<path fill="none" stroke="red" d="M563.99,-854.59C573.24,-844.61 583.99,-831.11 590,-817 598.47,-797.12 601.31,-772.72 602.12,-754.34"/>
<polygon fill="red" stroke="red" points="605.62,-754.39 602.39,-744.3 598.62,-754.2 605.62,-754.39"/>
</g>
<!-- edge1_20 -->
<g id="node21" class="node">
<title>edge1_20</title>
<ellipse fill="none" stroke="black" cx="278" cy="-726" rx="153.22" ry="18"/>
<text text-anchor="middle" x="278" y="-721.8" font-family="Times,serif" font-size="14.00">class org.objectweb.asm.tree.LabelNode</text>
</g>
<!-- edge1_19&#45;&gt;edge1_20 -->
<g id="edge25" class="edge">
<title>edge1_19&#45;&gt;edge1_20</title>
<path fill="none" stroke="black" d="M423.03,-782.07C395.75,-771.71 359.96,-758.12 330.75,-747.03"/>
<polygon fill="black" stroke="black" points="331.71,-743.65 321.12,-743.37 329.23,-750.19 331.71,-743.65"/>
</g>
<!-- edge1_19&#45;&gt;edge1_22 -->
<g id="edge26" class="edge">
<title>edge1_19&#45;&gt;edge1_22</title>
<path fill="none" stroke="red" d="M496.77,-781.53C515.83,-771.66 540.27,-758.99 560.8,-748.35"/>
<polygon fill="red" stroke="red" points="562.65,-751.33 569.92,-743.62 559.43,-745.12 562.65,-751.33"/>
</g>
<!-- edge1_21 -->
<g id="node22" class="node">
<title>edge1_21</title>
<ellipse fill="none" stroke="black" cx="246" cy="-599" rx="167.24" ry="18"/>
<text text-anchor="middle" x="246" y="-594.8" font-family="Times,serif" font-size="14.00">class org.objectweb.asm.tree.JumpInsnNode</text>
</g>
<!-- edge1_20&#45;&gt;edge1_21 -->
<g id="edge27" class="edge">
<title>edge1_20&#45;&gt;edge1_21</title>
<path fill="none" stroke="black" d="M273.62,-707.88C268.29,-687.05 259.22,-651.64 252.94,-627.09"/>
<polygon fill="black" stroke="black" points="256.3,-626.13 250.43,-617.31 249.52,-627.87 256.3,-626.13"/>
</g>
<!-- edge1_21&#45;&gt;edge1_28 -->
<g id="edge28" class="edge">
<title>edge1_21&#45;&gt;edge1_28</title>
<path fill="none" stroke="black" d="M242.58,-580.68C239.35,-562.81 235,-534.07 235,-509 235,-509 235,-509 235,-325 235,-295.11 301.27,-277.22 365.98,-266.87"/>
<polygon fill="black" stroke="black" points="366.58,-270.32 375.93,-265.34 365.51,-263.41 366.58,-270.32"/>
</g>
<!-- edge1_23 -->
<g id="node24" class="node">
<title>edge1_23</title>
<ellipse fill="none" stroke="black" cx="534" cy="-653" rx="155.64" ry="18"/>
<text text-anchor="middle" x="534" y="-648.8" font-family="Times,serif" font-size="14.00">class org.objectweb.asm.tree.FrameNode</text>
</g>
<!-- edge1_22&#45;&gt;edge1_23 -->
<g id="edge17" class="edge">
<title>edge1_22&#45;&gt;edge1_23</title>
<path fill="none" stroke="black" d="M585.54,-707.81C577.1,-699 566.68,-688.13 557.42,-678.46"/>
<polygon fill="black" stroke="black" points="559.75,-675.83 550.31,-671.03 554.7,-680.67 559.75,-675.83"/>
</g>
<!-- edge1_24 -->
<g id="node25" class="node">
<title>edge1_24</title>
<ellipse fill="none" stroke="black" cx="504" cy="-545" rx="56.74" ry="18"/>
<text text-anchor="middle" x="504" y="-540.8" font-family="Times,serif" font-size="14.00">ASTORE (4)</text>
</g>
<!-- edge1_23&#45;&gt;edge1_24 -->
<g id="edge18" class="edge">
<title>edge1_23&#45;&gt;edge1_24</title>
<path fill="none" stroke="black" d="M529.18,-634.97C524.43,-618.2 517.12,-592.34 511.59,-572.81"/>
<polygon fill="black" stroke="black" points="514.9,-571.66 508.81,-562.99 508.16,-573.56 514.9,-571.66"/>
</g>
<!-- edge1_25 -->
<g id="node26" class="node">
<title>edge1_25</title>
<ellipse fill="none" stroke="black" cx="500" cy="-472" rx="53.65" ry="18"/>
<text text-anchor="middle" x="500" y="-467.8" font-family="Times,serif" font-size="14.00">ALOAD (3)</text>
</g>
<!-- edge1_24&#45;&gt;edge1_25 -->
<g id="edge19" class="edge">
<title>edge1_24&#45;&gt;edge1_25</title>
<path fill="none" stroke="black" d="M503.03,-526.81C502.58,-518.79 502.03,-509.05 501.53,-500.07"/>
<polygon fill="black" stroke="black" points="505.02,-499.82 500.96,-490.03 498.03,-500.21 505.02,-499.82"/>
</g>
<!-- edge1_26 -->
<g id="node27" class="node">
<title>edge1_26</title>
<ellipse fill="none" stroke="black" cx="491" cy="-399" rx="53.65" ry="18"/>
<text text-anchor="middle" x="491" y="-394.8" font-family="Times,serif" font-size="14.00">ALOAD (4)</text>
</g>
<!-- edge1_25&#45;&gt;edge1_26 -->
<g id="edge20" class="edge">
<title>edge1_25&#45;&gt;edge1_26</title>
<path fill="none" stroke="black" d="M497.82,-453.81C496.8,-445.79 495.57,-436.05 494.43,-427.07"/>
<polygon fill="black" stroke="black" points="497.89,-426.51 493.16,-417.03 490.94,-427.39 497.89,-426.51"/>
</g>
<!-- edge1_27 -->
<g id="node28" class="node">
<title>edge1_27</title>
<ellipse fill="none" stroke="black" cx="488" cy="-326" rx="234.13" ry="18"/>
<text text-anchor="middle" x="488" y="-321.8" font-family="Times,serif" font-size="14.00">java/lang/Throwable#addSuppressed(Ljava/lang/Throwable;)V</text>
</g>
<!-- edge1_26&#45;&gt;edge1_27 -->
<g id="edge21" class="edge">
<title>edge1_26&#45;&gt;edge1_27</title>
<path fill="none" stroke="black" d="M490.27,-380.81C489.93,-372.79 489.52,-363.05 489.14,-354.07"/>
<polygon fill="black" stroke="black" points="492.64,-353.87 488.72,-344.03 485.64,-354.17 492.64,-353.87"/>
</g>
<!-- edge1_27&#45;&gt;edge1_28 -->
<g id="edge22" class="edge">
<title>edge1_27&#45;&gt;edge1_28</title>
<path fill="none" stroke="black" d="M488,-307.81C488,-299.79 488,-290.05 488,-281.07"/>
<polygon fill="black" stroke="black" points="491.5,-281.03 488,-271.03 484.5,-281.03 491.5,-281.03"/>
</g>
<!-- edge1_29 -->
<g id="node30" class="node">
<title>edge1_29</title>
<ellipse fill="none" stroke="black" cx="488" cy="-180" rx="155.64" ry="18"/>
<text text-anchor="middle" x="488" y="-175.8" font-family="Times,serif" font-size="14.00">class org.objectweb.asm.tree.FrameNode</text>
</g>
<!-- edge1_28&#45;&gt;edge1_29 -->
<g id="edge12" class="edge">
<title>edge1_28&#45;&gt;edge1_29</title>
<path fill="none" stroke="black" d="M488,-234.81C488,-226.79 488,-217.05 488,-208.07"/>
<polygon fill="black" stroke="black" points="491.5,-208.03 488,-198.03 484.5,-208.03 491.5,-208.03"/>
</g>
<!-- edge1_30 -->
<g id="node31" class="node">
<title>edge1_30</title>
<ellipse fill="none" stroke="black" cx="488" cy="-107" rx="53.65" ry="18"/>
<text text-anchor="middle" x="488" y="-102.8" font-family="Times,serif" font-size="14.00">ALOAD (3)</text>
</g>
<!-- edge1_29&#45;&gt;edge1_30 -->
<g id="edge13" class="edge">
<title>edge1_29&#45;&gt;edge1_30</title>
<path fill="none" stroke="black" d="M488,-161.81C488,-153.79 488,-144.05 488,-135.07"/>
<polygon fill="black" stroke="black" points="491.5,-135.03 488,-125.03 484.5,-135.03 491.5,-135.03"/>
</g>
<!-- edge1_31 -->
<g id="node32" class="node">
<title>edge1_31</title>
<ellipse fill="none" stroke="black" cx="488" cy="-34" rx="47.87" ry="18"/>
<text text-anchor="middle" x="488" y="-29.8" font-family="Times,serif" font-size="14.00">ATHROW</text>
</g>
<!-- edge1_30&#45;&gt;edge1_31 -->
<g id="edge14" class="edge">
<title>edge1_30&#45;&gt;edge1_31</title>
<path fill="none" stroke="black" d="M488,-88.81C488,-80.79 488,-71.05 488,-62.07"/>
<polygon fill="black" stroke="black" points="491.5,-62.03 488,-52.03 484.5,-62.03 491.5,-62.03"/>
</g>
<!-- edge1_33 -->
<g id="node34" class="node">
<title>edge1_33</title>
<ellipse fill="none" stroke="black" cx="175" cy="-799" rx="155.64" ry="18"/>
<text text-anchor="middle" x="175" y="-794.8" font-family="Times,serif" font-size="14.00">class org.objectweb.asm.tree.FrameNode</text>
</g>
<!-- edge1_32&#45;&gt;edge1_33 -->
<g id="edge37" class="edge">
<title>edge1_32&#45;&gt;edge1_33</title>
<path fill="none" stroke="black" d="M181.06,-853.81C180.16,-845.79 179.06,-836.05 178.05,-827.07"/>
<polygon fill="black" stroke="black" points="181.52,-826.57 176.92,-817.03 174.56,-827.36 181.52,-826.57"/>
</g>
<!-- edge1_34 -->
<g id="node35" class="node">
<title>edge1_34</title>
<ellipse fill="none" stroke="black" cx="61" cy="-726" rx="45.46" ry="18"/>
<text text-anchor="middle" x="61" y="-721.8" font-family="Times,serif" font-size="14.00">RETURN</text>
</g>
<!-- edge1_33&#45;&gt;edge1_34 -->
<g id="edge38" class="edge">
<title>edge1_33&#45;&gt;edge1_34</title>
<path fill="none" stroke="black" d="M147.98,-781.17C131.5,-770.91 110.34,-757.73 93.01,-746.94"/>
<polygon fill="black" stroke="black" points="94.69,-743.86 84.35,-741.54 90.99,-749.8 94.69,-743.86"/>
</g>
</g>
</svg>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment