diff options
author | apbianco <apbianco@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-03-14 05:01:05 +0000 |
---|---|---|
committer | apbianco <apbianco@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-03-14 05:01:05 +0000 |
commit | 4654e794323c05fcfabee95cb2bf334fb30a3873 (patch) | |
tree | bf1619873e76c17441a1423f1eaba6a4a64f054a /gcc/java/jcf-dump.c | |
parent | 86220f453c768a8deb58678e4010a892011a2cce (diff) | |
download | gcc-4654e794323c05fcfabee95cb2bf334fb30a3873.tar.gz |
Added Java 1.1 language features.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@32517 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/java/jcf-dump.c')
-rw-r--r-- | gcc/java/jcf-dump.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/gcc/java/jcf-dump.c b/gcc/java/jcf-dump.c index 8fb63cb34e5..dfff14e6beb 100644 --- a/gcc/java/jcf-dump.c +++ b/gcc/java/jcf-dump.c @@ -294,6 +294,38 @@ DEFUN(utf8_equal_string, (jcf, index, value), else \ JCF_SKIP (jcf, 4 * n); } +#define HANDLE_INNERCLASSES_ATTRIBUTE(COUNT) \ +{ int n = (COUNT); \ + COMMON_HANDLE_ATTRIBUTE(jcf, attribute_name, attribute_length); \ + while (n--) \ + { \ + uint16 inner_class_info_index = JCF_readu2 (jcf); \ + uint16 outer_class_info_index = JCF_readu2 (jcf); \ + uint16 inner_name_index = JCF_readu2 (jcf); \ + uint16 inner_class_access_flags = JCF_readu2 (jcf); \ + \ + if (flag_print_class_info) \ + { \ + fprintf (out, "\n class: "); \ + if (flag_print_constant_pool) \ + fprintf (out, "%d=", inner_class_info_index); \ + print_constant_terse (out, jcf, \ + inner_class_info_index, CONSTANT_Class); \ + fprintf (out, " (%d=", inner_name_index); \ + print_constant_terse (out, jcf, inner_name_index, CONSTANT_Utf8); \ + fprintf (out, "), access flags: 0x%x", inner_class_access_flags); \ + print_access_flags (out, inner_class_access_flags, 'c'); \ + fprintf (out, ", outer class: "); \ + if (flag_print_constant_pool) \ + fprintf (out, "%d=", outer_class_info_index); \ + print_constant_terse (out, jcf, \ + outer_class_info_index, CONSTANT_Class); \ + } \ + } \ + if (flag_print_class_info) \ + fputc ('\n', out); \ +} + #define PROCESS_OTHER_ATTRIBUTE(JCF, INDEX, LENGTH) \ { COMMON_HANDLE_ATTRIBUTE(JCF, INDEX, LENGTH); \ fputc ('\n', out); JCF_SKIP (JCF, LENGTH); } |