645 // find a local method from given methods array (returns NULL if not found)
646 static Method* find_local_method(const Array<Method*>* methods,
647 const Symbol* name,
648 const Symbol* signature,
649 OverpassLookupMode overpass_mode,
650 StaticLookupMode static_mode,
651 PrivateLookupMode private_mode);
652
653 // find a local method index in methods or default_methods (returns -1 if not found)
654 static int find_method_index(const Array<Method*>* methods,
655 const Symbol* name,
656 const Symbol* signature,
657 OverpassLookupMode overpass_mode,
658 StaticLookupMode static_mode,
659 PrivateLookupMode private_mode);
660
661 // lookup operation (returns NULL if not found)
662 Method* uncached_lookup_method(const Symbol* name,
663 const Symbol* signature,
664 OverpassLookupMode overpass_mode,
665 PrivateLookupMode private_mode = find_private) const;
666
667 // lookup a method in all the interfaces that this class implements
668 // (returns NULL if not found)
669 Method* lookup_method_in_all_interfaces(Symbol* name, Symbol* signature, DefaultsLookupMode defaults_mode) const;
670
671 // lookup a method in local defaults then in all interfaces
672 // (returns NULL if not found)
673 Method* lookup_method_in_ordered_interfaces(Symbol* name, Symbol* signature) const;
674
675 // Find method indices by name. If a method with the specified name is
676 // found the index to the first method is returned, and 'end' is filled in
677 // with the index of first non-name-matching method. If no method is found
678 // -1 is returned.
679 int find_method_by_name(const Symbol* name, int* end) const;
680 static int find_method_by_name(const Array<Method*>* methods,
681 const Symbol* name, int* end);
682
683 // constant pool
684 ConstantPool* constants() const { return _constants; }
685 void set_constants(ConstantPool* c) { _constants = c; }
|
645 // find a local method from given methods array (returns NULL if not found)
646 static Method* find_local_method(const Array<Method*>* methods,
647 const Symbol* name,
648 const Symbol* signature,
649 OverpassLookupMode overpass_mode,
650 StaticLookupMode static_mode,
651 PrivateLookupMode private_mode);
652
653 // find a local method index in methods or default_methods (returns -1 if not found)
654 static int find_method_index(const Array<Method*>* methods,
655 const Symbol* name,
656 const Symbol* signature,
657 OverpassLookupMode overpass_mode,
658 StaticLookupMode static_mode,
659 PrivateLookupMode private_mode);
660
661 // lookup operation (returns NULL if not found)
662 Method* uncached_lookup_method(const Symbol* name,
663 const Symbol* signature,
664 OverpassLookupMode overpass_mode,
665 PrivateLookupMode private_mode = PrivateLookupMode::find_private) const;
666
667 // lookup a method in all the interfaces that this class implements
668 // (returns NULL if not found)
669 Method* lookup_method_in_all_interfaces(Symbol* name, Symbol* signature, DefaultsLookupMode defaults_mode) const;
670
671 // lookup a method in local defaults then in all interfaces
672 // (returns NULL if not found)
673 Method* lookup_method_in_ordered_interfaces(Symbol* name, Symbol* signature) const;
674
675 // Find method indices by name. If a method with the specified name is
676 // found the index to the first method is returned, and 'end' is filled in
677 // with the index of first non-name-matching method. If no method is found
678 // -1 is returned.
679 int find_method_by_name(const Symbol* name, int* end) const;
680 static int find_method_by_name(const Array<Method*>* methods,
681 const Symbol* name, int* end);
682
683 // constant pool
684 ConstantPool* constants() const { return _constants; }
685 void set_constants(ConstantPool* c) { _constants = c; }
|