package com.redhat.ceylon.eclipse.core.model;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IFolder;
import org.eclipse.core.resources.IProject;
import com.redhat.ceylon.eclipse.core.typechecker.EditedPhasedUnit;
import com.redhat.ceylon.eclipse.core.typechecker.ProjectPhasedUnit;
public class EditedSourceFile extends ModifiableSourceFile {
public EditedSourceFile(EditedPhasedUnit phasedUnit) {
super(phasedUnit);
}
@Override
public EditedPhasedUnit getPhasedUnit() {
return (EditedPhasedUnit) super.getPhasedUnit();
}
public ProjectSourceFile getOriginalSourceFile() {
final EditedPhasedUnit pu = getPhasedUnit();
ProjectPhasedUnit originalPhasedUnit = pu==null ? null : pu.getOriginalPhasedUnit();
return originalPhasedUnit == null ? null : (ProjectSourceFile) originalPhasedUnit.getUnit();
}
@Override
public IProject getResourceProject() {
EditedPhasedUnit pu = getPhasedUnit();
return pu==null ? null : pu.getResourceProject();
}
@Override
public IFile getResourceFile() {
EditedPhasedUnit pu = getPhasedUnit();
return pu==null ? null : pu.getResourceFile();
}
@Override
public IFolder getResourceRootFolder() {
EditedPhasedUnit pu = getPhasedUnit();
return pu==null ? null : pu.getResourceRootFolder();
}
}