[Date Prev][Date Next][Thread Prev][Thread Next][Author Index][Date Index][Thread Index]

Translating #ifdef



I've made the following mods to the translator for producing
conditional compilation expressions:

FOO ifdef: [stuff] else: [stuff2]

translates to:

#ifdef FOO
{
	stuff;
}
#else /* FOO */
{
	stuff2;
}
#endif /* FOO */

and executes just like ifTrue:ifFalse: (you should put some code in
Heaper linkTimeNonInherited to initialize the global variable FOO).
#ifndef is also supported, and the #else cases can be omitted.

If you want an entire member function to be conditional, you can put
ifdefFOO or ifndefFOO in the return type. I will probably add
conditionally compiled instance variables as well.
	--ravi