From 9e854093ca97702b846cf8a4c3b36f068a5c8163 Mon Sep 17 00:00:00 2001 From: Alain Magloire Date: Sun, 31 Aug 2003 23:54:16 +0000 Subject: [PATCH] Add method to save ErrorParsers --- .../src/org/eclipse/cdt/core/CCorePlugin.java | 29 ++++++++++--------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/CCorePlugin.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/CCorePlugin.java index 361ae66883e..29f77b90ec6 100644 --- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/CCorePlugin.java +++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/CCorePlugin.java @@ -718,24 +718,19 @@ public class CCorePlugin extends Plugin { } /** - * Array of error parsers extensions. + * Array of error parsers ids. * @return */ - public IErrorParser[] getErrorParsers() { + public String[] getAllErrorParsersIDs() { IExtensionPoint extension = getDescriptor().getExtensionPoint(ERROR_PARSER_SIMPLE_ID); - IErrorParser[] empty = new IErrorParser[0]; + String[] empty = new String[0]; if (extension != null) { IExtension[] extensions = extension.getExtensions(); - IConfigurationElement[] configElements = extensions[0].getConfigurationElements(); - ArrayList list = new ArrayList(configElements.length); - for (int i = 0; i < configElements.length; i++) { - try { - IErrorParser parser = (IErrorParser) configElements[i].createExecutableExtension("class"); - list.add(parser); - } catch (CoreException e) { - } + ArrayList list = new ArrayList(extensions.length); + for (int i = 0; i < extensions.length; i++) { + list.add(extensions[i].getUniqueIdentifier()); } - return (IErrorParser[]) list.toArray(empty); + return (String[]) list.toArray(empty); } return empty; } @@ -765,7 +760,7 @@ public class CCorePlugin extends Plugin { } public String[] getPreferenceErrorParserIDs() { - String parserIDs = CCorePlugin.getDefault().getPluginPreferences().getString(PREF_USE_NEW_PARSER); + String parserIDs = CCorePlugin.getDefault().getPluginPreferences().getString(PREF_ERROR_PARSER); String[] empty = new String[0]; if (parserIDs != null && parserIDs.length() > 0) { StringTokenizer tok = new StringTokenizer(parserIDs, ";"); @@ -778,6 +773,14 @@ public class CCorePlugin extends Plugin { return empty; } + public void setPreferenceErrorParser(String[] parsersIDs) { + StringBuffer buf = new StringBuffer(); + for (int i = 0; i < parsersIDs.length; i++) { + buf.append(parsersIDs[i]).append(';'); + } + CCorePlugin.getDefault().getPluginPreferences().setValue(PREF_ERROR_PARSER, buf.toString()); + } + public IScannerInfoProvider getScannerInfoProvider(IProject project) { IScannerInfoProvider provider = null; if (project != null) {