OSDN Git Service

* c-exp.y: Add new rule for resolving method overloads.
authorkseitz <kseitz>
Wed, 11 Nov 2009 07:17:58 +0000 (07:17 +0000)
committerkseitz <kseitz>
Wed, 11 Nov 2009 07:17:58 +0000 (07:17 +0000)
commitdd4b6e6a9ac930d4715f1cc4d714e0fc3616576a
tree2c321b699d26aa3e90380f412939602c3b91bfe5
parent755a5949b5f38e28f5ae89914ec69b6179635b7c
* c-exp.y: Add new rule for resolving method overloads.
* eval.c (make_params): New function.
(free_param_types): New function.
(evaluate_subexp_standard): Pass expect_type to value_aggregate_elt.
Handle case TYPE_INSTANCE.
(evaluate_subexp_for_address): Pass expect_type to value_aggregate_elt.
* expression.h (enum exp_opcode): Add TYPE_INSTANCE.
(compare_parameters): Add declaration.
* parse.c (operator_length_standard): Add TYPE_INSTANCE.
* valops.c (value_aggregate_elt): Add new expect_type parameter.
Pass expect_type to value_struct_elt_for_reference.
(value_struct_elt_for_reference): Add expect_type parameter and use
compare_parameters.
Check for overload matches with and without artificial parameters.
Skip artificial methods.
(compare_parameters): New function.
* value.h (value_aggregate_elt): Add new expect_type parameter.
gdb/ChangeLog
gdb/c-exp.y
gdb/eval.c
gdb/expression.h
gdb/parse.c
gdb/valops.c
gdb/value.h