class.c (make_class): Don't set CLASS_P here (because this function is also called by...

a
	* class.c (make_class):  Don't set CLASS_P here (because
	this function is also called by build_java_array_type).
	(push_class):  Set CLASS_P here instead.
	* parse.h (TYPE_CLASS_P):  Check for TYPE_ARRAY_P is redundant.
	* jcf-dump.c (print_access_flags):  Take extra parameter to indicate
	context.  If the context is class, perfer "super" over "synchronized".
	* jcf-write.c (generate_classfile):  Don't add ACC_SUPER if interface.
	* parse.y (create_class):  Don't call parser_check_super here;
	it is not robust.  Always wait until later.
	* parse.y (method_header):  For interfaces, set ACC_ABSTRACT (to
	match what JDK 1.2 does), but don't set ACC_PUBLIC.

From-SVN: r25783
This commit is contained in:
Per Bothner 1999-03-15 05:09:36 -08:00
parent 10919149c3
commit 2728f62201

View file

@ -2696,7 +2696,9 @@ generate_classfile (clas, state)
else
i = 8 + 2 * total_supers;
ptr = append_chunk (NULL, i, state);
i = get_access_flags (TYPE_NAME (clas)) | ACC_SUPER;
i = get_access_flags (TYPE_NAME (clas));
if (! (i & ACC_INTERFACE))
i |= ACC_SUPER;
PUT2 (i); /* acces_flags */
i = find_class_constant (&state->cpool, clas); PUT2 (i); /* this_class */
if (clas == object_type_node)