# HG changeset patch # User timkelly # Date 1249060693 18000 # Node ID 029b44ea21ed1ed2eded054daebf56f949d38c51 # Parent 79d3b00c9f459fd809269ea291dadc9e4a4a2646 merge build breaks from Austin/dev/ide/carbidecpp35/MCL_carbidecpp35. Made to build with Eclipse 3.5 and CDT 6.0. diff -r 79d3b00c9f45 -r 029b44ea21ed connectivity/com.nokia.carbide.remoteConnections/META-INF/MANIFEST.MF --- a/connectivity/com.nokia.carbide.remoteConnections/META-INF/MANIFEST.MF Thu Jul 30 14:55:52 2009 -0500 +++ b/connectivity/com.nokia.carbide.remoteConnections/META-INF/MANIFEST.MF Fri Jul 31 12:18:13 2009 -0500 @@ -10,7 +10,8 @@ org.eclipse.ui, com.nokia.cpp.utils.core, org.eclipse.emf.ecore.xmi;bundle-version="2.4.0", - org.eclipse.core.net;bundle-version="1.1.0" + org.eclipse.core.net;bundle-version="1.1.0", + org.eclipse.help;bundle-version="3.4.0" Bundle-RequiredExecutionEnvironment: J2SE-1.5 Bundle-ActivationPolicy: lazy Export-Package: com.nokia.carbide.installpackages, diff -r 79d3b00c9f45 -r 029b44ea21ed core/com.nokia.carbide.cpp.sdk.core.test/META-INF/MANIFEST.MF --- a/core/com.nokia.carbide.cpp.sdk.core.test/META-INF/MANIFEST.MF Thu Jul 30 14:55:52 2009 -0500 +++ b/core/com.nokia.carbide.cpp.sdk.core.test/META-INF/MANIFEST.MF Fri Jul 31 12:18:13 2009 -0500 @@ -11,7 +11,8 @@ com.nokia.carbide.cpp.sdk.core, org.eclipse.emf.common, com.nokia.cpp.utils.core, - com.nokia.carbide.cpp.epoc.engine + com.nokia.carbide.cpp.epoc.engine, + org.eclipse.emf.ecore Bundle-ActivationPolicy: lazy Export-Package: com.nokia.carbide.cpp.sdk.core.test Bundle-RequiredExecutionEnvironment: J2SE-1.5 diff -r 79d3b00c9f45 -r 029b44ea21ed core/com.nokia.carbide.cpp/plugin.xml --- a/core/com.nokia.carbide.cpp/plugin.xml Thu Jul 30 14:55:52 2009 -0500 +++ b/core/com.nokia.carbide.cpp/plugin.xml Fri Jul 31 12:18:13 2009 -0500 @@ -456,13 +456,6 @@ - - - - - - - diff -r 79d3b00c9f45 -r 029b44ea21ed core/com.nokia.carbide.cpp/src/com/nokia/carbide/cpp/CustomAboutDialog.java --- a/core/com.nokia.carbide.cpp/src/com/nokia/carbide/cpp/CustomAboutDialog.java Thu Jul 30 14:55:52 2009 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,446 +0,0 @@ -/* -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of the License "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: -* -*/ -package com.nokia.carbide.cpp; - -import java.net.URL; -import java.util.ArrayList; -import java.util.LinkedList; - -import org.eclipse.core.runtime.IBundleGroup; -import org.eclipse.core.runtime.IBundleGroupProvider; -import org.eclipse.core.runtime.IProduct; -import org.eclipse.core.runtime.Platform; -import org.eclipse.jface.dialogs.IDialogConstants; -import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.jface.resource.JFaceColors; -import org.eclipse.osgi.util.NLS; -import org.eclipse.swt.SWT; -import org.eclipse.swt.accessibility.AccessibleAdapter; -import org.eclipse.swt.accessibility.AccessibleEvent; -import org.eclipse.swt.custom.BusyIndicator; -import org.eclipse.swt.custom.StyledText; -import org.eclipse.swt.events.DisposeEvent; -import org.eclipse.swt.events.DisposeListener; -import org.eclipse.swt.events.SelectionAdapter; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.graphics.Color; -import org.eclipse.swt.graphics.Cursor; -import org.eclipse.swt.graphics.Image; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.layout.RowLayout; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Display; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Shell; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.internal.BrandingProperties; -import org.eclipse.ui.internal.IWorkbenchHelpContextIds; -import org.eclipse.ui.internal.ProductProperties; -import org.eclipse.ui.internal.WorkbenchMessages; -import org.eclipse.ui.internal.about.AboutBundleGroupData; -import org.eclipse.ui.internal.about.AboutFeaturesButtonManager; -import org.eclipse.ui.internal.dialogs.AboutFeaturesDialog; -import org.eclipse.ui.internal.dialogs.AboutPluginsDialog; -import org.eclipse.ui.internal.dialogs.AboutSystemDialog; -import org.eclipse.ui.internal.dialogs.ProductInfoDialog; - -public class CustomAboutDialog extends ProductInfoDialog { - private final static int MAX_IMAGE_WIDTH_FOR_TEXT = 250; - - private final static int FEATURES_ID = IDialogConstants.CLIENT_ID + 1; - - private final static int PLUGINS_ID = IDialogConstants.CLIENT_ID + 2; - - private final static int INFO_ID = IDialogConstants.CLIENT_ID + 3; - - private String productName; - - private IProduct product; - - private AboutBundleGroupData[] bundleGroupInfos; - - private ArrayList images = new ArrayList(); - - private AboutFeaturesButtonManager buttonManager = new AboutFeaturesButtonManager(); - - // TODO should the styled text be disposed? if not then it likely - // doesn't need to be a member - private StyledText text; - - /** - * Create an instance of the AboutDialog for the given window. - * - * @param parentShell The parent of the dialog. - */ - public CustomAboutDialog(Shell parentShell) { - super(parentShell); - setHelpAvailable(false); - product = Platform.getProduct(); - if (product != null) - productName = product.getName(); - if (productName == null) - productName = WorkbenchMessages.AboutDialog_defaultProductName; - - // create a descriptive object for each BundleGroup - IBundleGroupProvider[] providers = Platform.getBundleGroupProviders(); - LinkedList groups = new LinkedList(); - if (providers != null) - for (int i = 0; i < providers.length; ++i) { - IBundleGroup[] bundleGroups = providers[i].getBundleGroups(); - for (int j = 0; j < bundleGroups.length; ++j) - groups.add(new AboutBundleGroupData(bundleGroups[j])); - } - bundleGroupInfos = (AboutBundleGroupData[]) groups - .toArray(new AboutBundleGroupData[0]); - } - - /* - * (non-Javadoc) Method declared on Dialog. - */ - protected void buttonPressed(int buttonId) { - switch (buttonId) { - case FEATURES_ID: - new AboutFeaturesDialog(getShell(), productName, bundleGroupInfos) - .open(); - break; - case PLUGINS_ID: - new AboutPluginsDialog(getShell(), productName).open(); - break; - case INFO_ID: - BusyIndicator.showWhile(null, new Runnable() { - public void run() { - new AboutSystemDialog(getShell()).open(); - } - }); - break; - default: - super.buttonPressed(buttonId); - break; - } - } - - public boolean close() { - // dispose all images - for (int i = 0; i < images.size(); ++i) { - Image image = (Image) images.get(i); - image.dispose(); - } - - return super.close(); - } - - /* - * (non-Javadoc) Method declared on Window. - */ - protected void configureShell(Shell newShell) { - super.configureShell(newShell); - newShell.setText(NLS.bind(WorkbenchMessages.AboutDialog_shellTitle, - productName)); - PlatformUI.getWorkbench().getHelpSystem().setHelp(newShell, - IWorkbenchHelpContextIds.ABOUT_DIALOG); - } - - /** - * Add buttons to the dialog's button bar. Subclasses should override. - * - * @param parent the button bar composite - */ - protected void createButtonsForButtonBar(Composite parent) { - parent.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - - createFeatureImageButtonRow(parent); - - // bug 64232: the feature details button should only be created if there - // are features to show - if (bundleGroupInfos != null && bundleGroupInfos.length > 0) - createButton(parent, FEATURES_ID, - WorkbenchMessages.AboutDialog_featureInfo, false); - - createButton(parent, PLUGINS_ID, - WorkbenchMessages.AboutDialog_pluginInfo, false); - createButton(parent, INFO_ID, WorkbenchMessages.AboutDialog_systemInfo, - false); - - Label l = new Label(parent, SWT.NONE); - l.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - GridLayout layout = (GridLayout) parent.getLayout(); - layout.numColumns = layout.numColumns + 2; - layout.makeColumnsEqualWidth = false; - - Button b = createButton(parent, IDialogConstants.OK_ID, - IDialogConstants.OK_LABEL, true); - b.setFocus(); - } - - /** - * Creates and returns the contents of the upper part of the dialog (above - * the button bar). Subclasses should overide. - * - * @param parent the parent composite to contain the dialog area - * @return the dialog area control - */ - protected Control createDialogArea(Composite parent) { - final Cursor hand = new Cursor(parent.getDisplay(), SWT.CURSOR_HAND); - final Cursor busy = new Cursor(parent.getDisplay(), SWT.CURSOR_WAIT); - setHandCursor(hand); - setBusyCursor(busy); - getShell().addDisposeListener(new DisposeListener() { - public void widgetDisposed(DisposeEvent e) { - setHandCursor(null); - hand.dispose(); - setBusyCursor(null); - busy.dispose(); - } - }); - - // brand the about box if there is product info - Image aboutImage = null; - if (product != null) { - ImageDescriptor imageDescriptor = ProductProperties - .getAboutImage(product); - if (imageDescriptor != null) - aboutImage = imageDescriptor.createImage(); - - // if the about image is small enough, then show the text - if (aboutImage == null - || aboutImage.getBounds().width <= MAX_IMAGE_WIDTH_FOR_TEXT) { - String aboutText = ProductProperties.getAboutText(product); - if (aboutText != null) - setItem(scan(aboutText)); - } - - if (aboutImage != null) - images.add(aboutImage); - } - - // create a composite which is the parent of the top area and the bottom - // button bar, this allows there to be a second child of this composite - // with - // a banner background on top but not have on the bottom - Composite workArea = new Composite(parent, SWT.NONE); - GridLayout workLayout = new GridLayout(); - workLayout.marginHeight = 0; - workLayout.marginWidth = 0; - workLayout.verticalSpacing = 0; - workLayout.horizontalSpacing = 0; - workArea.setLayout(workLayout); - workArea.setLayoutData(new GridData(GridData.FILL_BOTH)); - - // page group - Color background = JFaceColors.getBannerBackground(parent.getDisplay()); - Color foreground = JFaceColors.getBannerForeground(parent.getDisplay()); - Composite top = (Composite) super.createDialogArea(workArea); - - // override any layout inherited from createDialogArea - GridLayout layout = new GridLayout(); - layout.marginHeight = 0; - layout.marginWidth = 0; - layout.verticalSpacing = 0; - layout.horizontalSpacing = 0; - top.setLayout(layout); - top.setLayoutData(new GridData(GridData.FILL_BOTH)); - top.setBackground(background); - top.setForeground(foreground); - - // the image & text - Composite topContainer = new Composite(top, SWT.NONE); - topContainer.setBackground(background); - topContainer.setForeground(foreground); - - layout = new GridLayout(); - layout.numColumns = (aboutImage == null || getItem() == null ? 1 : 2); - layout.marginWidth = 0; - layout.marginHeight = 0; - layout.verticalSpacing = 0; - layout.horizontalSpacing = 0; - topContainer.setLayout(layout); - GridData data = new GridData(); - data.horizontalAlignment = GridData.FILL; - data.grabExcessHorizontalSpace = true; - topContainer.setLayoutData(data); - - // image on left side of dialog - if (aboutImage != null) { - Label imageLabel = new Label(topContainer, SWT.NONE); - imageLabel.setBackground(background); - imageLabel.setForeground(foreground); - - data = new GridData(); - data.horizontalAlignment = GridData.FILL; - data.verticalAlignment = GridData.BEGINNING; - data.grabExcessHorizontalSpace = false; - imageLabel.setLayoutData(data); - imageLabel.setImage(aboutImage); - } - - if (getItem() != null) { - // there is no margins around the image, so insert an extra - // composite - // here to provide some margins for the text. - Composite textContainer = new Composite(topContainer, SWT.NONE); - textContainer.setBackground(background); - textContainer.setForeground(foreground); - - layout = new GridLayout(); - layout.numColumns = 1; - layout.marginRight = 17; - layout.marginTop = 0; - textContainer.setLayout(layout); - data = new GridData(); - data.horizontalAlignment = GridData.FILL; - data.verticalAlignment = GridData.BEGINNING; - data.grabExcessHorizontalSpace = true; - textContainer.setLayoutData(data); - - // Image on the right - Label textImageLabel = new Label(textContainer, SWT.NONE); - URL url = BrandingProperties - .getUrl(product.getProperty("aboutTextImage"), product - .getDefiningBundle()); - Image textImage = ImageDescriptor.createFromURL(url).createImage(); - textImageLabel.setImage(textImage); - textImageLabel.setBackground(background); - textImageLabel.setForeground(foreground); - data = new GridData(); - data.horizontalAlignment = SWT.RIGHT; - data.verticalIndent = 7; - textImageLabel.setLayoutData(data); - - // Version information on the right - Label versionLabel = new Label(textContainer, SWT.NONE); - data = new GridData(); - data.horizontalAlignment = SWT.RIGHT; - data.verticalIndent = 8; - versionLabel.setText(product.getProperty("versionText")); - versionLabel.setBackground(background); - versionLabel.setForeground(foreground); - versionLabel.setLayoutData(data); - - Label trialDaysLabel = new Label(textContainer, SWT.NONE); - trialDaysLabel.setText(""); - trialDaysLabel.setBackground(background); - trialDaysLabel.setForeground(Display.getDefault() - .getSystemColor(SWT.COLOR_RED)); - data = new GridData(); - data.horizontalAlignment = SWT.RIGHT; - trialDaysLabel.setLayoutData(data); -/* IRegistrationManager manager = ExtensionManager - .getRegistrationManager(); - if (manager != null) { - RegistrationStatus status = manager.getStatus(); - if (RegistrationStatus.REGISTERED != status) { - int daysLeft = manager.getTrialDaysLeft(); - if (RegistrationStatus.EXPIRED == status) { - trialDaysLabel.setText(Messages.About_Trial_Expired); - } else if (daysLeft < 2) { - trialDaysLabel.setText(MessageFormat.format( - Messages.About_One_TrialDay_Left_Text, - new Object[] { daysLeft })); - } else { - trialDaysLabel.setText(MessageFormat.format( - Messages.About_Several_TrialDays_Left_Text, - new Object[] { daysLeft })); - } - } - } -*/ - // copyright text on the right - text = new StyledText(textContainer, SWT.MULTI | SWT.READ_ONLY); - text.setCaret(null); - text.setFont(parent.getFont()); - data = new GridData(); - data.verticalIndent = 14; - data.horizontalAlignment = GridData.FILL; - data.verticalAlignment = GridData.BEGINNING; - data.grabExcessHorizontalSpace = true; - text.setText(getItem().getText()); - text.setLayoutData(data); - text.setCursor(null); - text.setBackground(background); - text.setForeground(foreground); - - setLinkRanges(text, getItem().getLinkRanges()); - addListeners(text); - } - - // horizontal bar - Label bar = new Label(workArea, SWT.HORIZONTAL | SWT.SEPARATOR); - data = new GridData(); - data.horizontalAlignment = GridData.FILL; - bar.setLayoutData(data); - - return workArea; - } - - private void createFeatureImageButtonRow(Composite parent) { - Composite featureContainer = new Composite(parent, SWT.NONE); - RowLayout rowLayout = new RowLayout(); - rowLayout.wrap = true; - featureContainer.setLayout(rowLayout); - GridData data = new GridData(); - data.horizontalAlignment = GridData.FILL; - featureContainer.setLayoutData(data); - - for (int i = 0; i < bundleGroupInfos.length; i++) - createFeatureButton(featureContainer, bundleGroupInfos[i]); - } - - private Button createFeatureButton(Composite parent, - final AboutBundleGroupData info) { - if (!buttonManager.add(info)) - return null; - - ImageDescriptor desc = info.getFeatureImage(); - Image featureImage = null; - - Button button = new Button(parent, SWT.FLAT | SWT.PUSH); - button.setData(info); - featureImage = desc.createImage(); - images.add(featureImage); - button.setImage(featureImage); - button.setToolTipText(info.getProviderName()); - - button.getAccessible().addAccessibleListener(new AccessibleAdapter() { - /* - * (non-Javadoc) - * - * @see org.eclipse.swt.accessibility.AccessibleAdapter#getName(org.eclipse.swt.accessibility.AccessibleEvent) - */ - public void getName(AccessibleEvent e) { - e.result = info.getProviderName(); - } - }); - button.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent event) { - AboutBundleGroupData[] groupInfos = buttonManager - .getRelatedInfos(info); - AboutBundleGroupData selection = (AboutBundleGroupData) event.widget - .getData(); - - AboutFeaturesDialog d = new AboutFeaturesDialog(getShell(), - productName, groupInfos); - d.setInitialSelection(selection); - d.open(); - } - }); - - return button; - } -} diff -r 79d3b00c9f45 -r 029b44ea21ed core/com.nokia.carbide.cpp/src/com/nokia/carbide/cpp/ProductStartup.java --- a/core/com.nokia.carbide.cpp/src/com/nokia/carbide/cpp/ProductStartup.java Thu Jul 30 14:55:52 2009 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,118 +0,0 @@ -/* -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of the License "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: -* -*/ -package com.nokia.carbide.cpp; - -import java.lang.reflect.InvocationHandler; -import java.lang.reflect.Method; -import java.lang.reflect.Proxy; - -import org.eclipse.jface.action.ActionContributionItem; -import org.eclipse.jface.action.IAction; -import org.eclipse.jface.action.IContributionItem; -import org.eclipse.jface.action.MenuManager; -import org.eclipse.jface.preference.IPreferenceStore; -import org.eclipse.swt.widgets.Display; -import org.eclipse.ui.IStartup; -import org.eclipse.ui.IWindowListener; -import org.eclipse.ui.IWorkbenchWindow; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.internal.WorkbenchWindow; - -public class ProductStartup implements IStartup { - - - public void replaceAboutAction(final IWorkbenchWindow window) - { - - if (window == null || !(window instanceof WorkbenchWindow)) - return; - MenuManager manager = ((WorkbenchWindow)window).getMenuManager(); - final IPreferenceStore store = ProductPlugin.getDefault().getPreferenceStore(); - - for (IContributionItem item : manager.getItems()) { - if (item instanceof MenuManager) { - MenuManager mgr = (MenuManager) item; - if (item.getId().equals("help")) - { - final IContributionItem contrib = mgr.remove("about"); - - if (contrib instanceof ActionContributionItem) { - final IAction about = ((ActionContributionItem) contrib) - .getAction(); - mgr.add(new ActionContributionItem((IAction) Proxy - .newProxyInstance(about.getClass() - .getClassLoader(), - new Class[] { IAction.class }, - new InvocationHandler() { - - public Object invoke(Object arg0, Method method, Object[] arg2) throws Throwable { - - if ("runWithEvent" - .equals(method - .getName()) - || "run".equals(method - .getName())) { - new CustomAboutDialog( - window.getShell()) - .open(); - return null; - } - return method.invoke(about, - arg2); - } - }))); - } - - } - } - } - - } - - public void initializeMenus() { - - PlatformUI.getWorkbench().addWindowListener(new IWindowListener() { - - public void windowActivated(IWorkbenchWindow window) { - } - - public void windowClosed(IWorkbenchWindow window) { - } - - public void windowDeactivated(IWorkbenchWindow window) { - } - - public void windowOpened(IWorkbenchWindow window) { - replaceAboutAction(window); - } - }); - - Display.getDefault().asyncExec(new Runnable() { - public void run() { - replaceAboutAction(PlatformUI.getWorkbench().getActiveWorkbenchWindow()); - } - }); - - } - - public void earlyStartup() { - - initializeMenus(); - - } - -} diff -r 79d3b00c9f45 -r 029b44ea21ed uidesigner/com.nokia.sdt.component.symbian/src/com/nokia/sdt/component/symbian/scripting/ComponentScriptingManager.java --- a/uidesigner/com.nokia.sdt.component.symbian/src/com/nokia/sdt/component/symbian/scripting/ComponentScriptingManager.java Thu Jul 30 14:55:52 2009 -0500 +++ b/uidesigner/com.nokia.sdt.component.symbian/src/com/nokia/sdt/component/symbian/scripting/ComponentScriptingManager.java Fri Jul 31 12:18:13 2009 -0500 @@ -27,7 +27,6 @@ import com.nokia.sdt.utils.drawing.TextRendering; import org.eclipse.core.runtime.Path; -import org.eclipse.osgi.framework.internal.core.PackageSource; import org.eclipse.swt.SWT; import org.eclipse.swt.graphics.*; diff -r 79d3b00c9f45 -r 029b44ea21ed uidesigner/com.nokia.sdt.emf.dm/META-INF/MANIFEST.MF --- a/uidesigner/com.nokia.sdt.emf.dm/META-INF/MANIFEST.MF Thu Jul 30 14:55:52 2009 -0500 +++ b/uidesigner/com.nokia.sdt.emf.dm/META-INF/MANIFEST.MF Fri Jul 31 12:18:13 2009 -0500 @@ -15,6 +15,7 @@ com.nokia.sdt.uimodel, com.nokia.cpp.utils.core, org.eclipse.emf.ecore.xmi, - org.eclipse.emf.edit + org.eclipse.emf.edit, + org.eclipse.swt;bundle-version="3.5.0" Bundle-ActivationPolicy: lazy Bundle-Activator: com.nokia.sdt.emf.dm.DataModelPlugin diff -r 79d3b00c9f45 -r 029b44ea21ed uidesigner/com.nokia.sdt.sourcegen/src/com/nokia/sdt/sourcegen/core/WorkInProgressCodeReaderCache.java --- a/uidesigner/com.nokia.sdt.sourcegen/src/com/nokia/sdt/sourcegen/core/WorkInProgressCodeReaderCache.java Thu Jul 30 14:55:52 2009 -0500 +++ b/uidesigner/com.nokia.sdt.sourcegen/src/com/nokia/sdt/sourcegen/core/WorkInProgressCodeReaderCache.java Fri Jul 31 12:18:13 2009 -0500 @@ -17,10 +17,13 @@ package com.nokia.sdt.sourcegen.core; +import java.io.IOException; +import java.util.HashMap; + +import org.eclipse.cdt.core.index.IIndexFileLocation; import org.eclipse.cdt.core.parser.CodeReader; import org.eclipse.cdt.core.parser.ICodeReaderCache; - -import java.util.HashMap; +import org.eclipse.core.runtime.CoreException; /** * ICodeReaderCache that has infinite storage. Used during sourcegen. @@ -78,4 +81,8 @@ map.put(key, reader); } + public CodeReader get(String key, IIndexFileLocation ifl) throws CoreException, IOException { + // TODO this method added in CDT 6.0 - do we need to do anything with ifl? + return get(key); + } } \ No newline at end of file