org.eclipse.pde.api.tools.ui_1.0.301.v20110803_r371

t java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import org.eclipse.core.resources.IMarker;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.SubMonitor;
import org.eclipse.jdt.core.ICompilationUnit;
import org.eclipse.jdt.core.IJavaElement;
import org.eclipse.jdt.core.IJavaProject;
import org.eclipse.jdt.core.JavaCore;
import org.eclipse.jdt.core.JavaModelException;
import org.eclipse.jdt.core.dom.AST;
import org.eclipse.jdt.core.dom.ASTParser;
import org.eclipse.jdt.core.dom.BodyDeclaration;
import org.eclipse.jdt.core.dom.CompilationUnit;
import org.eclipse.jdt.core.dom.Javadoc;
import org.eclipse.jdt.core.dom.TagElement;
import org.eclipse.jdt.core.dom.rewrite.ASTRewrite;
import org.eclipse.jdt.core.dom.rewrite.ListRewrite;
import org.eclipse.jdt.ui.JavaUI;
import org.eclipse.pde.api.tools.internal.util.Util;
import org.eclipse.text.edits.TextEdit;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.progress.UIJob;

public class RemoveUnsupportedTagOperation
  extends UIJob
{
  private IMarker[] markers = null;
  
  public RemoveUnsupportedTagOperation(IMarker[] markers)
  {
    super(MarkerMessages.UnsupportedTagResolution_remove_unsupported_tags);
    this.markers = markers;
  }
  
  public IStatus runInUIThread(IProgressMonitor monitor)
  {
    SubMonitor localMonitor = SubMonitor.convert(monitor, MarkerMessages.RemoveUnsupportedTagOperation_removeing_unsupported_tag, markers.length + 6);
    HashMap seen = new HashMap();
    for (int i = 0; i < markers.length; i++)
    {
      IResource resource = markers[i].getResource();
      IJavaElement javaElement = JavaCore.create(resource);
      try
      {
        if ((javaElement != null) && (javaElement.getElementType() == 5))
        {
          ICompilationUnit compilationUnit = (ICompilationUnit)javaElement;
          if (!seen.containsKey(compilationUnit)) {
            seen.put(compilationUnit, Boolean.valueOf(compilationUnit.hasUnsavedChanges()));
          }
          if (!compilationUnit.isWorkingCopy()) {
            JavaUI.openInEditor(compilationUnit);
          }
          if (!compilationUnit.isConsistent())
          {
            compilationUnit.reconcile(0, false, null, null);
            Util.updateMonitor(localMonitor, 1);
          }
          Util.updateMonitor(localMonitor, 1);
          ASTParser parser = ASTParser.newParser(4);
          parser.setSource(compilationUnit);
          Integer charStartAttribute = null;
          charStartAttribute = (Integer)markers[i].getAttribute("charStart");
          int intValue = charStartAttribute.intValue();
          parser.setFocalPosition(intValue);
          Map options = compilationUnit.getJavaProject().getOptions(true);
          options.put("org.eclipse.jdt.core.compiler.doc.comment.support", "enabled");
          parser.setCompilerOptions(options);
          CompilationUnit unit = (CompilationUnit)parser.createAST(new NullProgressMonitor());
          NodeFinder finder = new NodeFinder(intValue);
          unit.accept(finder);
          Util.updateMonitor(localMonitor, 1);
          BodyDeclaration node = finder.getNode();
          if (node != null)
          {
            unit.recordModifications();
            AST ast = unit.getAST();
            ASTRewrite rewrite = ASTRewrite.create(ast);
            Javadoc docnode = node.getJavadoc();
            if (docnode == null) {
              return Status.CANCEL_STATUS;
            }
            List tags = docnode.tags();
            String arg = (String)markers[i].getAttribute("messagearguments");
            String[] args = arg.split("#");
            TagElement tag = null;
            for (Iterator iterator = tags.iterator(); iterator.hasNext();)
            {
              tag = (TagElement)iterator.next();
              if ((args[0].equals(tag.getTagName())) && (tag.getStartPosition() == intValue)) {
                break;
              }
            }
            if (tag == null) {
              return Status.CANCEL_STATUS;
            }
            ListRewrite lrewrite = rewrite.getListRewrite(docnode, Javadoc.TAGS_PROPERTY);
            lrewrite.remove(tag, null);
            Util.updateMonitor(localMonitor, 1);
            
            TextEdit edit = rewrite.rewriteAST();
            compilationUnit.applyTextEdit(edit, monitor);
            Util.updateMonitor(localMonitor, 1);
          }
        }
      }
      catch (JavaModelException localJavaModelException1) {}catch (PartInitException localPartInitException) {}catch (CoreException localCoreException) {}
    }
    Map.Entry entry = null;
    for (Iterator itr = seen.entrySet().iterator(); itr.hasNext();)
    {
      entry = (Map.Entry)itr.next();
      if (!((Boolean)entry.getValue()).booleanValue()) {
        try
        {
          ((ICompilationUnit)entry.getKey()).commitWorkingCopy(true, null);
        }
        catch (JavaModelException localJavaModelException2) {}
      }
    }
    return Status.OK_STATUS;
  }
}

