import net.sourceforge.phpdt.core.IMember;
import net.sourceforge.phpdt.core.ISourceReference;
import net.sourceforge.phpdt.core.JavaModelException;
+import net.sourceforge.phpdt.internal.ui.text.HTMLPrinter;
import net.sourceforge.phpdt.internal.ui.text.PHPCodeReader;
import net.sourceforge.phpdt.internal.ui.viewsupport.JavaElementLabels;
import net.sourceforge.phpeclipse.PHPeclipsePlugin;
import org.eclipse.jface.text.Document;
import org.eclipse.jface.text.IDocument;
-import org.eclipse.ui.externaltools.internal.ant.editor.derived.HTMLPrinter;
/**
* Provides source as hover info for Java elements.
*/
public class JavaSourceHover extends AbstractJavaEditorTextHover {
- private final int LABEL_FLAGS= JavaElementLabels.ALL_FULLY_QUALIFIED
- | JavaElementLabels.M_PRE_RETURNTYPE | JavaElementLabels.M_PARAMETER_TYPES | JavaElementLabels.M_PARAMETER_NAMES | JavaElementLabels.M_EXCEPTIONS
- | JavaElementLabels.F_PRE_TYPE_SIGNATURE;
-
+ private final int LABEL_FLAGS = JavaElementLabels.ALL_FULLY_QUALIFIED
+ | JavaElementLabels.M_PRE_RETURNTYPE
+ | JavaElementLabels.M_PARAMETER_TYPES
+ | JavaElementLabels.M_PARAMETER_NAMES
+ | JavaElementLabels.M_EXCEPTIONS
+ | JavaElementLabels.F_PRE_TYPE_SIGNATURE;
/*
* @see JavaElementHover
*/
protected String getHoverInfo(IJavaElement[] result) {
- int nResults= result.length;
- StringBuffer buffer= new StringBuffer();
-
+ int nResults = result.length;
+ StringBuffer buffer = new StringBuffer();
+
if (nResults > 1) {
-
- for (int i= 0; i < result.length; i++) {
+
+ for (int i = 0; i < result.length; i++) {
HTMLPrinter.startBulletList(buffer);
- IJavaElement curr= result[i];
+ IJavaElement curr = result[i];
if (curr instanceof IMember)
HTMLPrinter.addBullet(buffer, getInfoText((IMember) curr));
HTMLPrinter.endBulletList(buffer);
}
-
+
} else {
-
- IJavaElement curr= result[0];
+
+ IJavaElement curr = result[0];
if (curr instanceof IMember && curr instanceof ISourceReference) {
- HTMLPrinter.addSmallHeader(buffer, getInfoText(((IMember)curr)));
+ HTMLPrinter.addSmallHeader(buffer,
+ getInfoText(((IMember) curr)));
try {
- String source= ((ISourceReference)curr).getSource();
- source= removeLeadingComments(source);
+ String source = ((ISourceReference) curr).getSource();
+ source = removeLeadingComments(source);
HTMLPrinter.addParagraph(buffer, "<pre>"); //$NON-NLS-1$
HTMLPrinter.addParagraph(buffer, source);
HTMLPrinter.addParagraph(buffer, "</pre>"); //$NON-NLS-1$
}
}
}
-
+
if (buffer.length() > 0) {
HTMLPrinter.insertPageProlog(buffer, 0);
HTMLPrinter.addPageEpilog(buffer);
return buffer.toString();
}
-
+
return null;
}
}
private String removeLeadingComments(String source) {
- PHPCodeReader reader= new PHPCodeReader();
- IDocument document= new Document(source);
+ PHPCodeReader reader = new PHPCodeReader();
+ IDocument document = new Document(source);
int i;
try {
- reader.configureForwardReader(document, 0, document.getLength(), true, false);
- int c= reader.read();
+ reader.configureForwardReader(document, 0, document.getLength(),
+ true, false);
+ int c = reader.read();
while (c != -1 && (c == '\r' || c == '\n')) {
- c= reader.read();
+ c = reader.read();
}
- i= reader.getOffset();
+ i = reader.getOffset();
reader.close();
} catch (IOException ex) {
- i= 0;
+ i = 0;
} finally {
try {
if (reader != null)