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);
|