code.setPosition(mainLineNum, mainSourceFilename);
    public void finalizeGen() {	if (mainObjectField != null && mainMethod != null) {	    MethodBuilder main = currModule.DefineGlobalMethod		("Main", MethodAttributes.Public | MethodAttributes.Static,		 tc.VOID, new Type[] {tc.STRING_ARRAY} );	    main.DefineParameter(0, 0, "args");	    ((AssemblyBuilder)currModule.Assembly).SetEntryPoint(main);	    code = main.GetILGenerator();	    code.Emit(OpCodes.Ldsfld, mainObjectField);	    code.Emit(OpCodes.Ldarg_0);	    code.Emit(OpCodes.Callvirt, mainMethod);	    if (!returnsVoid(mainMethod))		code.Emit(OpCodes.Pop);	    code.Emit(OpCodes.Ret);	}	tc.createTypes();	try { currAssembly.Save(currAssembly.GetName().Name + ".il"); }	catch (IOException e) { 	    if (global.debug) e.printStackTrace(); // FIXME	}    }