Edwin Steiner
Christian Thalinger
- $Id: method.c 4501 2006-02-13 18:55:55Z twisti $
+ $Id: method.c 4879 2006-05-05 17:34:49Z edwin $
*/
if (m->exceptiontable)
MFREE(m->exceptiontable, exceptiontable, m->exceptiontablelength);
- if (m->mcode)
- CFREE((void *) (ptrint) m->mcode, m->mcodelength);
+ code_free_code_of_method(m);
if (m->stubroutine) {
if (m->flags & ACC_NATIVE) {
/* Get the method from the virtual function table. Is this an
interface method? */
- if (m->flags & (ACC_INTERFACE | ACC_ABSTRACT)) {
+ if (m->class->flags & ACC_INTERFACE) {
pmptr = vftbl->interfacetable[-(m->class->index)];
mptr = pmptr[(m - m->class->methods)];
return;
}
- utf_display_classname(m->class->name);
+ utf_display_printable_ascii_classname(m->class->name);
printf(".");
- utf_display(m->name);
- utf_display(m->descriptor);
+ utf_display_printable_ascii(m->name);
+ utf_display_printable_ascii(m->descriptor);
method_printflags(m);
}
#endif /* !defined(NDEBUG) */
+/* method_methodref_print ******************************************************
+
+ Prints a method reference to stdout.
+
+*******************************************************************************/
+
+#if !defined(NDEBUG)
+void method_methodref_print(constant_FMIref *mr)
+{
+ if (!mr) {
+ printf("(constant_FMIref *)NULL");
+ return;
+ }
+
+ if (IS_FMIREF_RESOLVED(mr)) {
+ printf("<method> ");
+ method_print(mr->p.method);
+ }
+ else {
+ printf("<methodref> ");
+ utf_display_printable_ascii_classname(mr->p.classref->name);
+ printf(".");
+ utf_display_printable_ascii(mr->name);
+ utf_display_printable_ascii(mr->descriptor);
+ }
+}
+#endif /* !defined(NDEBUG) */
+
+
+/* method_methodref_println ****************************************************
+
+ Prints a method reference to stdout, followed by a newline.
+
+*******************************************************************************/
+
+#if !defined(NDEBUG)
+void method_methodref_println(constant_FMIref *mr)
+{
+ method_methodref_print(mr);
+ printf("\n");
+}
+#endif /* !defined(NDEBUG) */
+
+
/*
* These are local overrides for various environment variables in Emacs.
* Please do not remove this and leave it at the end of the file, where
* c-basic-offset: 4
* tab-width: 4
* End:
+ * vim:noexpandtab:sw=4:ts=4:
*/