summaryrefslogtreecommitdiffstats
path: root/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$IntHandlerCreator.class
diff options
context:
space:
mode:
authordmalcolm <dmalcolm@138bc75d-0d04-0410-961f-82ee72b054a4>2013-10-29 01:01:52 +0000
committerdmalcolm <dmalcolm@138bc75d-0d04-0410-961f-82ee72b054a4>2013-10-29 01:01:52 +0000
commit2b5c57c555b1974d26afb21fd2050ac8a9c434ca (patch)
tree500792a83215ba241bd2dddaaebc624b38f6e335 /libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$IntHandlerCreator.class
parent2dd7b8859597a1620b0e4cf488678f1166ca6958 (diff)
downloadppe42-gcc-2b5c57c555b1974d26afb21fd2050ac8a9c434ca.tar.gz
ppe42-gcc-2b5c57c555b1974d26afb21fd2050ac8a9c434ca.zip
Handle simple inheritance in gengtype
* gengtype-parse.c (opts_have): Drop "static" so that we can use this from gengtype.c. * gengtype.c (set_gc_used_type): Mark any base class as used; update field traversal to visit inherited fields. (output_mangled_typename): Convert references to classes within an inheritance hierarchy to reference the ultimate base class, since only it will have gt_ functions. (get_string_option): New. (walk_subclasses): New. (walk_type): Treat GTY structs that have a "desc" as being the root of an inheritance hierarchy. Generate a switch on it within the marking function which walks all subclasses, adding cases for them via walk_subclasses. For subclasses, visit all fields of the type (including inherited ones). (write_func_for_structure): Don't write fns for subclasses, only for the ultimate base class within an inheritance hierarchy. Subclasses-marking will be handled by the base class marking functions. (write_types): Likewise. (write_local_func_for_structure): Likewise. (USED_BY_TYPED_GC_P): Emit allocators for subclasses that have a "tag" option (and are thus concrete subclasses). (write_root): Use the marker function for the ultimate base class. * gengtype.h (FOR_ALL_INHERITED_FIELDS): New. (opts_have): Add declaration. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204146 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$IntHandlerCreator.class')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud