// $ANTLR start "type_name"
// C:\\Users\\line47\\workspace\\ObjCFYPA\\src\\com\\icona\\antlr\\main\\ObjectiveC.g:238:1: type_name returns [MethodType methodType] : sql= specifier_qualifier_list ad= abstract_declarator ;
public final MethodType type_name() throws RecognitionException {
MethodType methodType = null;
ObjectiveCParser.specifier_qualifier_list_return sql =null;
ArrayType ad =null;
methodType =new MethodType(null,-1);
try {
// C:\\Users\\line47\\workspace\\ObjCFYPA\\src\\com\\icona\\antlr\\main\\ObjectiveC.g:244:2: (sql= specifier_qualifier_list ad= abstract_declarator )
// C:\\Users\\line47\\workspace\\ObjCFYPA\\src\\com\\icona\\antlr\\main\\ObjectiveC.g:245:2: sql= specifier_qualifier_list ad= abstract_declarator
{
pushFollow(FOLLOW_specifier_qualifier_list_in_type_name750);
sql=specifier_qualifier_list();
state._fsp--;
if (state.failed) return methodType;
if ( state.backtracking==0 ) {
methodType.setModifier((sql!=null?sql.modifier:null));
methodType.setSpecifier((sql!=null?sql.specifier:null));
methodType.setDataType((sql!=null?sql.dataType:null));
}
pushFollow(FOLLOW_abstract_declarator_in_type_name760);
ad=abstract_declarator();
state._fsp--;
if (state.failed) return methodType;
if ( state.backtracking==0 ) {
methodType.setArrayType(ad);
}
}
}