/* * Copyright (c) 1998 David Stes. * * This library is free software; you can redistribute it and/or modify it * under the terms of the GNU Library General Public License as published * by the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Library General Public License for more details. * * You should have received a copy of the GNU Library General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * * $Id: classdef.h,v 1.1.1.1 2000/06/07 21:09:24 stes Exp $ */ extern id curclassdef; extern id curstruct; @interface ClassDef : Node { id selftype; id classname; char *otbtypename; char *privtypename; char *shartypename; char *clsdisptblname; char *nstdisptblname; char *globfunname; char *_classname; char *_classfunname; char *_superfunname; char *_m_classname; char *_m_classfunname; char *_m_superfunname; id rootc; id superc; id supername; id ivars, cvars; BOOL emitintf; BOOL emitimpl; BOOL emitfwddecl; BOOL isimpl; /* being implemented in this trlunit */ BOOL iscategory; id clsdispsels, nstdispsels; /* selectors *implemented* (overridden) */ id clsdisptbl; /* class methods *implemented* (overridden) */ id nstdisptbl; /* instance methods *implemented* (overridden) */ id clssels; /* selectors of class methods prototyped */ id nstsels; /* selectors of instance methods prototyped */ id compdic, compnames, comptypes; id ivardic, ivarnames, ivartypes; id cvardic, cvarnames, cvartypes; id allivarnames, allcvarnames; id fileinmethod, fileoutmethod; id decrefsmethod, increfsmethod; } - selftype; - forceimpl; - (BOOL)isimpl; - warnpending; - (char*)classname; - (char*)shartypename; - (char*)privtypename; - (char*)otbtypename; - (char*)globfunname; - (char*)_classname; - (char*)_m_classname; - (char*)_classfunname; - (char*)_m_classfunname; - (char*)_superfunname; - (char*)_m_superfunname; - classname:sym; - (char*)supername; - supername:sym; - superclassdef; - checksupername:sym; - rootclassdef; - (char*)rootname; - ivars; - ivars:aList; - checkivars:aList; - cvars; - cvars:aList; - checkcvars:aList; - addclsdisp:method; - addnstdisp:method; - warnimplnotfound; - addclssel:method; - addnstsel:method; - (int)numidivars; - synthfilermethods; - synthrefcntmethods; - gen; - genivars; - gencvars; - genintf; - genimpl; - genfwddecl; - genshartype; - gensuper; - genmetasuper; - genclassref; - lookupivar:sym; - lookupcvar:sym; - (BOOL)isivar:sym; - (BOOL)iscvar:sym; - defcomp:sym astype:t; - undefcomps; @end