c-parse.in (methodtype): New production.
* c-parse.in (methodtype): New production. (methoddef, methodproto): Collapse separate '-' and '+' handlers into 1. From-SVN: r42133
This commit is contained in:
parent
4c521bad98
commit
0b1cdaf229
@ -1,3 +1,9 @@
|
||||
2001-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
|
||||
|
||||
* c-parse.in (methodtype): New production.
|
||||
(methoddef, methodproto): Collapse separate '-' and '+'
|
||||
handlers into 1.
|
||||
|
||||
2001-05-16 Neil Booth <neil@cat.daikokuya.demon.co.uk>
|
||||
|
||||
* c-common.h (RID_FIRST_PQ): New.
|
||||
|
@ -2947,44 +2947,27 @@ ivar_declarator:
|
||||
}
|
||||
;
|
||||
|
||||
methoddef:
|
||||
methodtype:
|
||||
'+'
|
||||
{
|
||||
objc_pq_context = 1;
|
||||
if (objc_implementation_context)
|
||||
objc_inherit_code = CLASS_METHOD_DECL;
|
||||
else
|
||||
fatal_error ("method definition not in class context");
|
||||
}
|
||||
methoddecl
|
||||
{
|
||||
objc_pq_context = 0;
|
||||
add_class_method (objc_implementation_context, $3);
|
||||
start_method_def ($3);
|
||||
objc_method_context = $3;
|
||||
}
|
||||
optarglist
|
||||
{
|
||||
continue_method_def ();
|
||||
}
|
||||
compstmt_or_error
|
||||
{
|
||||
finish_method_def ();
|
||||
objc_method_context = NULL_TREE;
|
||||
}
|
||||
|
||||
{ objc_inherit_code = CLASS_METHOD_DECL; }
|
||||
| '-'
|
||||
{ objc_inherit_code = INSTANCE_METHOD_DECL; }
|
||||
;
|
||||
|
||||
methoddef:
|
||||
methodtype
|
||||
{
|
||||
objc_pq_context = 1;
|
||||
if (objc_implementation_context)
|
||||
objc_inherit_code = INSTANCE_METHOD_DECL;
|
||||
else
|
||||
if (!objc_implementation_context)
|
||||
fatal_error ("method definition not in class context");
|
||||
}
|
||||
methoddecl
|
||||
{
|
||||
objc_pq_context = 0;
|
||||
add_instance_method (objc_implementation_context, $3);
|
||||
if (objc_inherit_code == CLASS_METHOD_DECL)
|
||||
add_class_method (objc_implementation_context, $3);
|
||||
else
|
||||
add_instance_method (objc_implementation_context, $3);
|
||||
start_method_def ($3);
|
||||
objc_method_context = $3;
|
||||
}
|
||||
@ -3021,31 +3004,19 @@ semi_or_error:
|
||||
;
|
||||
|
||||
methodproto:
|
||||
'+'
|
||||
methodtype
|
||||
{
|
||||
/* Remember protocol qualifiers in prototypes. */
|
||||
objc_pq_context = 1;
|
||||
objc_inherit_code = CLASS_METHOD_DECL;
|
||||
}
|
||||
methoddecl
|
||||
{
|
||||
/* Forget protocol qualifiers here. */
|
||||
objc_pq_context = 0;
|
||||
add_class_method (objc_interface_context, $3);
|
||||
}
|
||||
semi_or_error
|
||||
|
||||
| '-'
|
||||
{
|
||||
/* Remember protocol qualifiers in prototypes. */
|
||||
objc_pq_context = 1;
|
||||
objc_inherit_code = INSTANCE_METHOD_DECL;
|
||||
}
|
||||
methoddecl
|
||||
{
|
||||
/* Forget protocol qualifiers here. */
|
||||
objc_pq_context = 0;
|
||||
add_instance_method (objc_interface_context, $3);
|
||||
if (objc_inherit_code == CLASS_METHOD_DECL)
|
||||
add_class_method (objc_interface_context, $3);
|
||||
else
|
||||
add_instance_method (objc_interface_context, $3);
|
||||
}
|
||||
semi_or_error
|
||||
;
|
||||
|
Loading…
Reference in New Issue
Block a user