package org.erlide.engine.services.search;
import java.util.List;
import org.eclipse.core.resources.IContainer;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IPath;
import org.erlide.engine.model.ErlElementKind;
import org.erlide.engine.model.ErlModelException;
import org.erlide.engine.model.IErlElement;
import org.erlide.engine.model.erlang.IErlPreprocessorDef;
import org.erlide.engine.model.root.IErlElementLocator;
import org.erlide.engine.model.root.IErlModel;
import org.erlide.engine.model.root.IErlModule;
import org.erlide.engine.model.root.IErlProject;
import com.ericsson.otp.erlang.OtpErlangObject;
public interface ModelUtilService {
Object getTarget(final IContainer container, final IPath path,
final boolean checkResourceExistence);
IErlProject getProject(final IErlElement element);
IErlModule getModule(final IErlElement element);
boolean isOtpModule(final IErlModule module);
String[] getPredefinedMacroNames();
List<IErlPreprocessorDef> getAllPreprocessorDefs(final IErlModule module,
final ErlElementKind kind) throws CoreException;
List<OtpErlangObject> getImportsAsList(final IErlModule mod);
List<String> findUnitsWithPrefix(final String prefix, final IErlProject project,
final boolean checkExternals, final boolean includes)
throws ErlModelException;
IErlModule getModuleFromExternalModulePath(final IErlModel model,
final String modulePath) throws ErlModelException;
String getExternalModulePath(final IErlElementLocator model, final IErlModule module);
String getModuleInfo(IErlModule module);
}