aboutsummaryrefslogtreecommitdiff
path: root/gdb/expression.h
diff options
context:
space:
mode:
authorAdam Fedor <fedor@gnu.org>2002-10-12 02:43:48 +0000
committerAdam Fedor <fedor@gnu.org>2002-10-12 02:43:48 +0000
commitb01ab485c7bee5c75a49211ab3422dfbd6dce474 (patch)
treed199881c940dd342309cf2135e482ec7f9c42660 /gdb/expression.h
parent806e607347b7df1d3a6317e13bc793cce3b3927a (diff)
downloadgdb-b01ab485c7bee5c75a49211ab3422dfbd6dce474.zip
gdb-b01ab485c7bee5c75a49211ab3422dfbd6dce474.tar.gz
gdb-b01ab485c7bee5c75a49211ab3422dfbd6dce474.tar.bz2
expression.h: New ops OP_NSSTRING, OP_SELECTOR, OP_MSGCALL, and OP_SELF.
Diffstat (limited to 'gdb/expression.h')
-rw-r--r--gdb/expression.h21
1 files changed, 18 insertions, 3 deletions
diff --git a/gdb/expression.h b/gdb/expression.h
index 34e002f..e7f9d48 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