Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Overholt2009-08-11 15:27:21 +0000
committerAndrew Overholt2009-08-11 15:27:21 +0000
commit8e5af6f9d0c36081f2d8c30f7fd8e07af9ff1c90 (patch)
tree94867a46e67590d6707c944f137bb2dbd5ea82f6 /libhover
parent30e26ccf3b62fe658a5a55340634de5ab1d4b434 (diff)
downloadorg.eclipse.linuxtools-8e5af6f9d0c36081f2d8c30f7fd8e07af9ff1c90.tar.gz
org.eclipse.linuxtools-8e5af6f9d0c36081f2d8c30f7fd8e07af9ff1c90.tar.xz
org.eclipse.linuxtools-8e5af6f9d0c36081f2d8c30f7fd8e07af9ff1c90.zip
Create 0.3 branch
Diffstat (limited to 'libhover')
-rw-r--r--libhover/org.eclipse.linuxtools.cdt.libhover-feature/.project17
-rw-r--r--libhover/org.eclipse.linuxtools.cdt.libhover-feature/ChangeLog49
-rw-r--r--libhover/org.eclipse.linuxtools.cdt.libhover-feature/about.html33
-rw-r--r--libhover/org.eclipse.linuxtools.cdt.libhover-feature/build.properties4
-rw-r--r--libhover/org.eclipse.linuxtools.cdt.libhover-feature/epl-v10.html320
-rw-r--r--libhover/org.eclipse.linuxtools.cdt.libhover-feature/feature.properties112
-rw-r--r--libhover/org.eclipse.linuxtools.cdt.libhover-feature/feature.xml59
-rw-r--r--libhover/org.eclipse.linuxtools.cdt.libhover.glibc/.project22
-rw-r--r--libhover/org.eclipse.linuxtools.cdt.libhover.glibc/ChangeLog42
-rw-r--r--libhover/org.eclipse.linuxtools.cdt.libhover.glibc/META-INF/MANIFEST.MF9
-rw-r--r--libhover/org.eclipse.linuxtools.cdt.libhover.glibc/about.html33
-rw-r--r--libhover/org.eclipse.linuxtools.cdt.libhover.glibc/build.properties5
-rw-r--r--libhover/org.eclipse.linuxtools.cdt.libhover.glibc/plugin.properties12
-rw-r--r--libhover/org.eclipse.linuxtools.cdt.libhover.glibc/plugin.xml23
-rw-r--r--libhover/org.eclipse.linuxtools.cdt.libhover.glibc/toc.xml7
-rw-r--r--libhover/org.eclipse.linuxtools.cdt.libhover.library-docs/.project22
-rw-r--r--libhover/org.eclipse.linuxtools.cdt.libhover.library-docs/ChangeLog29
-rw-r--r--libhover/org.eclipse.linuxtools.cdt.libhover.library-docs/META-INF/MANIFEST.MF9
-rw-r--r--libhover/org.eclipse.linuxtools.cdt.libhover.library-docs/about.html33
-rw-r--r--libhover/org.eclipse.linuxtools.cdt.libhover.library-docs/build.properties4
-rw-r--r--libhover/org.eclipse.linuxtools.cdt.libhover.library-docs/plugin.properties12
-rw-r--r--libhover/org.eclipse.linuxtools.cdt.libhover.library-docs/plugin.xml11
-rw-r--r--libhover/org.eclipse.linuxtools.cdt.libhover.library-docs/toc.xml6
-rw-r--r--libhover/org.eclipse.linuxtools.cdt.libhover.libstdcxx/.classpath7
-rw-r--r--libhover/org.eclipse.linuxtools.cdt.libhover.libstdcxx/.project17
-rw-r--r--libhover/org.eclipse.linuxtools.cdt.libhover.libstdcxx/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--libhover/org.eclipse.linuxtools.cdt.libhover.libstdcxx/ChangeLog33
-rw-r--r--libhover/org.eclipse.linuxtools.cdt.libhover.libstdcxx/META-INF/MANIFEST.MF12
-rw-r--r--libhover/org.eclipse.linuxtools.cdt.libhover.libstdcxx/about.html33
-rw-r--r--libhover/org.eclipse.linuxtools.cdt.libhover.libstdcxx/build.properties6
-rw-r--r--libhover/org.eclipse.linuxtools.cdt.libhover.libstdcxx/plugin.properties12
-rw-r--r--libhover/org.eclipse.linuxtools.cdt.libhover.libstdcxx/plugin.xml23
-rw-r--r--libhover/org.eclipse.linuxtools.cdt.libhover.libstdcxx/src/org/eclipse/linuxtools/cdt/libhover/libstdcxx/DoxygenCPPInfo.java537
-rw-r--r--libhover/org.eclipse.linuxtools.cdt.libhover.libstdcxx/toc.xml7
-rw-r--r--libhover/org.eclipse.linuxtools.cdt.libhover.newlib-feature/.project17
-rw-r--r--libhover/org.eclipse.linuxtools.cdt.libhover.newlib-feature/ChangeLog20
-rw-r--r--libhover/org.eclipse.linuxtools.cdt.libhover.newlib-feature/about.html33
-rw-r--r--libhover/org.eclipse.linuxtools.cdt.libhover.newlib-feature/build.properties4
-rw-r--r--libhover/org.eclipse.linuxtools.cdt.libhover.newlib-feature/epl-v10.html320
-rw-r--r--libhover/org.eclipse.linuxtools.cdt.libhover.newlib-feature/feature.properties112
-rw-r--r--libhover/org.eclipse.linuxtools.cdt.libhover.newlib-feature/feature.xml34
-rw-r--r--libhover/org.eclipse.linuxtools.cdt.libhover.newlib/.project22
-rw-r--r--libhover/org.eclipse.linuxtools.cdt.libhover.newlib/ChangeLog32
-rw-r--r--libhover/org.eclipse.linuxtools.cdt.libhover.newlib/META-INF/MANIFEST.MF9
-rw-r--r--libhover/org.eclipse.linuxtools.cdt.libhover.newlib/about.html33
-rw-r--r--libhover/org.eclipse.linuxtools.cdt.libhover.newlib/build.properties5
-rw-r--r--libhover/org.eclipse.linuxtools.cdt.libhover.newlib/plugin.properties12
-rw-r--r--libhover/org.eclipse.linuxtools.cdt.libhover.newlib/plugin.xml23
-rw-r--r--libhover/org.eclipse.linuxtools.cdt.libhover.newlib/toc.xml9
-rw-r--r--libhover/org.eclipse.linuxtools.cdt.libhover/ChangeLog18
-rw-r--r--libhover/org.eclipse.linuxtools.cdt.libhover/META-INF/MANIFEST.MF1
-rw-r--r--libhover/org.eclipse.linuxtools.cdt.libhover/src/org/eclipse/linuxtools/cdt/libhover/LibhoverPlugin.java1
-rw-r--r--libhover/org.eclipse.linuxtools.cdt.libhover/src/org/eclipse/linuxtools/internal/cdt/libhover/LibHover.java32
-rw-r--r--libhover/org.eclipse.linuxtools.cdt.libhover/src/org/eclipse/linuxtools/internal/cdt/libhover/LibHoverLibrary.java10
54 files changed, 2268 insertions, 46 deletions
diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover-feature/.project b/libhover/org.eclipse.linuxtools.cdt.libhover-feature/.project
new file mode 100644
index 0000000000..4150d2047b
--- /dev/null
+++ b/libhover/org.eclipse.linuxtools.cdt.libhover-feature/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.linuxtools.cdt.libhover.feature</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.pde.FeatureBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.FeatureNature</nature>
+ </natures>
+</projectDescription>
diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover-feature/ChangeLog b/libhover/org.eclipse.linuxtools.cdt.libhover-feature/ChangeLog
new file mode 100644
index 0000000000..9a5581939a
--- /dev/null
+++ b/libhover/org.eclipse.linuxtools.cdt.libhover-feature/ChangeLog
@@ -0,0 +1,49 @@
+2009-08-07 Jeff Johnston <jjohnstn@redhat.com>
+
+ * feature.xml: Remove newlib as included feature.
+
+2009-08-05 Andrew Overholt <overholt@redhat.com>
+
+ * feature.xml: Rename to org.eclipse.linuxtools.cdt.libhover.
+
+2009-05-19 Andrew Overholt <overholt@redhat.com>
+
+ Bug #273931
+
+ * feature.properties: Change provider from Eclipse.org to Eclipse.
+
+2009-05-11 Jeff Johnston <jjohnstn@redhat.com>
+
+ * feature.xml: Bump up to 0.2.0. Add libhover newlib feature as
+ optional included feature. Add libhover libstdcxx plugin.
+
+2009-01-15 Jeff Johnston <jjohnstn@redhat.com>
+
+ * feature.xml: Bump up to 0.1.1.
+
+2009-01-06 Jeff Johnston <jjohnstn@redhat.com>
+
+ * feature.xml: Add .qualifier to version id.
+
+2009-01-06 Andrew Overholt <overholt@redhat.com>
+
+ * feature.xml: 1.0.0 -> 0.1.0. Add update site information.
+ * build.properties: Add feature.properties and epl-v10.html.
+
+2008-10-31 Andrew Overholt <overholt@redhat.com>
+
+ * feature.xml: Use feature.properties. Add "(Incubation)".
+ * feature.properties: Initial checkin.
+ * epl-v10.html: Likewise.
+
+2008-10-16 Jeff Johnston <jjohnstn@redhat.com>
+
+ * feature.xml: Add org.eclipse.linuxtools.cdt.libhover.library_docs plugin.
+ Also change org.eclipse.linuxtools.cdt.libhover.glibc reference to be plugin
+ instead of fragment.
+
+2008-10-14 Jeff Johnston <jjohnstn@redhat.com>
+
+ * feature.xml: Initial check-in.
+ * about.html: Ditto.
+ * build.properties: Ditto.
diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover-feature/about.html b/libhover/org.eclipse.linuxtools.cdt.libhover-feature/about.html
new file mode 100644
index 0000000000..44e229003e
--- /dev/null
+++ b/libhover/org.eclipse.linuxtools.cdt.libhover-feature/about.html
@@ -0,0 +1,33 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+<html>
+<head>
+<title>About</title>
+<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>8th September, 2004</p>
+<h3>License</h3>
+<p>The Eclipse Software Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). 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, &quot;Program&quot; will mean the Content.</p>
+
+<h3>Contributions</h3>
+
+<p>If this Content is licensed to you under the terms and conditions of the EPL, any Contributions, as defined in the EPL, uploaded, submitted, or otherwise
+made available to the Eclipse Foundation, its members and/or the host of the Eclipse Foundation web site, by you that relate to such
+Content are provided under the terms and conditions of the <a href="http://www.eclipse.org/legal/termsofuse.html">Terms of Use</a>
+for the Eclipse Foundation web site and can be made available to others under the terms of the licenses as set out in the
+<a href="http://www.eclipse.org/legal/termsofuse.html">Terms of Use</a>.</p>
+
+<p>If this Content is licensed to you under license terms and conditions other than the EPL (&quot;Other License&quot;), any modifications, enhancements and/or
+other code and/or documentation (&quot;Modifications&quot;) uploaded, submitted, or otherwise made available to the Eclipse Foundation, its members and/or the
+host of the Eclipse Foundation web site, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
+to others under the terms of the Other License. In addition, with regard to Modifications for which you are the copyright holder, you are also
+providing the Modifications under the terms and conditions of the <a href="http://www.eclipse.org/legal/termsofuse.html">Terms of Use</a>
+for the Eclipse Foundation web site and such Modifications can be made available to others under the terms of the licenses as set out in the
+<a href="http://www.eclipse.org/legal/termsofuse.html">Terms of Use</a>.</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover-feature/build.properties b/libhover/org.eclipse.linuxtools.cdt.libhover-feature/build.properties
new file mode 100644
index 0000000000..65a4460540
--- /dev/null
+++ b/libhover/org.eclipse.linuxtools.cdt.libhover-feature/build.properties
@@ -0,0 +1,4 @@
+bin.includes = feature.xml,\
+ about.html,\
+ feature.properties,\
+ epl-v10.html
diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover-feature/epl-v10.html b/libhover/org.eclipse.linuxtools.cdt.libhover-feature/epl-v10.html
new file mode 100644
index 0000000000..9320c9f37c
--- /dev/null
+++ b/libhover/org.eclipse.linuxtools.cdt.libhover-feature/epl-v10.html
@@ -0,0 +1,320 @@
+<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40"><head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<meta name="ProgId" content="Word.Document">
+<meta name="Generator" content="Microsoft Word 9">
+<meta name="Originator" content="Microsoft Word 9">
+<link rel="File-List" href="http://www.eclipse.org/legal/Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
+<title>Eclipse Public License - Version 1.0</title>
+<!--[if gte mso 9]><xml>
+ <o:DocumentProperties>
+ <o:Revision>2</o:Revision>
+ <o:TotalTime>3</o:TotalTime>
+ <o:Created>2004-03-05T23:03:00Z</o:Created>
+ <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
+ <o:Pages>4</o:Pages>
+ <o:Words>1626</o:Words>
+ <o:Characters>9270</o:Characters>
+ <o:Lines>77</o:Lines>
+ <o:Paragraphs>18</o:Paragraphs>
+ <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
+ <o:Version>9.4402</o:Version>
+ </o:DocumentProperties>
+</xml><![endif]--><!--[if gte mso 9]><xml>
+ <w:WordDocument>
+ <w:TrackRevisions/>
+ </w:WordDocument>
+</xml><![endif]-->
+<style>
+<!--
+ /* Font Definitions */
+@font-face
+ {font-family:Tahoma;
+ panose-1:2 11 6 4 3 5 4 4 2 4;
+ mso-font-charset:0;
+ mso-generic-font-family:swiss;
+ mso-font-pitch:variable;
+ mso-font-signature:553679495 -2147483648 8 0 66047 0;}
+ /* Style Definitions */
+p.MsoNormal, li.MsoNormal, div.MsoNormal
+ {mso-style-parent:"";
+ margin:0in;
+ margin-bottom:.0001pt;
+ mso-pagination:widow-orphan;
+ font-size:12.0pt;
+ font-family:"Times New Roman";
+ mso-fareast-font-family:"Times New Roman";}
+p
+ {margin-right:0in;
+ mso-margin-top-alt:auto;
+ mso-margin-bottom-alt:auto;
+ margin-left:0in;
+ mso-pagination:widow-orphan;
+ font-size:12.0pt;
+ font-family:"Times New Roman";
+ mso-fareast-font-family:"Times New Roman";}
+p.BalloonText, li.BalloonText, div.BalloonText
+ {mso-style-name:"Balloon Text";
+ margin:0in;
+ margin-bottom:.0001pt;
+ mso-pagination:widow-orphan;
+ font-size:8.0pt;
+ font-family:Tahoma;
+ mso-fareast-font-family:"Times New Roman";}
+@page Section1
+ {size:8.5in 11.0in;
+ margin:1.0in 1.25in 1.0in 1.25in;
+ mso-header-margin:.5in;
+ mso-footer-margin:.5in;
+ mso-paper-source:0;}
+div.Section1
+ {page:Section1;}
+-->
+</style>
+</head><body style="" lang="EN-US">
+
+<div class="Section1">
+
+<p style="text-align: center;" align="center"><b>Eclipse Public License - v 1.0</b>
+</p>
+
+<p><span style="font-size: 10pt;">THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
+THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE,
+REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
+OF THIS AGREEMENT.</span> </p>
+
+<p><b><span style="font-size: 10pt;">1. DEFINITIONS</span></b> </p>
+
+<p><span style="font-size: 10pt;">"Contribution" means:</span> </p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a)
+in the case of the initial Contributor, the initial code and documentation
+distributed under this Agreement, and<br clear="left">
+b) in the case of each subsequent Contributor:</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">i)
+changes to the Program, and</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">ii)
+additions to the Program;</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">where
+such changes and/or additions to the Program originate from and are distributed
+by that particular Contributor. A Contribution 'originates' from a Contributor
+if it was added to the Program by such Contributor itself or anyone acting on
+such Contributor's behalf. Contributions do not include additions to the
+Program which: (i) are separate modules of software distributed in conjunction
+with the Program under their own license agreement, and (ii) are not derivative
+works of the Program. </span></p>
+
+<p><span style="font-size: 10pt;">"Contributor" means any person or
+entity that distributes the Program.</span> </p>
+
+<p><span style="font-size: 10pt;">"Licensed Patents " mean patent
+claims licensable by a Contributor which are necessarily infringed by the use
+or sale of its Contribution alone or when combined with the Program. </span></p>
+
+<p><span style="font-size: 10pt;">"Program" means the Contributions
+distributed in accordance with this Agreement.</span> </p>
+
+<p><span style="font-size: 10pt;">"Recipient" means anyone who
+receives the Program under this Agreement, including all Contributors.</span> </p>
+
+<p><b><span style="font-size: 10pt;">2. GRANT OF RIGHTS</span></b> </p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a)
+Subject to the terms of this Agreement, each Contributor hereby grants Recipient
+a non-exclusive, worldwide, royalty-free copyright license to<span style="color: red;"> </span>reproduce, prepare derivative works of, publicly
+display, publicly perform, distribute and sublicense the Contribution of such
+Contributor, if any, and such derivative works, in source code and object code
+form.</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">b)
+Subject to the terms of this Agreement, each Contributor hereby grants
+Recipient a non-exclusive, worldwide,<span style="color: green;"> </span>royalty-free
+patent license under Licensed Patents to make, use, sell, offer to sell, import
+and otherwise transfer the Contribution of such Contributor, if any, in source
+code and object code form. This patent license shall apply to the combination
+of the Contribution and the Program if, at the time the Contribution is added
+by the Contributor, such addition of the Contribution causes such combination
+to be covered by the Licensed Patents. The patent license shall not apply to
+any other combinations which include the Contribution. No hardware per se is
+licensed hereunder. </span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">c)
+Recipient understands that although each Contributor grants the licenses to its
+Contributions set forth herein, no assurances are provided by any Contributor
+that the Program does not infringe the patent or other intellectual property
+rights of any other entity. Each Contributor disclaims any liability to Recipient
+for claims brought by any other entity based on infringement of intellectual
+property rights or otherwise. As a condition to exercising the rights and
+licenses granted hereunder, each Recipient hereby assumes sole responsibility
+to secure any other intellectual property rights needed, if any. For example,
+if a third party patent license is required to allow Recipient to distribute
+the Program, it is Recipient's responsibility to acquire that license before
+distributing the Program.</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">d)
+Each Contributor represents that to its knowledge it has sufficient copyright
+rights in its Contribution, if any, to grant the copyright license set forth in
+this Agreement. </span></p>
+
+<p><b><span style="font-size: 10pt;">3. REQUIREMENTS</span></b> </p>
+
+<p><span style="font-size: 10pt;">A Contributor may choose to distribute the
+Program in object code form under its own license agreement, provided that:</span>
+</p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a)
+it complies with the terms and conditions of this Agreement; and</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">b)
+its license agreement:</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">i)
+effectively disclaims on behalf of all Contributors all warranties and
+conditions, express and implied, including warranties or conditions of title
+and non-infringement, and implied warranties or conditions of merchantability
+and fitness for a particular purpose; </span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">ii)
+effectively excludes on behalf of all Contributors all liability for damages,
+including direct, indirect, special, incidental and consequential damages, such
+as lost profits; </span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">iii)
+states that any provisions which differ from this Agreement are offered by that
+Contributor alone and not by any other party; and</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">iv)
+states that source code for the Program is available from such Contributor, and
+informs licensees how to obtain it in a reasonable manner on or through a
+medium customarily used for software exchange.<span style="color: blue;"> </span></span></p>
+
+<p><span style="font-size: 10pt;">When the Program is made available in source
+code form:</span> </p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a)
+it must be made available under this Agreement; and </span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">b) a
+copy of this Agreement must be included with each copy of the Program. </span></p>
+
+<p><span style="font-size: 10pt;">Contributors may not remove or alter any
+copyright notices contained within the Program. </span></p>
+
+<p><span style="font-size: 10pt;">Each Contributor must identify itself as the
+originator of its Contribution, if any, in a manner that reasonably allows
+subsequent Recipients to identify the originator of the Contribution. </span></p>
+
+<p><b><span style="font-size: 10pt;">4. COMMERCIAL DISTRIBUTION</span></b> </p>
+
+<p><span style="font-size: 10pt;">Commercial distributors of software may
+accept certain responsibilities with respect to end users, business partners
+and the like. While this license is intended to facilitate the commercial use
+of the Program, the Contributor who includes the Program in a commercial
+product offering should do so in a manner which does not create potential
+liability for other Contributors. Therefore, if a Contributor includes the
+Program in a commercial product offering, such Contributor ("Commercial
+Contributor") hereby agrees to defend and indemnify every other
+Contributor ("Indemnified Contributor") against any losses, damages and
+costs (collectively "Losses") arising from claims, lawsuits and other
+legal actions brought by a third party against the Indemnified Contributor to
+the extent caused by the acts or omissions of such Commercial Contributor in
+connection with its distribution of the Program in a commercial product
+offering. The obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In order
+to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
+Contributor in writing of such claim, and b) allow the Commercial Contributor
+to control, and cooperate with the Commercial Contributor in, the defense and
+any related settlement negotiations. The Indemnified Contributor may participate
+in any such claim at its own expense.</span> </p>
+
+<p><span style="font-size: 10pt;">For example, a Contributor might include the
+Program in a commercial product offering, Product X. That Contributor is then a
+Commercial Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance claims and
+warranties are such Commercial Contributor's responsibility alone. Under this
+section, the Commercial Contributor would have to defend claims against the
+other Contributors related to those performance claims and warranties, and if a
+court requires any other Contributor to pay any damages as a result, the
+Commercial Contributor must pay those damages.</span> </p>
+
+<p><b><span style="font-size: 10pt;">5. NO WARRANTY</span></b> </p>
+
+<p><span style="font-size: 10pt;">EXCEPT AS EXPRESSLY SET FORTH IN THIS
+AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT
+WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
+WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
+MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
+responsible for determining the appropriateness of using and distributing the
+Program and assumes all risks associated with its exercise of rights under this
+Agreement , including but not limited to the risks and costs of program errors,
+compliance with applicable laws, damage to or loss of data, programs or
+equipment, and unavailability or interruption of operations. </span></p>
+
+<p><b><span style="font-size: 10pt;">6. DISCLAIMER OF LIABILITY</span></b> </p>
+
+<p><span style="font-size: 10pt;">EXCEPT AS EXPRESSLY SET FORTH IN THIS
+AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
+THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
+THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
+
+<p><b><span style="font-size: 10pt;">7. GENERAL</span></b> </p>
+
+<p><span style="font-size: 10pt;">If any provision of this Agreement is invalid
+or unenforceable under applicable law, it shall not affect the validity or
+enforceability of the remainder of the terms of this Agreement, and without
+further action by the parties hereto, such provision shall be reformed to the
+minimum extent necessary to make such provision valid and enforceable.</span> </p>
+
+<p><span style="font-size: 10pt;">If Recipient institutes patent litigation
+against any entity (including a cross-claim or counterclaim in a lawsuit)
+alleging that the Program itself (excluding combinations of the Program with
+other software or hardware) infringes such Recipient's patent(s), then such
+Recipient's rights granted under Section 2(b) shall terminate as of the date
+such litigation is filed. </span></p>
+
+<p><span style="font-size: 10pt;">All Recipient's rights under this Agreement
+shall terminate if it fails to comply with any of the material terms or
+conditions of this Agreement and does not cure such failure in a reasonable
+period of time after becoming aware of such noncompliance. If all Recipient's
+rights under this Agreement terminate, Recipient agrees to cease use and
+distribution of the Program as soon as reasonably practicable. However,
+Recipient's obligations under this Agreement and any licenses granted by
+Recipient relating to the Program shall continue and survive. </span></p>
+
+<p><span style="font-size: 10pt;">Everyone is permitted to copy and distribute
+copies of this Agreement, but in order to avoid inconsistency the Agreement is
+copyrighted and may only be modified in the following manner. The Agreement
+Steward reserves the right to publish new versions (including revisions) of
+this Agreement from time to time. No one other than the Agreement Steward has
+the right to modify this Agreement. The Eclipse Foundation is the initial
+Agreement Steward. The Eclipse Foundation may assign the responsibility to
+serve as the Agreement Steward to a suitable separate entity. Each new version
+of the Agreement will be given a distinguishing version number. The Program
+(including Contributions) may always be distributed subject to the version of
+the Agreement under which it was received. In addition, after a new version of
+the Agreement is published, Contributor may elect to distribute the Program
+(including its Contributions) under the new version. Except as expressly stated
+in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
+the intellectual property of any Contributor under this Agreement, whether
+expressly, by implication, estoppel or otherwise. All rights in the Program not
+expressly granted under this Agreement are reserved.</span> </p>
+
+<p><span style="font-size: 10pt;">This Agreement is governed by the laws of the
+State of New York and the intellectual property laws of the United States of
+America. No party to this Agreement will bring a legal action under this
+Agreement more than one year after the cause of action arose. Each party waives
+its rights to a jury trial in any resulting litigation.</span> </p>
+
+<p class="MsoNormal"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]--><o:p></o:p></p>
+
+</div>
+
+</body></html> \ No newline at end of file
diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover-feature/feature.properties b/libhover/org.eclipse.linuxtools.cdt.libhover-feature/feature.properties
new file mode 100644
index 0000000000..752833839e
--- /dev/null
+++ b/libhover/org.eclipse.linuxtools.cdt.libhover-feature/feature.properties
@@ -0,0 +1,112 @@
+#################################################################################
+# Copyright (c) 2008 Red Hat, Inc.
+# 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:
+# Red Hat Incorporated - initial API and implementation
+#################################################################################
+featureName=Libhover Feature (Incubation)
+description=Plugins for C/C++ library hover help.
+provider=Eclipse
+copyright=Copyright 2008 Red Hat, Inc.
+licenseURL=epl-v10.html
+license=\
+ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
+March 17, 2005\n\
+\n\
+Usage Of Content\n\
+\n\
+THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
+OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
+USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
+AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
+NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
+AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
+AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
+OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
+TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
+OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
+BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
+\n\
+Applicable Licenses\n\
+\n\
+Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
+is provided to you under the terms and conditions of the Eclipse Public\n\
+License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
+Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
+For purposes of the EPL, "Program" will mean the Content.\n\
+\n\
+Content includes, but is not limited to, source code, object code,\n\
+documentation and other files maintained in the Eclipse.org CVS\n\
+repository ("Repository") in CVS modules ("Modules") and made available\n\
+as downloadable archives ("Downloads").\n\
+\n\
+ - Content may be structured and packaged into modules to facilitate delivering,\n\
+ extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
+ plug-in fragments ("Fragments"), and features ("Features").\n\
+ - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\
+ in a directory named "plugins".\n\
+ - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
+ Each Feature may be packaged as a sub-directory in a directory named "features".\n\
+ Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
+ numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
+ - Features may also include other Features ("Included Features"). Within a Feature, files\n\
+ named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
+\n\
+Features may also include other Features ("Included Features"). Files named\n\
+"feature.xml" may contain a list of the names and version numbers of\n\
+Included Features.\n\
+\n\
+The terms and conditions governing Plug-ins and Fragments should be\n\
+contained in files named "about.html" ("Abouts"). The terms and\n\
+conditions governing Features and Included Features should be contained\n\
+in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
+Licenses may be located in any directory of a Download or Module\n\
+including, but not limited to the following locations:\n\
+\n\
+ - The top-level (root) directory\n\
+ - Plug-in and Fragment directories\n\
+ - Inside Plug-ins and Fragments packaged as JARs\n\
+ - Sub-directories of the directory named "src" of certain Plug-ins\n\
+ - Feature directories\n\
+\n\
+Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
+Eclipse Update Manager, you must agree to a license ("Feature Update\n\
+License") during the installation process. If the Feature contains\n\
+Included Features, the Feature Update License should either provide you\n\
+with the terms and conditions governing the Included Features or inform\n\
+you where you can locate them. Feature Update Licenses may be found in\n\
+the "license" property of files named "feature.properties". Such Abouts,\n\
+Feature Licenses and Feature Update Licenses contain the terms and\n\
+conditions (or references to such terms and conditions) that govern your\n\
+use of the associated Content in that directory.\n\
+\n\
+THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
+TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
+SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
+\n\
+ - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
+ - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
+ - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
+ - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
+ - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
+ - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
+\n\
+IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
+TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
+is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
+govern that particular Content.\n\
+\n\
+Cryptography\n\
+\n\
+Content may contain encryption software. The country in which you are\n\
+currently may have restrictions on the import, possession, and use,\n\
+and/or re-export to another country, of encryption software. BEFORE\n\
+using any encryption software, please check the country's laws,\n\
+regulations and policies concerning the import, possession, or use,\n\
+and re-export of encryption software, to see if this is permitted.\n\
+\n\
+Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n \ No newline at end of file
diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover-feature/feature.xml b/libhover/org.eclipse.linuxtools.cdt.libhover-feature/feature.xml
new file mode 100644
index 0000000000..42e614f618
--- /dev/null
+++ b/libhover/org.eclipse.linuxtools.cdt.libhover-feature/feature.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+ id="org.eclipse.linuxtools.cdt.libhover"
+ label="%featureName"
+ version="0.2.0.qualifier"
+ provider-name="%provider">
+
+ <description>
+ %description
+ </description>
+
+ <copyright>
+ %copyright
+ </copyright>
+
+ <license url="epl-v10.php">
+ %license
+ </license>
+
+ <url>
+ <update label="Linux Tools Update Site" url="http://download.eclipse.org/technology/linuxtools/update"/>
+ </url>
+
+ <requires>
+ <import plugin="org.eclipse.ui" version="3.4.0" match="compatible"/>
+ <import plugin="org.eclipse.core.runtime" version="3.4.0" match="compatible"/>
+ <import plugin="org.eclipse.core.resources" version="3.4.0" match="compatible"/>
+ <import plugin="org.eclipse.help" version="3.3.100" match="greaterOrEqual"/>
+ <import plugin="org.eclipse.cdt.ui" version="5.0.0" match="greaterOrEqual"/>
+ <import plugin="org.eclipse.core.filesystem" version="1.2.0" match="greaterOrEqual"/>
+ </requires>
+
+ <plugin
+ id="org.eclipse.linuxtools.cdt.libhover"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.linuxtools.cdt.libhover.library_docs"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"/>
+
+ <plugin
+ id="org.eclipse.linuxtools.cdt.libhover.glibc"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"/>
+
+ <plugin
+ id="org.eclipse.linuxtools.cdt.libhover.libstdcxx"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+</feature>
diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.glibc/.project b/libhover/org.eclipse.linuxtools.cdt.libhover.glibc/.project
new file mode 100644
index 0000000000..b2adfe68b5
--- /dev/null
+++ b/libhover/org.eclipse.linuxtools.cdt.libhover.glibc/.project
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.linuxtools.cdt.libhover.glibc</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <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>
+ </natures>
+</projectDescription>
diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.glibc/ChangeLog b/libhover/org.eclipse.linuxtools.cdt.libhover.glibc/ChangeLog
new file mode 100644
index 0000000000..7201d35f18
--- /dev/null
+++ b/libhover/org.eclipse.linuxtools.cdt.libhover.glibc/ChangeLog
@@ -0,0 +1,42 @@
+2009-08-06 Jeff Johnston <jjohnstn@redhat.com>
+
+ Resolves #285867
+ * plugin.properties: Change Provider to Eclipse instead of Eclipse.org.
+
+2009-02-06 Jeff Johnston <jjohnstn@redhat.com>
+
+ * META-INF/MANIFEST.MF: Bump up version to 1.0.1.
+ * plugin.xml: Change to use new libhover library interface which requires
+ the location of a serialized LibHoverInfo instance rather than an xml document.
+
+2009-01-15 Jeff Johnston <jjohnstn@redhat.com>
+
+ * META-INF/MANIFEST.MF: Add .qualifier to version.
+
+2008-11-03 Andrew Overholt <overholt@redhat.com>
+
+ * build.properties: Add plugin.properties.
+
+2008-10-31 Andrew Overholt <overholt@redhat.com>
+
+ * plugin.properties: Initial checkin.
+ * META-INF/MANIFEST.MF: Use plugin.properties. Add "(Incubation)".
+
+2008-10-22 Jeff Johnston <jjohnstn@redhat.com>
+
+ * plugin.xml: Modify library name which shows up in the Project properties C/C++ General
+ Documentation page.
+
+2008-10-16 Jeff Johnston <jjohnstn@redhat.com>
+
+ * build.properties: Add toc.xml to binary build files.
+
+2008-10-15 Jeff Johnston <jjohnstn@redhat.com>
+
+ * fragment.xml: Removed.
+ * plugin.xml: New file.
+ * build.properties: Specify about.html in src build.
+ * META-INF/MANIFEST.MF: Require org.eclipse.linuxtools.cdt.libhover.library-docs
+ instead of org.eclipse.linuxtools.cdt.autotools-docs.
+ * toc.xml: Change to use moreclibdocs anchor instead of moregnutools
+ anchor which is in autotools-docs.
diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.glibc/META-INF/MANIFEST.MF b/libhover/org.eclipse.linuxtools.cdt.libhover.glibc/META-INF/MANIFEST.MF
new file mode 100644
index 0000000000..29e9546217
--- /dev/null
+++ b/libhover/org.eclipse.linuxtools.cdt.libhover.glibc/META-INF/MANIFEST.MF
@@ -0,0 +1,9 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %bundleName
+Bundle-SymbolicName: org.eclipse.linuxtools.cdt.libhover.glibc;singleton:=true
+Bundle-Version: 1.0.1.qualifier
+Bundle-Vendor: %provider
+Bundle-Localization: plugin
+Require-Bundle: org.eclipse.linuxtools.cdt.libhover.library_docs;bundle-version="1.0.0"
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.glibc/about.html b/libhover/org.eclipse.linuxtools.cdt.libhover.glibc/about.html
new file mode 100644
index 0000000000..44e229003e
--- /dev/null
+++ b/libhover/org.eclipse.linuxtools.cdt.libhover.glibc/about.html
@@ -0,0 +1,33 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+<html>
+<head>
+<title>About</title>
+<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>8th September, 2004</p>
+<h3>License</h3>
+<p>The Eclipse Software Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). 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, &quot;Program&quot; will mean the Content.</p>
+
+<h3>Contributions</h3>
+
+<p>If this Content is licensed to you under the terms and conditions of the EPL, any Contributions, as defined in the EPL, uploaded, submitted, or otherwise
+made available to the Eclipse Foundation, its members and/or the host of the Eclipse Foundation web site, by you that relate to such
+Content are provided under the terms and conditions of the <a href="http://www.eclipse.org/legal/termsofuse.html">Terms of Use</a>
+for the Eclipse Foundation web site and can be made available to others under the terms of the licenses as set out in the
+<a href="http://www.eclipse.org/legal/termsofuse.html">Terms of Use</a>.</p>
+
+<p>If this Content is licensed to you under license terms and conditions other than the EPL (&quot;Other License&quot;), any modifications, enhancements and/or
+other code and/or documentation (&quot;Modifications&quot;) uploaded, submitted, or otherwise made available to the Eclipse Foundation, its members and/or the
+host of the Eclipse Foundation web site, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
+to others under the terms of the Other License. In addition, with regard to Modifications for which you are the copyright holder, you are also
+providing the Modifications under the terms and conditions of the <a href="http://www.eclipse.org/legal/termsofuse.html">Terms of Use</a>
+for the Eclipse Foundation web site and such Modifications can be made available to others under the terms of the licenses as set out in the
+<a href="http://www.eclipse.org/legal/termsofuse.html">Terms of Use</a>.</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.glibc/build.properties b/libhover/org.eclipse.linuxtools.cdt.libhover.glibc/build.properties
new file mode 100644
index 0000000000..2220fabe27
--- /dev/null
+++ b/libhover/org.eclipse.linuxtools.cdt.libhover.glibc/build.properties
@@ -0,0 +1,5 @@
+bin.includes = META-INF/,\
+ plugin.xml,\
+ toc.xml,\
+ plugin.properties
+src.includes = about.html
diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.glibc/plugin.properties b/libhover/org.eclipse.linuxtools.cdt.libhover.glibc/plugin.properties
new file mode 100644
index 0000000000..85eadef628
--- /dev/null
+++ b/libhover/org.eclipse.linuxtools.cdt.libhover.glibc/plugin.properties
@@ -0,0 +1,12 @@
+#################################################################################
+# Copyright (c) 2008 Red Hat, Inc.
+# 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:
+# Red Hat Incorporated - initial API and implementation
+#################################################################################
+bundleName=Glibc Libhover (Incubation)
+provider=Eclipse \ No newline at end of file
diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.glibc/plugin.xml b/libhover/org.eclipse.linuxtools.cdt.libhover.glibc/plugin.xml
new file mode 100644
index 0000000000..4556b44f00
--- /dev/null
+++ b/libhover/org.eclipse.linuxtools.cdt.libhover.glibc/plugin.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.2"?>
+<plugin>
+ <extension
+ id="library"
+ name="Glibc C Library"
+ point="org.eclipse.linuxtools.cdt.libhover.library">
+ <library
+ docs="http://www.gnu.org/software/libc/manual/html_node/index.html"
+ location="http://www.sourceware.org/eclipse/libhover/glibc-2.7-2.libhover"
+ name="glibc library"
+ type="C">
+ </library>
+ </extension>
+ <extension
+ point="org.eclipse.help.toc">
+ <toc
+ file="toc.xml"
+ primary="false">
+ </toc>
+ </extension>
+
+</plugin>
diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.glibc/toc.xml b/libhover/org.eclipse.linuxtools.cdt.libhover.glibc/toc.xml
new file mode 100644
index 0000000000..8ef4df17d7
--- /dev/null
+++ b/libhover/org.eclipse.linuxtools.cdt.libhover.glibc/toc.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?NLS TYPE="org.eclipse.help.toc"?>
+
+<toc label="glibc library" link_to="../org.eclipse.linuxtools.cdt.libhover.library_docs/toc.xml#moreclibdocs">
+ <topic href="http://www.gnu.org/software/libc/manual/html_node/index.html" label="glibc">
+ </topic>
+</toc>
diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.library-docs/.project b/libhover/org.eclipse.linuxtools.cdt.libhover.library-docs/.project
new file mode 100644
index 0000000000..c02f456009
--- /dev/null
+++ b/libhover/org.eclipse.linuxtools.cdt.libhover.library-docs/.project
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.linuxtools.cdt.libhover.library-docs</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <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>
+ </natures>
+</projectDescription>
diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.library-docs/ChangeLog b/libhover/org.eclipse.linuxtools.cdt.libhover.library-docs/ChangeLog
new file mode 100644
index 0000000000..48cf6c8812
--- /dev/null
+++ b/libhover/org.eclipse.linuxtools.cdt.libhover.library-docs/ChangeLog
@@ -0,0 +1,29 @@
+2009-08-06 Jeff Johnston <jjohnstn@redhat.com>
+
+ Resolves #285867
+ * plugin.properties: Change Provider to Eclipse instead of Eclipse.org.
+
+2009-01-15 Jeff Johnston <jjohnstn@redhat.com>
+
+ * META-INF/MANIFEST.MF: Add .qualifier to version and bump to 1.0.1.
+
+2008-11-03 Jeff Johnston <jjohnstn@redhat.com>
+
+ * build.properties: Remove doc.zip.
+ * doc.zip: Removed.
+
+2008-11-03 Andrew Overholt <overholt@redhat.com>
+
+ * build.properties: Add plugin.properties.
+
+2008-10-31 Andrew Overholt <overholt@redhat.com>
+
+ * plugin.properties: Initial import.
+ * META-INF/MANIFEST.MF: Use plugin.propeties. Add "(Incubation)".
+
+2008-10-15 Jeff Johnston <jjohnstn@redhat.com>
+
+ * toc.xml: Initial release.
+ * doc.zip: Ditto.
+ * plugin.xml: Ditto.
+ * about.html: Ditto. \ No newline at end of file
diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.library-docs/META-INF/MANIFEST.MF b/libhover/org.eclipse.linuxtools.cdt.libhover.library-docs/META-INF/MANIFEST.MF
new file mode 100644
index 0000000000..f5fd146af1
--- /dev/null
+++ b/libhover/org.eclipse.linuxtools.cdt.libhover.library-docs/META-INF/MANIFEST.MF
@@ -0,0 +1,9 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %bundleName
+Bundle-SymbolicName: org.eclipse.linuxtools.cdt.libhover.library_docs;singleton:=true
+Bundle-Version: 1.0.1.qualifier
+Bundle-Vendor: %provider
+Bundle-Localization: plugin
+Require-Bundle: org.eclipse.help
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.library-docs/about.html b/libhover/org.eclipse.linuxtools.cdt.libhover.library-docs/about.html
new file mode 100644
index 0000000000..44e229003e
--- /dev/null
+++ b/libhover/org.eclipse.linuxtools.cdt.libhover.library-docs/about.html
@@ -0,0 +1,33 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+<html>
+<head>
+<title>About</title>
+<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>8th September, 2004</p>
+<h3>License</h3>
+<p>The Eclipse Software Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). 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, &quot;Program&quot; will mean the Content.</p>
+
+<h3>Contributions</h3>
+
+<p>If this Content is licensed to you under the terms and conditions of the EPL, any Contributions, as defined in the EPL, uploaded, submitted, or otherwise
+made available to the Eclipse Foundation, its members and/or the host of the Eclipse Foundation web site, by you that relate to such
+Content are provided under the terms and conditions of the <a href="http://www.eclipse.org/legal/termsofuse.html">Terms of Use</a>
+for the Eclipse Foundation web site and can be made available to others under the terms of the licenses as set out in the
+<a href="http://www.eclipse.org/legal/termsofuse.html">Terms of Use</a>.</p>
+
+<p>If this Content is licensed to you under license terms and conditions other than the EPL (&quot;Other License&quot;), any modifications, enhancements and/or
+other code and/or documentation (&quot;Modifications&quot;) uploaded, submitted, or otherwise made available to the Eclipse Foundation, its members and/or the
+host of the Eclipse Foundation web site, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
+to others under the terms of the Other License. In addition, with regard to Modifications for which you are the copyright holder, you are also
+providing the Modifications under the terms and conditions of the <a href="http://www.eclipse.org/legal/termsofuse.html">Terms of Use</a>
+for the Eclipse Foundation web site and such Modifications can be made available to others under the terms of the licenses as set out in the
+<a href="http://www.eclipse.org/legal/termsofuse.html">Terms of Use</a>.</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.library-docs/build.properties b/libhover/org.eclipse.linuxtools.cdt.libhover.library-docs/build.properties
new file mode 100644
index 0000000000..1d9ab88309
--- /dev/null
+++ b/libhover/org.eclipse.linuxtools.cdt.libhover.library-docs/build.properties
@@ -0,0 +1,4 @@
+bin.includes = META-INF/,\
+ plugin.xml,\
+ toc.xml,\
+ plugin.properties \ No newline at end of file
diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.library-docs/plugin.properties b/libhover/org.eclipse.linuxtools.cdt.libhover.library-docs/plugin.properties
new file mode 100644
index 0000000000..fd1b56190e
--- /dev/null
+++ b/libhover/org.eclipse.linuxtools.cdt.libhover.library-docs/plugin.properties
@@ -0,0 +1,12 @@
+#################################################################################
+# Copyright (c) 2008 Red Hat, Inc.
+# 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:
+# Red Hat Incorporated - initial API and implementation
+#################################################################################
+bundleName=Libhover C/C++ Library Documentation Plug-in (Incubation)
+provider=Eclipse \ No newline at end of file
diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.library-docs/plugin.xml b/libhover/org.eclipse.linuxtools.cdt.libhover.library-docs/plugin.xml
new file mode 100644
index 0000000000..08f7cebc17
--- /dev/null
+++ b/libhover/org.eclipse.linuxtools.cdt.libhover.library-docs/plugin.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+<plugin>
+ <extension
+ point="org.eclipse.help.toc">
+ <toc
+ file="toc.xml"
+ primary="true"/>
+ </extension>
+
+</plugin>
diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.library-docs/toc.xml b/libhover/org.eclipse.linuxtools.cdt.libhover.library-docs/toc.xml
new file mode 100644
index 0000000000..de69a8aa73
--- /dev/null
+++ b/libhover/org.eclipse.linuxtools.cdt.libhover.library-docs/toc.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?NLS TYPE="org.eclipse.help.toc"?>
+
+<toc label="C/C++ Library Documentation">
+ <anchor id="moreclibdocs"/>
+</toc>
diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.libstdcxx/.classpath b/libhover/org.eclipse.linuxtools.cdt.libhover.libstdcxx/.classpath
new file mode 100644
index 0000000000..ad32c83a78
--- /dev/null
+++ b/libhover/org.eclipse.linuxtools.cdt.libhover.libstdcxx/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.libstdcxx/.project b/libhover/org.eclipse.linuxtools.cdt.libhover.libstdcxx/.project
new file mode 100644
index 0000000000..134e131c9e
--- /dev/null
+++ b/libhover/org.eclipse.linuxtools.cdt.libhover.libstdcxx/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.linuxtools.cdt.libhover.libstdcxx</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.libstdcxx/.settings/org.eclipse.jdt.core.prefs b/libhover/org.eclipse.linuxtools.cdt.libhover.libstdcxx/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000000..15fdc96a8c
--- /dev/null
+++ b/libhover/org.eclipse.linuxtools.cdt.libhover.libstdcxx/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+#Fri Jan 30 16:39:40 EST 2009
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.libstdcxx/ChangeLog b/libhover/org.eclipse.linuxtools.cdt.libhover.libstdcxx/ChangeLog
new file mode 100644
index 0000000000..ae928bb42d
--- /dev/null
+++ b/libhover/org.eclipse.linuxtools.cdt.libhover.libstdcxx/ChangeLog
@@ -0,0 +1,33 @@
+2009-08-06 Jeff Johnston <jjohnstn@redhat.com>
+
+ Resolves #285867
+ * plugin.properties: Change Provider to Eclipse instead of Eclipse.org.
+
+2009-08-05 Jeff Johnston <jjohnstn@redhat.com>
+
+ * plugin.properties: New file to fill in bundlename and provider.
+
+2009-05-08 Jeff Johnston <jjohnstn@redhat.com>
+
+ * src/org/eclipse/linuxtools/cdt/libhover/libstdcxx/DoxygenCPPInfo.java (getParameters):
+ New method.
+ (getReturn): Ditto.
+ (buildDoxygenCPPInfo): Add code to get detailed description and break this up into
+ parameters and return value. For return type, use refid to find a referenced class.
+ (getElementText): Fix to be recursive.
+
+2009-02-10 Jeff Johnston <jjohnstn@redhat.com>
+
+ * .project: New file.
+ * toc.xml: Add missing toc file referenced by plugin.
+
+2009-02-06 Jeff Johnston <jjohnstn@redhat.com>
+
+ * plugin.xml: Initial creation.
+ * plugin.properties: Ditto.
+ * toc.xml: Ditto.
+ * build.properties: Ditto.
+ * META-INF/MANIFEST.MF: Ditto.
+ * about.html: Ditto.
+ * src/org/eclipse/linuxtools/cdt/libhover/libstdcxx/DoxygenCPPInfo.java: New file
+ for creating serialized LibHover info from libstdc++ Doxygen xml documentation. \ No newline at end of file
diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.libstdcxx/META-INF/MANIFEST.MF b/libhover/org.eclipse.linuxtools.cdt.libhover.libstdcxx/META-INF/MANIFEST.MF
new file mode 100644
index 0000000000..111bb39736
--- /dev/null
+++ b/libhover/org.eclipse.linuxtools.cdt.libhover.libstdcxx/META-INF/MANIFEST.MF
@@ -0,0 +1,12 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %bundleName
+Bundle-SymbolicName: org.eclipse.linuxtools.cdt.libhover.libstdcxx;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-Vendor: %provider
+Bundle-Localization: plugin
+Require-Bundle: org.eclipse.linuxtools.cdt.libhover.library_docs;bundle-version="1.0.0",
+ org.eclipse.linuxtools.cdt.libhover;bundle-version="1.0.1",
+ org.eclipse.core.filesystem;bundle-version="1.2.0",
+ org.eclipse.core.runtime;bundle-version="3.4.0"
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.libstdcxx/about.html b/libhover/org.eclipse.linuxtools.cdt.libhover.libstdcxx/about.html
new file mode 100644
index 0000000000..44e229003e
--- /dev/null
+++ b/libhover/org.eclipse.linuxtools.cdt.libhover.libstdcxx/about.html
@@ -0,0 +1,33 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+<html>
+<head>
+<title>About</title>
+<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>8th September, 2004</p>
+<h3>License</h3>
+<p>The Eclipse Software Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). 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, &quot;Program&quot; will mean the Content.</p>
+
+<h3>Contributions</h3>
+
+<p>If this Content is licensed to you under the terms and conditions of the EPL, any Contributions, as defined in the EPL, uploaded, submitted, or otherwise
+made available to the Eclipse Foundation, its members and/or the host of the Eclipse Foundation web site, by you that relate to such
+Content are provided under the terms and conditions of the <a href="http://www.eclipse.org/legal/termsofuse.html">Terms of Use</a>
+for the Eclipse Foundation web site and can be made available to others under the terms of the licenses as set out in the
+<a href="http://www.eclipse.org/legal/termsofuse.html">Terms of Use</a>.</p>
+
+<p>If this Content is licensed to you under license terms and conditions other than the EPL (&quot;Other License&quot;), any modifications, enhancements and/or
+other code and/or documentation (&quot;Modifications&quot;) uploaded, submitted, or otherwise made available to the Eclipse Foundation, its members and/or the
+host of the Eclipse Foundation web site, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
+to others under the terms of the Other License. In addition, with regard to Modifications for which you are the copyright holder, you are also
+providing the Modifications under the terms and conditions of the <a href="http://www.eclipse.org/legal/termsofuse.html">Terms of Use</a>
+for the Eclipse Foundation web site and such Modifications can be made available to others under the terms of the licenses as set out in the
+<a href="http://www.eclipse.org/legal/termsofuse.html">Terms of Use</a>.</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.libstdcxx/build.properties b/libhover/org.eclipse.linuxtools.cdt.libhover.libstdcxx/build.properties
new file mode 100644
index 0000000000..b26ffbea3b
--- /dev/null
+++ b/libhover/org.eclipse.linuxtools.cdt.libhover.libstdcxx/build.properties
@@ -0,0 +1,6 @@
+bin.includes = META-INF/,\
+ plugin.xml,\
+ toc.xml,\
+ plugin.properties
+src.includes = about.html,\
+ src/
diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.libstdcxx/plugin.properties b/libhover/org.eclipse.linuxtools.cdt.libhover.libstdcxx/plugin.properties
new file mode 100644
index 0000000000..337bfacc18
--- /dev/null
+++ b/libhover/org.eclipse.linuxtools.cdt.libhover.libstdcxx/plugin.properties
@@ -0,0 +1,12 @@
+#################################################################################
+# Copyright (c) 2009 Red Hat, Inc.
+# 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:
+# Red Hat Incorporated - initial API and implementation
+#################################################################################
+bundleName=Libstdc++ Libhover (Incubation)
+provider=Eclipse \ No newline at end of file
diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.libstdcxx/plugin.xml b/libhover/org.eclipse.linuxtools.cdt.libhover.libstdcxx/plugin.xml
new file mode 100644
index 0000000000..f81634e197
--- /dev/null
+++ b/libhover/org.eclipse.linuxtools.cdt.libhover.libstdcxx/plugin.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.2"?>
+<plugin>
+ <extension
+ id="library"
+ name="Libstdc++ Library"
+ point="org.eclipse.linuxtools.cdt.libhover.library">
+ <library
+ docs="http://gcc.gnu.org/onlinedocs/libstdc++/manual/spine.html"
+ location="http://www.sourceware.org/eclipse/libhover/libstdc++-v3.libhover"
+ name="libstdc++ library"
+ type="C++">
+ </library>
+ </extension>
+ <extension
+ point="org.eclipse.help.toc">
+ <toc
+ file="toc.xml"
+ primary="false">
+ </toc>
+ </extension>
+
+</plugin>
diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.libstdcxx/src/org/eclipse/linuxtools/cdt/libhover/libstdcxx/DoxygenCPPInfo.java b/libhover/org.eclipse.linuxtools.cdt.libhover.libstdcxx/src/org/eclipse/linuxtools/cdt/libhover/libstdcxx/DoxygenCPPInfo.java
new file mode 100644
index 0000000000..bb139e83a2
--- /dev/null
+++ b/libhover/org.eclipse.linuxtools.cdt.libhover.libstdcxx/src/org/eclipse/linuxtools/cdt/libhover/libstdcxx/DoxygenCPPInfo.java
@@ -0,0 +1,537 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Red Hat, Inc.
+ * 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:
+ * Red Hat Incorporated - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.linuxtools.cdt.libhover.libstdcxx;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.ObjectOutputStream;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.HashMap;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.eclipse.core.filesystem.URIUtil;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.linuxtools.cdt.libhover.LibHoverInfo;
+import org.eclipse.linuxtools.cdt.libhover.ClassInfo;
+import org.eclipse.linuxtools.cdt.libhover.MemberInfo;
+import org.eclipse.linuxtools.cdt.libhover.TypedefInfo;
+import org.w3c.dom.Document;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+import org.xml.sax.SAXException;
+
+
+public class DoxygenCPPInfo {
+
+ private Document document;
+ private LibHoverInfo cppInfo = new LibHoverInfo();
+ private HashMap<String, ClassInfo> classesById = new HashMap<String, ClassInfo>();
+
+ public DoxygenCPPInfo(Document document) {
+ this.document = document;
+ }
+
+ public Document getDocument() {
+ return document;
+ }
+
+ private String[] getTypedefTypes(String def) {
+ String[] result = null;
+ if (def.startsWith("typedef ")) { // $NON-NLS-1$
+ int startIndex = 8;
+ int count = 0;
+ int i = def.length() - 1;
+ // To break up types, we look for first blank outside of a template, working backwards.
+ // We need to work backwards because the transformed type may contain actual numeric parameters
+ // which could use the shift operators and we won't know whether they are shift operators or
+ // template specifiers without some actual parsing.
+ while (i >= 0) {
+ char ch = def.charAt(i);
+ if (ch == '<') {
+ --count;
+ }
+ else if (ch == '>') {
+ ++count;
+ }
+ // We look at last blank not in a template as being the delimeter between
+ // type name and definition.
+ if (count == 0 && ch == ' ') {
+ startIndex = i + 1;
+ break;
+ }
+ --i;
+ }
+ result = new String[2];
+ result[1] = def.substring(startIndex);
+ // Following is a bit of a hack knowing the docs don't add the namespace when the transformed
+ // type is in the same space
+ int namespace = result[1].indexOf("::"); // $NON-NLS-1$
+ if (namespace < 0)
+ result[0] = def.substring(8, startIndex).trim();
+ else
+ result[0] = result[1].substring(0, namespace) + "::" + def.substring(8, startIndex).trim(); // $NON-NLS-1$
+ }
+ return result;
+ }
+
+ private String getElementText(Node node) {
+ StringBuffer d = new StringBuffer();
+ NodeList nl = node.getChildNodes();
+ for (int x = 0; x < nl.getLength(); ++x) {
+ Node text = nl.item(x);
+ if (text.getNodeType() == Node.TEXT_NODE)
+ d.append(text.getNodeValue());
+ else
+ d.append(getElementText(text));
+ }
+ return d.toString();
+ }
+
+ public ClassInfo getClassInfo(String className) {
+ String typedefName = className.replaceAll("<.*>", "<>"); // $NON-NLS-1$ // $NON-NLS-2$
+ TypedefInfo typedef = cppInfo.typedefs.get(typedefName);
+ if (typedef != null) {
+ className = typedef.getTransformedType(className); // Reset class name to typedef transformation
+ }
+ int index = className.indexOf('<');
+ // Check if it is a template reference.
+ if (index != -1) {
+ // It is. We want to see if there are partial specific templates
+ // and we choose the first match. If nothing matches our particular
+ // case, we fall back on the initial generic template.
+ ClassInfo info = cppInfo.classes.get(className.substring(0, index));
+ if (info == null)
+ return null;
+ ArrayList<ClassInfo> children = info.getChildren();
+ if (children != null && children.size() > 0) {
+ for (int x = 0; x < children.size(); ++x) {
+ ClassInfo child = children.get(x);
+ if (className.matches(child.getClassName())) {
+ info = child;
+ break;
+ }
+ }
+ }
+ return info;
+ }
+ // Otherwise no template, just fetch the class info directly.
+ return cppInfo.classes.get(className);
+ }
+
+ public void buildDoxygenCPPInfo(String fileName) {
+ try {
+ // Create a hash table of all the class nodes mapped by class name. Trim any template info
+ // for the class name key value.
+ NodeList nl = getDocument().getElementsByTagName("compounddef"); // $NON-NLS-1$
+ for (int i = 0; i < nl.getLength(); ++i) {
+ Node n = nl.item(i);
+ NamedNodeMap attrs = n.getAttributes();
+ Node kind = attrs.getNamedItem("kind"); // $NON-NLS-1$
+ Node id = attrs.getNamedItem("id"); // $NON-NLS-1$
+ Node prot = attrs.getNamedItem("prot"); // $NON-NLS-1$
+ // We are only interested in cataloging public classes.
+ if (id != null && prot != null && prot.getNodeValue().equals("public") // $NON-NLS-1$
+ && kind != null && kind.getNodeValue().equals("class")) { // $NON-NLS-1$
+ NodeList nl2 = n.getChildNodes();
+ ClassInfo d = null;
+ String hashName = null;
+ for (int j = 0; j < nl2.getLength(); ++j) {
+ Node n2 = nl2.item(j);
+ String name2 = n2.getNodeName();
+ if (name2.equals("compoundname")) { // $NON-NLS-1$
+ String text = n2.getTextContent();
+ if (text != null && !text.equals("")) {
+ String className = text;
+ text = text.replaceAll("<\\s*", "<"); // $NON-NLS-1$ // $NON-NLS-2$
+ text = text.replaceAll("\\s*>", ">"); // $NON-NLS-1$ // $NON-NLS-2$
+ int index = text.indexOf('<');
+ hashName = text;
+ if (index > 0)
+ hashName = text.substring(0, index);
+ d = new ClassInfo(className, id.getNodeValue(), n);
+ classesById.put(id.getNodeValue(), d);
+ ClassInfo e = cppInfo.classes.get(hashName);
+ if (e != null) { /* We are dealing with a partial specific template...add it to list */
+ if (!d.areTemplateParmsFilled())
+ d.setTemplateParms(getTemplateParms(n));
+ String[] templateParms = d.getTemplateParms();
+ // For each template parameter, replace with a generic regex so later we can compare
+ // and identify a match (e.g. A<_a, _b> and A<char, _b> are defined and we have an instance
+ // of A<char, int>. We want to to match with A<char, _b> and replace all occurrences of "_b"
+ // with "int". For speed, we assume that the template parameter is not a subset of any
+ // other variable (e.g. if _A is used, there is no __A or _AB). If this proves untrue in
+ // any instance, more refinement of the initial value to replace will be required.
+ for (int k = 0; k < templateParms.length; ++k) {
+ text = text.replaceAll(templateParms[k], "[a-zA-Z0-9_: *]+"); // $NON-NLS-1$
+ }
+ d.setClassName(text);
+ e.addTemplate(d);
+ }
+ else
+ cppInfo.classes.put(hashName, d);
+ }
+ } else if (name2.equals("templateparamlist")) {
+ ArrayList<String> templates = new ArrayList<String>();
+ NodeList params = n2.getChildNodes();
+ int paramsLength = params.getLength();
+ for (int j2 = 0; j2 < paramsLength; ++j2) {
+ Node n3 = params.item(j2);
+ if (n3.getNodeName().equals("param")) {
+ NodeList types = n3.getChildNodes();
+ int typesLength = types.getLength();
+ for (int j3 = 0; j3 < typesLength; ++j3) {
+ Node n4 = types.item(j3);
+ if (n4.getNodeName().equals("declname")) {
+ templates.add(getElementText(n4));
+ }
+ }
+ }
+ }
+ String[] templateNames = new String[templates.size()];
+ d.setTemplateParms(templates.toArray(templateNames));
+ } else if (name2.equals("includes")) { // $NON-NLS-1$
+ String include = getElementText(n2);
+ if (d != null)
+ d.setInclude(include);
+ } else if (name2.equals("basecompoundref")) { // $NON-NLS-1$
+ // We have a base class. If public, add it to the list of nodes to look at in case we don't find the member
+ // in the current class definition.
+ NamedNodeMap m = n2.getAttributes();
+ if (m != null) {
+ Node refid = m.getNamedItem("refid"); // $NON-NLS-1$
+ Node prot2 = m.getNamedItem("prot"); // $NON-NLS-1$
+ if (prot2 != null && prot2.getNodeValue().equals("public")) { // $NON-NLS-1$
+ ClassInfo baseClass = null;
+ if (refid != null) {
+ // If we have been given the id of the base class, fetch it directly
+ baseClass = classesById.get(refid.getNodeValue());
+ } else {
+ // We probably have a template that needs resolution
+ String baseClassName = n2.getTextContent();
+// System.out.println("base class name is " + baseClassName);
+ baseClass = getClassInfo(baseClassName);
+ }
+ if (d != null && baseClass != null)
+ d.addBaseClass(baseClass);
+ }
+ }
+ } else if (name2.equals("sectiondef")) { // $NON-NLS-1$
+ // We are only interested in public member functions which are in their own section.
+ NamedNodeMap m = n2.getAttributes();
+ if (m != null) {
+ Node kind2 = m.getNamedItem("kind"); // $NON-NLS-1$
+ if (kind2 != null && kind2.getNodeValue().equals("public-func")) { // $NON-NLS-1$
+ NodeList pubfuncs = n2.getChildNodes();
+ int pubfuncLength = pubfuncs.getLength();
+ for (int j1 = 0; j1 < pubfuncLength; ++j1) {
+ Node n3 = pubfuncs.item(j1);
+ // Add all public member functions to the list of members
+ if (n3.getNodeName().equals("memberdef")) { // $NON-NLS-1$
+ NamedNodeMap m3 = n3.getAttributes();
+ if (m3 != null) {
+ Node m3Kind = m3.getNamedItem("kind"); // $NON-NLS-1$
+ if (m3Kind != null && m3Kind.getNodeValue().equals("function")) { // $NON-NLS-1$
+ String name = null;
+ String type = null;
+ String args = null;
+ String desc = null;
+ ArrayList<String> parms = new ArrayList<String>();
+ NodeList nl4 = n3.getChildNodes();
+ int memberLength = nl4.getLength();
+ for (int k = 0; k < memberLength; ++k) {
+ Node n4 = nl4.item(k);
+ String n4Name = n4.getNodeName();
+ if (n4Name.equals("type")) { // $NON-NLS-1$
+ NodeList nl5 = n4.getChildNodes();
+ type = new String(""); // $NON-NLS-1$
+ for (int x = 0; x < nl5.getLength(); ++x) {
+ Node n5 = nl5.item(x);
+ if (n5.getNodeType() == Node.TEXT_NODE)
+ type += n5.getNodeValue();
+ else if (n5.getNodeName().equals("ref")) { // $NON-NLS-1$
+ NamedNodeMap n5m = n5.getAttributes();
+ Node n5id = n5m.getNamedItem("refid");
+ if (n5id != null) {
+ String refid = n5id.getNodeValue();
+ ClassInfo refClass = classesById.get(refid);
+ if (refClass != null)
+ type += refClass.getClassName();
+ }
+ }
+ }
+ } else if (n4Name.equals("name")) { // $NON-NLS-1$
+ name = n4.getTextContent();
+ } else if (n4Name.equals("argsstring")) { // $NON-NLS-1$
+ args = getElementText(n4);
+ } else if (n4Name.equals("param")) { // $NON-NLS-1$
+ NodeList nl5 = n4.getChildNodes();
+ for (int x = 0; x < nl5.getLength(); ++x) {
+ Node n5 = nl5.item(x);
+ if (n5.getNodeName().equals("type")) { // $NON-NLS-1$
+ parms.add(getElementText(n5));
+ }
+ }
+ } else if (n4Name.equals("briefdescription")) { // $NON-NLS-1$
+ NodeList nl5 = n4.getChildNodes();
+ for (int x = 0; x < nl5.getLength(); ++x) {
+ Node n5 = nl5.item(x);
+ if (n5.getNodeName().equals("para")) { // $NON-NLS-1$
+ if (desc == null)
+ desc = new String("");
+ desc += "<p>" + getElementText(n5) + "</p>"; // $NON-NLS-1$ // $NON-NLS-2$
+ }
+ }
+ } else if (n4Name.equals("detaileddescription")) { // $NON-NLS-1$
+ NodeList nl5 = n4.getChildNodes();
+ for (int x = 0; x < nl5.getLength(); ++x) {
+ Node n5 = nl5.item(x);
+ if (n5.getNodeName().equals("para")) { // $NON-NLS-1$
+ if (desc == null)
+ desc = new String(""); // $NON-NLS-1$
+ NodeList nl6 = n5.getChildNodes();
+ Node n6 = nl6.item(0);
+ if (n6.getNodeType() == Node.TEXT_NODE)
+ desc += "<p>" + getElementText(n5) + "</p>"; // $NON-NLS-1$ // $NON-NLS-2$
+ else {
+ for (int x2 = 0; x2 < nl6.getLength(); ++x2) {
+ n6 = nl6.item(x2);
+ if (n6.getNodeName().equals("parameterlist")) { // $NON-NLS-1$
+ desc += getParameters(n6);
+ } else if (n6.getNodeName().equals("simplesect")) { // $NON-NLS-1$
+ desc += getReturn(n6);
+ }
+ }
+ }
+ }
+ }
+ } else if (n4Name.equals("location")) {
+ // Location is after all descriptions so we can now add the member
+ if (name != null) {
+ MemberInfo member = new MemberInfo(name);
+ member.setReturnType(type);
+ member.setPrototype(args);
+ member.setDescription(desc);
+ String[] argNames = new String[parms.size()];
+ member.setParamTypes(parms.toArray(argNames));
+ d.addMember(member);
+ }
+ break;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ // Create a hash table of all the typedefs. Keep any template info.
+ nl = getDocument().getElementsByTagName("memberdef"); // $NON-NLS-1$
+ for (int i = 0; i < nl.getLength(); ++i) {
+ Node n = nl.item(i);
+ NamedNodeMap attrs = n.getAttributes();
+ if (attrs != null) {
+ Node kind = attrs.getNamedItem("kind"); // $NON-NLS-1$
+ Node prot = attrs.getNamedItem("prot"); // $NON-NLS-1$
+ if (kind != null && kind.getNodeValue().equals("typedef") // $NON-NLS-1$
+ && prot != null && prot.getNodeValue().equals("public")) { // $NON-NLS-1$
+ NodeList list = n.getChildNodes();
+ for (int x = 0; x < list.getLength(); ++x) {
+ Node n2 = list.item(x);
+ if (n2.getNodeName().equals("definition")) { // $NON-NLS-1$
+ String def = n2.getTextContent();
+ if (def != null && !def.equals("")) {
+ def = def.replaceAll("<\\s*", "<"); // $NON-NLS-1$ // $NON-NLS-2$
+ def = def.replaceAll("\\s*>", ">"); // $NON-NLS-1$ // $NON-NLS-2$
+ String[] types = getTypedefTypes(def);
+ TypedefInfo d = new TypedefInfo(types[1], types[0]);
+ String hashName = d.getTypedefName();
+ int index = hashName.indexOf('<');
+ if (index > 0) {
+ String className = hashName.substring(0, index);
+ hashName = hashName.replaceAll("<.*>", "<>"); // $NON-NLS-1$ // $NON-NLS-2$
+ ClassInfo e = cppInfo.classes.get(className);
+ if (e == null)
+ break;
+ ArrayList<ClassInfo> children = e.getChildren();
+ if (children != null && children.size() > 0) {
+ for (int y = 0; y < children.size(); ++y) {
+ ClassInfo child = children.get(y);
+ String childName = child.getClassName().replaceAll("\\*", "\\\\*"); // $NON-NLS-1$ // $NON-NLS-2$
+ childName = childName.replace("[]", "\\[\\]"); // $NON-NLS-1$ // $NON-NLS-2$
+ if (types[1].matches(childName.concat("::.*"))) { // $NON-NLS-1$
+ e = child;
+ break;
+ }
+ }
+ }
+ String[] templates = e.getTemplateParms();
+ d.copyTemplates(templates);
+
+ TypedefInfo f = cppInfo.typedefs.get(hashName);
+ if (f != null) {
+ String typedefName = d.getTypedefName();
+ for (int z = 0; z < templates.length; ++z) {
+ typedefName = typedefName.replaceAll(templates[z], "[a-zA-Z0-9_: ]+"); // $NON-NLS-1$
+ }
+ d.setTypedefName(typedefName);
+ f.addTypedef(d);
+ }
+ else
+ cppInfo.typedefs.put(hashName, d);
+ break;
+ } else {
+ // Otherwise we have a non-template typedef name. Just add it to the list.
+ cppInfo.typedefs.put(hashName, d);
+ break;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ // Now, output the LibHoverInfo for caching later
+ FileOutputStream f = new FileOutputStream(fileName);
+ ObjectOutputStream out = new ObjectOutputStream(f);
+ out.writeObject(cppInfo);
+ out.close();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ private String getParameters(Node n6) {
+ String desc = "<br><br><h3>Parameters:</h3>";
+ NodeList nl = n6.getChildNodes();
+ for (int x = 0; x < nl.getLength(); ++x) {
+ Node n = nl.item(x);
+ if (n.getNodeName().equals("parameteritem")) {
+ NodeList nl2 = n.getChildNodes();
+ for (int y = 0; y < nl2.getLength(); ++y) {
+ Node n2 = nl2.item(y);
+ if (n2.getNodeName().equals("parameternamelist")) {
+ NodeList nl3 = n2.getChildNodes();
+ for (int z = 0; z < nl3.getLength(); ++z) {
+ Node n3 = nl3.item(z);
+ if (n3.getNodeName().equals("parametername")) {
+ desc += getElementText(n3) + " - ";
+ }
+ }
+ } else if (n2.getNodeName().equals("parameterdescription")) {
+ desc += getElementText(n2) + "<br>";
+ }
+
+ }
+ }
+ }
+ return desc;
+
+ }
+
+ private String getReturn(Node n6) {
+ String desc = "";
+ NamedNodeMap m = n6.getAttributes();
+ Node kind = m.getNamedItem("kind");
+ if (kind != null && kind.getNodeValue().equals("return")) {
+ desc += "<br><h3>Returns:</h3>" + getElementText(n6) + "<br>";
+ }
+ return desc;
+ }
+
+ public String[] getTemplateParms(Node classNode) {
+ Node n = null;
+ ArrayList<String> templateArray = new ArrayList<String>();
+ NodeList list = classNode.getChildNodes();
+ for (int i = 0; i < list.getLength(); ++i) {
+ n = list.item(i);
+ if (n.getNodeName().equals("templateparamlist")) { // $NON-NLS-1$
+ break;
+ }
+ }
+ if (n != null) {
+ NodeList templateList = n.getChildNodes();
+ for (int j = 0; j < templateList.getLength(); ++j) {
+ Node p = templateList.item(j);
+ if (p.getNodeName().equals("param")) { // $NON-NLS-1$
+ NodeList paramList = p.getChildNodes();
+ for (int k = 0; k < paramList.getLength(); ++k) {
+ Node q = paramList.item(k);
+ if (q.getNodeName().equals("declname")) { // $NON-NLS-1$
+ String templateName = q.getTextContent();
+ templateArray.add(templateName);
+ }
+ }
+ }
+ }
+ }
+ String[] templates = new String[templateArray.size()];
+ return templateArray.toArray(templates);
+ }
+
+ /**
+ * Create LibHoverInfo serialized output
+ *
+ * @param args (args[0] = location of Doxygen xml document to parse (file or URL),
+ * args[1] = name of file to put serialized LibHoverInfo
+ */
+ public static void main(String[] args) {
+ URI acDoc;
+ try {
+ acDoc = new URI(args[0]);
+ IPath p = URIUtil.toPath(acDoc);
+ InputStream docStream = null;
+ if (p == null) {
+ URL url = acDoc.toURL();
+ docStream = url.openStream();
+ } else {
+ docStream = new FileInputStream(p.toFile());
+ }
+ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+ factory.setValidating(false);
+ DocumentBuilder builder = factory.newDocumentBuilder();
+ Document doc = builder.parse(docStream);
+ if (doc != null) {
+ DoxygenCPPInfo d = new DoxygenCPPInfo(doc);
+ d.buildDoxygenCPPInfo(args[1]);
+ }
+ System.out.println("Built " + args[1] + " from " + args[0]);
+ } catch (URISyntaxException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } catch (FileNotFoundException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } catch (IOException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } catch (ParserConfigurationException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } catch (SAXException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.libstdcxx/toc.xml b/libhover/org.eclipse.linuxtools.cdt.libhover.libstdcxx/toc.xml
new file mode 100644
index 0000000000..e034d33e3e
--- /dev/null
+++ b/libhover/org.eclipse.linuxtools.cdt.libhover.libstdcxx/toc.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?NLS TYPE="org.eclipse.help.toc"?>
+
+<toc label="libstdc++ library" link_to="../org.eclipse.linuxtools.cdt.libhover.library_docs/toc.xml#moreclibdocs">
+ <topic href="http://gcc.gnu.org/onlinedocs/libstdc++/manual/spine.html" label="libstdc++">
+ </topic>
+</toc>
diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.newlib-feature/.project b/libhover/org.eclipse.linuxtools.cdt.libhover.newlib-feature/.project
new file mode 100644
index 0000000000..9773d04c6b
--- /dev/null
+++ b/libhover/org.eclipse.linuxtools.cdt.libhover.newlib-feature/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.linuxtools.cdt.libhover.newlib-feature</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.pde.FeatureBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.FeatureNature</nature>
+ </natures>
+</projectDescription>
diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.newlib-feature/ChangeLog b/libhover/org.eclipse.linuxtools.cdt.libhover.newlib-feature/ChangeLog
new file mode 100644
index 0000000000..f52d6c323f
--- /dev/null
+++ b/libhover/org.eclipse.linuxtools.cdt.libhover.newlib-feature/ChangeLog
@@ -0,0 +1,20 @@
+2009-08-06 Jeff Johnston <jjohnstn@redhat.com>
+
+ Resolves #285867
+ * feature.properties: Change provider to Eclipse instead of Eclipse.org.
+
+2009-08-05 Andrew Overholt <overholt@redhat.com>
+
+ * feature.xml: Add ".qualifier" to version.
+
+2009-08-05 Andrew Overholt <overholt@redhat.com>
+
+ * feature.xml: Rename to org.eclipse.linuxtools.cdt.libhover.newlib.
+
+2009-05-08 Jeff Johnston <jjohnstn@redhat.com>
+
+ * about.html: Initial check-in.
+ * build.properties: Ditto.
+ * epl-v10.html: Ditto.
+ * feature.properties: Ditto.
+ * feature.xml: Ditto. \ No newline at end of file
diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.newlib-feature/about.html b/libhover/org.eclipse.linuxtools.cdt.libhover.newlib-feature/about.html
new file mode 100644
index 0000000000..44e229003e
--- /dev/null
+++ b/libhover/org.eclipse.linuxtools.cdt.libhover.newlib-feature/about.html
@@ -0,0 +1,33 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+<html>
+<head>
+<title>About</title>
+<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>8th September, 2004</p>
+<h3>License</h3>
+<p>The Eclipse Software Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). 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, &quot;Program&quot; will mean the Content.</p>
+
+<h3>Contributions</h3>
+
+<p>If this Content is licensed to you under the terms and conditions of the EPL, any Contributions, as defined in the EPL, uploaded, submitted, or otherwise
+made available to the Eclipse Foundation, its members and/or the host of the Eclipse Foundation web site, by you that relate to such
+Content are provided under the terms and conditions of the <a href="http://www.eclipse.org/legal/termsofuse.html">Terms of Use</a>
+for the Eclipse Foundation web site and can be made available to others under the terms of the licenses as set out in the
+<a href="http://www.eclipse.org/legal/termsofuse.html">Terms of Use</a>.</p>
+
+<p>If this Content is licensed to you under license terms and conditions other than the EPL (&quot;Other License&quot;), any modifications, enhancements and/or
+other code and/or documentation (&quot;Modifications&quot;) uploaded, submitted, or otherwise made available to the Eclipse Foundation, its members and/or the
+host of the Eclipse Foundation web site, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
+to others under the terms of the Other License. In addition, with regard to Modifications for which you are the copyright holder, you are also
+providing the Modifications under the terms and conditions of the <a href="http://www.eclipse.org/legal/termsofuse.html">Terms of Use</a>
+for the Eclipse Foundation web site and such Modifications can be made available to others under the terms of the licenses as set out in the
+<a href="http://www.eclipse.org/legal/termsofuse.html">Terms of Use</a>.</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.newlib-feature/build.properties b/libhover/org.eclipse.linuxtools.cdt.libhover.newlib-feature/build.properties
new file mode 100644
index 0000000000..d361ddb536
--- /dev/null
+++ b/libhover/org.eclipse.linuxtools.cdt.libhover.newlib-feature/build.properties
@@ -0,0 +1,4 @@
+bin.includes = feature.xml,\
+ about.html,\
+ epl-v10.html,\
+ feature.properties
diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.newlib-feature/epl-v10.html b/libhover/org.eclipse.linuxtools.cdt.libhover.newlib-feature/epl-v10.html
new file mode 100644
index 0000000000..9320c9f37c
--- /dev/null
+++ b/libhover/org.eclipse.linuxtools.cdt.libhover.newlib-feature/epl-v10.html
@@ -0,0 +1,320 @@
+<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40"><head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<meta name="ProgId" content="Word.Document">
+<meta name="Generator" content="Microsoft Word 9">
+<meta name="Originator" content="Microsoft Word 9">
+<link rel="File-List" href="http://www.eclipse.org/legal/Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
+<title>Eclipse Public License - Version 1.0</title>
+<!--[if gte mso 9]><xml>
+ <o:DocumentProperties>
+ <o:Revision>2</o:Revision>
+ <o:TotalTime>3</o:TotalTime>
+ <o:Created>2004-03-05T23:03:00Z</o:Created>
+ <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
+ <o:Pages>4</o:Pages>
+ <o:Words>1626</o:Words>
+ <o:Characters>9270</o:Characters>
+ <o:Lines>77</o:Lines>
+ <o:Paragraphs>18</o:Paragraphs>
+ <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
+ <o:Version>9.4402</o:Version>
+ </o:DocumentProperties>
+</xml><![endif]--><!--[if gte mso 9]><xml>
+ <w:WordDocument>
+ <w:TrackRevisions/>
+ </w:WordDocument>
+</xml><![endif]-->
+<style>
+<!--
+ /* Font Definitions */
+@font-face
+ {font-family:Tahoma;
+ panose-1:2 11 6 4 3 5 4 4 2 4;
+ mso-font-charset:0;
+ mso-generic-font-family:swiss;
+ mso-font-pitch:variable;
+ mso-font-signature:553679495 -2147483648 8 0 66047 0;}
+ /* Style Definitions */
+p.MsoNormal, li.MsoNormal, div.MsoNormal
+ {mso-style-parent:"";
+ margin:0in;
+ margin-bottom:.0001pt;
+ mso-pagination:widow-orphan;
+ font-size:12.0pt;
+ font-family:"Times New Roman";
+ mso-fareast-font-family:"Times New Roman";}
+p
+ {margin-right:0in;
+ mso-margin-top-alt:auto;
+ mso-margin-bottom-alt:auto;
+ margin-left:0in;
+ mso-pagination:widow-orphan;
+ font-size:12.0pt;
+ font-family:"Times New Roman";
+ mso-fareast-font-family:"Times New Roman";}
+p.BalloonText, li.BalloonText, div.BalloonText
+ {mso-style-name:"Balloon Text";
+ margin:0in;
+ margin-bottom:.0001pt;
+ mso-pagination:widow-orphan;
+ font-size:8.0pt;
+ font-family:Tahoma;
+ mso-fareast-font-family:"Times New Roman";}
+@page Section1
+ {size:8.5in 11.0in;
+ margin:1.0in 1.25in 1.0in 1.25in;
+ mso-header-margin:.5in;
+ mso-footer-margin:.5in;
+ mso-paper-source:0;}
+div.Section1
+ {page:Section1;}
+-->
+</style>
+</head><body style="" lang="EN-US">
+
+<div class="Section1">
+
+<p style="text-align: center;" align="center"><b>Eclipse Public License - v 1.0</b>
+</p>
+
+<p><span style="font-size: 10pt;">THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
+THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE,
+REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
+OF THIS AGREEMENT.</span> </p>
+
+<p><b><span style="font-size: 10pt;">1. DEFINITIONS</span></b> </p>
+
+<p><span style="font-size: 10pt;">"Contribution" means:</span> </p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a)
+in the case of the initial Contributor, the initial code and documentation
+distributed under this Agreement, and<br clear="left">
+b) in the case of each subsequent Contributor:</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">i)
+changes to the Program, and</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">ii)
+additions to the Program;</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">where
+such changes and/or additions to the Program originate from and are distributed
+by that particular Contributor. A Contribution 'originates' from a Contributor
+if it was added to the Program by such Contributor itself or anyone acting on
+such Contributor's behalf. Contributions do not include additions to the
+Program which: (i) are separate modules of software distributed in conjunction
+with the Program under their own license agreement, and (ii) are not derivative
+works of the Program. </span></p>
+
+<p><span style="font-size: 10pt;">"Contributor" means any person or
+entity that distributes the Program.</span> </p>
+
+<p><span style="font-size: 10pt;">"Licensed Patents " mean patent
+claims licensable by a Contributor which are necessarily infringed by the use
+or sale of its Contribution alone or when combined with the Program. </span></p>
+
+<p><span style="font-size: 10pt;">"Program" means the Contributions
+distributed in accordance with this Agreement.</span> </p>
+
+<p><span style="font-size: 10pt;">"Recipient" means anyone who
+receives the Program under this Agreement, including all Contributors.</span> </p>
+
+<p><b><span style="font-size: 10pt;">2. GRANT OF RIGHTS</span></b> </p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a)
+Subject to the terms of this Agreement, each Contributor hereby grants Recipient
+a non-exclusive, worldwide, royalty-free copyright license to<span style="color: red;"> </span>reproduce, prepare derivative works of, publicly
+display, publicly perform, distribute and sublicense the Contribution of such
+Contributor, if any, and such derivative works, in source code and object code
+form.</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">b)
+Subject to the terms of this Agreement, each Contributor hereby grants
+Recipient a non-exclusive, worldwide,<span style="color: green;"> </span>royalty-free
+patent license under Licensed Patents to make, use, sell, offer to sell, import
+and otherwise transfer the Contribution of such Contributor, if any, in source
+code and object code form. This patent license shall apply to the combination
+of the Contribution and the Program if, at the time the Contribution is added
+by the Contributor, such addition of the Contribution causes such combination
+to be covered by the Licensed Patents. The patent license shall not apply to
+any other combinations which include the Contribution. No hardware per se is
+licensed hereunder. </span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">c)
+Recipient understands that although each Contributor grants the licenses to its
+Contributions set forth herein, no assurances are provided by any Contributor
+that the Program does not infringe the patent or other intellectual property
+rights of any other entity. Each Contributor disclaims any liability to Recipient
+for claims brought by any other entity based on infringement of intellectual
+property rights or otherwise. As a condition to exercising the rights and
+licenses granted hereunder, each Recipient hereby assumes sole responsibility
+to secure any other intellectual property rights needed, if any. For example,
+if a third party patent license is required to allow Recipient to distribute
+the Program, it is Recipient's responsibility to acquire that license before
+distributing the Program.</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">d)
+Each Contributor represents that to its knowledge it has sufficient copyright
+rights in its Contribution, if any, to grant the copyright license set forth in
+this Agreement. </span></p>
+
+<p><b><span style="font-size: 10pt;">3. REQUIREMENTS</span></b> </p>
+
+<p><span style="font-size: 10pt;">A Contributor may choose to distribute the
+Program in object code form under its own license agreement, provided that:</span>
+</p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a)
+it complies with the terms and conditions of this Agreement; and</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">b)
+its license agreement:</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">i)
+effectively disclaims on behalf of all Contributors all warranties and
+conditions, express and implied, including warranties or conditions of title
+and non-infringement, and implied warranties or conditions of merchantability
+and fitness for a particular purpose; </span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">ii)
+effectively excludes on behalf of all Contributors all liability for damages,
+including direct, indirect, special, incidental and consequential damages, such
+as lost profits; </span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">iii)
+states that any provisions which differ from this Agreement are offered by that
+Contributor alone and not by any other party; and</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">iv)
+states that source code for the Program is available from such Contributor, and
+informs licensees how to obtain it in a reasonable manner on or through a
+medium customarily used for software exchange.<span style="color: blue;"> </span></span></p>
+
+<p><span style="font-size: 10pt;">When the Program is made available in source
+code form:</span> </p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a)
+it must be made available under this Agreement; and </span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">b) a
+copy of this Agreement must be included with each copy of the Program. </span></p>
+
+<p><span style="font-size: 10pt;">Contributors may not remove or alter any
+copyright notices contained within the Program. </span></p>
+
+<p><span style="font-size: 10pt;">Each Contributor must identify itself as the
+originator of its Contribution, if any, in a manner that reasonably allows
+subsequent Recipients to identify the originator of the Contribution. </span></p>
+
+<p><b><span style="font-size: 10pt;">4. COMMERCIAL DISTRIBUTION</span></b> </p>
+
+<p><span style="font-size: 10pt;">Commercial distributors of software may
+accept certain responsibilities with respect to end users, business partners
+and the like. While this license is intended to facilitate the commercial use
+of the Program, the Contributor who includes the Program in a commercial
+product offering should do so in a manner which does not create potential
+liability for other Contributors. Therefore, if a Contributor includes the
+Program in a commercial product offering, such Contributor ("Commercial
+Contributor") hereby agrees to defend and indemnify every other
+Contributor ("Indemnified Contributor") against any losses, damages and
+costs (collectively "Losses") arising from claims, lawsuits and other
+legal actions brought by a third party against the Indemnified Contributor to
+the extent caused by the acts or omissions of such Commercial Contributor in
+connection with its distribution of the Program in a commercial product
+offering. The obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In order
+to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
+Contributor in writing of such claim, and b) allow the Commercial Contributor
+to control, and cooperate with the Commercial Contributor in, the defense and
+any related settlement negotiations. The Indemnified Contributor may participate
+in any such claim at its own expense.</span> </p>
+
+<p><span style="font-size: 10pt;">For example, a Contributor might include the
+Program in a commercial product offering, Product X. That Contributor is then a
+Commercial Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance claims and
+warranties are such Commercial Contributor's responsibility alone. Under this
+section, the Commercial Contributor would have to defend claims against the
+other Contributors related to those performance claims and warranties, and if a
+court requires any other Contributor to pay any damages as a result, the
+Commercial Contributor must pay those damages.</span> </p>
+
+<p><b><span style="font-size: 10pt;">5. NO WARRANTY</span></b> </p>
+
+<p><span style="font-size: 10pt;">EXCEPT AS EXPRESSLY SET FORTH IN THIS
+AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT
+WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
+WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
+MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
+responsible for determining the appropriateness of using and distributing the
+Program and assumes all risks associated with its exercise of rights under this
+Agreement , including but not limited to the risks and costs of program errors,
+compliance with applicable laws, damage to or loss of data, programs or
+equipment, and unavailability or interruption of operations. </span></p>
+
+<p><b><span style="font-size: 10pt;">6. DISCLAIMER OF LIABILITY</span></b> </p>
+
+<p><span style="font-size: 10pt;">EXCEPT AS EXPRESSLY SET FORTH IN THIS
+AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
+THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
+THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
+
+<p><b><span style="font-size: 10pt;">7. GENERAL</span></b> </p>
+
+<p><span style="font-size: 10pt;">If any provision of this Agreement is invalid
+or unenforceable under applicable law, it shall not affect the validity or
+enforceability of the remainder of the terms of this Agreement, and without
+further action by the parties hereto, such provision shall be reformed to the
+minimum extent necessary to make such provision valid and enforceable.</span> </p>
+
+<p><span style="font-size: 10pt;">If Recipient institutes patent litigation
+against any entity (including a cross-claim or counterclaim in a lawsuit)
+alleging that the Program itself (excluding combinations of the Program with
+other software or hardware) infringes such Recipient's patent(s), then such
+Recipient's rights granted under Section 2(b) shall terminate as of the date
+such litigation is filed. </span></p>
+
+<p><span style="font-size: 10pt;">All Recipient's rights under this Agreement
+shall terminate if it fails to comply with any of the material terms or
+conditions of this Agreement and does not cure such failure in a reasonable
+period of time after becoming aware of such noncompliance. If all Recipient's
+rights under this Agreement terminate, Recipient agrees to cease use and
+distribution of the Program as soon as reasonably practicable. However,
+Recipient's obligations under this Agreement and any licenses granted by
+Recipient relating to the Program shall continue and survive. </span></p>
+
+<p><span style="font-size: 10pt;">Everyone is permitted to copy and distribute
+copies of this Agreement, but in order to avoid inconsistency the Agreement is
+copyrighted and may only be modified in the following manner. The Agreement
+Steward reserves the right to publish new versions (including revisions) of
+this Agreement from time to time. No one other than the Agreement Steward has
+the right to modify this Agreement. The Eclipse Foundation is the initial
+Agreement Steward. The Eclipse Foundation may assign the responsibility to
+serve as the Agreement Steward to a suitable separate entity. Each new version
+of the Agreement will be given a distinguishing version number. The Program
+(including Contributions) may always be distributed subject to the version of
+the Agreement under which it was received. In addition, after a new version of
+the Agreement is published, Contributor may elect to distribute the Program
+(including its Contributions) under the new version. Except as expressly stated
+in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
+the intellectual property of any Contributor under this Agreement, whether
+expressly, by implication, estoppel or otherwise. All rights in the Program not
+expressly granted under this Agreement are reserved.</span> </p>
+
+<p><span style="font-size: 10pt;">This Agreement is governed by the laws of the
+State of New York and the intellectual property laws of the United States of
+America. No party to this Agreement will bring a legal action under this
+Agreement more than one year after the cause of action arose. Each party waives
+its rights to a jury trial in any resulting litigation.</span> </p>
+
+<p class="MsoNormal"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]--><o:p></o:p></p>
+
+</div>
+
+</body></html> \ No newline at end of file
diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.newlib-feature/feature.properties b/libhover/org.eclipse.linuxtools.cdt.libhover.newlib-feature/feature.properties
new file mode 100644
index 0000000000..6844d99700
--- /dev/null
+++ b/libhover/org.eclipse.linuxtools.cdt.libhover.newlib-feature/feature.properties
@@ -0,0 +1,112 @@
+#################################################################################
+# Copyright (c) 2008 Red Hat, Inc.
+# 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:
+# Red Hat Incorporated - initial API and implementation
+#################################################################################
+featureName=Libhover for Newlib Feature (Incubation)
+description=Hover help plugins for maintaining C projects using newlib.
+provider=Eclipse
+copyright=Copyright 2009 Red Hat, Inc.
+licenseURL=epl-v10.html
+license=\
+ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
+March 17, 2005\n\
+\n\
+Usage Of Content\n\
+\n\
+THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
+OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
+USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
+AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
+NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
+AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
+AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
+OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
+TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
+OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
+BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
+\n\
+Applicable Licenses\n\
+\n\
+Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
+is provided to you under the terms and conditions of the Eclipse Public\n\
+License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
+Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
+For purposes of the EPL, "Program" will mean the Content.\n\
+\n\
+Content includes, but is not limited to, source code, object code,\n\
+documentation and other files maintained in the Eclipse.org CVS\n\
+repository ("Repository") in CVS modules ("Modules") and made available\n\
+as downloadable archives ("Downloads").\n\
+\n\
+ - Content may be structured and packaged into modules to facilitate delivering,\n\
+ extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
+ plug-in fragments ("Fragments"), and features ("Features").\n\
+ - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\
+ in a directory named "plugins".\n\
+ - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
+ Each Feature may be packaged as a sub-directory in a directory named "features".\n\
+ Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
+ numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
+ - Features may also include other Features ("Included Features"). Within a Feature, files\n\
+ named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
+\n\
+Features may also include other Features ("Included Features"). Files named\n\
+"feature.xml" may contain a list of the names and version numbers of\n\
+Included Features.\n\
+\n\
+The terms and conditions governing Plug-ins and Fragments should be\n\
+contained in files named "about.html" ("Abouts"). The terms and\n\
+conditions governing Features and Included Features should be contained\n\
+in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
+Licenses may be located in any directory of a Download or Module\n\
+including, but not limited to the following locations:\n\
+\n\
+ - The top-level (root) directory\n\
+ - Plug-in and Fragment directories\n\
+ - Inside Plug-ins and Fragments packaged as JARs\n\
+ - Sub-directories of the directory named "src" of certain Plug-ins\n\
+ - Feature directories\n\
+\n\
+Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
+Eclipse Update Manager, you must agree to a license ("Feature Update\n\
+License") during the installation process. If the Feature contains\n\
+Included Features, the Feature Update License should either provide you\n\
+with the terms and conditions governing the Included Features or inform\n\
+you where you can locate them. Feature Update Licenses may be found in\n\
+the "license" property of files named "feature.properties". Such Abouts,\n\
+Feature Licenses and Feature Update Licenses contain the terms and\n\
+conditions (or references to such terms and conditions) that govern your\n\
+use of the associated Content in that directory.\n\
+\n\
+THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
+TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
+SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
+\n\
+ - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
+ - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
+ - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
+ - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
+ - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
+ - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
+\n\
+IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
+TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
+is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
+govern that particular Content.\n\
+\n\
+Cryptography\n\
+\n\
+Content may contain encryption software. The country in which you are\n\
+currently may have restrictions on the import, possession, and use,\n\
+and/or re-export to another country, of encryption software. BEFORE\n\
+using any encryption software, please check the country's laws,\n\
+regulations and policies concerning the import, possession, or use,\n\
+and re-export of encryption software, to see if this is permitted.\n\
+\n\
+Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n \ No newline at end of file
diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.newlib-feature/feature.xml b/libhover/org.eclipse.linuxtools.cdt.libhover.newlib-feature/feature.xml
new file mode 100644
index 0000000000..4beb8a6d1c
--- /dev/null
+++ b/libhover/org.eclipse.linuxtools.cdt.libhover.newlib-feature/feature.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+ id="org.eclipse.linuxtools.cdt.libhover.newlib"
+ label="%featureName"
+ version="1.0.0.qualifier"
+ provider-name="%provider">
+
+ <description>
+ %description
+ </description>
+
+ <copyright>
+ %copyright
+ </copyright>
+
+ <license url="epl-v10.php">
+ %license
+ </license>
+
+ <url>
+ <update label="Linux Tools Update Site" url="http://download.eclipse.org/technology/linuxtools/update"/>
+ </url>
+
+ <requires>
+ <import plugin="org.eclipse.linuxtools.cdt.libhover.library_docs" version="1.0.0" match="greaterOrEqual"/>
+ </requires>
+
+ <plugin
+ id="org.eclipse.linuxtools.cdt.libhover.newlib"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"/>
+
+</feature>
diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.newlib/.project b/libhover/org.eclipse.linuxtools.cdt.libhover.newlib/.project
new file mode 100644
index 0000000000..f3a0af0ef5
--- /dev/null
+++ b/libhover/org.eclipse.linuxtools.cdt.libhover.newlib/.project
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.linuxtools.cdt.libhover.newlib</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <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>
+ </natures>
+</projectDescription>
diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.newlib/ChangeLog b/libhover/org.eclipse.linuxtools.cdt.libhover.newlib/ChangeLog
new file mode 100644
index 0000000000..04a4fa75be
--- /dev/null
+++ b/libhover/org.eclipse.linuxtools.cdt.libhover.newlib/ChangeLog
@@ -0,0 +1,32 @@
+2009-08-06 Jeff Johnston <jjohnstn@redhat.com>
+
+ Resolves #285867
+ * plugin.properties: Change Provider to Eclipse instead of Eclipse.org.
+
+2009-02-06 Jeff Johnston <jjohnstn@redhat.com>
+
+ * META-INF/MANIFEST.MF: Bump up version to 1.0.2.
+ * plugin.xml: Change to use new libhover library interface which requires
+ the location of a serialized LibHoverInfo instance rather than an xml document.
+
+2009-01-15 Jeff Johnston <jjohnstn@redhat.com>
+
+ * META-INF/MANIFEST.MF: Add .qualifier to version and bump up to 1.0.1.
+
+2008-11-03 Andrew Overholt <overholt@redhat.com>
+
+ * build.properties: Add plugin.properties.
+
+2008-10-31 Andrew Overholt <overholt@redhat.com>
+
+ * plugin.properties: Initial checkin.
+ * META-INF/MANIFEST.MF: Use plugin.properties. Add "(Incubation)".
+
+2008-10-24 Jeff Johnston <jjohnstn@redhat.com>
+
+ * .project: New plugin for newlib libhover.
+ * META-INF/MANIFEST.MF: New file.
+ * plugin.xml: Ditto.
+ * toc.xml: Ditto.
+ * about.html: Ditto.
+ * build.properties: Ditto. \ No newline at end of file
diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.newlib/META-INF/MANIFEST.MF b/libhover/org.eclipse.linuxtools.cdt.libhover.newlib/META-INF/MANIFEST.MF
new file mode 100644
index 0000000000..69e8682fef
--- /dev/null
+++ b/libhover/org.eclipse.linuxtools.cdt.libhover.newlib/META-INF/MANIFEST.MF
@@ -0,0 +1,9 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %bundleName
+Bundle-SymbolicName: org.eclipse.linuxtools.cdt.libhover.newlib;singleton:=true
+Bundle-Version: 1.0.2.qualifier
+Bundle-Vendor: %provider
+Bundle-Localization: plugin
+Require-Bundle: org.eclipse.linuxtools.cdt.libhover.library_docs;bundle-version="1.0.0"
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.newlib/about.html b/libhover/org.eclipse.linuxtools.cdt.libhover.newlib/about.html
new file mode 100644
index 0000000000..44e229003e
--- /dev/null
+++ b/libhover/org.eclipse.linuxtools.cdt.libhover.newlib/about.html
@@ -0,0 +1,33 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+<html>
+<head>
+<title>About</title>
+<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>8th September, 2004</p>
+<h3>License</h3>
+<p>The Eclipse Software Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). 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, &quot;Program&quot; will mean the Content.</p>
+
+<h3>Contributions</h3>
+
+<p>If this Content is licensed to you under the terms and conditions of the EPL, any Contributions, as defined in the EPL, uploaded, submitted, or otherwise
+made available to the Eclipse Foundation, its members and/or the host of the Eclipse Foundation web site, by you that relate to such
+Content are provided under the terms and conditions of the <a href="http://www.eclipse.org/legal/termsofuse.html">Terms of Use</a>
+for the Eclipse Foundation web site and can be made available to others under the terms of the licenses as set out in the
+<a href="http://www.eclipse.org/legal/termsofuse.html">Terms of Use</a>.</p>
+
+<p>If this Content is licensed to you under license terms and conditions other than the EPL (&quot;Other License&quot;), any modifications, enhancements and/or
+other code and/or documentation (&quot;Modifications&quot;) uploaded, submitted, or otherwise made available to the Eclipse Foundation, its members and/or the
+host of the Eclipse Foundation web site, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
+to others under the terms of the Other License. In addition, with regard to Modifications for which you are the copyright holder, you are also
+providing the Modifications under the terms and conditions of the <a href="http://www.eclipse.org/legal/termsofuse.html">Terms of Use</a>
+for the Eclipse Foundation web site and such Modifications can be made available to others under the terms of the licenses as set out in the
+<a href="http://www.eclipse.org/legal/termsofuse.html">Terms of Use</a>.</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.newlib/build.properties b/libhover/org.eclipse.linuxtools.cdt.libhover.newlib/build.properties
new file mode 100644
index 0000000000..2220fabe27
--- /dev/null
+++ b/libhover/org.eclipse.linuxtools.cdt.libhover.newlib/build.properties
@@ -0,0 +1,5 @@
+bin.includes = META-INF/,\
+ plugin.xml,\
+ toc.xml,\
+ plugin.properties
+src.includes = about.html
diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.newlib/plugin.properties b/libhover/org.eclipse.linuxtools.cdt.libhover.newlib/plugin.properties
new file mode 100644
index 0000000000..31d8eaee5d
--- /dev/null
+++ b/libhover/org.eclipse.linuxtools.cdt.libhover.newlib/plugin.properties
@@ -0,0 +1,12 @@
+#################################################################################
+# Copyright (c) 2008 Red Hat, Inc.
+# 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:
+# Red Hat Incorporated - initial API and implementation
+#################################################################################
+bundleName=Newlib Libhover (Incubation)
+provider=Eclipse \ No newline at end of file
diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.newlib/plugin.xml b/libhover/org.eclipse.linuxtools.cdt.libhover.newlib/plugin.xml
new file mode 100644
index 0000000000..3571976491
--- /dev/null
+++ b/libhover/org.eclipse.linuxtools.cdt.libhover.newlib/plugin.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.2"?>
+<plugin>
+ <extension
+ id="library"
+ name="Newlib C Library"
+ point="org.eclipse.linuxtools.cdt.libhover.library">
+ <library
+ docs="http://www.sourceware.org/newlib/libc.html"
+ location="http://www.sourceware.org/eclipse/libhover/newlib-1.16.0.libhover"
+ name="newlib library"
+ type="C">
+ </library>
+ </extension>
+ <extension
+ point="org.eclipse.help.toc">
+ <toc
+ file="toc.xml"
+ primary="false">
+ </toc>
+ </extension>
+
+</plugin>
diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.newlib/toc.xml b/libhover/org.eclipse.linuxtools.cdt.libhover.newlib/toc.xml
new file mode 100644
index 0000000000..c73c418dab
--- /dev/null
+++ b/libhover/org.eclipse.linuxtools.cdt.libhover.newlib/toc.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?NLS TYPE="org.eclipse.help.toc"?>
+
+<toc label="newlib library" link_to="../org.eclipse.linuxtools.cdt.libhover.library_docs/toc.xml#moreclibdocs">
+ <topic href="http://www.sourceware.org/newlib/libc.html" label="newlib libc">
+ </topic>
+ <topic href="http://www.sourceware.org/newlib/libm.html" label="newlib libm">
+ </topic>
+</toc>
diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover/ChangeLog b/libhover/org.eclipse.linuxtools.cdt.libhover/ChangeLog
index db4823d93d..7bc9ea8e52 100644
--- a/libhover/org.eclipse.linuxtools.cdt.libhover/ChangeLog
+++ b/libhover/org.eclipse.linuxtools.cdt.libhover/ChangeLog
@@ -1,21 +1,3 @@
-2009-12-17 Andrew Overholt <overholt@redhat.com>
-
- * src/org/eclipse/linuxtools/internal/cdt/libhover/LibHover.java (getMemberSummary):
- Remove unnecessary catch block.
-
-2009-09-23 Jeff Johnston <jjohnstn@redhat.com>
-
- * META-INF/MANIFEST.MF: Load plugin if any of its classes are used.
- * src/org/eclipse/linuxtools/cdt/libhover/LibhoverPlugin.java (LibhoverPlugin): Set
- plugin in constructor.
- * src/org/eclipse/linuxtools/internal/cdt/libhover/LibHover.java (resolveArgs): Change
- to resolve template parms to actual types where known.
- (isParmMatch): Resolve the member prototype using template types so we are comparing
- apples to apples.
- (getMemberSummary): Change calls to isParmMatch and resolveArgs.
- * src/org/eclipse/linuxtools/internal/cdt/libhover/LibHoverLibrary.java (getHoverInfo): Add
- code to try accessing a path locally within the plugin, then try the file system.
-
2009-08-06 Jeff Johnston <jjohnstn@redhat.com>
Resolves #285867
diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover/META-INF/MANIFEST.MF b/libhover/org.eclipse.linuxtools.cdt.libhover/META-INF/MANIFEST.MF
index fc024ea3be..6c189a067e 100644
--- a/libhover/org.eclipse.linuxtools.cdt.libhover/META-INF/MANIFEST.MF
+++ b/libhover/org.eclipse.linuxtools.cdt.libhover/META-INF/MANIFEST.MF
@@ -18,4 +18,3 @@ Require-Bundle: org.eclipse.ui,
org.eclipse.jface.text;bundle-version="3.4.1"
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Export-Package: org.eclipse.linuxtools.cdt.libhover
-Bundle-ActivationPolicy: lazy
diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover/src/org/eclipse/linuxtools/cdt/libhover/LibhoverPlugin.java b/libhover/org.eclipse.linuxtools.cdt.libhover/src/org/eclipse/linuxtools/cdt/libhover/LibhoverPlugin.java
index 39e2b2b0c5..8576d55618 100644
--- a/libhover/org.eclipse.linuxtools.cdt.libhover/src/org/eclipse/linuxtools/cdt/libhover/LibhoverPlugin.java
+++ b/libhover/org.eclipse.linuxtools.cdt.libhover/src/org/eclipse/linuxtools/cdt/libhover/LibhoverPlugin.java
@@ -29,7 +29,6 @@ public class LibhoverPlugin extends AbstractUIPlugin {
* The constructor
*/
public LibhoverPlugin() {
- plugin = this;
}
/*
diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover/src/org/eclipse/linuxtools/internal/cdt/libhover/LibHover.java b/libhover/org.eclipse.linuxtools.cdt.libhover/src/org/eclipse/linuxtools/internal/cdt/libhover/LibHover.java
index c04e403d99..dd74630193 100644
--- a/libhover/org.eclipse.linuxtools.cdt.libhover/src/org/eclipse/linuxtools/internal/cdt/libhover/LibHover.java
+++ b/libhover/org.eclipse.linuxtools.cdt.libhover/src/org/eclipse/linuxtools/internal/cdt/libhover/LibHover.java
@@ -450,18 +450,26 @@ public class LibHover implements ICHelpProvider {
if (info == null)
return null;
if (methodType != null) {
- args = resolveArgs(info, methodType.getParameterTypes(), templateTypes);
- returnType = methodType.getReturnType();
+ try {
+ args = resolveArgs(info, methodType.getParameterTypes());
+ returnType = methodType.getReturnType();
+ } catch (DOMException e) {
+ // TODO Auto-generated catch block
+ return null;
+ }
+// for (int i = 0; i < args.length; ++i)
+// System.out.println("args<" + i + "> is " + args[i].toString());
+// System.out.println("return type is " + returnType.toString());
}
MemberInfo member = info.getMember(memberName);
if (member != null) {
MemberInfo m = null;
- if (!isParmMatch(member, args, templateTypes, info)) {
+ if (!isParmMatch(member, args)) {
ArrayList<MemberInfo> members = member.getChildren();
for (int i = 0; i < members.size(); ++i) {
MemberInfo k = members.get(i);
- if (isParmMatch(k, args, templateTypes, info)) {
+ if (isParmMatch(k, args)) {
m = k;
break;
}
@@ -505,18 +513,12 @@ public class LibHover implements ICHelpProvider {
}
- private boolean isParmMatch(MemberInfo m, String[] args, ArrayList<String> templateTypes, ClassInfo info) {
+ private boolean isParmMatch(MemberInfo m, String[] args) {
String[] memberParms = m.getParamTypes();
- for (int i = 0; i < memberParms.length; ++i) {
- String[] templateParms = info.getTemplateParms();
- for (int j = 0; j < templateTypes.size(); ++j) {
- memberParms[i] = memberParms[i].replaceAll(templateParms[j], templateTypes.get(j));
- }
- }
return Arrays.equals(memberParms, args);
}
- private String[] resolveArgs(ClassInfo info, IType[] parameterTypes, ArrayList<String> templateTypes) {
+ private String[] resolveArgs(ClassInfo info, IType[] parameterTypes) {
String[] templateParms = info.getTemplateParms();
String[] result = new String[parameterTypes.length];
for (int i = 0; i < parameterTypes.length; ++i) {
@@ -527,11 +529,7 @@ public class LibHover implements ICHelpProvider {
while (index >= 0) {
// We assume no class has more than 9 template parms.
int digit = param.charAt(index + 1) - '0';
- // where possible, replace template parms with real values
- if (digit < templateTypes.size())
- param = param.replaceFirst(param.substring(index, index + 2), templateTypes.get(digit));
- else
- param = param.replaceFirst(param.substring(index, index + 2), templateParms[digit]);
+ param = param.replaceFirst(param.substring(index, index + 2), templateParms[digit]);
index = param.indexOf("#");
}
result[i] = param;
diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover/src/org/eclipse/linuxtools/internal/cdt/libhover/LibHoverLibrary.java b/libhover/org.eclipse.linuxtools.cdt.libhover/src/org/eclipse/linuxtools/internal/cdt/libhover/LibHoverLibrary.java
index 8019cf0b1f..747e3ecd2c 100644
--- a/libhover/org.eclipse.linuxtools.cdt.libhover/src/org/eclipse/linuxtools/internal/cdt/libhover/LibHoverLibrary.java
+++ b/libhover/org.eclipse.linuxtools.cdt.libhover/src/org/eclipse/linuxtools/internal/cdt/libhover/LibHoverLibrary.java
@@ -21,12 +21,10 @@ import java.net.URL;
import java.util.ArrayList;
import org.eclipse.core.filesystem.URIUtil;
-import org.eclipse.core.runtime.FileLocator;
import org.eclipse.core.runtime.IPath;
import org.eclipse.linuxtools.cdt.libhover.ClassInfo;
import org.eclipse.linuxtools.cdt.libhover.FunctionInfo;
import org.eclipse.linuxtools.cdt.libhover.LibHoverInfo;
-import org.eclipse.linuxtools.cdt.libhover.LibhoverPlugin;
import org.eclipse.linuxtools.cdt.libhover.TypedefInfo;
public class LibHoverLibrary {
@@ -100,13 +98,7 @@ public class LibHoverLibrary {
URL url = acDoc.toURL();
docStream = url.openStream();
} else {
- try {
- // Try to open the file as local to this plug-in.
- docStream = FileLocator.openStream(LibhoverPlugin.getDefault().getBundle(), p, false);
- } catch (IOException e) {
- // File is not local to plug-in, try file system.
- docStream = new FileInputStream(p.toFile());
- }
+ docStream = new FileInputStream(p.toFile());
}
ObjectInputStream input = new ObjectInputStream(docStream);
hoverInfo = (LibHoverInfo)input.readObject();

Back to the top