org.eclipse.ant.core_3.2.401.v20121204-162022

d 447	org/eclipse/ant/core/AntRunner:messageOutputLevel	I
    //   565: invokespecial 478	java/lang/Integer:<init>	(I)V
    //   568: aastore
    //   569: invokevirtual 496	java/lang/reflect/Method:invoke	(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
    //   572: pop
    //   573: aload_0
    //   574: getfield 464	org/eclipse/ant/core/AntRunner:targets	[Ljava/lang/String;
    //   577: ifnull +70 -> 647
    //   580: aload_3
    //   581: ldc_w 241
    //   584: iconst_1
    //   585: anewarray 247	java/lang/Class
    //   588: dup
    //   589: iconst_0
    //   590: getstatic 450	org/eclipse/ant/core/AntRunner:class$1	Ljava/lang/Class;
    //   593: dup
    //   594: ifnonnull +29 -> 623
    //   597: pop
    //   598: ldc_w 220
    //   601: invokestatic 474	java/lang/Class:forName	(Ljava/lang/String;)Ljava/lang/Class;
    //   604: dup
    //   605: putstatic 450	org/eclipse/ant/core/AntRunner:class$1	Ljava/lang/Class;
    //   608: goto +15 -> 623
    //   611: new 253	java/lang/NoClassDefFoundError
    //   614: dup_x1
    //   615: swap
    //   616: invokevirtual 494	java/lang/Throwable:getMessage	()Ljava/lang/String;
    //   619: invokespecial 479	java/lang/NoClassDefFoundError:<init>	(Ljava/lang/String;)V
    //   622: athrow
    //   623: aastore
    //   624: invokevirtual 475	java/lang/Class:getMethod	(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
    //   627: astore 7
    //   629: aload 7
    //   631: aload_2
    //   632: iconst_1
    //   633: anewarray 255	java/lang/Object
    //   636: dup
    //   637: iconst_0
    //   638: aload_0
    //   639: getfield 464	org/eclipse/ant/core/AntRunner:targets	[Ljava/lang/String;
    //   642: aastore
    //   643: invokevirtual 496	java/lang/reflect/Method:invoke	(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
    //   646: pop
    //   647: aload_3
    //   648: ldc_w 236
    //   651: aconst_null
    //   652: invokevirtual 475	java/lang/Class:getMethod	(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
    //   655: astore 7
    //   657: aload 7
    //   659: aload_2
    //   660: aconst_null
    //   661: invokevirtual 496	java/lang/reflect/Method:invoke	(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
    //   664: pop
    //   665: goto +142 -> 807
    //   668: astore 5
    //   670: aload_0
    //   671: aload 5
    //   673: invokevirtual 518	org/eclipse/ant/core/AntRunner:problemLoadingClass	(Ljava/lang/Throwable;)V
    //   676: iconst_0
    //   677: putstatic 448	org/eclipse/ant/core/AntRunner:buildRunning	Z
    //   680: invokestatic 493	java/lang/Thread:currentThread	()Ljava/lang/Thread;
    //   683: aload 4
    //   685: invokevirtual 492	java/lang/Thread:setContextClassLoader	(Ljava/lang/ClassLoader;)V
    //   688: goto +131 -> 819
    //   691: astore 5
    //   693: aload_0
    //   694: aload 5
    //   696: invokevirtual 518	org/eclipse/ant/core/AntRunner:problemLoadingClass	(Ljava/lang/Throwable;)V
    //   699: iconst_0
    //   700: putstatic 448	org/eclipse/ant/core/AntRunner:buildRunning	Z
    //   703: invokestatic 493	java/lang/Thread:currentThread	()Ljava/lang/Thread;
    //   706: aload 4
    //   708: invokevirtual 492	java/lang/Thread:setContextClassLoader	(Ljava/lang/ClassLoader;)V
    //   711: goto +108 -> 819
    //   714: astore 5
    //   716: aload_0
    //   717: aload_2
    //   718: aload_3
    //   719: aload 5
    //   721: invokevirtual 524	org/eclipse/ant/core/AntRunner:handleInvocationTargetException	(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/reflect/InvocationTargetException;)V
    //   724: iconst_0
    //   725: putstatic 448	org/eclipse/ant/core/AntRunner:buildRunning	Z
    //   728: invokestatic 493	java/lang/Thread:currentThread	()Ljava/lang/Thread;
    //   731: aload 4
    //   733: invokevirtual 492	java/lang/Thread:setContextClassLoader	(Ljava/lang/ClassLoader;)V
    //   736: goto +83 -> 819
    //   739: astore 5
    //   741: aload 5
    //   743: invokevirtual 477	java/lang/Exception:getMessage	()Ljava/lang/String;
    //   746: ifnonnull +9 -> 755
    //   749: getstatic 470	org/eclipse/ant/internal/core/InternalCoreAntMessages:AntRunner_Build_Failed__3	Ljava/lang/String;
    //   752: goto +8 -> 760
    //   755: aload 5
    //   757: invokevirtual 477	java/lang/Exception:getMessage	()Ljava/lang/String;
    //   760: astore 6
    //   762: new 283	org/eclipse/core/runtime/Status
    //   765: dup
    //   766: iconst_4
    //   767: ldc_w 233
    //   770: iconst_1
    //   771: aload 6
    //   773: aload 5
    //   775: invokespecial 530	org/eclipse/core/runtime/Status:<init>	(ILjava/lang/String;ILjava/lang/String;Ljava/lang/Throwable;)V
    //   778: astore 7
    //   780: new 278	org/eclipse/core/runtime/CoreException
    //   783: dup
    //   784: aload 7
    //   786: invokespecial 528	org/eclipse/core/runtime/CoreException:<init>	(Lorg/eclipse/core/runtime/IStatus;)V
    //   789: athrow
    //   790: astore 8
    //   792: iconst_0
    //   793: putstatic 448	org/eclipse/ant/core/AntRunner:buildRunning	Z
    //   796: invokestatic 493	java/lang/Thread:currentThread	()Ljava/lang/Thread;
    //   799: aload 4
    //   801: invokevirtual 492	java/lang/Thread:setContextClassLoader	(Ljava/lang/ClassLoader;)V
    //   804: aload 8
    //   806: athrow
    //   807: iconst_0
    //   808: putstatic 448	org/eclipse/ant/core/AntRunner:buildRunning	Z
    //   811: invokestatic 493	java/lang/Thread:currentThread	()Ljava/lang/Thread;
    //   814: aload 4
    //   816: invokevirtual 492	java/lang/Thread:setContextClassLoader	(Ljava/lang/ClassLoader;)V
    //   819: return
    // Line number table:
    //   Java source line #314	-> byte code offset #0
    //   Java source line #315	-> byte code offset #6
    //   Java source line #316	-> byte code offset #37
    //   Java source line #318	-> byte code offset #46
    //   Java source line #319	-> byte code offset #50
    //   Java source line #320	-> byte code offset #52
    //   Java source line #321	-> byte code offset #54
    //   Java source line #323	-> byte code offset #62
    //   Java source line #324	-> byte code offset #67
    //   Java source line #326	-> byte code offset #72
    //   Java source line #327	-> byte code offset #121
    //   Java source line #330	-> byte code offset #139
    //   Java source line #331	-> byte code offset #146
    //   Java source line #332	-> byte code offset #195
    //   Java source line #336	-> byte code offset #213
    //   Java source line #337	-> byte code offset #220
    //   Java source line #338	-> byte code offset #269
    //   Java source line #341	-> byte code offset #287
    //   Java source line #343	-> byte code offset #294
    //   Java source line #346	-> byte code offset #301
    //   Java source line #347	-> byte code offset #350
    //   Java source line #349	-> byte code offset #368
    //   Java source line #351	-> byte code offset #375
    //   Java source line #352	-> byte code offset #424
    //   Java source line #355	-> byte code offset #442
    //   Java source line #358	-> byte code offset #448
    //   Java source line #359	-> byte code offset #452
    //   Java source line #360	-> byte code offset #457
    //   Java source line #361	-> byte code offset #506
    //   Java source line #365	-> byte code offset #521
    //   Java source line #366	-> byte code offset #529
    //   Java source line #367	-> byte code offset #548
    //   Java source line #371	-> byte code offset #573
    //   Java source line #372	-> byte code offset #580
    //   Java source line #373	-> byte code offset #629
    //   Java source line #377	-> byte code offset #647
    //   Java source line #378	-> byte code offset #657
    //   Java source line #379	-> byte code offset #665
    //   Java source line #380	-> byte code offset #670
    //   Java source line #390	-> byte code offset #676
    //   Java source line #391	-> byte code offset #680
    //   Java source line #381	-> byte code offset #691
    //   Java source line #382	-> byte code offset #693
    //   Java source line #390	-> byte code offset #699
    //   Java source line #391	-> byte code offset #703
    //   Java source line #383	-> byte code offset #714
    //   Java source line #384	-> byte code offset #716
    //   Java source line #390	-> byte code offset #724
    //   Java source line #391	-> byte code offset #728
    //   Java source line #385	-> byte code offset #739
    //   Java source line #386	-> byte code offset #741
    //   Java source line #387	-> byte code offset #762
    //   Java source line #388	-> byte code offset #780
    //   Java source line #389	-> byte code offset #790
    //   Java source line #390	-> byte code offset #792
    //   Java source line #391	-> byte code offset #796
    //   Java source line #392	-> byte code offset #804
    //   Java source line #390	-> byte code offset #807
    //   Java source line #391	-> byte code offset #811
    //   Java source line #393	-> byte code offset #819
    // Local variable table:
    //   start	length	slot	name	signature
    //   0	820	0	this	AntRunner
    //   0	820	1	monitor	IProgressMonitor
    //   36	6	2	status	IStatus
    //   51	667	2	runner	Object
    //   53	666	3	classInternalAntRunner	Class
    //   60	755	4	originalClassLoader	ClassLoader
    //   119	3	5	setBuildFileLocation	Method
    //   668	4	5	e	NoClassDefFoundError
    //   691	4	5	e	ClassNotFoundException
    //   714	6	5	e	InvocationTargetException
    //   739	35	5	e	Exception
    //   193	3	6	setCustomClasspath	Method
    //   267	3	6	addBuildListeners	Method
    //   348	3	6	addBuildLogger	Method
    //   760	12	6	message	String
    //   422	3	7	setInputHandler	Method
    //   504	3	7	setProgressMonitor	Method
    //   546	3	7	setMessageOutputLevel	Method
    //   627	3	7	setExecutionTargets	Method
    //   655	3	7	run	Method
    //   778	7	7	status	IStatus
    //   790	15	8	localObject1	Object
    //   103	1	22	localClassNotFoundException1	ClassNotFoundException
    //   177	1	23	localClassNotFoundException2	ClassNotFoundException
    //   251	1	24	localClassNotFoundException3	ClassNotFoundException
    //   332	1	25	localClassNotFoundException4	ClassNotFoundException
    //   406	1	26	localClassNotFoundException5	ClassNotFoundException
    //   488	1	27	localClassNotFoundException6	ClassNotFoundException
    //   611	1	28	localClassNotFoundException7	ClassNotFoundException
    // Exception table:
    //   from	to	target	type
    //   90	96	103	java/lang/ClassNotFoundException
    //   164	170	177	java/lang/ClassNotFoundException
    //   238	244	251	java/lang/ClassNotFoundException
    //   319	325	332	java/lang/ClassNotFoundException
    //   393	399	406	java/lang/ClassNotFoundException
    //   475	481	488	java/lang/ClassNotFoundException
    //   598	604	611	java/lang/ClassNotFoundException
    //   62	665	668	java/lang/NoClassDefFoundError
    //   62	665	691	java/lang/ClassNotFoundException
    //   62	665	714	java/lang/reflect/InvocationTargetException
    //   62	665	739	java/lang/Exception
    //   62	676	790	finally
    //   691	699	790	finally
    //   714	724	790	finally
    //   739	790	790	finally
  }
  
  private Class getInternalAntRunner()
    throws ClassNotFoundException
  {
    ClassLoader loader = getClassLoader();
    Thread.currentThread().setContextClassLoader(loader);
    return loader.loadClass("org.eclipse.ant.internal.core.ant.InternalAntRunner");
  }
  
  private void setProperties(Object runner, Class classInternalAntRunner)
    throws NoSuchMethodException, IllegalAccessException, InvocationTargetException
  {
    if (userProperties != null)
    {
      Method addUserProperties = classInternalAntRunner.getMethod("addUserProperties", new Class[] { Map.class });
      addUserProperties.invoke(runner, new Object[] { userProperties });
    }
    if (propertyFiles != null)
    {
      Method addPropertyFiles = classInternalAntRunner.getMethod("addPropertyFiles", new Class[] { String[].class });
      addPropertyFiles.invoke(runner, new Object[] { propertyFiles });
    }
  }
  
  protected void handleInvocationTargetException(Object runner, Class classInternalAntRunner, InvocationTargetException e)
    throws CoreException
  {
    Throwable realException = e.getTargetException();
    if ((realException instanceof OperationCanceledException)) {
      return;
    }
    String message = null;
    if (runner != null) {
      try
      {
        Method getBuildErrorMessage = classInternalAntRunner.getMethod("getBuildExceptionErrorMessage", new Class[] { Throwable.class });
        message = (String)getBuildErrorMessage.invoke(runner, new Object[] { realException });
      }
      catch (Exception localException) {}
    }
    if ((message == null) && (((realException instanceof NoClassDefFoundError)) || ((realException instanceof ClassNotFoundException))))
    {
      problemLoadingClass(realException);
      return;
    }
    boolean internalError = false;
    if (message == null)
    {
      internalError = true;
      message = realException.getMessage() == null ? InternalCoreAntMessages.AntRunner_Build_Failed__3 : realException.getMessage();
    }
    IStatus status = new Status(4, "org.eclipse.ant.core", 1, message, realException);
    if (internalError) {
      AntCorePlugin.getPlugin().getLog().log(status);
    }
    throw new CoreException(status);
  }
  
  protected void problemLoadingClass(Throwable e)
    throws CoreException
  {
    String missingClassName = e.getMessage();
    String message;
    if (missingClassName != null)
    {
      missingClassName = missingClassName.replace('/', '.');
      String message = InternalCoreAntMessages.AntRunner_Could_not_find_one_or_more_classes__Please_check_the_Ant_classpath__2;
      message = NLS.bind(message, new String[] { missingClassName });
    }
    else
    {
      message = InternalCoreAntMessages.AntRunner_Could_not_find_one_or_more_classes__Please_check_the_Ant_classpath__1;
    }
    IStatus status = new Status(4, "org.eclipse.ant.core", 1, message, e);
    AntCorePlugin.getPlugin().getLog().log(status);
    throw new CoreException(status);
  }
  
  public void run()
    throws CoreException
  {
    run(null);
  }
  
  /* Error */
  public Object run(Object argArray)
    throws Exception
  {
    // Byte code:
    //   0: invokestatic 493	java/lang/Thread:currentThread	()Ljava/lang/Thread;
    //   3: invokevirtual 491	java/lang/Thread:getContextClassLoader	()Ljava/lang/ClassLoader;
    //   6: astore_2
    //   7: invokestatic 511	org/eclipse/ant/core/AntCorePlugin:getPlugin	()Lorg/eclipse/ant/core/AntCorePlugin;
    //   10: iconst_1
    //   11: invokevirtual 509	org/eclipse/ant/core/AntCorePlugin:setRunningHeadless	(Z)V
    //   14: invokestatic 529	org/eclipse/core/runtime/Platform:inDebugMode	()Z
    //   17: ifeq +38 -> 55
    //   20: aload_1
    //   21: checkcast 245	[Ljava/lang/String;
    //   24: astore_3
    //   25: aload_3
    //   26: arraylength
    //   27: iconst_1
    //   28: iadd
    //   29: anewarray 256	java/lang/String
    //   32: astore 4
    //   34: aload_1
    //   35: iconst_0
    //   36: aload 4
    //   38: iconst_0
    //   39: aload_3
    //   40: arraylength
    //   41: invokestatic 490	java/lang/System:arraycopy	(Ljava/lang/Object;ILjava/lang/Object;II)V
    //   44: aload 4
    //   46: aload_3
    //   47: arraylength
    //   48: ldc_w 219
    //   51: aastore
    //   52: aload 4
    //   54: astore_1
    //   55: aload_0
    //   56: invokespecial 517	org/eclipse/ant/core/AntRunner:getClassLoader	()Ljava/lang/ClassLoader;
    //   59: astore_3
    //   60: invokestatic 493	java/lang/Thread:currentThread	()Ljava/lang/Thread;
    //   63: aload_3
    //   64: invokevirtual 492	java/lang/Thread:setContextClassLoader	(Ljava/lang/ClassLoader;)V
    //   67: aload_3
    //   68: ldc_w 234
    //   71: invokevirtual 476	java/lang/ClassLoader:loadClass	(Ljava/lang/String;)Ljava/lang/Class;
    //   74: astore 4
    //   76: aload 4
    //   78: invokevirtual 473	java/lang/Class:newInstance	()Ljava/lang/Object;
    //   81: astore 5
    //   83: aload 4
    //   85: ldc_w 236
    //   88: iconst_1
    //   89: anewarray 247	java/lang/Class
    //   92: dup
    //   93: iconst_0
    //   94: getstatic 456	org/eclipse/ant/core/AntRunner:class$7	Ljava/lang/Class;
    //   97: dup
    //   98: ifnonnull +29 -> 127
    //   101: pop
    //   102: ldc_w 228
    //   105: invokestatic 474	java/lang/Class:forName	(Ljava/lang/String;)Ljava/lang/Class;
    //   108: dup
    //   109: putstatic 456	org/eclipse/ant/core/AntRunner:class$7	Ljava/lang/Class;
    //   112: goto +15 -> 127
    //   115: new 253	java/lang/NoClassDefFoundError
    //   118: dup_x1
    //   119: swap
    //   120: invokevirtual 494	java/lang/Throwable:getMessage	()Ljava/lang/String;
    //   123: invokespecial 479	java/lang/NoClassDefFoundError:<init>	(Ljava/lang/String;)V
    //   126: athrow
    //   127: aastore
    //   128: invokevirtual 475	java/lang/Class:getMethod	(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
    //   131: astore 6
    //   133: aload 6
    //   135: aload 5
    //   137: iconst_1
    //   138: anewarray 255	java/lang/Object
    //   141: dup
    //   142: iconst_0
    //   143: aload_1
    //   144: aastore
    //   145: invokevirtual 496	java/lang/reflect/Method:invoke	(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
    //   148: pop
    //   149: goto +15 -> 164
    //   152: astore 7
    //   154: invokestatic 493	java/lang/Thread:currentThread	()Ljava/lang/Thread;
    //   157: aload_2
    //   158: invokevirtual 492	java/lang/Thread:setContextClassLoader	(Ljava/lang/ClassLoader;)V
    //   161: aload 7
    //   163: athrow
    //   164: invokestatic 493	java/lang/Thread:currentThread	()Ljava/lang/Thread;
    //   167: aload_2
    //   168: invokevirtual 492	java/lang/Thread:setContextClassLoader	(Ljava/lang/ClassLoader;)V
    //   171: getstatic 457	org/eclipse/ant/core/AntRunner:EXIT_OK	Ljava/lang/Integer;
    //   174: areturn
    // Line number table:
    //   Java source line #491	-> byte code offset #0
    //   Java source line #494	-> byte code offset #7
    //   Java source line #501	-> byte code offset #14
    //   Java source line #502	-> byte code offset #20
    //   Java source line #503	-> byte code offset #25
    //   Java source line #504	-> byte code offset #34
    //   Java source line #505	-> byte code offset #44
    //   Java source line #506	-> byte code offset #52
    //   Java source line #508	-> byte code offset #55
    //   Java source line #509	-> byte code offset #60
    //   Java source line #510	-> byte code offset #67
    //   Java source line #511	-> byte code offset #76
    //   Java source line #512	-> byte code offset #83
    //   Java source line #513	-> byte code offset #133
    //   Java source line #514	-> byte code offset #149
    //   Java source line #515	-> byte code offset #154
    //   Java source line #516	-> byte code offset #161
    //   Java source line #515	-> byte code offset #164
    //   Java source line #518	-> byte code offset #171
    // Local variable table:
    //   start	length	slot	name	signature
    //   0	175	0	this	AntRunner
    //   0	175	1	argArray	Object
    //   6	162	2	originalClassLoader	ClassLoader
    //   24	23	3	args	String[]
    //   59	9	3	loader	ClassLoader
    //   32	21	4	newArgs	String[]
    //   74	10	4	classInternalAntRunner	Class
    //   81	55	5	runner	Object
    //   131	3	6	run	Method
    //   152	10	7	localObject1	Object
    //   115	1	10	localClassNotFoundException	ClassNotFoundException
    // Exception table:
    //   from	to	target	type
    //   102	108	115	java/lang/ClassNotFoundException
    //   7	152	152	finally
  }
  
  private ClassLoader getClassLoader()
  {
    if (customClasspath == null) {
      return AntCorePlugin.getPlugin().getNewClassLoader();
    }
    AntCorePreferences preferences = AntCorePlugin.getPlugin().getPreferences();
    List fullClasspath = new ArrayList();
    fullClasspath.addAll(Arrays.asList(customClasspath));
    fullClasspath.addAll(Arrays.asList(preferences.getExtraClasspathURLs()));
    return new AntClassLoader((URL[])fullClasspath.toArray(new URL[fullClasspath.size()]), preferences.getPluginClassLoaders());
  }
  
  public void setInputHandler(String className)
  {
    inputHandlerClassName = className;
  }
  
  public void setPropertyFiles(String[] propertyFiles)
  {
    this.propertyFiles = propertyFiles;
  }
  
  public void setCustomClasspath(URL[] customClasspath)
  {
    this.customClasspath = customClasspath;
  }
  
  public void setAntHome(String antHome)
  {
    this.antHome = antHome;
  }
  
  public static boolean isBuildRunning()
  {
    return buildRunning;
  }
  
  public Object start(IApplicationContext context)
    throws Exception
  {
    Map contextArguments = context.getArguments();
    return run(contextArguments.get("application.args"));
  }
  
  public void stop()
  {
    if (progressMonitor != null) {
      progressMonitor.setCanceled(true);
    }
  }
}

