summaryrefslogtreecommitdiff
path: root/gdb/expression.h
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/expression.h')
-rw-r--r--gdb/expression.h24
1 files changed, 20 insertions, 4 deletions
diff --git a/gdb/expression.h b/gdb/expression.h
index 34e002f3a28..c1f36a1d36e 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,18 @@ 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: "@selector" pseudo-operator */
+ OP_SELECTOR,
+
+ /* 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,
+
/* 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 +318,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
@@ -350,7 +366,7 @@ extern struct block *innermost_block;
/* From eval.c */
-/* Values of NOSIDE argument to eval_subexp. */
+/* Values of NOSIDE argument to evaluate_subexp. */
enum noside
{