2004-11-08 Andrew Cagney <cagney@gnu.org>
[deliverable/binutils-gdb.git] / gdb / jv-exp.y
index 586c1ca4fb3e36150b9ef482cf071663bfa3d39a..a3d1210445465bcbf7411dd0690ab06c7a62a573 100644 (file)
@@ -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:
@@ -1133,34 +1142,34 @@ yylex ()
   switch (namelen)
     {
     case 7:
-      if (STREQN (tokstart, "boolean", 7))
+      if (DEPRECATED_STREQN (tokstart, "boolean", 7))
        return BOOLEAN;
       break;
     case 6:
-      if (STREQN (tokstart, "double", 6))      
+      if (DEPRECATED_STREQN (tokstart, "double", 6))      
        return DOUBLE;
       break;
     case 5:
-      if (STREQN (tokstart, "short", 5))
+      if (DEPRECATED_STREQN (tokstart, "short", 5))
        return SHORT;
-      if (STREQN (tokstart, "false", 5))
+      if (DEPRECATED_STREQN (tokstart, "false", 5))
        {
          yylval.lval = 0;
          return BOOLEAN_LITERAL;
        }
-      if (STREQN (tokstart, "super", 5))
+      if (DEPRECATED_STREQN (tokstart, "super", 5))
        return SUPER;
-      if (STREQN (tokstart, "float", 5))
+      if (DEPRECATED_STREQN (tokstart, "float", 5))
        return FLOAT;
       break;
     case 4:
-      if (STREQN (tokstart, "long", 4))
+      if (DEPRECATED_STREQN (tokstart, "long", 4))
        return LONG;
-      if (STREQN (tokstart, "byte", 4))
+      if (DEPRECATED_STREQN (tokstart, "byte", 4))
        return BYTE;
-      if (STREQN (tokstart, "char", 4))
+      if (DEPRECATED_STREQN (tokstart, "char", 4))
        return CHAR;
-      if (STREQN (tokstart, "true", 4))
+      if (DEPRECATED_STREQN (tokstart, "true", 4))
        {
          yylval.lval = 1;
          return BOOLEAN_LITERAL;
This page took 0.039095 seconds and 4 git commands to generate.