/* Location:
 * Qualified Name:     org.eclipse.ant.core.AntRunner
 * Java Class Version: 1.2 (46.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.ant.core;

public class AntSecurityException
  extends SecurityException
{
  private static final long serialVersionUID = 1L;
}

/* Location:
 * Qualified Name:     org.eclipse.ant.core.AntSecurityException
 * Java Class Version: 1.2 (46.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.ant.core;

import java.net.URL;

public abstract interface IAntClasspathEntry
{
  public abstract String getLabel();
  
  public abstract URL getEntryURL();
  
  public abstract boolean isEclipseRuntimeRequired();
}

/* Location:
 * Qualified Name:     org.eclipse.ant.core.IAntClasspathEntry
 * Java Class Version: 1.2 (46.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.ant.core;

public abstract interface IAntPropertyValueProvider
{
  public abstract String getAntPropertyValue(String paramString);
}

/* Location:
 * Qualified Name:     org.eclipse.ant.core.IAntPropertyValueProvider
 * Java Class Version: 1.2 (46.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.ant.core;

public class ProjectInfo
{
  private String name = null;
  private String description = null;
  
  ProjectInfo(String name, String description)
  {
    this.name = (name == null ? "" : name);
    this.description = description;
  }
  
  public String getName()
  {
    return name;
  }
  
  public String getDescription()
  {
    return description;
  }
}

/* Location:
 * Qualified Name:     org.eclipse.ant.core.ProjectInfo
 * Java Class Version: 1.2 (46.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.ant.core;

import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.variables.IStringVariableManager;
import org.eclipse.core.variables.VariablesPlugin;

public class Property
{
  private String name;
  private String value;
  private String className;
  private IAntPropertyValueProvider valueProvider;
  private String pluginLabel;
  private ClassLoader loader;
  private boolean eclipseRuntime = true;
  
  public Property(String name, String value)
  {
    this.name = name;
    this.value = value;
  }
  
  public Property() {}
  
  public String getName()
  {
    return name;
  }
  
  public void setName(String name)
  {
    this.name = name;
  }
  
  public boolean equals(Object other)
  {
    if ((other != null) && (other.getClass().equals(getClass())))
    {
      Property elem = (Property)other;
      return name.equals(elem.getName());
    }
    return false;
  }
  
  public int hashCode()
  {
    return name.hashCode();
  }
  
  public String getValue()
  {
    return getValue(true);
  }
  
  public String getValue(boolean substituteVariables)
  {
    if (className != null)
    {
      Class cls = null;
      try
      {
        cls = loader.loadClass(className);
      }
      catch (ClassNotFoundException e)
      {
        AntCorePlugin.log(e);
        return null;
      }
      try
      {
        valueProvider = ((IAntPropertyValueProvider)cls.newInstance());
      }
      catch (InstantiationException e)
      {
        AntCorePlugin.log(e);
        return null;
      }
      catch (IllegalAccessException ex)
      {
        AntCorePlugin.log(ex);
        return null;
      }
      loader = null;
      className = null;
    }
    if (valueProvider != null) {
      return valueProvider.getAntPropertyValue(name);
    }
    if (substituteVariables) {
      try
      {
        return VariablesPlugin.getDefault().getStringVariableManager().performStringSubstitution(value);
      }
      catch (CoreException localCoreException) {}
    } else {
      return value;
    }
    return value;
  }
  
  public void setValue(String value)
  {
    this.value = value;
  }
  
  public boolean isDefault()
  {
    return pluginLabel != null;
  }
  
  public void setPluginLabel(String pluginLabel)
  {
    this.pluginLabel = pluginLabel;
  }
  
  public String getPluginLabel()
  {
    return pluginLabel;
  }
  
  public void setValueProvider(String className, ClassLoader loader)
  {
    this.className = className;
    this.loader = loader;
  }
  
  public String toString()
  {
    StringBuffer buff = new StringBuffer("\"");
    buff.append(getName());
    buff.append("\"= \"");
    buff.append(getValue(false));
    buff.append("\"");
    return buff.toString();
  }
  
  public boolean isEclipseRuntimeRequired()
  {
    return eclipseRuntime;
  }
  
  public void setEclipseRuntimeRequired(boolean eclipseRuntime)
  {
    this.eclipseRuntime = eclipseRuntime;
  }
}

/* Location:
 * Qualified Name:     org.eclipse.ant.core.Property
 * Java Class Version: 1.2 (46.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.ant.core;

public class TargetInfo
{
  private String name = null;
  private String description = null;
  private ProjectInfo project = null;
  private String[] dependencies = null;
  private boolean isDefault = false;
  
  TargetInfo(ProjectInfo project, String name, String description, String[] dependencies, boolean isDefault)
  {
    this.name = (name == null ? "" : name);
    this.description = description;
    this.project = project;
    this.dependencies = dependencies;
    this.isDefault = isDefault;
  }
  
  public String getName()
  {
    return name;
  }
  
  public String getDescription()
  {
    return description;
  }
  
  public ProjectInfo getProject()
  {
    return project;
  }
  
  public String[] getDependencies()
  {
    return dependencies;
  }
  
  public boolean isDefault()
  {
    return isDefault;
  }
  
  public boolean equals(Object obj)
  {
    if (!(obj instanceof TargetInfo)) {
      return false;
    }
    TargetInfo other = (TargetInfo)obj;
    return getName().equals(other.getName());
  }
  
  public int hashCode()
  {
    return getName().hashCode();
  }
  
  public String toString()
  {
    return getName();
  }
}

/* Location:
 * Qualified Name:     org.eclipse.ant.core.TargetInfo
 * Java Class Version: 1.2 (46.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.ant.core;

import org.eclipse.ant.internal.core.AntObject;

public class Task
  extends AntObject
{
  public String getTaskName()
  {
    return fName;
  }
  
  public void setTaskName(String taskName)
  {
    fName = taskName;
  }
}

/* Location:
 * Qualified Name:     org.eclipse.ant.core.Task
 * Java Class Version: 1.2 (46.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.ant.core;

import org.eclipse.ant.internal.core.AntObject;

public class Type
  extends AntObject
{
  public String getTypeName()
  {
    return fName;
  }
  
  public void setTypeName(String taskName)
  {
    fName = taskName;
  }
}

/* Location:
 * Qualified Name:     org.eclipse.ant.core.Type
 * Java Class Version: 1.2 (46.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.ant.internal.core;

import java.util.Map;

public abstract class AbstractEclipseBuildLogger
{
  public static final String ANT_PROCESS_ID = "org.eclipse.ant.core.ANT_PROCESS_ID";
  protected String fProcessId = null;
  
  public void configure(Map userProperties)
  {
    fProcessId = ((String)userProperties.remove("org.eclipse.ant.core.ANT_PROCESS_ID"));
  }
}

/* Location:
 * Qualified Name:     org.eclipse.ant.internal.core.AbstractEclipseBuildLogger
 * Java Class Version: 1.2 (46.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.ant.internal.core;

import java.io.IOException;
import java.net.URL;
import java.net.URLClassLoader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Enumeration;
import java.util.List;

public class AntClassLoader
  extends URLClassLoader
{
  private static final String ANT_PACKAGES_PREFIX = "org.apache.tools";
  private static final String ANT_URL_PREFIX = "org/apache/tools";
  private boolean fAllowPluginLoading = false;
  protected ClassLoader[] fPluginLoaders;
  private ClassLoader fContextClassloader = null;
  
  public AntClassLoader(URL[] urls, ClassLoader[] pluginLoaders)
  {
    super(urls, ClassLoader.getSystemClassLoader());
    fPluginLoaders = pluginLoaders;
  }
  
  protected Class findClass(String name)
    throws ClassNotFoundException
  {
    Class result = null;
    if ((fAllowPluginLoading) || (!name.startsWith("org.apache.tools"))) {
      result = loadClassPlugins(name);
    }
    if (result != null) {
      return result;
    }
    return super.findClass(name);
  }
  
  protected Class loadClassPlugins(String name)
  {
    ClassLoader originalClassLoader = Thread.currentThread().getContextClassLoader();
    if (fContextClassloader != null) {
      Thread.currentThread().setContextClassLoader(fContextClassloader);
    }
    try
    {
      Class result = null;
      if (fPluginLoaders != null) {
        for (int i = 0; (i < fPluginLoaders.length) && (result == null); i++) {
          try
          {
            result = fPluginLoaders[i].loadClass(name);
          }
          catch (ClassNotFoundException localClassNotFoundException) {}
        }
      }
      return result;
    }
    finally
    {
      Thread.currentThread().setContextClassLoader(originalClassLoader);
    }
  }
  
  public URL findResource(String name)
  {
    if ((fAllowPluginLoading) || (!name.startsWith("org/apache/tools")))
    {
      URL result = findResourcePlugins(name);
      if (result != null) {
        return result;
      }
    }
    return super.findResource(name);
  }
  
  private URL findResourcePlugins(String name)
  {
    ClassLoader originalClassLoader = Thread.currentThread().getContextClassLoader();
    if (fContextClassloader != null) {
      Thread.currentThread().setContextClassLoader(fContextClassloader);
    }
    try
    {
      URL result = null;
      if (fPluginLoaders != null) {
        for (int i = 0; i < fPluginLoaders.length; i++)
        {
          result = fPluginLoaders[i].getResource(name);
          if (result != null) {
            return result;
          }
        }
      }
    }
    finally
    {
      Thread.currentThread().setContextClassLoader(originalClassLoader);
    }
    Thread.currentThread().setContextClassLoader(originalClassLoader);
    
    return null;
  }
  
  public Enumeration findResources(String name)
    throws IOException
  {
    ClassLoader originalClassLoader = Thread.currentThread().getContextClassLoader();
    if (fContextClassloader != null) {
      Thread.currentThread().setContextClassLoader(fContextClassloader);
    }
    List all = new ArrayList();
    try
    {
      if (((fAllowPluginLoading) || ((!name.startsWith("org/apache/tools")) && (!name.startsWith("org/apache/tools", 1)))) && 
        (fPluginLoaders != null))
      {
        Enumeration result = null;
        for (int i = 0; i < fPluginLoaders.length; i++)
        {
          result = fPluginLoaders[i].getResources(name);
          while (result.hasMoreElements()) {
            all.add(result.nextElement());
          }
        }
      }
      Enumeration superResources = super.findResources(name);
      Enumeration localEnumeration1;
      if (all.isEmpty()) {
        return superResources;
      }
      while (superResources.hasMoreElements()) {
        all.add(superResources.nextElement());
      }
      return Collections.enumeration(all);
    }
    finally
    {
      Thread.currentThread().setContextClassLoader(originalClassLoader);
    }
  }
  
  public void allowPluginClassLoadersToLoadAnt(boolean allowLoading)
  {
    fAllowPluginLoading = allowLoading;
  }
  
  public void setPluginContextClassloader(ClassLoader classLoader)
  {
    fContextClassloader = classLoader;
  }
}

/* Location:
 * Qualified Name:     org.eclipse.ant.internal.core.AntClassLoader
 * Java Class Version: 1.2 (46.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.ant.internal.core;

import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;
import org.eclipse.ant.core.AntCorePlugin;
import org.eclipse.ant.core.IAntClasspathEntry;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.variables.IStringVariableManager;
import org.eclipse.core.variables.VariablesPlugin;

public class AntClasspathEntry
  implements IAntClasspathEntry
{
  private String entryString;
  private boolean eclipseRequired = false;
  private URL url = null;
  
  public String getLabel()
  {
    return entryString;
  }
  
  public URL getEntryURL()
  {
    if (url != null) {
      return url;
    }
    try
    {
      String expanded = VariablesPlugin.getDefault().getStringVariableManager().performStringSubstitution(entryString);
      return new URL("file:" + expanded);
    }
    catch (CoreException localCoreException)
    {
      try
      {
        return new URL("file:" + entryString);
      }
      catch (MalformedURLException localMalformedURLException1)
      {
        return null;
      }
    }
    catch (MalformedURLException e)
    {
      AntCorePlugin.log(e);
    }
    return null;
  }
  
  public AntClasspathEntry(String entryString)
  {
    this.entryString = entryString;
  }
  
  public AntClasspathEntry(URL url)
  {
    this.url = url;
    entryString = new File(url.getPath()).getAbsolutePath();
  }
  
  public boolean equals(Object obj)
  {
    if ((obj instanceof IAntClasspathEntry))
    {
      IAntClasspathEntry other = (IAntClasspathEntry)obj;
      return entryString.equals(other.getLabel());
    }
    return false;
  }
  
  public int hashCode()
  {
    return entryString.hashCode();
  }
  
  public String toString()
  {
    return getLabel();
  }
  
  public boolean isEclipseRuntimeRequired()
  {
    return eclipseRequired;
  }
  
  public void setEclipseRuntimeRequired(boolean eclipseRequired)
  {
    this.eclipseRequired = eclipseRequired;
  }
}

/* Location:
 * Qualified Name:     org.eclipse.ant.internal.core.AntClasspathEntry
 * Java Class Version: 1.2 (46.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.ant.internal.core;

import java.io.File;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.Path;
import org.osgi.framework.BundleContext;

public class AntCoreUtil
{
  private static BundleContext fgContext = null;
  
  public static void setBundleContext(BundleContext context)
  {
    fgContext = context;
  }
  
  public static BundleContext getBundleContext()
  {
    return fgContext;
  }
  
  public static ArrayList getArrayList(String[] args)
  {
    if (args == null) {
      return null;
    }
    ArrayList result = new ArrayList(args.length);
    for (int i = 0; i < args.length; i++) {
      result.add(args[i]);
    }
    return result;
  }
  
  public static String getArgument(List commands, String param)
  {
    if (commands == null) {
      return null;
    }
    int index = commands.indexOf(param);
    if (index == -1) {
      return null;
    }
    commands.remove(index);
    if (index == commands.size()) {
      return "";
    }
    String command = (String)commands.get(index);
    if (command.startsWith("-")) {
      return "";
    }
    commands.remove(index);
    return command;
  }
  
  public static void processMinusDProperties(List commands, Map userProperties)
  {
    Iterator iter = commands.iterator();
    while (iter.hasNext())
    {
      String arg = (String)iter.next();
      if (arg.startsWith("-D"))
      {
        String name = arg.substring(2, arg.length());
        String value = null;
        int posEq = name.indexOf("=");
        if (posEq == 0)
        {
          value = name.substring(1);
          name = "";
        }
        else if ((posEq > 0) && (posEq != name.length() - 1))
        {
          value = name.substring(posEq + 1).trim();
          name = name.substring(0, posEq);
        }
        if (value != null)
        {
          userProperties.put(name, value);
          iter.remove();
        }
      }
    }
  }
  
  public static File getFileRelativeToBaseDir(String fileName, String base, String buildFileLocation)
  {
    IPath path = new Path(fileName);
    if (!path.isAbsolute())
    {
      if (base != null)
      {
        File baseDir = new File(base);
        
        path = new Path(baseDir.getAbsolutePath());
      }
      else
      {
        path = new Path(buildFileLocation);
        path = path.removeLastSegments(1);
      }
      path = path.addTrailingSeparator();
      path = path.append(fileName);
    }
    return path.toFile();
  }
  
  /* Error */
  public static List loadPropertyFiles(List fileNames, String base, String buildFileLocation)
    throws java.io.IOException
  {
    // Byte code:
    //   0: new 103	java/util/ArrayList
    //   3: dup
    //   4: aload_0
    //   5: invokeinterface 227 1 0
    //   10: invokespecial 210	java/util/ArrayList:<init>	(I)V
    //   13: astore_3
    //   14: iconst_0
    //   15: istore 4
    //   17: goto +196 -> 213
    //   20: aload_0
    //   21: iload 4
    //   23: invokeinterface 228 2 0
    //   28: checkcast 102	java/lang/String
    //   31: astore 5
    //   33: aload 5
    //   35: aload_1
    //   36: aload_2
    //   37: invokestatic 218	org/eclipse/ant/internal/core/AntCoreUtil:getFileRelativeToBaseDir	(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
    //   40: astore 6
    //   42: new 108	java/util/Properties
    //   45: dup
    //   46: invokespecial 212	java/util/Properties:<init>	()V
    //   49: astore 7
    //   51: aconst_null
    //   52: astore 8
    //   54: new 99	java/io/FileInputStream
    //   57: dup
    //   58: aload 6
    //   60: invokespecial 202	java/io/FileInputStream:<init>	(Ljava/io/File;)V
    //   63: astore 8
    //   65: aload 7
    //   67: aload 8
    //   69: invokevirtual 213	java/util/Properties:load	(Ljava/io/InputStream;)V
    //   72: goto +22 -> 94
    //   75: astore 9
    //   77: aload 8
    //   79: ifnull +12 -> 91
    //   82: aload 8
    //   84: invokevirtual 201	java/io/FileInputStream:close	()V
    //   87: goto +4 -> 91
    //   90: pop
    //   91: aload 9
    //   93: athrow
    //   94: aload 8
    //   96: ifnull +12 -> 108
    //   99: aload 8
    //   101: invokevirtual 201	java/io/FileInputStream:close	()V
    //   104: goto +4 -> 108
    //   107: pop
    //   108: aload 7
    //   110: invokevirtual 214	java/util/Properties:propertyNames	()Ljava/util/Enumeration;
    //   113: astore 9
    //   115: goto +76 -> 191
    //   118: aload 9
    //   120: invokeinterface 223 1 0
    //   125: checkcast 102	java/lang/String
    //   128: astore 10
    //   130: aload 7
    //   132: aload 10
    //   134: invokevirtual 216	java/util/Properties:getProperty	(Ljava/lang/String;)Ljava/lang/String;
    //   137: astore 11
    //   139: aload 7
    //   141: aload 10
    //   143: invokevirtual 215	java/util/Properties:remove	(Ljava/lang/Object;)Ljava/lang/Object;
    //   146:
1 2 3 4

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-2019. Infinite Loop Ltd