[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Again line number problem



Hi!

I have a small problem with the line number resolution again:
In one of my example files I have the invocation

if(f.getFunction().equals(Protocol.STR_VORTEX))

Now I want to resolve the callers for "equals". My algorithm correctly
returns bytecode Line 3714 for this call, which refers to the line

578 invokevirtual #95 <Method boolean equals(java.lang.Object)>

(output by javap).

But when I parse the class with Soot, line 3714 was for some reason
attached to the last invocation before:

573 invokevirtual #99 <Method java.lang.String getFunction()>

Does anyone have a clue, why?

I have the source file and a javap dump attached.

Thanks,
Eric

------------------------------------------------------------
Eric Bodden
CS-DIP full time student @ University of Kent at Canterbury
UKC internal phone: 5095
ICQ UIN: 12656220, secure mail on demand
Website: http://www.bodden.de

Attachment: Board.java
Description: Binary data

Compiled from Board.java
public class board.Board extends java.lang.Object {
    protected board.Field board[][];
    protected int width;
    protected int height;
    protected int depth;
    protected int n_dest;
    protected int n_startpoints_;
    protected board.Position startpoints_[];
    protected board.Position destinations[];
    public board.Board(int,int,int);
    public board.Board(java.lang.String);
    protected int actionToInt(java.lang.String);
    protected int directionToInt(java.lang.String);
    public int getDepth();
    public board.Position getDest(int);
    public board.Field getField(int, int);
    public int getHeight();
    public int getNDest();
    public int getNStartPoints();
    public board.Position getStartPoint(int);
    public int getWidth();
    protected java.lang.String intToAction(int);
    protected java.lang.String intToDirection(int);
    protected java.lang.String intToSpin(int);
    public void load(java.lang.String) throws java.io.IOException;
    public void randomit();
    public void save(java.lang.String);
    public void setDest(int, int, int);
    public void setDest(int, board.Position);
    public void setField(int, int, board.Field);
    public void setNDest(int);
    public void setNStartPoints(int);
    public void setStartPoint(int, board.Position);
    protected int spinToInt(java.lang.String);
    public java.lang.String toString();
}

Method board.Board(int,int,int)
   0 aload_0
   1 invokespecial #73 <Method java.lang.Object()>
   4 aload_0
   5 bipush 7
   7 putfield #115 <Field int numActions>
  10 aload_0
  11 iload_1
  12 putfield #133 <Field int width>
  15 aload_0
  16 iload_2
  17 putfield #107 <Field int height>
  20 aload_0
  21 iload_3
  22 putfield #93 <Field int depth>
  25 aload_0
  26 iload_1
  27 iload_2
  28 multianewarray #51 dim #2 <Class [[Lboard.Field;>
  32 putfield #88 <Field board.Field board[][]>
  35 iconst_0
  36 istore 4
  38 goto 80
  41 iconst_0
  42 istore 5
  44 goto 71
  47 aload_0
  48 getfield #88 <Field board.Field board[][]>
  51 iload 4
  53 aaload
  54 iload 5
  56 new #53 <Class board.Field>
  59 dup
  60 aload_0
  61 getfield #93 <Field int depth>
  64 invokespecial #76 <Method board.Field(int)>
  67 aastore
  68 iinc 5 1
  71 iload 5
  73 iload_2
  74 if_icmplt 47
  77 iinc 4 1
  80 iload 4
  82 iload_1
  83 if_icmplt 41
  86 return

Line numbers for method board.Board(int,int,int)
   line 1549: 0
   line 1142: 4
   line 1143: 5
   line 1142: 7
   line 1561: 10
   line 1565: 11
   line 1562: 12
   line 1567: 15
   line 1571: 16
   line 1568: 17
   line 1573: 20
   line 1577: 21
   line 1574: 22
   line 1579: 25
   line 1584: 26
   line 1587: 27
   line 1581: 28
   line 1579: 32
   line 1595: 35
   line 1593: 36
   line 1590: 38
   line 1610: 41
   line 1608: 42
   line 1605: 44
   line 1620: 47
   line 1622: 51
   line 1621: 53
   line 1625: 54
   line 1628: 56
   line 1631: 60
   line 1628: 64
   line 1624: 67
   line 1617: 68
   line 1612: 71
   line 1614: 73
   line 1613: 74
   line 1602: 77
   line 1597: 80
   line 1599: 82
   line 1598: 83
   line 1549: 86

Method board.Board(java.lang.String)
   0 aload_0
   1 invokespecial #73 <Method java.lang.Object()>
   4 aload_0
   5 bipush 7
   7 putfield #115 <Field int numActions>
  10 aload_0
  11 aload_1
  12 invokevirtual #111 <Method void load(java.lang.String)>
  15 goto 50
  18 astore_2
  19 getstatic #117 <Field java.io.PrintStream out>
  22 new #68 <Class java.lang.StringBuffer>
  25 dup
  26 ldc #10 <String "ERROR in reading a board from '">
  28 invokespecial #83 <Method java.lang.StringBuffer(java.lang.String)>
  31 aload_1
  32 invokevirtual #87 <Method java.lang.StringBuffer append(java.lang.String)>
  35 ldc #7 <String "': ">
  37 invokevirtual #87 <Method java.lang.StringBuffer append(java.lang.String)>
  40 aload_2
  41 invokevirtual #86 <Method java.lang.StringBuffer append(java.lang.Object)>
  44 invokevirtual #131 <Method java.lang.String toString()>
  47 invokevirtual #119 <Method void println(java.lang.String)>
  50 return
Exception table:
   from   to  target type
    10    15    18   <Class java.lang.Exception>

Line numbers for method board.Board(java.lang.String)
   line 1509: 0
   line 1142: 4
   line 1143: 5
   line 1142: 7
   line 1515: 10
   line 1517: 10
   line 1521: 11
   line 1520: 12
   line 1515: 15
   line 1525: 18
   line 1532: 19
   line 1537: 22
   line 1539: 31
   line 1541: 35
   line 1543: 40
   line 1542: 44
   line 1536: 47
   line 1509: 50

Method int actionToInt(java.lang.String)
   0 iconst_0
   1 istore_2
   2 goto 22
   5 aload_1
   6 aload_0
   7 iload_2
   8 invokevirtual #108 <Method java.lang.String intToAction(int)>
  11 invokevirtual #95 <Method boolean equals(java.lang.Object)>
  14 ifeq 19
  17 iload_2
  18 ireturn
  19 iinc 2 1
  22 iload_2
  23 bipush 7
  25 if_icmplt 5
  28 getstatic #117 <Field java.io.PrintStream out>
  31 ldc #12 <String "Error in actionToInt
">
  33 invokevirtual #119 <Method void println(java.lang.String)>
  36 iconst_0
  37 ireturn

Line numbers for method int actionToInt(java.lang.String)
   line 1241: 0
   line 1239: 1
   line 1236: 2
   line 1253: 5
   line 1258: 6
   line 1259: 7
   line 1258: 8
   line 1256: 11
   line 1264: 17
   line 1263: 18
   line 1248: 19
   line 1243: 22
   line 1245: 23
   line 1244: 25
   line 1268: 28
   line 1273: 31
   line 1272: 33
   line 1277: 36
   line 1276: 37

Method int directionToInt(java.lang.String)
   0 iconst_0
   1 istore_2
   2 goto 22
   5 aload_1
   6 aload_0
   7 iload_2
   8 invokevirtual #109 <Method java.lang.String intToDirection(int)>
  11 invokevirtual #95 <Method boolean equals(java.lang.Object)>
  14 ifeq 19
  17 iload_2
  18 ireturn
  19 iinc 2 1
  22 iload_2
  23 iconst_4
  24 if_icmplt 5
  27 getstatic #117 <Field java.io.PrintStream out>
  30 ldc #13 <String "Error in directionToInt">
  32 invokevirtual #119 <Method void println(java.lang.String)>
  35 iconst_0
  36 ireturn

Line numbers for method int directionToInt(java.lang.String)
   line 1360: 0
   line 1358: 1
   line 1355: 2
   line 1372: 5
   line 1377: 6
   line 1378: 7
   line 1377: 8
   line 1375: 11
   line 1383: 17
   line 1382: 18
   line 1366: 19
   line 1362: 22
   line 1364: 23
   line 1363: 24
   line 1387: 27
   line 1392: 30
   line 1391: 32
   line 1396: 35
   line 1395: 36

Method int getDepth()
   0 aload_0
   1 getfield #93 <Field int depth>
   4 ireturn

Line numbers for method int getDepth()
   line 2015: 0
   line 2014: 4

Method board.Position getDest(int)
   0 aload_0
   1 getfield #94 <Field board.Position destinations[]>
   4 iload_1
   5 aaload
   6 areturn

Line numbers for method board.Position getDest(int)
   line 1709: 0
   line 1711: 4
   line 1710: 5
   line 1708: 6

Method board.Field getField(int, int)
   0 aload_0
   1 getfield #88 <Field board.Field board[][]>
   4 iload_1
   5 aaload
   6 iload_2
   7 aaload
   8 areturn

Line numbers for method board.Field getField(int, int)
   line 2030: 0
   line 2032: 4
   line 2031: 5
   line 2035: 6
   line 2034: 7
   line 2029: 8

Method int getHeight()
   0 aload_0
   1 getfield #107 <Field int height>
   4 ireturn

Line numbers for method int getHeight()
   line 2005: 0
   line 2004: 4

Method int getNDest()
   0 aload_0
   1 getfield #112 <Field int n_dest>
   4 ireturn

Line numbers for method int getNDest()
   line 1644: 0
   line 1645: 1
   line 1643: 4

Method int getNStartPoints()
   0 aload_0
   1 getfield #113 <Field int n_startpoints_>
   4 ireturn

Line numbers for method int getNStartPoints()
   line 1790: 0
   line 1789: 4

Method board.Position getStartPoint(int)
   0 aload_0
   1 getfield #129 <Field board.Position startpoints_[]>
   4 iload_1
   5 aaload
   6 areturn

Line numbers for method board.Position getStartPoint(int)
   line 1802: 0
   line 1804: 4
   line 1803: 5
   line 1801: 6

Method int getWidth()
   0 aload_0
   1 getfield #133 <Field int width>
   4 ireturn

Line numbers for method int getWidth()
   line 1995: 0
   line 1994: 4

Method java.lang.String intToAction(int)
   0 iload_1
   1 tableswitch 0 to 6: default=65
	    0: 44
	    1: 47
	    2: 50
	    3: 53
	    4: 56
	    5: 59
	    6: 62
  44 ldc #40 <String "normal">
  46 areturn
  47 ldc #22 <String "alien">
  49 areturn
  50 ldc #37 <String "mountain">
  52 areturn
  53 ldc #36 <String "marsh">
  55 areturn
  56 ldc #34 <String "glacier">
  58 areturn
  59 ldc #49 <String "vortex">
  61 areturn
  62 ldc #48 <String "tunnel">
  64 areturn
  65 getstatic #117 <Field java.io.PrintStream out>
  68 ldc #12 <String "Error in actionToInt
">
  70 invokevirtual #119 <Method void println(java.lang.String)>
  73 ldc #30 <String "error">
  75 areturn

Line numbers for method java.lang.String intToAction(int)
   line 1155: 0
   line 1153: 1
   line 1163: 44
   line 1161: 46
   line 1171: 47
   line 1169: 49
   line 1179: 50
   line 1177: 52
   line 1187: 53
   line 1185: 55
   line 1195: 56
   line 1193: 58
   line 1203: 59
   line 1201: 61
   line 1211: 62
   line 1209: 64
   line 1216: 65
   line 1221: 68
   line 1220: 70
   line 1225: 73
   line 1224: 75

Method java.lang.String intToDirection(int)
   0 iload_1
   1 tableswitch 0 to 3: default=44
	    0: 32
	    1: 38
	    2: 35
	    3: 41
  32 ldc #41 <String "north">
  34 areturn
  35 ldc #45 <String "south">
  37 areturn
  38 ldc #50 <String "west">
  40 areturn
  41 ldc #29 <String "east">
  43 areturn
  44 getstatic #117 <Field java.io.PrintStream out>
  47 ldc #14 <String "Error in intToDirection">
  49 invokevirtual #119 <Method void println(java.lang.String)>
  52 ldc #30 <String "error">
  54 areturn

Line numbers for method java.lang.String intToDirection(int)
   line 1290: 0
   line 1288: 1
   line 1300: 32
   line 1298: 34
   line 1310: 35
   line 1308: 37
   line 1320: 38
   line 1318: 40
   line 1330: 41
   line 1328: 43
   line 1335: 44
   line 1340: 47
   line 1339: 49
   line 1344: 52
   line 1343: 54

Method java.lang.String intToSpin(int)
   0 iload_1
   1 tableswitch 0 to 2: default=37
	    0: 28
	    1: 31
	    2: 34
  28 ldc #35 <String "left">
  30 areturn
  31 ldc #44 <String "right">
  33 areturn
  34 ldc #33 <String "flip">
  36 areturn
  37 getstatic #117 <Field java.io.PrintStream out>
  40 ldc #15 <String "Error in intToSpin">
  42 invokevirtual #119 <Method void println(java.lang.String)>
  45 ldc #30 <String "error">
  47 areturn

Line numbers for method java.lang.String intToSpin(int)
   line 1409: 0
   line 1407: 1
   line 1419: 28
   line 1417: 30
   line 1429: 31
   line 1427: 33
   line 1439: 34
   line 1437: 36
   line 1444: 37
   line 1449: 40
   line 1448: 42
   line 1453: 45
   line 1452: 47

Method void load(java.lang.String)
   0 new #58 <Class java.io.FileReader>
   3 dup
   4 aload_1
   5 invokespecial #80 <Method java.io.FileReader(java.lang.String)>
   8 astore_2
   9 new #55 <Class com.FileTokenizer>
  12 dup
  13 aload_2
  14 invokespecial #78 <Method com.FileTokenizer(java.io.InputStreamReader)>
  17 astore_3
  18 new #71 <Class java.util.Vector>
  21 dup
  22 invokespecial #75 <Method java.util.Vector()>
  25 astore 4
  27 iconst_0
  28 istore 5
  30 goto 1048
  33 aload 4
  35 invokevirtual #89 <Method void clear()>
  38 aload_3
  39 invokevirtual #106 <Method java.util.Vector hear()>
  42 astore 4
  44 aload 4
  46 iconst_0
  47 invokevirtual #96 <Method java.lang.Object get(int)>
  50 checkcast #57 <Class com.Token>
  53 getfield #130 <Field java.lang.String sval>
  56 ldc #25 <String "boardsize">
  58 invokevirtual #95 <Method boolean equals(java.lang.Object)>
  61 ifeq 191
  64 aload_0
  65 aload 4
  67 iconst_1
  68 invokevirtual #96 <Method java.lang.Object get(int)>
  71 checkcast #57 <Class com.Token>
  74 getfield #116 <Field double nval>
  77 d2i
  78 putfield #133 <Field int width>
  81 aload_0
  82 aload 4
  84 iconst_2
  85 invokevirtual #96 <Method java.lang.Object get(int)>
  88 checkcast #57 <Class com.Token>
  91 getfield #116 <Field double nval>
  94 d2i
  95 putfield #107 <Field int height>
  98 aload_0
  99 aload 4
 101 iconst_3
 102 invokevirtual #96 <Method java.lang.Object get(int)>
 105 checkcast #57 <Class com.Token>
 108 getfield #116 <Field double nval>
 111 d2i
 112 putfield #93 <Field int depth>
 115 aload_0
 116 aload_0
 117 getfield #133 <Field int width>
 120 aload_0
 121 getfield #107 <Field int height>
 124 multianewarray #51 dim #2 <Class [[Lboard.Field;>
 128 putfield #88 <Field board.Field board[][]>
 131 iconst_0
 132 istore 6
 134 goto 179
 137 iconst_0
 138 istore 7
 140 goto 167
 143 aload_0
 144 getfield #88 <Field board.Field board[][]>
 147 iload 6
 149 aaload
 150 iload 7
 152 new #53 <Class board.Field>
 155 dup
 156 aload_0
 157 getfield #93 <Field int depth>
 160 invokespecial #76 <Method board.Field(int)>
 163 aastore
 164 iinc 7 1
 167 iload 7
 169 aload_0
 170 getfield #107 <Field int height>
 173 if_icmplt 143
 176 iinc 6 1
 179 iload 6
 181 aload_0
 182 getfield #133 <Field int width>
 185 if_icmplt 137
 188 goto 1048
 191 aload 4
 193 iconst_0
 194 invokevirtual #96 <Method java.lang.Object get(int)>
 197 checkcast #57 <Class com.Token>
 200 getfield #130 <Field java.lang.String sval>
 203 ldc #23 <String "board">
 205 invokevirtual #95 <Method boolean equals(java.lang.Object)>
 208 ifeq 342
 211 aload 4
 213 invokevirtual #128 <Method int size()>
 216 aload_0
 217 getfield #93 <Field int depth>
 220 aload_0
 221 invokevirtual #105 <Method int getWidth()>
 224 imul
 225 iconst_3
 226 iadd
 227 if_icmpeq 238
 230 getstatic #117 <Field java.io.PrintStream out>
 233 ldc #18 <String "Line of the board of invalid size received. Continuing anyway">
 235 invokevirtual #119 <Method void println(java.lang.String)>
 238 aload 4
 240 iconst_1
 241 invokevirtual #96 <Method java.lang.Object get(int)>
 244 checkcast #57 <Class com.Token>
 247 getfield #116 <Field double nval>
 250 d2i
 251 istore 6
 253 iconst_2
 254 istore 8
 256 iconst_0
 257 istore 9
 259 goto 330
 262 new #53 <Class board.Field>
 265 dup
 266 aload_0
 267 getfield #93 <Field int depth>
 270 invokespecial #76 <Method board.Field(int)>
 273 astore 7
 275 iconst_0
 276 istore 10
 278 goto 308
 281 aload 7
 283 iload 10
 285 aload 4
 287 iload 8
 289 invokevirtual #96 <Method java.lang.Object get(int)>
 292 checkcast #57 <Class com.Token>
 295 getfield #116 <Field double nval>
 298 d2i
 299 invokevirtual #121 <Method void setComponent(int, int)>
 302 iinc 8 1
 305 iinc 10 1
 308 iload 10
 310 aload_0
 311 getfield #93 <Field int depth>
 314 if_icmplt 281
 317 aload_0
 318 iload 9
 320 iload 6
 322 aload 7
 324 invokevirtual #122 <Method void setField(int, int, board.Field)>
 327 iinc 9 1
 330 iload 9
 332 aload_0
 333 invokevirtual #105 <Method int getWidth()>
 336 if_icmplt 262
 339 goto 1048
 342 aload 4
 344 iconst_0
 345 invokevirtual #96 <Method java.lang.Object get(int)>
 348 checkcast #57 <Class com.Token>
 351 getfield #130 <Field java.lang.String sval>
 354 ldc #38 <String "ndest">
 356 invokevirtual #95 <Method boolean equals(java.lang.Object)>
 359 ifeq 393
 362 aload_0
 363 aload 4
 365 iconst_1
 366 invokevirtual #96 <Method java.lang.Object get(int)>
 369 checkcast #57 <Class com.Token>
 372 getfield #116 <Field double nval>
 375 d2i
 376 putfield #112 <Field int n_dest>
 379 aload_0
 380 aload_0
 381 getfield #112 <Field int n_dest>
 384 anewarray class #54 <Class board.Position>
 387 putfield #94 <Field board.Position destinations[]>
 390 goto 1048
 393 aload 4
 395 iconst_0
 396 invokevirtual #96 <Method java.lang.Object get(int)>
 399 checkcast #57 <Class com.Token>
 402 getfield #130 <Field java.lang.String sval>
 405 ldc #42 <String "nstartpoints">
 407 invokevirtual #95 <Method boolean equals(java.lang.Object)>
 410 ifeq 444
 413 aload_0
 414 aload 4
 416 iconst_1
 417 invokevirtual #96 <Method java.lang.Object get(int)>
 420 checkcast #57 <Class com.Token>
 423 getfield #116 <Field double nval>
 426 d2i
 427 putfield #113 <Field int n_startpoints_>
 430 aload_0
 431 aload_0
 432 getfield #113 <Field int n_startpoints_>
 435 anewarray class #54 <Class board.Position>
 438 putfield #129 <Field board.Position startpoints_[]>
 441 goto 1048
 444 aload 4
 446 iconst_0
 447 invokevirtual #96 <Method java.lang.Object get(int)>
 450 checkcast #57 <Class com.Token>
 453 getfield #130 <Field java.lang.String sval>
 456 ldc #46 <String "startpoint">
 458 invokevirtual #95 <Method boolean equals(java.lang.Object)>
 461 ifeq 522
 464 aload 4
 466 iconst_1
 467 invokevirtual #96 <Method java.lang.Object get(int)>
 470 checkcast #57 <Class com.Token>
 473 getfield #116 <Field double nval>
 476 d2i
 477 istore 6
 479 aload_0
 480 getfield #129 <Field board.Position startpoints_[]>
 483 iload 6
 485 new #54 <Class board.Position>
 488 dup
 489 aload 4
 491 iconst_2
 492 invokevirtual #96 <Method java.lang.Object get(int)>
 495 checkcast #57 <Class com.Token>
 498 getfield #116 <Field double nval>
 501 d2i
 502 aload 4
 504 iconst_3
 505 invokevirtual #96 <Method java.lang.Object get(int)>
 508 checkcast #57 <Class com.Token>
 511 getfield #116 <Field double nval>
 514 d2i
 515 invokespecial #77 <Method board.Position(int,int)>
 518 aastore
 519 goto 1048
 522 aload 4
 524 iconst_0
 525 invokevirtual #96 <Method java.lang.Object get(int)>
 528 checkcast #57 <Class com.Token>
 531 getfield #130 <Field java.lang.String sval>
 534 ldc #31 <String "field">
 536 invokevirtual #95 <Method boolean equals(java.lang.Object)>
 539 ifeq 947
 542 new #54 <Class board.Position>
 545 dup
 546 aload 4
 548 iconst_1
 549 invokevirtual #96 <Method java.lang.Object get(int)>
 552 checkcast #57 <Class com.Token>
 555 getfield #116 <Field double nval>
 558 d2i
 559 aload 4
 561 iconst_2
 562 invokevirtual #96 <Method java.lang.Object get(int)>
 565 checkcast #57 <Class com.Token>
 568 getfield #116 <Field double nval>
 571 d2i
 572 invokespecial #77 <Method board.Position(int,int)>
 575 astore 6
 577 aload_0
 578 getfield #88 <Field board.Field board[][]>
 581 aload 6
 583 getfield #134 <Field int x>
 586 aaload
 587 aload 6
 589 getfield #135 <Field int y>
 592 aaload
 593 aload 4
 595 iconst_3
 596 invokevirtual #96 <Method java.lang.Object get(int)>
 599 checkcast #57 <Class com.Token>
 602 getfield #130 <Field java.lang.String sval>
 605 invokevirtual #123 <Method void setFunction(java.lang.String)>
 608 aload 4
 610 iconst_3
 611 invokevirtual #96 <Method java.lang.Object get(int)>
 614 checkcast #57 <Class com.Token>
 617 getfield #130 <Field java.lang.String sval>
 620 ldc #48 <String "tunnel">
 622 invokevirtual #95 <Method boolean equals(java.lang.Object)>
 625 ifeq 683
 628 aload_0
 629 getfield #88 <Field board.Field board[][]>
 632 aload 6
 634 getfield #134 <Field int x>
 637 aaload
 638 aload 6
 640 getfield #135 <Field int y>
 643 aaload
 644 new #54 <Class board.Position>
 647 dup
 648 aload 4
 650 iconst_4
 651 invokevirtual #96 <Method java.lang.Object get(int)>
 654 checkcast #57 <Class com.Token>
 657 getfield #116 <Field double nval>
 660 d2i
 661 aload 4
 663 iconst_5
 664 invokevirtual #96 <Method java.lang.Object get(int)>
 667 checkcast #57 <Class com.Token>
 670 getfield #116 <Field double nval>
 673 d2i
 674 invokespecial #77 <Method board.Position(int,int)>
 677 invokevirtual #126 <Method void setTunnelEnd(board.Position)>
 680 goto 1048
 683 aload 4
 685 iconst_3
 686 invokevirtual #96 <Method java.lang.Object get(int)>
 689 checkcast #57 <Class com.Token>
 692 getfield #130 <Field java.lang.String sval>
 695 ldc #49 <String "vortex">
 697 invokevirtual #95 <Method boolean equals(java.lang.Object)>
 700 ifeq 737
 703 aload_0
 704 getfield #88 <Field board.Field board[][]>
 707 aload 6
 709 getfield #134 <Field int x>
 712 aaload
 713 aload 6
 715 getfield #135 <Field int y>
 718 aaload
 719 aload 4
 721 iconst_4
 722 invokevirtual #96 <Method java.lang.Object get(int)>
 725 checkcast #57 <Class com.Token>
 728 getfield #130 <Field java.lang.String sval>
 731 invokevirtual #127 <Method void setVortexDirection(java.lang.String)>
 734 goto 1048
 737 aload 4
 739 iconst_3
 740 invokevirtual #96 <Method java.lang.Object get(int)>
 743 checkcast #57 <Class com.Token>
 746 getfield #130 <Field java.lang.String sval>
 749 ldc #34 <String "glacier">
 751 invokevirtual #95 <Method boolean equals(java.lang.Object)>
 754 ifeq 791
 757 aload_0
 758 getfield #88 <Field board.Field board[][]>
 761 aload 6
 763 getfield #134 <Field int x>
 766 aaload
 767 aload 6
 769 getfield #135 <Field int y>
 772 aaload
 773 aload 4
 775 iconst_4
 776 invokevirtual #96 <Method java.lang.Object get(int)>
 779 checkcast #57 <Class com.Token>
 782 getfield #130 <Field java.lang.String sval>
 785 invokevirtual #124 <Method void setGlacierDirection(java.lang.String)>
 788 goto 1048
 791 aload 4
 793 iconst_3
 794 invokevirtual #96 <Method java.lang.Object get(int)>
 797 checkcast #57 <Class com.Token>
 800 getfield #130 <Field java.lang.String sval>
 803 ldc #36 <String "marsh">
 805 invokevirtual #95 <Method boolean equals(java.lang.Object)>
 808 ifeq 846
 811 aload_0
 812 getfield #88 <Field board.Field board[][]>
 815 aload 6
 817 getfield #134 <Field int x>
 820 aaload
 821 aload 6
 823 getfield #135 <Field int y>
 826 aaload
 827 aload 4
 829 iconst_4
 830 invokevirtual #96 <Method java.lang.Object get(int)>
 833 checkcast #57 <Class com.Token>
 836 getfield #116 <Field double nval>
 839 d2i
 840 invokevirtual #125 <Method void setMarshDepth(int)>
 843 goto 1048
 846 aload 4
 848 iconst_3
 849 invokevirtual #96 <Method java.lang.Object get(int)>
 852 checkcast #57 <Class com.Token>
 855 getfield #130 <Field java.lang.String sval>
 858 ldc #37 <String "mountain">
 860 invokevirtual #95 <Method boolean equals(java.lang.Object)>
 863 ifne 1048
 866 aload 4
 868 iconst_3
 869 invokevirtual #96 <Method java.lang.Object get(int)>
 872 checkcast #57 <Class com.Token>
 875 getfield #130 <Field java.lang.String sval>
 878 ldc #22 <String "alien">
 880 invokevirtual #95 <Method boolean equals(java.lang.Object)>
 883 ifne 1048
 886 aload 4
 888 iconst_3
 889 invokevirtual #96 <Method java.lang.Object get(int)>
 892 checkcast #57 <Class com.Token>
 895 getfield #130 <Field java.lang.String sval>
 898 ldc #40 <String "normal">
 900 invokevirtual #95 <Method boolean equals(java.lang.Object)>
 903 ifne 1048
 906 getstatic #117 <Field java.io.PrintStream out>
 909 new #68 <Class java.lang.StringBuffer>
 912 dup
 913 ldc #17 <String "Got unknown field Type: '">
 915 invokespecial #83 <Method java.lang.StringBuffer(java.lang.String)>
 918 aload 4
 920 iconst_1
 921 invokevirtual #96 <Method java.lang.Object get(int)>
 924 checkcast #57 <Class com.Token>
 927 getfield #130 <Field java.lang.String sval>
 930 invokevirtual #87 <Method java.lang.StringBuffer append(java.lang.String)>
 933 ldc #5 <String "'. continuing nonetheless.">
 935 invokevirtual #87 <Method java.lang.StringBuffer append(java.lang.String)>
 938 invokevirtual #131 <Method java.lang.String toString()>
 941 invokevirtual #119 <Method void println(java.lang.String)>
 944 goto 1048
 947 aload 4
 949 iconst_0
 950 invokevirtual #96 <Method java.lang.Object get(int)>
 953 checkcast #57 <Class com.Token>
 956 getfield #130 <Field java.lang.String sval>
 959 ldc #27 <String "destination">
 961 invokevirtual #95 <Method boolean equals(java.lang.Object)>
 964 ifeq 1025
 967 aload 4
 969 iconst_1
 970 invokevirtual #96 <Method java.lang.Object get(int)>
 973 checkcast #57 <Class com.Token>
 976 getfield #116 <Field double nval>
 979 d2i
 980 istore 6
 982 aload_0
 983 getfield #94 <Field board.Position destinations[]>
 986 iload 6
 988 new #54 <Class board.Position>
 991 dup
 992 aload 4
 994 iconst_2
 995 invokevirtual #96 <Method java.lang.Object get(int)>
 998 checkcast #57 <Class com.Token>
1001 getfield #116 <Field double nval>
1004 d2i
1005 aload 4
1007 iconst_3
1008 invokevirtual #96 <Method java.lang.Object get(int)>
1011 checkcast #57 <Class com.Token>
1014 getfield #116 <Field double nval>
1017 d2i
1018 invokespecial #77 <Method board.Position(int,int)>
1021 aastore
1022 goto 1048
1025 aload 4
1027 iconst_0
1028 invokevirtual #96 <Method java.lang.Object get(int)>
1031 checkcast #57 <Class com.Token>
1034 getfield #130 <Field java.lang.String sval>
1037 ldc #32 <String "fileend">
1039 invokevirtual #95 <Method boolean equals(java.lang.Object)>
1042 ifeq 1048
1045 iconst_1
1046 istore 5
1048 iload 5
1050 ifeq 33
1053 aload_2
1054 invokevirtual #90 <Method void close()>
1057 getstatic #117 <Field java.io.PrintStream out>
1060 new #68 <Class java.lang.StringBuffer>
1063 dup
1064 ldc #19 <String "Read board from '">
1066 invokespecial #83 <Method java.lang.StringBuffer(java.lang.String)>
1069 aload_1
1070 invokevirtual #87 <Method java.lang.StringBuffer append(java.lang.String)>
1073 ldc #6 <String "':">
1075 invokevirtual #87 <Method java.lang.StringBuffer append(java.lang.String)>
1078 invokevirtual #131 <Method java.lang.String toString()>
1081 invokevirtual #119 <Method void println(java.lang.String)>
1084 goto 1152
1087 astore_2
1088 getstatic #117 <Field java.io.PrintStream out>
1091 new #68 <Class java.lang.StringBuffer>
1094 dup
1095 ldc #10 <String "ERROR in reading a board from '">
1097 invokespecial #83 <Method java.lang.StringBuffer(java.lang.String)>
1100 aload_1
1101 invokevirtual #87 <Method java.lang.StringBuffer append(java.lang.String)>
1104 ldc #7 <String "': ">
1106 invokevirtual #87 <Method java.lang.StringBuffer append(java.lang.String)>
1109 aload_2
1110 invokevirtual #86 <Method java.lang.StringBuffer append(java.lang.Object)>
1113 invokevirtual #131 <Method java.lang.String toString()>
1116 invokevirtual #119 <Method void println(java.lang.String)>
1119 new #60 <Class java.io.IOException>
1122 dup
1123 new #68 <Class java.lang.StringBuffer>
1126 dup
1127 ldc #10 <String "ERROR in reading a board from '">
1129 invokespecial #83 <Method java.lang.StringBuffer(java.lang.String)>
1132 aload_1
1133 invokevirtual #87 <Method java.lang.StringBuffer append(java.lang.String)>
1136 ldc #7 <String "': ">
1138 invokevirtual #87 <Method java.lang.StringBuffer append(java.lang.String)>
1141 aload_2
1142 invokevirtual #86 <Method java.lang.StringBuffer append(java.lang.Object)>
1145 invokevirtual #131 <Method java.lang.String toString()>
1148 invokespecial #82 <Method java.io.IOException(java.lang.String)>
1151 athrow
1152 return
Exception table:
   from   to  target type
     0  1084  1087   <Class java.lang.Exception>

Line numbers for method void load(java.lang.String)
   line 2074: 0
   line 2079: 0
   line 2082: 4
   line 2079: 5
   line 2077: 8
   line 2088: 9
   line 2091: 13
   line 2088: 14
   line 2086: 17
   line 2097: 18
   line 2095: 25
   line 2105: 27
   line 2103: 28
   line 2107: 30
   line 2113: 33
   line 2116: 35
   line 2121: 38
   line 2124: 39
   line 2119: 42
   line 2133: 44
   line 2137: 46
   line 2136: 47
   line 2130: 50
   line 2140: 53
   line 2146: 56
   line 2144: 58
   line 2151: 64
   line 2162: 65
   line 2166: 67
   line 2165: 68
   line 2159: 71
   line 2169: 74
   line 2155: 77
   line 2152: 78
   line 2172: 81
   line 2183: 82
   line 2187: 84
   line 2186: 85
   line 2180: 88
   line 2190: 91
   line 2176: 94
   line 2173: 95
   line 2193: 98
   line 2204: 99
   line 2208: 101
   line 2207: 102
   line 2201: 105
   line 2211: 108
   line 2197: 111
   line 2194: 112
   line 2214: 115
   line 2219: 116
   line 2222: 120
   line 2216: 124
   line 2214: 128
   line 2230: 131
   line 2228: 132
   line 2225: 134
   line 2245: 137
   line 2243: 138
   line 2240: 140
   line 2255: 143
   line 2257: 147
   line 2256: 149
   line 2260: 150
   line 2263: 152
   line 2266: 156
   line 2263: 160
   line 2259: 163
   line 2252: 164
   line 2247: 167
   line 2249: 169
   line 2248: 173
   line 2237: 176
   line 2232: 179
   line 2234: 181
   line 2233: 185
   line 2127: 188
   line 2279: 191
   line 2283: 193
   line 2282: 194
   line 2276: 197
   line 2286: 200
   line 2292: 203
   line 2290: 205
   line 2299: 211
   line 2302: 213
   line 2305: 216
   line 2307: 220
   line 2310: 221
   line 2306: 224
   line 2313: 225
   line 2312: 226
   line 2304: 227
   line 2317: 230
   line 2322: 233
   line 2321: 235
   line 2336: 238
   line 2340: 240
   line 2339: 241
   line 2333: 244
   line 2343: 247
   line 2329: 250
   line 2327: 251
   line 2352: 253
   line 2350: 254
   line 2359: 256
   line 2357: 257
   line 2354: 259
   line 2375: 262
   line 2378: 266
   line 2375: 270
   line 2373: 273
   line 2386: 275
   line 2384: 276
   line 2381: 278
   line 2396: 281
   line 2400: 283
   line 2409: 285
   line 2413: 287
   line 2412: 289
   line 2406: 292
   line 2416: 295
   line 2402: 298
   line 2399: 299
   line 2421: 302
   line 2393: 305
   line 2388: 308
   line 2390: 310
   line 2389: 314
   line 2424: 317
   line 2428: 318
   line 2430: 320
   line 2432: 322
   line 2427: 324
   line 2370: 327
   line 2361: 330
   line 2363: 332
   line 2366: 333
   line 2362: 336
   line 2273: 339
   line 2444: 342
   line 2448: 344
   line 2447: 345
   line 2441: 348
   line 2451: 351
   line 2457: 354
   line 2455: 356
   line 2462: 362
   line 2473: 363
   line 2477: 365
   line 2476: 366
   line 2470: 369
   line 2480: 372
   line 2466: 375
   line 2463: 376
   line 2483: 379
   line 2488: 380
   line 2485: 384
   line 2483: 387
   line 2438: 390
   line 2499: 393
   line 2503: 395
   line 2502: 396
   line 2496: 399
   line 2506: 402
   line 2512: 405
   line 2510: 407
   line 2517: 413
   line 2528: 414
   line 2532: 416
   line 2531: 417
   line 2525: 420
   line 2535: 423
   line 2521: 426
   line 2518: 427
   line 2538: 430
   line 2543: 431
   line 2540: 435
   line 2538: 438
   line 2493: 441
   line 2554: 444
   line 2558: 446
   line 2557: 447
   line 2551: 450
   line 2561: 453
   line 2567: 456
   line 2565: 458
   line 2582: 464
   line 2586: 466
   line 2585: 467
   line 2579: 470
   line 2589: 473
   line 2575: 476
   line 2573: 477
   line 2592: 479
   line 2594: 483
   line 2597: 485
   line 2607: 489
   line 2611: 491
   line 2610: 492
   line 2604: 495
   line 2614: 498
   line 2600: 501
   line 2624: 502
   line 2628: 504
   line 2627: 505
   line 2621: 508
   line 2631: 511
   line 2617: 514
   line 2597: 515
   line 2593: 518
   line 2548: 519
   line 2643: 522
   line 2647: 524
   line 2646: 525
   line 2640: 528
   line 2650: 531
   line 2656: 534
   line 2654: 536
   line 2664: 542
   line 2674: 546
   line 2678: 548
   line 2677: 549
   line 2671: 552
   line 2681: 555
   line 2667: 558
   line 2691: 559
   line 2695: 561
   line 2694: 562
   line 2688: 565
   line 2698: 568
   line 2684: 571
   line 2664: 572
   line 2662: 575
   line 2702: 577
   line 2704: 581
   line 2705: 583
   line 2703: 586
   line 2709: 587
   line 2710: 589
   line 2708: 592
   line 2720: 593
   line 2724: 595
   line 2723: 596
   line 2717: 599
   line 2727: 602
   line 2715: 605
   line 2737: 608
   line 2741: 610
   line 2740: 611
   line 2734: 614
   line 2744: 617
   line 2750: 620
   line 2748: 622
   line 2755: 628
   line 2757: 632
   line 2758: 634
   line 2756: 637
   line 2762: 638
   line 2763: 640
   line 2761: 643
   line 2769: 644
   line 2779: 648
   line 2783: 650
   line 2782: 651
   line 2776: 654
   line 2786: 657
   line 2772: 660
   line 2796: 661
   line 2800: 663
   line 2799: 664
   line 2793: 667
   line 2803: 670
   line 2789: 673
   line 2769: 674
   line 2768: 677
   line 2731: 680
   line 2816: 683
   line 2820: 685
   line 2819: 686
   line 2813: 689
   line 2823: 692
   line 2829: 695
   line 2827: 697
   line 2834: 703
   line 2836: 707
   line 2837: 709
   line 2835: 712
   line 2841: 713
   line 2842: 715
   line 2840: 718
   line 2852: 719
   line 2856: 721
   line 2855: 722
   line 2849: 725
   line 2859: 728
   line 2847: 731
   line 2810: 734
   line 2871: 737
   line 2875: 739
   line 2874: 740
   line 2868: 743
   line 2878: 746
   line 2884: 749
   line 2882: 751
   line 2889: 757
   line 2891: 761
   line 2892: 763
   line 2890: 766
   line 2896: 767
   line 2897: 769
   line 2895: 772
   line 2907: 773
   line 2911: 775
   line 2910: 776
   line 2904: 779
   line 2914: 782
   line 2902: 785
   line 2865: 788
   line 2926: 791
   line 2930: 793
   line 2929: 794
   line 2923: 797
   line 2933: 800
   line 2939: 803
   line 2937: 805
   line 2944: 811
   line 2946: 815
   line 2947: 817
   line 2945: 820
   line 2951: 821
   line 2952: 823
   line 2950: 826
   line 2965: 827
   line 2969: 829
   line 2968: 830
   line 2962: 833
   line 2972: 836
   line 2958: 839
   line 2957: 840
   line 2920: 843
   line 2984: 846
   line 2988: 848
   line 2987: 849
   line 2981: 852
   line 2991: 855
   line 2997: 858
   line 2995: 860
   line 3010: 866
   line 3014: 868
   line 3013: 869
   line 3007: 872
   line 3017: 875
   line 3023: 878
   line 3021: 880
   line 3036: 886
   line 3040: 888
   line 3039: 889
   line 3033: 892
   line 3043: 895
   line 3049: 898
   line 3047: 900
   line 3058: 906
   line 3063: 909
   line 3069: 918
   line 3073: 920
   line 3072: 921
   line 3066: 924
   line 3076: 927
   line 3079: 933
   line 3078: 938
   line 3062: 941
   line 2637: 944
   line 3091: 947
   line 3095: 949
   line 3094: 950
   line 3088: 953
   line 3098: 956
   line 3104: 959
   line 3102: 961
   line 3119: 967
   line 3123: 969
   line 3122: 970
   line 3116: 973
   line 3126: 976
   line 3112: 979
   line 3110: 980
   line 3129: 982
   line 3131: 986
   line 3134: 988
   line 3144: 992
   line 3148: 994
   line 3147: 995
   line 3141: 998
   line 3151: 1001
   line 3137: 1004
   line 3161: 1005
   line 3165: 1007
   line 3164: 1008
   line 3158: 1011
   line 3168: 1014
   line 3154: 1017
   line 3134: 1018
   line 3130: 1021
   line 3085: 1022
   line 3180: 1025
   line 3184: 1027
   line 3183: 1028
   line 3177: 1031
   line 3187: 1034
   line 3193: 1037
   line 3191: 1039
   line 3200: 1045
   line 3198: 1046
   line 2110: 1048
   line 3204: 1053
   line 3207: 1054
   line 3211: 1057
   line 3216: 1060
   line 3218: 1069
   line 3220: 1073
   line 3219: 1078
   line 3215: 1081
   line 2074: 1084
   line 3224: 1087
   line 3231: 1088
   line 3236: 1091
   line 3238: 1100
   line 3240: 1104
   line 3242: 1109
   line 3241: 1113
   line 3235: 1116
   line 3247: 1119
   line 3250: 1123
   line 3252: 1132
   line 3254: 1136
   line 3256: 1141
   line 3255: 1145
   line 3247: 1148
   line 3245: 1151
   line 2066: 1152

Method void randomit()
   0 new #70 <Class java.util.Random>
   3 dup
   4 invokespecial #74 <Method java.util.Random()>
   7 astore_1
   8 iconst_0
   9 istore_3
  10 goto 585
  13 iconst_0
  14 istore 4
  16 goto 573
  19 aload_1
  20 bipush 100
  22 invokevirtual #114 <Method int nextInt(int)>
  25 istore 5
  27 goto 38
  30 aload_1
  31 bipush 100
  33 invokevirtual #114 <Method int nextInt(int)>
  36 istore 5
  38 iload 4
  40 ifne 50
  43 iload 5
  45 bipush 95
  47 if_icmpge 30
  50 iload 5
  52 bipush 50
  54 if_icmpge 74
  57 aload_0
  58 getfield #88 <Field board.Field board[][]>
  61 iload_3
  62 aaload
  63 iload 4
  65 aaload
  66 ldc #40 <String "normal">
  68 invokevirtual #123 <Method void setFunction(java.lang.String)>
  71 goto 570
  74 iload 5
  76 bipush 40
  78 if_icmplt 105
  81 iload 5
  83 bipush 60
  85 if_icmpge 105
  88 aload_0
  89 getfield #88 <Field board.Field board[][]>
  92 iload_3
  93 aaload
  94 iload 4
  96 aaload
  97 ldc #37 <String "mountain">
  99 invokevirtual #123 <Method void setFunction(java.lang.String)>
 102 goto 570
 105 iload 5
 107 bipush 60
 109 if_icmplt 136
 112 iload 5
 114 bipush 65
 116 if_icmpge 136
 119 aload_0
 120 getfield #88 <Field board.Field board[][]>
 123 iload_3
 124 aaload
 125 iload 4
 127 aaload
 128 ldc #22 <String "alien">
 130 invokevirtual #123 <Method void setFunction(java.lang.String)>
 133 goto 570
 136 iload 5
 138 bipush 65
 140 if_icmplt 186
 143 iload 5
 145 bipush 75
 147 if_icmpge 186
 150 aload_0
 151 getfield #88 <Field board.Field board[][]>
 154 iload_3
 155 aaload
 156 iload 4
 158 aaload
 159 ldc #36 <String "marsh">
 161 invokevirtual #123 <Method void setFunction(java.lang.String)>
 164 aload_0
 165 getfield #88 <Field board.Field board[][]>
 168 iload_3
 169 aaload
 170 iload 4
 172 aaload
 173 aload_1
 174 iconst_3
 175 invokevirtual #114 <Method int nextInt(int)>
 178 iconst_1
 179 iadd
 180 invokevirtual #125 <Method void setMarshDepth(int)>
 183 goto 570
 186 iload 5
 188 bipush 75
 190 if_icmplt 320
 193 iload 5
 195 bipush 85
 197 if_icmpge 320
 200 aload_0
 201 getfield #88 <Field board.Field board[][]>
 204 iload_3
 205 aaload
 206 iload 4
 208 aaload
 209 ldc #34 <String "glacier">
 211 invokevirtual #123 <Method void setFunction(java.lang.String)>
 214 aload_1
 215 iconst_4
 216 invokevirtual #114 <Method int nextInt(int)>
 219 istore 5
 221 iload 5
 223 tableswitch 0 to 3: default=570
	    0: 252
	    1: 269
	    2: 286
	    3: 303
 252 aload_0
 253 getfield #88 <Field board.Field board[][]>
 256 iload_3
 257 aaload
 258 iload 4
 260 aaload
 261 ldc #41 <String "north">
 263 invokevirtual #124 <Method void setGlacierDirection(java.lang.String)>
 266 goto 570
 269 aload_0
 270 getfield #88 <Field board.Field board[][]>
 273 iload_3
 274 aaload
 275 iload 4
 277 aaload
 278 ldc #45 <String "south">
 280 invokevirtual #124 <Method void setGlacierDirection(java.lang.String)>
 283 goto 570
 286 aload_0
 287 getfield #88 <Field board.Field board[][]>
 290 iload_3
 291 aaload
 292 iload 4
 294 aaload
 295 ldc #50 <String "west">
 297 invokevirtual #124 <Method void setGlacierDirection(java.lang.String)>
 300 goto 570
 303 aload_0
 304 getfield #88 <Field board.Field board[][]>
 307 iload_3
 308 aaload
 309 iload 4
 311 aaload
 312 ldc #29 <String "east">
 314 invokevirtual #124 <Method void setGlacierDirection(java.lang.String)>
 317 goto 570
 320 iload 5
 322 bipush 85
 324 if_icmplt 435
 327 iload 5
 329 bipush 95
 331 if_icmpge 435
 334 aload_0
 335 getfield #88 <Field board.Field board[][]>
 338 iload_3
 339 aaload
 340 iload 4
 342 aaload
 343 ldc #49 <String "vortex">
 345 invokevirtual #123 <Method void setFunction(java.lang.String)>
 348 aload_1
 349 iconst_3
 350 invokevirtual #114 <Method int nextInt(int)>
 353 istore 5
 355 iload 5
 357 tableswitch 0 to 2: default=570
	    0: 384
	    1: 401
	    2: 418
 384 aload_0
 385 getfield #88 <Field board.Field board[][]>
 388 iload_3
 389 aaload
 390 iload 4
 392 aaload
 393 ldc #35 <String "left">
 395 invokevirtual #127 <Method void setVortexDirection(java.lang.String)>
 398 goto 570
 401 aload_0
 402 getfield #88 <Field board.Field board[][]>
 405 iload_3
 406 aaload
 407 iload 4
 409 aaload
 410 ldc #44 <String "right">
 412 invokevirtual #127 <Method void setVortexDirection(java.lang.String)>
 415 goto 570
 418 aload_0
 419 getfield #88 <Field board.Field board[][]>
 422 iload_3
 423 aaload
 424 iload 4
 426 aaload
 427 ldc #33 <String "flip">
 429 invokevirtual #127 <Method void setVortexDirection(java.lang.String)>
 432 goto 570
 435 iload 5
 437 bipush 95
 439 if_icmplt 570
 442 aload_0
 443 getfield #88 <Field board.Field board[][]>
 446 iload_3
 447 aaload
 448 iload 4
 450 aaload
 451 ldc #48 <String "tunnel">
 453 invokevirtual #123 <Method void setFunction(java.lang.String)>
 456 aload_1
 457 iload_3
 458 iconst_1
 459 iadd
 460 invokevirtual #114 <Method int nextInt(int)>
 463 istore 6
 465 aload_1
 466 iload 4
 468 iconst_1
 469 iadd
 470 invokevirtual #114 <Method int nextInt(int)>
 473 istore 7
 475 iload 6
 477 iload_3
 478 if_icmpne 491
 481 iload 7
 483 iload 4
 485 if_icmpne 491
 488 iinc 7 -1
 491 aload_0
 492 getfield #88 <Field board.Field board[][]>
 495 iload 6
 497 aaload
 498 iload 7
 500 aaload
 501 invokevirtual #99 <Method java.lang.String getFunction()>
 504 ldc #48 <String "tunnel">
 506 if_acmpeq 456
 509 aload_0
 510 getfield #88 <Field board.Field board[][]>
 513 iload_3
 514 aaload
 515 iload 4
 517 aaload
 518 new #54 <Class board.Position>
 521 dup
 522 iload 6
 524 iload 7
 526 invokespecial #77 <Method board.Position(int,int)>
 529 invokevirtual #126 <Method void setTunnelEnd(board.Position)>
 532 aload_0
 533 getfield #88 <Field board.Field board[][]>
 536 iload 6
 538 aaload
 539 iload 7
 541 aaload
 542 ldc #48 <String "tunnel">
 544 invokevirtual #123 <Method void setFunction(java.lang.String)>
 547 aload_0
 548 getfield #88 <Field board.Field board[][]>
 551 iload 6
 553 aaload
 554 iload 7
 556 aaload
 557 new #54 <Class board.Position>
 560 dup
 561 iload_3
 562 iload 4
 564 invokespecial #77 <Method board.Position(int,int)>
 567 invokevirtual #126 <Method void setTunnelEnd(board.Position)>
 570 iinc 4 1
 573 iload 4
 575 aload_0
 576 getfield #107 <Field int height>
 579 if_icmplt 19
 582 iinc 3 1
 585 iload_3
 586 aload_0
 587 getfield #133 <Field int width>
 590 if_icmplt 13
 593 aload_0
 594 iconst_4
 595 putfield #112 <Field int n_dest>
 598 aload_0
 599 aload_0
 600 getfield #112 <Field int n_dest>
 603 anewarray class #54 <Class board.Position>
 606 putfield #94 <Field board.Position destinations[]>
 609 iconst_0
 610 istore 4
 612 goto 718
 615 aload_0
 616 getfield #94 <Field board.Position destinations[]>
 619 iload 4
 621 new #54 <Class board.Position>
 624 dup
 625 invokespecial #72 <Method board.Position()>
 628 aastore
 629 aload_0
 630 getfield #94 <Field board.Position destinations[]>
 633 iload 4
 635 aaload
 636 aload_1
 637 aload_0
 638 getfield #133 <Field int width>
 641 invokevirtual #114 <Method int nextInt(int)>
 644 putfield #134 <Field int x>
 647 aload_0
 648 getfield #94 <Field board.Position destinations[]>
 651 iload 4
 653 aaload
 654 aload_1
 655 aload_0
 656 getfield #107 <Field int height>
 659 invokevirtual #114 <Method int nextInt(int)>
 662 putfield #135 <Field int y>
 665 aload_0
 666 getfield #88 <Field board.Field board[][]>
 669 aload_0
 670 getfield #94 <Field board.Position destinations[]>
 673 iload 4
 675 aaload
 676 getfield #134 <Field int x>
 679 aaload
 680 aload_0
 681 getfield #94 <Field board.Position destinations[]>
 684 iload 4
 686 aaload
 687 getfield #135 <Field int y>
 690 aaload
 691 invokevirtual #99 <Method java.lang.String getFunction()>
 694 ldc #40 <String "normal">
 696 invokevirtual #95 <Method boolean equals(java.lang.Object)>
 699 ifeq 629
 702 getstatic #117 <Field java.io.PrintStream out>
 705 aload_0
 706 getfield #94 <Field board.Position destinations[]>
 709 iload 4
 711 aaload
 712 invokevirtual #118 <Method void println(java.lang.Object)>
 715 iinc 4 1
 718 iload 4
 720 aload_0
 721 getfield #112 <Field int n_dest>
 724 if_icmplt 615
 727 aload_0
 728 iconst_4
 729 putfield #113 <Field int n_startpoints_>
 732 aload_0
 733 aload_0
 734 getfield #113 <Field int n_startpoints_>
 737 anewarray class #54 <Class board.Position>
 740 putfield #129 <Field board.Position startpoints_[]>
 743 iconst_0
 744 istore 5
 746 goto 852
 749 aload_0
 750 getfield #129 <Field board.Position startpoints_[]>
 753 iload 5
 755 new #54 <Class board.Position>
 758 dup
 759 invokespecial #72 <Method board.Position()>
 762 aastore
 763 aload_0
 764 getfield #129 <Field board.Position startpoints_[]>
 767 iload 5
 769 aaload
 770 aload_1
 771 aload_0
 772 getfield #133 <Field int width>
 775 invokevirtual #114 <Method int nextInt(int)>
 778 putfield #134 <Field int x>
 781 aload_0
 782 getfield #129 <Field board.Position startpoints_[]>
 785 iload 5
 787 aaload
 788 aload_1
 789 aload_0
 790 getfield #107 <Field int height>
 793 invokevirtual #114 <Method int nextInt(int)>
 796 putfield #135 <Field int y>
 799 aload_0
 800 getfield #88 <Field board.Field board[][]>
 803 aload_0
 804 getfield #129 <Field board.Position startpoints_[]>
 807 iload 5
 809 aaload
 810 getfield #134 <Field int x>
 813 aaload
 814 aload_0
 815 getfield #129 <Field board.Position startpoints_[]>
 818 iload 5
 820 aaload
 821 getfield #135 <Field int y>
 824 aaload
 825 invokevirtual #99 <Method java.lang.String getFunction()>
 828 ldc #40 <String "normal">
 830 invokevirtual #95 <Method boolean equals(java.lang.Object)>
 833 ifeq 763
 836 getstatic #117 <Field java.io.PrintStream out>
 839 aload_0
 840 getfield #129 <Field board.Position startpoints_[]>
 843 iload 5
 845 aaload
 846 invokevirtual #118 <Method void println(java.lang.Object)>
 849 iinc 5 1
 852 iload 5
 854 aload_0
 855 getfield #113 <Field int n_startpoints_>
 858 if_icmplt 749
 861 bipush 7
 863 anewarray class #53 <Class board.Field>
 866 astore 6
 868 iconst_0
 869 istore 7
 871 goto 928
 874 aload 6
 876 iload 7
 878 new #53 <Class board.Field>
 881 dup
 882 aload_0
 883 getfield #93 <Field int depth>
 886 invokespecial #76 <Method board.Field(int)>
 889 aastore
 890 iconst_0
 891 istore 8
 893 goto 916
 896 aload 6
 898 iload 7
 900 aaload
 901 iload 8
 903 aload_1
 904 sipush 256
 907 invokevirtual #114 <Method int nextInt(int)>
 910 invokevirtual #121 <Method void setComponent(int, int)>
 913 iinc 8 1
 916 iload 8
 918 aload_0
 919 getfield #93 <Field int depth>
 922 if_icmplt 896
 925 iinc 7 1
 928 iload 7
 930 bipush 7
 932 if_icmplt 874
 935 iconst_0
 936 istore 8
 938 goto 1059
 941 iconst_0
 942 istore 9
 944 goto 1047
 947 iconst_0
 948 istore 10
 950 goto 1035
 953 aload 6
 955 aload_0
 956 aload_0
 957 getfield #88 <Field board.Field board[][]>
 960 iload 8
 962 aaload
 963 iload 9
 965 aaload
 966 invokevirtual #99 <Method java.lang.String getFunction()>
 969 invokevirtual #84 <Method int actionToInt(java.lang.String)>
 972 aaload
 973 iload 10
 975 invokevirtual #97 <Method int getComponent(int)>
 978 istore 11
 980 iload 11
 982 aload_1
 983 bipush 30
 985 invokevirtual #114 <Method int nextInt(int)>
 988 bipush 15
 990 isub
 991 iadd
 992 istore 11
 994 iload 11
 996 ifge 1002
 999 iconst_0
1000 istore 11
1002 iload 11
1004 sipush 255
1007 if_icmple 1015
1010 sipush 255
1013 istore 11
1015 aload_0
1016 getfield #88 <Field board.Field board[][]>
1019 iload 8
1021 aaload
1022 iload 9
1024 aaload
1025 iload 10
1027 iload 11
1029 invokevirtual #121 <Method void setComponent(int, int)>
1032 iinc 10 1
1035 iload 10
1037 aload_0
1038 getfield #93 <Field int depth>
1041 if_icmplt 953
1044 iinc 9 1
1047 iload 9
1049 aload_0
1050 getfield #107 <Field int height>
1053 if_icmplt 947
1056 iinc 8 1
1059 iload 8
1061 aload_0
1062 getfield #133 <Field int width>
1065 if_icmplt 941
1068 return

Line numbers for method void randomit()
   line 141: 0
   line 139: 7
   line 154: 8
   line 152: 9
   line 149: 10
   line 171: 13
   line 169: 14
   line 166: 16
   line 186: 19
   line 190: 20
   line 189: 22
   line 184: 25
   line 193: 27
   line 206: 30
   line 210: 31
   line 209: 33
   line 204: 36
   line 195: 38
   line 196: 40
   line 199: 43
   line 201: 45
   line 200: 47
   line 216: 50
   line 218: 52
   line 217: 54
   line 221: 57
   line 223: 61
   line 222: 62
   line 226: 63
   line 225: 65
   line 232: 66
   line 230: 68
   line 214: 71
   line 240: 74
   line 242: 76
   line 241: 78
   line 244: 81
   line 246: 83
   line 245: 85
   line 249: 88
   line 251: 92
   line 250: 93
   line 254: 94
   line 253: 96
   line 260: 97
   line 258: 99
   line 238: 102
   line 268: 105
   line 270: 107
   line 269: 109
   line 272: 112
   line 274: 114
   line 273: 116
   line 277: 119
   line 279: 123
   line 278: 124
   line 282: 125
   line 281: 127
   line 288: 128
   line 286: 130
   line 266: 133
   line 296: 136
   line 298: 138
   line 297: 140
   line 300: 143
   line 302: 145
   line 301: 147
   line 305: 150
   line 307: 154
   line 306: 155
   line 310: 156
   line 309: 158
   line 316: 159
   line 314: 161
   line 320: 164
   line 322: 168
   line 321: 169
   line 325: 170
   line 324: 172
   line 330: 173
   line 334: 174
   line 333: 175
   line 337: 178
   line 336: 179
   line 329: 180
   line 294: 183
   line 344: 186
   line 346: 188
   line 345: 190
   line 348: 193
   line 350: 195
   line 349: 197
   line 353: 200
   line 355: 204
   line 354: 205
   line 358: 206
   line 357: 208
   line 364: 209
   line 362: 211
   line 370: 214
   line 374: 215
   line 373: 216
   line 368: 219
   line 379: 221
   line 377: 223
   line 385: 252
   line 387: 256
   line 386: 257
   line 390: 258
   line 389: 260
   line 396: 261
   line 394: 263
   line 400: 266
   line 405: 269
   line 407: 273
   line 406: 274
   line 410: 275
   line 409: 277
   line 416: 278
   line 414: 280
   line 420: 283
   line 425: 286
   line 427: 290
   line 426: 291
   line 430: 292
   line 429: 294
   line 436: 295
   line 434: 297
   line 440: 300
   line 445: 303
   line 447: 307
   line 446: 308
   line 450: 309
   line 449: 311
   line 456: 312
   line 454: 314
   line 460: 317
   line 467: 320
   line 469: 322
   line 468: 324
   line 471: 327
   line 473: 329
   line 472: 331
   line 476: 334
   line 478: 338
   line 477: 339
   line 481: 340
   line 480: 342
   line 487: 343
   line 485: 345
   line 493: 348
   line 497: 349
   line 496: 350
   line 491: 353
   line 502: 355
   line 500: 357
   line 508: 384
   line 510: 388
   line 509: 389
   line 513: 390
   line 512: 392
   line 519: 393
   line 517: 395
   line 523: 398
   line 528: 401
   line 530: 405
   line 529: 406
   line 533: 407
   line 532: 409
   line 539: 410
   line 537: 412
   line 543: 415
   line 548: 418
   line 550: 422
   line 549: 423
   line 553: 424
   line 552: 426
   line 559: 427
   line 557: 429
   line 563: 432
   line 570: 435
   line 572: 437
   line 571: 439
   line 575: 442
   line 577: 446
   line 576: 447
   line 580: 448
   line 579: 450
   line 586: 451
   line 584: 453
   line 599: 456
   line 603: 457
   line 605: 458
   line 604: 459
   line 602: 460
   line 597: 463
   line 610: 465
   line 614: 466
   line 616: 468
   line 615: 469
   line 613: 470
   line 608: 473
   line 621: 475
   line 623: 477
   line 622: 478
   line 625: 481
   line 627: 483
   line 626: 485
   line 630: 488
   line 635: 491
   line 637: 495
   line 636: 497
   line 640: 498
   line 639: 500
   line 644: 501
   line 648: 504
   line 646: 506
   line 652: 509
   line 654: 513
   line 653: 514
   line 657: 515
   line 656: 517
   line 662: 518
   line 665: 522
   line 667: 524
   line 662: 526
   line 661: 529
   line 671: 532
   line 673: 536
   line 672: 538
   line 676: 539
   line 675: 541
   line 682: 542
   line 680: 544
   line 686: 547
   line 688: 551
   line 687: 553
   line 691: 554
   line 690: 556
   line 696: 557
   line 699: 561
   line 701: 562
   line 696: 564
   line 695: 567
   line 180: 570
   line 173: 573
   line 175: 575
   line 176: 576
   line 174: 579
   line 163: 582
   line 156: 585
   line 158: 586
   line 159: 587
   line 157: 590
   line 708: 593
   line 710: 594
   line 708: 595
   line 712: 598
   line 717: 599
   line 714: 603
   line 712: 606
   line 725: 609
   line 723: 610
   line 720: 612
   line 735: 615
   line 737: 619
   line 740: 621
   line 736: 628
   line 747: 629
   line 749: 633
   line 748: 635
   line 754: 636
   line 758: 637
   line 757: 641
   line 751: 644
   line 761: 647
   line 763: 651
   line 762: 653
   line 768: 654
   line 772: 655
   line 771: 659
   line 765: 662
   line 779: 665
   line 781: 669
   line 783: 673
   line 782: 675
   line 785: 676
   line 780: 679
   line 789: 680
   line 791: 684
   line 790: 686
   line 793: 687
   line 788: 690
   line 798: 691
   line 804: 694
   line 802: 696
   line 810: 702
   line 815: 705
   line 817: 709
   line 816: 711
   line 814: 712
   line 732: 715
   line 727: 718
   line 729: 720
   line 728: 724
   line 822: 727
   line 824: 728
   line 822: 729
   line 826: 732
   line 831: 733
   line 828: 737
   line 826: 740
   line 839: 743
   line 837: 744
   line 834: 746
   line 849: 749
   line 851: 753
   line 854: 755
   line 850: 762
   line 861: 763
   line 863: 767
   line 862: 769
   line 868: 770
   line 872: 771
   line 871: 775
   line 865: 778
   line 875: 781
   line 877: 785
   line 876: 787
   line 882: 788
   line 886: 789
   line 885: 793
   line 879: 796
   line 893: 799
   line 895: 803
   line 897: 807
   line 896: 809
   line 899: 810
   line 894: 813
   line 903: 814
   line 905: 818
   line 904: 820
   line 907: 821
   line 902: 824
   line 912: 825
   line 918: 828
   line 916: 830
   line 924: 836
   line 929: 839
   line 931: 843
   line 930: 845
   line 928: 846
   line 846: 849
   line 841: 852
   line 843: 854
   line 842: 858
   line 944: 861
   line 941: 863
   line 939: 866
   line 952: 868
   line 950: 869
   line 947: 871
   line 962: 874
   line 964: 876
   line 967: 878
   line 970: 882
   line 971: 883
   line 967: 886
   line 963: 889
   line 980: 890
   line 978: 891
   line 975: 893
   line 992: 896
   line 994: 898
   line 993: 900
   line 999: 901
   line 1001: 903
   line 1005: 904
   line 1004: 907
   line 998: 910
   line 989: 913
   line 982: 916
   line 984: 918
   line 985: 919
   line 983: 922
   line 959: 925
   line 954: 928
   line 956: 930
   line 955: 932
   line 1016: 935
   line 1014: 936
   line 1011: 938
   line 1033: 941
   line 1031: 942
   line 1028: 944
   line 1050: 947
   line 1048: 948
   line 1045: 950
   line 1065: 953
   line 1068: 955
   line 1069: 956
   line 1071: 960
   line 1070: 962
   line 1074: 963
   line 1073: 965
   line 1078: 966
   line 1068: 969
   line 1066: 972
   line 1085: 973
   line 1084: 975
   line 1063: 978
   line 1088: 980
   line 1090: 982
   line 1094: 983
   line 1093: 985
   line 1097: 988
   line 1096: 990
   line 1089: 991
   line 1088: 992
   line 1101: 994
   line 1102: 996
   line 1107: 999
   line 1105: 1000
   line 1111: 1002
   line 1113: 1004
   line 1112: 1007
   line 1117: 1010
   line 1115: 1013
   line 1119: 1015
   line 1121: 1019
   line 1120: 1021
   line 1124: 1022
   line 1123: 1024
   line 1129: 1025
   line 1131: 1027
   line 1128: 1029
   line 1059: 1032
   line 1052: 1035
   line 1054: 1037
   line 1055: 1038
   line 1053: 1041
   line 1042: 1044
   line 1035: 1047
   line 1037: 1049
   line 1038: 1050
   line 1036: 1053
   line 1025: 1056
   line 1018: 1059
   line 1020: 1061
   line 1021: 1062
   line 1019: 1065
   line 134: 1068

Method void save(java.lang.String)
   0 new #59 <Class java.io.FileWriter>
   3 dup
   4 aload_1
   5 invokespecial #81 <Method java.io.FileWriter(java.lang.String)>
   8 astore_2
   9 new #64 <Class java.io.PrintWriter>
  12 dup
  13 aload_2
  14 invokespecial #79 <Method java.io.PrintWriter(java.io.Writer)>
  17 astore_3
  18 ldc #1 <String "">
  20 astore 4
  22 new #68 <Class java.lang.StringBuffer>
  25 dup
  26 aload 4
  28 invokestatic #132 <Method java.lang.String valueOf(java.lang.Object)>
  31 invokespecial #83 <Method java.lang.StringBuffer(java.lang.String)>
  34 ldc #26 <String "boardsize ">
  36 invokevirtual #87 <Method java.lang.StringBuffer append(java.lang.String)>
  39 aload_0
  40 getfield #133 <Field int width>
  43 invokevirtual #85 <Method java.lang.StringBuffer append(int)>
  46 ldc #4 <String " ">
  48 invokevirtual #87 <Method java.lang.StringBuffer append(java.lang.String)>
  51 aload_0
  52 getfield #107 <Field int height>
  55 invokevirtual #85 <Method java.lang.StringBuffer append(int)>
  58 ldc #4 <String " ">
  60 invokevirtual #87 <Method java.lang.StringBuffer append(java.lang.String)>
  63 aload_0
  64 getfield #93 <Field int depth>
  67 invokevirtual #85 <Method java.lang.StringBuffer append(int)>
  70 invokevirtual #131 <Method java.lang.String toString()>
  73 astore 4
  75 aload_3
  76 aload 4
  78 invokevirtual #120 <Method void println(java.lang.String)>
  81 ldc #1 <String "">
  83 astore 4
  85 iconst_0
  86 istore 5
  88 goto 187
  91 new #68 <Class java.lang.StringBuffer>
  94 dup
  95 aload 4
  97 invokestatic #132 <Method java.lang.String valueOf(java.lang.Object)>
 100 invokespecial #83 <Method java.lang.StringBuffer(java.lang.String)>
 103 ldc #24 <String "board ">
 105 invokevirtual #87 <Method java.lang.StringBuffer append(java.lang.String)>
 108 iload 5
 110 invokevirtual #85 <Method java.lang.StringBuffer append(int)>
 113 ldc #4 <String " ">
 115 invokevirtual #87 <Method java.lang.StringBuffer append(java.lang.String)>
 118 invokevirtual #131 <Method java.lang.String toString()>
 121 astore 4
 123 iconst_0
 124 istore 6
 126 goto 165
 129 new #68 <Class java.lang.StringBuffer>
 132 dup
 133 aload 4
 135 invokestatic #132 <Method java.lang.String valueOf(java.lang.Object)>
 138 invokespecial #83 <Method java.lang.StringBuffer(java.lang.String)>
 141 aload_0
 142 iload 6
 144 iload 5
 146 invokevirtual #98 <Method board.Field getField(int, int)>
 149 invokevirtual #86 <Method java.lang.StringBuffer append(java.lang.Object)>
 152 ldc #4 <String " ">
 154 invokevirtual #87 <Method java.lang.StringBuffer append(java.lang.String)>
 157 invokevirtual #131 <Method java.lang.String toString()>
 160 astore 4
 162 iinc 6 1
 165 iload 6
 167 aload_0
 168 invokevirtual #105 <Method int getWidth()>
 171 if_icmplt 129
 174 aload_3
 175 aload 4
 177 invokevirtual #120 <Method void println(java.lang.String)>
 180 ldc #1 <String "">
 182 astore 4
 184 iinc 5 1
 187 iload 5
 189 aload_0
 190 invokevirtual #101 <Method int getHeight()>
 193 if_icmplt 91
 196 aload_3
 197 new #68 <Class java.lang.StringBuffer>
 200 dup
 201 ldc #39 <String "ndest ">
 203 invokespecial #83 <Method java.lang.StringBuffer(java.lang.String)>
 206 aload_0
 207 getfield #112 <Field int n_dest>
 210 invokevirtual #85 <Method java.lang.StringBuffer append(int)>
 213 invokevirtual #131 <Method java.lang.String toString()>
 216 invokevirtual #120 <Method void println(java.lang.String)>
 219 iconst_0
 220 istore 6
 222 goto 301
 225 ldc #1 <String "">
 227 astore 4
 229 new #68 <Class java.lang.StringBuffer>
 232 dup
 233 aload 4
 235 invokestatic #132 <Method java.lang.String valueOf(java.lang.Object)>
 238 invokespecial #83 <Method java.lang.StringBuffer(java.lang.String)>
 241 ldc #28 <String "destination ">
 243 invokevirtual #87 <Method java.lang.StringBuffer append(java.lang.String)>
 246 iload 6
 248 invokevirtual #85 <Method java.lang.StringBuffer append(int)>
 251 ldc #4 <String " ">
 253 invokevirtual #87 <Method java.lang.StringBuffer append(java.lang.String)>
 256 aload_0
 257 getfield #94 <Field board.Position destinations[]>
 260 iload 6
 262 aaload
 263 getfield #134 <Field int x>
 266 invokevirtual #85 <Method java.lang.StringBuffer append(int)>
 269 ldc #4 <String " ">
 271 invokevirtual #87 <Method java.lang.StringBuffer append(java.lang.String)>
 274 aload_0
 275 getfield #94 <Field board.Position destinations[]>
 278 iload 6
 280 aaload
 281 getfield #135 <Field int y>
 284 invokevirtual #85 <Method java.lang.StringBuffer append(int)>
 287 invokevirtual #131 <Method java.lang.String toString()>
 290 astore 4
 292 aload_3
 293 aload 4
 295 invokevirtual #120 <Method void println(java.lang.String)>
 298 iinc 6 1
 301 iload 6
 303 aload_0
 304 getfield #112 <Field int n_dest>
 307 if_icmplt 225
 310 aload_3
 311 new #68 <Class java.lang.StringBuffer>
 314 dup
 315 ldc #43 <String "nstartpoints ">
 317 invokespecial #83 <Method java.lang.StringBuffer(java.lang.String)>
 320 aload_0
 321 getfield #113 <Field int n_startpoints_>
 324 invokevirtual #85 <Method java.lang.StringBuffer append(int)>
 327 invokevirtual #131 <Method java.lang.String toString()>
 330 invokevirtual #120 <Method void println(java.lang.String)>
 333 iconst_0
 334 istore 7
 336 goto 415
 339 ldc #1 <String "">
 341 astore 4
 343 new #68 <Class java.lang.StringBuffer>
 346 dup
 347 aload 4
 349 invokestatic #132 <Method java.lang.String valueOf(java.lang.Object)>
 352 invokespecial #83 <Method java.lang.StringBuffer(java.lang.String)>
 355 ldc #47 <String "startpoint ">
 357 invokevirtual #87 <Method java.lang.StringBuffer append(java.lang.String)>
 360 iload 7
 362 invokevirtual #85 <Method java.lang.StringBuffer append(int)>
 365 ldc #4 <String " ">
 367 invokevirtual #87 <Method java.lang.StringBuffer append(java.lang.String)>
 370 aload_0
 371 getfield #129 <Field board.Position startpoints_[]>
 374 iload 7
 376 aaload
 377 getfield #134 <Field int x>
 380 invokevirtual #85 <Method java.lang.StringBuffer append(int)>
 383 ldc #4 <String " ">
 385 invokevirtual #87 <Method java.lang.StringBuffer append(java.lang.String)>
 388 aload_0
 389 getfield #129 <Field board.Position startpoints_[]>
 392 iload 7
 394 aaload
 395 getfield #135 <Field int y>
 398 invokevirtual #85 <Method java.lang.StringBuffer append(int)>
 401 invokevirtual #131 <Method java.lang.String toString()>
 404 astore 4
 406 aload_3
 407 aload 4
 409 invokevirtual #120 <Method void println(java.lang.String)>
 412 iinc 7 1
 415 iload 7
 417 aload_0
 418 getfield #113 <Field int n_startpoints_>
 421 if_icmplt 339
 424 ldc #1 <String "">
 426 astore 4
 428 iconst_0
 429 istore 9
 431 goto 762
 434 iconst_0
 435 istore 10
 437 goto 750
 440 aload_0
 441 getfield #88 <Field board.Field board[][]>
 444 iload 9
 446 aaload
 447 iload 10
 449 aaload
 450 astore 8
 452 ldc #31 <String "field">
 454 astore 4
 456 new #68 <Class java.lang.StringBuffer>
 459 dup
 460 aload 4
 462 invokestatic #132 <Method java.lang.String valueOf(java.lang.Object)>
 465 invokespecial #83 <Method java.lang.StringBuffer(java.lang.String)>
 468 ldc #4 <String " ">
 470 invokevirtual #87 <Method java.lang.StringBuffer append(java.lang.String)>
 473 iload 9
 475 invokevirtual #85 <Method java.lang.StringBuffer append(int)>
 478 ldc #4 <String " ">
 480 invokevirtual #87 <Method java.lang.StringBuffer append(java.lang.String)>
 483 iload 10
 485 invokevirtual #85 <Method java.lang.StringBuffer append(int)>
 488 ldc #4 <String " ">
 490 invokevirtual #87 <Method java.lang.StringBuffer append(java.lang.String)>
 493 aload 8
 495 invokevirtual #99 <Method java.lang.String getFunction()>
 498 invokevirtual #87 <Method java.lang.StringBuffer append(java.lang.String)>
 501 ldc #4 <String " ">
 503 invokevirtual #87 <Method java.lang.StringBuffer append(java.lang.String)>
 506 invokevirtual #131 <Method java.lang.String toString()>
 509 astore 4
 511 aload 8
 513 invokevirtual #99 <Method java.lang.String getFunction()>
 516 ldc #48 <String "tunnel">
 518 invokevirtual #95 <Method boolean equals(java.lang.Object)>
 521 ifeq 571
 524 new #68 <Class java.lang.StringBuffer>
 527 dup
 528 aload 4
 530 invokestatic #132 <Method java.lang.String valueOf(java.lang.Object)>
 533 invokespecial #83 <Method java.lang.StringBuffer(java.lang.String)>
 536 aload 8
 538 invokevirtual #103 <Method board.Position getTunnelEnd()>
 541 getfield #134 <Field int x>
 544 invokevirtual #85 <Method java.lang.StringBuffer append(int)>
 547 ldc #4 <String " ">
 549 invokevirtual #87 <Method java.lang.StringBuffer append(java.lang.String)>
 552 aload 8
 554 invokevirtual #103 <Method board.Position getTunnelEnd()>
 557 getfield #135 <Field int y>
 560 invokevirtual #85 <Method java.lang.StringBuffer append(int)>
 563 invokevirtual #131 <Method java.lang.String toString()>
 566 astore 4
 568 goto 741
 571 aload 8
 573 invokevirtual #99 <Method java.lang.String getFunction()>
 576 ldc #49 <String "vortex">
 578 invokevirtual #95 <Method boolean equals(java.lang.Object)>
 581 ifeq 612
 584 new #68 <Class java.lang.StringBuffer>
 587 dup
 588 aload 4
 590 invokestatic #132 <Method java.lang.String valueOf(java.lang.Object)>
 593 invokespecial #83 <Method java.lang.StringBuffer(java.lang.String)>
 596 aload 8
 598 invokevirtual #104 <Method java.lang.String getVortexDirection()>
 601 invokevirtual #87 <Method java.lang.StringBuffer append(java.lang.String)>
 604 invokevirtual #131 <Method java.lang.String toString()>
 607 astore 4
 609 goto 741
 612 aload 8
 614 invokevirtual #99 <Method java.lang.String getFunction()>
 617 ldc #34 <String "glacier">
 619 invokevirtual #95 <Method boolean equals(java.lang.Object)>
 622 ifeq 653
 625 new #68 <Class java.lang.StringBuffer>
 628 dup
 629 aload 4
 631 invokestatic #132 <Method java.lang.String valueOf(java.lang.Object)>
 634 invokespecial #83 <Method java.lang.StringBuffer(java.lang.String)>
 637 aload 8
 639 invokevirtual #100 <Method java.lang.String getGlacierDirection()>
 642 invokevirtual #87 <Method java.lang.StringBuffer append(java.lang.String)>
 645 invokevirtual #131 <Method java.lang.String toString()>
 648 astore 4
 650 goto 741
 653 aload 8
 655 invokevirtual #99 <Method java.lang.String getFunction()>
 658 ldc #36 <String "marsh">
 660 invokevirtual #95 <Method boolean equals(java.lang.Object)>
 663 ifeq 694
 666 new #68 <Class java.lang.StringBuffer>
 669 dup
 670 aload 4
 672 invokestatic #132 <Method java.lang.String valueOf(java.lang.Object)>
 675 invokespecial #83 <Method java.lang.StringBuffer(java.lang.String)>
 678 aload 8
 680 invokevirtual #102 <Method int getMarshDepth()>
 683 invokevirtual #85 <Method java.lang.StringBuffer append(int)>
 686 invokevirtual #131 <Method java.lang.String toString()>
 689 astore 4
 691 goto 741
 694 aload 8
 696 invokevirtual #99 <Method java.lang.String getFunction()>
 699 ldc #37 <String "mountain">
 701 invokevirtual #95 <Method boolean equals(java.lang.Object)>
 704 ifne 741
 707 aload 8
 709 invokevirtual #99 <Method java.lang.String getFunction()>
 712 ldc #22 <String "alien">
 714 invokevirtual #95 <Method boolean equals(java.lang.Object)>
 717 ifne 741
 720 aload 8
 722 invokevirtual #99 <Method java.lang.String getFunction()>
 725 ldc #40 <String "normal">
 727 invokevirtual #95 <Method boolean equals(java.lang.Object)>
 730 ifne 741
 733 getstatic #117 <Field java.io.PrintStream out>
 736 ldc #21 <String "Strange field reached while saving board">
 738 invokevirtual #119 <Method void println(java.lang.String)>
 741 aload_3
 742 aload 4
 744 invokevirtual #120 <Method void println(java.lang.String)>
 747 iinc 10 1
 750 iload 10
 752 aload_0
 753 invokevirtual #101 <Method int getHeight()>
 756 if_icmplt 440
 759 iinc 9 1
 762 iload 9
 764 aload_0
 765 invokevirtual #105 <Method int getWidth()>
 768 if_icmplt 434
 771 aload_3
 772 ldc #32 <String "fileend">
 774 invokevirtual #120 <Method void println(java.lang.String)>
 777 aload_3
 778 invokevirtual #92 <Method void close()>
 781 aload_2
 782 invokevirtual #91 <Method void close()>
 785 goto 820
 788 astore_2
 789 getstatic #117 <Field java.io.PrintStream out>
 792 new #68 <Class java.lang.StringBuffer>
 795 dup
 796 ldc #11 <String "ERROR in writing a board to '">
 798 invokespecial #83 <Method java.lang.StringBuffer(java.lang.String)>
 801 aload_1
 802 invokevirtual #87 <Method java.lang.StringBuffer append(java.lang.String)>
 805 ldc #7 <String "': ">
 807 invokevirtual #87 <Method java.lang.StringBuffer append(java.lang.String)>
 810 aload_2
 811 invokevirtual #86 <Method java.lang.StringBuffer append(java.lang.Object)>
 814 invokevirtual #131 <Method java.lang.String toString()>
 817 invokevirtual #119 <Method void println(java.lang.String)>
 820 return
Exception table:
   from   to  target type
     0   785   788   <Class java.lang.Exception>

Line numbers for method void save(java.lang.String)
   line 3270: 0
   line 3275: 0
   line 3278: 4
   line 3275: 5
   line 3273: 8
   line 3284: 9
   line 3287: 13
   line 3284: 14
   line 3282: 17
   line 3293: 18
   line 3291: 20
   line 3296: 22
   line 3295: 26
   line 3296: 31
   line 3300: 34
   line 3305: 39
   line 3306: 40
   line 3310: 46
   line 3313: 51
   line 3314: 52
   line 3318: 58
   line 3321: 63
   line 3322: 64
   line 3296: 70
   line 3295: 73
   line 3325: 75
   line 3329: 76
   line 3328: 78
   line 3334: 81
   line 3332: 83
   line 3341: 85
   line 3339: 86
   line 3336: 88
   line 3356: 91
   line 3355: 95
   line 3356: 100
   line 3360: 103
   line 3365: 108
   line 3368: 113
   line 3356: 118
   line 3355: 121
   line 3376: 123
   line 3374: 124
   line 3371: 126
   line 3391: 129
   line 3390: 133
   line 3391: 138
   line 3392: 141
   line 3396: 142
   line 3398: 144
   line 3395: 146
   line 3401: 152
   line 3391: 157
   line 3390: 160
   line 3387: 162
   line 3378: 165
   line 3380: 167
   line 3383: 168
   line 3379: 171
   line 3404: 174
   line 3408: 175
   line 3407: 177
   line 3413: 180
   line 3411: 182
   line 3352: 184
   line 3343: 187
   line 3345: 189
   line 3348: 190
   line 3344: 193
   line 3416: 196
   line 3423: 197
   line 3428: 206
   line 3429: 207
   line 3427: 213
   line 3419: 216
   line 3438: 219
   line 3436: 220
   line 3433: 222
   line 3452: 225
   line 3450: 227
   line 3455: 229
   line 3454: 233
   line 3455: 238
   line 3459: 241
   line 3464: 246
   line 3467: 251
   line 3470: 256
   line 3472: 260
   line 3471: 262
   line 3474: 263
   line 3478: 269
   line 3481: 274
   line 3483: 278
   line 3482: 280
   line 3485: 281
   line 3455: 287
   line 3454: 290
   line 3488: 292
   line 3492: 293
   line 3491: 295
   line 3447: 298
   line 3440: 301
   line 3442: 303
   line 3443: 304
   line 3441: 307
   line 3496: 310
   line 3503: 311
   line 3508: 320
   line 3509: 321
   line 3507: 327
   line 3499: 330
   line 3518: 333
   line 3516: 334
   line 3513: 336
   line 3532: 339
   line 3530: 341
   line 3535: 343
   line 3534: 347
   line 3535: 352
   line 3539: 355
   line 3544: 360
   line 3547: 365
   line 3550: 370
   line 3552: 374
   line 3551: 376
   line 3554: 377
   line 3558: 383
   line 3561: 388
   line 3563: 392
   line 3562: 394
   line 3565: 395
   line 3535: 401
   line 3534: 404
   line 3568: 406
   line 3572: 407
   line 3571: 409
   line 3527: 412
   line 3520: 415
   line 3522: 417
   line 3523: 418
   line 3521: 421
   line 3578: 424
   line 3576: 426
   line 3588: 428
   line 3586: 429
   line 3583: 431
   line 3607: 434
   line 3605: 435
   line 3602: 437
   line 3623: 440
   line 3625: 444
   line 3624: 446
   line 3628: 447
   line 3627: 449
   line 3621: 450
   line 3634: 452
   line 3631: 454
   line 3638: 456
   line 3637: 460
   line 3638: 465
   line 3640: 468
   line 3643: 473
   line 3646: 478
   line 3649: 483
   line 3652: 488
   line 3655: 493
   line 3658: 495
   line 3662: 501
   line 3638: 506
   line 3637: 509
   line 3667: 511
   line 3670: 513
   line 3676: 516
   line 3674: 518
   line 3682: 524
   line 3681: 528
   line 3682: 533
   line 3683: 536
   line 3686: 538
   line 3688: 541
   line 3692: 547
   line 3695: 552
   line 3698: 554
   line 3700: 557
   line 3682: 563
   line 3681: 566
   line 3665: 568
   line 3707: 571
   line 3710: 573
   line 3716: 576
   line 3714: 578
   line 3722: 584
   line 3721: 588
   line 3722: 593
   line 3723: 596
   line 3726: 598
   line 3722: 604
   line 3721: 607
   line 3705: 609
   line 3733: 612
   line 3736: 614
   line 3742: 617
   line 3740: 619
   line 3748: 625
   line 3747: 629
   line 3748: 634
   line 3749: 637
   line 3752: 639
   line 3748: 645
   line 3747: 648
   line 3731: 650
   line 3759: 653
   line 3762: 655
   line 3768: 658
   line 3766: 660
   line 3774: 666
   line 3773: 670
   line 3774: 675
   line 3775: 678
   line 3778: 680
   line 3774: 686
   line 3773: 689
   line 3757: 691
   line 3785: 694
   line 3788: 696
   line 3794: 699
   line 3792: 701
   line 3803: 707
   line 3806: 709
   line 3812: 712
   line 3810: 714
   line 3821: 720
   line 3824: 722
   line 3830: 725
   line 3828: 727
   line 3839: 733
   line 3844: 736
   line 3843: 738
   line 3848: 741
   line 3852: 742
   line 3851: 744
   line 3618: 747
   line 3609: 750
   line 3611: 752
   line 3614: 753
   line 3610: 756
   line 3599: 759
   line 3590: 762
   line 3592: 764
   line 3595: 765
   line 3591: 768
   line 3857: 771
   line 3862: 772
   line 3860: 774
   line 3866: 777
   line 3869: 778
   line 3872: 781
   line 3875: 782
   line 3270: 785
   line 3879: 788
   line 3886: 789
   line 3891: 792
   line 3893: 801
   line 3895: 805
   line 3897: 810
   line 3896: 814
   line 3890: 817
   line 3264: 820

Method void setDest(int, int, int)
   0 aload_0
   1 getfield #94 <Field board.Position destinations[]>
   4 iload_1
   5 new #54 <Class board.Position>
   8 dup
   9 iload_2
  10 iload_3
  11 invokespecial #77 <Method board.Position(int,int)>
  14 aastore
  15 return

Line numbers for method void setDest(int, int, int)
   line 1748: 0
   line 1750: 4
   line 1753: 5
   line 1756: 9
   line 1758: 10
   line 1753: 11
   line 1749: 14
   line 1736: 15

Method void setDest(int, board.Position)
   0 aload_0
   1 getfield #94 <Field board.Position destinations[]>
   4 iload_1
   5 aload_2
   6 aastore
   7 return

Line numbers for method void setDest(int, board.Position)
   line 1726: 0
   line 1728: 4
   line 1731: 5
   line 1727: 6
   line 1717: 7

Method void setField(int, int, board.Field)
   0 aload_0
   1 getfield #88 <Field board.Field board[][]>
   4 iload_1
   5 aaload
   6 iload_2
   7 aload_3
   8 aastore
   9 return

Line numbers for method void setField(int, int, board.Field)
   line 2053: 0
   line 2055: 4
   line 2054: 5
   line 2058: 6
   line 2061: 7
   line 2057: 8
   line 2041: 9

Method void setNDest(int)
   0 aload_0
   1 iload_1
   2 putfield #112 <Field int n_dest>
   5 aload_0
   6 aload_0
   7 getfield #112 <Field int n_dest>
  10 anewarray class #54 <Class board.Position>
  13 putfield #94 <Field board.Position destinations[]>
  16 iconst_0
  17 istore_2
  18 goto 37
  21 aload_0
  22 getfield #94 <Field board.Position destinations[]>
  25 iload_2
  26 new #54 <Class board.Position>
  29 dup
  30 invokespecial #72 <Method board.Position()>
  33 aastore
  34 iinc 2 1
  37 iload_2
  38 aload_0
  39 getfield #112 <Field int n_dest>
  42 if_icmplt 21
  45 return

Line numbers for method void setNDest(int)
   line 1657: 0
   line 1661: 1
   line 1658: 2
   line 1663: 5
   line 1668: 6
   line 1669: 7
   line 1665: 10
   line 1663: 13
   line 1678: 16
   line 1676: 17
   line 1673: 18
   line 1688: 21
   line 1690: 25
   line 1693: 26
   line 1689: 33
   line 1685: 34
   line 1680: 37
   line 1682: 38
   line 1681: 42
   line 1651: 45

Method void setNStartPoints(int)
   0 aload_0
   1 iload_1
   2 putfield #113 <Field int n_startpoints_>
   5 aload_0
   6 iload_1
   7 anewarray class #54 <Class board.Position>
  10 putfield #129 <Field board.Position startpoints_[]>
  13 return

Line numbers for method void setNStartPoints(int)
   line 1770: 0
   line 1772: 1
   line 1770: 2
   line 1774: 5
   line 1779: 6
   line 1776: 7
   line 1774: 10
   line 1764: 13

Method void setStartPoint(int, board.Position)
   0 aload_0
   1 getfield #129 <Field board.Position startpoints_[]>
   4 iload_1
   5 aload_2
   6 aastore
   7 return

Line numbers for method void setStartPoint(int, board.Position)
   line 1819: 0
   line 1821: 4
   line 1824: 5
   line 1820: 6
   line 1810: 7

Method int spinToInt(java.lang.String)
   0 iconst_0
   1 istore_2
   2 goto 22
   5 aload_1
   6 aload_0
   7 iload_2
   8 invokevirtual #110 <Method java.lang.String intToSpin(int)>
  11 invokevirtual #95 <Method boolean equals(java.lang.Object)>
  14 ifeq 19
  17 iload_2
  18 ireturn
  19 iinc 2 1
  22 iload_2
  23 iconst_3
  24 if_icmplt 5
  27 getstatic #117 <Field java.io.PrintStream out>
  30 ldc #16 <String "Error in spinToInt">
  32 invokevirtual #119 <Method void println(java.lang.String)>
  35 iconst_0
  36 ireturn

Line numbers for method int spinToInt(java.lang.String)
   line 1469: 0
   line 1467: 1
   line 1464: 2
   line 1481: 5
   line 1486: 6
   line 1487: 7
   line 1486: 8
   line 1484: 11
   line 1492: 17
   line 1491: 18
   line 1475: 19
   line 1471: 22
   line 1473: 23
   line 1472: 24
   line 1496: 27
   line 1501: 30
   line 1500: 32
   line 1505: 35
   line 1504: 36

Method java.lang.String toString()
   0 ldc #1 <String "">
   2 astore_1
   3 iconst_0
   4 istore_2
   5 goto 102
   8 new #68 <Class java.lang.StringBuffer>
  11 dup
  12 aload_1
  13 invokestatic #132 <Method java.lang.String valueOf(java.lang.Object)>
  16 invokespecial #83 <Method java.lang.StringBuffer(java.lang.String)>
  19 iload_2
  20 invokevirtual #85 <Method java.lang.StringBuffer append(int)>
  23 ldc #8 <String ": ">
  25 invokevirtual #87 <Method java.lang.StringBuffer append(java.lang.String)>
  28 invokevirtual #131 <Method java.lang.String toString()>
  31 astore_1
  32 iconst_0
  33 istore_3
  34 goto 71
  37 new #68 <Class java.lang.StringBuffer>
  40 dup
  41 aload_1
  42 invokestatic #132 <Method java.lang.String valueOf(java.lang.Object)>
  45 invokespecial #83 <Method java.lang.StringBuffer(java.lang.String)>
  48 aload_0
  49 getfield #88 <Field board.Field board[][]>
  52 iload_3
  53 aaload
  54 iload_2
  55 aaload
  56 invokevirtual #86 <Method java.lang.StringBuffer append(java.lang.Object)>
  59 ldc #4 <String " ">
  61 invokevirtual #87 <Method java.lang.StringBuffer append(java.lang.String)>
  64 invokevirtual #131 <Method java.lang.String toString()>
  67 astore_1
  68 iinc 3 1
  71 iload_3
  72 aload_0
  73 getfield #133 <Field int width>
  76 if_icmplt 37
  79 new #68 <Class java.lang.StringBuffer>
  82 dup
  83 aload_1
  84 invokestatic #132 <Method java.lang.String valueOf(java.lang.Object)>
  87 invokespecial #83 <Method java.lang.StringBuffer(java.lang.String)>
  90 ldc #3 <String "
">
  92 invokevirtual #87 <Method java.lang.StringBuffer append(java.lang.String)>
  95 invokevirtual #131 <Method java.lang.String toString()>
  98 astore_1
  99 iinc 2 1
 102 iload_2
 103 aload_0
 104 getfield #107 <Field int height>
 107 if_icmplt 8
 110 iconst_0
 111 istore_3
 112 goto 211
 115 new #68 <Class java.lang.StringBuffer>
 118 dup
 119 aload_1
 120 invokestatic #132 <Method java.lang.String valueOf(java.lang.Object)>
 123 invokespecial #83 <Method java.lang.StringBuffer(java.lang.String)>
 126 ldc #9 <String "Dest ">
 128 invokevirtual #87 <Method java.lang.StringBuffer append(java.lang.String)>
 131 invokevirtual #131 <Method java.lang.String toString()>
 134 astore_1
 135 new #68 <Class java.lang.StringBuffer>
 138 dup
 139 aload_1
 140 invokestatic #132 <Method java.lang.String valueOf(java.lang.Object)>
 143 invokespecial #83 <Method java.lang.StringBuffer(java.lang.String)>
 146 iload_3
 147 invokevirtual #85 <Method java.lang.StringBuffer append(int)>
 150 invokevirtual #131 <Method java.lang.String toString()>
 153 astore_1
 154 new #68 <Class java.lang.StringBuffer>
 157 dup
 158 aload_1
 159 invokestatic #132 <Method java.lang.String valueOf(java.lang.Object)>
 162 invokespecial #83 <Method java.lang.StringBuffer(java.lang.String)>
 165 ldc #4 <String " ">
 167 invokevirtual #87 <Method java.lang.StringBuffer append(java.lang.String)>
 170 aload_0
 171 getfield #94 <Field board.Position destinations[]>
 174 iload_3
 175 aaload
 176 getfield #134 <Field int x>
 179 invokevirtual #85 <Method java.lang.StringBuffer append(int)>
 182 ldc #4 <String " ">
 184 invokevirtual #87 <Method java.lang.StringBuffer append(java.lang.String)>
 187 aload_0
 188 getfield #94 <Field board.Position destinations[]>
 191 iload_3
 192 aaload
 193 getfield #135 <Field int y>
 196 invokevirtual #85 <Method java.lang.StringBuffer append(int)>
 199 ldc #3 <String "
">
 201 invokevirtual #87 <Method java.lang.StringBuffer append(java.lang.String)>
 204 invokevirtual #131 <Method java.lang.String toString()>
 207 astore_1
 208 iinc 3 1
 211 iload_3
 212 aload_0
 213 getfield #112 <Field int n_dest>
 216 if_icmplt 115
 219 iconst_0
 220 istore 4
 222 goto 324
 225 new #68 <Class java.lang.StringBuffer>
 228 dup
 229 aload_1
 230 invokestatic #132 <Method java.lang.String valueOf(java.lang.Object)>
 233 invokespecial #83 <Method java.lang.StringBuffer(java.lang.String)>
 236 ldc #20 <String "Start ">
 238 invokevirtual #87 <Method java.lang.StringBuffer append(java.lang.String)>
 241 invokevirtual #131 <Method java.lang.String toString()>
 244 astore_1
 245 new #68 <Class java.lang.StringBuffer>
 248 dup
 249 aload_1
 250 invokestatic #132 <Method java.lang.String valueOf(java.lang.Object)>
 253 invokespecial #83 <Method java.lang.StringBuffer(java.lang.String)>
 256 iload 4
 258 invokevirtual #85 <Method java.lang.StringBuffer append(int)>
 261 invokevirtual #131 <Method java.lang.String toString()>
 264 astore_1
 265 new #68 <Class java.lang.StringBuffer>
 268 dup
 269 aload_1
 270 invokestatic #132 <Method java.lang.String valueOf(java.lang.Object)>
 273 invokespecial #83 <Method java.lang.StringBuffer(java.lang.String)>
 276 ldc #4 <String " ">
 278 invokevirtual #87 <Method java.lang.StringBuffer append(java.lang.String)>
 281 aload_0
 282 getfield #129 <Field board.Position startpoints_[]>
 285 iload 4
 287 aaload
 288 getfield #134 <Field int x>
 291 invokevirtual #85 <Method java.lang.StringBuffer append(int)>
 294 ldc #4 <String " ">
 296 invokevirtual #87 <Method java.lang.StringBuffer append(java.lang.String)>
 299 aload_0
 300 getfield #129 <Field board.Position startpoints_[]>
 303 iload 4
 305 aaload
 306 getfield #135 <Field int y>
 309 invokevirtual #85 <Method java.lang.StringBuffer append(int)>
 312 ldc #3 <String "
">
 314 invokevirtual #87 <Method java.lang.StringBuffer append(java.lang.String)>
 317 invokevirtual #131 <Method java.lang.String toString()>
 320 astore_1
 321 iinc 4 1
 324 iload 4
 326 aload_0
 327 getfield #113 <Field int n_startpoints_>
 330 if_icmplt 225
 333 aload_1
 334 areturn

Line numbers for method java.lang.String toString()
   line 1836: 0
   line 1834: 2
   line 1843: 3
   line 1841: 4
   line 1838: 5
   line 1854: 8
   line 1853: 12
   line 1854: 16
   line 1855: 19
   line 1857: 23
   line 1854: 28
   line 1853: 31
   line 1864: 32
   line 1862: 33
   line 1859: 34
   line 1875: 37
   line 1874: 41
   line 1875: 45
   line 1876: 48
   line 1878: 52
   line 1877: 53
   line 1881: 54
   line 1880: 55
   line 1884: 59
   line 1875: 64
   line 1874: 67
   line 1871: 68
   line 1866: 71
   line 1868: 72
   line 1867: 76
   line 1888: 79
   line 1887: 83
   line 1888: 87
   line 1889: 90
   line 1888: 95
   line 1887: 98
   line 1850: 99
   line 1845: 102
   line 1847: 103
   line 1846: 107
   line 1897: 110
   line 1895: 111
   line 1892: 112
   line 1908: 115
   line 1907: 119
   line 1908: 123
   line 1909: 126
   line 1908: 131
   line 1907: 134
   line 1912: 135
   line 1911: 139
   line 1912: 143
   line 1913: 146
   line 1912: 150
   line 1911: 153
   line 1916: 154
   line 1915: 158
   line 1916: 162
   line 1917: 165
   line 1919: 170
   line 1921: 174
   line 1920: 175
   line 1923: 176
   line 1926: 182
   line 1928: 187
   line 1930: 191
   line 1929: 192
   line 1932: 193
   line 1935: 199
   line 1916: 204
   line 1915: 207
   line 1904: 208
   line 1899: 211
   line 1901: 212
   line 1900: 216
   line 1943: 219
   line 1941: 220
   line 1938: 222
   line 1954: 225
   line 1953: 229
   line 1954: 233
   line 1955: 236
   line 1954: 241
   line 1953: 244
   line 1958: 245
   line 1957: 249
   line 1958: 253
   line 1959: 256
   line 1958: 261
   line 1957: 264
   line 1962: 265
   line 1961: 269
   line 1962: 273
   line 1963: 276
   line 1965: 281
   line 1967: 285
   line 1966: 287
   line 1969: 288
   line 1972: 294
   line 1974: 299
   line 1976: 303
   line 1975: 305
   line 1978: 306
   line 1981: 312
   line 1962: 317
   line 1961: 320
   line 1950: 321
   line 1945: 324
   line 1947: 326
   line 1946: 330
   line 1985: 333
   line 1984: 334