1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-22 06:02:11 +02:00

Fix deprecation warnings

This commit is contained in:
Anton Leherbauer 2011-02-14 14:18:46 +00:00
parent 44d5f87460
commit 60080b30c7
14 changed files with 153 additions and 80 deletions

View file

@ -1,5 +1,5 @@
/******************************************************************************* /*******************************************************************************
* Copyright (c) 2004, 2010 IBM Corporation and others. * Copyright (c) 2004, 2011 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0 * are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at * which accompanies this distribution, and is available at
@ -20,7 +20,8 @@ import java.util.List;
import org.eclipse.cdt.core.CCorePlugin; import org.eclipse.cdt.core.CCorePlugin;
import org.eclipse.cdt.core.IBinaryParser; import org.eclipse.cdt.core.IBinaryParser;
import org.eclipse.cdt.core.ICExtensionReference; import org.eclipse.cdt.core.model.CoreModelUtil;
import org.eclipse.cdt.core.settings.model.ICConfigExtensionReference;
import org.eclipse.cdt.utils.CygPath; import org.eclipse.cdt.utils.CygPath;
import org.eclipse.cdt.utils.ICygwinToolsFactroy; import org.eclipse.cdt.utils.ICygwinToolsFactroy;
import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IProject;
@ -43,10 +44,10 @@ public class CygpathTranslator {
public CygpathTranslator(IProject project) { public CygpathTranslator(IProject project) {
try { try {
ICExtensionReference[] parserRef = CCorePlugin.getDefault().getBinaryParserExtensions(project); ICConfigExtensionReference[] parserRef = CCorePlugin.getDefault().getDefaultBinaryParserExtensions(project);
for (int i = 0; i < parserRef.length; i++) { for (int i = 0; i < parserRef.length; i++) {
try { try {
IBinaryParser parser = (IBinaryParser)parserRef[i].createExtension(); IBinaryParser parser = CoreModelUtil.getBinaryParser(parserRef[i]);
ICygwinToolsFactroy cygwinToolFactory = (ICygwinToolsFactroy) parser.getAdapter(ICygwinToolsFactroy.class); ICygwinToolsFactroy cygwinToolFactory = (ICygwinToolsFactroy) parser.getAdapter(ICygwinToolsFactroy.class);
if (cygwinToolFactory != null) { if (cygwinToolFactory != null) {
cygPath = cygwinToolFactory.getCygPath(); cygPath = cygwinToolFactory.getCygPath();

View file

@ -1,5 +1,5 @@
/******************************************************************************* /*******************************************************************************
* Copyright (c) 2002, 2010 QNX Software Systems and others. * Copyright (c) 2002, 2011 QNX Software Systems and others.
* All rights reserved. This program and the accompanying materials * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0 * are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at * which accompanies this distribution, and is available at
@ -18,17 +18,21 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import org.eclipse.cdt.core.CCorePlugin; import org.eclipse.cdt.core.CCorePlugin;
import org.eclipse.cdt.core.IBinaryParser;
import org.eclipse.cdt.core.index.IIndexFileLocation; import org.eclipse.cdt.core.index.IIndexFileLocation;
import org.eclipse.cdt.core.index.IndexLocationFactory; import org.eclipse.cdt.core.index.IndexLocationFactory;
import org.eclipse.cdt.core.settings.model.ICConfigExtensionReference;
import org.eclipse.cdt.core.settings.model.ICConfigurationDescription; import org.eclipse.cdt.core.settings.model.ICConfigurationDescription;
import org.eclipse.cdt.core.settings.model.ICProjectDescription; import org.eclipse.cdt.core.settings.model.ICProjectDescription;
import org.eclipse.cdt.core.settings.model.ICTargetPlatformSetting; import org.eclipse.cdt.core.settings.model.ICTargetPlatformSetting;
import org.eclipse.cdt.internal.core.model.BinaryParserConfig;
import org.eclipse.cdt.internal.core.resources.ResourceLookup; import org.eclipse.cdt.internal.core.resources.ResourceLookup;
import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource; import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.IWorkspaceRoot; import org.eclipse.core.resources.IWorkspaceRoot;
import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.IPath;
/** /**
@ -791,4 +795,16 @@ public class CoreModelUtil {
cfg.getTargetPlatformSetting().setBinaryParserIds(pids); cfg.getTargetPlatformSetting().setBinaryParserIds(pids);
} }
} }
/**
* Instantiate binary parser for given extension reference.
*
* @param ref binary parser extension reference
* @return a binary parser instance
* @throws CoreException if the parser could not be created
* @since 5.3
*/
public static IBinaryParser getBinaryParser(ICConfigExtensionReference ref) throws CoreException {
return new BinaryParserConfig(ref).getBinaryParser();
}
} }

View file

