diff options
author | Daniel Jacobowitz <drow@false.org> | 2004-09-21 20:44:23 +0000 |
---|---|---|
committer | Daniel Jacobowitz <drow@false.org> | 2004-09-21 20:44:23 +0000 |
commit | eb4a223d0a7351b3d908a258f1e27b6250931902 (patch) | |
tree | 7cce7b6eb47790ba96ebe968a3e9430d83025067 /gdb/jv-exp.y | |
parent | 62521f270583571249fd24d81d70e28d7a8e7e36 (diff) | |
download | fsf-binutils-gdb-drow_intercu-20040221-branch.zip fsf-binutils-gdb-drow_intercu-20040221-branch.tar.gz fsf-binutils-gdb-drow_intercu-20040221-branch.tar.bz2 |
Merge from mainline.drow_intercu-20040221-branch
Diffstat (limited to 'gdb/jv-exp.y')
-rw-r--r-- | gdb/jv-exp.y | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/gdb/jv-exp.y b/gdb/jv-exp.y index 41da7d0..a3d1210 100644 --- a/gdb/jv-exp.y +++ b/gdb/jv-exp.y @@ -446,13 +446,22 @@ FieldAccess: /*| SUPER '.' SimpleName { FIXME } */ ; +FuncStart: + Name '(' + { push_expression_name ($1); } +; + MethodInvocation: - Name '(' ArgumentList_opt ')' - { error (_("Method invocation not implemented")); } + FuncStart + { start_arglist(); } + ArgumentList_opt ')' + { write_exp_elt_opcode (OP_FUNCALL); + write_exp_elt_longcst ((LONGEST) end_arglist ()); + write_exp_elt_opcode (OP_FUNCALL); } | Primary '.' SimpleName '(' ArgumentList_opt ')' - { error (_("Method invocation not implemented")); } + { error (_("Form of method invocation not implemented")); } | SUPER '.' SimpleName '(' ArgumentList_opt ')' - { error (_("Method invocation not implemented")); } + { error (_("Form of method invocation not implemented")); } ; ArrayAccess: |