Commits

Ronald Oussoren  committed 75ded59

Class methods with multiple arguments were added to the AST as instance methods

  • Participants
  • Parent commits 4b39b95

Comments (0)

Files changed (3)

File objective/cparser/c_ast.py

         return tuple(nodelist)
 
     attr_names = ('name',)
+

File objective/cparser/c_parser.py

 
     def p_objective_c_class_method_2(self, p):
         """ objective_c_class_method : PLUS objective_c_argtype_opt objective_c_selector_list  SEMI """
-        p[0] = c_ast.MethodDecl(False, p[3][0], p[2], p[3][1], self._coord(p, 1))
+        p[0] = c_ast.MethodDecl(True, p[3][0], p[2], p[3][1], self._coord(p, 1))
 
 
         

File objective/cparser/yacctab.py

   ('protocol_body_elem -> objective_c_body_element','protocol_body_elem',1,'p_protocol_body_elem_1','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1688),
   ('protocol_body_elem -> OPTIONAL','protocol_body_elem',1,'p_protocol_body_elem_2','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1692),
   ('protocol_body_elem -> REQUIRED','protocol_body_elem',1,'p_protocol_body_elem_2','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1693),
-  ('objective_c_protocol_list -> objective_c_name','objective_c_protocol_list',1,'p_objective_c_protocol_list_1','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1703),
-  ('objective_c_protocol_list -> objective_c_protocol_list COMMA objective_c_name','objective_c_protocol_list',3,'p_objective_c_protocol_list_2','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1707),
-  ('objective_c_protocol_body -> objective_c_interface_body_list_opt END','objective_c_protocol_body',2,'p_objective_c_protocol_body','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1711),
-  ('objective_c_interface_body -> brace_open class_struct_declaration_list_opt brace_close objective_c_interface_body_list_opt END','objective_c_interface_body',5,'p_objective_c_interface_body_1','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1715),
-  ('objective_c_interface_body -> brace_open class_struct_declaration_list_opt brace_close SEMI objective_c_interface_body_list_opt END','objective_c_interface_body',6,'p_objective_c_interface_body_2','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1719),
-  ('class_struct_declaration_list -> struct_declaration','class_struct_declaration_list',1,'p_class_struct_declaration_list','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1723),
-  ('class_struct_declaration_list -> PUBLIC','class_struct_declaration_list',1,'p_class_struct_declaration_list','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1724),
-  ('class_struct_declaration_list -> PRIVATE','class_struct_declaration_list',1,'p_class_struct_declaration_list','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1725),
-  ('class_struct_declaration_list -> PROTECTED','class_struct_declaration_list',1,'p_class_struct_declaration_list','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1726),
-  ('class_struct_declaration_list -> PACKAGE','class_struct_declaration_list',1,'p_class_struct_declaration_list','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1727),
-  ('class_struct_declaration_list -> SEMI','class_struct_declaration_list',1,'p_class_struct_declaration_list','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1728),
-  ('class_struct_declaration_list -> class_struct_declaration_list struct_declaration','class_struct_declaration_list',2,'p_class_struct_declaration_list','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1729),
-  ('class_struct_declaration_list -> class_struct_declaration_list PUBLIC','class_struct_declaration_list',2,'p_class_struct_declaration_list','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1730),
-  ('class_struct_declaration_list -> class_struct_declaration_list PRIVATE','class_struct_declaration_list',2,'p_class_struct_declaration_list','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1731),
-  ('class_struct_declaration_list -> class_struct_declaration_list PROTECTED','class_struct_declaration_list',2,'p_class_struct_declaration_list','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1732),
-  ('class_struct_declaration_list -> class_struct_declaration_list PACKAGE','class_struct_declaration_list',2,'p_class_struct_declaration_list','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1733),
-  ('class_struct_declaration_list -> class_struct_declaration_list SEMI','class_struct_declaration_list',2,'p_class_struct_declaration_list','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1734),
-  ('objective_c_interface_body -> objective_c_interface_body_list_opt END','objective_c_interface_body',2,'p_objective_c_interface_body_3','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1749),
-  ('objective_c_interface_body_list -> objective_c_body_element','objective_c_interface_body_list',1,'p_objective_c_interface_body_list_1','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1753),
-  ('objective_c_interface_body_list -> objective_c_body_element objective_c_interface_body_list','objective_c_interface_body_list',2,'p_objective_c_interface_body_list_2','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1757),
-  ('objective_c_body_element -> declaration','objective_c_body_element',1,'p_objective_c_body_element_1','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1761),
-  ('objective_c_body_element -> PROPERTY struct_declaration','objective_c_body_element',2,'p_objective_c_body_element_2','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1765),
-  ('objective_c_body_element -> PROPERTY LPAREN objective_c_property_attribute_list RPAREN struct_declaration','objective_c_body_element',5,'p_objective_c_body_element_3','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1769),
-  ('objective_c_property_attribute_list -> objective_c_property_attribute','objective_c_property_attribute_list',1,'p_objective_c_property_attribute_list_1','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1774),
-  ('objective_c_property_attribute_list -> objective_c_property_attribute COMMA objective_c_property_attribute_list','objective_c_property_attribute_list',3,'p_objective_c_property_attribute_list_2','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1778),
-  ('objective_c_property_attribute -> ID','objective_c_property_attribute',1,'p_objective_c_property_attribute_1','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1782),
-  ('objective_c_property_attribute -> ID EQUALS ID','objective_c_property_attribute',3,'p_objective_c_property_attribute_2','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1787),
-  ('objective_c_property_attribute -> ID EQUALS ID COLON','objective_c_property_attribute',4,'p_objective_c_property_attribute_3','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1792),
-  ('objective_c_body_element -> objective_c_instance_method','objective_c_body_element',1,'p_objective_c_body_element_4','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1798),
-  ('objective_c_body_element -> objective_c_class_method','objective_c_body_element',1,'p_objective_c_body_element_5','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1802),
-  ('objective_c_body_element -> PUBLIC','objective_c_body_element',1,'p_objective_c_body_element_6','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1806),
-  ('objective_c_body_element -> PRIVATE','objective_c_body_element',1,'p_objective_c_body_element_6','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1807),
-  ('objective_c_body_element -> PROTECTED','objective_c_body_element',1,'p_objective_c_body_element_6','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1808),
-  ('objective_c_body_element -> PACKAGE','objective_c_body_element',1,'p_objective_c_body_element_6','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1809),
-  ('objective_c_argtype -> LPAREN type_name RPAREN','objective_c_argtype',3,'p_objective_c_argtype_1','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1814),
-  ('objective_c_argtype -> LPAREN objective_c_argtype_qualifier type_name RPAREN','objective_c_argtype',4,'p_objective_c_argtype_2','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1818),
-  ('objective_c_argtype -> LPAREN declaration_specifiers objective_c_argtype_qualifier RPAREN','objective_c_argtype',4,'p_objective_c_argtype_3','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1823),
-  ('objective_c_argtype_qualifier -> IN','objective_c_argtype_qualifier',1,'p_objective_c_argtype_qualifier','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1828),
-  ('objective_c_argtype_qualifier -> OUT','objective_c_argtype_qualifier',1,'p_objective_c_argtype_qualifier','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1829),
-  ('objective_c_argtype_qualifier -> INOUT','objective_c_argtype_qualifier',1,'p_objective_c_argtype_qualifier','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1830),
-  ('objective_c_argtype_qualifier -> ONEWAY','objective_c_argtype_qualifier',1,'p_objective_c_argtype_qualifier','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1831),
-  ('objective_c_selector_list -> sel_element COLON objective_c_argtype_opt ID','objective_c_selector_list',4,'p_objective_c_selector_list_1','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1837),
-  ('objective_c_selector_list -> sel_element COLON objective_c_argtype_opt ID objective_c_selector_list','objective_c_selector_list',5,'p_objective_c_selector_list_2','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1842),
-  ('objective_c_selector_list -> objective_c_selector_list COMMA ELLIPSIS','objective_c_selector_list',3,'p_objective_c_selector_list_3','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1848),
-  ('objective_c_selector_list -> COLON objective_c_argtype_opt ID','objective_c_selector_list',3,'p_objective_c_selector_list_4','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1852),
-  ('objective_c_selector_list -> COLON objective_c_argtype_opt ID objective_c_selector_list','objective_c_selector_list',4,'p_objective_c_selector_list_5','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1857),
-  ('sel_element -> ID','sel_element',1,'p_sel_element','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1864),
-  ('sel_element -> TYPEID','sel_element',1,'p_sel_element','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1865),
-  ('sel_element -> IN','sel_element',1,'p_sel_element','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1866),
-  ('sel_element -> OUT','sel_element',1,'p_sel_element','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1867),
-  ('sel_element -> INOUT','sel_element',1,'p_sel_element','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1868),
-  ('objective_c_instance_method -> MINUS objective_c_argtype_opt sel_element SEMI','objective_c_instance_method',4,'p_objective_c_instance_method_1','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1873),
-  ('objective_c_instance_method -> MINUS objective_c_argtype_opt objective_c_selector_list SEMI','objective_c_instance_method',4,'p_objective_c_instance_method_2','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1877),
-  ('objective_c_class_method -> PLUS objective_c_argtype_opt sel_element SEMI','objective_c_class_method',4,'p_objective_c_class_method_1','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1881),
-  ('objective_c_class_method -> PLUS objective_c_argtype_opt objective_c_selector_list SEMI','objective_c_class_method',4,'p_objective_c_class_method_2','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1885),
+  ('objective_c_protocol_list -> objective_c_name','objective_c_protocol_list',1,'p_objective_c_protocol_list_1','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1699),
+  ('objective_c_protocol_list -> objective_c_protocol_list COMMA objective_c_name','objective_c_protocol_list',3,'p_objective_c_protocol_list_2','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1703),
+  ('objective_c_protocol_body -> objective_c_interface_body_list_opt END','objective_c_protocol_body',2,'p_objective_c_protocol_body','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1707),
+  ('objective_c_interface_body -> brace_open class_struct_declaration_list_opt brace_close objective_c_interface_body_list_opt END','objective_c_interface_body',5,'p_objective_c_interface_body_1','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1711),
+  ('objective_c_interface_body -> brace_open class_struct_declaration_list_opt brace_close SEMI objective_c_interface_body_list_opt END','objective_c_interface_body',6,'p_objective_c_interface_body_2','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1715),
+  ('class_struct_declaration_list -> struct_declaration','class_struct_declaration_list',1,'p_class_struct_declaration_list','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1719),
+  ('class_struct_declaration_list -> PUBLIC','class_struct_declaration_list',1,'p_class_struct_declaration_list','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1720),
+  ('class_struct_declaration_list -> PRIVATE','class_struct_declaration_list',1,'p_class_struct_declaration_list','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1721),
+  ('class_struct_declaration_list -> PROTECTED','class_struct_declaration_list',1,'p_class_struct_declaration_list','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1722),
+  ('class_struct_declaration_list -> PACKAGE','class_struct_declaration_list',1,'p_class_struct_declaration_list','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1723),
+  ('class_struct_declaration_list -> SEMI','class_struct_declaration_list',1,'p_class_struct_declaration_list','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1724),
+  ('class_struct_declaration_list -> class_struct_declaration_list struct_declaration','class_struct_declaration_list',2,'p_class_struct_declaration_list','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1725),
+  ('class_struct_declaration_list -> class_struct_declaration_list PUBLIC','class_struct_declaration_list',2,'p_class_struct_declaration_list','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1726),
+  ('class_struct_declaration_list -> class_struct_declaration_list PRIVATE','class_struct_declaration_list',2,'p_class_struct_declaration_list','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1727),
+  ('class_struct_declaration_list -> class_struct_declaration_list PROTECTED','class_struct_declaration_list',2,'p_class_struct_declaration_list','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1728),
+  ('class_struct_declaration_list -> class_struct_declaration_list PACKAGE','class_struct_declaration_list',2,'p_class_struct_declaration_list','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1729),
+  ('class_struct_declaration_list -> class_struct_declaration_list SEMI','class_struct_declaration_list',2,'p_class_struct_declaration_list','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1730),
+  ('objective_c_interface_body -> objective_c_interface_body_list_opt END','objective_c_interface_body',2,'p_objective_c_interface_body_3','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1745),
+  ('objective_c_interface_body_list -> objective_c_body_element','objective_c_interface_body_list',1,'p_objective_c_interface_body_list_1','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1749),
+  ('objective_c_interface_body_list -> objective_c_body_element objective_c_interface_body_list','objective_c_interface_body_list',2,'p_objective_c_interface_body_list_2','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1753),
+  ('objective_c_body_element -> declaration','objective_c_body_element',1,'p_objective_c_body_element_1','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1757),
+  ('objective_c_body_element -> PROPERTY struct_declaration','objective_c_body_element',2,'p_objective_c_body_element_2','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1761),
+  ('objective_c_body_element -> PROPERTY LPAREN objective_c_property_attribute_list RPAREN struct_declaration','objective_c_body_element',5,'p_objective_c_body_element_3','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1765),
+  ('objective_c_property_attribute_list -> objective_c_property_attribute','objective_c_property_attribute_list',1,'p_objective_c_property_attribute_list_1','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1770),
+  ('objective_c_property_attribute_list -> objective_c_property_attribute COMMA objective_c_property_attribute_list','objective_c_property_attribute_list',3,'p_objective_c_property_attribute_list_2','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1774),
+  ('objective_c_property_attribute -> ID','objective_c_property_attribute',1,'p_objective_c_property_attribute_1','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1778),
+  ('objective_c_property_attribute -> ID EQUALS ID','objective_c_property_attribute',3,'p_objective_c_property_attribute_2','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1783),
+  ('objective_c_property_attribute -> ID EQUALS ID COLON','objective_c_property_attribute',4,'p_objective_c_property_attribute_3','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1788),
+  ('objective_c_body_element -> objective_c_instance_method','objective_c_body_element',1,'p_objective_c_body_element_4','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1794),
+  ('objective_c_body_element -> objective_c_class_method','objective_c_body_element',1,'p_objective_c_body_element_5','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1798),
+  ('objective_c_body_element -> PUBLIC','objective_c_body_element',1,'p_objective_c_body_element_6','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1802),
+  ('objective_c_body_element -> PRIVATE','objective_c_body_element',1,'p_objective_c_body_element_6','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1803),
+  ('objective_c_body_element -> PROTECTED','objective_c_body_element',1,'p_objective_c_body_element_6','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1804),
+  ('objective_c_body_element -> PACKAGE','objective_c_body_element',1,'p_objective_c_body_element_6','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1805),
+  ('objective_c_argtype -> LPAREN type_name RPAREN','objective_c_argtype',3,'p_objective_c_argtype_1','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1810),
+  ('objective_c_argtype -> LPAREN objective_c_argtype_qualifier type_name RPAREN','objective_c_argtype',4,'p_objective_c_argtype_2','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1814),
+  ('objective_c_argtype -> LPAREN declaration_specifiers objective_c_argtype_qualifier RPAREN','objective_c_argtype',4,'p_objective_c_argtype_3','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1819),
+  ('objective_c_argtype_qualifier -> IN','objective_c_argtype_qualifier',1,'p_objective_c_argtype_qualifier','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1824),
+  ('objective_c_argtype_qualifier -> OUT','objective_c_argtype_qualifier',1,'p_objective_c_argtype_qualifier','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1825),
+  ('objective_c_argtype_qualifier -> INOUT','objective_c_argtype_qualifier',1,'p_objective_c_argtype_qualifier','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1826),
+  ('objective_c_argtype_qualifier -> ONEWAY','objective_c_argtype_qualifier',1,'p_objective_c_argtype_qualifier','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1827),
+  ('objective_c_selector_list -> sel_element COLON objective_c_argtype_opt ID','objective_c_selector_list',4,'p_objective_c_selector_list_1','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1833),
+  ('objective_c_selector_list -> sel_element COLON objective_c_argtype_opt ID objective_c_selector_list','objective_c_selector_list',5,'p_objective_c_selector_list_2','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1838),
+  ('objective_c_selector_list -> objective_c_selector_list COMMA ELLIPSIS','objective_c_selector_list',3,'p_objective_c_selector_list_3','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1844),
+  ('objective_c_selector_list -> COLON objective_c_argtype_opt ID','objective_c_selector_list',3,'p_objective_c_selector_list_4','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1848),
+  ('objective_c_selector_list -> COLON objective_c_argtype_opt ID objective_c_selector_list','objective_c_selector_list',4,'p_objective_c_selector_list_5','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1853),
+  ('sel_element -> ID','sel_element',1,'p_sel_element','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1860),
+  ('sel_element -> TYPEID','sel_element',1,'p_sel_element','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1861),
+  ('sel_element -> IN','sel_element',1,'p_sel_element','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1862),
+  ('sel_element -> OUT','sel_element',1,'p_sel_element','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1863),
+  ('sel_element -> INOUT','sel_element',1,'p_sel_element','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1864),
+  ('objective_c_instance_method -> MINUS objective_c_argtype_opt sel_element SEMI','objective_c_instance_method',4,'p_objective_c_instance_method_1','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1869),
+  ('objective_c_instance_method -> MINUS objective_c_argtype_opt objective_c_selector_list SEMI','objective_c_instance_method',4,'p_objective_c_instance_method_2','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1873),
+  ('objective_c_class_method -> PLUS objective_c_argtype_opt sel_element SEMI','objective_c_class_method',4,'p_objective_c_class_method_1','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1877),
+  ('objective_c_class_method -> PLUS objective_c_argtype_opt objective_c_selector_list SEMI','objective_c_class_method',4,'p_objective_c_class_method_2','/Users/ronald/Projects/pyobjc-hg/objective.cparser/objective/cparser/c_parser.py',1881),
 ]