buffer = new InputBuffer(file, options.encoding);
buffer = new InputBuffer(file, KjcOptions.encoding);
    protected JCompilationUnit parseFile(File file) {	InputBuffer		buffer;	try {	    buffer = new InputBuffer(file, options.encoding);	} catch (UnsupportedEncodingException e) {	    reportTrouble(new UnpositionedError(CompilerMessages.UNSUPPORTED_ENCODING,						options.encoding));	    return null;	} catch (IOException e) {	    reportTrouble(new UnpositionedError(CompilerMessages.IO_EXCEPTION,						file.getPath(),						e.getMessage()));	    return null;	}	KjcParser		parser;	JCompilationUnit	unit;	long		lastTime = System.currentTimeMillis();	parser = new KjcParser(this, buffer);	try {	    unit = parser.jCompilationUnit();	} catch (ParserException e) {	    reportTrouble(parser.beautifyParseError(e));	    unit = null;	} catch (Exception e) {	    //err.println("{" + file.getPath() + ":" + scanner.getLine() + "} " + e.getMessage());	    e.printStackTrace();	    errorFound = true;	    unit = null;	}	if (verboseMode()) {	    inform(CompilerMessages.FILE_PARSED, file.getPath(), new Long(System.currentTimeMillis() - lastTime));	}	try {	    buffer.close();	} catch (IOException e) {	    reportTrouble(new UnpositionedError(CompilerMessages.IO_EXCEPTION,						file.getPath(),						e.getMessage()));	}	return unit;    }