8sa1-gcc/gcc/java
Alexandre Petit-Bianco b9f7e36ca1 decl.c (runtime_exception_type_node, [...]): New global variables.
Tue Oct 13 03:50:28 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
	* decl.c (runtime_exception_type_node, error_exception_type_node):
 	New global variables.
	(init_decl_processing): Initialized.
	* expr.c (java_lang_expand_expr): Set caught exception type to
 	null if catch handler argument doesn't exit.
	* java-tree.def (SYNCHRONIZED_EXPR, THROW_EXPR): New Java specific
 	tree codes.
	* java-tree.h (runtime_exception_type_node,
 	error_exception_type_node): Global variables declared.
	(DECL_FUNCTION_THROWS): New macro.
	(DECL_FUNCTION_BODY): Modified comment.
	(DECL_SPECIFIC_COUNT): Likewise.
	(struct lang_decl): New field throws_list.
	(IS_UNCHECKED_EXPRESSION_P): New macro.
	* lex.c (java_lex): Generate location information for THROW_TK.
	* parse.h (PUSH_EXCEPTIONS, POP_EXCEPTIONS, IN_TRY_BLOCK_P,
 	EXCEPTIONS_P): New macros.
	(enum jdep_code): New value JDEP_EXCEPTION.
	(BUILD_MONITOR_ENTER, BUILD_MONITOR_EXIT,
 	BUILD_ASSIGN_EXCEPTION_INFO, BUILD_THROW, SET_WFL_OPERATOR,
 	PATCH_METHOD_RETURN_ERROR): New macros.
	(patch_method_invocation_stmt): Added new argument to prototype.
	(patch_synchronized_statement, patch_throw_statement,
 	check_thrown_exceptions, check_thrown_exceptions_do,
 	purge_unchecked_exceptions, check_throws_clauses): New function
 	prototypes.
	* parse.y Fixed typo in keyword section.
	(throw:): Rule tagged <node>.
	(THROW_TK): Keyword tagged <operator>.
	(method_header:): Last argument to call to method_header passed
 	from throws: rule.
	(throws:, class_type_list:, throw_statement:,
 	synchronized_statement:, synchronized:): Defined actions.
	(method_header): New local variable current. Register exceptions
 	from throws clause.
	(java_complete_tree): Complete and verify exceptions from throws
 	clause.
	(complete_class_report_errors): Error message on exceptions not
 	found
	(java_check_regular_methods): Fixed typo. Shortcut on private
 	overriding methods. Changed error message on method
 	redefinition. Check for throws clause compatibility.
	(check_throws_clauses): New function.
	(java_check_abstract_methods): Use DECL_NAME for wfl or current
 	method. Changed error message on method redefinition.
	(currently_caught_type_list): New static variable.
	(java_complete_expand_methods): Purge unchecked exceptions from
 	throws clause list. Call PUSH_EXCEPTIONS before walk and
 	POP_EXCEPTIONS after.
	(resolve_qualified_expression_name): Pass new argument as NULL to
 	patch_method_invocation_stmt.
	(patch_method_invocation_stmt): New argument ref_decl. Invoke
 	PATCH_METHOD_RETURN_ERROR when returning with error. Reverse
 	argument list when appropriate. Use new argument if non null to
 	store selected method decl.
	(patch_invoke): Convert if necessary args of builtin types before
 	forming CALL_EXPR. Argument list no longer reversed here.
	(invocation_mode): Treat final methods as static methods.
	(java_complete_tree): New cases for THROW_EXPR: and
 	SYNCHRONIZED_EXPR:. Check thrown exceptions when completing
 	function call.
	(complete_function_arguments): No more RECORD_TYPE
 	conversion. Function parameter nodes no longer saved.
	(valid_ref_assignconv_cast_p): Avoid handling null type.
	(patch_binop): Fixed null constant reference handling.
	(build_try_statement): Use BUILD_ASSIGN_EXCEPTION_INFO and
 	BUILD_THROW macros.
	(patch_try_statement): Fixed comments. Record caught types in
 	list, push the list, expand try block and pop the list.
	(patch_synchronized_statement, patch_throw_statement,
 	check_thrown_exceptions, check_thrown_exceptions_do,
 	purge_unchecked_exceptions): New functions.
	* typeck.c (lookup_argument_method): Allow WFL in place of method
 	DECL_NAME during method definition check
