Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 121556 Details for
Bug 258882
Api check should also check reexported API types
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read
this important communication.
[patch]
Proposed fix
patch_258882.txt (text/plain), 47.82 KB, created by
Olivier Thomann
on 2009-01-05 15:12:03 EST
(
hide
)
Description:
Proposed fix
Filename:
MIME Type:
Creator:
Olivier Thomann
Created:
2009-01-05 15:12:03 EST
Size:
47.82 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.pde.api.tools.ui >Index: src/org/eclipse/pde/api/tools/ui/internal/preferences/ApiErrorsWarningsConfigurationBlock.java >=================================================================== >RCS file: /cvsroot/eclipse/pde/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/preferences/ApiErrorsWarningsConfigurationBlock.java,v >retrieving revision 1.53 >diff -u -r1.53 ApiErrorsWarningsConfigurationBlock.java >--- src/org/eclipse/pde/api/tools/ui/internal/preferences/ApiErrorsWarningsConfigurationBlock.java 8 Dec 2008 17:10:07 -0000 1.53 >+++ src/org/eclipse/pde/api/tools/ui/internal/preferences/ApiErrorsWarningsConfigurationBlock.java 5 Jan 2009 20:11:16 -0000 >@@ -1,5 +1,5 @@ > /******************************************************************************* >- * Copyright (c) 2007, 2008 IBM Corporation and others. >+ * Copyright (c) 2007, 2009 IBM Corporation and others. > * All rights reserved. This program and the accompanying materials > * are made available under the terms of the Eclipse Public License v1.0 > * which accompanies this distribution, and is available at >@@ -227,6 +227,10 @@ > getApiToolsKey(IApiProblemTypes.API_COMPONENT_REMOVED_API_TYPE); > private static final Key KEY_API_COMPONENT_REMOVED_TYPE = > getApiToolsKey(IApiProblemTypes.API_COMPONENT_REMOVED_TYPE); >+ private static final Key KEY_API_COMPONENT_REMOVED_REEXPORTED_API_TYPE = >+ getApiToolsKey(IApiProblemTypes.API_COMPONENT_REMOVED_REEXPORTED_API_TYPE); >+ private static final Key KEY_API_COMPONENT_REMOVED_REEXPORTED_TYPE = >+ getApiToolsKey(IApiProblemTypes.API_COMPONENT_REMOVED_REEXPORTED_TYPE); > > private static final Key KEY_ANNOTATION_ADDED_METHOD_NO_DEFAULT_VALUE = > getApiToolsKey(IApiProblemTypes.ANNOTATION_ADDED_METHOD_NO_DEFAULT_VALUE); >@@ -1022,10 +1026,14 @@ > new String[] { > PreferenceMessages.API_COMPONENT_REMOVED_API_TYPE, > PreferenceMessages.API_COMPONENT_REMOVED_TYPE, >+ PreferenceMessages.API_COMPONENT_REMOVED_REEXPORTED_API_TYPE, >+ PreferenceMessages.API_COMPONENT_REMOVED_REEXPORTED_TYPE, > }, > new Key[] { > KEY_API_COMPONENT_REMOVED_API_TYPE, > KEY_API_COMPONENT_REMOVED_TYPE, >+ KEY_API_COMPONENT_REMOVED_REEXPORTED_API_TYPE, >+ KEY_API_COMPONENT_REMOVED_REEXPORTED_TYPE, > }); > client = createExpansibleComposite(sbody, PreferenceMessages.CompatibilityClassElement); > initializeComboControls( >Index: src/org/eclipse/pde/api/tools/ui/internal/preferences/preferencemessages.properties >=================================================================== >RCS file: /cvsroot/eclipse/pde/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/preferences/preferencemessages.properties,v >retrieving revision 1.67 >diff -u -r1.67 preferencemessages.properties >--- src/org/eclipse/pde/api/tools/ui/internal/preferences/preferencemessages.properties 4 Dec 2008 17:18:18 -0000 1.67 >+++ src/org/eclipse/pde/api/tools/ui/internal/preferences/preferencemessages.properties 5 Jan 2009 20:11:16 -0000 >@@ -1,5 +1,5 @@ > ############################################################################### >-# Copyright (c) 2008 IBM Corporation and others. >+# Copyright (c) 2008, 2009 IBM Corporation and others. > # All rights reserved. This program and the accompanying materials > # are made available under the terms of the Eclipse Public License v1.0 > # which accompanies this distribution, and is available at >@@ -55,6 +55,8 @@ > > API_COMPONENT_REMOVED_API_TYPE=An API type has become non-API: > API_COMPONENT_REMOVED_TYPE=A type has been removed: >+API_COMPONENT_REMOVED_REEXPORTED_API_TYPE=An API re-exported type has become non-API: >+API_COMPONENT_REMOVED_REEXPORTED_TYPE=A re-exported type has been removed: > > ANNOTATION_REMOVED_FIELD=A field has been removed: > ANNOTATION_REMOVED_METHOD=A method has been removed: >Index: src/org/eclipse/pde/api/tools/ui/internal/preferences/PreferenceMessages.java >=================================================================== >RCS file: /cvsroot/eclipse/pde/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/preferences/PreferenceMessages.java,v >retrieving revision 1.39 >diff -u -r1.39 PreferenceMessages.java >--- src/org/eclipse/pde/api/tools/ui/internal/preferences/PreferenceMessages.java 4 Dec 2008 17:18:18 -0000 1.39 >+++ src/org/eclipse/pde/api/tools/ui/internal/preferences/PreferenceMessages.java 5 Jan 2009 20:11:16 -0000 >@@ -1,5 +1,5 @@ > /******************************************************************************* >- * Copyright (c) 2007, 2008 IBM Corporation and others. >+ * Copyright (c) 2007, 2009 IBM Corporation and others. > * All rights reserved. This program and the accompanying materials > * are made available under the terms of the Eclipse Public License v1.0 > * which accompanies this distribution, and is available at >@@ -78,6 +78,8 @@ > > public static String API_COMPONENT_REMOVED_API_TYPE; > public static String API_COMPONENT_REMOVED_TYPE; >+ public static String API_COMPONENT_REMOVED_REEXPORTED_API_TYPE; >+ public static String API_COMPONENT_REMOVED_REEXPORTED_TYPE; > > public static String ANNOTATION_ADDED_METHOD_NO_DEFAULT_VALUE; > public static String ANNOTATION_REMOVED_FIELD; >#P org.eclipse.pde.api.tools >Index: src_ant/org/eclipse/pde/api/tools/internal/tasks/ExcludeListDeltaVisitor.java >=================================================================== >RCS file: /cvsroot/eclipse/pde/apitools/org.eclipse.pde.api.tools/src_ant/org/eclipse/pde/api/tools/internal/tasks/ExcludeListDeltaVisitor.java,v >retrieving revision 1.1 >diff -u -r1.1 ExcludeListDeltaVisitor.java >--- src_ant/org/eclipse/pde/api/tools/internal/tasks/ExcludeListDeltaVisitor.java 15 Dec 2008 19:18:50 -0000 1.1 >+++ src_ant/org/eclipse/pde/api/tools/internal/tasks/ExcludeListDeltaVisitor.java 5 Jan 2009 20:11:18 -0000 >@@ -1,5 +1,5 @@ > /******************************************************************************* >- * Copyright (c) 2008 IBM Corporation and others. >+ * Copyright (c) 2008, 2009 IBM Corporation and others. > * All rights reserved. This program and the accompanying materials > * are made available under the terms of the Eclipse Public License v1.0 > * which accompanies this distribution, and is available at >@@ -58,7 +58,7 @@ > private boolean isExcluded(IDelta delta) { > String typeName = delta.getTypeName(); > StringBuffer buffer = new StringBuffer(); >- String componentId = delta.getApiComponentID(); >+ String componentId = delta.getComponentVersionId(); > if (componentId != null) { > buffer.append(componentId).append(':'); > } >Index: src/org/eclipse/pde/api/tools/internal/builder/BaseApiAnalyzer.java >=================================================================== >RCS file: /cvsroot/eclipse/pde/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/BaseApiAnalyzer.java,v >retrieving revision 1.72 >diff -u -r1.72 BaseApiAnalyzer.java >--- src/org/eclipse/pde/api/tools/internal/builder/BaseApiAnalyzer.java 8 Dec 2008 20:04:47 -0000 1.72 >+++ src/org/eclipse/pde/api/tools/internal/builder/BaseApiAnalyzer.java 5 Jan 2009 20:11:17 -0000 >@@ -1,5 +1,5 @@ > /******************************************************************************* >- * Copyright (c) 2008 IBM Corporation and others. >+ * Copyright (c) 2008, 2009 IBM Corporation and others. > * All rights reserved. This program and the accompanying materials > * are made available under the terms of the Eclipse Public License v1.0 > * which accompanies this distribution, and is available at >@@ -810,7 +810,7 @@ > return; > } > if (VisibilityModifiers.isAPI(visibility)) { >- String deltaComponentID = Util.getDeltaComponentID(reference); >+ String deltaComponentID = Util.getDeltaComponentVersionsId(reference); > delta = new Delta( > deltaComponentID, > IDelta.API_COMPONENT_ELEMENT_TYPE, >@@ -1124,8 +1124,9 @@ > } catch (JavaModelException e) { > ApiPlugin.log(e); > } >+ IProject project = fJavaProject.getProject(); > if (type == null) { >- IResource manifestFile = Util.getManifestFile(fJavaProject.getProject()); >+ IResource manifestFile = Util.getManifestFile(project); > if (manifestFile == null) { > // Cannot retrieve the manifest.mf file > return null; >@@ -1138,8 +1139,17 @@ > if (resource == null) { > return null; > } >+ if (project.findMember(resource.getProjectRelativePath()) == null) { >+ resource = null; >+ IResource manifestFile = Util.getManifestFile(project); >+ if (manifestFile == null) { >+ // Cannot retrieve the manifest.mf file >+ return null; >+ } >+ resource = manifestFile; >+ } > } else { >- IResource manifestFile = Util.getManifestFile(fJavaProject.getProject()); >+ IResource manifestFile = Util.getManifestFile(project); > if (manifestFile == null) { > // Cannot retrieve the manifest.mf file > return null; >Index: src/org/eclipse/pde/api/tools/internal/builder/BuildState.java >=================================================================== >RCS file: /cvsroot/eclipse/pde/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/BuildState.java,v >retrieving revision 1.7 >diff -u -r1.7 BuildState.java >--- src/org/eclipse/pde/api/tools/internal/builder/BuildState.java 17 Nov 2008 14:56:35 -0000 1.7 >+++ src/org/eclipse/pde/api/tools/internal/builder/BuildState.java 5 Jan 2009 20:11:17 -0000 >@@ -1,5 +1,5 @@ > /******************************************************************************* >- * Copyright (c) 2008 IBM Corporation and others. >+ * Copyright (c) 2008, 2009 IBM Corporation and others. > * All rights reserved. This program and the accompanying materials > * are made available under the terms of the Eclipse Public License v1.0 > * which accompanies this distribution, and is available at >@@ -108,7 +108,7 @@ > private static void writeDelta(IDelta delta, DataOutputStream out) throws IOException { > // encode a delta into the build state > // int elementType, int kind, int flags, int restrictions, int modifiers, String typeName, String key, Object data >- String apiComponentID = delta.getApiComponentID(); >+ String apiComponentID = delta.getComponentVersionId(); > boolean hasComponentID = apiComponentID != null; > out.writeBoolean(hasComponentID); > if (hasComponentID) { >Index: src/org/eclipse/pde/api/tools/internal/provisional/comparator/DeltaProcessor.java >=================================================================== >RCS file: /cvsroot/eclipse/pde/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/comparator/DeltaProcessor.java,v >retrieving revision 1.39 >diff -u -r1.39 DeltaProcessor.java >--- src/org/eclipse/pde/api/tools/internal/provisional/comparator/DeltaProcessor.java 18 Nov 2008 15:35:22 -0000 1.39 >+++ src/org/eclipse/pde/api/tools/internal/provisional/comparator/DeltaProcessor.java 5 Jan 2009 20:11:18 -0000 >@@ -1,5 +1,5 @@ > /******************************************************************************* >- * Copyright (c) 2007, 2008 IBM Corporation and others. >+ * Copyright (c) 2007, 2009 IBM Corporation and others. > * All rights reserved. This program and the accompanying materials > * are made available under the terms of the Eclipse Public License v1.0 > * which accompanies this distribution, and is available at >@@ -118,6 +118,8 @@ > switch(delta.getFlags()) { > case IDelta.TYPE : > case IDelta.API_TYPE : >+ case IDelta.REEXPORTED_API_TYPE : >+ case IDelta.REEXPORTED_TYPE : > return false; > } > break; >Index: src/org/eclipse/pde/api/tools/internal/provisional/comparator/IDelta.java >=================================================================== >RCS file: /cvsroot/eclipse/pde/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/comparator/IDelta.java,v >retrieving revision 1.24 >diff -u -r1.24 IDelta.java >--- src/org/eclipse/pde/api/tools/internal/provisional/comparator/IDelta.java 21 Oct 2008 18:59:13 -0000 1.24 >+++ src/org/eclipse/pde/api/tools/internal/provisional/comparator/IDelta.java 5 Jan 2009 20:11:18 -0000 >@@ -1,5 +1,5 @@ > /******************************************************************************* >- * Copyright (c) 2007, 2008 IBM Corporation and others. >+ * Copyright (c) 2007, 2009 IBM Corporation and others. > * All rights reserved. This program and the accompanying materials > * are made available under the terms of the Eclipse Public License v1.0 > * which accompanies this distribution, and is available at >@@ -830,6 +830,30 @@ > */ > public static final int SUPER_INTERFACE_WITH_METHODS = 69; > /** >+ * Delta kind flag that denotes a re-exported type has been added or removed. >+ * <br> >+ * Applies to kinds: >+ * <ul> >+ * <li>{@link #ADDED}</li> >+ * <li>{@link #REMOVED}</li> >+ * </ul> >+ * >+ * @see #getFlags() >+ */ >+ public static final int REEXPORTED_TYPE = 70; >+ /** >+ * Delta kind flag that denotes changing the visibility of a re-exported type from VisibilityModifiers.API to another visibility. >+ * As a consequence, the corresponding re-exported type is no longer an API type. >+ * <br> >+ * Applies to kinds: >+ * <ul> >+ * <li>{@link #REMOVED}</li> >+ * </ul> >+ * >+ * @see #getFlags() >+ */ >+ public static final int REEXPORTED_API_TYPE = 71; >+ /** > * Return true if the receiver has no children deltas, false otherwise. > * > * @return true if the receiver has no children deltas, false otherwise. >@@ -921,10 +945,18 @@ > public int getModifiers(); > > /** >- * Returns the component id in which the given delta is reported. Might be null if the delta >- * is reported against an api profile. >+ * Returns the component identifier including its version identifier in which the given delta is >+ * reported, or <code>null</code>. Can be <code>null</code> if the delta is reported against an >+ * API profile. >+ * >+ * @return the component id in which the given delta is reported, or <code>null</code> if none >+ */ >+ public String getComponentVersionId(); >+ >+ /** >+ * Update component version id. > * >- * @return the component id in which the given delta is reported, null if none >+ * @param value the new component version ID > */ >- public String getApiComponentID(); >+ public void setComponentVersionId(String value); > } >Index: src/org/eclipse/pde/api/tools/internal/provisional/comparator/ApiComparator.java >=================================================================== >RCS file: /cvsroot/eclipse/pde/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/comparator/ApiComparator.java,v >retrieving revision 1.37 >diff -u -r1.37 ApiComparator.java >--- src/org/eclipse/pde/api/tools/internal/provisional/comparator/ApiComparator.java 15 Dec 2008 19:11:38 -0000 1.37 >+++ src/org/eclipse/pde/api/tools/internal/provisional/comparator/ApiComparator.java 5 Jan 2009 20:11:18 -0000 >@@ -1,5 +1,5 @@ > /******************************************************************************* >- * Copyright (c) 2007, 2008 IBM Corporation and others. >+ * Copyright (c) 2007, 2009 IBM Corporation and others. > * All rights reserved. This program and the accompanying materials > * are made available under the terms of the Eclipse Public License v1.0 > * which accompanies this distribution, and is available at >@@ -21,6 +21,7 @@ > 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.RestrictionModifiers; > import org.eclipse.pde.api.tools.internal.provisional.VisibilityModifiers; > import org.eclipse.pde.api.tools.internal.provisional.model.ApiScopeVisitor; >@@ -65,7 +66,7 @@ > if (version.getMajor() != version2.getMajor()) { > globalDelta.add( > new Delta( >- Util.getDeltaComponentID(apiComponent2), >+ Util.getDeltaComponentVersionsId(apiComponent2), > IDelta.API_COMPONENT_ELEMENT_TYPE, > IDelta.CHANGED, > IDelta.MAJOR_VERSION, >@@ -81,7 +82,7 @@ > } else if (version.getMinor() != version2.getMinor()) { > globalDelta.add( > new Delta( >- Util.getDeltaComponentID(apiComponent2), >+ Util.getDeltaComponentVersionsId(apiComponent2), > IDelta.API_COMPONENT_ELEMENT_TYPE, > IDelta.CHANGED, > IDelta.MINOR_VERSION, >@@ -367,7 +368,7 @@ > IDelta.API_COMPONENT, > null, > component2.getId(), >- Util.getDeltaComponentID(component2)); >+ Util.getDeltaComponentVersionsId(component2)); > } else if (component2 == null) { > String referenceComponentId = referenceComponent.getId(); > return new Delta( >@@ -377,7 +378,7 @@ > IDelta.API_COMPONENT, > null, > referenceComponentId, >- Util.getDeltaComponentID(referenceComponent)); >+ Util.getDeltaComponentVersionsId(referenceComponent)); > } > String referenceComponentId = referenceComponent.getId(); > final Delta globalDelta = new Delta(); >@@ -391,7 +392,7 @@ > if (!componentsEEs.remove(currentEE)) { > globalDelta.add( > new Delta( >- Util.getDeltaComponentID(referenceComponent), >+ Util.getDeltaComponentVersionsId(referenceComponent), > IDelta.API_COMPONENT_ELEMENT_TYPE, > IDelta.REMOVED, > IDelta.EXECUTION_ENVIRONMENT, >@@ -399,14 +400,14 @@ > 0, > null, > referenceComponentId, >- new String[] { currentEE, Util.getDeltaComponentID(referenceComponent)})); >+ new String[] { currentEE, Util.getDeltaComponentVersionsId(referenceComponent)})); > } > } > for (Iterator iterator = componentsEEs.iterator(); iterator.hasNext(); ) { > String currentEE = (String) iterator.next(); > globalDelta.add( > new Delta( >- Util.getDeltaComponentID(referenceComponent), >+ Util.getDeltaComponentVersionsId(referenceComponent), > IDelta.API_COMPONENT_ELEMENT_TYPE, > IDelta.ADDED, > IDelta.EXECUTION_ENVIRONMENT, >@@ -414,7 +415,7 @@ > 0, > null, > referenceComponentId, >- new String[] { currentEE, Util.getDeltaComponentID(referenceComponent)})); >+ new String[] { currentEE, Util.getDeltaComponentVersionsId(referenceComponent)})); > } > return internalCompare(referenceComponent, component2, referenceBaseline, baseline, visibilityModifiers, globalDelta); > } catch(CoreException e) { >@@ -501,7 +502,7 @@ > if (refElementDescription != null) { > refVisibility = refElementDescription.getVisibility(); > } >- String deltaComponentID = Util.getDeltaComponentID(component2); >+ String deltaComponentID = Util.getDeltaComponentVersionsId(component2); > if (typeRoot == null) { > if (isAPI(visibility, typeDescriptor2)) { > return new Delta( >@@ -745,7 +746,42 @@ > } else{ > typeRoot2 = component2.findTypeRoot(typeName, id); > } >- String deltaComponentID = Util.getDeltaComponentID(component2); >+ String deltaComponentID = null; >+ IApiComponent provider = null; >+ IApiDescription providerApiDesc = null; >+ boolean reexported = false; >+ if (typeRoot2 == null) { >+ // check if the type is provided by a required component (it could have been moved/re-exported) >+ IApiComponent[] providers = component2.getBaseline().resolvePackage(component2, packageName); >+ int index = 0; >+ while (typeRoot2 == null && index < providers.length) { >+ IApiComponent p = providers[index]; >+ if (!p.equals(component2)) { >+ if ("org.eclipse.swt".equals(p.getId())) { //$NON-NLS-1$ >+ typeRoot2 = p.findTypeRoot(typeName); >+ } else { >+ typeRoot2 = p.findTypeRoot(typeName, p.getId()); >+ } >+ if (typeRoot2 != null) { >+ provider = p; >+ providerApiDesc = p.getApiDescription(); >+ IRequiredComponentDescription[] required = component2.getRequiredComponents(); >+ for (int k = 0; k < required.length; k++) { >+ IRequiredComponentDescription description = required[k]; >+ if (description.getId().equals(p.getId())) { >+ reexported = description.isExported(); >+ break; >+ } >+ } >+ } >+ } >+ index++; >+ } >+ } else { >+ provider = component2; >+ providerApiDesc = apiDescription2; >+ } >+ deltaComponentID = Util.getDeltaComponentVersionsId(component2); > if(typeRoot2 == null) { > if ((visibility & visibilityModifiers) == 0) { > // we skip the class file according to their visibility >@@ -768,14 +804,14 @@ > typeDescriptor.getModifiers(), > typeName, > typeName, >- new String[] { typeName, deltaComponentID})); >+ new String[] { typeName, deltaComponentID })); > } else { > if ((visibility & visibilityModifiers) == 0) { > // we skip the class file according to their visibility > return; > } > IApiType typeDescriptor2 = typeRoot2.getStructure(); >- IApiAnnotations elementDescription2 = apiDescription2.resolveAnnotations(typeDescriptor2.getHandle()); >+ IApiAnnotations elementDescription2 = providerApiDesc.resolveAnnotations(typeDescriptor2.getHandle()); > int visibility2 = 0; > if (elementDescription2 != null) { > visibility2 = elementDescription2.getVisibility(); >@@ -787,19 +823,21 @@ > return; > } > } >- if (isAPI(visibility, typeDescriptor) && !isAPI(visibility2, typeDescriptor2)) { >- globalDelta.add( >+ if (isAPI(visibility, typeDescriptor)) { >+ if (!isAPI(visibility2, typeDescriptor2)) { >+ globalDelta.add( > new Delta( >- deltaComponentID, >- IDelta.API_COMPONENT_ELEMENT_TYPE, >- IDelta.REMOVED, >- IDelta.API_TYPE, >- elementDescription2 != null ? elementDescription2.getRestrictions() : RestrictionModifiers.NO_RESTRICTIONS, >- typeDescriptor2.getModifiers(), >- typeName, >- typeName, >- new String[] { typeName, deltaComponentID})); >- return; >+ deltaComponentID, >+ IDelta.API_COMPONENT_ELEMENT_TYPE, >+ IDelta.REMOVED, >+ reexported ? IDelta.REEXPORTED_API_TYPE : IDelta.API_TYPE, >+ elementDescription2 != null ? elementDescription2.getRestrictions() : RestrictionModifiers.NO_RESTRICTIONS, >+ typeDescriptor2.getModifiers(), >+ typeName, >+ typeName, >+ new String[] { typeName, deltaComponentID })); >+ return; >+ } > } > if ((visibility2 & visibilityModifiers) == 0) { > // we simply report a changed visibility >@@ -816,7 +854,7 @@ > new String[] { typeName, deltaComponentID})); > } > typeRootBaseLineNames.add(typeName); >- ClassFileComparator comparator = new ClassFileComparator(typeDescriptor, typeRoot2, component, component2, referenceBaseline, baseline, visibilityModifiers); >+ ClassFileComparator comparator = new ClassFileComparator(typeDescriptor, typeRoot2, component, provider, referenceBaseline, baseline, visibilityModifiers); > IDelta delta = comparator.getDelta(); > IStatus status = comparator.getStatus(); > if(status != null) { >@@ -836,6 +874,129 @@ > } > } > } >+ IRequiredComponentDescription[] requiredComponents = component.getRequiredComponents(); >+ int length = requiredComponents.length; >+ if (length != 0) { >+ for (int j = 0; j < length; j++) { >+ IRequiredComponentDescription description = requiredComponents[j]; >+ if (description.isExported()) { >+ final String currentComponentID = Util.getDeltaComponentVersionsId(component); >+ String descriptionID = description.getId(); >+ IApiComponent currentRequiredApiComponent = referenceBaseline.getApiComponent(descriptionID); >+ final IApiDescription reexportedApiDescription = currentRequiredApiComponent.getApiDescription(); >+ IApiTypeContainer[] apiTypeContainers = currentRequiredApiComponent.getApiTypeContainers(); >+ if (apiTypeContainers != null) { >+ for (int i = 0, max = apiTypeContainers.length; i < max; i++) { >+ IApiTypeContainer container = apiTypeContainers[i]; >+ try { >+ container.accept(new ApiTypeContainerVisitor() { >+ public void visit(String packageName, IApiTypeRoot typeRoot) { >+ String typeName = typeRoot.getTypeName(); >+ try { >+ IApiType typeDescriptor = typeRoot.getStructure(); >+ IApiAnnotations elementDescription = reexportedApiDescription.resolveAnnotations(typeDescriptor.getHandle()); >+ if (typeDescriptor.isMemberType() || typeDescriptor.isAnonymous() || typeDescriptor.isLocal()) { >+ // we skip nested types (member, local and anonymous) >+ return; >+ } >+ int visibility = 0; >+ if (elementDescription != null) { >+ visibility = elementDescription.getVisibility(); >+ } >+ IApiTypeRoot typeRoot2 = null; >+ if (isSWT) { >+ typeRoot2 = component2.findTypeRoot(typeName); >+ } else{ >+ typeRoot2 = component2.findTypeRoot(typeName, id); >+ } >+ IApiDescription providerApiDesc = null; >+ if (typeRoot2 == null) { >+ // check if the type is provided by a required component (it could have been moved/re-exported) >+ IApiComponent[] providers = component2.getBaseline().resolvePackage(component2, packageName); >+ int index = 0; >+ while (typeRoot2 == null && index < providers.length) { >+ IApiComponent p = providers[index]; >+ if (!p.equals(component2)) { >+ if ("org.eclipse.swt".equals(p.getId())) { //$NON-NLS-1$ >+ typeRoot2 = p.findTypeRoot(typeName); >+ } else { >+ typeRoot2 = p.findTypeRoot(typeName, p.getId()); >+ } >+ if (typeRoot2 != null) { >+ providerApiDesc = p.getApiDescription(); >+ } >+ } >+ index++; >+ } >+ } else { >+ providerApiDesc = apiDescription2; >+ } >+ if(typeRoot2 == null) { >+ if ((visibility & visibilityModifiers) == 0) { >+ // we skip the class file according to their visibility >+ return; >+ } >+ if (visibilityModifiers == VisibilityModifiers.API) { >+ // if the visibility is API, we only consider public and protected types >+ if (Util.isDefault(typeDescriptor.getModifiers()) >+ || Util.isPrivate(typeDescriptor.getModifiers())) { >+ return; >+ } >+ } >+ globalDelta.add( >+ new Delta( >+ currentComponentID, >+ IDelta.API_COMPONENT_ELEMENT_TYPE, >+ IDelta.REMOVED, >+ IDelta.REEXPORTED_TYPE, >+ RestrictionModifiers.NO_RESTRICTIONS, >+ typeDescriptor.getModifiers(), >+ typeName, >+ typeName, >+ new String[] { typeName, currentComponentID })); >+ } else { >+ typeRootBaseLineNames.add(typeName); >+ IApiType typeDescriptor2 = typeRoot2.getStructure(); >+ IApiAnnotations elementDescription2 = providerApiDesc.resolveAnnotations(typeDescriptor2.getHandle()); >+ int visibility2 = 0; >+ if (elementDescription2 != null) { >+ visibility2 = elementDescription2.getVisibility(); >+ } >+ // if the visibility is API, we only consider public and protected types >+ if (Util.isDefault(typeDescriptor.getModifiers()) >+ || Util.isPrivate(typeDescriptor.getModifiers())) { >+ return; >+ } >+ if (isAPI(visibility, typeDescriptor)) { >+ if (!isAPI(visibility2, typeDescriptor2)) { >+ globalDelta.add( >+ new Delta( >+ currentComponentID, >+ IDelta.API_COMPONENT_ELEMENT_TYPE, >+ IDelta.REMOVED, >+ IDelta.REEXPORTED_API_TYPE, >+ elementDescription2 != null ? elementDescription2.getRestrictions() : RestrictionModifiers.NO_RESTRICTIONS, >+ typeDescriptor2.getModifiers(), >+ typeName, >+ typeName, >+ new String[] { typeName, currentComponentID })); >+ return; >+ } >+ } >+ } >+ } catch (CoreException e) { >+ ApiPlugin.log(e); >+ } >+ } >+ }); >+ } catch (CoreException e) { >+ ApiPlugin.log(e); >+ } >+ } >+ } >+ } >+ } >+ } > if (typeRootContainers2 != null) { > for (int i = 0, max = typeRootContainers2.length; i < max; i++) { > IApiTypeContainer container = typeRootContainers2[i]; >@@ -858,7 +1019,7 @@ > return; > } > typeRootBaseLineNames.add(typeName); >- String deltaComponentID = Util.getDeltaComponentID(component2); >+ String deltaComponentID = Util.getDeltaComponentVersionsId(component2); > globalDelta.add( > new Delta( > deltaComponentID, >@@ -869,7 +1030,7 @@ > type.getModifiers(), > typeName, > typeName, >- new String[] { typeName, deltaComponentID})); >+ new String[] { typeName, deltaComponentID })); > } catch (CoreException e) { > ApiPlugin.log(e); > } >@@ -880,6 +1041,63 @@ > } > } > } >+ requiredComponents = component2.getRequiredComponents(); >+ length = requiredComponents.length; >+ if (length != 0) { >+ for (int j = 0; j < length; j++) { >+ IRequiredComponentDescription description = requiredComponents[j]; >+ if (description.isExported()) { >+ final String currentComponentID = Util.getDeltaComponentVersionsId(component); >+ String descriptionID = description.getId(); >+ IApiComponent currentRequiredApiComponent = baseline.getApiComponent(descriptionID); >+ IApiTypeContainer[] apiTypeContainers = currentRequiredApiComponent.getApiTypeContainers(); >+ final IApiDescription reexportedApiDescription = currentRequiredApiComponent.getApiDescription(); >+ if (apiTypeContainers != null) { >+ for (int i = 0, max = apiTypeContainers.length; i < max; i++) { >+ IApiTypeContainer container = apiTypeContainers[i]; >+ try { >+ container.accept(new ApiTypeContainerVisitor() { >+ public void visit(String packageName, IApiTypeRoot typeRoot) { >+ String typeName = typeRoot.getTypeName(); >+ try { >+ IApiType typeDescriptor = typeRoot.getStructure(); >+ IApiAnnotations elementDescription = reexportedApiDescription.resolveAnnotations(typeDescriptor.getHandle()); >+ if (typeDescriptor.isMemberType() || typeDescriptor.isAnonymous() || typeDescriptor.isLocal()) { >+ // we skip nested types (member, local and anonymous) >+ return; >+ } >+ if (filterType(visibilityModifiers, elementDescription, typeDescriptor)) { >+ return; >+ } >+ if (typeRootBaseLineNames.contains(typeName)) { >+ // already processed >+ return; >+ } >+ typeRootBaseLineNames.add(typeName); >+ globalDelta.add( >+ new Delta( >+ currentComponentID, >+ IDelta.API_COMPONENT_ELEMENT_TYPE, >+ IDelta.ADDED, >+ IDelta.REEXPORTED_TYPE, >+ elementDescription != null ? elementDescription.getRestrictions() : RestrictionModifiers.NO_RESTRICTIONS, >+ typeDescriptor.getModifiers(), >+ typeName, >+ typeName, >+ new String[] { typeName, currentComponentID })); >+ } catch (CoreException e) { >+ ApiPlugin.log(e); >+ } >+ } >+ }); >+ } catch (CoreException e) { >+ ApiPlugin.log(e); >+ } >+ } >+ } >+ } >+ } >+ } > return globalDelta.isEmpty() ? NO_DELTA : globalDelta; > } > >Index: src/org/eclipse/pde/api/tools/internal/comparator/Delta.java >=================================================================== >RCS file: /cvsroot/eclipse/pde/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/comparator/Delta.java,v >retrieving revision 1.12 >diff -u -r1.12 Delta.java >--- src/org/eclipse/pde/api/tools/internal/comparator/Delta.java 11 Aug 2008 14:35:15 -0000 1.12 >+++ src/org/eclipse/pde/api/tools/internal/comparator/Delta.java 5 Jan 2009 20:11:17 -0000 >@@ -1,5 +1,5 @@ > /******************************************************************************* >- * Copyright (c) 2007, 2008 IBM Corporation and others. >+ * Copyright (c) 2007, 2009 IBM Corporation and others. > * All rights reserved. This program and the accompanying materials > * are made available under the terms of the Eclipse Public License v1.0 > * which accompanies this distribution, and is available at >@@ -210,7 +210,7 @@ > return true; > } > >- public String getApiComponentID() { >+ public String getComponentVersionId() { > return this.componentID; > } > >@@ -342,4 +342,8 @@ > } > return String.valueOf(writer.getBuffer()); > } >+ >+ public void setComponentVersionId(String value) { >+ this.componentID = value; >+ } > } >Index: src/org/eclipse/pde/api/tools/internal/comparator/DeltaXmlVisitor.java >=================================================================== >RCS file: /cvsroot/eclipse/pde/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/comparator/DeltaXmlVisitor.java,v >retrieving revision 1.10 >diff -u -r1.10 DeltaXmlVisitor.java >--- src/org/eclipse/pde/api/tools/internal/comparator/DeltaXmlVisitor.java 15 Dec 2008 19:11:38 -0000 1.10 >+++ src/org/eclipse/pde/api/tools/internal/comparator/DeltaXmlVisitor.java 5 Jan 2009 20:11:17 -0000 >@@ -1,5 +1,5 @@ > /******************************************************************************* >- * Copyright (c) 2007, 2008 IBM Corporation and others. >+ * Copyright (c) 2007, 2009 IBM Corporation and others. > * All rights reserved. This program and the accompanying materials > * are made available under the terms of the Eclipse Public License v1.0 > * which accompanies this distribution, and is available at >@@ -73,7 +73,7 @@ > deltaElement.setAttribute(IApiXmlConstants.ATTR_NAME_COMPATIBLE, Boolean.toString(DeltaProcessor.isCompatible(delta))); > deltaElement.setAttribute(IApiXmlConstants.ATTR_NAME_MODIFIERS, Integer.toString(delta.getModifiers())); > deltaElement.setAttribute(IApiXmlConstants.ATTR_NAME_RESTRICTIONS, Integer.toString(delta.getRestrictions())); >- String apiComponentID = delta.getApiComponentID(); >+ String apiComponentID = delta.getComponentVersionId(); > if (apiComponentID != null) { > deltaElement.setAttribute(IApiXmlConstants.ATTR_NAME_COMPONENT_ID, apiComponentID); > } >Index: src/org/eclipse/pde/api/tools/internal/comparator/ClassFileComparator.java >=================================================================== >RCS file: /cvsroot/eclipse/pde/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/comparator/ClassFileComparator.java,v >retrieving revision 1.72 >diff -u -r1.72 ClassFileComparator.java >--- src/org/eclipse/pde/api/tools/internal/comparator/ClassFileComparator.java 17 Dec 2008 21:24:52 -0000 1.72 >+++ src/org/eclipse/pde/api/tools/internal/comparator/ClassFileComparator.java 5 Jan 2009 20:11:17 -0000 >@@ -1,5 +1,5 @@ > /******************************************************************************* >- * Copyright (c) 2008 IBM Corporation and others. >+ * Copyright (c) 2008, 2009 IBM Corporation and others. > * All rights reserved. This program and the accompanying materials > * are made available under the terms of the Eclipse Public License v1.0 > * which accompanies this distribution, and is available at >@@ -161,10 +161,10 @@ > this.delta.add(delta); > } > private void addDelta(int elementType, int kind, int flags, int restrictions, int modifiers, IApiType type, String key, String data) { >- this.addDelta(new Delta(Util.getDeltaComponentID(this.component2), elementType, kind, flags, restrictions, modifiers, type.getName(), key, data)); >+ this.addDelta(new Delta(Util.getDeltaComponentVersionsId(this.component2), elementType, kind, flags, restrictions, modifiers, type.getName(), key, data)); > } > private void addDelta(int elementType, int kind, int flags, int restrictions, int modifiers, IApiType type, String key, String[] datas) { >- this.addDelta(new Delta(Util.getDeltaComponentID(this.component2), elementType, kind, flags, restrictions, modifiers, type.getName(), key, datas)); >+ this.addDelta(new Delta(Util.getDeltaComponentVersionsId(this.component2), elementType, kind, flags, restrictions, modifiers, type.getName(), key, datas)); > } > /** > * Checks if the super-class set has been change in any way compared to the baseline (grown or reduced or types changed) >@@ -471,7 +471,7 @@ > typeMember.getModifiers(), > this.type1, > typeMember.getName(), >- new String[] { typeMember.getName().replace('$', '.'), Util.getDeltaComponentID(component2)}); >+ new String[] { typeMember.getName().replace('$', '.'), Util.getDeltaComponentVersionsId(component2)}); > } catch (CoreException e) { > reportStatus(e); > } >@@ -506,7 +506,7 @@ > if (memberTypeElementDescription2 != null) { > memberTypeVisibility2 = memberTypeElementDescription2.getVisibility(); > } >- String deltaComponentID = Util.getDeltaComponentID(component2); >+ String deltaComponentID = Util.getDeltaComponentVersionsId(component2); > int restrictions = memberTypeElementDescription2 != null ? memberTypeElementDescription2.getRestrictions() : RestrictionModifiers.NO_RESTRICTIONS; > if (Util.isFinal(this.type2.getModifiers())) { > restrictions |= RestrictionModifiers.NO_EXTEND; >@@ -586,7 +586,7 @@ > typeMember.getModifiers(), > this.type1, > typeMember.getName(), >- new String[] { typeMember.getName().replace('$', '.'), Util.getDeltaComponentID(component2)}); >+ new String[] { typeMember.getName().replace('$', '.'), Util.getDeltaComponentVersionsId(component2)}); > } catch (CoreException e) { > reportStatus(e); > } >@@ -1006,8 +1006,8 @@ > IDelta.RESTRICTIONS, > restrictions2, > typeAccess, >- this.type1, >- this.type1.getName(), >+ this.type2, >+ this.type2.getName(), > Util.getDescriptorName(type1)); > } > } else { >@@ -1022,8 +1022,8 @@ > IDelta.RESTRICTIONS, > restrictions2, > typeAccess, >- this.type1, >- this.type1.getName(), >+ this.type2, >+ this.type2.getName(), > Util.getDescriptorName(type1)); > } > } >@@ -1038,8 +1038,8 @@ > IDelta.RESTRICTIONS, > restrictions2, > typeAccess, >- this.type1, >- this.type1.getName(), >+ this.type2, >+ this.type2.getName(), > Util.getDescriptorName(type1)); > } > } >Index: src/org/eclipse/pde/api/tools/internal/util/Util.java >=================================================================== >RCS file: /cvsroot/eclipse/pde/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/Util.java,v >retrieving revision 1.103 >diff -u -r1.103 Util.java >--- src/org/eclipse/pde/api/tools/internal/util/Util.java 17 Dec 2008 21:24:52 -0000 1.103 >+++ src/org/eclipse/pde/api/tools/internal/util/Util.java 5 Jan 2009 20:11:18 -0000 >@@ -1,5 +1,5 @@ > /******************************************************************************* >- * Copyright (c) 2007, 2008 IBM Corporation and others. >+ * Copyright (c) 2007, 2009 IBM Corporation and others. > * All rights reserved. This program and the accompanying materials > * are made available under the terms of the Eclipse Public License v1.0 > * which accompanies this distribution, and is available at >@@ -677,6 +677,8 @@ > case IDelta.API_METHOD_WITHOUT_DEFAULT_VALUE : return "API_METHOD_WITHOUT_DEFAULT_VALUE"; //$NON-NLS-1$ > case IDelta.TYPE_ARGUMENT : return "TYPE_ARGUMENT"; //$NON-NLS-1$ > case IDelta.SUPER_INTERFACE_WITH_METHODS : return "SUPER_INTERFACE_WITH_METHODS"; //$NON-NLS-1$ >+ case IDelta.REEXPORTED_API_TYPE : return "REEXPORTED_API_TYPE"; //$NON-NLS-1$ >+ case IDelta.REEXPORTED_TYPE : return "REEXPORTED_TYPE"; //$NON-NLS-1$ > } > return UNKNOWN_FLAGS; > } >@@ -2448,7 +2450,14 @@ > return set; > } > >- public static String getDeltaComponentID(IApiComponent component) { >+ /** >+ * Returns an identifier for the given API component including its version identifier >+ * (component id + _ + major + _ + minor + _ + micro) >+ * >+ * @param component API component >+ * @return API component + version identifier >+ */ >+ public static String getDeltaComponentVersionsId(IApiComponent component) { > try { > StringBuffer buffer = new StringBuffer(component.getId()); > String version = component.getVersion(); >Index: src/org/eclipse/pde/api/tools/internal/problems/problemmessages.properties >=================================================================== >RCS file: /cvsroot/eclipse/pde/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/problems/problemmessages.properties,v >retrieving revision 1.51 >diff -u -r1.51 problemmessages.properties >--- src/org/eclipse/pde/api/tools/internal/problems/problemmessages.properties 6 Dec 2008 17:29:35 -0000 1.51 >+++ src/org/eclipse/pde/api/tools/internal/problems/problemmessages.properties 5 Jan 2009 20:11:17 -0000 >@@ -1,5 +1,5 @@ > ############################################################################### >-# Copyright (c) 2008 IBM Corporation and others. >+# Copyright (c) 2008, 2009 IBM Corporation and others. > # All rights reserved. This program and the accompanying materials > # are made available under the terms of the Eclipse Public License v1.0 > # which accompanies this distribution, and is available at >@@ -11,7 +11,7 @@ > # the slot 107 has been removed. So it is open again for another message > # remove messages for 31, 38, 42, > # 45, 46, 47, 48, 49, 50, 51, 52, 53, 57, 58, 59, 60, 62, 63, 65, 68, 70, 71, 74, 75, 80, >-# 82, 83, 88, 90, 93, 05, 99, 103, 124 >+# 82, 83, 88, 90, 93, 05 > #api profile > 1 = An API baseline has not been set for the current workspace. > >@@ -140,4 +140,6 @@ > 25 = The local type {0} defined in {1} illegally extends {2} > 28 = An anonymous type defined in {0} illegally extends {1} > 99 = API analysis aborted: {0} has unresolved constraints: {1} >-30 = The API problem filter for: ''{0}'' is no longer used >\ No newline at end of file >+30 = The API problem filter for: ''{0}'' is no longer used >+134 = The re-exported type {0} in {1} is no longer API >+135 = The re-exported type {0} has been removed from {1} >Index: src/org/eclipse/pde/api/tools/internal/problems/ApiProblemFactory.java >=================================================================== >RCS file: /cvsroot/eclipse/pde/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/problems/ApiProblemFactory.java,v >retrieving revision 1.43 >diff -u -r1.43 ApiProblemFactory.java >--- src/org/eclipse/pde/api/tools/internal/problems/ApiProblemFactory.java 4 Dec 2008 17:18:21 -0000 1.43 >+++ src/org/eclipse/pde/api/tools/internal/problems/ApiProblemFactory.java 5 Jan 2009 20:11:17 -0000 >@@ -1,5 +1,5 @@ > /******************************************************************************* >- * Copyright (c) 2008 IBM Corporation and others. >+ * Copyright (c) 2008, 2009 IBM Corporation and others. > * All rights reserved. This program and the accompanying materials > * are made available under the terms of the Eclipse Public License v1.0 > * which accompanies this distribution, and is available at >@@ -553,6 +553,8 @@ > case IDelta.API_METHOD_WITHOUT_DEFAULT_VALUE: return 130; > case IDelta.TYPE_ARGUMENT: return 107; > case IDelta.SUPERCLASS: return 131; >+ case IDelta.REEXPORTED_API_TYPE: return 134; >+ case IDelta.REEXPORTED_TYPE: return 135; > } > } > } >Index: src/org/eclipse/pde/api/tools/internal/provisional/ApiPlugin.java >=================================================================== >RCS file: /cvsroot/eclipse/pde/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/ApiPlugin.java,v >retrieving revision 1.48 >diff -u -r1.48 ApiPlugin.java >--- src/org/eclipse/pde/api/tools/internal/provisional/ApiPlugin.java 4 Dec 2008 17:18:22 -0000 1.48 >+++ src/org/eclipse/pde/api/tools/internal/provisional/ApiPlugin.java 5 Jan 2009 20:11:17 -0000 >@@ -1,5 +1,5 @@ > /******************************************************************************* >- * Copyright (c) 2007, 2008 IBM Corporation and others. >+ * Copyright (c) 2007, 2009 IBM Corporation and others. > * All rights reserved. This program and the accompanying materials > * are made available under the terms of the Eclipse Public License v1.0 > * which accompanies this distribution, and is available at >@@ -152,6 +152,8 @@ > public static String[] AllCompatibilityKeys = new String[] { > IApiProblemTypes.API_COMPONENT_REMOVED_TYPE, > IApiProblemTypes.API_COMPONENT_REMOVED_API_TYPE, >+ IApiProblemTypes.API_COMPONENT_REMOVED_REEXPORTED_TYPE, >+ IApiProblemTypes.API_COMPONENT_REMOVED_REEXPORTED_API_TYPE, > IApiProblemTypes.ANNOTATION_REMOVED_FIELD, > IApiProblemTypes.ANNOTATION_REMOVED_METHOD, > IApiProblemTypes.ANNOTATION_REMOVED_TYPE_MEMBER, >Index: src/org/eclipse/pde/api/tools/internal/provisional/problems/IApiProblemTypes.java >=================================================================== >RCS file: /cvsroot/eclipse/pde/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/problems/IApiProblemTypes.java,v >retrieving revision 1.36 >diff -u -r1.36 IApiProblemTypes.java >--- src/org/eclipse/pde/api/tools/internal/provisional/problems/IApiProblemTypes.java 4 Dec 2008 17:18:21 -0000 1.36 >+++ src/org/eclipse/pde/api/tools/internal/provisional/problems/IApiProblemTypes.java 5 Jan 2009 20:11:18 -0000 >@@ -1,5 +1,5 @@ > /******************************************************************************* >- * Copyright (c) 2008 IBM Corporation and others. >+ * Copyright (c) 2008, 2009 IBM Corporation and others. > * All rights reserved. This program and the accompanying materials > * are made available under the terms of the Eclipse Public License v1.0 > * which accompanies this distribution, and is available at >@@ -26,6 +26,11 @@ > Util.getDeltaPrefererenceKey(IDelta.API_COMPONENT_ELEMENT_TYPE, IDelta.REMOVED, IDelta.TYPE); > public static final String API_COMPONENT_REMOVED_API_TYPE = > Util.getDeltaPrefererenceKey(IDelta.API_COMPONENT_ELEMENT_TYPE, IDelta.REMOVED, IDelta.API_TYPE); >+ // Compatibility problems >+ public static final String API_COMPONENT_REMOVED_REEXPORTED_TYPE = >+ Util.getDeltaPrefererenceKey(IDelta.API_COMPONENT_ELEMENT_TYPE, IDelta.REMOVED, IDelta.REEXPORTED_TYPE); >+ public static final String API_COMPONENT_REMOVED_REEXPORTED_API_TYPE = >+ Util.getDeltaPrefererenceKey(IDelta.API_COMPONENT_ELEMENT_TYPE, IDelta.REMOVED, IDelta.REEXPORTED_API_TYPE); > public static final String ANNOTATION_REMOVED_FIELD = > Util.getDeltaPrefererenceKey(IDelta.ANNOTATION_ELEMENT_TYPE, IDelta.REMOVED, IDelta.FIELD); > public static final String ANNOTATION_REMOVED_METHOD =
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 258882
:
121552
| 121556