@ -1,5 +1,5 @@
/******************************************************************************* /*******************************************************************************
* Copyright (c) 2007, 2009 IBM Corporation and others. * Copyright (c) 2007, 2011 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0 * are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at * which accompanies this distribution, and is available at
@ -16,8 +16,8 @@ import java.io.StringReader;
import java.io.StringWriter; import java.io.StringWriter;
import java.util.Iterator; import java.util.Iterator;
import java.util.Map; import java.util.Map;
import java.util.TreeMap;
import java.util.Map.Entry; import java.util.Map.Entry;
import java.util.TreeMap;
import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException; import javax.xml.parsers.ParserConfigurationException;
@ -31,14 +31,17 @@ import javax.xml.transform.stream.StreamResult;
import org.eclipse.cdt.core.CCorePlugin; import org.eclipse.cdt.core.CCorePlugin;
import org.eclipse.cdt.core.CCorePreferenceConstants; import org.eclipse.cdt.core.CCorePreferenceConstants;
import org.eclipse.cdt.core.ICDescriptor;
import org.eclipse.cdt.core.language.ProjectLanguageConfiguration; import org.eclipse.cdt.core.language.ProjectLanguageConfiguration;
import org.eclipse.cdt.core.language.WorkspaceLanguageConfiguration; import org.eclipse.cdt.core.language.WorkspaceLanguageConfiguration;
import org.eclipse.cdt.core.settings.model.ICProjectDescription;
import org.eclipse.cdt.core.settings.model.ICStorageElement; import org.eclipse.cdt.core.settings.model.ICStorageElement;
import org.eclipse.cdt.internal.core.Util; import org.eclipse.cdt.internal.core.Util;
import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.Preferences; import org.eclipse.core.runtime.preferences.DefaultScope;
import org.eclipse.core.runtime.preferences.IEclipsePreferences;
import org.eclipse.core.runtime.preferences.InstanceScope;
import org.osgi.service.prefs.BackingStoreException;
import org.w3c.dom.Document; import org.w3c.dom.Document;
import org.w3c.dom.Element; import org.w3c.dom.Element;
import org.w3c.dom.NodeList; import org.w3c.dom.NodeList;
@ -72,8 +75,8 @@ public class LanguageMappingStore {
public ProjectLanguageConfiguration decodeMappings(IProject project) throws CoreException { public ProjectLanguageConfiguration decodeMappings(IProject project) throws CoreException {
ProjectLanguageConfiguration config = new ProjectLanguageConfiguration(); ProjectLanguageConfiguration config = new ProjectLanguageConfiguration();
ICDescriptor descriptor = getProjectDescription(project); ICProjectDescription descriptor = getProjectDescription(project, false);
ICStorageElement rootElement = descriptor.getProjectStorageElement(LANGUAGE_MAPPING_ID); ICStorageElement rootElement = descriptor.getStorage(LANGUAGE_MAPPING_ID, false);
if (rootElement == null) { if (rootElement == null) {
return config; return config;
} }
@ -106,8 +109,8 @@ public class LanguageMappingStore {
return decodedMappings; return decodedMappings;
} }
protected ICDescriptor getProjectDescription(IProject project) throws CoreException { protected ICProjectDescription getProjectDescription(IProject project, boolean write) throws CoreException {
return CCorePlugin.getDefault().getCProjectDescription(project, true); return CCorePlugin.getDefault().getProjectDescription(project, write);
} }
private Map<String, String> decodeContentTypeMappings(Element rootElement) throws CoreException { private Map<String, String> decodeContentTypeMappings(Element rootElement) throws CoreException {
@ -146,8 +149,8 @@ public class LanguageMappingStore {
} }
public void storeMappings(IProject project, ProjectLanguageConfiguration config) throws CoreException { public void storeMappings(IProject project, ProjectLanguageConfiguration config) throws CoreException {
ICDescriptor descriptor = getProjectDescription(project); ICProjectDescription descriptor = getProjectDescription(project, true);
ICStorageElement rootElement = descriptor.getProjectStorageElement(LANGUAGE_MAPPING_ID); ICStorageElement rootElement = descriptor.getStorage(LANGUAGE_MAPPING_ID, true);
// clear all children and settings // clear all children and settings
rootElement.clear(); rootElement.clear();
@ -155,7 +158,7 @@ public class LanguageMappingStore {
addProjectContentTypeMappings(config.getContentTypeMappings(), projectMappings); addProjectContentTypeMappings(config.getContentTypeMappings(), projectMappings);
addFileMappings(config.getFileMappings(), projectMappings); addFileMappings(config.getFileMappings(), projectMappings);
descriptor.saveProjectData(); CCorePlugin.getDefault().setProjectDescription(project, descriptor);
} }
private void addProjectContentTypeMappings(Map<String, Map<String, String>> contentTypeMappings, ICStorageElement rootElement) { private void addProjectContentTypeMappings(Map<String, Map<String, String>> contentTypeMappings, ICStorageElement rootElement) {
@ -192,19 +195,25 @@ public class LanguageMappingStore {
serializer.transform(source, result); serializer.transform(source, result);
String encodedMappings = buffer.getBuffer().toString(); String encodedMappings = buffer.getBuffer().toString();
Preferences node = CCorePlugin.getDefault().getPluginPreferences(); IEclipsePreferences node = new InstanceScope().getNode(CCorePlugin.PLUGIN_ID);
node.setValue(CCorePreferenceConstants.WORKSPACE_LANGUAGE_MAPPINGS, encodedMappings); node.put(CCorePreferenceConstants.WORKSPACE_LANGUAGE_MAPPINGS, encodedMappings);
CCorePlugin.getDefault().savePluginPreferences(); node.flush();
} catch (ParserConfigurationException e) { } catch (ParserConfigurationException e) {
throw new CoreException(Util.createStatus(e)); throw new CoreException(Util.createStatus(e));
} catch (TransformerException e) { } catch (TransformerException e) {
throw new CoreException(Util.createStatus(e)); throw new CoreException(Util.createStatus(e));
} catch (BackingStoreException e) {
throw new CoreException(Util.createStatus(e));
} }
} }
public WorkspaceLanguageConfiguration decodeWorkspaceMappings() throws CoreException { public WorkspaceLanguageConfiguration decodeWorkspaceMappings() throws CoreException {
Preferences node = CCorePlugin.getDefault().getPluginPreferences(); IEclipsePreferences node = new InstanceScope().getNode(CCorePlugin.PLUGIN_ID);
String encodedMappings = node.getString(CCorePreferenceConstants.WORKSPACE_LANGUAGE_MAPPINGS); IEclipsePreferences defaultNode = new DefaultScope().getNode(CCorePlugin.PLUGIN_ID);
String encodedMappings = defaultNode.get(CCorePreferenceConstants.WORKSPACE_LANGUAGE_MAPPINGS, null);
if (encodedMappings == null) {
encodedMappings = node.get(CCorePreferenceConstants.WORKSPACE_LANGUAGE_MAPPINGS, null);
}
WorkspaceLanguageConfiguration config = new WorkspaceLanguageConfiguration(); WorkspaceLanguageConfiguration config = new WorkspaceLanguageConfiguration();
if (encodedMappings == null || encodedMappings.length() == 0) { if (encodedMappings == null || encodedMappings.length() == 0) {

View file

@ -1,5 +1,5 @@
/******************************************************************************* /*******************************************************************************
* Copyright (c) 2007, 2010 Intel Corporation and others. * Copyright (c) 2007, 2011 Intel Corporation and others.
* All rights reserved. This program and the accompanying materials * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0 * are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at * which accompanies this distribution, and is available at
@ -97,6 +97,7 @@ public class ConfigBasedPathEntryStore implements IPathEntryStore, ICProjectDesc
return fProject; return fProject;
} }
@Deprecated
public ICExtensionReference getExtensionReference() { public ICExtensionReference getExtensionReference() {
return null; return null;
} }

View file

@ -1,5 +1,5 @@
/******************************************************************************* /*******************************************************************************
* Copyright (c) 2008, 2009 Symbian Software Systems and others. * Copyright (c) 2008, 2011 Symbian Software Systems and others.
* All rights reserved. This program and the accompanying materials * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0 * are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at * which accompanies this distribution, and is available at
@ -23,7 +23,7 @@ import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.Path; import org.eclipse.core.runtime.Path;
import org.eclipse.cdt.core.CCorePlugin; import org.eclipse.cdt.core.CCorePlugin;
import org.eclipse.cdt.core.ICDescriptor; import org.eclipse.cdt.core.settings.model.ICProjectDescription;
import org.eclipse.cdt.core.settings.model.ICStorageElement; import org.eclipse.cdt.core.settings.model.ICStorageElement;
import org.eclipse.cdt.ui.CUIPlugin; import org.eclipse.cdt.ui.CUIPlugin;
import org.eclipse.cdt.ui.text.doctools.IDocCommentOwner; import org.eclipse.cdt.ui.text.doctools.IDocCommentOwner;
@ -114,8 +114,9 @@ class ProjectMap {
private static Map<IPath, String> load(IProject project) throws CoreException { private static Map<IPath, String> load(IProject project) throws CoreException {
Map<IPath, String> result= new HashMap<IPath, String>(); Map<IPath, String> result= new HashMap<IPath, String>();
ICDescriptor pd= CCorePlugin.getDefault().getCProjectDescription(project, true); ICProjectDescription pd= CCorePlugin.getDefault().getProjectDescription(project, false);
ICStorageElement e = pd.getProjectStorageElement(ATTRVAL_STORAGEID); ICStorageElement e = pd.getStorage(ATTRVAL_STORAGEID, false);
if (e != null) {
for (ICStorageElement node : e.getChildrenByName(ELEMENT_DOC_COMMENT_OWNER)) { for (ICStorageElement node : e.getChildrenByName(ELEMENT_DOC_COMMENT_OWNER)) {
String commentOwnerID = node.getAttribute(ATTRKEY_DCO_ID); String commentOwnerID = node.getAttribute(ATTRKEY_DCO_ID);
if(commentOwnerID != null) { if(commentOwnerID != null) {
@ -127,6 +128,7 @@ class ProjectMap {
} }
} }
} }
}
return result; return result;
} }
@ -134,10 +136,10 @@ class ProjectMap {
* Write the map to the .cproject file * Write the map to the .cproject file
*/ */
public void save() throws CoreException { public void save() throws CoreException {
ICDescriptor pd= CCorePlugin.getDefault().getCProjectDescription(fProject, true); ICProjectDescription pd= CCorePlugin.getDefault().getProjectDescription(fProject, true);
// remove current associations // remove current associations
ICStorageElement data = pd.getProjectStorageElement(ATTRVAL_STORAGEID); ICStorageElement data = pd.getStorage(ATTRVAL_STORAGEID, true);
for (ICStorageElement child : data.getChildren()) for (ICStorageElement child : data.getChildren())
data.removeChild(child); data.removeChild(child);
@ -155,6 +157,6 @@ class ProjectMap {
} }
} }
} }
pd.saveProjectData(); CCorePlugin.getDefault().setProjectDescription(fProject, pd);
} }
} }

