Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarkus Keller2014-05-08 13:45:48 +0000
committerMarkus Keller2014-05-08 13:46:46 +0000
commit3e661e86cb9219c06a92919dcd1dc1d3c275c2f3 (patch)
tree266333d56cf28614d60ca23c40a929e56fee5618
parent7656c3b383b32308dacdbfaf1cc2275aab9d6f1a (diff)
downloadeclipse.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.java36
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;

Back to the top