Implements the `synchronized' statement, the `throw' statements and
the `throws' clause. Fixes method invocation bugs.

From-SVN: r23087
1998-10-14 08:11:04 -07:00
..
buffer.c Makefile.in: Add many missing dependencies. 1998-09-14 03:42:24 -06:00
buffer.h 1998-10-12 05:43:53 -07:00
ChangeLog decl.c (runtime_exception_type_node, [...]): New global variables. 1998-10-14 08:11:04 -07:00
class.c *** empty log message *** 1998-10-12 05:43:32 -07:00
config-lang.in
constants.c Makefile.in: Add many missing dependencies. 1998-09-14 03:42:24 -06:00
convert.h
decl.c decl.c (runtime_exception_type_node, [...]): New global variables. 1998-10-14 08:11:04 -07:00
except.c 1998-10-12 05:43:53 -07:00
expr.c decl.c (runtime_exception_type_node, [...]): New global variables. 1998-10-14 08:11:04 -07:00
gjavah.c jcf-write.c (write_classfile): Add output class file as target. 1998-10-14 12:54:59 +00:00
java-except.h
java-opcodes.h
java-tree.def decl.c (runtime_exception_type_node, [...]): New global variables. 1998-10-14 08:11:04 -07:00
java-tree.h decl.c (runtime_exception_type_node, [...]): New global variables. 1998-10-14 08:11:04 -07:00
javaop.def
javaop.h Initial revision 1998-09-06 15:36:06 +00:00
jcf-depend.c jcf-write.c (write_classfile): Add output class file as target. 1998-10-14 12:54:59 +00:00
jcf-dump.c jcf-write.c (write_classfile): Add output class file as target. 1998-10-14 12:54:59 +00:00
jcf-io.c jcf-write.c (write_classfile): Add output class file as target. 1998-10-14 12:54:59 +00:00
jcf-parse.c 1998-10-12 05:43:53 -07:00
jcf-reader.c 1998-10-12 05:43:52 -07:00
jcf-write.c jcf-write.c (write_classfile): Add output class file as target. 1998-10-14 12:54:59 +00:00
jcf.h jcf-write.c (write_classfile): Add output class file as target. 1998-10-14 12:54:59 +00:00
jv-scan.c
jvgenmain.c Makefile.in: Add many missing dependencies. 1998-09-14 03:42:24 -06:00
jvspec.c 1998-10-12 05:43:52 -07:00
keyword.gperf Initial revision 1998-09-06 15:36:06 +00:00
keyword.h Warning fixes: 1998-10-07 09:18:39 +00:00
lang-options.h jcf-write.c (write_classfile): Add output class file as target. 1998-10-14 12:54:59 +00:00
lang-specs.h jcf-write.c (write_classfile): Add output class file as target. 1998-10-14 12:54:59 +00:00
lang.c jcf-write.c (write_classfile): Add output class file as target. 1998-10-14 12:54:59 +00:00
lex.c decl.c (runtime_exception_type_node, [...]): New global variables. 1998-10-14 08:11:04 -07:00
lex.h
Make-lang.in jcf-write.c (write_classfile): Add output class file as target. 1998-10-14 12:54:59 +00:00
Makefile.in jcf-write.c (write_classfile): Add output class file as target. 1998-10-14 12:54:59 +00:00
mangle.c Makefile.in: Add many missing dependencies. 1998-09-14 03:42:24 -06:00
parse-scan.y
parse.h decl.c (runtime_exception_type_node, [...]): New global variables. 1998-10-14 08:11:04 -07:00
parse.y decl.c (runtime_exception_type_node, [...]): New global variables. 1998-10-14 08:11:04 -07:00
typeck.c decl.c (runtime_exception_type_node, [...]): New global variables. 1998-10-14 08:11:04 -07:00
verify.c 1998-10-12 05:43:53 -07:00
zextract.c Initial revision 1998-09-06 15:36:06 +00:00
zipfile.h Initial revision 1998-09-06 15:36:06 +00:00