/** * */ package org.eclipse.dltk.tcl.internal.core.packages; import org.eclipse.core.resources.IResource; import org.eclipse.core.resources.IStorage; import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.IStatus; import org.eclipse.dltk.core.IDLTKLanguageToolkit; import org.eclipse.dltk.core.IModelStatus; import org.eclipse.dltk.core.WorkingCopyOwner; import org.eclipse.dltk.core.environment.EnvironmentManager; import org.eclipse.dltk.core.environment.EnvironmentPathUtils; import org.eclipse.dltk.core.environment.IEnvironment; import org.eclipse.dltk.internal.core.ExternalSourceModule; import org.eclipse.dltk.internal.core.ModelElement; /** * Source module used in packages */ public class TclPackageSourceModule extends ExternalSourceModule { public TclPackageSourceModule(ModelElement parent, String name, WorkingCopyOwner owner, IStorage storage) { super(parent, name, owner, storage); } public IPath getPath() { IPath parentPath = getParent().getPath(); return parentPath.append(getElementName()); } public IPath getFullPath() { return getStorage().getFullPath(); } protected IPath getBufferPath() { IEnvironment environment = EnvironmentManager.getEnvironment(this); if (environment != null) { return EnvironmentPathUtils.getFullPath(environment, getStorage() .getFullPath()); } else { return getStorage().getFullPath(); } } /** * @since 2.0 */ @Override protected IStatus validateSourceModule(IDLTKLanguageToolkit toolkit, IResource resource) { return IModelStatus.VERIFIED_OK; } }