diff options
author | Chris Recoskie | 2006-07-24 18:34:31 +0000 |
---|---|---|
committer | Chris Recoskie | 2006-07-24 18:34:31 +0000 |
commit | b87f4ffff212c944240e45d8019c42293d01b372 (patch) | |
tree | 434c9996f804a348722cc06d36d6ed7e7c2ad7c9 /xlc/org.eclipse.cdt.errorparsers.xlc.tests | |
parent | 197ef4fc336b12af6c9c6797a925d0cd33a60dbd (diff) | |
download | org.eclipse.cdt-b87f4ffff212c944240e45d8019c42293d01b372.tar.gz org.eclipse.cdt-b87f4ffff212c944240e45d8019c42293d01b372.tar.xz org.eclipse.cdt-b87f4ffff212c944240e45d8019c42293d01b372.zip |
initial commit of xlC error parser
Diffstat (limited to 'xlc/org.eclipse.cdt.errorparsers.xlc.tests')
16 files changed, 546 insertions, 0 deletions
diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/.classpath b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/.classpath new file mode 100644 index 00000000000..7398f97e2d0 --- /dev/null +++ b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/.classpath @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry path="src" kind="src"/> + <classpathentry path="org.eclipse.jdt.launching.JRE_CONTAINER" kind="con"/> + <classpathentry path="org.eclipse.pde.core.requiredPlugins" kind="con"/> + <classpathentry path="bin" kind="output"/> +</classpath> diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/.project b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/.project new file mode 100644 index 00000000000..ab9159afd4b --- /dev/null +++ b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/.project @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>org.eclipse.cdt.errorparsers.xlc.tests</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.ManifestBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.SchemaBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.pde.PluginNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/META-INF/MANIFEST.MF b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/META-INF/MANIFEST.MF new file mode 100644 index 00000000000..9aea0bd0bba --- /dev/null +++ b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/META-INF/MANIFEST.MF @@ -0,0 +1,15 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: xlC Error Parser Tests Plug-in +Bundle-SymbolicName: org.eclipse.cdt.errorparsers.xlc.tests +Bundle-Version: 1.0.0 +Bundle-Activator: org.eclipse.cdt.errorparsers.xlc.tests.TestsPlugin +Bundle-Localization: plugin +Require-Bundle: org.eclipse.ui, + org.eclipse.core.runtime, + org.eclipse.cdt.errorparsers.xlc, + org.junit +Eclipse-LazyStart: true +Export-Package: org.eclipse.cdt.errorparsers.xlc.tests +Bundle-ClassPath: . +Bundle-Vendor: Eclipse.org diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/about.html b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/about.html new file mode 100644 index 00000000000..f8a1ce18403 --- /dev/null +++ b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/about.html @@ -0,0 +1,24 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>About</title></head> + +<body lang="EN-US"> +<h2>About This Content</h2> + +<p>July 24, 2006</p> +<h3>License</h3> + +<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available +at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>. +For purposes of the EPL, "Program" will mean the Content.</p> + +<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is +being redistributed by another party ("Redistributor") and different terms and conditions may +apply to your use of any object code in the Content. Check the Redistributor's license that was +provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise +indicated below, the terms and conditions of the EPL still apply to any source code in the Content +and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p> + +</body></html>
\ No newline at end of file diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/build.properties b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/build.properties new file mode 100644 index 00000000000..64ed0af057d --- /dev/null +++ b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/build.properties @@ -0,0 +1,8 @@ +bin.includes = META-INF/,\ + . +jars.compile.order = org.eclipse.cdt.errorparsers.xlc.tests.jar +src.includes = META-INF/,\ + build.properties,\ + .project,\ + .classpath +source.. = src/ diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/plugin.xml b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/plugin.xml new file mode 100644 index 00000000000..2407ba63304 --- /dev/null +++ b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/plugin.xml @@ -0,0 +1,2 @@ +<plugin> +</plugin> diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/AllXlcErrorParserTests.java b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/AllXlcErrorParserTests.java new file mode 100644 index 00000000000..72bcdaa7f52 --- /dev/null +++ b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/AllXlcErrorParserTests.java @@ -0,0 +1,36 @@ +/******************************************************************************* + * Copyright (c) 2006 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 + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.cdt.errorparsers.xlc.tests; + +import junit.framework.Test; +import junit.framework.TestSuite; + +public class AllXlcErrorParserTests { + public static void main(String[] args) { + junit.textui.TestRunner.run(AllXlcErrorParserTests.suite()); + } + + public static Test suite() { + TestSuite suite = new TestSuite( + "Testsuite for xlc compiler error parser"); + //$JUnit-BEGIN$ + suite.addTestSuite(TestUndeclIdent.class); + suite.addTestSuite(TestMissingArg.class); + suite.addTestSuite(TestFloatingPoint.class); + suite.addTestSuite(TestFuncArg.class); + suite.addTestSuite(TestOperModi.class); + suite.addTestSuite(TestConditional.class); + suite.addTestSuite(TestSyntaxError.class); + suite.addTestSuite(TestNoFuncProto.class); + //$JUnit-END$ + return suite; + } +}
\ No newline at end of file diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestConditional.java b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestConditional.java new file mode 100644 index 00000000000..0da09d25f3c --- /dev/null +++ b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestConditional.java @@ -0,0 +1,41 @@ +/******************************************************************************* + * Copyright (c) 2006 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 + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ + +package org.eclipse.cdt.errorparsers.xlc.tests; + +import org.eclipse.cdt.errorparsers.xlc.XlcErrorParser; + +import junit.framework.TestCase; + + +public class TestConditional extends TestCase { + String err_msg; + /** + * This function tests parseLine function of the + * XlcErrorParser class. Informative message generated + * by the xlc compiler is given as input for testing. + */ + public void testparseLine() + { + XlcErrorParser aix = new XlcErrorParser(); + aix.parseLine(err_msg); + assertEquals("temp8.c", aix.getFileName()); + assertEquals(12, aix.getLineNumber()); + assertEquals("I", aix.getSeverity()); + assertEquals(" The then branch of conditional is an empty statement.",aix.getMessage()); + } + public TestConditional( String name) + { + super(name); + err_msg = "\"temp8.c\", line 12.9: 1506-478 (I) " + + "The then branch of conditional is an empty statement."; + } +}
\ No newline at end of file diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestFloatingPoint.java b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestFloatingPoint.java new file mode 100644 index 00000000000..0460d5e5789 --- /dev/null +++ b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestFloatingPoint.java @@ -0,0 +1,43 @@ +/******************************************************************************* + * Copyright (c) 2006 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 + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ + +package org.eclipse.cdt.errorparsers.xlc.tests; + +import org.eclipse.cdt.errorparsers.xlc.XlcErrorParser; + +import junit.framework.TestCase; + + +public class TestFloatingPoint extends TestCase { + String err_msg; + /** + * This function tests parseLine function of the + * XlcErrorParser class. Error message generated by + * xlc compiler with high severity (S) is given as + * input for testing. + */ + public void testparseLine() + { + XlcErrorParser aix = new XlcErrorParser(); + aix.parseLine(err_msg); + assertEquals("temp9.c", aix.getFileName()); + assertEquals(11, aix.getLineNumber()); + assertEquals("S", aix.getSeverity()); + assertEquals(" Floating point constant 10.23.3 is not valid", + aix.getMessage()); + } + public TestFloatingPoint( String name) + { + super(name); + err_msg = "\"temp9.c\", line 11.18: 1506-189 (S) " + + "Floating point constant 10.23.3 is not valid"; + } +}
\ No newline at end of file diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestFuncArg.java b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestFuncArg.java new file mode 100644 index 00000000000..96b42de2242 --- /dev/null +++ b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestFuncArg.java @@ -0,0 +1,44 @@ +/******************************************************************************* + * Copyright (c) 2006 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 + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ + +package org.eclipse.cdt.errorparsers.xlc.tests; + +import org.eclipse.cdt.errorparsers.xlc.XlcErrorParser; + +import junit.framework.TestCase; + +public class TestFuncArg extends TestCase { + String err_msg; + /** + * This function tests parseLine function of the + * XlcErrorParser class. Error message generated by + * xlc compiler with high severity (S) is given as + * input for testing. + */ + public void testparseLine() + { + XlcErrorParser aix = new XlcErrorParser(); + aix.parseLine(err_msg); + assertEquals("temp9.c", aix.getFileName()); + assertEquals(12, aix.getLineNumber()); + assertEquals("S", aix.getSeverity()); + assertEquals(" Function argument assignment between types " + + "\"int\" and \"char*\" is not allowed.", + aix.getMessage()); + } + public TestFuncArg( String name) + { + super(name); + err_msg = "\"temp9.c\", line 12.18: 1506-280 (S) " + + "Function argument assignment between types " + + "\"int\" and \"char*\" is not allowed."; + } +}
\ No newline at end of file diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestMissingArg.java b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestMissingArg.java new file mode 100644 index 00000000000..bf2cb85eb1a --- /dev/null +++ b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestMissingArg.java @@ -0,0 +1,42 @@ +/******************************************************************************* + * Copyright (c) 2006 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 + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ + +package org.eclipse.cdt.errorparsers.xlc.tests; + +import org.eclipse.cdt.errorparsers.xlc.XlcErrorParser; + +import junit.framework.TestCase; + + +public class TestMissingArg extends TestCase { + String err_msg; + /** + * This function tests parseLine function of the + * XlcErrorParser class. Error message generated by + * xlc compiler with medium severity (E) is given as + * input for testing. + */ + public void testparseLine() + { + XlcErrorParser aix = new XlcErrorParser(); + aix.parseLine(err_msg); + assertEquals("temp8.c", aix.getFileName()); + assertEquals(9, aix.getLineNumber()); + assertEquals("E", aix.getSeverity()); + assertEquals(" Missing argument(s).",aix.getMessage()); + } + public TestMissingArg( String name) + { + super(name); + err_msg = "\"temp8.c\", line 9.17: 1506-098 (E) " + + "Missing argument(s)."; + } +}
\ No newline at end of file diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestNoFuncProto.java b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestNoFuncProto.java new file mode 100644 index 00000000000..c8e66ad653f --- /dev/null +++ b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestNoFuncProto.java @@ -0,0 +1,39 @@ +/******************************************************************************* + * Copyright (c) 2006 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 + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.cdt.errorparsers.xlc.tests; + +import org.eclipse.cdt.errorparsers.xlc.XlcErrorParser; + +import junit.framework.TestCase; + +public class TestNoFuncProto extends TestCase { + String err_msg; + /** + * This function tests parseLine function of the + * XlcErrorParser class. Warning message generated by + * xlc compiler (W) is given as input for testing. + */ + public void testparseLine() + { + XlcErrorParser aix = new XlcErrorParser(); + aix.parseLine(err_msg); + assertEquals("temp1.c", aix.getFileName()); + assertEquals(5, aix.getLineNumber()); + assertEquals("W", aix.getSeverity()); + assertEquals(" No function prototype given for \"printf\".",aix.getMessage()); + } + public TestNoFuncProto( String name) + { + super(name); + err_msg = "\"temp1.c\", line 5.9: 1506-304 (W) " + + "No function prototype given for \"printf\"."; + } +}
\ No newline at end of file diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestOperModi.java b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestOperModi.java new file mode 100644 index 00000000000..aac5e04c101 --- /dev/null +++ b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestOperModi.java @@ -0,0 +1,41 @@ +/******************************************************************************* + * Copyright (c) 2006 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 + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.cdt.errorparsers.xlc.tests; + +import org.eclipse.cdt.errorparsers.xlc.XlcErrorParser; + +import junit.framework.TestCase; + + +public class TestOperModi extends TestCase { + String err_msg; + /** + * This function tests parseLine function of the + * XlcErrorParser class. Error message generated by + * xlc compiler with high severity (S) is given as + * input for testing. + */ + public void testparseLine() + { + XlcErrorParser aix = new XlcErrorParser(); + aix.parseLine(err_msg); + assertEquals("temp9.c", aix.getFileName()); + assertEquals(13, aix.getLineNumber()); + assertEquals("S", aix.getSeverity()); + assertEquals(" Operand must be a modifiable lvalue.",aix.getMessage()); + } + public TestOperModi( String name) + { + super(name); + err_msg = "\"temp9.c\", line 13.9: 1506-025 (S) " + + "Operand must be a modifiable lvalue."; + } +}
\ No newline at end of file diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestSyntaxError.java b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestSyntaxError.java new file mode 100644 index 00000000000..d71de9a2815 --- /dev/null +++ b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestSyntaxError.java @@ -0,0 +1,40 @@ +/******************************************************************************* + * Copyright (c) 2006 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 + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.cdt.errorparsers.xlc.tests; + +import org.eclipse.cdt.errorparsers.xlc.XlcErrorParser; + +import junit.framework.TestCase; + +public class TestSyntaxError extends TestCase { + String err_msg; + /** + * This function tests parseLine function of the + * XlcErrorParser class. Error message generated by + * xlc compiler with high severity (S) is given as + * input for testing. + */ + public void testparseLine() + { + XlcErrorParser aix = new XlcErrorParser(); + aix.parseLine(err_msg); + assertEquals("temp1.c", aix.getFileName()); + assertEquals(5, aix.getLineNumber()); + assertEquals("S", aix.getSeverity()); + assertEquals(" Syntax error: possible missing ')'?",aix.getMessage()); + } + public TestSyntaxError( String name) + { + super(name); + err_msg = "\"temp1.c\", line 5.1: 1506-276 (S) " + + "Syntax error: possible missing ')'?"; + } +}
\ No newline at end of file diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestUndeclIdent.java b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestUndeclIdent.java new file mode 100644 index 00000000000..d9ddcb0b67b --- /dev/null +++ b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestUndeclIdent.java @@ -0,0 +1,41 @@ +/******************************************************************************* + * Copyright (c) 2006 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 + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ + +package org.eclipse.cdt.errorparsers.xlc.tests; + +import org.eclipse.cdt.errorparsers.xlc.XlcErrorParser; + +import junit.framework.TestCase; + +public class TestUndeclIdent extends TestCase { + String err_msg; + /** + * This function tests parseLine function of the + * XlcErrorParser class. Error message generated by + * xlc compiler with high severity (S) is given as + * input for testing. + */ + public void testparseLine() + { + XlcErrorParser aix = new XlcErrorParser(); + aix.parseLine(err_msg); + assertEquals("temp5.c", aix.getFileName()); + assertEquals(5, aix.getLineNumber()); + assertEquals("S", aix.getSeverity()); + assertEquals(" Undeclared identifier y.",aix.getMessage()); + } + public TestUndeclIdent( String name) + { + super(name); + err_msg = "\"temp5.c\", line 5.9: 1506-045 (S) " + + "Undeclared identifier y."; + } +}
\ No newline at end of file diff --git a/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestsPlugin.java b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestsPlugin.java new file mode 100644 index 00000000000..f9d6b719eba --- /dev/null +++ b/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestsPlugin.java @@ -0,0 +1,95 @@ +/******************************************************************************* + * Copyright (c) 2006 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 + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ + +package org.eclipse.cdt.errorparsers.xlc.tests; + +import org.eclipse.ui.plugin.*; +import org.eclipse.jface.resource.ImageDescriptor; +import org.osgi.framework.BundleContext; +import java.util.*; + +/** + * The main plugin class to be used in the desktop. + */ +public class TestsPlugin extends AbstractUIPlugin { + //The shared instance. + private static TestsPlugin plugin; + //Resource bundle. + private ResourceBundle resourceBundle; + + /** + * The constructor. + */ + public TestsPlugin() { + super(); + plugin = this; + } + + /** + * This method is called upon plug-in activation + */ + public void start(BundleContext context) throws Exception { + super.start(context); + } + + /** + * This method is called when the plug-in is stopped + */ + public void stop(BundleContext context) throws Exception { + super.stop(context); + plugin = null; + resourceBundle = null; + } + + /** + * Returns the shared instance. + */ + public static TestsPlugin getDefault() { + return plugin; + } + + /** + * Returns the string from the plugin's resource bundle, + * or 'key' if not found. + */ + public static String getResourceString(String key) { + ResourceBundle bundle = TestsPlugin.getDefault().getResourceBundle(); + try { + return (bundle != null) ? bundle.getString(key) : key; + } catch (MissingResourceException e) { + return key; + } + } + + /** + * Returns the plugin's resource bundle, + */ + public ResourceBundle getResourceBundle() { + try { + if (resourceBundle == null) + resourceBundle = ResourceBundle.getBundle("org.eclipse.cdt.errorparsers.xlc.tests.TestsPluginResources"); + } catch (MissingResourceException x) { + resourceBundle = null; + } + return resourceBundle; + } + + /** + * Returns an image descriptor for the image file at the given + * plug-in relative path. + * + * @param path the path + * @return the image descriptor + */ + public static ImageDescriptor getImageDescriptor(String path) { + return AbstractUIPlugin.imageDescriptorFromPlugin("org.eclipse.cdt.errorparsers.xlc.tests", path); + } +} |