summaryrefslogtreecommitdiffstats
path: root/libjava/java/lang/Runtime.java
diff options
context:
space:
mode:
authornathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>1999-09-21 14:40:13 +0000
committernathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>1999-09-21 14:40:13 +0000
commitb9050420ea4bbba8f8896e6d3e18d840785edf3b (patch)
tree1b463c3798cfb2f7d8d92e4357594ad6134f5466 /libjava/java/lang/Runtime.java
parent2402e02ac93c48d916943f3259451666ac901bff (diff)
downloadppe42-gcc-b9050420ea4bbba8f8896e6d3e18d840785edf3b.tar.gz
ppe42-gcc-b9050420ea4bbba8f8896e6d3e18d840785edf3b.zip
Reimplement dynamic cast and catch matching.
* cp-tree.h (get_dynamic_cast_base_type): Prototype new function * search.c (dynamic_cast_base_recurse): New function. (get_dynamic_cast_base_type): New function for dynamic cast. * rtti.c (build_dynamic_cast_1): Determine source and target class relationship. Call __dynamic_cast_2. * tinfo.h (__user_type_info::upcast): New catch dispatcher. (__user_type_info::dyncast): New dynamic cast dispatcher. (__user_type_info::sub_kind): New nested enumeration. (__user_type_info::contained_p): sub_kind predicate. (__user_type_info::contained_public_p): Likewise. (__user_type_info::contained_nonpublic_p): Likewise. (__user_type_info::contained_nonvirtual_p: Likewise. (__user_type_info::upcast_result): New nested struct. (__user_type_info::dyncast_result): New nested struct. (*::do_upcast): New catch function. (*::do_dyncast): New dynamic cast function. (__user_type_info::find_public_subobj): New dynamic cast helper dispatcher. (*::do_find_public_subobj): New dynamic cast helper function. * tinfo.cc (__user_type_info::upcast): Define catch dispatcher. (__user_type_info::dyncast): Define dynamic cast dispatcher. (*::do_upcast): Define catch function. (*::do_dyncast): Define dynamic cast function. (*::do_find_public_subobj): Define dynamic cast helper function. * tinfo2.cc (__throw_type_match_rtti_2): Use upcast. (__dynamic_cast): Backwards compatibility wrapper. Use dyncast. (__dynamic_cast_2): New dynamic cast runtime. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29544 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/java/lang/Runtime.java')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud