diff src/share/vm/classfile/classFileParser.cpp @ 12318:36b97be47bde

8011311: Private interface methods. Default conflicts:ICCE. no erased_super_default. Reviewed-by: coleenp, bharadwaj, minqi
author acorn
date Tue, 01 Oct 2013 08:10:42 -0400
parents da051ce490eb
children 268e7a2178d7
line wrap: on
line diff
--- a/src/share/vm/classfile/classFileParser.cpp	Fri Sep 27 10:08:56 2013 -0400
+++ b/src/share/vm/classfile/classFileParser.cpp	Tue Oct 01 08:10:42 2013 -0400
@@ -2545,7 +2545,9 @@
       if (method->is_final()) {
         *has_final_method = true;
       }
-      if (is_interface && !method->is_abstract() && !method->is_static()) {
+      if (is_interface && !(*has_default_methods)
+        && !method->is_abstract() && !method->is_static()
+        && !method->is_private()) {
         // default method
         *has_default_methods = true;
       }