// Copyright (c) 2003-2005 by Leif Frenzel - see http://leiffrenzel.de package net.sf.eclipsefp.haskell.core.builder; import net.sf.eclipsefp.haskell.util.FileUtil; import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IResource; import org.eclipse.core.resources.IResourceVisitor; import org.eclipse.core.runtime.IProgressMonitor; /** <p>Visits the resource tree to build Haskell projects.</p> * * @author Leif Frenzel */ class BuildVisitor extends Visitor implements IResourceVisitor { BuildVisitor( final IProgressMonitor monitor ) { super( monitor ); } @Override public boolean visit( final IResource res ) { //build the specified resource. //return true to continue visiting children. if( res instanceof IFile ) { IFile file = ( IFile )res; if( FileUtil.hasHaskellExtension( file ) && isInSourceFolder( file ) ) { //compileFile( file ); setNeedBuild( true ); } } return true; } }