fix #774 infinite loop in net.sourceforge.phpeclipse.builder.IdentifierIndexManager...
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / ui / text / java / hover / BestMatchHover.java
index cb927fb..929bb67 100644 (file)
@@ -26,14 +26,16 @@ import org.eclipse.jface.text.ITextViewer;
 import org.eclipse.jface.text.information.IInformationProviderExtension2;
 import org.eclipse.ui.IEditorPart;
 
-
 /**
  * Caution: this implementation is a layer breaker and contains some "shortcuts"
  */
-public class BestMatchHover extends AbstractJavaEditorTextHover implements ITextHoverExtension, IInformationProviderExtension2 {
+public class BestMatchHover extends AbstractJavaEditorTextHover implements
+               ITextHoverExtension, IInformationProviderExtension2 {
 
        private List fTextHoverSpecifications;
+
        private List fInstantiatedTextHovers;
+
        private ITextHover fBestHover;
 
        public BestMatchHover() {
@@ -44,33 +46,37 @@ public class BestMatchHover extends AbstractJavaEditorTextHover implements IText
                this();
                setEditor(editor);
        }
-       
+
        /**
         * Installs all text hovers.
         */
        private void installTextHovers() {
-               
+
                // initialize lists - indicates that the initialization happened
-               fTextHoverSpecifications= new ArrayList(2);
-               fInstantiatedTextHovers= new ArrayList(2);
+               fTextHoverSpecifications = new ArrayList(2);
+               fInstantiatedTextHovers = new ArrayList(2);
 
                // populate list
-               JavaEditorTextHoverDescriptor[] hoverDescs= PHPeclipsePlugin.getDefault().getJavaEditorTextHoverDescriptors();
-               for (int i= 0; i < hoverDescs.length; i++) {
+               JavaEditorTextHoverDescriptor[] hoverDescs = PHPeclipsePlugin
+                               .getDefault().getJavaEditorTextHoverDescriptors();
+               for (int i = 0; i < hoverDescs.length; i++) {
                        // ensure that we don't add ourselves to the list
-                       if (!PreferenceConstants.ID_BESTMATCH_HOVER.equals(hoverDescs[i].getId()))
+                       if (!PreferenceConstants.ID_BESTMATCH_HOVER.equals(hoverDescs[i]
+                                       .getId()))
                                fTextHoverSpecifications.add(hoverDescs[i]);
                }
-       }       
+       }
 
        private void checkTextHovers() {
                if (fTextHoverSpecifications.size() == 0)
                        return;
 
-               for (Iterator iterator= new ArrayList(fTextHoverSpecifications).iterator(); iterator.hasNext(); ) {
-                       JavaEditorTextHoverDescriptor spec= (JavaEditorTextHoverDescriptor) iterator.next();
+               for (Iterator iterator = new ArrayList(fTextHoverSpecifications)
+                               .iterator(); iterator.hasNext();) {
+                       JavaEditorTextHoverDescriptor spec = (JavaEditorTextHoverDescriptor) iterator
+                                       .next();
 
-                       IJavaEditorTextHover hover= spec.createTextHover();
+                       IJavaEditorTextHover hover = spec.createTextHover();
                        if (hover != null) {
                                hover.setEditor(getEditor());
                                addTextHover(hover);
@@ -90,17 +96,18 @@ public class BestMatchHover extends AbstractJavaEditorTextHover implements IText
        public String getHoverInfo(ITextViewer textViewer, IRegion hoverRegion) {
 
                checkTextHovers();
-               fBestHover= null;
+               fBestHover = null;
 
                if (fInstantiatedTextHovers == null)
                        return null;
 
-               for (Iterator iterator= fInstantiatedTextHovers.iterator(); iterator.hasNext(); ) {
-                       ITextHover hover= (ITextHover)iterator.next();
+               for (Iterator iterator = fInstantiatedTextHovers.iterator(); iterator
+                               .hasNext();) {
+                       ITextHover hover = (ITextHover) iterator.next();
 
-                       String s= hover.getHoverInfo(textViewer, hoverRegion);
+                       String s = hover.getHoverInfo(textViewer, hoverRegion);
                        if (s != null && s.trim().length() > 0) {
-                               fBestHover= hover;
+                               fBestHover = hover;
                                return s;
                        }
                }
@@ -109,12 +116,12 @@ public class BestMatchHover extends AbstractJavaEditorTextHover implements IText
        }
 
        /*
-        * @see org.eclipse.jface.text.ITextHoverExtension#getInformationControlCreator()
+        * @see org.eclipse.jface.text.ITextHoverExtension#getHoverControlCreator()
         * @since 3.0
         */
-       public IInformationControlCreator getInformationControlCreator() {
+       public IInformationControlCreator getHoverControlCreator() {
                if (fBestHover instanceof ITextHoverExtension)
-                       return ((ITextHoverExtension)fBestHover).getInformationControlCreator();
+                       return ((ITextHoverExtension) fBestHover).getHoverControlCreator();
 
                return null;
        }
@@ -125,8 +132,9 @@ public class BestMatchHover extends AbstractJavaEditorTextHover implements IText
         */
        public IInformationControlCreator getInformationPresenterControlCreator() {
                if (fBestHover instanceof IInformationProviderExtension2)
-                       return ((IInformationProviderExtension2)fBestHover).getInformationPresenterControlCreator();
+                       return ((IInformationProviderExtension2) fBestHover)
+                                       .getInformationPresenterControlCreator();
 
                return null;
        }
-}
+}
\ No newline at end of file