1 /* |
1 /* |
2 * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * |
4 * |
5 * This code is free software; you can redistribute it and/or modify it |
5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as |
6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. |
7 * published by the Free Software Foundation. |
491 Method* find_method(Symbol* name, Symbol* signature) const; |
491 Method* find_method(Symbol* name, Symbol* signature) const; |
492 static Method* find_method(Array<Method*>* methods, Symbol* name, Symbol* signature); |
492 static Method* find_method(Array<Method*>* methods, Symbol* name, Symbol* signature); |
493 static Method* find_instance_method(Array<Method*>* methods, Symbol* name, Symbol* signature); |
493 static Method* find_instance_method(Array<Method*>* methods, Symbol* name, Symbol* signature); |
494 |
494 |
495 // find a local method index in default_methods (returns -1 if not found) |
495 // find a local method index in default_methods (returns -1 if not found) |
496 static int find_method_index(Array<Method*>* methods, Symbol* name, Symbol* signature, bool skipping_overpass); |
496 static int find_method_index(Array<Method*>* methods, Symbol* name, Symbol* signature, |
|
497 OverpassLookupMode overpass_mode, StaticLookupMode static_mode); |
497 |
498 |
498 // lookup operation (returns NULL if not found) |
499 // lookup operation (returns NULL if not found) |
499 Method* uncached_lookup_method(Symbol* name, Symbol* signature, MethodLookupMode mode) const; |
500 Method* uncached_lookup_method(Symbol* name, Symbol* signature, OverpassLookupMode overpass_mode) const; |
500 |
501 |
501 // lookup a method in all the interfaces that this class implements |
502 // lookup a method in all the interfaces that this class implements |
502 // (returns NULL if not found) |
503 // (returns NULL if not found) |
503 Method* lookup_method_in_all_interfaces(Symbol* name, Symbol* signature, MethodLookupMode mode) const; |
504 Method* lookup_method_in_all_interfaces(Symbol* name, Symbol* signature, DefaultsLookupMode defaults_mode) const; |
504 |
505 |
505 // lookup a method in local defaults then in all interfaces |
506 // lookup a method in local defaults then in all interfaces |
506 // (returns NULL if not found) |
507 // (returns NULL if not found) |
507 Method* lookup_method_in_ordered_interfaces(Symbol* name, Symbol* signature) const; |
508 Method* lookup_method_in_ordered_interfaces(Symbol* name, Symbol* signature) const; |
508 |
509 |
1050 |
1051 |
1051 // Returns the array class with this class as element type |
1052 // Returns the array class with this class as element type |
1052 Klass* array_klass_impl(bool or_null, TRAPS); |
1053 Klass* array_klass_impl(bool or_null, TRAPS); |
1053 |
1054 |
1054 // find a local method (returns NULL if not found) |
1055 // find a local method (returns NULL if not found) |
1055 Method* find_method_impl(Symbol* name, Symbol* signature, bool skipping_overpass) const; |
1056 Method* find_method_impl(Symbol* name, Symbol* signature, |
1056 static Method* find_method_impl(Array<Method*>* methods, Symbol* name, Symbol* signature, bool skipping_overpass); |
1057 OverpassLookupMode overpass_mode, StaticLookupMode static_mode) const; |
|
1058 static Method* find_method_impl(Array<Method*>* methods, Symbol* name, Symbol* signature, |
|
1059 OverpassLookupMode overpass_mode, StaticLookupMode static_mode); |
1057 |
1060 |
1058 // Free CHeap allocated fields. |
1061 // Free CHeap allocated fields. |
1059 void release_C_heap_structures(); |
1062 void release_C_heap_structures(); |
1060 |
1063 |
1061 // RedefineClasses support |
1064 // RedefineClasses support |