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

 public abstract void dispose();
  
  public abstract boolean hasStructuralChanges();
  
  public abstract boolean hasDescriptionChanges();
  
  public abstract boolean hasDescriptionDependents();
  
  public abstract boolean hasRemovedTypes();
  
  public abstract boolean hasTypes();
  
  public abstract boolean containsDescriptionChange(String paramString);
  
  public abstract boolean containsDescriptionDependent(String paramString);
  
  public abstract boolean containsStructuralChange(String paramString);
  
  public abstract boolean containsRemovedType(String paramString);
}

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

import org.eclipse.pde.api.tools.internal.provisional.model.IApiMember;

public abstract interface IReference
{
  public static final int T_TYPE_REFERENCE = 1;
  public static final int T_FIELD_REFERENCE = 2;
  public static final int T_METHOD_REFERENCE = 3;
  public static final int F_ILLEGAL = 1;
  public static final int REF_EXTENDS = 1;
  public static final int REF_IMPLEMENTS = 2;
  public static final int REF_FIELDDECL = 4;
  public static final int REF_RETURNTYPE = 8;
  public static final int REF_PARAMETER = 16;
  public static final int REF_THROWS = 32;
  public static final int REF_CONSTRUCTORMETHOD = 64;
  public static final int REF_STATICMETHOD = 128;
  public static final int REF_VIRTUALMETHOD = 256;
  public static final int REF_INTERFACEMETHOD = 512;
  public static final int REF_PASSEDPARAMETER = 1024;
  public static final int REF_GETSTATIC = 2048;
  public static final int REF_PUTSTATIC = 4096;
  public static final int REF_GETFIELD = 8192;
  public static final int REF_PUTFIELD = 16384;
  public static final int REF_ARRAYALLOC = 32768;
  public static final int REF_LOCALVARIABLE = 65536;
  public static final int REF_CATCHEXCEPTION = 131072;
  public static final int REF_CHECKCAST = 262144;
  public static final int REF_INSTANCEOF = 524288;
  public static final int REF_SPECIALMETHOD = 1048576;
  public static final int REF_PARAMETERIZED_TYPEDECL = 2097152;
  public static final int REF_PARAMETERIZED_FIELDDECL = 4194304;
  public static final int REF_PARAMETERIZED_METHODDECL = 8388608;
  public static final int REF_PARAMETERIZED_VARIABLE = 16777216;
  public static final int REF_LOCALVARIABLEDECL = 33554432;
  public static final int REF_CONSTANTPOOL = 67108864;
  public static final int REF_INSTANTIATE = 134217728;
  public static final int REF_OVERRIDE = 268435456;
  public static final int REF_SUPER_CONSTRUCTORMETHOD = 536870912;
  public static final int MASK_REF_ALL = Integer.MAX_VALUE;
  
  public abstract int getLineNumber();
  
  public abstract IApiMember getMember();
  
  public abstract int getReferenceKind();
  
  public abstract int getReferenceFlags();
  
  public abstract int getReferenceType();
  
  public abstract String getReferencedTypeName();
  
  public abstract String getReferencedMemberName();
  
  public abstract String getReferencedSignature();
  
  public abstract IApiMember getResolvedReference();
}

