package org.eclipse.dltk.tcl.internal.core.search.mixin;
import org.eclipse.dltk.ast.declarations.ModuleDeclaration;
import org.eclipse.dltk.core.DLTKCore;
import org.eclipse.dltk.core.ISourceModule;
import org.eclipse.dltk.core.SourceParserUtil;
import org.eclipse.dltk.core.mixin.IMixinParser;
import org.eclipse.dltk.core.mixin.IMixinRequestor;
public class TclMixinParser implements IMixinParser {
private IMixinRequestor requestor;
public void parserSourceModule(boolean signature, ISourceModule module) {
ModuleDeclaration moduleDeclaration = SourceParserUtil
.getModuleDeclaration(module);
if (moduleDeclaration == null) {
return;
}
/*
* signature ? ISourceParserConstants.DEFAULT :
* ISourceParserConstants.RUNTIME_MODEL
*/
TclMixinBuildVisitor visitor = new TclMixinBuildVisitor(
moduleDeclaration, module, signature, requestor);
try {
moduleDeclaration.traverse(visitor);
} catch (Exception e) {
if (DLTKCore.DEBUG) {
e.printStackTrace();
}
}
}
public void setRequirestor(IMixinRequestor requestor) {
this.requestor = requestor;
}
}