Skip to content

Commit

Permalink
Bug 434269: [1.8][hovering] Support showing Javadoc for JavaFX proper…
Browse files Browse the repository at this point in the history
…ties - Take 2
  • Loading branch information
mkeller committed May 8, 2014
1 parent 7656c3b commit 3e661e8
Showing 1 changed file with 20 additions and 16 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -618,30 +618,34 @@ private static String getJavaFxPropertyDoc(IMember member) throws JavaModelExcep
// XXX: should not do this by default (but we don't have settings for Javadoc, see https://bugs.eclipse.org/424283 )
if (member instanceof IMethod) {
String name= member.getElementName();
boolean isGetter= name.startsWith("get"); //$NON-NLS-1$
boolean isSetter= name.startsWith("set"); //$NON-NLS-1$
boolean isProperty= name.endsWith("Property"); //$NON-NLS-1$
if (isGetter || isSetter || isProperty) {
String propertyName= null;
if (isGetter || isSetter) {
propertyName= firstToLower(name.substring(3));
} else {
propertyName= name.substring(0, name.length() - 8);
}
boolean isGetter= name.startsWith("get") && name.length() > 3; //$NON-NLS-1$
boolean isBooleanGetter= name.startsWith("is") && name.length() > 2; //$NON-NLS-1$
boolean isSetter= name.startsWith("set") && name.length() > 3; //$NON-NLS-1$

if (isGetter || isBooleanGetter || isSetter) {
String propertyName= firstToLower(name.substring(isBooleanGetter ? 2 : 3));
IType type= member.getDeclaringType();
IField field= type.getField(propertyName);
if (field.exists()) {
String content= getHTMLContentFromSource(field);
IMethod method= type.getMethod(propertyName + "Property", new String[0]); //$NON-NLS-1$

if (method.exists()) {
String content= getHTMLContentFromSource(method);
if (content != null) {
if (isGetter) {
content= Messages.format(JavaDocMessages.JavadocContentAccess2_getproperty_message, new Object[] { propertyName, content });
} else if (isSetter) {
if (isSetter) {
content= Messages.format(JavaDocMessages.JavadocContentAccess2_setproperty_message, new Object[] { propertyName, content });
} else {
content= Messages.format(JavaDocMessages.JavadocContentAccess2_getproperty_message, new Object[] { propertyName, content });
}
}
return content;
}
} else if (name.endsWith("Property")) { //$NON-NLS-1$
String propertyName= name.substring(0, name.length() - 8);

IType type= member.getDeclaringType();
IField field= type.getField(propertyName);
if (field.exists()) {
return getHTMLContentFromSource(field);
}
}
}
return null;
Expand Down

0 comments on commit 3e661e8

Please sign in to comment.