Blame jdk8061305-pr3335-rh1423421-javadoc_crashes_when_method_name_ends_with_property.patch

c4f741c
# HG changeset patch
c4f741c
# User ksrini
c4f741c
# Date 1414764176 25200
c4f741c
#      Fri Oct 31 07:02:56 2014 -0700
c4f741c
# Node ID 9fd9a50e7994a9659c5ef21296d0baee4c2eecff
c4f741c
# Parent  fd59a2d4313440077fce3fbf39174755a15d285a
c4f741c
8061305: Javadoc crashes when method name ends with "Property"
c4f741c
Reviewed-by: jjg
c4f741c
c4f741c
diff --git jdk8/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/VisibleMemberMap.java jdk8/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/VisibleMemberMap.java
c4f741c
--- jdk8/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/VisibleMemberMap.java
c4f741c
+++ jdk8/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/VisibleMemberMap.java
c4f741c
@@ -656,6 +656,9 @@
c4f741c
         // properties aren't named setA* or getA*
c4f741c
         private final Pattern pattern = Pattern.compile("[sg]et\\p{Upper}.*");
c4f741c
         private boolean isPropertyMethod(MethodDoc method) {
c4f741c
+            if (!configuration.javafx) {
c4f741c
+               return false;
c4f741c
+            }
c4f741c
             if (!method.name().endsWith("Property")) {
c4f741c
                 return false;
c4f741c
             }
c4f741c
@@ -667,7 +670,9 @@
c4f741c
             if (pattern.matcher(method.name()).matches()) {
c4f741c
                 return false;
c4f741c
             }
c4f741c
-
c4f741c
+            if (method.typeParameters().length > 0) {
c4f741c
+                return false;
c4f741c
+            }
c4f741c
             return 0 == method.parameters().length
c4f741c
                     && !"void".equals(method.returnType().simpleTypeName());
c4f741c
         }