ti = CLRPackageParser.instance();
ti = CLRTypes.instance();
    TypeCreator(Global global, GenMSILPhase phase) {	this.global = global;	this.defs = global.definitions;        this.backPhase = global.PHASE.ADDINTERFACES.phase();	ti = CLRPackageParser.instance();	types2symbols = phase.types2symbols;	symbols2types = phase.symbols2types;	symbols2fields = phase.symbols2fields;	symbols2methods = phase.symbols2methods;	symbols2moduleFields = phase.symbols2moduleFields;	BYTE    = ti.BYTE;	CHAR    = ti.CHAR;	SHORT   = ti.SHORT;	INT     = ti.INT;	LONG    = ti.LONG;	FLOAT   = ti.FLOAT;	DOUBLE  = ti.DOUBLE;	BOOLEAN = ti.BOOLEAN;	VOID    = ti.VOID;	ENUM    = ti.ENUM;	OBJECT = ti.OBJECT;	STRING = ti.STRING;	STRING_ARRAY = Type.GetType("System.String[]");	MONITOR = Type.GetType("System.Threading.Monitor");	final Type[] sObject1 = new Type[] {OBJECT};	//CONCAT_OBJECT = STRING.GetMethod("Concat", new Type[] {OBJECT});	//CONCAT_STRING_STRING = STRING.GetMethod("Concat", new Type[] {STRING, STRING});	CONCAT_OBJECT_OBJECT =	    STRING.GetMethod("Concat", new Type[] {OBJECT, OBJECT});	OBJECT_EQUALS = OBJECT.GetMethod("Equals", sObject1);// 	MONITOR_PULSE = MONITOR.GetMethod("Pulse", sObject1);// 	MONITOR_PULSE_ALL = MONITOR.GetMethod("PulseAll", sObject1);// 	MONITOR_WAIT = MONITOR.GetMethod("Wait", sObject1);// 	MONITOR_WAIT_TIMEOUT = MONITOR.GetMethod("Wait", new Type[] {OBJECT, INT});	MONITOR_ENTER = MONITOR.GetMethod("Enter", sObject1);	MONITOR_EXIT = MONITOR.GetMethod("Exit", sObject1);	SCALA_BYTE    = getType("scala.Byte");	SCALA_SHORT   = getType("scala.Short");	SCALA_INT     = getType("scala.Int");	SCALA_LONG    = getType("scala.Long");	SCALA_FLOAT   = getType("scala.Float");	SCALA_DOUBLE  = getType("scala.Double");	SCALA_CHAR    = getType("scala.Char");	SCALA_BOOLEAN = getType("scala.Boolean");	SCALA_UNIT    = getType("scala.Unit"); 	RUNTIME_BOX_UNIT = getType("scala.runtime.RunTime") 	    .GetMethod("box_uvalue", Type.EmptyTypes);    }