package com.dubture.composer.core.build;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.dltk.ast.declarations.ModuleDeclaration;
import org.eclipse.dltk.core.ISourceModule;
import org.eclipse.dltk.core.SourceParserUtil;
import org.eclipse.dltk.core.builder.IBuildContext;
import org.eclipse.dltk.core.builder.IBuildParticipant;
import com.dubture.composer.core.ComposerPluginConstants;
import com.dubture.composer.core.log.Logger;
import com.dubture.composer.core.visitor.AutoloadVisitor;
public class ComposerBuildParticipant implements IBuildParticipant
{
@Override
public void build(IBuildContext context) throws CoreException
{
if (ComposerPluginConstants.AUTOLOAD_NAMESPACES.equals(context.getSourceModule().getElementName()) == false) {
return;
}
try {
ISourceModule sourceModule = context.getSourceModule();
ModuleDeclaration moduleDeclaration = SourceParserUtil.getModuleDeclaration(sourceModule);
moduleDeclaration.traverse(new AutoloadVisitor(context.getSourceModule()));
} catch (Exception e) {
Logger.logException(e);
}
}
}