org.eclipse.pde.api.tools_1.0.301.v20111129-2053

lue) || (Util.DEBUG);
  }
  
  /* Error */
  public void analyzeComponent(BuildState state, IApiFilterStore filterStore, Properties preferences, IApiBaseline baseline, IApiComponent component, IBuildContext context, IProgressMonitor monitor)
  {
    // Byte code:
    //   0: aload 7
    //   2: getstatic 1393	org/eclipse/pde/api/tools/internal/builder/BuilderMessages:BaseApiAnalyzer_analyzing_api	Ljava/lang/String;
    //   5: bipush 8
    //   7: invokestatic 1472	org/eclipse/core/runtime/SubMonitor:convert	(Lorg/eclipse/core/runtime/IProgressMonitor;Ljava/lang/String;I)Lorg/eclipse/core/runtime/SubMonitor;
    //   10: astore 8
    //   12: aload_0
    //   13: aload_0
    //   14: aload 5
    //   16: invokespecial 1517	org/eclipse/pde/api/tools/internal/builder/BaseApiAnalyzer:getJavaProject	(Lorg/eclipse/pde/api/tools/internal/provisional/model/IApiComponent;)Lorg/eclipse/jdt/core/IJavaProject;
    //   19: putfield 1386	org/eclipse/pde/api/tools/internal/builder/BaseApiAnalyzer:fJavaProject	Lorg/eclipse/jdt/core/IJavaProject;
    //   22: aload_0
    //   23: aload_2
    //   24: putfield 1388	org/eclipse/pde/api/tools/internal/builder/BaseApiAnalyzer:fFilterStore	Lorg/eclipse/pde/api/tools/internal/provisional/IApiFilterStore;
    //   27: aload_0
    //   28: aload_3
    //   29: putfield 1385	org/eclipse/pde/api/tools/internal/builder/BaseApiAnalyzer:fPreferences	Ljava/util/Properties;
    //   32: aload_0
    //   33: invokespecial 1500	org/eclipse/pde/api/tools/internal/builder/BaseApiAnalyzer:ignoreUnusedProblemFilterCheck	()Z
    //   36: ifne +16 -> 52
    //   39: aload 5
    //   41: invokeinterface 1706 1 0
    //   46: checkcast 803	org/eclipse/pde/api/tools/internal/ApiFilterStore
    //   49: invokevirtual 1491	org/eclipse/pde/api/tools/internal/ApiFilterStore:recordFilterUsage	()V
    //   52: aload 5
    //   54: invokeinterface 1704 1 0
    //   59: astore 9
    //   61: aload 9
    //   63: ifnull +196 -> 259
    //   66: aconst_null
    //   67: astore 10
    //   69: iconst_0
    //   70: istore 11
    //   72: aload 9
    //   74: arraylength
    //   75: istore 12
    //   77: goto +144 -> 221
    //   80: aload 9
    //   82: iload 11
    //   84: aaload
    //   85: astore 13
    //   87: aload 13
    //   89: invokeinterface 1668 1 0
    //   94: astore 14
    //   96: aload 14
    //   98: ifnonnull +6 -> 104
    //   101: goto +117 -> 218
    //   104: aload 14
    //   106: invokeinterface 1670 1 0
    //   111: astore 15
    //   113: aload 15
    //   115: ifnonnull +9 -> 124
    //   118: getstatic 1404	org/eclipse/pde/api/tools/internal/builder/BuilderMessages:undefinedRange	Ljava/lang/String;
    //   121: goto +11 -> 132
    //   124: aload 15
    //   126: invokevirtual 1487	org/eclipse/osgi/service/resolver/VersionRange:getMinimum	()Lorg/osgi/framework/Version;
    //   129: invokevirtual 1619	org/osgi/framework/Version:toString	()Ljava/lang/String;
    //   132: astore 16
    //   134: aload 15
    //   136: ifnonnull +9 -> 145
    //   139: getstatic 1404	org/eclipse/pde/api/tools/internal/builder/BuilderMessages:undefinedRange	Ljava/lang/String;
    //   142: goto +11 -> 153
    //   145: aload 15
    //   147: invokevirtual 1486	org/eclipse/osgi/service/resolver/VersionRange:getMaximum	()Lorg/osgi/framework/Version;
    //   150: invokevirtual 1619	org/osgi/framework/Version:toString	()Ljava/lang/String;
    //   153: astore 17
    //   155: aload 10
    //   157: ifnonnull +12 -> 169
    //   160: new 757	java/lang/StringBuffer
    //   163: dup
    //   164: invokespecial 1438	java/lang/StringBuffer:<init>	()V
    //   167: astore 10
    //   169: iload 11
    //   171: ifle +11 -> 182
    //   174: aload 10
    //   176: bipush 44
    //   178: invokevirtual 1441	java/lang/StringBuffer:append	(C)Ljava/lang/StringBuffer;
    //   181: pop
    //   182: aload 10
    //   184: getstatic 1403	org/eclipse/pde/api/tools/internal/builder/BuilderMessages:reportUnsatisfiedConstraint	Ljava/lang/String;
    //   187: iconst_3
    //   188: anewarray 756	java/lang/String
    //   191: dup
    //   192: iconst_0
    //   193: aload 14
    //   195: invokeinterface 1669 1 0
    //   200: aastore
    //   201: dup
    //   202: iconst_1
    //   203: aload 16
    //   205: aastore
    //   206: dup
    //   207: iconst_2
    //   208: aload 17
    //   210: aastore
    //   211: invokestatic 1489	org/eclipse/osgi/util/NLS:bind	(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
    //   214: invokevirtual 1445	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
    //   217: pop
    //   218: iinc 11 1
    //   221: iload 11
    //   223: iload 12
    //   225: if_icmplt -145 -> 80
    //   228: aload 10
    //   230: ifnull +29 -> 259
    //   233: aload_0
    //   234: aload 5
    //   236: aload 10
    //   238: invokestatic 1436	java/lang/String:valueOf	(Ljava/lang/Object;)Ljava/lang/String;
    //   241: invokespecial 1515	org/eclipse/pde/api/tools/internal/builder/BaseApiAnalyzer:createApiComponentResolutionProblem	(Lorg/eclipse/pde/api/tools/internal/provisional/model/IApiComponent;Ljava/lang/String;)V
    //   244: aload 4
    //   246: ifnonnull +7 -> 253
    //   249: aload_0
    //   250: invokespecial 1493	org/eclipse/pde/api/tools/internal/builder/BaseApiAnalyzer:checkDefaultBaselineSet	()V
    //   253: aload 8
    //   255: invokevirtual 1468	org/eclipse/core/runtime/SubMonitor:done	()V
    //   258: return
    //   259: aload 6
    //   261: astore 10
    //   263: aload 10
    //   265: ifnonnull +12 -> 277
    //   268: new 807	org/eclipse/pde/api/tools/internal/builder/BuildContext
    //   271: dup
    //   272: invokespecial 1539	org/eclipse/pde/api/tools/internal/builder/BuildContext:<init>	()V
    //   275: astore 10
    //   277: iconst_0
    //   278: istore 11
    //   280: aload 4
    //   282: ifnull +219 -> 501
    //   285: aload 4
    //   287: aload 5
    //   289: invokeinterface 1702 1 0
    //   294: invokeinterface 1699 2 0
    //   299: astore 12
    //   301: aload_0
    //   302: aload_1
    //   303: putfield 1387	org/eclipse/pde/api/tools/internal/builder/BaseApiAnalyzer:fBuildState	Lorg/eclipse/pde/api/tools/internal/builder/BuildState;
    //   306: aload_0
    //   307: getfield 1387	org/eclipse/pde/api/tools/internal/builder/BaseApiAnalyzer:fBuildState	Lorg/eclipse/pde/api/tools/internal/builder/BuildState;
    //   310: ifnonnull +11 -> 321
    //   313: aload_0
    //   314: aload_0
    //   315: invokespecial 1507	org/eclipse/pde/api/tools/internal/builder/BaseApiAnalyzer:getBuildState	()Lorg/eclipse/pde/api/tools/internal/builder/BuildState;
    //   318: putfield 1387	org/eclipse/pde/api/tools/internal/builder/BaseApiAnalyzer:fBuildState	Lorg/eclipse/pde/api/tools/internal/builder/BuildState;
    //   321: aload 12
    //   323: ifnull +106 -> 429
    //   326: aload 8
    //   328: getstatic 1396	org/eclipse/pde/api/tools/internal/builder/BuilderMessages:BaseApiAnalyzer_comparing_api_profiles	Ljava/lang/String;
    //   331: iconst_2
    //   332: anewarray 756	java/lang/String
    //   335: dup
    //   336: iconst_0
    //   337: aload 12
    //   339: invokeinterface 1702 1 0
    //   344: aastore
    //   345: dup
    //   346: iconst_1
    //   347: aload 4
    //   349: invokeinterface 1698 1 0
    //   354: aastore
    //   355: invokestatic 1489	org/eclipse/osgi/util/NLS:bind	(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
    //   358: invokevirtual 1469	org/eclipse/core/runtime/SubMonitor:subTask	(Ljava/lang/String;)V
    //   361: aload 10
    //   363: invokeinterface 1681 1 0
    //   368: ifeq +27 -> 395
    //   371: aload 10
    //   373: invokeinterface 1683 1 0
    //   378: astore 13
    //   380: aload_0
    //   381: aload 13
    //   383: aload 12
    //   385: aload 5
    //   387: aload 8
    //   389: invokespecial 1532	org/eclipse/pde/api/tools/internal/builder/BaseApiAnalyzer:checkCompatibility	([Ljava/lang/String;Lorg/eclipse/pde/api/tools/internal/provisional/model/IApiComponent;Lorg/eclipse/pde/api/tools/internal/provisional/model/IApiComponent;Lorg/eclipse/core/runtime/SubMonitor;)V
    //   392: goto +22 -> 414
    //   395: aload_0
    //   396: aload 12
    //   398: aload 5
    //   400: aload 8
    //   402: iconst_1
    //   403: invokevirtual 1470	org/eclipse/core/runtime/SubMonitor:newChild	(I)Lorg/eclipse/core/runtime/SubMonitor;
    //   406: invokespecial 1526	org/eclipse/pde/api/tools/internal/builder/BaseApiAnalyzer:checkCompatibility	(Lorg/eclipse/pde/api/tools/internal/provisional/model/IApiComponent;Lorg/eclipse/pde/api/tools/internal/provisional/model/IApiComponent;Lorg/eclipse/core/runtime/IProgressMonitor;)V
    //   409: aload 8
    //   411: invokestatic 1600	org/eclipse/pde/api/tools/internal/util/Util:updateMonitor	(Lorg/eclipse/core/runtime/IProgressMonitor;)V
    //   414: aload_0
    //   415: getfield 1387	org/eclipse/pde/api/tools/internal/builder/BaseApiAnalyzer:fBuildState	Lorg/eclipse/pde/api/tools/internal/builder/BuildState;
    //   418: aload 5
    //   420: invokestatic 1612	org/eclipse/pde/api/tools/internal/util/Util:getReexportedComponents	(Lorg/eclipse/pde/api/tools/internal/provisional/model/IApiComponent;)[Lorg/eclipse/pde/api/tools/internal/provisional/model/IApiComponent;
    //   423: invokevirtual 1546	org/eclipse/pde/api/tools/internal/builder/BuildState:setReexportedComponents	([Lorg/eclipse/pde/api/tools/internal/provisional/model/IApiComponent;)V
    //   426: goto +56 -> 482
    //   429: aload 8
    //   431: getstatic 1396	org/eclipse/pde/api/tools/internal/builder/BuilderMessages:BaseApiAnalyzer_comparing_api_profiles	Ljava/lang/String;
    //   434: iconst_2
    //   435: anewarray 756	java/lang/String
    //   438: dup
    //   439: iconst_0
    //   440: aload 5
    //   442: invokeinterface 1702 1 0
    //   447: aastore
    //   448: dup
    //   449: iconst_1
    //   450: aload 4
    //   452: invokeinterface 1698 1 0
    //   457: aastore
    //   458: invokestatic 1489	org/eclipse/osgi/util/NLS:bind	(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
    //   461: invokevirtual 1469	org/eclipse/core/runtime/SubMonitor:subTask	(Ljava/lang/String;)V
    //   464: aload_0
    //   465: aconst_null
    //   466: aload 5
    //   468: aload 8
    //   470: iconst_1
    //   471: invokevirtual 1470	org/eclipse/core/runtime/SubMonitor:newChild	(I)Lorg/eclipse/core/runtime/SubMonitor;
    //   474: invokespecial 1526	org/eclipse/pde/api/tools/internal/builder/BaseApiAnalyzer:checkCompatibility	(Lorg/eclipse/pde/api/tools/internal/provisional/model/IApiComponent;Lorg/eclipse/pde/api/tools/internal/provisional/model/IApiComponent;Lorg/eclipse/core/runtime/IProgressMonitor;)V
    //   477: aload 8
    //   479: invokestatic 1600	org/eclipse/pde/api/tools/internal/util/Util:updateMonitor	(Lorg/eclipse/core/runtime/IProgressMonitor;)V
    //   482: aload_0
    //   483: aload 12
    //   485: aload 5
    //   487: invokespecial 1521	org/eclipse/pde/api/tools/internal/builder/BaseApiAnalyzer:checkApiComponentVersion	(Lorg/eclipse/pde/api/tools/internal/provisional/model/IApiComponent;Lorg/eclipse/pde/api/tools/internal/provisional/model/IApiComponent;)V
    //   490: aload 8
    //   492: invokestatic 1600	org/eclipse/pde/api/tools/internal/util/Util:updateMonitor	(Lorg/eclipse/core/runtime/IProgressMonitor;)V
    //   495: iconst_1
    //   496: istore 11
    //   498: goto +12 -> 510
    //   501: aload_0
    //   502: invokespecial 1493	org/eclipse/pde/api/tools/internal/builder/BaseApiAnalyzer:checkDefaultBaselineSet	()V
    //   505: aload 8
    //   507: invokestatic 1600	org/eclipse/pde/api/tools/internal/util/Util:updateMonitor	(Lorg/eclipse/core/runtime/IProgressMonitor;)V
    //   510: aload_0
    //   511: aload 10
    //   513: aload 5
    //   515: aload 8
    //   517: iconst_1
    //   518: invokevirtual 1470	org/eclipse/core/runtime/SubMonitor:newChild	(I)Lorg/eclipse/core/runtime/SubMonitor;
    //   521: invokespecial 1523	org/eclipse/pde/api/tools/internal/builder/BaseApiAnalyzer:checkApiUsage	(Lorg/eclipse/pde/api/tools/internal/provisional/builder/IBuildContext;Lorg/eclipse/pde/api/tools/internal/provisional/model/IApiComponent;Lorg/eclipse/core/runtime/IProgressMonitor;)V
    //   524: aload 8
    //   526: invokestatic 1600	org/eclipse/pde/api/tools/internal/util/Util:updateMonitor	(Lorg/eclipse/core/runtime/IProgressMonitor;)V
    //   529: aload_0
    //   530: aload 10
    //   532: aload 5
    //   534: aload 8
    //   536: iconst_1
    //   537: invokevirtual 1470	org/eclipse/core/runtime/SubMonitor:newChild	(I)Lorg/eclipse/core/runtime/SubMonitor;
    //   540: invokespecial 1524	org/eclipse/pde/api/tools/internal/builder/BaseApiAnalyzer:checkTagValidation	(Lorg/eclipse/pde/api/tools/internal/provisional/builder/IBuildContext;Lorg/eclipse/pde/api/tools/internal/provisional/model/IApiComponent;Lorg/eclipse/core/runtime/IProgressMonitor;)V
    //   543: aload 8
    //   545: invokestatic 1600	org/eclipse/pde/api/tools/internal/util/Util:updateMonitor	(Lorg/eclipse/core/runtime/IProgressMonitor;)V
    //   548: iload 11
    //   550: ifeq +17 -> 567
    //   553: aload_0
    //   554: aload 10
    //   556: aload 5
    //   558: aload 8
    //   560: iconst_1
    //   561: invokevirtual 1470	org/eclipse/core/runtime/SubMonitor:newChild	(I)Lorg/eclipse/core/runtime/SubMonitor;
    //   564: invokespecial 1525	org/eclipse/pde/api/tools/internal/builder/BaseApiAnalyzer:checkUnusedProblemFilters	(Lorg/eclipse/pde/api/tools/internal/provisional/builder/IBuildContext;Lorg/eclipse/pde/api/tools/internal/provisional/model/IApiComponent;Lorg/eclipse/core/runtime/IProgressMonitor;)V
    //   567: aload 8
    //   569: invokestatic 1600	org/eclipse/pde/api/tools/internal/util/Util:updateMonitor	(Lorg/eclipse/core/runtime/IProgressMonitor;)V
    //   572: aload 5
    //   574: instanceof 815
    //   577: ifeq +70 -> 647
    //   580: aload_0
    //   581: aload 5
    //   583: aload 10
    //   585: aconst_null
    //   586: aload 8
    //   588: iconst_1
    //   589: invokevirtual 1470	org/eclipse/core/runtime/SubMonitor:newChild	(I)Lorg/eclipse/core/runtime/SubMonitor;
    //   592: invokevirtual 1530	org/eclipse/pde/api/tools/internal/builder/BaseApiAnalyzer:checkExternalDependencies	(Lorg/eclipse/pde/api/tools/internal/provisional/model/IApiComponent;Lorg/eclipse/pde/api/tools/internal/provisional/builder/IBuildContext;Ljava/util/Properties;Lorg/eclipse/core/runtime/IProgressMonitor;)V
    //   595: goto +52 -> 647
    //   598: astore 9
    //   600: aload 9
    //   602: invokestatic 1577	org/eclipse/pde/api/tools/internal/provisional/ApiPlugin:log	(Ljava/lang/Throwable;)V
    //   605: aload 8
    //   607: invokevirtual 1468	org/eclipse/core/runtime/SubMonitor:done	()V
    //   610: goto +42 -> 652
    //   613: pop
    //   614: getstatic 1381	org/eclipse/pde/api/tools/internal/builder/BaseApiAnalyzer:DEBUG	Z
    //   617: ifeq +12 -> 629
    //   620: getstatic 1378	java/lang/System:out	Ljava/io/PrintStream;
    //   623: ldc_w 706
    //   626: invokevirtual 1413	java/io/PrintStream:println	(Ljava/lang/String;)V
    //   629: aload 8
    //   631: invokevirtual 1468	org/eclipse/core/runtime/SubMonitor:done	()V
    //   634: goto +18 -> 652
    //   637: astore 18
    //   639: aload 8
    //   641: invokevirtual 1468	org/eclipse/core/runtime/SubMonitor:done	()V
    //   644: aload 18
    //   646: athrow
    //   647: aload 8
    //   649: invokevirtual 1468	org/eclipse/core/runtime/SubMonitor:done	()V
    //   652: return
    // Line number table:
    //   Java source line #188	-> byte code offset #0
    //   Java source line #190	-> byte code offset #12
    //   Java source line #191	-> byte code offset #22
    //   Java source line #192	-> byte code offset #27
    //   Java source line #193	-> byte code offset #32
    //   Java source line #194	-> byte code offset #39
    //   Java source line #196	-> byte code offset #52
    //   Java source line #197	-> byte code offset #61
    //   Java source line #199	-> byte code offset #66
    //   Java source line #200	-> byte code offset #69
    //   Java source line #201	-> byte code offset #80
    //   Java source line #202	-> byte code offset #87
    //   Java source line #203	-> byte code offset #96
    //   Java source line #204	-> byte code offset #104
    //   Java source line #205	-> byte code offset #113
    //   Java source line #206	-> byte code offset #134
    //   Java source line #207	-> byte code offset #155
    //   Java source line #208	-> byte code offset #160
    //   Java source line #210	-> byte code offset #169
    //   Java source line #211	-> byte code offset #174
    //   Java source line #213	-> byte code offset #182
    //   Java source line #215	-> byte code offset #184
    //   Java source line #216	-> byte code offset #187
    //   Java source line #217	-> byte code offset #193
    //   Java source line #218	-> byte code offset #203
    //   Java source line #219	-> byte code offset #208
    //   Java source line #214	-> byte code offset #211
    //   Java source line #213	-> byte code offset #214
    //   Java source line #200	-> byte code offset #218
    //   Java source line #223	-> byte code offset #228
    //   Java source line #225	-> byte code offset #233
    //   Java source line #226	-> byte code offset #244
    //   Java source line #227	-> byte code offset #249
    //   Java source line #296	-> byte code offset #253
    //   Java source line #229	-> byte code offset #258
    //   Java source line #232	-> byte code offset #259
    //   Java source line #233	-> byte code offset #263
    //   Java source line #234	-> byte code offset #268
    //   Java source line #236	-> byte code offset #277
    //   Java source line #237	-> byte code offset #280
    //   Java source line #238	-> byte code offset #285
    //   Java source line #239	-> byte code offset #301
    //   Java source line #240	-> byte code offset #306
    //   Java source line #241	-> byte code offset #313
    //   Java source line #244	-> byte code offset #321
    //   Java source line #245	-> byte code offset #326
    //   Java source line #246	-> byte code offset #361
    //   Java source line #247	-> byte code offset #371
    //   Java source line #248	-> byte code offset #380
    //   Java source line #251	-> byte code offset #395
    //   Java source line #252	-> byte code offset #409
    //   Java source line #254	-> byte code offset #414
    //   Java source line #256	-> byte code offset #429
    //   Java source line #257	-> byte code offset #464
    //   Java source line #258	-> byte code offset #477
    //   Java source line #261	-> byte code offset #482
    //   Java source line #262	-> byte code offset #490
    //   Java source line #263	-> byte code offset #495
    //   Java source line #267	-> byte code offset #501
    //   Java source line #268	-> byte code offset #505
    //   Java source line #271	-> byte code offset #510
    //   Java source line #272	-> byte code offset #524
    //   Java source line #274	-> byte code offset #529
    //   Java source line #275	-> byte code offset #543
    //   Java source line #276	-> byte code offset #548
    //   Java source line #278	-> byte code offset #553
    //   Java source line #280	-> byte code offset #567
    //   Java source line #282	-> byte code offset #572
    //   Java source line #283	-> byte code offset #580
    //   Java source line #285	-> byte code offset #598
    //   Java source line #286	-> byte code offset #600
    //   Java source line #296	-> byte code offset #605
    //   Java source line #288	-> byte code offset #613
    //   Java source line #291	-> byte code offset #614
    //   Java source line #292	-> byte code offset #620
    //   Java source line #296	-> byte code offset #629
    //   Java source line #295	-> byte code offset #637
    //   Java source line #296	-> byte code offset #639
    //   Java source line #297	-> byte code offset #644
    //   Java source line #296	-> byte code offset #647
    //   Java source line #298	-> byte code offset #652
    // Local variable table:
    //   start	length	slot	name	signature
    //   0	653	0	this	BaseApiAnalyzer
    //   0	653	1	state	BuildState
    //   0	653	2	filterStore	IApiFilterStore
    //   0	653	3	preferences	Properties
    //   0	653	4	baseline	IApiBaseline
    //   0	653	5	component	IApiComponent
    //   0	653	6	context	IBuildContext
    //   0	653	7	monitor	IProgressMonitor
    //   10	638	8	localMonitor	SubMonitor
    //   59	22	9	errors	org.eclipse.osgi.service.resolver.ResolverError[]
    //   598	3	9	e	CoreException
    //   67	170	10	buffer	StringBuffer
    //   261	323	10	bcontext	IBuildContext
    //   70	152	11	i	int
    //   278	271	11	checkfilters	boolean
    //   75	149	12	max	int
    //   299	185	12	reference	IApiComponent
    //   85	3	13	error	org.eclipse.osgi.service.resolver.ResolverError
    //   378	4	13	changedtypes	String[]
    //   94	100	14	constraint	org.eclipse.osgi.service.resolver.VersionConstraint
    //   111	35	15	versionRange	org.eclipse.osgi.service.resolver.VersionRange
    //   132	72	16	minimum	String
    //   153	56	17	maximum	String
    //   637	8	18	localObject	Object
    //   613	1	24	localOperationCanceledException	org.eclipse.core.runtime.OperationCanceledException
    // Exception table:
    //   from	to	target	type
    //   12	253	598	org/eclipse/core/runtime/CoreException
    //   259	595	598	org/eclipse/core/runtime/CoreException
    //   12	253	613	org/eclipse/core/runtime/OperationCanceledException
    //   259	595	613	org/eclipse/core/runtime/OperationCanceledException
    //   12	253	637	finally
    //   259	605	637	finally
    //   613	629	637	finally
  }
  
  /* Error */
  public void checkExternalDependencies(IApiComponent apiComponent, IBuildContext bcontext, Properties properties, IProgressMonitor monitor)
    throws CoreException
  {
    // Byte code:
    //   0: aload_0
    //   1: aload_3
    //   2: invokevirtual 1505	org/eclipse/pde/api/tools/internal/builder/BaseApiAnalyzer:isSeverityEnabled	(Ljava/util/Properties;)Z
    //   5: ifne +4 -> 9
    //   8: return
    //   9: aload_0
    //   10: aload_2
    //   11: invokevirtual 1513	org/eclipse/pde/api/tools/internal/builder/BaseApiAnalyzer:getApiUseTypes	(Lorg/eclipse/pde/api/tools/internal/provisional/builder/IBuildContext;)[Ljava/lang/String;
    //   14: astore 5
    //   16: getstatic 1381	org/eclipse/pde/api/tools/internal/builder/BaseApiAnalyzer:DEBUG	Z
    //   19: ifeq +89 -> 108
    //   22: aload 5
    //   24: arraylength
    //   25: iconst_1
    //   26: if_icmpge +55 -> 81
    //   29: getstatic 1378	java/lang/System:out	Ljava/io/PrintStream;
    //   32: new 757	java/lang/StringBuffer
    //   35: dup
    //   36: ldc_w 681
    //   39: invokespecial 1440	java/lang/StringBuffer:<init>	(Ljava/lang/String;)V
    //   42: aload_1
    //   43: invokeinterface 1702 1 0
    //   48: invokevirtual 1445	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
    //   51: ldc_w 665
    //   54: invokevirtual 1445	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
    //   57: aload_1
    //   58: invokeinterface 1703 1 0
    //   63: invokevirtual 1445	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
    //   66: ldc_w 671
    //   69: invokevirtual 1445	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
    //   72: invokevirtual 1439	java/lang/StringBuffer:toString	()Ljava/lang/String;
    //   75: invokevirtual 1413	java/io/PrintStream:println	(Ljava/lang/String;)V
    //   78: goto +30 -> 108
    //   81: getstatic 1378	java/lang/System:out	Ljava/io/PrintStream;
    //   84: new 757	java/lang/StringBuffer
    //   87: dup
    //   88: ldc_w 681
    //   91: invokespecial 1440	java/lang/StringBuffer:<init>	(Ljava/lang/String;)V
    //   94: aload 5
    //   96: invokestatic 1453	java/util/Arrays:asList	([Ljava/lang/Object;)Ljava/util/List;
    //   99: invokevirtual 1444	java/lang/StringBuffer:append	(Ljava/lang/Object;)Ljava/lang/StringBuffer;
    //   102: invokevirtual 1439	java/lang/StringBuffer:toString	()Ljava/lang/String;
    //   105: invokevirtual 1413	java/io/PrintStream:println	(Ljava/lang/String;)V
    //   108: aload 4
    //   110: getstatic 1402	org/eclipse/pde/api/tools/internal/builder/BuilderMessages:checking_external_dependencies	Ljava/lang/String;
    //   113: bipush 10
    //   115: invokestatic 1472	org/eclipse/core/runtime/SubMonitor:convert	(Lorg/eclipse/core/runtime/IProgressMonitor;Ljava/lang/String;I)Lorg/eclipse/core/runtime/SubMonitor;
    //   118: astore 6
    //   120: invokestatic 1587	org/eclipse/pde/api/tools/internal/search/UseScanManager:getInstance	()Lorg/eclipse/pde/api/tools/internal/search/UseScanManager;
    //   123: aload_1
    //   124: aload 5
    //   126: aload 6
    //   128: bipush 10
    //   130: invokevirtual 1470	org/eclipse/core/runtime/SubMonitor:newChild	(I)Lorg/eclipse/core/runtime/SubMonitor;
    //   133: invokevirtual 1588	org/eclipse/pde/api/tools/internal/search/UseScanManager:getExternalDependenciesFor	(Lorg/eclipse/pde/api/tools/internal/provisional/model/IApiComponent;[Ljava/lang/String;Lorg/eclipse/core/runtime/IProgressMonitor;)[Lorg/eclipse/pde/api/tools/internal/search/IReferenceDescriptor;
    //   136: astore 7
    //   138: aload 7
    //   140: ifnull +437 -> 577
    //   143: aload 6
    //   145: aload 7
    //   147: arraylength
    //   148: invokevirtual 1471	org/eclipse/core/runtime/SubMonitor:setWorkRemaining	(I)Lorg/eclipse/core/runtime/SubMonitor;
    //   151: pop
    //   152: new 762	java/util/HashMap
    //   155: dup
    //   156: invokespecial 1454	java/util/HashMap:<init>	()V
    //   159: astore 8
    //   161: iconst_0
    //   162: istore 9
    //   164: goto +348 -> 512
    //   167: aload 6
    //   169: iconst_1
    //   170: invokestatic 1601	org/eclipse/pde/api/tools/internal/util/Util:updateMonitor	(Lorg/eclipse/core/runtime/IProgressMonitor;I)V
    //   173: aconst_null
    //   174: astore 10
    //   176: aconst_null
    //   177: astore 11
    //   179: aload 7
    //   181: iload 9
    //   183: aaload
    //   184: invokeinterface 1726 1 0
    //   189: astore 12
    //   191: aload 12
    //   193: invokeinterface 1695 1 0
    //   198: astore 13
    //   200: aload 13
    //   202: ifnull +18 -> 220
    //   205: aload_1
    //   206: aload 13
    //   208: invokeinterface 1697 1 0
    //   213: invokeinterface 1710 2 0
    //   218: astore 11
    //   220: aload 12
    //   222: invokeinterface 1693 1 0
    //   227: tableswitch	default:+187->414, 2:+33->260, 3:+187->414, 4:+187->414, 5:+146->373, 6:+92->319
    //   260: aload 12
    //   262: checkcast 836	org/eclipse/pde/api/tools/internal/provisional/descriptors/IReferenceTypeDescriptor
    //   265: astore 13
    //   267: aload_1
    //   268: aload 13
    //   270: invokeinterface 1697 1 0
    //   275: invokeinterface 1710 2 0
    //   280: astore 11
    //   282: aload 11
    //   284: ifnull +130 -> 414
    //   287: aload 11
    //   289: invokeinterface 1717 1 0
    //   294: aload 13
    //   296: invokeinterface 1697 1 0
    //   301: aload 7
    //   303: iload 9
    //   305: aaload
    //   306: invokeinterface 1724 1 0
    //   311: invokestatic 1550	org/eclipse/pde/api/tools/internal/builder/Reference:typeReference	(Lorg/eclipse/pde/api/tools/internal/provisional/model/IApiMember;Ljava/lang/String;I)Lorg/eclipse/pde/api/tools/internal/builder/Reference;
    //   314: astore 10
    //   316: goto +98 -> 414
    //   319: aload 11
    //   321: ifnull +93 -> 414
    //   324: aload 11
    //   326: invokeinterface 1717 1 0
    //   331: aload 13
    //   333: invokeinterface 1697 1 0
    //   338: aload 12
    //   340: invokeinterface 1694 1 0
    //   345: aload 12
    //   347: checkcast 835	org/eclipse/pde/api/tools/internal/provisional/descriptors/IMethodDescriptor
    //   350: invokeinterface 1696 1 0
    //   355: aload 7
    //   357: iload 9
    //   359: aaload
    //   360: invokeinterface 1724 1 0
    //   365: invokestatic 1552	org/eclipse/pde/api/tools/internal/builder/Reference:methodReference	(Lorg/eclipse/pde/api/tools/internal/provisional/model/IApiMember;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)Lorg/eclipse/pde/api/tools/internal/builder/Reference;
    //   368: astore 10
    //   370: goto +44 -> 414
    //   373: aload 11
    //   375: ifnull +39 -> 414
    //   378: aload 11
    //   380: invokeinterface 1717 1 0
    //   385: aload 13
    //   387: invokeinterface 1697 1 0
    //   392: aload 12
    //   394: invokeinterface 1694 1 0
    //   399: aload 7
    //   401: iload 9
    //   403: aaload
    //   404: invokeinterface 1724 1 0
    //   409: invokestatic 1551	org/eclipse/pde/api/tools/internal/builder/Reference:fieldReference	(Lorg/eclipse/pde/api/tools/internal/provisional/model/IApiMember;Ljava/lang/String;Ljava/lang/String;I)Lorg/eclipse/pde/api/tools/internal/builder/Reference;
    //   412: astore 10
    //   414: aload 11
    //   416: ifnonnull +43 -> 459
    //   419: aload_0
    //   420: aload 8
    //   422: aload 7
    //   424: iload 9
    //   426: aaload
    //   427: aload 13
    //   429: invokeinterface 1697 1 0
    //   434: aload 12
    //   436: aload 7
    //   438: iload 9
    //   440: aaload
    //   441: invokeinterface 1726 1 0
    //   446: invokeinterface 1693 1 0
    //   451: iconst_0
    //   452: invokevirtual 1536	org/eclipse/pde/api/tools/internal/builder/BaseApiAnalyzer:createExternalDependenciesProblem	(Ljava/util/HashMap;Lorg/eclipse/pde/api/tools/internal/search/IReferenceDescriptor;Ljava/lang/String;Lorg/eclipse/pde/api/tools/internal/provisional/descriptors/IMemberDescriptor;II)Lorg/eclipse/pde/api/tools/internal/provisional/problems/IApiProblem;
    //   455: pop
    //   456: goto +53 -> 509
    //   459: aload 10
    //   461: invokevirtual 1548	org/eclipse/pde/api/tools/internal/builder/Reference:resolve	()V
    //   464: aload 10
    //   466: invokevirtual 1549	org/eclipse/pde/api/tools/internal/builder/Reference:getResolvedReference	()Lorg/eclipse/pde/api/tools/internal/provisional/model/IApiMember;
    //   469: ifnonnull +40 -> 509
    //   472: aload_0
    //   473: aload 8
    //   475: aload 7
    //   477: iload 9
    //   479: aaload
    //   480: aload 13
    //   482: invokeinterface 1697 1 0
    //   487: aload 12
    //   489: aload 7
    //   491: iload 9
    //   493: aaload
    //   494: invokeinterface 1726 1 0
    //   499: invokeinterface 1693 1 0
    //   504: iconst_1
    //   505: invokevirtual 1536	org/eclipse/pde/api/tools/internal/builder/BaseApiAnalyzer:createExternalDependenciesProblem	(Ljava/util/HashMap;Lorg/eclipse/pde/api/tools/internal/search/IReferenceDescriptor;Ljava/lang/String;Lorg/eclipse/pde/api/tools/internal/provisional/descriptors/IMemberDescriptor;II)Lorg/eclipse/pde/api/tools/internal/provisional/problems/IApiProblem;
    //   508: pop
    //   509: iinc 9 1
    //   512: iload 9
    //   514: aload 7
    //   516: arraylength
    //   517: if_icmplt -350 -> 167
    //   520: aload 8
    //   522: invokevirtual 1455	java/util/HashMap:values	()Ljava/util/Collection;
    //   525: invokeinterface 1622 1 0
    //   530: astore 9
    //   532: goto +22 -> 554
    //   535: aload 9
    //   537: invokeinterface 1624 1 0
    //   542: checkcast 841	org/eclipse/pde/api/tools/internal/provisional/problems/IApiProblem
    //   545: astore 10
    //   547: aload_0
    //   548: aload 10
    //   550: invokespecial 1508	org/eclipse/pde/api/tools/internal/builder/BaseApiAnalyzer:addProblem	(Lorg/eclipse/pde/api/tools/internal/provisional/problems/IApiProblem;)Z
    //   553: pop
    //   554: aload 9
    //   556: invokeinterface 1623 1 0
    //   561: ifne -26 -> 535
    //   564: goto +13 -> 577
    //   567: astore 14
    //   569: aload 6
    //   571: invokevirtual 1468	org/eclipse/core/runtime/SubMonitor:done	()V
    //   574: aload 14
    //   576: athrow
    //   577: aload 6
    //   579: invokevirtual 1468	org/eclipse/core/runtime/SubMonitor:done	()V
    //   582: return
    // Line number table:
    //   Java source line #309	-> byte code offset #0
    //   Java source line #310	-> byte code offset #8
    //   Java source line #312	-> byte code offset #9
    //   Java source line #313	-> byte code offset #16
    //   Java source line #314	-> byte code offset #22
    //   Java source line #315	-> byte code offset #29
    //   Java source line #318	-> byte code offset #81
    //   Java source line #321	-> byte code offset #108
    //   Java source line #322	-> byte code offset #120
    //   Java source line #324	-> byte code offset #138
    //   Java source line #325	-> byte code offset #143
    //   Java source line #326	-> byte code offset #152
    //   Java source line #327	-> byte code offset #161
    //   Java source line #328	-> byte code offset #167
    //   Java source line #329	-> byte code offset #173
    //   Java source line #330	-> byte code offset #176
    //   Java source line #331	-> byte code offset #179
    //   Java source line #332	-> byte code offset #191
    //   Java source line #333	-> byte code offset #200
    //   Java source line #334	-> byte code offset #205
    //   Java source line #336	-> byte code offset #220
    //   Java source line #338	-> byte code offset #260
    //   Java source line #339	-> byte code offset #267
    //   Java source line #340	-> byte code offset #282
    //   Java source line #341	-> byte code offset #287
    //   Java source line #343	-> byte code offset #316
    //   Java source line #345	-> byte code offset #319
    //   Java source line #346	-> byte code offset #324
    //   Java source line #348	-> byte code offset #370
    //   Java source line #350	-> byte code offset #373
    //   Java source line #351	-> byte code offset #378
    //   Java source line #355	-> byte code offset #414
    //   Java source line #356	-> byte code offset #419
    //   Java source line #358	-> byte code offset #459
    //   Java source line #359	-> byte code offset #464
    //   Java source line #360	-> byte code offset #472
    //   Java source line #327	-> byte code offset #509
    //   Java source line #364	-> byte code offset #520
    //   Java source line #365	-> byte code offset #535
    //   Java source line #366	-> byte code offset #547
    //   Java source line #364	-> byte code offset #554
    //   Java source line #370	-> byte code offset #567
    //   Java source line #371	-> byte code offset #569
    //   Java source line #372	-> byte code offset #574
    //   Java source line #371	-> byte code offset #577
    //   Java source line #373	-> byte code offset #582
    // Local variable table:
    //   start	length	slot	name	signature
    //   0	583	0	this	BaseApiAnalyzer
    //   0	583	1	apiComponent	IApiComponent
    //   0	583	2	bcontext	IBuildContext
    //   0	583	3	properties	Properties
    //   0	583	4	monitor	IProgressMonitor
    //   14	111	5	apiUseTypes	String[]
    //   118	460	6	localmonitor	SubMonitor
    //   136	379	7	externalDependencies	IReferenceDescriptor[]
    //   159	362	8	problems	HashMap
    //   162	351	9	i	int
    //   530	25	9	iterator	Iterator
    //   174	291	10	externalReference	Reference
    //   545	4	10	apiProblem	IApiProblem
    //   177	238	11	type	IApiTypeRoot
    //   189	299	12	referencedMember	IMemberDescriptor
    //   198	283	13	referenceMemberType	IReferenceTypeDescriptor
    //   567	8	14	localObject	Object
    // Exception table:
    //   from	to	target	type
    //   138	567	567	finally
  }
  
  public boolean isSeverityEnabled(Properties properties)
  {
    IEclipsePreferences node = InstanceScope.INSTANCE.getNode("org.eclipse.pde.api.tools");
    if (properties == null)
    {
      if (!isIgnore(node.get("API_USE_SCAN_TYPE_SEVERITY", "Ignore"))) {
        return true;
      }
      if (!isIgnore(node.get("API_USE_SCAN_METHOD_SEVERITY", "Ignore"))) {
        return true;
      }
      if (isIgnore(node.get("API_USE_SCAN_FIELD_SEVERITY", "Ignore"))) {
        return true;
      }
      return false;
    }
    if (properties.isEmpty()) {
      return true;
    }
    if (!isIgnore(properties.get("API_USE_SCAN_TYPE_SEVERITY"))) {
      return true;
    }
    if (!isIgnore(properties.get("API_USE_SCAN_METHOD_SEVERITY"))) {
      return true;
    }
    if (!isIgnore(properties.get("API_USE_SCAN_FIELD_SEVERITY"))) {
      return true;
    }
    return false;
  }
  
  private boolean isIgnore(Object value)
  {
    if ((value != null) && ((value.toString().equalsIgnoreCase("Error")) || (value.toString().equalsIgnoreCase("Warning")))) {
      return false;
    }
    return true;
  }
  
  protected IApiProblem createExternalDependenciesProblem(HashMap problems, IReferenceDescriptor dependency, String referenceTypeName, IMemberDescriptor referencedMember, int elementType, int flag)
  {
    String resource = referenceTypeName;
    String primaryTypeName = referenceTypeName.replace('$', '.');
    int charStart = -1;int charEnd = -1;int lineNumber = -1;
    if (fJavaProject != null) {
      try
      {
        IType type = fJavaProject.findType(primaryTypeName);
        IResource res = Util.getResource(fJavaProject.getProject(), type);
        if (res == null) {
          return null;
        }
        if (!Util.isManifest(res.getProjectRelativePath())) {
          resource = res.getProjectRelativePath().toString();
        } else {
          resource = ".";
        }
        if (type != null)
        {
          ISourceRange range = type.getNameRange();
          charStart = range.getOffset();
          charEnd = charStart + range.getLength();
          try
          {
            IDocument document = Util.getDocument(type.getCompilationUnit());
            lineNumber = document.getLineOfOffset(charStart);
          }
          catch (BadLocationException localBadLocationException) {}catch (CoreException localCoreException) {}
        }
      }
      catch (JavaModelException localJavaModelException) {}
    }
    tmp174_171[0] = referenceTypeName; String[] tmp178_174 = tmp174_171;tmp178_174[1] = referencedMember.getName(); String[] tmp188_178 = tmp178_174;tmp188_178[2] = dependency.getComponent().getId();String[] msgArgs = tmp188_178;
    int kind = 0;
    switch (elementType)
    {
    case 2: 
      kind = 1;
      break;
    case 6: 
      kind = 2;
      msgArgs[1] = (BuilderMessages.BaseApiAnalyzer_Method + ' ' + msgArgs[1]);
      if ((dependency.getReferenceKind() & 0x40) > 0) {
        msgArgs[1] = (BuilderMessages.BaseApiAnalyzer_Constructor + ' ' + msgArgs[1]);
      }
      break;
    case 5: 
      kind = 3;
    }
    int dependencyNameIndex = 2;
    int problemId = ApiProblemFactory.createProblemId(Integer.MIN_VALUE, elementType, kind, flag);
    String problemKey = referenceTypeName + problemId;
    IApiProblem similarProblem = (IApiProblem)problems.get(problemKey);
    if (similarProblem != null)
    {
      String[] existingMsgArgs = similarProblem.getMessageArguments()[dependencyNameIndex].split(", ");
      if (!Arrays.asList(existingMsgArgs).contains(msgArgs[dependencyNameIndex])) {
        msgArgs[dependencyNameIndex] = (similarProblem.getMessageArguments()[dependencyNameIndex] + ',' + ' ' + msgArgs[dependencyNameIndex]);
      } else {
        return similarProblem;
      }
    }
    IApiProblem problem = ApiProblemFactory.newApiUseScanProblem(
      resource, 
      primaryTypeName, 
      msgArgs, 
      new String[] { "apiUseScanType" }, 
      new String[] { primaryTypeName }, 
      lineNumber, 
      charStart, 
      charEnd, 
      elementType, 
      kind, 
      flag);
    problems.put(problemKey, problem);
    return problem;
  }
  
  private void checkCompatibility(String[] c
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55

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