+2005-03-01 Per Bothner <per@bothner.com>
+
+ * jcf-reader.c (get_attribute): Handle SourceDebugExtension (JSR 45)
+ if HANDLE_SOURCEDEBUGEXTENSION_ATTRIBUTE is defined.
+ * jcf-dump.c (HANDLE_SOURCEDEBUGEXTENSION_ATTRIBUTE): Print contents.
+
2005-03-01 Per Bothner <per@bothner.com>
* java-tree.h (IDENTIFIER_HANDLECLASS_VALUE): Remove ancient macro.
fputc ('\n', out); \
}
+#define HANDLE_SOURCEDEBUGEXTENSION_ATTRIBUTE(LENGTH) \
+{ int i, n = (LENGTH), c = 0; \
+ COMMON_HANDLE_ATTRIBUTE(jcf, attribute_name, attribute_length); \
+ fputc ('\n', out); \
+ for (i = 0; i < n; i++) { c = JCF_readu(jcf); fputc(c, out); } \
+ if (c != '\r' && c != '\n') fputc('\n', out); }
+
#define PROCESS_OTHER_ATTRIBUTE(JCF, INDEX, LENGTH) \
{ COMMON_HANDLE_ATTRIBUTE(JCF, INDEX, LENGTH); \
fputc ('\n', out); JCF_SKIP (JCF, LENGTH); }
HANDLE_DEPRECATED_ATTRIBUTE ();
}
else
+#endif
+#ifdef HANDLE_SOURCEDEBUGEXTENSION_ATTRIBUTE
+ if (MATCH_ATTRIBUTE ("SourceDebugExtension")) /* JSR 45 */
+ {
+ HANDLE_SOURCEDEBUGEXTENSION_ATTRIBUTE (attribute_length);
+ }
+ else
#endif
{
#ifdef PROCESS_OTHER_ATTRIBUTE