this.temporarySymbols.putAll( this.symbols ); this.temporaryVariables.putAll( this.variables );  boolean changed = false; if (this.customPreprocessors != null) { for (int i = 0; i < this.customPreprocessors.length; i++) { CustomPreprocessor processor = this.customPreprocessors[i]; processor.processClass(lines, className); lines.reset();
File destinationFile = new File( this.destinationDir.getAbsolutePath() + "/" + fileName ); if (preprocessed || ( !destinationFile.exists() ) || ( sourceFile.lastModified() > destinationFile.lastModified() ) ) {  if (this.backup && destinationFile.exists() ) {  destinationFile.renameTo( new File( destinationFile.getAbsolutePath() + ".bak") );
	public int preprocess(String className, StringList lines) 	throws BuildException 	{		// clear the temporary variables and symbols:		this.temporarySymbols.clear();		this.temporaryVariables.clear();				// set debugging preprocessing symbols:		if (this.debugManager != null) {			String[] debuggingSymbols = this.debugManager.getDebuggingSymbols( className );			for (int i = 0; i < debuggingSymbols.length; i++) {				String symbol = debuggingSymbols[i];				this.temporarySymbols.put( symbol, Boolean.TRUE );			}		}		// adding all normal variables and symbols to the temporary ones:		this.temporarySymbols.putAll( this.symbols );		this.temporaryVariables.putAll( this.variables );				boolean changed = false;		if (this.customPreprocessors != null) {			for (int i = 0; i < this.customPreprocessors.length; i++) {				CustomPreprocessor processor = this.customPreprocessors[i];				processor.processClass(lines, className);				lines.reset();			}			changed = changed || lines.hasChanged();		}		try {			while (lines.next()) {				String line = lines.getCurrent();				if (line.indexOf('#') != -1) {					// could be that there is a preprocess instruction:					int result = processSingleLine( className, lines, line, line.trim() );					if (result == CHANGED ) {						changed = true;					} else if (result == SKIP_FILE) {						return SKIP_FILE;					}				}			}		} catch (BuildException e) {			reset();			throw e;		}		if (changed) {			return CHANGED;		} else {			return NOT_CHANGED;		}	}