/* Location:
 * Qualified Name:     org.eclipse.pde.api.tools.internal.provisional.builder.IReference
 * Java Class Version: 1.2 (46.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.pde.api.tools.internal.provisional.comparator;

import org.eclipse.pde.api.tools.internal.comparator.Delta;

class ApiComparator$1
  extends DeltaVisitor
{
  private final Delta val$globalDelta;
  
  ApiComparator$1(Delta paramDelta)
  {
    val$globalDelta = paramDelta;
  }
  
  public void endVisit(IDelta localDelta)
  {
    if (localDelta.getChildren().length == 0) {
      switch (localDelta.getElementType())
      {
      case 1: 
      case 2: 
      case 3: 
      case 4: 
      case 5: 
      case 6: 
      case 7: 
      case 8: 
      case 9: 
        val$globalDelta.add(localDelta);
      }
    }
  }
}

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

import java.util.Set;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.SubMonitor;
import org.eclipse.jdt.core.Flags;
import org.eclipse.pde.api.tools.internal.comparator.ClassFileComparator;
import org.eclipse.pde.api.tools.internal.comparator.Delta;
import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
import org.eclipse.pde.api.tools.internal.provisional.IApiAnnotations;
import org.eclipse.pde.api.tools.internal.provisional.IApiDescription;
import org.eclipse.pde.api.tools.internal.provisional.IRequiredComponentDescription;
import org.eclipse.pde.api.tools.internal.provisional.model.ApiTypeContainerVisitor;
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.provisional.model.IApiType;
import org.eclipse.pde.api.tools.internal.provisional.model.IApiTypeRoot;
import org.eclipse.pde.api.tools.internal.util.Util;

class ApiComparator$2
  extends ApiTypeContainerVisitor
{
  private final SubMonitor val$localmonitor;
  private final IApiDescription val$apiDescription;
  private final boolean val$isSWT;
  private final IApiComponent val$component2;
  private final String val$id;
  private final IApiDescription val$apiDescription2;
  private final int val$visibilityModifiers;
  private final Delta val$globalDelta;
  private final Set val$typeRootBaseLineNames;
  private final IApiComponent val$component;
  private final IApiBaseline val$referenceBaseline;
  private final IApiBaseline val$baseline;
  
  ApiComparator$2(SubMonitor paramSubMonitor, IApiDescription paramIApiDescription1, boolean paramBoolean, IApiComponent paramIApiComponent1, String paramString, IApiDescription paramIApiDescription2, int paramInt, Delta paramDelta, Set paramSet, IApiComponent paramIApiComponent2, IApiBaseline paramIApiBaseline1, IApiBaseline paramIApiBaseline2)
  {
    val$localmonitor = paramSubMonitor;val$apiDescription = paramIApiDescription1;val$isSWT = paramBoolean;val$component2 = paramIApiComponent1;val$id = paramString;val$apiDescription2 = paramIApiDescription2;val$visibilityModifiers = paramInt;val$globalDelta = paramDelta;val$typeRootBaseLineNames = paramSet;val$component = paramIApiComponent2;val$referenceBaseline = paramIApiBaseline1;val$baseline = paramIApiBaseline2;
  }
  
  public void visit(String packageName, IApiTypeRoot typeRoot)
  {
    Util.updateMonitor(val$localmonitor);
    String typeName = typeRoot.getTypeName();
    try
    {
      IApiType typeDescriptor = typeRoot.getStructure();
      IApiAnnotations elementDescription = val$apiDescription.resolveAnnotations(typeDescriptor.getHandle());
      if ((typeDescriptor.isMemberType()) || (typeDescriptor.isAnonymous()) || (typeDescriptor.isLocal())) {
        return;
      }
      int visibility = 0;
      if (elementDescription != null) {
        visibility = elementDescription.getVisibility();
      }
      IApiTypeRoot typeRoot2 = null;
      if (val$isSWT) {
        typeRoot2 = val$component2.findTypeRoot(typeName);
      } else {
        typeRoot2 = val$component2.findTypeRoot(typeName, val$id);
      }
      String deltaComponentID = null;
      IApiComponent provider = null;
      IApiDescription providerApiDesc = null;
      boolean reexported = false;
      if (typeRoot2 == null)
      {
        IApiComponent[] providers = val$component2.getBaseline().resolvePackage(val$component2, packageName);
        int index = 0;
        do
        {
          Util.updateMonitor(val$localmonitor);
          IApiComponent p = providers[index];
          if (!p.equals(val$component2))
          {
            String id2 = p.getSymbolicName();
            if ("org.eclipse.swt".equals(id2)) {
              typeRoot2 = p.findTypeRoot(typeName);
            } else {
              typeRoot2 = p.findTypeRoot(typeName, id2);
            }
            if (typeRoot2 != null)
            {
              provider = p;
              providerApiDesc = p.getApiDescription();
              IRequiredComponentDescription[] required = val$component2.getRequiredComponents();
              for (int k = 0; k < required.length; k++)
              {
                IRequiredComponentDescription description = required[k];
                if (description.getId().equals(id2))
                {
                  reexported = description.isExported();
                  break;
                }
              }
            }
          }
          index++;
          if (typeRoot2 != null) {
            break;
          }
        } while (index < providers.length);
      }
      else
      {
        provider = val$component2;
        providerApiDesc = val$apiDescription2;
      }
      Util.updateMonitor(val$localmonitor);
      deltaComponentID = Util.getDeltaComponentVersionsId(val$component2);
      if (typeRoot2 == null)
      {
        if ((visibility & val$visibilityModifiers) == 0) {
          return;
        }
        if (val$visibilityModifiers == 1) {
          if ((Util.isDefault(typeDescriptor.getModifiers())) || 
            (Flags.isPrivate(typeDescriptor.getModifiers()))) {
            return;
          }
        }
        val$globalDelta.add(
          new Delta(
          deltaComponentID, 
          2, 
          3, 
          46, 
          0, 
          0, 
          typeDescriptor.getModifiers(), 
          0, 
          typeName, 
          typeName, 
          new String[] { typeName, Util.getComponentVersionsId(val$component2) }));
      }
      else
      {
        if ((visibility & val$visibilityModifiers) == 0) {
          return;
        }
        IApiType typeDescriptor2 = typeRoot2.getStructure();
        IApiAnnotations elementDescription2 = providerApiDesc.resolveAnnotations(typeDescriptor2.getHandle());
        int visibility2 = 0;
        if (elementDescription2 != null) {
          visibility2 = elementDescription2.getVisibility();
        }
        if (val$visibilityModifiers == 1) {
          if ((Util.isDefault(typeDescriptor.getModifiers())) || 
            (Flags.isPrivate(typeDescriptor.getModifiers()))) {
            return;
          }
        }
        if ((Util.isAPI(visibility, typeDescriptor)) && 
          (!Util.isAPI(visibility2, typeDescriptor2)))
        {
          val$globalDelta.add(
            new Delta(
            deltaComponentID, 
            2, 
            3, 
            reexported ? 71 : 56, 
            elementDescription2 != null ? elementDescription2.getRestrictions() : 0, 
            0, 
            typeDescriptor.getModifiers(), 
            typeDescriptor2.getModifiers(), 
            typeName, 
            typeName, 
            new String[] { typeName, Util.getComponentVersionsId(val$component2) }));
          return;
        }
        if ((visibility2 & val$visibilityModifiers) == 0) {
          val$globalDelta.add(
            new Delta(
            deltaComponentID, 
            2, 
            2, 
            52, 
            elementDescription2 != null ? elementDescription2.getRestrictions() : 0, 
            0, 
            typeDescriptor.getModifiers(), 
            typeDescriptor2.getModifiers(), 
            typeName, 
            typeName, 
            new String[] { typeName, Util.getComponentVersionsId(val$component2) }));
        }
        val$typeRootBaseLineNames.add(typeName);
        ClassFileComparator comparator = new ClassFileComparator(typeDescriptor, typeRoot2, val$component, provider, val$referenceBaseline, val$baseline, val$visibilityModifiers);
        IDelta delta = comparator.getDelta(val$localmonitor.newChild(1));
        if (ApiComparator.DEBUG)
        {
          IStatus status = comparator.getStatus();
          if (status != null) {
            ApiPlugin.log(status);
          }
        }
        if ((delta != null) && (delta != ApiComparator.NO_DELTA)) {
          val$globalDelta.add(delta);
        }
      }
      Util.updateMonitor(val$localmonitor);
    }
    catch (CoreException e)
    {
      ApiPlugin.log(e);
    }
  }
}

/* Location:
 * Qualified Name:     org.eclipse.pde.api.tools.internal.provisional.comparator.ApiComparator.2
 * Java Class Version: 1.2 (46.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.pde.api.tools.internal.provisional.comparator;

import java.util.Set;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.SubMonitor;
import org.eclipse.jdt.core.Flags;
import org.eclipse.pde.api.tools.internal.comparator.Delta;
import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
import org.eclipse.pde.api.tools.internal.provisional.IApiAnnotations;
import org.eclipse.pde.api.tools.internal.provisional.IApiDescription;
import org.eclipse.pde.api.tools.internal.provisional.model.ApiTypeContainerVisitor;
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.provisional.model.IApiType;
import org.eclipse.pde.api.tools.internal.provisional.model.IApiTypeRoot;
import org.eclipse.pde.api.tools.internal.util.Util;

class ApiComparator$3
  extends ApiTypeContainerVisitor
{
  private final SubMonitor val$localmonitor;
  private final IApiDescription val$reexportedApiDescription;
  private final boolean val$isSWT;
  private final IApiComponent val$component2;
  private final String val$id;
  private final IApiDescription val$apiDescription2;
  private final int val$visibilityModifiers;
  private final Delta val$globalDelta;
  private final String val$currentComponentID;
  private final IApiComponent val$component;
  private final Set val$typeRootBaseLineNames;
  
  ApiComparator$3(SubMonitor paramSubMonitor, IApiDescription paramIApiDescription1, boolean paramBoolean, IApiComponent paramIApiComponent1, String paramString1, IApiDescription paramIApiDescription2, int paramInt, Delta paramDelta, String paramString2, IApiComponent paramIApiComponent2, Set paramSet)
  {
    val$localmonitor = paramSubMonitor;val$reexportedApiDescription = paramIApiDescription1;val$isSWT = paramBoolean;val$component2 = paramIApiComponent1;val$id = paramString1;val$apiDescription2 = paramIApiDescription2;val$visibilityModifiers = paramInt;val$globalDelta = paramDelta;val$currentComponentID = paramString2;val$component = paramIApiComponent2;val$typeRootBaseLineNames = paramSet;
  }
  
  public void visit(String packageName, IApiTypeRoot typeRoot)
  {
    Util.updateMonitor(val$localmonitor);
    String typeName = typeRoot.getTypeName();
    try
    {
      IApiType typeDescriptor = typeRoot.getStructure();
      IApiAnnotations elementDescription = val$reexportedApiDescription.resolveAnnotations(typeDescriptor.getHandle());
      if ((typeDescriptor.isMemberType()) || (typeDescriptor.isAnonymous()) || (typeDescriptor.isLocal())) {
        return;
      }
      int visibility = 0;
      if (elementDescription != null) {
        visibility = elementDescription.getVisibility();
      }
      IApiTypeRoot typeRoot2 = null;
      if (val$isSWT) {
        typeRoot2 = val$component2.findTypeRoot(typeName);
      } else {
        typeRoot2 = val$component2.findTypeRoot(typeName, val$id);
      }
      IApiDescription providerApiDesc = null;
      if (typeRoot2 == null)
      {
        IApiComponent[] providers = val$component2.getBaseline().resolvePackage(val$component2, packageName);
        int index = 0;
        do
        {
          IApiComponent p = providers[index];
          if (!p.equals(val$component2))
          {
            String id2 = p.getSymbolicName();
            if ("org.eclipse.swt".equals(id2)) {
              typeRoot2 = p.findTypeRoot(typeName);
            } else {
              typeRoot2 = p.findTypeRoot(typeName, id2);
            }
            if (typeRoot2 != null) {
              providerApiDesc = p.getApiDescription();
            }
          }
          index++;
          if (typeRoot2 != null) {
            break;
          }
        } while (index < providers.length);
      }
      else
      {
        providerApiDesc = val$apiDescription2;
      }
      if (typeRoot2 == null)
      {
        if ((visibility & val$visibilityModifiers) == 0) {
          return;
        }
        if (val$visibilityModifiers == 1) {
          if ((Util.isDefault(typeDescriptor.getModifiers())) || 
            (Flags.isPrivate(typeDescriptor.getModifiers()))) {
            return;
          }
        }
        val$globalDelta.add(
          new Delta(
          val$currentComponentID, 
          2, 
          3, 
          70, 
          0, 
          0, 
          typeDescriptor.getModifiers(), 
          0, 
          typeName, 
          typeName, 
          new String[] { typeName, Util.getComponentVersionsId(val$component) }));
      }
      else
      {
        val$typeRootBaseLineNames.add(typeName);
        IApiType typeDescriptor2 = typeRoot2.getStructure();
        IApiAnnotations elementDescription2 = providerApiDesc.resolveAnnotations(typeDescriptor2.getHandle());
        int visibility2 = 0;
        if (elementDescription2 != null) {
          visibility2 = elementDescription2.getVisibility();
        }
        if ((Util.isDefault(typeDescriptor.getModifiers())) || 
          (Flags.isPrivate(typeDescriptor.getModifiers()))) {
          return;
        }
        if ((Util.isAPI(visibility, typeDescriptor)) && 
          (!Util.isAPI(visibility2, typeDescriptor2)))
        {
          val$globalDelta.add(
            new Delta(
            val$currentComponentID, 
            2, 
            3, 
            71, 
            elementDescription2 != null ? elementDescription2.getRestrictions() : 0, 
            0, 
            typeDescriptor.getModifiers(), 
            typeDescriptor2.getModifiers(), 
            typeName, 
            typeName, 
            new String[] { typeName, Util.getComponentVersionsId(val$component) }));
          return;
        }
      }
    }
    catch (CoreException e)
    {
      ApiPlugin.log(e);
    }
  }
}

/* Location:
 * Qualified Name:     org.eclipse.pde.api.tools.internal.provisional.comparator.ApiComparator.3
 * Java Class Version: 1.2 (46.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.pde.api.tools.internal.provisional.comparator;

import java.util.Set;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.SubMonitor;
import org.eclipse.pde.api.tools.internal.comparator.Delta;
import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
import org.eclipse.pde.api.tools.internal.provisional.IApiAnnotations;
import org.eclipse.pde.api.tools.internal.provisional.IApiDescription;
import org.eclipse.pde.api.tools.internal.provisional.model.ApiTypeContainerVisitor;
import org.eclipse.pde.api.tools.internal.provisional.model.IApiComponent;
import org.eclipse.pde.api.tools.internal.provisional.model.IApiType;
import org.eclipse.pde.api.tools.internal.provisional.model.IApiTypeRoot;
import org.eclipse.pde.api.tools.internal.util.Util;

class ApiComparator$4
  extends ApiTypeContainerVisitor
{
  private final SubMonitor val$localmonitor;
  private final IApiDescription val$apiDescription2;
  private final int val$visibilityModifiers;
  private final Set val$typeRootBaseLineNames;
  private final IApiComponent val$component2;
  private final Delta val$globalDelta;
  
  ApiComparator$4(SubMonitor paramSubMonitor, IApiDescription paramIApiDescription, int paramInt, Set paramSet, IApiComponent paramIApiComponent, Delta paramDelta)
  {
    val$localmonitor = paramSubMonitor;val$apiDescription2 = paramIApiDescription;val$visibilityModifiers = paramInt;val$typeRootBaseLineNames = paramSet;val$component2 = paramIApiComponent;val$globalDelta = paramDelta;
  }
  
  public void visit(String packageName, IApiTypeRoot typeRoot)
  {
    Util.updateMonitor(val$localmonitor);
    String typeName = typeRoot.getTypeName();
    try
    {
      IApiType type = typeRoot.getStructure();
      IApiAnnotations elementDescription = val$apiDescription2.resolveAnnotations(type.getHandle());
      if ((type.isMemberType()) || (type.isLocal()) || (type.isAnonymous())) {
        return;
      }
      if (ApiComparator.filterType(val$visibilityModifiers, elementDescription, type)) {
        return;
      }
      if (val$typeRootBaseLineNames.contains(typeName)) {
        return;
      }
      val$typeRootBaseLineNames.add(typeName);
      String deltaComponentID = Util.getDeltaComponentVersionsId(val$component2);
      val$globalDelta.add(
        new Delta(
        deltaComponentID, 
        2, 
        1, 
        46, 
        elementDescription != null ? elementDescription.getRestrictions() : 0, 
        0, 
        0, 
        type.getModifiers(), 
        typeName, 
        typeName, 
        new String[] { typeName, Util.getComponentVersionsId(val$component2) }));
    }
    catch (CoreException e)
    {
      ApiPlugin.log(e);
    }
  }
}

/* Location:
 * Qualified Name:     org.eclipse.pde.api.tools.internal.provisional.comparator.ApiComparator.4
 * Java Class Version: 1.2 (46.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.pde.api.tools.internal.provisional.comparator;

import java.util.Set;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.SubMonitor;
import org.eclipse.pde.api.tools.internal.comparator.Delta;
import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
import org.eclipse.pde.api.tools.internal.provisional.IApiAnnotations;
import org.eclipse.pde.api.tools.internal.provisional.IApiDescription;
import org.eclipse.pde.api.tools.internal.provisional.model.ApiTypeContainerVisitor;
import org.eclipse.pde.api.tools.internal.provisional.model.IApiComponent;
import org.eclipse.pde.api.tools.internal.provisional.model.IApiType;
import org.eclipse.pde.api.tools.internal.provisional.model.IApiTypeRoot;
import org.eclipse.pde.api.tools.internal.util.Util;

class ApiComparator$5
  extends ApiTypeContainerVisitor
{
  private final SubMonitor val$localmonitor;
  private final IApiDescription val$reexportedApiDescription;
  private final int val$visibilityModifiers;
  private final Set val$typeRootBaseLineNames;
  private final Delta val$globalDelta;
  private final String val$currentComponentID;
  private final IApiComponent val$component;
  
  ApiComparator$5(SubMonitor paramSubMonitor, IApiDescription paramIApiDescription, int paramInt, Set paramSet, Delta paramDelta, String paramString, IApiComponent paramIApiComponent)
  {
    val$localmonitor = paramSubMonitor;val$reexportedApiDescription = paramIApiDescription;val$visibilityModifiers = paramInt;val$typeRootBaseLineNames = paramSet;val$globalDelta = paramDelta;val$currentComponentID = paramString;val$component = paramIApiComponent;
  }
  
  public void visit(String packageName, IApiTypeRoot typeRoot)
  {
    Util.updateMonitor(val$localmonitor);
    String typeName = typeRoot.getTypeName();
    try
    {
      IApiType typeDescriptor = typeRoot.getStructure();
      IApiAnnotations elementDescription = val$reexportedApiDescription.resolveAnnotations(typeDescriptor.getHandle());
      if ((typeDescriptor.isMemberType()) || (typeDescriptor.isAnonymous()) || (typeDescriptor.isLocal())) {
        return;
      }
      if (ApiComparator.filterType(val$visibilityModifiers, elementDescription, typeDescriptor)) {
        return;
      }
      if (val$typeRootBaseLineNames.contains(typeName)) {
        return;
      }
      val$typeRootBaseLineNames.add(typeName);
      val$globalDelta.add(
        new Delta(
        val$currentComponentID, 
        2, 
        1, 
        70, 
        elementDescription != null ? elementDescription.getRestrictions() : 0, 
        0, 
        0, 
        typeDescriptor.getModifiers(), 
        typeName, 
        typeName, 
        new String[] { typeName, Util.getComponentVersionsId(val$component) }));
    }
    catch (CoreException e)
    {
      ApiPlugin.log(e);
    }
  }
}

/* Location:
 * Qualified Name:     org.eclipse.pde.api.tools.internal.provisional.comparator.ApiComparator.5
 * Java Class Version: 1.2 (46.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.pde.api.tools.internal.provisional.comparator;

import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.SubMonitor;
import org.eclipse.jdt.core.Flags;
import org.eclipse.pde.api.tools.internal.comparator.ClassFileComparator;
import org.eclipse.pde.api.tools.internal.comparator.Delta;
import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
import org.eclipse.pde.api.tools.internal.provisional.IApiAnnotations;
import org.eclipse.pde.api.tools.internal.provisional.IApiDescription;
import org.eclipse.pde.api.tools.internal.provisional.IRequiredComponentDescription;
import org.eclipse.pde.api.tools.internal.provisional.model.ApiTypeContainerVisitor;
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.provisional.model.IApiScope;
import org.eclipse.pde.api.tools.internal.provisional.model.IApiType;
import org.eclipse.pde.api.tools.internal.provisional.model.IApiTypeContainer;
import org.eclipse.pde.api.tools.internal.provisional.model.IApiTypeRoot;
import org.eclipse.pde.api.tools.internal.util.Util;
import org.osgi.framework.Version;

public class ApiComparator
{
  static boolean DEBUG = Util.DEBUG;
  public static final IDelta NO_DELTA = new Delta();
  
  static IDelta checkBundleVersionChanges(IApiComponent apiComponent2, String id, String apiComponentVersion, String apiComponentVersion2)
  {
    Version version = null;
    try
    {
      version = new Version(apiComponentVersion);
    }
    catch (IllegalArgumentException localIllegalArgumentException1) {}
    Version version2 = null;
    try
    {
      version2 = new Version(apiComponentVersion2);
    }
    catch (IllegalArgumentException localIllegalArgumentException2) {}
    if ((version != null) && (version2 != null))
    {
      if (version.getMajor() != version2.getMajor()) {
        return 
          new Delta(
          Util.getDeltaComponentVersionsId(apiComponent2), 
          2, 
          2, 
          59, 
          0, 
          0, 
          0, 
          0, 
          null, 
          id, 
          new String[] {
          id, 
          apiComponentVersion, 
          apiComponentVersion2 });
      }
      if (version.getMinor() != version2.getMinor()) {
        return 
          new Delta(
          Util.getDeltaComponentVersionsId(apiComponent2), 
          2, 
          2, 
          60, 
          0, 
          0, 
          0, 
          0, 
          null, 
          id, 
          new String[] {
          id, 
          apiComponentVersion, 
          apiComponentVersion2 });
      }
    }
    return null;
  }
  
  /* Error */
  public static IDelta compare(IApiBaseline referenceBaseline, IApiBaseline baseline, int visibilityModifiers, boolean force, IProgressMonitor monitor)
  {
    // Byte code:
    //   0: aload 4
    //   2: iconst_2
    //   3: invokestatic 422	org/eclipse/core/runtime/SubMonitor:convert	(Lorg/eclipse/core/runtime/IProgressMonitor;I)Lorg/eclipse/core/runtime/SubMonitor;
    //   6: astore 5
    //   8: aload_0
    //   9: ifnull +7 -> 16
    //   12: aload_1
    //   13: ifnonnull +13 -> 26
    //   16: new 210	java/lang/IllegalArgumentException
    //   19: dup
    //   20: ldc 4
    //   22: invokespecial 410	java/lang/IllegalArgumentException:<init>	(Ljava/lang/String;)V
    //   25: athrow
    //   26: aload_0
    //   27: invokeinterface 471 1 0
    //   32: astore 6
    //   34: aload_1
    //   35: invokeinterface 471 1 0
    //   40: astore 7
    //   42: new 215	java/util/HashSet
    //   45: dup
    //   46: invokespecial 418	java/util/HashSet:<init>	()V
    //   49: astore 8
    //   51: new 222	org/eclipse/pde/api/tools/internal/comparator/Delta
    //   54: dup
    //   55: invokespecial 430	org/eclipse/pde/api/tools/internal/comparator/Delta:<init>	()V
    //   58: astore 9
    //   60: iconst_0
    //   61: istore 10
    //   63: aload 6
    //   65: arraylength
    //   66: istore 11
    //   68: goto +310 -> 378
    //   71: aload 5
    //   73: invokestatic 449	org/eclipse/pde/api/tools/internal/util/Util:updateMonitor	(Lorg/eclipse/core/runtime/IProgressMonitor;)V
    //   76: aload 6
    //   78: iload 10
    //   80: aaload
    //   81: astore 12
    //   83: aload 12
    //   85: invokeinterface 473 1 0
    //   90: ifne +285 -> 375
    //   93: aload 12
    //   95: invokeinterface 474 1 0
    //   100: astore 13
    //   102: aload_1
    //   103: aload 13
    //   105: invokeinterface 472 2 0
    //   110: astore 14
    //   112: aconst_null
    //   113: astore 15
    //   115: aload 14
    //   117: ifnonnull +24 -> 141
    //   120: new 222	org/eclipse/pde/api/tools/internal/comparator/Delta
    //   123: dup
    //   124: aconst_null
    //   125: iconst_3
    //   126: iconst_3
    //   127: iconst_3
    //   128: aconst_null
    //   129: aload 13
    //   131: aload 13
    //   133: invokespecial 434	org/eclipse/pde/api/tools/internal/comparator/Delta:<init>	(Ljava/lang/String;IIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
    //   136: astore 15
    //   138: goto +217 -> 355
    //   141: aload 8
    //   143: aload 13
    //   145: invokeinterface 461 2 0
    //   150: pop
    //   151: aload 12
    //   153: invokeinterface 475 1 0
    //   158: astore 16
    //   160: aload 14
    //   162: invokeinterface 475 1 0
    //   167: astore 17
    //   169: aload 14
    //   171: aload 13
    //   173: aload 16
    //   175: aload 17
    //   177: invokestatic 438	org/eclipse/pde/api/tools/internal/provisional/comparator/ApiComparator:checkBundleVersionChanges	(Lorg/eclipse/pde/api/tools/internal/provisional/model/IApiComponent;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/eclipse/pde/api/tools/internal/provisional/comparator/IDelta;
    //   180: astore 18
    //   182: aload 18
    //   184: ifnull +10 -> 194
    //   187: aload 9
    //   189: aload 18
    //   191: invokevirtual 432	org/eclipse/pde/api/tools/internal/comparator/Delta:add	(Lorg/eclipse/pde/api/tools/internal/provisional/comparator/IDelta;)V
    //   194: aload 16
    //   196: aload 17
    //   198: invokevirtual 412	java/lang/String:equals	(Ljava/lang/Object;)Z
    //   201: ifeq +7 -> 208
    //   204: iload_3
    //   205: ifeq +150 -> 355
    //   208: invokestatic 417	java/lang/System:currentTimeMillis	()J
    //   211: lstore 19
    //   213: aload 12
    //   215: aload 14
    //   217: aload_0
    //   218: aload_1
    //   219: iload_2
    //   220: aload 5
    //   222: iconst_1
    //   223: invokevirtual 420	org/eclipse/core/runtime/SubMonitor:newChild	(I)Lorg/eclipse/core/runtime/SubMonitor;
    //   226: invokestatic 439	org/eclipse/pde/api/tools/internal/provisional/comparator/ApiComparator:compare	(Lorg/eclipse/pde/api/tools/internal/provisional/model/IApiComponent;Lorg/eclipse/pde/api/tools/internal/provisional/model/IApiComponent;Lorg/eclipse/pde/api/tools/internal/provisional/model/IApiBaseline;Lorg/eclipse/pde/api/tools/internal/provisional/model/IApiBaseline;ILorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/pde/api/tools/internal/provisional/comparator/IDelta;
    //   229: astore 15
    //   231: goto +66 -> 297
    //   234: astore 21
    //   236: getstatic 406	org/eclipse/pde/api/tools/internal/provisional/comparator/ApiComparator:DEBUG	Z
    //   239: ifeq +55 -> 294
    //   242: getstatic 405	java/lang/System:out	Ljava/io/PrintStream;
    //   245: new 213	java/lang/StringBuffer
    //   248: dup
    //   249: ldc 8
    //   251: invokespecial 414	java/lang/StringBuffer:<init>	(Ljava/lang/String;)V
    //   254: aload 13
    //   256: invokevirtual 416	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
    //   259: ldc 1
    //   261: invokevirtual 416	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
    //   264: aload 16
    //   266: invokevirtual 416	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
    //   269: ldc 2
    //   271: invokevirtual 416	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
    //   274: invokestatic 417	java/lang/System:currentTimeMillis	()J
    //   277: lload 19
    //   279: lsub
    //   280: invokevirtual 415	java/lang/StringBuffer:append	(J)Ljava/lang/StringBuffer;
    //   283: ldc 9
    //   285: invokevirtual 416	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
    //   288: invokevirtual 413	java/lang/StringBuffer:toString	()Ljava/lang/String;
    //   291: invokevirtual 409	java/io/PrintStream:println	(Ljava/lang/String;)V
    //   294: aload 21
    //   296: athrow
    //   297: getstatic 406	org/eclipse/pde/api/tools/internal/provisional/comparator/ApiComparator:DEBUG	Z
    //   300: ifeq +55 -> 355
    //   303: getstatic 405	java/lang/System:out	Ljava/io/PrintStream;
    //   306: new 213	java/lang/StringBuffer
    //   309: dup
    //   310: ldc 8
    //   312: invokespecial 414	java/lang/StringBuffer:<init>	(Ljava/lang/String;)V
    //   315: aload 13
    //   317: invokevirtual 416	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
    //   320: ldc 1
    //   322: invokevirtual 416	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
    //   325: aload 16
    //   327: invokevirtual 416	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
    //   330: ldc 2
    //   332: invokevirtual 416	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
    //   335: invokestatic 417	java/lang/System:currentTimeMillis	()J
    //   338: lload 19
    //   340: lsub
    //   341: invokevirtual 415	java/lang/StringBuffer:append	(J)Ljava/lang/StringBuffer;
    //   344: ldc 9
    //   346: invokevirtual 416	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
    //   349: invokevirtual 413	java/lang/StringBuffer:toString	()Ljava/lang/String;
    //   352: invokevirtual 409	java/io/PrintStream:println	(Ljava/lang/String;)V
    //   355: aload 15
    //   357: ifnull +18 -> 375
    //   360: aload 15
    //   362: getstatic 407	org/eclipse/pde/api/tools/internal/provisional/comparator/ApiComparator:NO_DELTA	Lorg/eclipse/pde/api/tools/internal/provisional/comparator/IDelta;
    //   365: if_acmpeq +10 -> 375
    //   368: aload 9
    //   370: aload 15
    //   372: invokevirtual 432	org/eclipse/pde/api/tools/internal/comparator/Delta:add	(Lorg/eclipse/pde/api/tools/internal/provisional/comparator/IDelta;)V
    //   375: iinc 10 1
    //   378: iload 10
    //   380: iload 11
    //   382: if_icmplt -311 -> 71
    //   385: aload 5
    //   387: iconst_1
    //   388: invokestatic 450	org/eclipse/pde/api/tools/internal/util/Util:updateMonitor	(Lorg/eclipse/core/runtime/IProgressMonitor;I)V
    //   391: iconst_0
    //   392: istore 10
    //   394: aload 7
    //   396: arraylength
    //   397: istore 11
    //   399: goto +70 -> 469
    //   402: aload 5
    //   404: invokestatic 449	org/eclipse/pde/api/tools/internal/util/Util:updateMonitor	(Lorg/eclipse/core/runtime/IProgressMonitor;)V
    //   407: aload 7
    //   409: iload 10
    //   411: aaload
    //   412: astore 12
    //   414: aload 12
    //   416: invokeinterface 473 1 0
    //   421: ifne +45 -> 466
    //   424: aload 12
    //   426: invokeinterface 474 1 0
    //   431: astore 13
    //   433: aload 8
    //   435: aload 13
    //   437: invokeinterface 462 2 0
    //   442: ifne +24 -> 466
    //   445: aload 9
    //   447: new 222	org/eclipse/pde/api/tools/internal/comparator/Delta
    //   450: dup
    //   451: aconst_null
    //   452: iconst_3
    //   453: iconst_1
    //   454: iconst_3
    //   455: aconst_null
    //   456: aload 13
    //   458: aload 13
    //   460: invokespecial 434	org/eclipse/pde/api/tools/internal/comparator/Delta:<init>	(Ljava/lang/String;IIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
    //   463: invokevirtual 432	org/eclipse/pde/api/tools/internal/comparator/Delta:add	(Lorg/eclipse/pde/api/tools/internal/provisional/comparator/IDelta;)V
    //   466: iinc 10 1
    //   469: iload 10
    //   471: iload 11
    //   473: if_icmplt -71 -> 402
    //   476: aload 9
    //   478: invokevirtual 431	org/eclipse/pde/api/tools/internal/comparator/Delta:isEmpty	()Z
    //   481: ifeq +9 -> 490
    //   484: getstatic 407	org/eclipse/pde/api/tools/internal/provisional/comparator/ApiComparator:NO_DELTA	Lorg/eclipse/pde/api/tools/internal/provisional/comparator/IDelta;
    //   487: goto +5 -> 492
    //   490: aload 9
    //   492: astore 23
    //   494: aload 5
    //   496: invokevirtual 419	org/eclipse/core/runtime/SubMonitor:done	()V
    //   499: aload 23
    //   501: areturn
    //   502: astore 22
    //   504: aload 5
    //   506: invokevirtual 419	org/eclipse/core/runtime/SubMonitor:done	()V
    //   509: aload 22
    //   511: athrow
    // Line number table:
    //   Java source line #138	-> byte code offset #0
    //   Java source line #140	-> byte code offset #8
    //   Java source line #141	-> byte code offset #16
    //   Java source line #143	-> byte code offset #26
    //   Java source line #144	-> byte code offset #34
    //   Java source line #145	-> byte code offset #42
    //   Java source line #146	-> byte code offset #51
    //   Java source line #147	-> byte code offset #60
    //   Java source line #148	-> byte code offset #71
    //   Java source line #149	-> byte code offset #76
    //   Java source line #150	-> byte code offset #83
    //   Java source line #151	-> byte code offset #93
    //   Java source line #152	-> byte code offset #102
    //   Java source line #153	-> byte code offset #112
    //   Java source line #154	-> byte code offset #115
    //   Java source line #157	-> byte code offset #120
    //   Java source line #158	-> byte code offset #124
    //   Java source line #159	-> byte code offset #125
    //   Java source line #160	-> byte code offset #126
    //   Java source line #161	-> byte code offset #127
    //   Java source line #162	-> byte code offset #128
    //   Java source line #163	-> byte code offset #129
    //   Java source line #164	-> byte code offset #131
    //   Java source line #157	-> byte code offset #133
    //   Java source line #156	-> byte code offset #136
    //   Java source line #166	-> byte code offset #141
    //   Java source line #167	-> byte code offset #151
    //   Java source line #168	-> byte code offset #160
    //   Java source line #169	-> byte code offset #169
    //   Java source line #170	-> byte code offset #182
    //   Java source line #171	-> byte code offset #187
    //   Java source line #173	-> byte code offset #194
    //   Java source line #174	-> byte code offset #204
    //   Java source line #175	-> byte code offset #208
    //   Java source line #177	-> byte code offset #213
    //   Java source line #178	-> byte code offset #234
    //   Java source line #179	-> byte code offset #236
    //   Java source line #180	-> byte code offset #242
    //   Java source line #182	-> byte code offset #294
    //   Java source line #179	-> byte code offset #297
    //   Java source line #180	-> byte code offset #303
    //   Java 
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-2019. Infinite Loop Ltd