/* Location:
 * Qualified Name:     org.eclipse.pde.api.tools.ui.internal.markers.RemoveUnsupportedTagOperation
 * Java Class Version: 1.2 (46.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.pde.api.tools.ui.internal.markers;

import org.eclipse.core.resources.IMarker;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.ui.progress.UIJob;

class SinceTagResolution$1
  extends UIJob
{
  final SinceTagResolution this$0;
  private final IMarker val$marker;
  
  SinceTagResolution$1(SinceTagResolution paramSinceTagResolution, String $anonymous0, IMarker paramIMarker)
  {
    super($anonymous0);this$0 = paramSinceTagResolution;val$marker = paramIMarker;
  }
  
  public IStatus runInUIThread(IProgressMonitor monitor)
  {
    UpdateSinceTagOperation updateSinceTagOperation = new UpdateSinceTagOperation(
      val$marker, 
      this$0.kind, 
      this$0.newVersionValue);
    updateSinceTagOperation.run(monitor);
    return Status.OK_STATUS;
  }
}

/* Location:
 * Qualified Name:     org.eclipse.pde.api.tools.ui.internal.markers.SinceTagResolution.1
 * Java Class Version: 1.2 (46.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.pde.api.tools.ui.internal.markers;

import org.eclipse.core.resources.IMarker;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.jdt.ui.ISharedImages;
import org.eclipse.jdt.ui.JavaUI;
import org.eclipse.osgi.util.NLS;
import org.eclipse.pde.api.tools.internal.problems.ApiProblemFactory;
import org.eclipse.swt.graphics.Image;
import org.eclipse.ui.IMarkerResolution2;
import org.eclipse.ui.progress.UIJob;

public class SinceTagResolution
  implements IMarkerResolution2
{
  int kind;
  String newVersionValue;
  
  public SinceTagResolution(IMarker marker)
  {
    kind = ApiProblemFactory.getProblemKind(marker.getAttribute("problemid", 0));
    newVersionValue = marker.getAttribute("version", null);
  }
  
  public String getDescription()
  {
    if (1 == kind) {
      return NLS.bind(MarkerMessages.SinceTagResolution_invalid0, newVersionValue);
    }
    if (2 == kind) {
      return NLS.bind(MarkerMessages.SinceTagResolution_malformed0, newVersionValue);
    }
    return NLS.bind(MarkerMessages.SinceTagResolution_missing0, newVersionValue);
  }
  
  public Image getImage()
  {
    return JavaUI.getSharedImages().getImage("org.eclipse.jdt.ui.jdoc_tag_obj.gif");
  }
  
  public String getLabel()
  {
    if (1 == kind) {
      return NLS.bind(MarkerMessages.SinceTagResolution_invalid1, newVersionValue);
    }
    if (2 == kind) {
      return NLS.bind(MarkerMessages.SinceTagResolution_malformed1, newVersionValue);
    }
    return NLS.bind(MarkerMessages.SinceTagResolution_missing1, newVersionValue);
  }
  
  public void run(IMarker marker)
  {
    String title = null;
    if (1 == kind) {
      title = NLS.bind(MarkerMessages.SinceTagResolution_invalid2, newVersionValue);
    } else if (2 == kind) {
      title = NLS.bind(MarkerMessages.SinceTagResolution_malformed2, newVersionValue);
    } else {
      title = NLS.bind(MarkerMessages.SinceTagResolution_missing2, newVersionValue);
    }
    UIJob job = new UIJob(title)
    {
      private final IMarker val$marker;
      
      public IStatus runInUIThread(IProgressMonitor monitor)
      {
        UpdateSinceTagOperation updateSinceTagOperation = new UpdateSinceTagOperation(
          val$marker, 
          kind, 
          newVersionValue);
        updateSinceTagOperation.run(monitor);
        return Status.OK_STATUS;
      }
    };
    job.setSystem(true);
    job.schedule();
  }
}

/* Location:
 * Qualified Name:     org.eclipse.pde.api.tools.ui.internal.markers.SinceTagResolution
 * Java Class Version: 1.2 (46.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.pde.api.tools.ui.internal.markers;

import java.util.HashSet;
import org.eclipse.core.resources.IMarker;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.osgi.util.NLS;
import org.eclipse.pde.api.tools.internal.util.Util;
import org.eclipse.pde.api.tools.ui.internal.ApiUIPlugin;
import org.eclipse.swt.graphics.Image;
import org.eclipse.ui.views.markers.WorkbenchMarkerResolution;

public class UnsupportedTagResolution
  extends WorkbenchMarkerResolution
{
  protected IMarker fBackingMarker = null;
  private boolean plural = false;
  
  public UnsupportedTagResolution(IMarker marker)
  {
    fBackingMarker = marker;
  }
  
  public String getDescription()
  {
    if (plural) {
      return MarkerMessages.UnsupportedTagResolution_remove_unsupported_tags;
    }
    return getLabel();
  }
  
  public Image getImage()
  {
    return ApiUIPlugin.getSharedImage("IMG_ELCL_REMOVE");
  }
  
  public String getLabel()
  {
    if (plural) {
      return getDescription();
    }
    try
    {
      String arg = (String)fBackingMarker.getAttribute("messagearguments");
      String[] args = arg.split("#");
      return NLS.bind(MarkerMessages.UnsupportedTagResolution_remove_unsupported_tag, new String[] { args[0] });
    }
    catch (CoreException localCoreException) {}
    return null;
  }
  
  public void run(IMarker marker)
  {
    RemoveUnsupportedTagOperation op = new RemoveUnsupportedTagOperation(new IMarker[] { marker });
    op.schedule();
  }
  
  public void run(IMarker[] markers, IProgressMonitor monitor)
  {
    RemoveUnsupportedTagOperation op = new RemoveUnsupportedTagOperation(markers);
    op.schedule();
  }
  
  public IMarker[] findOtherMarkers(IMarker[] markers)
  {
    HashSet mset = new HashSet(markers.length);
    for (int i = 0; i < markers.length; i++) {
      if ((Util.isApiProblemMarker(markers[i])) && 
        (!fBackingMarker.equals(markers[i])) && 
        (markers[i].getAttribute("apiMarkerID", -1) == 6)) {
        mset.add(markers[i]);
      }
    }
    int size = mset.size();
    plural = (size > 0);
    return (IMarker[])mset.toArray(new IMarker[size]);
  }
}

/* Location:
 * Qualified Name:     org.eclipse.pde.api.tools.ui.internal.markers.UnsupportedTagResolution
 * Java Class Version: 1.2 (46.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.pde.api.tools.ui.internal.markers;

import org.eclipse.core.resources.IFile;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.pde.core.IBaseModel;
import org.eclipse.pde.internal.core.ibundle.IBundle;
import org.eclipse.pde.internal.core.ibundle.IBundleModel;
import org.eclipse.pde.internal.core.ibundle.IBundlePluginModelBase;
import org.eclipse.pde.internal.core.ibundle.IManifestHeader;
import org.eclipse.pde.internal.core.text.bundle.BundleVersionHeader;
import org.eclipse.pde.internal.ui.util.ModelModification;

class UpdateBundleVersionOperation$1
  extends ModelModification
{
  final UpdateBundleVersionOperation this$0;
  
  UpdateBundleVersionOperation$1(UpdateBundleVersionOperation paramUpdateBundleVersionOperation, IFile $anonymous0)
  {
    super($anonymous0);this$0 = paramUpdateBundleVersionOperation;
  }
  
  protected void modifyModel(IBaseModel model, IProgressMonitor monitor)
    throws CoreException
  {
    if (!(model instanceof IBundlePluginModelBase)) {
      return;
    }
    IBundlePluginModelBase modelBase = (IBundlePluginModelBase)model;
    IBundle bundle = modelBase.getBundleModel().getBundle();
    IManifestHeader header = bundle.getManifestHeader("Bundle-Version");
    if ((header instanceof BundleVersionHeader))
    {
      BundleVersionHeader versionHeader = (BundleVersionHeader)header;
      versionHeader.setValue(this$0.fVersion);
    }
  }
}

/* Location:
 * Qualified Name:     org.eclipse.pde.api.tools.ui.internal.markers.UpdateBundleVersionOperation.1
 * Java Class Version: 1.2 (46.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.pde.api.tools.ui.internal.markers;

import java.io.PrintStream;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IMarker;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.pde.api.tools.internal.util.Util;
import org.eclipse.pde.core.IBaseModel;
import org.eclipse.pde.internal.core.ibundle.IBundle;
import org.eclipse.pde.internal.core.ibundle.IBundleModel;
import org.eclipse.pde.internal.core.ibundle.IBundlePluginModelBase;
import org.eclipse.pde.internal.core.ibundle.IManifestHeader;
import org.eclipse.pde.internal.core.text.bundle.BundleVersionHeader;
import org.eclipse.pde.internal.ui.util.ModelModification;
import org.eclipse.pde.internal.ui.util.PDEModelUtility;

public class UpdateBundleVersionOperation
{
  IMarker fMarker;
  String fVersion;
  
  public UpdateBundleVersionOperation(IMarker marker, String version)
  {
    fMarker = marker;
    fVersion = version;
  }
  
  public IStatus run(IProgressMonitor monitor)
  {
    if ((monitor != null) && (monitor.isCanceled())) {
      return Status.CANCEL_STATUS;
    }
    if (monitor != null) {
      monitor.beginTask(MarkerMessages.UpdateVersionNumberingOperation_title, 2);
    }
    try
    {
      if (monitor != null) {
        monitor.worked(1);
      }
      IResource resource = fMarker.getResource();
      IProject project = resource.getProject();
      if (!project.isAccessible())
      {
        System.err.println("Project " + project.getName() + " doesn't exist");
        return Status.OK_STATUS;
      }
      IProject project;
      IResource resource;
      if (resource.getType() == 1)
      {
        IFile file = (IFile)resource;
        ModelModification mod = new ModelModification(file)
        {
          protected void modifyModel(IBaseModel model, IProgressMonitor monitor)
            throws CoreException
          {
            if (!(model instanceof IBundlePluginModelBase)) {
              return;
            }
            IBundlePluginModelBase modelBase = (IBundlePluginModelBase)model;
            IBundle bundle = modelBase.getBundleModel().getBundle();
            IManifestHeader header = bundle.getManifestHeader("Bundle-Version");
            if ((header instanceof BundleVersionHeader))
            {
              BundleVersionHeader versionHeader = (BundleVersionHeader)header;
              versionHeader.setValue(fVersion);
            }
          }
        };
        PDEModelUtility.modifyModel(mod, null);
      }
      Util.getBuildJob(new IProject[] { project }, 10).schedule();
      if (monitor != null) {
        monitor.worked(1);
      }
    }
    finally
    {
      if (monitor != null) {
        monitor.done();
      }
    }
    if (monitor != null) {
      monitor.done();
    }
    return Status.OK_STATUS;
  }
}

/* Location:
 * Qualified Name:     org.eclipse.pde.api.tools.ui.internal.markers.UpdateBundleVersionOperation
 * Java Class Version: 1.2 (46.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.pde.api.tools.ui.internal.markers;

import com.ibm.icu.text.MessageFormat;
import org.eclipse.core.resources.IMarker;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.jdt.core.IJavaElement;
import org.eclipse.jdt.core.JavaCore;
import org.eclipse.pde.api.tools.internal.problems.ApiProblemFactory;
import org.eclipse.pde.api.tools.ui.internal.ApiUIPlugin;
import org.eclipse.pde.api.tools.ui.internal.preferences.PreferenceMessages;
import org.eclipse.swt.graphics.Image;
import org.eclipse.ui.IMarkerResolution2;

public class UpdateProjectSettingResolution
  implements IMarkerResolution2
{
  protected IMarker fBackingMarker = null;
  protected IJavaElement fResolvedElement = null;
  protected String fCategory = null;
  
  public UpdateProjectSettingResolution(IMarker marker)
  {
    fBackingMarker = marker;
  }
  
  public String getDescription()
  {
    try
    {
      String value = (String)fBackingMarker.getAttribute("messagearguments");
      String[] args = new String[0];
      if (value != null) {
        args = value.split("#");
      }
      int id = fBackingMarker.getAttribute("problemid", 0);
      return ApiProblemFactory.getLocalizedMessage(ApiProblemFactory.getProblemMessageId(id), args);
    }
    catch (CoreException localCoreException) {}
    return null;
  }
  
  public Image getImage()
  {
    return null;
  }
  
  public String getLabel()
  {
    return MessageFormat.format(MarkerMessages.UpdateProjectSettingsResolution_0, new String[] { PreferenceMessages.ReportApiComponentResolutionFailureDescription });
  }
  
  protected IJavaElement resolveElementFromMarker()
  {
    if (fResolvedElement == null) {
      try
      {
        String handle = (String)fBackingMarker.getAttribute("org.eclipse.jdt.internal.core.JavaModelManager.handleId");
        if (handle != null) {
          fResolvedElement = JavaCore.create(handle);
        }
      }
      catch (CoreException ce)
      {
        ApiUIPlugin.log(ce);
      }
    }
    return fResolvedElement;
  }
  
  public void run(IMarker marker)
  {
    UpdateProjectSettingsOperation op = new UpdateProjectSettingsOperation(fBackingMarker);
    op.setSystem(true);
    op.schedule();
  }
}

/* Location:
 * Qualified Name:     org.eclipse.pde.api.tools.ui.internal.markers.UpdateProjectSettingResolution
 * Java Class Version: 1.2 (46.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.pde.api.tools.ui.internal.markers;

import org.eclipse.core.resources.IMarker;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.ProjectScope;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.core.runtime.preferences.IEclipsePreferences;
import org.eclipse.osgi.util.NLS;
import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
import org.eclipse.pde.api.tools.internal.provisional.IApiBaselineManager;
import org.eclipse.pde.api.tools.internal.provisional.model.IApiBaseline;
import org.eclipse.pde.api.tools.internal.provisional.model.IApiComponent;
import org.eclipse.pde.api.tools.internal.util.Util;
import org.eclipse.pde.api.tools.ui.internal.preferences.PreferenceMessages;
import org.eclipse.ui.progress.UIJob;
import org.osgi.service.prefs.BackingStoreException;

public class UpdateProjectSettingsOperation
  extends UIJob
{
  private IMarker fBackingMarker = null;
  
  public UpdateProjectSettingsOperation(IMarker marker)
  {
    super(NLS.bind(MarkerMessages.UpdateProjectSettingsOperation_0, PreferenceMessages.ReportApiComponentResolutionFailureDescription));
    fBackingMarker = marker;
  }
  
  public IStatus runInUIThread(IProgressMonitor monitor)
  {
    boolean notNull = monitor != null;
    if ((notNull) && (monitor.isCanceled())) {
      return Status.CANCEL_STATUS;
    }
    if (notNull) {
      monitor.beginTask(
        NLS.bind(MarkerMessages.UpdateProjectSettingsOperation_title, PreferenceMessages.ReportApiComponentResolutionFailureDescription), 
        3);
    }
    try
    {
      if (notNull) {
        monitor.worked(1);
      }
      IResource resource = fBackingMarker.getResource();
      IProject project = resource.getProject();
      IStatus localIStatus;
      if (project == null) {
        return Status.CANCEL_STATUS;
      }
      IProject project;
      IResource resource;
      IApiComponent component = ApiPlugin.getDefault().getApiBaselineManager().getWorkspaceBaseline().getApiComponent(project.getName());
      if (component == null) {
        return Status.CANCEL_STATUS;
      }
      IApiComponent component;
      IProject project;
      IResource resource;
      IEclipsePreferences inode = new ProjectScope(project).getNode("org.eclipse.pde.api.tools");
      inode.put("report_resolution_errors_api_component", "Ignore");
      try
      {
        inode.flush();
      }
      catch (BackingStoreException e)
      {
        ApiPlugin.log(e);
      }
      if (notNull) {
        monitor.worked(1);
      }
      Util.getBuildJob(new IProject[] { project }).schedule();
      if (notNull) {
        monitor.worked(1);
      }
    }
    finally
    {
      if (notNull) {
        monitor.done();
      }
    }
    if (notNull) {
      monitor.done();
    }
    return Status.OK_STATUS;
  }
}

/* Location:
 * Qualified Name:     org.eclipse.pde.api.tools.ui.internal.markers.UpdateProjectSettingsOperation
 * Java Class Version: 1.2 (46.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.pde.api.tools.ui.internal.markers;

import org.eclipse.core.resources.IMarker;

public class UpdateSinceTagOperation
{
  private IMarker fMarker;
  private int sinceTagType;
  private String sinceTagVersion;
  
  public UpdateSinceTagOperation(IMarker marker, int sinceTagType, String sinceTagVersion)
  {
    fMarker = marker;
    this.sinceTagType = sinceTagType;
    this.sinceTagVersion = sinceTagVersion;
  }
  
  /* Error */
  public void run(org.eclipse.core.runtime.IProgressMonitor monitor)
  {
    // Byte code:
    //   0: aload_1
    //   1: ifnull +13 -> 14
    //   4: aload_1
    //   5: invokeinterface 367 1 0
    //   10: ifeq +4 -> 14
    //   13: return
    //   14: aload_1
    //   15: ifnull +13 -> 28
    //   18: aload_1
    //   19: getstatic 314	org/eclipse/pde/api/tools/ui/internal/markers/MarkerMessages:UpdateSinceTagOperation_title	Ljava/lang/String;
    //   22: iconst_3
    //   23: invokeinterface 369 3 0
    //   28: aload_0
    //   29: getfield 317	org/eclipse/pde/api/tools/ui/internal/markers/UpdateSinceTagOperation:fMarker	Lorg/eclipse/core/resources/IMarker;
    //   32: ldc 2
    //   34: invokeinterface 365 2 0
    //   39: checkcast 143	java/lang/Integer
    //   42: astore_2
    //   43: aload_2
    //   44: invokevirtual 318	java/lang/Integer:intValue	()I
    //   47: istore_3
    //   48: aconst_null
    //   49: astore 4
    //   51: aconst_null
    //   52: astore 5
    //   54: iload_3
    //   55: ifle +24 -> 79
    //   58: aload_0
    //   59: getfield 317	org/eclipse/pde/api/tools/ui/internal/markers/UpdateSinceTagOperation:fMarker	Lorg/eclipse/core/resources/IMarker;
    //   62: invokeinterface 364 1 0
    //   67: astore 6
    //   69: aload 6
    //   71: invokestatic 327	org/eclipse/jdt/core/JavaCore:create	(Lorg/eclipse/core/resources/IResource;)Lorg/eclipse/jdt/core/IJavaElement;
    //   74: astore 4
    //   76: goto +56 -> 132
    //   79: aload_0
    //   80: getfield 317	org/eclipse/pde/api/tools/ui/internal/markers/UpdateSinceTagOperation:fMarker	Lorg/eclipse/core/resources/IMarker;
    //   83: ldc 5
    //   85: invokeinterface 365 2 0
    //   90: checkcast 145	java/lang/String
    //   93: astore 6
    //   95: aload 6
    //   97: ifnull +10 -> 107
    //   100: aload 6
    //   102: invokestatic 326	org/eclipse/jdt/core/JavaCore:create	(Ljava/lang/String;)Lorg/eclipse/jdt/core/IJavaElement;
    //   105: astore 5
    //   107: aload 5
    //   109: ifnull +23 -> 132
    //   112: aload 5
    //   114: invokeinterface 375 1 0
    //   119: ifeq +13 -> 132
    //   122: aload 5
    //   124: iconst_5
    //   125: invokeinterface 376 2 0
    //   130: astore 4
    //   132: aload 4
    //   134: ifnull +793 -> 927
    //   137: aload 4
    //   139: invokeinterface 374 1 0
    //   144: iconst_5
    //   145: if_icmpne +782 -> 927
    //   148: aload 4
    //   150: checkcast 154	org/eclipse/jdt/core/ICompilationUnit
    //   153: astore 6
    //   155: aload 6
    //   157: invokeinterface 370 1 0
    //   162: ifne +9 -> 171
    //   165: aload 6
    //   167: invokestatic 353	org/eclipse/jdt/ui/JavaUI:openInEditor	(Lorg/eclipse/jdt/core/IJavaElement;)Lorg/eclipse/ui/IEditorPart;
    //   170: pop
    //   171: iconst_4
    //   172: invokestatic 335	org/eclipse/jdt/core/dom/ASTParser:newParser	(I)Lorg/eclipse/jdt/core/dom/ASTParser;
    //   175: astore 7
    //   177: aload 7
    //   179: aload 6
    //   181: invokevirtual 334	org/eclipse/jdt/core/dom/ASTParser:setSource	(Lorg/eclipse/jdt/core/ICompilationUnit;)V
    //   184: iload_3
    //   185: ifgt +100 -> 285
    //   188: aload 5
    //   190: instanceof 157
    //   193: ifeq +81 -> 274
    //   196: aload 5
    //   198: checkcast 157	org/eclipse/jdt/core/IMember
    //   201: astore 8
    //   203: aload 8
    //   205: invokeinterface 378 1 0
    //   210: astore 9
    //   212: aload 9
    //   214: ifnull +14 -> 228
    //   217: aload 9
    //   219: invokeinterface 380 1 0
    //   224: istore_3
    //   225: goto +60 -> 285
    //   228: aload 8
    //   230: invokeinterface 379 1 0
    //   235: astore 9
    //   237: aload 9
    //   239: ifnull +24 -> 263
    //   242: aload 9
    //   244: invokeinterface 380 1 0
    //   249: ifle +14 -> 263
    //   252: aload 9
    //   254: invokeinterface 380 1 0
    //   259: istore_3
    //   260: goto +25 -> 285
    //   263: aload_1
    //   264: ifnull +9 -> 273
    //   267: aload_1
    //   268: invokeinterface 366 1 0
    //   273: return
    //   274: aload_1
    //   275: ifnull +9 -> 284
    //   278: aload_1
    //   279: invokeinterface 366 1 0
    //   284: return
    //   285: aload 7
    //   287: iload_3
    //   288: invokevirtual 331	org/eclipse/jdt/core/dom/ASTParser:setFocalPosition	(I)V
    //   291: aload 7
    //   293: iconst_1
    //   294: invokevirtual 332	org/eclipse/jdt/core/dom/ASTParser:setResolveBindings	(Z)V
    //   297: aload 6
    //   299: invokeinterface 371 1 0
    //   304: iconst_1
    //   305: invokeinterface 377 2 0
    //   310: astore 8
    //   312: aload 8
    //   314: ldc 4
    //   316: ldc 3
    //   318: invokeinterface 363 3 0
    //   323: pop
    //   324: aload 7
    //   326: aload 8
    //   328: invokevirtual 333	org/eclipse/jdt/core/dom/ASTParser:setCompilerOptions	(Ljava/util/Map;)V
    //   331: aload 7
    //   333: new 153	org/eclipse/core/runtime/NullProgressMonitor
    //   336: dup
    //   337: invokespecial 325	org/eclipse/core/runtime/NullProgressMonitor:<init>	()V
    //   340: invokevirtual 336	org/eclipse/jdt/core/dom/ASTParser:createAST	(Lorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/core/dom/ASTNode;
    //   343: checkcast 163	org/eclipse/jdt/core/dom/CompilationUnit
    //   346: astore 9
    //   348: aconst_null
    //   349: astore 10
    //   351: new 172	org/eclipse/pde/api/tools/ui/internal/markers/NodeFinder
    //   354: dup
    //   355: iload_3
    //   356: invokespecial 355	org/eclipse/pde/api/tools/ui/internal/markers/NodeFinder:<init>	(I)V
    //   359: astore 11
    //   361: aload 9
    //   363: aload 11
    //   365: invokevirtual 341	org/eclipse/jdt/core/dom/CompilationUnit:accept	(Lorg/eclipse/jdt/core/dom/ASTVisitor;)V
    //   368: aload_1
    //   369: ifnull +10 -> 379
    //   372: aload_1
    //   373: iconst_1
    //   374: invokeinterface 368 2 0
    //   379: aload 11
    //   381: invokevirtual 356	org/eclipse/pde/api/tools/ui/internal/markers/NodeFinder:getNode	()Lorg/eclipse/jdt/core/dom/BodyDeclaration;
    //   384: astore 10
    //   386: aload 10
    //   388: ifnull +539 -> 927
    //   391: aload 9
    //   393: invokevirtual 339	org/eclipse/jdt/core/dom/CompilationUnit:recordModifications	()V
    //   396: aload 9
    //   398: invokevirtual 340	org/eclipse/jdt/core/dom/CompilationUnit:getAST	()Lorg/eclipse/jdt/core/dom/AST;
    //   401: astore 12
    //   403: aload 12
    //   405: invokestatic 348	org/eclipse/jdt/core/dom/rewrite/ASTRewrite:create	(Lorg/eclipse/jdt/core/dom/AST;)Lorg/eclipse/jdt/core/dom/rewrite/ASTRewrite;
    //   408: astore 13
    //   410: iconst_3
    //   411: aload_0
    //   412: getfield 315	org/eclipse/pde/api/tools/ui/internal/markers/UpdateSinceTagOperation:sinceTagType	I
    //   415: if_icmpne +189 -> 604
    //   418: aload 10
    //   420: invokevirtual 338	org/eclipse/jdt/core/dom/BodyDeclaration:getJavadoc	()Lorg/eclipse/jdt/core/dom/Javadoc;
    //   423: astore 14
    //   425: aload 14
    //   427: ifnonnull +28 -> 455
    //   430: aload 12
    //   432: invokevirtual 328	org/eclipse/jdt/core/dom/AST:newJavadoc	()Lorg/eclipse/jdt/core/dom/Javadoc;
    //   435: astore 14
    //   437: aload 13
    //   439: aload 10
    //   441: aload 10
    //   443: invokevirtual 337	org/eclipse/jdt/core/dom/BodyDeclaration:getJavadocProperty	()Lorg/eclipse/jdt/core/dom/ChildPropertyDescriptor;
    //   446: aload 14
    //   448: aconst_null
    //   449: invokevirtual 350	org/eclipse/jdt/core/dom/rewrite/ASTRewrite:set	(Lorg/eclipse/jdt/core/dom/ASTNode;Lorg/eclipse/jdt/core/dom/StructuralPropertyDescriptor;Ljava/lang/Object;Lorg/eclipse/text/edits/TextEditGroup;)V
    //   452: goto +86 -> 538
    //   455: aload 14
    //   457: invokevirtual 342	org/eclipse/jdt/core/dom/Javadoc:tags	()Ljava/util/List;
    //   460: astore 15
    //   462: iconst_0
    //   463: istore 16
    //   465: aload 15
    //   467: invokeinterface 362 1 0
    //   472: astore 17
    //   474: goto +38 -> 512
    //   477: aload 17
    //   479: invokeinterface 358 1 0
    //   484: checkcast 165	org/eclipse/jdt/core/dom/TagElement
    //   487: astore 18
    //   489: aload 18
    //   491: invokevirtual 343	org/eclipse/jdt/core/dom/TagElement:getTagName	()Ljava/lang/String;
    //   494: astore 19
    //   496: ldc 1
    //   498: aload 19
    //   500: invokevirtual 320	java/lang/String:equals	(Ljava/lang/Object;)Z
    //   503: ifeq +9 -> 512
    //   506: iconst_1
    //   507: istore 16
    //   509: goto +13 -> 522
    //   512: aload 17
    //   514: invokeinterface 357 1 0
    //   519: ifne -42 -> 477
    //   522: iload 16
    //   524: ifeq +14 -> 538
    //   527: aload_1
    //   528: ifnull +9 -> 537
    //   531: aload_1
    //   532: invokeinterface 366 1 0
    //   537: return
    //   538: aload 13
    //   540: aload 14
    //   542: getstatic 312	org/eclipse/jdt/core/dom/Javadoc:TAGS_PROPERTY	Lorg/eclipse/jdt/core/dom/ChildListPropertyDescriptor;
    //   545: invokevirtual 349	org/eclipse/jdt/core/dom/rewrite/ASTRewrite:getListRewrite	(Lorg/eclipse/jdt/core/dom/ASTNode;Lorg/eclipse/jdt/core/dom/ChildListPropertyDescriptor;)Lorg/eclipse/jdt/core/dom/rewrite/ListRewrite;
    //   548: astore 15
    //   550: aload 12
    //   552: invokevirtual 329	org/eclipse/jdt/core/dom/AST:newTagElement	()Lorg/eclipse/jdt/core/dom/TagElement;
    //   555: astore 16
    //   557: aload 16
    //   559: ldc 1
    //   561: invokevirtual 344	org/eclipse/jdt/core/dom/TagElement:setTagName	(Ljava/lang/String;)V
    //   564: aload 12
    //   566: invokevirtual 330	org/eclipse/jdt/core/dom/AST:newTextElement	()Lorg/eclipse/jdt/core/dom/TextElement;
    //   569: astore 17
    //   571: aload 17
    //   573: aload_0
    //   574: getfield 316	org/eclipse/pde/api/tools/ui/internal/markers/UpdateSinceTagOperation:sinceTagVersion	Ljava/lang/String;
    //   577: invokevirtual 346	org/eclipse/jdt/core/dom/TextElement:setText	(Ljava/lang/String;)V
    //   580: aload 16
    //   582: invokevirtual 345	org/eclipse/jdt/core/dom/TagElement:fragments	()Ljava/util/List;
    //   585: aload 17
    //   587: invokeinterface 361 2 0
    //   592: pop
    //   593: aload 15
    //   595: aload 16
    //   597: aconst_null
    //   598: invokevirtual 351	org/eclipse/jdt/core/dom/rewrite/ListRewrite:insertLast	(Lorg/eclipse/jdt/core/dom/ASTNode;Lorg/eclipse/text/edits/TextEditGroup;)V
    //   601: goto +218 -> 819
    //   604: aload 10
    //   606: invokevirtual 338	org/eclipse/jdt/core/dom/BodyDeclaration:getJavadoc	()Lorg/eclipse/jdt/core/dom/Javadoc;
    //   609: astore 14
    //   611: aload 14
    //   613: invokevirtual 342	org/eclipse/jdt/core/dom/Javadoc:tags	()Ljava/util/List;
    //   616: astore 15
    //   618: aconst_null
    //   619: astore 16
    //   621: aload 15
    //   623: invokeinterface 362 1 0
    //   628: astore 17
    //   630: goto +35 -> 665
    //   633: aload 17
    //   635: invokeinterface 358 1 0
    //   640: checkcast 165	org/eclipse/jdt/core/dom/TagElement
    //   643: astore 18
    //   645: ldc 1
    //   647: aload 18
    //   649: invokevirtual 343	org/eclipse/jdt/core/dom/TagElement:getTagName	()Ljava/lang/String;
    //   652: invokevirtual 320	java/lang/String:equals	(Ljava/lang/Object;)Z
    //   655: ifeq +10 -> 665
    //   658: aload 18
    //   660: astore 16
    //   662: goto +13 -> 675
    //   665: aload 17
    //   667: invokeinterface 357 1 0
    //   672: ifne -39 -> 633
    //   675: aload 16
    //   677: ifnull +142 -> 819
    //   680: aload 16
    //   682: invokevirtual 345	org/eclipse/jdt/core/dom/TagElement:fragments	()Ljava/util/List;
    //   685: astore 17
    //   687: aload 17
    //   689: invokeinterface 359 1 0
    //   694: iconst_1
    //   695: if_icmplt +59 -> 754
    //   698: aload 17
    //   700: iconst_0
    //   701: invokeinterface 360 2 0
    //   706: checkcast 166	org/eclipse/jdt/core/dom/TextElement
    //   709: astore 18
    //   711: new 146	java/lang/StringBuffer
    //   714: dup
    //   715: invokespecial 322	java/lang/StringBuffer:<init>	()V
    //   718: astore 19
    //   720: aload 19
    //   722: bipush 32
    //   724: invokevirtual 323	java/lang/StringBuffer:append	(C)Ljava/lang/StringBuffer;
    //   727: aload_0
    //   728: getfield 316	org/eclipse/pde/api/tools/ui/internal/markers/UpdateSinceTagOperation:sinceTagVersion	Ljava/lang/String;
    //   731: invokevirtual 324	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
    //   734: pop
    //   735: aload 13
    //   737: aload 18
    //   739: getstatic 313	org/eclipse/jdt/core/dom/TextElement:TEXT_PROPERTY	Lorg/eclipse/jdt/core/dom/SimplePropertyDescriptor;
    //   742: aload 19
    //   744: invokestatic 321	java/lang/String:valueOf	(Ljava/lang/Object;)Ljava/lang/String;
    //   747: aconst_null
    //   748: invokevirtual 350	org/eclipse/jdt/core/dom/rewrite/ASTRewrite:set	(Lorg/eclipse/jdt/core/dom/ASTNode;Lorg/eclipse/jdt/core/dom/StructuralPropertyDescriptor;Ljava/lang/Object;Lorg/eclipse/text/edits/TextEditGroup;)V
    //   751: goto +68 -> 819
    //   754: aload 13
    //   756: aload 14
    //   758: getstatic 312	org/eclipse/jdt/core/dom/Javadoc:TAGS_PROPERTY	Lorg/eclipse/jdt/core/dom/ChildListPropertyDescriptor;
    //   761: invokevirtual 349	org/eclipse/jdt/core/dom/rewrite/ASTRewrite:getListRewrite	(Lorg/eclipse/jdt/core/dom/ASTNode;Lorg/eclipse/jdt/core/dom/ChildListPropertyDescriptor;)Lorg/eclipse/jdt/core/dom/rewrite/ListRewrite;
    //   764: astore 18
    //   766: aload 12
    //   768: invokevirtual 329	org/eclipse/jdt/core/dom/AST:newTagElement	()Lorg/eclipse/jdt/core/dom/TagElement;
    //   771: astore 19
    //   773: aload 19
    //   775: ldc 1
    //   777: invokevirtual 344	org/eclipse/jdt/core/dom/TagElement:setTagName	(Ljava/lang/String;)V
    //   780: aload 12
    //   782: invokevirtual 330	org/eclipse/jdt/core/dom/AST:newTextElement	()Lorg/eclipse/jdt/core/dom/TextElement;
    //   785: astore 20
    //   787: aload 20
    //   789: aload_0
    //   790: getfield 316	org/eclipse/pde/api/tools/ui/internal/markers/UpdateSinceTagOperation:sinceTagVersion	Ljava/lang/String;
    //   793: invokevirtual 346	org/eclipse/jdt/core/dom/TextElement:setText	(Ljava/lang/String;)V
    //   796: aload 19
    //   798: invokevirtual 345	org/eclipse/jdt/core/dom/TagElement:fragments	()Ljava/util/List;
    //   801: aload 20
    //   803: invokeinterface 361 2 0
    //   808: pop
    //   809: aload 18
    //   811: aload 16
    //   813: aload 19
    //   815: aconst_null
    //   816: invokevirtual 352	org/eclipse/jdt/core/dom/rewrite/ListRewrite:replace	(Lorg/eclipse/jdt/core/dom/ASTNode;Lorg/eclipse/jdt/core/dom/ASTNode;Lorg/eclipse/text/edits/TextEditGroup;)V
    //   819: aload_1
    //   820: ifnull +10 -> 830
    //   823: aload_1
    //   824: iconst_1
    //   825: invokeinterface 368 2 0
    //   830: aload 13
    //   832: invokevirtual 347	org/eclipse/jdt/core/dom/rewrite/ASTRewrite:rewriteAST	()Lorg/eclipse/text/edits/TextEdit;
    //   835: astore 14
    //   837: aload 6
    //   839: aload 14
    //   841: aload_1
    //   842: invokeinterface 373 3 0
    //   847: pop
    //   848: aload_1
    //   849: ifnull +30 -> 879
    //   852: aload_1
    //   853: iconst_1
    //   854: invokeinterface 368 2 0
    //   859: goto +20 -> 879
    //   862: astore 15
    //   864: aload 6
    //   866: iconst_0
    //   867: iconst_0
    //   868: aconst_null
    //   869: aconst_null
    //   870: invokeinterface 372 5 0
    //   875: pop
    //   876: aload 15
    //   878: athrow
    //   879: aload 6
    //   881: iconst_0
    //   882: iconst_0
    //   883: aconst_null
    //   884: aconst_null
    //   885: invokeinterface 372 5 0
    //   890: pop
    //   891: goto +36 -> 927
    //   894: astore_2
    //   895: aload_2
    //   896: invokestatic 354	org/eclipse/pde/api/tools/ui/internal/ApiUIPlugin:log	(Ljava/lang/Throwable;)V
    //   899: aload_1
    //   900: ifnull +37 -> 937
    //   903: aload_1
    //   904: invokeinterface 366 1 0
    //   909: goto +28 -> 937
    //   912: astore 21
    //   914: aload_1
    //   915: ifnull +9 -> 924
    //   918: aload_1
    //   919: invokeinterface 366 1 0
    //   924: aload 21
    //   926: athrow
    //   927: aload_1
    //   928: ifnull +9 -> 937
    //   931: aload_1
    //   932: invokeinterface 366 1 0
    //   937: return
    // Line number table:
    //   Java source line #55	-> byte code offset #0
    //   Java source line #56	-> byte code offset #14
    //   Java source line #57	-> byte code offset #18
    //   Java source line #61	-> byte code offset #28
    //   Java source line #62	-> byte code offset #43
    //   Java source line #63	-> byte code offset #48
    //   Java source line #64	-> byte code offset #51
    //   Java source line #65	-> byte code offset #54
    //   Java source line #66	-> byte code offset #58
    //   Java source line #67	-> byte code offset #69
    //   Java source line #70	-> byte code offset #79
    //   Java source line #71	-> byte code offset #95
    //   Java source line #72	-> byte code offset #100
    //   Java source line #74	-> byte code offset #107
    //   Java source line #75	-> byte code offset #122
    //   Java source line #78	-> byte code offset #132
    //   Java source line #79	-> byte code offset #148
    //   Java source line #80	-> byte code offset #155
    //   Java source line #82	-> byte code o
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

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