From: Adam Fedor Date: Sat, 12 Oct 2002 02:43:48 +0000 (+0000) Subject: expression.h: New ops OP_NSSTRING, OP_SELECTOR, OP_MSGCALL, and OP_SELF. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b01ab485c7bee5c75a49211ab3422dfbd6dce474;p=binutils-gdb.git expression.h: New ops OP_NSSTRING, OP_SELECTOR, OP_MSGCALL, and OP_SELF. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 895bced497a..0f014135a3d 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2002-10-11 Adam Fedor + + * expression.h: New ops OP_NSSTRING, OP_SELECTOR, OP_MSGCALL, and + OP_SELF. + 2002-10-11 Adam Fedor * language.h (CAST_IS_CONVERSION): Add language_objc. diff --git a/gdb/expression.h b/gdb/expression.h index 34e002f3a28..e7f9d4863e6 100644 --- a/gdb/expression.h +++ b/gdb/expression.h @@ -181,6 +181,12 @@ enum exp_opcode making three exp_elements. */ OP_FUNCALL, + /* OP_MSGCALL is followed by a string in the next exp_element and then an + integer. The string is the selector string. The integer is the number + of arguments to the message call. That many plus one values are used, + the first one being the object pointer. This is an Objective C message */ + OP_MSGCALL, + /* This is EXACTLY like OP_FUNCALL but is semantically different. In F77, array subscript expressions, substring expressions and function calls are all exactly the same syntactically. They may @@ -273,11 +279,17 @@ enum exp_opcode STRUCTOP_STRUCT, STRUCTOP_PTR, - /* C++ */ - /* OP_THIS is just a placeholder for the class instance variable. + /* C++: OP_THIS is just a placeholder for the class instance variable. It just comes in a tight (OP_THIS, OP_THIS) pair. */ OP_THIS, + /* Objective-C: OP_SELF is just a placeholder for the class instance + variable. It just comes in a tight (OP_SELF, OP_SELF) pair. */ + OP_SELF, + + /* Objective C: "@selector" pseudo-operator */ + OP_SELECTOR, + /* OP_SCOPE surrounds a type name and a field name. The type name is encoded as one element, but the field name stays as a string, which, of course, is variable length. */ @@ -305,7 +317,10 @@ enum exp_opcode OP_NAME, /* An unparsed expression. Used for Scheme (for now at least) */ - OP_EXPRSTRING + OP_EXPRSTRING, + + /* An Objective C Foundation Class NSString constant */ + OP_NSSTRING, }; union exp_element