diff options
| author | Markus Keller | 2014-05-08 13:45:48 +0000 |
|---|---|---|
| committer | Markus Keller | 2014-05-08 13:46:46 +0000 |
| commit | 3e661e86cb9219c06a92919dcd1dc1d3c275c2f3 (patch) | |
| tree | 266333d56cf28614d60ca23c40a929e56fee5618 | |
| parent | 7656c3b383b32308dacdbfaf1cc2275aab9d6f1a (diff) | |
| download | eclipse.jdt.ui-3e661e86cb9219c06a92919dcd1dc1d3c275c2f3.tar.gz eclipse.jdt.ui-3e661e86cb9219c06a92919dcd1dc1d3c275c2f3.tar.xz eclipse.jdt.ui-3e661e86cb9219c06a92919dcd1dc1d3c275c2f3.zip | |
Bug 434269: [1.8][hovering] Support showing Javadoc for JavaFX properties - Take 2I20140511-2000I20140510-1500I20140509-2000I20140508-2000
| -rw-r--r-- | org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/javadoc/JavadocContentAccess2.java | 36 |
1 files changed, 20 insertions, 16 deletions
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/javadoc/JavadocContentAccess2.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/javadoc/JavadocContentAccess2.java index b0f69b2b56..89dd90b97e 100644 --- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/javadoc/JavadocContentAccess2.java +++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/javadoc/JavadocContentAccess2.java @@ -618,30 +618,34 @@ public class JavadocContentAccess2 { // 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; |
