org.eclipse.mylyn.wikitext.ui_1.6.1.v20120425-0100

    //   536: iinc 22 1
    //   539: iload 22
    //   541: aload 21
    //   543: invokeinterface 583 1 0
    //   548: if_icmplt -57 -> 491
    //   551: iload 19
    //   553: ifle +67 -> 620
    //   556: ldc_w 210
    //   559: astore 22
    //   561: iconst_0
    //   562: istore 23
    //   564: goto +29 -> 593
    //   567: new 217	java/lang/StringBuilder
    //   570: dup
    //   571: aload 22
    //   573: invokestatic 497	java/lang/String:valueOf	(Ljava/lang/Object;)Ljava/lang/String;
    //   576: invokespecial 499	java/lang/StringBuilder:<init>	(Ljava/lang/String;)V
    //   579: ldc_w 211
    //   582: invokevirtual 500	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   585: invokevirtual 498	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   588: astore 22
    //   590: iinc 23 1
    //   593: iload 23
    //   595: iload 19
    //   597: if_icmplt -30 -> 567
    //   600: aload 21
    //   602: aload 15
    //   604: getfield 465	org/eclipse/jface/text/Position:offset	I
    //   607: iconst_1
    //   608: iadd
    //   609: iconst_0
    //   610: aload 22
    //   612: invokeinterface 585 4 0
    //   617: goto +26 -> 643
    //   620: iload 19
    //   622: ifge +21 -> 643
    //   625: aload 21
    //   627: aload 15
    //   629: getfield 465	org/eclipse/jface/text/Position:offset	I
    //   632: iload 19
    //   634: ineg
    //   635: ldc_w 210
    //   638: invokeinterface 585 4 0
    //   643: iload 19
    //   645: ifeq +102 -> 747
    //   648: aload 8
    //   650: invokeinterface 578 1 0
    //   655: astore 23
    //   657: goto +80 -> 737
    //   660: aload 23
    //   662: invokeinterface 576 1 0
    //   667: checkcast 244	org/eclipse/swt/custom/StyleRange
    //   670: astore 22
    //   672: aload 22
    //   674: getfield 478	org/eclipse/swt/custom/StyleRange:start	I
    //   677: aload 15
    //   679: getfield 465	org/eclipse/jface/text/Position:offset	I
    //   682: if_icmple +21 -> 703
    //   685: aload 22
    //   687: dup
    //   688: getfield 478	org/eclipse/swt/custom/StyleRange:start	I
    //   691: iload 19
    //   693: iadd
    //   694: putfield 478	org/eclipse/swt/custom/StyleRange:start	I
    //   697: iconst_1
    //   698: istore 7
    //   700: goto +37 -> 737
    //   703: aload 22
    //   705: getfield 478	org/eclipse/swt/custom/StyleRange:start	I
    //   708: aload 22
    //   710: getfield 477	org/eclipse/swt/custom/StyleRange:length	I
    //   713: iadd
    //   714: aload 15
    //   716: getfield 465	org/eclipse/jface/text/Position:offset	I
    //   719: if_icmple +18 -> 737
    //   722: aload 22
    //   724: dup
    //   725: getfield 477	org/eclipse/swt/custom/StyleRange:length	I
    //   728: iload 19
    //   730: iadd
    //   731: putfield 477	org/eclipse/swt/custom/StyleRange:length	I
    //   734: iconst_1
    //   735: istore 7
    //   737: aload 23
    //   739: invokeinterface 575 1 0
    //   744: ifne -84 -> 660
    //   747: aload 15
    //   749: invokevirtual 506	org/eclipse/jface/text/Position:getLength	()I
    //   752: iload 20
    //   754: if_icmpeq +28 -> 782
    //   757: aload 5
    //   759: aload 12
    //   761: new 229	org/eclipse/jface/text/Position
    //   764: dup
    //   765: aload 15
    //   767: getfield 465	org/eclipse/jface/text/Position:offset	I
    //   770: iload 20
    //   772: invokespecial 507	org/eclipse/jface/text/Position:<init>	(II)V
    //   775: invokevirtual 516	org/eclipse/jface/text/source/AnnotationModel:modifyAnnotationPosition	(Lorg/eclipse/jface/text/source/Annotation;Lorg/eclipse/jface/text/Position;)V
    //   778: goto +4 -> 782
    //   781: pop
    //   782: aload 13
    //   784: invokeinterface 575 1 0
    //   789: ifne -478 -> 311
    //   792: iload 7
    //   794: ifeq +168 -> 962
    //   797: new 230	org/eclipse/jface/text/TextPresentation
    //   800: dup
    //   801: invokespecial 508	org/eclipse/jface/text/TextPresentation:<init>	()V
    //   804: astore 12
    //   806: aload 11
    //   808: invokevirtual 510	org/eclipse/jface/text/TextPresentation:getDefaultStyleRange	()Lorg/eclipse/swt/custom/StyleRange;
    //   811: ifnull +70 -> 881
    //   814: aload 11
    //   816: invokevirtual 510	org/eclipse/jface/text/TextPresentation:getDefaultStyleRange	()Lorg/eclipse/swt/custom/StyleRange;
    //   819: invokevirtual 546	org/eclipse/swt/custom/StyleRange:clone	()Ljava/lang/Object;
    //   822: checkcast 244	org/eclipse/swt/custom/StyleRange
    //   825: astore 13
    //   827: aload_0
    //   828: getfield 473	org/eclipse/mylyn/internal/wikitext/ui/viewer/ImageManager:viewer	Lorg/eclipse/mylyn/wikitext/ui/viewer/HtmlViewer;
    //   831: invokevirtual 538	org/eclipse/mylyn/wikitext/ui/viewer/HtmlViewer:getDocument	()Lorg/eclipse/jface/text/IDocument;
    //   834: ifnull +40 -> 874
    //   837: aload 13
    //   839: getfield 477	org/eclipse/swt/custom/StyleRange:length	I
    //   842: aload_0
    //   843: getfield 473	org/eclipse/mylyn/internal/wikitext/ui/viewer/ImageManager:viewer	Lorg/eclipse/mylyn/wikitext/ui/viewer/HtmlViewer;
    //   846: invokevirtual 538	org/eclipse/mylyn/wikitext/ui/viewer/HtmlViewer:getDocument	()Lorg/eclipse/jface/text/IDocument;
    //   849: invokeinterface 583 1 0
    //   854: if_icmpge +20 -> 874
    //   857: aload 13
    //   859: aload_0
    //   860: getfield 473	org/eclipse/mylyn/internal/wikitext/ui/viewer/ImageManager:viewer	Lorg/eclipse/mylyn/wikitext/ui/viewer/HtmlViewer;
    //   863: invokevirtual 538	org/eclipse/mylyn/wikitext/ui/viewer/HtmlViewer:getDocument	()Lorg/eclipse/jface/text/IDocument;
    //   866: invokeinterface 583 1 0
    //   871: putfield 477	org/eclipse/swt/custom/StyleRange:length	I
    //   874: aload 12
    //   876: aload 13
    //   878: invokevirtual 512	org/eclipse/jface/text/TextPresentation:setDefaultStyleRange	(Lorg/eclipse/swt/custom/StyleRange;)V
    //   881: aload 8
    //   883: invokeinterface 578 1 0
    //   888: astore 14
    //   890: goto +22 -> 912
    //   893: aload 14
    //   895: invokeinterface 576 1 0
    //   900: checkcast 244	org/eclipse/swt/custom/StyleRange
    //   903: astore 13
    //   905: aload 12
    //   907: aload 13
    //   909: invokevirtual 511	org/eclipse/jface/text/TextPresentation:addStyleRange	(Lorg/eclipse/swt/custom/StyleRange;)V
    //   912: aload 14
    //   914: invokeinterface 575 1 0
    //   919: ifne -26 -> 893
    //   922: aload_0
    //   923: getfield 473	org/eclipse/mylyn/internal/wikitext/ui/viewer/ImageManager:viewer	Lorg/eclipse/mylyn/wikitext/ui/viewer/HtmlViewer;
    //   926: aload 12
    //   928: invokevirtual 541	org/eclipse/mylyn/wikitext/ui/viewer/HtmlViewer:setTextPresentation	(Lorg/eclipse/jface/text/TextPresentation;)V
    //   931: aload_0
    //   932: getfield 473	org/eclipse/mylyn/internal/wikitext/ui/viewer/ImageManager:viewer	Lorg/eclipse/mylyn/wikitext/ui/viewer/HtmlViewer;
    //   935: invokevirtual 537	org/eclipse/mylyn/wikitext/ui/viewer/HtmlViewer:invalidateTextPresentation	()V
    //   938: goto +24 -> 962
    //   941: astore 24
    //   943: aload_0
    //   944: getfield 473	org/eclipse/mylyn/internal/wikitext/ui/viewer/ImageManager:viewer	Lorg/eclipse/mylyn/wikitext/ui/viewer/HtmlViewer;
    //   947: invokevirtual 545	org/eclipse/mylyn/wikitext/ui/viewer/HtmlViewer:getTextWidget	()Lorg/eclipse/swt/custom/StyledText;
    //   950: iconst_1
    //   951: invokevirtual 549	org/eclipse/swt/custom/StyledText:setRedraw	(Z)V
    //   954: aload 10
    //   956: invokevirtual 565	org/eclipse/swt/graphics/GC:dispose	()V
    //   959: aload 24
    //   961: athrow
    //   962: aload_0
    //   963: getfield 473	org/eclipse/mylyn/internal/wikitext/ui/viewer/ImageManager:viewer	Lorg/eclipse/mylyn/wikitext/ui/viewer/HtmlViewer;
    //   966: invokevirtual 545	org/eclipse/mylyn/wikitext/ui/viewer/HtmlViewer:getTextWidget	()Lorg/eclipse/swt/custom/StyledText;
    //   969: iconst_1
    //   970: invokevirtual 549	org/eclipse/swt/custom/StyledText:setRedraw	(Z)V
    //   973: aload 10
    //   975: invokevirtual 565	org/eclipse/swt/graphics/GC:dispose	()V
    //   978: aload_0
    //   979: getfield 473	org/eclipse/mylyn/internal/wikitext/ui/viewer/ImageManager:viewer	Lorg/eclipse/mylyn/wikitext/ui/viewer/HtmlViewer;
    //   982: invokevirtual 545	org/eclipse/mylyn/wikitext/ui/viewer/HtmlViewer:getTextWidget	()Lorg/eclipse/swt/custom/StyledText;
    //   985: invokevirtual 547	org/eclipse/swt/custom/StyledText:redraw	()V
    //   988: goto +13 -> 1001
    //   991: astore 25
    //   993: aload_0
    //   994: iconst_0
    //   995: putfield 467	org/eclipse/mylyn/internal/wikitext/ui/viewer/ImageManager:computingChanges	Z
    //   998: aload 25
    //   1000: athrow
    //   1001: aload_0
    //   1002: iconst_0
    //   1003: putfield 467	org/eclipse/mylyn/internal/wikitext/ui/viewer/ImageManager:computingChanges	Z
    //   1006: return
    // Line number table:
    //   Java source line #289	-> byte code offset #0
    //   Java source line #290	-> byte code offset #23
    //   Java source line #292	-> byte code offset #24
    //   Java source line #293	-> byte code offset #42
    //   Java source line #292	-> byte code offset #45
    //   Java source line #294	-> byte code offset #46
    //   Java source line #296	-> byte code offset #55
    //   Java source line #298	-> byte code offset #64
    //   Java source line #299	-> byte code offset #76
    //   Java source line #300	-> byte code offset #83
    //   Java source line #301	-> byte code offset #88
    //   Java source line #303	-> byte code offset #92
    //   Java source line #304	-> byte code offset #98
    //   Java source line #305	-> byte code offset #105
    //   Java source line #306	-> byte code offset #108
    //   Java source line #307	-> byte code offset #120
    //   Java source line #308	-> byte code offset #128
    //   Java source line #309	-> byte code offset #135
    //   Java source line #310	-> byte code offset #147
    //   Java source line #311	-> byte code offset #153
    //   Java source line #305	-> byte code offset #163
    //   Java source line #303	-> byte code offset #173
    //   Java source line #317	-> byte code offset #183
    //   Java source line #318	-> byte code offset #193
    //   Java source line #320	-> byte code offset #198
    //   Java source line #321	-> byte code offset #201
    //   Java source line #323	-> byte code offset #210
    //   Java source line #324	-> byte code offset #222
    //   Java source line #325	-> byte code offset #225
    //   Java source line #326	-> byte code offset #237
    //   Java source line #324	-> byte code offset #253
    //   Java source line #329	-> byte code offset #263
    //   Java source line #331	-> byte code offset #279
    //   Java source line #332	-> byte code offset #290
    //   Java source line #334	-> byte code offset #299
    //   Java source line #335	-> byte code offset #323
    //   Java source line #336	-> byte code offset #336
    //   Java source line #337	-> byte code offset #345
    //   Java source line #338	-> byte code offset #357
    //   Java source line #339	-> byte code offset #360
    //   Java source line #340	-> byte code offset #381
    //   Java source line #341	-> byte code offset #398
    //   Java source line #342	-> byte code offset #403
    //   Java source line #345	-> byte code offset #410
    //   Java source line #346	-> byte code offset #415
    //   Java source line #348	-> byte code offset #427
    //   Java source line #349	-> byte code offset #434
    //   Java source line #350	-> byte code offset #444
    //   Java source line #351	-> byte code offset #452
    //   Java source line #352	-> byte code offset #468
    //   Java source line #353	-> byte code offset #472
    //   Java source line #355	-> byte code offset #481
    //   Java source line #356	-> byte code offset #491
    //   Java source line #357	-> byte code offset #505
    //   Java source line #358	-> byte code offset #515
    //   Java source line #359	-> byte code offset #530
    //   Java source line #361	-> byte code offset #533
    //   Java source line #355	-> byte code offset #536
    //   Java source line #366	-> byte code offset #551
    //   Java source line #367	-> byte code offset #556
    //   Java source line #368	-> byte code offset #561
    //   Java source line #369	-> byte code offset #567
    //   Java source line #368	-> byte code offset #590
    //   Java source line #371	-> byte code offset #600
    //   Java source line #372	-> byte code offset #620
    //   Java source line #373	-> byte code offset #625
    //   Java source line #375	-> byte code offset #643
    //   Java source line #379	-> byte code offset #648
    //   Java source line #380	-> byte code offset #672
    //   Java source line #381	-> byte code offset #685
    //   Java source line #382	-> byte code offset #697
    //   Java source line #383	-> byte code offset #703
    //   Java source line #384	-> byte code offset #722
    //   Java source line #385	-> byte code offset #734
    //   Java source line #379	-> byte code offset #737
    //   Java source line #393	-> byte code offset #747
    //   Java source line #394	-> byte code offset #757
    //   Java source line #395	-> byte code offset #770
    //   Java source line #394	-> byte code offset #775
    //   Java source line #397	-> byte code offset #781
    //   Java source line #334	-> byte code offset #782
    //   Java source line #402	-> byte code offset #792
    //   Java source line #403	-> byte code offset #797
    //   Java source line #404	-> byte code offset #806
    //   Java source line #405	-> byte code offset #814
    //   Java source line #406	-> byte code offset #827
    //   Java source line #407	-> byte code offset #837
    //   Java source line #408	-> byte code offset #857
    //   Java source line #411	-> byte code offset #874
    //   Java source line #413	-> byte code offset #881
    //   Java source line #414	-> byte code offset #905
    //   Java source line #413	-> byte code offset #912
    //   Java source line #416	-> byte code offset #922
    //   Java source line #417	-> byte code offset #931
    //   Java source line #419	-> byte code offset #941
    //   Java source line #420	-> byte code offset #943
    //   Java source line #421	-> byte code offset #954
    //   Java source line #422	-> byte code offset #959
    //   Java source line #420	-> byte code offset #962
    //   Java source line #421	-> byte code offset #973
    //   Java source line #423	-> byte code offset #978
    //   Java source line #424	-> byte code offset #991
    //   Java source line #425	-> byte code offset #993
    //   Java source line #426	-> byte code offset #998
    //   Java source line #425	-> byte code offset #1001
    //   Java source line #428	-> byte code offset #1006
    // Local variable table:
    //   start	length	slot	name	signature
    //   0	1007	0	this	ImageManager
    //   0	1007	1	imgSrc	String
    //   0	1007	2	imageData	ImageData
    //   45	105	3	image	Image
    //   62	238	4	modifiedAnnotations	Set<ImageAnnotation>
    //   74	684	5	annotationModel	org.eclipse.jface.text.source.AnnotationModel
    //   81	12	6	annotationLockObject	Object
    //   95	85	7	Ljava/lang/Object;	Object
    //   199	594	7	rangesAdjusted	boolean
    //   103	61	8	iterator	Iterator<Annotation>
    //   208	674	8	ranges	java.util.List<org.eclipse.swt.custom.StyleRange>
    //   118	11	9	annotation	Annotation
    //   220	34	9	allStyleRangeIterator	Iterator<?>
    //   133	23	10	imageAnnotation	ImageAnnotation
    //   235	5	10	range	org.eclipse.swt.custom.StyleRange
    //   277	697	10	gc	org.eclipse.swt.graphics.GC
    //   297	518	11	textPresentation	org.eclipse.jface.text.TextPresentation
    //   321	439	12	annotation	ImageAnnotation
    //   804	123	12	presentation	org.eclipse.jface.text.TextPresentation
    //   306	477	13	localIterator	Iterator
    //   825	52	13	defaultStyleRange	org.eclipse.swt.custom.StyleRange
    //   903	5	13	range	org.eclipse.swt.custom.StyleRange
    //   334	579	14	height	int
    //   343	423	15	position	Position
    //   355	14	16	widgetText	String
    //   358	72	17	font	org.eclipse.swt.graphics.Font
    //   396	8	18	styleRange	org.eclipse.swt.custom.StyleRange
    //   442	14	18	extent	Point
    //   466	263	19	numNewlines	int
    //   470	301	20	originalNewlines	int
    //   479	147	21	document	IDocument
    //   486	54	22	x	int
    //   559	52	22	newlines	String
    //   670	53	22	range	org.eclipse.swt.custom.StyleRange
    //   562	176	23	x	int
    //   941	19	24	localObject1	Object
    //   991	8	25	localObject2	Object
    //   781	1	37	localBadLocationException	org.eclipse.jface.text.BadLocationException
    // Exception table:
    //   from	to	target	type
    //   98	176	179	finally
    //   179	182	179	finally
    //   481	778	781	org/eclipse/jface/text/BadLocationException
    //   279	941	941	finally
    //   198	991	991	finally
  }
  
  private class ImageResolver
    extends Thread
  {
    public ImageResolver()
    {
      setName(ImageResolver.class.getSimpleName() + '-' + ImageManager.resolverIdSeed.getAndIncrement());
      setDaemon(true);
    }
    
    /* Error */
    public void run()
    {
      // Byte code:
      //   0: new 82	java/util/HashMap
      //   3: dup
      //   4: invokespecial 186	java/util/HashMap:<init>	()V
      //   7: astore_1
      //   8: aload_0
      //   9: getfield 169	org/eclipse/mylyn/internal/wikitext/ui/viewer/ImageManager$ImageResolver:this$0	Lorg/eclipse/mylyn/internal/wikitext/ui/viewer/ImageManager;
      //   12: invokestatic 192	org/eclipse/mylyn/internal/wikitext/ui/viewer/ImageManager:access$2	(Lorg/eclipse/mylyn/internal/wikitext/ui/viewer/ImageManager;)Ljava/util/Set;
      //   15: invokeinterface 207 1 0
      //   20: astore_3
      //   21: goto +256 -> 277
      //   24: aload_3
      //   25: invokeinterface 204 1 0
      //   30: checkcast 92	org/eclipse/mylyn/internal/wikitext/ui/viewer/annotation/ImageAnnotation
      //   33: astore_2
      //   34: aload_2
      //   35: invokevirtual 199	org/eclipse/mylyn/internal/wikitext/ui/viewer/annotation/ImageAnnotation:getUrl	()Ljava/lang/String;
      //   38: astore 4
      //   40: aload 4
      //   42: ifnull +223 -> 265
      //   45: aload_1
      //   46: aload 4
      //   48: invokeinterface 205 2 0
      //   53: ifne +212 -> 265
      //   56: aload_0
      //   57: getfield 169	org/eclipse/mylyn/internal/wikitext/ui/viewer/ImageManager$ImageResolver:this$0	Lorg/eclipse/mylyn/internal/wikitext/ui/viewer/ImageManager;
      //   60: invokestatic 193	org/eclipse/mylyn/internal/wikitext/ui/viewer/ImageManager:access$3	(Lorg/eclipse/mylyn/internal/wikitext/ui/viewer/ImageManager;)Lorg/eclipse/mylyn/internal/wikitext/ui/util/ImageCache;
      //   63: invokevirtual 190	org/eclipse/mylyn/internal/wikitext/ui/util/ImageCache:getBase	()Ljava/net/URL;
      //   66: ifnonnull +15 -> 81
      //   69: new 81	java/net/URL
      //   72: dup
      //   73: aload 4
      //   75: invokespecial 184	java/net/URL:<init>	(Ljava/lang/String;)V
      //   78: goto +22 -> 100
      //   81: new 81	java/net/URL
      //   84: dup
      //   85: aload_0
      //   86: getfield 169	org/eclipse/mylyn/internal/wikitext/ui/viewer/ImageManager$ImageResolver:this$0	Lorg/eclipse/mylyn/internal/wikitext/ui/viewer/ImageManager;
      //   89: invokestatic 193	org/eclipse/mylyn/internal/wikitext/ui/viewer/ImageManager:access$3	(Lorg/eclipse/mylyn/internal/wikitext/ui/viewer/ImageManager;)Lorg/eclipse/mylyn/internal/wikitext/ui/util/ImageCache;
      //   92: invokevirtual 190	org/eclipse/mylyn/internal/wikitext/ui/util/ImageCache:getBase	()Ljava/net/URL;
      //   95: aload 4
      //   97: invokespecial 185	java/net/URL:<init>	(Ljava/net/URL;Ljava/lang/String;)V
      //   100: astore 5
      //   102: new 72	java/io/BufferedInputStream
      //   105: dup
      //   106: aload 5
      //   108: invokevirtual 183	java/net/URL:openStream	()Ljava/io/InputStream;
      //   111: invokespecial 172	java/io/BufferedInputStream:<init>	(Ljava/io/InputStream;)V
      //   114: astore 6
      //   116: aload_1
      //   117: aload 4
      //   119: new 95	org/eclipse/swt/graphics/ImageData
      //   122: dup
      //   123: aload 6
      //   125: invokespecial 201	org/eclipse/swt/graphics/ImageData:<init>	(Ljava/io/InputStream;)V
      //   128: invokeinterface 206 3 0
      //   133: pop
      //   134: goto +46 -> 180
      //   137: astore 7
      //   139: aload 7
      //   141: getfield 171	org/eclipse/swt/SWTException:code	I
      //   144: bipush 40
      //   146: if_icmpeq +6 -> 152
      //   149: aload 7
      //   151: athrow
      //   152: aload_1
      //   153: aload 4
      //   155: aconst_null
      //   156: invokeinterface 206 3 0
      //   161: pop
      //   162: aload 6
      //   164: invokevirtual 173	java/io/InputStream:close	()V
      //   167: goto +77 -> 244
      //   170: astore 8
      //   172: aload 6
      //   174: invokevirtual 173	java/io/InputStream:close	()V
      //   177: aload 8
      //   179: athrow
      //   180: aload 6
      //   182: invokevirtual 173	java/io/InputStream:close	()V
      //   185: goto +59 -> 244
      //   188: astore 6
      //   190: invokestatic 188	org/eclipse/mylyn/internal/wikitext/ui/WikiTextUiPlugin:getDefault	()Lorg/eclipse/mylyn/internal/wikitext/ui/WikiTextUiPlugin;
      //   193: ifnull +27 -> 220
      //   196: invokestatic 188	org/eclipse/mylyn/internal/wikitext/ui/WikiTextUiPlugin:getDefault	()Lorg/eclipse/mylyn/internal/wikitext/ui/WikiTextUiPlugin;
      //   199: iconst_4
      //   200: getstatic 170	org/eclipse/mylyn/internal/wikitext/ui/viewer/Messages:ImageManager_accessFailed	Ljava/lang/String;
      //   203: iconst_1
      //   204: anewarray 76	java/lang/Object
      //   207: dup
      //   208: iconst_0
      //   209: aload 5
      //   211: aastore
      //   212: invokestatic 200	org/eclipse/osgi/util/NLS:bind	(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
      //   215: aload 6
      //   217: invokevirtual 189	org/eclipse/mylyn/internal/wikitext/ui/WikiTextUiPlugin:log	(ILjava/lang/String;Ljava/lang/Throwable;)V
      //   220: aload_1
      //   221: aload 4
      //   223: aconst_null
      //   224: invokeinterface 206 3 0
      //   229: pop
      //   230: goto +14 -> 244
      //   233: pop
      //   234: aload_1
      //   235: aload 4
      //   237: aconst_null
      //   238: invokeinterface 206 3 0
      //   243: pop
      //   244: aload_0
      //   245: getfield 169	org/eclipse/mylyn/internal/wikitext/ui/viewer/ImageManager$ImageResolver:this$0	Lorg/eclipse/mylyn/internal/wikitext/ui/viewer/ImageManager;
      //   248: invokestatic 195	org/eclipse/mylyn/internal/wikitext/ui/viewer/ImageManager:access$4	(Lorg/eclipse/mylyn/internal/wikitext/ui/viewer/ImageManager;)Lorg/eclipse/swt/widgets/Display;
      //   251: new 90	org/eclipse/mylyn/internal/wikitext/ui/viewer/ImageManager$ImageResolver$1
      //   254: dup
      //   255: aload_0
      //   256: aload 4
      //   258: aload_1
      //   259: invokespecial 198	org/eclipse/mylyn/internal/wikitext/ui/viewer/ImageManager$ImageResolver$1:<init>	(Lorg/eclipse/mylyn/internal/wikitext/ui/viewer/ImageManager$ImageResolver;Ljava/lang/String;Ljava/util/Map;)V
      //   262: invokevirtual 202	org/eclipse/swt/widgets/Display:asyncExec	(Ljava/lang/Runnable;)V
      //   265: invokestatic 182	java/lang/Thread:currentThread	()Ljava/lang/Thread;
      //   268: invokevirtual 181	java/lang/Thread:isInterrupted	()Z
      //   271: ifeq +6 -> 277
      //   274: goto +28 -> 302
      //   277: aload_3
      //   278: invokeinterface 203 1 0
      //   283: ifne -259 -> 24
      //   286: goto +16 -> 302
      //   289: astore 9
      //   291: aload_0
      //   292: getfield 169	org/eclipse/mylyn/internal/wikitext/ui/viewer/ImageManager$ImageResolver:this$0	Lorg/eclipse/mylyn/internal/wikitext/ui/viewer/ImageManager;
      //   295: aconst_null
      //   296: invokestatic 194	org/eclipse/mylyn/internal/wikitext/ui/viewer/ImageManager:access$1	(Lorg/eclipse/mylyn/internal/wikitext/ui/viewer/ImageManager;Lorg/eclipse/mylyn/internal/wikitext/ui/viewer/ImageManager$ImageResolver;)V
      //   299: aload 9
      //   301: athrow
      //   302: aload_0
      //   303: getfield 169	org/eclipse/mylyn/internal/wikitext/ui/viewer/ImageManager$ImageResolver:this$0	Lorg/eclipse/mylyn/internal/wikitext/ui/viewer/ImageManager;
      //   306: aconst_null
      //   307: invokestatic 194	org/eclipse/mylyn/internal/wikitext/ui/viewer/ImageManager:access$1	(Lorg/eclipse/mylyn/internal/wikitext/ui/viewer/ImageManager;Lorg/eclipse/mylyn/internal/wikitext/ui/viewer/ImageManager$ImageResolver;)V
      //   310: return
      // Line number table:
      //   Java source line #442	-> byte code offset #0
      //   Java source line #443	-> byte code offset #8
      //   Java source line #444	-> byte code offset #34
      //   Java source line #445	-> byte code offset #40
      //   Java source line #447	-> byte code offset #56
      //   Java source line #448	-> byte code offset #85
      //   Java source line #447	-> byte code offset #100
      //   Java source line #451	-> byte code offset #102
      //   Java source line #453	-> byte code offset #116
      //   Java source line #454	-> byte code offset #137
      //   Java source line #455	-> byte code offset #139
      //   Java source line #456	-> byte code offset #149
      //   Java source line #458	-> byte code offset #152
      //   Java source line #460	-> byte code offset #162
      //   Java source line #459	-> byte code offset #170
      //   Java source line #460	-> byte code offset #172
      //   Java source line #461	-> byte code offset #177
      //   Java source line #460	-> byte code offset #180
      //   Java source line #461	-> byte code offset #185
      //   Java source line #462	-> byte code offset #188
      //   Java source line #463	-> byte code offset #190
      //   Java source line #464	-> byte code offset #196
      //   Java source line #465	-> byte code offset #200
      //   Java source line #464	-> byte code offset #217
      //   Java source line #467	-> byte code offset #220
      //   Java source line #469	-> byte code offset #233
      //   Java source line #470	-> byte code offset #234
      //   Java source line #472	-> byte code offset #244
      //   Java source line #478	-> byte code offset #265
      //   Java source line #479	-> byte code offset #274
      //   Java source line #443	-> byte code offset #277
      //   Java source line #482	-> byte code offset #289
      //   Java source line #483	-> byte code offset #291
      //   Java source line #484	-> byte code offset #299
      //   Java source line #483	-> byte code offset #302
      //   Java source line #485	-> byte code offset #310
      // Local variable table:
      //   start	length	slot	name	signature
      //   0	311	0	this	ImageResolver
      //   7	252	1	urlToImageData	Map<String, ImageData>
      //   33	2	2	annotation	ImageAnnotation
      //   20	258	3	localIterator	Iterator
      //   38	219	4	imgSrc	String
      //   100	110	5	location	java.net.URL
      //   114	67	6	in	java.io.InputStream
      //   188	28	6	e	Exception
      //   137	13	7	e	org.eclipse.swt.SWTException
      //   170	8	8	localObject1	Object
      //   289	11	9	localObject2	Object
      //   233	1	11	localMalformedURLException	java.net.MalformedURLException
      // Exception table:
      //   from	to	target	type
      //   116	134	137	org/eclipse/swt/SWTException
      //   116	162	170	finally
      //   102	185	188	java/lang/Exception
      //   56	230	233	java/net/MalformedURLException
      //   0	289	289	finally
    }
  }
  
  public void documentAboutToBeChanged(DocumentEvent event)
  {
    if (computingChanges) {
      return;
    }
    stop();
  }
  
  public void documentChanged(DocumentEvent event)
  {
    if (computingChanges) {
      return;
    }
    inspect();
  }
  
  /* Error */
  public void selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent event)
  {
    // Byte code:
    //   0: new 250	org/eclipse/swt/graphics/GC
    //   3: dup
    //   4: aload_0
    //   5: getfield 473	org/eclipse/mylyn/internal/wikitext/ui/viewer/ImageManager:viewer	Lorg/eclipse/mylyn/wikitext/ui/viewer/HtmlViewer;
    //   8: invokevirtual 545	org/eclipse/mylyn/wikitext/ui/viewer/HtmlViewer:getTextWidget	()Lorg/eclipse/swt/custom/StyledText;
    //   11: invokespecial 566	org/eclipse/swt/graphics/GC:<init>	(Lorg/eclipse/swt/graphics/Drawable;)V
    //   14: astore_2
    //   15: new 255	org/eclipse/swt/widgets/Event
    //   18: dup
    //   19: invokespecial 574	org/eclipse/swt/widgets/Event:<init>	()V
    //   22: astore_3
    //   23: aload_3
    //   24: aload_2
    //   25: putfield 490	org/eclipse/swt/widgets/Event:gc	Lorg/eclipse/swt/graphics/GC;
    //   28: aload_3
    //   29: aload_0
    //   30: getfield 473	org/eclipse/mylyn/internal/wikitext/ui/viewer/ImageManager:viewer	Lorg/eclipse/mylyn/wikitext/ui/viewer/HtmlViewer;
    //   33: invokevirtual 545	org/eclipse/mylyn/wikitext/ui/viewer/HtmlViewer:getTextWidget	()Lorg/eclipse/swt/custom/StyledText;
    //   36: putfield 491	org/eclipse/swt/widgets/Event:widget	Lorg/eclipse/swt/widgets/Widget;
    //   39: aload_0
    //   40: getfield 473	org/eclipse/mylyn/internal/wikitext/ui/viewer/ImageManager:viewer	Lorg/eclipse/mylyn/wikitext/ui/viewer/HtmlViewer;
    //   43: invokevirtual 545	org/eclipse/mylyn/wikitext/ui/viewer/HtmlViewer:getTextWidget	()Lorg/eclipse/swt/custom/StyledText;
    //   46: invokevirtual 559	org/eclipse/swt/custom/StyledText:getBounds	()Lorg/eclipse/swt/graphics/Rectangle;
    //   49: astore 4
    //   51: aload_3
    //   52: aload 4
    //   54: getfield 484	org/eclipse/swt/graphics/Rectangle:height	I
    //   57: putfield 486	org/eclipse/swt/widgets/Event:height	I
    //   60: aload_3
    //   61: aload 4
    //   63: getfield 485	org/eclipse/swt/graphics/Rectangle:width	I
    //   66: putfield 487	org/eclipse/swt/widgets/Event:width	I
    //   69: aload_3
    //   70: iconst_0
    //   71: putfield 488	org/eclipse/swt/widgets/Event:x	I
    //   74: aload_3
    //   75: iconst_0
    //   76: putfield 489	org/eclipse/swt/widgets/Event:y	I
    //   79: new 248	org/eclipse/swt/events/PaintEvent
    //   82: dup
    //   83: aload_3
    //   84: invokespecial 562	org/eclipse/swt/events/PaintEvent:<init>	(Lorg/eclipse/swt/widgets/Event;)V
    //   87: astore 5
    //   89: aload_0
    //   90: getfield 470	org/eclipse/mylyn/internal/wikitext/ui/viewer/ImageManager:painter	Lorg/eclipse/jface/text/source/AnnotationPainter;
    //   93: aload 5
    //   95: invokevirtual 517	org/eclipse/jface/text/source/AnnotationPainter:paintControl	(Lorg/eclipse/swt/events/PaintEvent;)V
    //   98: goto +12 -> 110
    //   101: astore 6
    //   103: aload_2
    //   104: invokevirtual 565	org/eclipse/swt/graphics/GC:dispose	()V
    //   107: aload 6
    //   109: athrow
    //   110: aload_2
    //   111: invokevirtual 565	org/eclipse/swt/graphics/GC:dispose	()V
    //   114: return
    // Line number table:
    //   Java source line #503	-> byte code offset #0
    //   Java source line #505	-> byte code offset #15
    //   Java source line #506	-> byte code offset #23
    //   Java source line #507	-> byte code offset #28
    //   Java source line #508	-> byte code offset #39
    //   Java source line #509	-> byte code offset #51
    //   Java source line #510	-> byte code offset #60
    //   Java source line #511	-> byte code offset #69
    //   Java source line #512	-> byte code offset #74
    //   Java source line #513	-> byte code offset #79
    //   Java source line #514	-> byte code offset #89
    //   Java source line #515	-> byte code offset #101
    //   Java source line #516	-> byte code offset #103
    //   Java source line #517	-> byte code offset #107
    //   Java source line #516	-> byte code offset #110
    //   Java source line #518	-> byte code offset #114
    // Local variable table:
    //   start	length	slot	name	signature
    //   0	115	0	this	ImageManager
    //   0	115	1	event	org.eclipse.jface.viewers.SelectionChangedEvent
    //   14	97	2	gc	org.eclipse.swt.graphics.GC
    //   22	62	3	e	org.eclipse.swt.widgets.Event
    //   49	13	4	bounds	Rectangle
    //   87	7	5	paintEvent	org.eclipse.swt.events.PaintEvent
    //   101	7	6	localObject	Object
    // Exception table:
    //   from	to	target	type
    //   15	101	101	finally
  }
}

