equal
deleted
inserted
replaced
565 bool is_vanilla_constructor() const; |
565 bool is_vanilla_constructor() const; |
566 |
566 |
567 // checks method and its method holder |
567 // checks method and its method holder |
568 bool is_final_method() const; |
568 bool is_final_method() const; |
569 bool is_final_method(AccessFlags class_access_flags) const; |
569 bool is_final_method(AccessFlags class_access_flags) const; |
|
570 bool is_default_method() const; |
570 |
571 |
571 // true if method needs no dynamic dispatch (final and/or no vtable entry) |
572 // true if method needs no dynamic dispatch (final and/or no vtable entry) |
572 bool can_be_statically_bound() const; |
573 bool can_be_statically_bound() const; |
573 bool can_be_statically_bound(AccessFlags class_access_flags) const; |
574 bool can_be_statically_bound(AccessFlags class_access_flags) const; |
574 |
575 |
844 #else |
845 #else |
845 void print_name(outputStream* st = tty) PRODUCT_RETURN; // prints as "virtual void foo(int)" |
846 void print_name(outputStream* st = tty) PRODUCT_RETURN; // prints as "virtual void foo(int)" |
846 #endif |
847 #endif |
847 |
848 |
848 // Helper routine used for method sorting |
849 // Helper routine used for method sorting |
849 static void sort_methods(Array<Method*>* methods, bool idempotent = false); |
850 static void sort_methods(Array<Method*>* methods, bool idempotent = false, bool set_idnums = true); |
850 |
851 |
851 // Deallocation function for redefine classes or if an error occurs |
852 // Deallocation function for redefine classes or if an error occurs |
852 void deallocate_contents(ClassLoaderData* loader_data); |
853 void deallocate_contents(ClassLoaderData* loader_data); |
853 |
854 |
854 // Printing |
855 // Printing |