< prev index next >

src/hotspot/share/oops/method.hpp

Print this page
rev 49011 : 8197405: Improve messages of AbstractMethodErrors and IncompatibleClassChangeErrors.
Reviewed-by: coleenp, dholmes


 167     return constMethod()->parameter_annotations();
 168   }
 169   AnnotationArray* annotation_default() const    {
 170     return constMethod()->default_annotations();
 171   }
 172   AnnotationArray* type_annotations() const      {
 173     return constMethod()->type_annotations();
 174   }
 175 
 176   // Helper routine: get klass name + "." + method name + signature as
 177   // C string, for the purpose of providing more useful NoSuchMethodErrors
 178   // and fatal error handling. The string is allocated in resource
 179   // area if a buffer is not provided by the caller.
 180   char* name_and_sig_as_C_string() const;
 181   char* name_and_sig_as_C_string(char* buf, int size) const;
 182 
 183   // Static routine in the situations we don't have a Method*
 184   static char* name_and_sig_as_C_string(Klass* klass, Symbol* method_name, Symbol* signature);
 185   static char* name_and_sig_as_C_string(Klass* klass, Symbol* method_name, Symbol* signature, char* buf, int size);
 186 





 187   Bytecodes::Code java_code_at(int bci) const {
 188     return Bytecodes::java_code_at(this, bcp_from(bci));
 189   }
 190   Bytecodes::Code code_at(int bci) const {
 191     return Bytecodes::code_at(this, bcp_from(bci));
 192   }
 193 
 194   // JVMTI breakpoints
 195 #if !INCLUDE_JVMTI
 196   Bytecodes::Code orig_bytecode_at(int bci) const {
 197     ShouldNotReachHere();
 198     return Bytecodes::_shouldnotreachhere;
 199   }
 200   void set_orig_bytecode_at(int bci, Bytecodes::Code code) {
 201     ShouldNotReachHere();
 202   };
 203   u2   number_of_breakpoints() const {return 0;}
 204 #else // !INCLUDE_JVMTI
 205   Bytecodes::Code orig_bytecode_at(int bci) const;
 206   void set_orig_bytecode_at(int bci, Bytecodes::Code code);




 167     return constMethod()->parameter_annotations();
 168   }
 169   AnnotationArray* annotation_default() const    {
 170     return constMethod()->default_annotations();
 171   }
 172   AnnotationArray* type_annotations() const      {
 173     return constMethod()->type_annotations();
 174   }
 175 
 176   // Helper routine: get klass name + "." + method name + signature as
 177   // C string, for the purpose of providing more useful NoSuchMethodErrors
 178   // and fatal error handling. The string is allocated in resource
 179   // area if a buffer is not provided by the caller.
 180   char* name_and_sig_as_C_string() const;
 181   char* name_and_sig_as_C_string(char* buf, int size) const;
 182 
 183   // Static routine in the situations we don't have a Method*
 184   static char* name_and_sig_as_C_string(Klass* klass, Symbol* method_name, Symbol* signature);
 185   static char* name_and_sig_as_C_string(Klass* klass, Symbol* method_name, Symbol* signature, char* buf, int size);
 186 
 187   // Helper routine: get modifier list as C string. The string has a
 188   // trailing whitespace if not empty. The string is allocated
 189   // in resource area.
 190   char* modifiers_as_C_string() const;
 191 
 192   Bytecodes::Code java_code_at(int bci) const {
 193     return Bytecodes::java_code_at(this, bcp_from(bci));
 194   }
 195   Bytecodes::Code code_at(int bci) const {
 196     return Bytecodes::code_at(this, bcp_from(bci));
 197   }
 198 
 199   // JVMTI breakpoints
 200 #if !INCLUDE_JVMTI
 201   Bytecodes::Code orig_bytecode_at(int bci) const {
 202     ShouldNotReachHere();
 203     return Bytecodes::_shouldnotreachhere;
 204   }
 205   void set_orig_bytecode_at(int bci, Bytecodes::Code code) {
 206     ShouldNotReachHere();
 207   };
 208   u2   number_of_breakpoints() const {return 0;}
 209 #else // !INCLUDE_JVMTI
 210   Bytecodes::Code orig_bytecode_at(int bci) const;
 211   void set_orig_bytecode_at(int bci, Bytecodes::Code code);


< prev index next >