/* Location:
 * Qualified Name:     org.eclipse.mylyn.internal.wikitext.ui.viewer.ImageManager
 * Java Class Version: 5 (49.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.mylyn.internal.wikitext.ui.viewer;

import org.eclipse.mylyn.internal.wikitext.core.util.css.CssRule;

class CssStyleManager$FontWeightRuleHandler
  implements CssStyleManager.RuleHandler
{
  public String getRuleName()
  {
    return "font-weight";
  }
  
  public void process(CssRule rule, FontState fontState, FontState parentFontState)
  {
    if (("bold".equals(value)) || ("bolder".equals(value))) {
      fontState.setBold(true);
    } else if (("normal".equals(value)) || ("lighter".equals(value))) {
      fontState.setBold(false);
    }
  }
}

/* Location:
 * Qualified Name:     org.eclipse.mylyn.internal.wikitext.ui.viewer.CssStyleManager.FontWeightRuleHandler
 * Java Class Version: 5 (49.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.mylyn.internal.wikitext.ui.viewer;

import java.util.ArrayList;
import java.util.IdentityHashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Stack;
import org.eclipse.jface.text.Position;
import org.eclipse.jface.text.TextPresentation;
import org.eclipse.jface.text.source.Annotation;
import org.eclipse.jface.text.source.IAnnotationModel;
import org.eclipse.mylyn.internal.wikitext.core.util.css.CssParser;
import org.eclipse.mylyn.internal.wikitext.core.util.css.CssRule;
import org.eclipse.mylyn.internal.wikitext.core.util.css.Stylesheet;
import org.eclipse.mylyn.internal.wikitext.core.util.css.Stylesheet.Receiver;
import org.eclipse.mylyn.internal.wikitext.ui.util.ImageCache;
import org.eclipse.mylyn.internal.wikitext.ui.viewer.annotation.BulletAnnotation;
import org.eclipse.mylyn.internal.wikitext.ui.viewer.annotation.HorizontalRuleAnnotation;
import org.eclipse.mylyn.internal.wikitext.ui.viewer.annotation.ImageAnnotation;
import org.eclipse.mylyn.wikitext.ui.annotation.AnchorHrefAnnotation;
import org.eclipse.mylyn.wikitext.ui.annotation.AnchorNameAnnotation;
import org.eclipse.mylyn.wikitext.ui.annotation.ClassAnnotation;
import org.eclipse.mylyn.wikitext.ui.annotation.IdAnnotation;
import org.eclipse.mylyn.wikitext.ui.annotation.TitleAnnotation;
import org.eclipse.swt.custom.StyleRange;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.GC;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.graphics.Rectangle;
import org.xml.sax.Attributes;
import org.xml.sax.ContentHandler;
import org.xml.sax.Locator;
import org.xml.sax.SAXException;

class HtmlTextPresentationParser$HtmlContentHandler
  implements ContentHandler
{
  private final Stack<HtmlTextPresentationParser.ElementState> state = new Stack();
  private int lastNewlineOffset = 0;
  private final StringBuilder out = new StringBuilder(2048);
  private final List<StyleRange> styleRanges = new ArrayList();
  private final Map<Annotation, Position> annotationToPosition = new IdentityHashMap();
  private final StringBuilder elementText = new StringBuilder();
  
  private HtmlTextPresentationParser$HtmlContentHandler(HtmlTextPresentationParser paramHtmlTextPresentationParser) {}
  
  public void characters(char[] ch, int start, int length)
    throws SAXException
  {
    if (!state.isEmpty())
    {
      HtmlTextPresentationParser.ElementState elementState = (HtmlTextPresentationParser.ElementState)state.peek();
      if ((noWhitespaceTextContainer) || 
        ((blockElement) && (skipWhitespace) && 
        (textChildCount == 0) && (childCount == 0)) || (
        (lastChild != null) && (lastChild.collapsesAdjacentWhitespace)))
      {
        int skip = 0;
        while ((skip < length) && (Character.isWhitespace(ch[(start + skip)]))) {
          skip++;
        }
        start += skip;
        length -= skip;
      }
      lastChild = null;
      if (length != 0)
      {
        textChildCount += 1;
        append(elementState, ch, start, length);
      }
    }
  }
  
  private void append(HtmlTextPresentationParser.ElementState elementState, char[] ch, int start, int length)
  {
    if (skipWhitespace)
    {
      int previousWhitespaceIndex = Integer.MIN_VALUE;
      for (int x = 0; x < length; x++)
      {
        int index = start + x;
        char c = ch[index];
        if (Character.isWhitespace(c))
        {
          if (previousWhitespaceIndex == index - 1)
          {
            previousWhitespaceIndex = index;
          }
          else
          {
            previousWhitespaceIndex = index;
            elementText.append(c == '\t' ? c : ' ');
          }
        }
        else {
          elementText.append(c);
        }
      }
    }
    else
    {
      elementText.append(ch, start, length);
    }
  }
  
  public void emitText(HtmlTextPresentationParser.ElementState elementState, boolean elementClosing)
  {
    textOffset = offset;
    if ((state.isEmpty()) || (elementText.length() == 0)) {
      return;
    }
    String text = elementText.toString();
    if (skipWhitespace) {
      if (elementClosing)
      {
        if (childCount == 0)
        {
          if (blockElement) {
            text = text.trim();
          }
        }
        else if (blockElement) {
          text = HtmlTextPresentationParser.access$3(text);
        }
      }
      else
      {
        String originalText = text;
        if ((blockElement) && (childCount == 0))
        {
          text = HtmlTextPresentationParser.access$4(text);
          if ((text.length() == 0) && (originalText.length() > 0)) {
            text = originalText.substring(0, 1);
          }
        }
      }
    }
    elementText.delete(0, elementText.length());
    if (text.length() > 0) {
      emitChars(elementState, text.toCharArray());
    }
  }
  
  private void emitChar(char c)
  {
    out.append(c);
    lastNewlineOffset = getOffset();
  }
  
  private void emitChars(HtmlTextPresentationParser.ElementState elementState, char[] chars)
  {
    int indentLevel = indentLevel;
    
    boolean enforceMaxWidth = (HtmlTextPresentationParser.access$5(this$0) > 0) && (HtmlTextPresentationParser.access$6(this$0) != null);
    
    int lastBreakPosition = lastNewlineOffset + 1;
    if (enforceMaxWidth) {
      for (int x = out.length() - 1; x >= 0; x--)
      {
        char ch = out.charAt(x);
        if (x == lastNewlineOffset + 1) {
          break;
        }
        if (ch == '-')
        {
          lastBreakPosition = x + 1;
          break;
        }
        if (Character.isWhitespace(ch))
        {
          lastBreakPosition = x;
          break;
        }
      }
    }
    for (int x = 0; x < chars.length; x++)
    {
      char c = chars[x];
      if ((lastNewlineOffset == getOffset()) && (c != '\n') && (c != '\r') && (indentLevel > 0)) {
        for (int y = 0; y < indentLevel; y++) {
          out.append('\t');
        }
      }
      if (x == 0)
      {
        char[] prefix = this$0.computePrefix(elementState);
        if (prefix != null)
        {
          int offset = out.length();
          for (int i = 0; i < prefix.length; i++) {
            out.append(prefix[i]);
          }
          List<Annotation> prefixAnnotations = this$0.computePrefixAnnotatio
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Further reading...

For more information on Java 1.5 Tiger, you may find Java 1.5 Tiger, A developer's Notebook by D. Flanagan and B. McLaughlin from O'Reilly of interest.

New!JAR listings


Copyright 2006-2017. Infinite Loop Ltd