FreeBSD/contrib/gcc/cp/parser.c
/* Parse an Objective-C class interface.  */
Parse an Objective-C class interface.
Parse an Objective - C class interface .
static void
cp_parser_objc_class_interface (cp_parser* parser, tree attributes)
{
  tree name, super, categ, protos;
  bool is_categ;
  cp_lexer_consume_token (parser->lexer);  
  name = cp_parser_identifier (parser);
  cp_parser_objc_superclass_or_category (parser, &super, &categ, &is_categ);
  protos = cp_parser_objc_protocol_refs_opt (parser);
  if (is_categ)
    {
      if (attributes)
		error ("attributes may not be specified on a category");
      objc_start_category_interface (name, categ, protos);
    }
  else
    {
      objc_start_class_interface (name, super, protos, attributes);
      cp_parser_objc_class_ivars (parser);
      objc_continue_interface ();
    }
  cp_parser_objc_method_prototype_list (parser);
}
static void cp_parser_objc_class_interface ( cp_parser * parser , tree attributes ) { tree name , super , categ , protos ; bool is_categ ; cp_lexer_consume_token ( parser -> lexer ) ; name = cp_parser_identifier ( parser ) ; cp_parser_objc_superclass_or_category ( parser , & super , & categ , & is_categ ) ; protos = cp_parser_objc_protocol_refs_opt ( parser ) ; if ( is_categ ) { if ( attributes ) error ( " " ) ; objc_start_category_interface ( name , categ , protos ) ; } else { objc_start_class_interface ( name , super , protos , attributes ) ; cp_parser_objc_class_ivars ( parser ) ; objc_continue_interface ( ) ; } cp_parser_objc_method_prototype_list ( parser ) ; }
Parse an Objective-C class interface.
Parse an Objective - C class interface .
/* APPLE LOCAL radar 4947311 */ /* APPLE LOCAL radar 4965989 */ /* APPLE LOCAL radar 4947311 */ /* Code for radar 4548636 removed. */ /* Eat '@interface'.  */ /* APPLE LOCAL radar 4965989 */ /* We have either a class or a category on our hands.  */ /* APPLE LOCAL radar 4965989 */ /* APPLE LOCAL begin radar 4548636 */ /* APPLE LOCAL end radar 4548636 */ /* APPLE LOCAL radar 4548636 */ /* Handle instance variable declarations, if any.  */