.escape(mainSourceFile.getFile().getPath()); code.setPosition(mainLineNum, fname);
.escape(entryPointUnit.source.getFile().getPath()); code.setPosition(Position.line(entryPointPos), fname);
    public void saveAssembly() {	if (entryPoint != null) {	    MethodInfo mainMethod = (MethodInfo)getMethod(entryPoint);	    assert mainMethod != null : Debug.show(entryPoint);	    FieldInfo moduleField = getModuleField(entryPoint.owner());	    assert moduleField != null : Debug.show(entryPoint.owner());	    MethodBuilder main = msilModule.DefineGlobalMethod		("Main", MethodAttributes.Public | MethodAttributes.Static,		 VOID, new Type[] {STRING_ARRAY} );	    main.DefineParameter(0, 0, "args");	    msilAssembly.SetEntryPoint(main);	    ILGenerator code = main.GetILGenerator(); 	    if (global.args.debuginfo.value) {		String fname = SourceRepresentation		    .escape(mainSourceFile.getFile().getPath());		code.setPosition(mainLineNum, fname);	    }	    code.Emit(OpCodes.Ldsfld, moduleField);	    code.Emit(OpCodes.Ldarg_0);	    code.Emit(OpCodes.Callvirt, mainMethod);	    code.Emit(OpCodes.Ret);	}	createTypes();	String assemblyFilename = msilAssembly.GetName().Name + ".il";	try {	    msilAssembly.Save(assemblyFilename);	    if (moreThanOneEntryPoint())		global.warning("Setting " + Debug.show(entryPoint) + 			       " as an entry point");	} catch (IOException e) { 	    global.error("Could not save " + assemblyFilename);	}    }