View file

@ -1,5 +1,5 @@
/******************************************************************************* /*******************************************************************************
* Copyright (c) 2003, 2008 IBM Corporation and others. * Copyright (c) 2003, 2011 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0 * are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at * which accompanies this distribution, and is available at
@ -36,7 +36,9 @@ import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Text; import org.eclipse.swt.widgets.Text;
import org.eclipse.cdt.core.CCorePlugin; import org.eclipse.cdt.core.CCorePlugin;
import org.eclipse.cdt.core.ICExtensionReference; import org.eclipse.cdt.core.settings.model.ICConfigExtensionReference;
import org.eclipse.cdt.core.settings.model.ICConfigurationDescription;
import org.eclipse.cdt.core.settings.model.ICProjectDescription;
import org.eclipse.cdt.ui.CUIPlugin; import org.eclipse.cdt.ui.CUIPlugin;
import org.eclipse.cdt.utils.ui.controls.ControlFactory; import org.eclipse.cdt.utils.ui.controls.ControlFactory;
@ -71,8 +73,15 @@ public abstract class AbstractGNUBinaryParserPage extends AbstractCOptionPage {
monitor.beginTask(CUIMessages.BinaryParserPage_task_savingAttributes, 1); monitor.beginTask(CUIMessages.BinaryParserPage_task_savingAttributes, 1);
IProject proj = getContainer().getProject(); IProject proj = getContainer().getProject();
if (proj != null) { if (proj != null) {
ICExtensionReference[] cext = CCorePlugin.getDefault().getBinaryParserExtensions(proj); ICConfigExtensionReference[] cext = null;
if (cext.length > 0) { ICProjectDescription desc = CCorePlugin.getDefault().getProjectDescription(proj, true);
if (desc != null) {
ICConfigurationDescription cfgDesc = desc.getDefaultSettingConfiguration();
if (cfgDesc != null) {
cext = cfgDesc.get(CCorePlugin.BINARY_PARSER_UNIQ_ID);
}
}
if (cext != null && cext.length > 0) {
initializeParserId(); initializeParserId();
for (int i = 0; i < cext.length; i++) { for (int i = 0; i < cext.length; i++) {
if (cext[i].getID().equals(parserID)) { if (cext[i].getID().equals(parserID)) {
@ -86,6 +95,7 @@ public abstract class AbstractGNUBinaryParserPage extends AbstractCOptionPage {
} }
} }
} }
CCorePlugin.getDefault().setProjectDescription(proj, desc);
} }
} else { } else {
Preferences store = getContainer().getPreferences(); Preferences store = getContainer().getPreferences();
@ -243,7 +253,7 @@ public abstract class AbstractGNUBinaryParserPage extends AbstractCOptionPage {
IProject proj = getContainer().getProject(); IProject proj = getContainer().getProject();
if (proj != null) { if (proj != null) {
try { try {
ICExtensionReference[] cext = CCorePlugin.getDefault().getBinaryParserExtensions(proj); ICConfigExtensionReference[] cext = CCorePlugin.getDefault().getDefaultBinaryParserExtensions(proj);
if (cext.length > 0) { if (cext.length > 0) {
initializeParserId(); initializeParserId();
for (int i = 0; i < cext.length; i++) { for (int i = 0; i < cext.length; i++) {

View file

@ -1,5 +1,5 @@
/******************************************************************************* /*******************************************************************************
* Copyright (c) 2003, 2010 IBM Corporation and others. * Copyright (c) 2003, 2011 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0 * are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at * which accompanies this distribution, and is available at
@ -37,7 +37,7 @@ import org.eclipse.ui.PlatformUI;
import org.eclipse.cdt.core.CCorePlugin; import org.eclipse.cdt.core.CCorePlugin;
import org.eclipse.cdt.core.ICDescriptor; import org.eclipse.cdt.core.ICDescriptor;
import org.eclipse.cdt.core.ICDescriptorOperation; import org.eclipse.cdt.core.ICDescriptorOperation;
import org.eclipse.cdt.core.ICExtensionReference; import org.eclipse.cdt.core.settings.model.ICConfigExtensionReference;
import org.eclipse.cdt.ui.CUIPlugin; import org.eclipse.cdt.ui.CUIPlugin;
import org.eclipse.cdt.utils.ui.controls.ControlFactory; import org.eclipse.cdt.utils.ui.controls.ControlFactory;
@ -287,9 +287,9 @@ public class BinaryParserBlock extends AbstractBinaryParserPage {
if (getContainer().getProject() != null) { if (getContainer().getProject() != null) {
try { try {
ICExtensionReference[] ref = CCorePlugin.getDefault().getBinaryParserExtensions(getContainer().getProject()); ICConfigExtensionReference[] ref = CCorePlugin.getDefault().getDefaultBinaryParserExtensions(getContainer().getProject());
initialSelected = new ArrayList<BinaryParserConfiguration>(ref.length); initialSelected = new ArrayList<BinaryParserConfiguration>(ref.length);
for (ICExtensionReference element : ref) { for (ICConfigExtensionReference element : ref) {
if (configMap.get(element.getID()) != null) { if (configMap.get(element.getID()) != null) {
initialSelected.add(configMap.get(element.getID())); initialSelected.add(configMap.get(element.getID()));
elements.add(configMap.get(element.getID())); elements.add(configMap.get(element.getID()));

View file

@ -1,5 +1,5 @@
/******************************************************************************* /*******************************************************************************
* Copyright (c) 2003, 2009 IBM Corporation and others. * Copyright (c) 2003, 2011 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0 * are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at * which accompanies this distribution, and is available at
@ -36,7 +36,9 @@ import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Text; import org.eclipse.swt.widgets.Text;
import org.eclipse.cdt.core.CCorePlugin; import org.eclipse.cdt.core.CCorePlugin;
import org.eclipse.cdt.core.ICExtensionReference; import org.eclipse.cdt.core.settings.model.ICConfigExtensionReference;
import org.eclipse.cdt.core.settings.model.ICConfigurationDescription;
import org.eclipse.cdt.core.settings.model.ICProjectDescription;
import org.eclipse.cdt.ui.CUIPlugin; import org.eclipse.cdt.ui.CUIPlugin;
import org.eclipse.cdt.utils.ui.controls.ControlFactory; import org.eclipse.cdt.utils.ui.controls.ControlFactory;
@ -77,8 +79,15 @@ public class CygwinPEBinaryParserPage extends AbstractCOptionPage {
IProject proj = getContainer().getProject(); IProject proj = getContainer().getProject();
if (proj != null) { if (proj != null) {
String parserID = ""; //$NON-NLS-1$ String parserID = ""; //$NON-NLS-1$
ICExtensionReference[] cext = CCorePlugin.getDefault().getBinaryParserExtensions(proj); ICConfigExtensionReference[] cext = null;
if (cext.length > 0) { ICProjectDescription desc = CCorePlugin.getDefault().getProjectDescription(proj, true);
if (desc != null) {
ICConfigurationDescription cfgDesc = desc.getDefaultSettingConfiguration();
if (cfgDesc != null) {
cext = cfgDesc.get(CCorePlugin.BINARY_PARSER_UNIQ_ID);
}
}
if (cext != null && cext.length > 0) {
IExtensionPoint point = Platform.getExtensionRegistry().getExtensionPoint(CUIPlugin.PLUGIN_ID, "BinaryParserPage"); //$NON-NLS-1$ IExtensionPoint point = Platform.getExtensionRegistry().getExtensionPoint(CUIPlugin.PLUGIN_ID, "BinaryParserPage"); //$NON-NLS-1$
IConfigurationElement[] infos = point.getConfigurationElements(); IConfigurationElement[] infos = point.getConfigurationElements();
for (int i = 0; i < infos.length; i++) { for (int i = 0; i < infos.length; i++) {
@ -110,6 +119,7 @@ public class CygwinPEBinaryParserPage extends AbstractCOptionPage {
} }
} }
} }
CCorePlugin.getDefault().setProjectDescription(proj, desc);
} }
} else { } else {
Preferences store = getContainer().getPreferences(); Preferences store = getContainer().getPreferences();
@ -336,7 +346,7 @@ public class CygwinPEBinaryParserPage extends AbstractCOptionPage {
IProject proj = getContainer().getProject(); IProject proj = getContainer().getProject();
if (proj != null) { if (proj != null) {
try { try {
ICExtensionReference[] cext = CCorePlugin.getDefault().getBinaryParserExtensions(proj); ICConfigExtensionReference[] cext = CCorePlugin.getDefault().getDefaultBinaryParserExtensions(proj);
if (cext.length > 0) { if (cext.length > 0) {
addr2line = cext[0].getExtensionData("addr2line"); //$NON-NLS-1$; addr2line = cext[0].getExtensionData("addr2line"); //$NON-NLS-1$;
cppfilt = cext[0].getExtensionData("c++filt"); //$NON-NLS-1$; cppfilt = cext[0].getExtensionData("c++filt"); //$NON-NLS-1$;

View file

@ -1,5 +1,5 @@
/******************************************************************************* /*******************************************************************************
* Copyright (c) 2003, 2009 IBM Corporation and others. * Copyright (c) 2003, 2011 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0 * are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at * which accompanies this distribution, and is available at
@ -36,7 +36,9 @@ import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Text; import org.eclipse.swt.widgets.Text;
import org.eclipse.cdt.core.CCorePlugin; import org.eclipse.cdt.core.CCorePlugin;
import org.eclipse.cdt.core.ICExtensionReference; import org.eclipse.cdt.core.settings.model.ICConfigExtensionReference;
import org.eclipse.cdt.core.settings.model.ICConfigurationDescription;
import org.eclipse.cdt.core.settings.model.ICProjectDescription;
import org.eclipse.cdt.ui.CUIPlugin; import org.eclipse.cdt.ui.CUIPlugin;
import org.eclipse.cdt.utils.ui.controls.ControlFactory; import org.eclipse.cdt.utils.ui.controls.ControlFactory;
@ -68,8 +70,15 @@ public class MachOBinaryParserPage extends AbstractCOptionPage {
IProject proj = getContainer().getProject(); IProject proj = getContainer().getProject();
if (proj != null) { if (proj != null) {
String parserID = ""; //$NON-NLS-1$ String parserID = ""; //$NON-NLS-1$
ICExtensionReference[] cext = CCorePlugin.getDefault().getBinaryParserExtensions(proj); ICConfigExtensionReference[] cext = null;
if (cext.length > 0) { ICProjectDescription desc = CCorePlugin.getDefault().getProjectDescription(proj, true);
if (desc != null) {
ICConfigurationDescription cfgDesc = desc.getDefaultSettingConfiguration();
if (cfgDesc != null) {
cext = cfgDesc.get(CCorePlugin.BINARY_PARSER_UNIQ_ID);
}
}
if (cext != null && cext.length > 0) {
IExtensionPoint point = Platform.getExtensionRegistry().getExtensionPoint(CUIPlugin.PLUGIN_ID, "BinaryParserPage"); //$NON-NLS-1$ IExtensionPoint point = Platform.getExtensionRegistry().getExtensionPoint(CUIPlugin.PLUGIN_ID, "BinaryParserPage"); //$NON-NLS-1$
IConfigurationElement[] infos = point.getConfigurationElements(); IConfigurationElement[] infos = point.getConfigurationElements();
for (int i = 0; i < infos.length; i++) { for (int i = 0; i < infos.length; i++) {
@ -90,6 +99,7 @@ public class MachOBinaryParserPage extends AbstractCOptionPage {
} }
} }
} }
CCorePlugin.getDefault().setProjectDescription(proj, desc);
} }
} else { } else {
Preferences store = getContainer().getPreferences(); Preferences store = getContainer().getPreferences();
@ -188,7 +198,7 @@ public class MachOBinaryParserPage extends AbstractCOptionPage {
IProject proj = getContainer().getProject(); IProject proj = getContainer().getProject();
if (proj != null) { if (proj != null) {
try { try {
ICExtensionReference[] cext = CCorePlugin.getDefault().getBinaryParserExtensions(proj); ICConfigExtensionReference[] cext = CCorePlugin.getDefault().getDefaultBinaryParserExtensions(proj);
if (cext.length > 0) { if (cext.length > 0) {
cppfilt = cext[0].getExtensionData("c++filt"); //$NON-NLS-1$ cppfilt = cext[0].getExtensionData("c++filt"); //$NON-NLS-1$
} }

View file

@ -1,5 +1,5 @@
/******************************************************************************* /*******************************************************************************
* Copyright (c) 2004, 2010 QNX Software Systems and others. * Copyright (c) 2004, 2011 QNX Software Systems and others.
* All rights reserved. This program and the accompanying materials * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0 * are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at * which accompanies this distribution, and is available at
@ -21,10 +21,11 @@ import java.util.Map;
import org.eclipse.cdt.core.CCorePlugin; import org.eclipse.cdt.core.CCorePlugin;
import org.eclipse.cdt.core.IAddress; import org.eclipse.cdt.core.IAddress;
import org.eclipse.cdt.core.IBinaryParser; import org.eclipse.cdt.core.IBinaryParser;
import org.eclipse.cdt.core.ICExtensionReference;
import org.eclipse.cdt.core.IBinaryParser.IBinaryExecutable; import org.eclipse.cdt.core.IBinaryParser.IBinaryExecutable;
import org.eclipse.cdt.core.IBinaryParser.IBinaryFile; import org.eclipse.cdt.core.IBinaryParser.IBinaryFile;
import org.eclipse.cdt.core.IBinaryParser.IBinaryObject; import org.eclipse.cdt.core.IBinaryParser.IBinaryObject;
import org.eclipse.cdt.core.model.CoreModelUtil;
import org.eclipse.cdt.core.settings.model.ICConfigExtensionReference;
import org.eclipse.cdt.debug.core.cdi.model.ICDITarget; import org.eclipse.cdt.debug.core.cdi.model.ICDITarget;
import org.eclipse.cdt.debug.core.model.ICAddressBreakpoint; import org.eclipse.cdt.debug.core.model.ICAddressBreakpoint;
import org.eclipse.cdt.debug.core.model.ICBreakpoint; import org.eclipse.cdt.debug.core.model.ICBreakpoint;
@ -729,9 +730,9 @@ public class CDIDebugModel {
private static IBinaryExecutable getBinary( IFile file ) throws CoreException { private static IBinaryExecutable getBinary( IFile file ) throws CoreException {
IProject project = file.getProject(); IProject project = file.getProject();
ICExtensionReference[] binaryParsersExt = CCorePlugin.getDefault().getBinaryParserExtensions( project ); ICConfigExtensionReference[] binaryParsersExt = CCorePlugin.getDefault().getDefaultBinaryParserExtensions( project );
for( int i = 0; i < binaryParsersExt.length; i++ ) { for( int i = 0; i < binaryParsersExt.length; i++ ) {
IBinaryParser parser = (IBinaryParser)binaryParsersExt[i].createExtension(); IBinaryParser parser = CoreModelUtil.getBinaryParser(binaryParsersExt[i]);
try { try {
IBinaryFile exe = parser.getBinary( file.getLocation() ); IBinaryFile exe = parser.getBinary( file.getLocation() );
if ( exe instanceof IBinaryExecutable ) { if ( exe instanceof IBinaryExecutable ) {

View file

@ -1,5 +1,5 @@
/******************************************************************************* /*******************************************************************************
* Copyright (c) 2000, 2010 QNX Software Systems and others. * Copyright (c) 2000, 2011 QNX Software Systems and others.
* All rights reserved. This program and the accompanying materials * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0 * are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at * which accompanies this distribution, and is available at
@ -27,7 +27,8 @@ import org.eclipse.cdt.core.CCorePlugin;
import org.eclipse.cdt.core.IBinaryParser; import org.eclipse.cdt.core.IBinaryParser;
import org.eclipse.cdt.core.IBinaryParser.IBinaryFile; import org.eclipse.cdt.core.IBinaryParser.IBinaryFile;
import org.eclipse.cdt.core.IBinaryParser.IBinaryShared; import org.eclipse.cdt.core.IBinaryParser.IBinaryShared;
import org.eclipse.cdt.core.ICExtensionReference; import org.eclipse.cdt.core.model.CoreModelUtil;
import org.eclipse.cdt.core.settings.model.ICConfigExtensionReference;
import org.eclipse.cdt.debug.core.ICDTLaunchConfigurationConstants; import org.eclipse.cdt.debug.core.ICDTLaunchConfigurationConstants;
import org.eclipse.cdt.debug.mi.core.IMILaunchConfigurationConstants; import org.eclipse.cdt.debug.mi.core.IMILaunchConfigurationConstants;
import org.eclipse.cdt.debug.mi.core.MICoreUtils; import org.eclipse.cdt.debug.mi.core.MICoreUtils;
@ -94,6 +95,7 @@ public class SolibSearchPathBlock extends Observable implements IMILaunchConfigu
super( parentShell ); super( parentShell );
} }
@Override
protected Control createDialogArea( Composite parent ) { protected Control createDialogArea( Composite parent ) {
Composite composite = (Composite)super.createDialogArea( parent ); Composite composite = (Composite)super.createDialogArea( parent );
@ -119,6 +121,7 @@ public class SolibSearchPathBlock extends Observable implements IMILaunchConfigu
fBrowseButton.setLayoutData( data ); fBrowseButton.setLayoutData( data );
fBrowseButton.addSelectionListener( new SelectionAdapter() { fBrowseButton.addSelectionListener( new SelectionAdapter() {
@Override
public void widgetSelected( SelectionEvent evt ) { public void widgetSelected( SelectionEvent evt ) {
DirectoryDialog dialog = new DirectoryDialog( AddDirectoryDialog.this.getShell() ); DirectoryDialog dialog = new DirectoryDialog( AddDirectoryDialog.this.getShell() );
dialog.setMessage( MIUIMessages.getString( "SolibSearchPathBlock.5" ) ); //$NON-NLS-1$ dialog.setMessage( MIUIMessages.getString( "SolibSearchPathBlock.5" ) ); //$NON-NLS-1$
@ -133,6 +136,7 @@ public class SolibSearchPathBlock extends Observable implements IMILaunchConfigu
return composite; return composite;
} }
@Override
protected void configureShell( Shell newShell ) { protected void configureShell( Shell newShell ) {
super.configureShell( newShell ); super.configureShell( newShell );
newShell.setText( MIUIMessages.getString( "SolibSearchPathBlock.Add_Directory" ) ); //$NON-NLS-1$ newShell.setText( MIUIMessages.getString( "SolibSearchPathBlock.Add_Directory" ) ); //$NON-NLS-1$
@ -146,6 +150,7 @@ public class SolibSearchPathBlock extends Observable implements IMILaunchConfigu
fValue = ( value != null ) ? new Path( value ) : null; fValue = ( value != null ) ? new Path( value ) : null;
} }
@Override
protected void buttonPressed( int buttonId ) { protected void buttonPressed( int buttonId ) {
if ( buttonId == IDialogConstants.OK_ID ) { if ( buttonId == IDialogConstants.OK_ID ) {
setValue( fText.getText() ); setValue( fText.getText() );
@ -166,6 +171,7 @@ public class SolibSearchPathBlock extends Observable implements IMILaunchConfigu
return ( text.trim().length() > 0 ); return ( text.trim().length() > 0 );
} }
@Override
protected Control createButtonBar( Composite parent ) { protected Control createButtonBar( Composite parent ) {
Control control = super.createButtonBar( parent ); Control control = super.createButtonBar( parent );
updateOKButton(); updateOKButton();
@ -184,6 +190,7 @@ public class SolibSearchPathBlock extends Observable implements IMILaunchConfigu
/* (non-Javadoc) /* (non-Javadoc)
* @see org.eclipse.cdt.debug.internal.ui.dialogfields.ListDialogField#managedButtonPressed(int) * @see org.eclipse.cdt.debug.internal.ui.dialogfields.ListDialogField#managedButtonPressed(int)
*/ */
@Override
protected boolean managedButtonPressed( int index ) { protected boolean managedButtonPressed( int index ) {
boolean result = super.managedButtonPressed( index ); boolean result = super.managedButtonPressed( index );
if ( result ) if ( result )
@ -194,6 +201,7 @@ public class SolibSearchPathBlock extends Observable implements IMILaunchConfigu
/* (non-Javadoc) /* (non-Javadoc)
* @see org.eclipse.cdt.debug.mi.internal.ui.dialogfields.ListDialogField#getManagedButtonState(org.eclipse.jface.viewers.ISelection, int) * @see org.eclipse.cdt.debug.mi.internal.ui.dialogfields.ListDialogField#getManagedButtonState(org.eclipse.jface.viewers.ISelection, int)
*/ */
@Override
protected boolean getManagedButtonState( ISelection sel, int index ) { protected boolean getManagedButtonState( ISelection sel, int index ) {
if ( index > 3 ) if ( index > 3 )
return getButtonState( sel, index ); return getButtonState( sel, index );
@ -244,6 +252,7 @@ public class SolibSearchPathBlock extends Observable implements IMILaunchConfigu
} }
}; };
ILabelProvider lp = new LabelProvider() { ILabelProvider lp = new LabelProvider() {
@Override
public String getText( Object element ) { public String getText( Object element ) {
if ( element instanceof IPath ) if ( element instanceof IPath )
return ((IPath)element).toOSString(); return ((IPath)element).toOSString();
@ -464,6 +473,7 @@ public class SolibSearchPathBlock extends Observable implements IMILaunchConfigu
LabelProvider lp = new LabelProvider() { LabelProvider lp = new LabelProvider() {
@Override
public String getText( Object element ) { public String getText( Object element ) {
if ( element instanceof File ) if ( element instanceof File )
return ((File)element).getName(); return ((File)element).getName();
@ -529,9 +539,9 @@ public class SolibSearchPathBlock extends Observable implements IMILaunchConfigu
if ( project != null ) { if ( project != null ) {
IPath fullPath = new Path( file.getPath() ); IPath fullPath = new Path( file.getPath() );
try { try {
ICExtensionReference[] binaryParsersExt = CCorePlugin.getDefault().getBinaryParserExtensions( project ); ICConfigExtensionReference[] binaryParsersExt = CCorePlugin.getDefault().getDefaultBinaryParserExtensions( project );
for( int i = 0; i < binaryParsersExt.length; i++ ) { for( int i = 0; i < binaryParsersExt.length; i++ ) {
IBinaryParser parser = (IBinaryParser)binaryParsersExt[i].createExtension(); IBinaryParser parser = CoreModelUtil.getBinaryParser(binaryParsersExt[i]);
try { try {
IBinaryFile bin = parser.getBinary( fullPath ); IBinaryFile bin = parser.getBinary( fullPath );
if ( bin instanceof IBinaryShared ) { if ( bin instanceof IBinaryShared ) {
@ -563,9 +573,9 @@ public class SolibSearchPathBlock extends Observable implements IMILaunchConfigu
if ( project != null ) { if ( project != null ) {
IPath fullPath = new Path( file.getPath() ); IPath fullPath = new Path( file.getPath() );
try { try {
ICExtensionReference[] binaryParsersExt = CCorePlugin.getDefault().getBinaryParserExtensions( project ); ICConfigExtensionReference[] binaryParsersExt = CCorePlugin.getDefault().getDefaultBinaryParserExtensions( project );
for( int i = 0; i < binaryParsersExt.length; i++ ) { for( int i = 0; i < binaryParsersExt.length; i++ ) {
IBinaryParser parser = (IBinaryParser)binaryParsersExt[i].createExtension(); IBinaryParser parser = CoreModelUtil.getBinaryParser(binaryParsersExt[i]);
try { try {
IBinaryFile bin = parser.getBinary( fullPath ); IBinaryFile bin = parser.getBinary( fullPath );
return ( bin instanceof IBinaryShared ); return ( bin instanceof IBinaryShared );

View file

@ -1,5 +1,5 @@
/******************************************************************************* /*******************************************************************************
* Copyright (c) 2000, 2010 QNX Software Systems and others. * Copyright (c) 2000, 2011 QNX Software Systems and others.
* All rights reserved. This program and the accompanying materials * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0 * are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at * which accompanies this distribution, and is available at
@ -27,7 +27,8 @@ import org.eclipse.cdt.core.CCorePlugin;
import org.eclipse.cdt.core.IBinaryParser; import org.eclipse.cdt.core.IBinaryParser;
import org.eclipse.cdt.core.IBinaryParser.IBinaryFile; import org.eclipse.cdt.core.IBinaryParser.IBinaryFile;
import org.eclipse.cdt.core.IBinaryParser.IBinaryShared; import org.eclipse.cdt.core.IBinaryParser.IBinaryShared;
import org.eclipse.cdt.core.ICExtensionReference; import org.eclipse.cdt.core.model.CoreModelUtil;
import org.eclipse.cdt.core.settings.model.ICConfigExtensionReference;
import org.eclipse.cdt.debug.core.ICDTLaunchConfigurationConstants; import org.eclipse.cdt.debug.core.ICDTLaunchConfigurationConstants;
import org.eclipse.cdt.debug.internal.ui.dialogfields.DialogField; import org.eclipse.cdt.debug.internal.ui.dialogfields.DialogField;
import org.eclipse.cdt.debug.internal.ui.dialogfields.IDialogFieldListener; import org.eclipse.cdt.debug.internal.ui.dialogfields.IDialogFieldListener;
@ -500,7 +501,7 @@ public class SolibSearchPathBlock extends Observable implements IMILaunchConfigu
dialog.setTitle(LaunchUIMessages.getString("SolibSearchPathBlock.7")); //$NON-NLS-1$ dialog.setTitle(LaunchUIMessages.getString("SolibSearchPathBlock.7")); //$NON-NLS-1$
dialog.setMessage(LaunchUIMessages.getString("SolibSearchPathBlock.8")); //$NON-NLS-1$ dialog.setMessage(LaunchUIMessages.getString("SolibSearchPathBlock.8")); //$NON-NLS-1$
dialog.setEmptyListMessage(LaunchUIMessages.getString("SolibSearchPathBlock.9")); //$NON-NLS-1$ dialog.setEmptyListMessage(LaunchUIMessages.getString("SolibSearchPathBlock.9")); //$NON-NLS-1$
dialog.setSorter(new ViewerSorter()); dialog.setComparator(new ViewerSorter());
dialog.setInput(libs); dialog.setInput(libs);
dialog.setInitialElementSelections(Arrays.asList(fAutoSolibs)); dialog.setInitialElementSelections(Arrays.asList(fAutoSolibs));
if (dialog.open() == Window.OK) { if (dialog.open() == Window.OK) {
@ -555,9 +556,9 @@ public class SolibSearchPathBlock extends Observable implements IMILaunchConfigu
if (project != null) { if (project != null) {
IPath fullPath = new Path(file.getPath()); IPath fullPath = new Path(file.getPath());
try { try {
ICExtensionReference[] binaryParsersExt = CCorePlugin.getDefault().getBinaryParserExtensions(project); ICConfigExtensionReference[] binaryParsersExt = CCorePlugin.getDefault().getDefaultBinaryParserExtensions(project);
for(int i = 0; i < binaryParsersExt.length; i++) { for(int i = 0; i < binaryParsersExt.length; i++) {
IBinaryParser parser = (IBinaryParser)binaryParsersExt[i].createExtension(); IBinaryParser parser = CoreModelUtil.getBinaryParser(binaryParsersExt[i]);
try { try {
IBinaryFile bin = parser.getBinary(fullPath); IBinaryFile bin = parser.getBinary(fullPath);
if (bin instanceof IBinaryShared) { if (bin instanceof IBinaryShared) {
@ -589,9 +590,9 @@ public class SolibSearchPathBlock extends Observable implements IMILaunchConfigu
if (project != null) { if (project != null) {
IPath fullPath = new Path(file.getPath()); IPath fullPath = new Path(file.getPath());
try { try {
ICExtensionReference[] binaryParsersExt = CCorePlugin.getDefault().getBinaryParserExtensions(project); ICConfigExtensionReference[] binaryParsersExt = CCorePlugin.getDefault().getDefaultBinaryParserExtensions(project);
for(int i = 0; i < binaryParsersExt.length; i++) { for(int i = 0; i < binaryParsersExt.length; i++) {
IBinaryParser parser = (IBinaryParser)binaryParsersExt[i].createExtension(); IBinaryParser parser = CoreModelUtil.getBinaryParser(binaryParsersExt[i]);
try { try {
IBinaryFile bin = parser.getBinary(fullPath); IBinaryFile bin = parser.getBinary(fullPath);
return (bin instanceof IBinaryShared); return (bin instanceof IBinaryShared);

View file

@ -1,5 +1,5 @@
/******************************************************************************* /*******************************************************************************
* Copyright (c) 2010 Ericsson and others. * Copyright (c) 2010, 2011 Ericsson and others.
* All rights reserved. This program and the accompanying materials * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0 * are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at * which accompanies this distribution, and is available at
@ -27,12 +27,13 @@ import java.util.regex.Pattern;
import org.eclipse.cdt.core.CCorePlugin; import org.eclipse.cdt.core.CCorePlugin;
import org.eclipse.cdt.core.IBinaryParser; import org.eclipse.cdt.core.IBinaryParser;
import org.eclipse.cdt.core.IBinaryParser.IBinaryObject; import org.eclipse.cdt.core.IBinaryParser.IBinaryObject;
import org.eclipse.cdt.core.ICExtensionReference;
import org.eclipse.cdt.core.cdtvariables.CdtVariableException; import org.eclipse.cdt.core.cdtvariables.CdtVariableException;
import org.eclipse.cdt.core.cdtvariables.ICdtVariable; import org.eclipse.cdt.core.cdtvariables.ICdtVariable;
import org.eclipse.cdt.core.envvar.IEnvironmentVariable; import org.eclipse.cdt.core.envvar.IEnvironmentVariable;
import org.eclipse.cdt.core.model.CoreModel; import org.eclipse.cdt.core.model.CoreModel;
import org.eclipse.cdt.core.model.CoreModelUtil;
import org.eclipse.cdt.core.model.ICProject; import org.eclipse.cdt.core.model.ICProject;
import org.eclipse.cdt.core.settings.model.ICConfigExtensionReference;
import org.eclipse.cdt.core.settings.model.ICConfigurationDescription; import org.eclipse.cdt.core.settings.model.ICConfigurationDescription;
import org.eclipse.cdt.core.settings.model.ICProjectDescription; import org.eclipse.cdt.core.settings.model.ICProjectDescription;
import org.eclipse.cdt.debug.core.ICDTLaunchConfigurationConstants; import org.eclipse.cdt.debug.core.ICDTLaunchConfigurationConstants;
@ -137,10 +138,10 @@ public class LaunchUtils {
* @return An object representing the binary file. * @return An object representing the binary file.
*/ */
public static IBinaryObject verifyBinary(ILaunchConfiguration configuration, IPath exePath) throws CoreException { public static IBinaryObject verifyBinary(ILaunchConfiguration configuration, IPath exePath) throws CoreException {
ICExtensionReference[] parserRefs = CCorePlugin.getDefault().getBinaryParserExtensions(getCProject(configuration).getProject()); ICConfigExtensionReference[] parserRefs = CCorePlugin.getDefault().getDefaultBinaryParserExtensions(getCProject(configuration).getProject());
for (ICExtensionReference parserRef : parserRefs) { for (ICConfigExtensionReference parserRef : parserRefs) {
try { try {
IBinaryParser parser = (IBinaryParser)parserRef.createExtension(); IBinaryParser parser = CoreModelUtil.getBinaryParser(parserRef);
IBinaryObject exe = (IBinaryObject)parser.getBinary(exePath); IBinaryObject exe = (IBinaryObject)parser.getBinary(exePath);
if (exe != null) { if (exe != null) {
return exe; return exe;

View file

@ -19,8 +19,9 @@ import java.util.Set;
import org.eclipse.cdt.core.CCorePlugin; import org.eclipse.cdt.core.CCorePlugin;
import org.eclipse.cdt.core.IBinaryParser; import org.eclipse.cdt.core.IBinaryParser;
import org.eclipse.cdt.core.IBinaryParser.IBinaryObject; import org.eclipse.cdt.core.IBinaryParser.IBinaryObject;
import org.eclipse.cdt.core.ICExtensionReference;
import org.eclipse.cdt.core.model.CoreModel; import org.eclipse.cdt.core.model.CoreModel;
import org.eclipse.cdt.core.model.CoreModelUtil;
import org.eclipse.cdt.core.settings.model.ICConfigExtensionReference;
import org.eclipse.cdt.core.settings.model.ICConfigurationDescription; import org.eclipse.cdt.core.settings.model.ICConfigurationDescription;
import org.eclipse.cdt.core.settings.model.ICOutputEntry; import org.eclipse.cdt.core.settings.model.ICOutputEntry;
import org.eclipse.cdt.core.settings.model.ICProjectDescription; import org.eclipse.cdt.core.settings.model.ICProjectDescription;
@ -102,10 +103,10 @@ public class LaunchUtils {
* @since 6.0 * @since 6.0
*/ */
public static IBinaryObject getBinary(IProject project, IPath exePath) throws CoreException { public static IBinaryObject getBinary(IProject project, IPath exePath) throws CoreException {
ICExtensionReference[] parserRef = CCorePlugin.getDefault().getBinaryParserExtensions(project); ICConfigExtensionReference[] parserRef = CCorePlugin.getDefault().getDefaultBinaryParserExtensions(project);
for (int i = 0; i < parserRef.length; i++) { for (int i = 0; i < parserRef.length; i++) {
try { try {
IBinaryParser parser = (IBinaryParser)parserRef[i].createExtension(); IBinaryParser parser = CoreModelUtil.getBinaryParser(parserRef[i]);
IBinaryObject exe = (IBinaryObject)parser.getBinary(exePath); IBinaryObject exe = (IBinaryObject)parser.getBinary(exePath);
if (exe != null) { if (exe != null) {
return exe; return exe;