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.CrossProjectPhasedUnit;
import com.redhat.ceylon.eclipse.core.typechecker.ProjectPhasedUnit;
public class CrossProjectSourceFile extends ExternalSourceFile implements ICrossProjectReference, IResourceAware {
public CrossProjectSourceFile(CrossProjectPhasedUnit phasedUnit) {
super(phasedUnit);
}
@Override
public IProject getResourceProject() {
ProjectPhasedUnit ppu = getPhasedUnit().getOriginalProjectPhasedUnit();
return ppu != null ? ppu.getResourceProject() : null;
}
@Override
public IFolder getResourceRootFolder() {
ProjectPhasedUnit ppu = getPhasedUnit().getOriginalProjectPhasedUnit();
return ppu != null ? ppu.getResourceRootFolder() : null;
}
@Override
public IFile getResourceFile() {
ProjectPhasedUnit ppu = getPhasedUnit().getOriginalProjectPhasedUnit();
return ppu != null ? ppu.getResourceFile() : null;
}
@Override
public CrossProjectPhasedUnit getPhasedUnit() {
return (CrossProjectPhasedUnit) super.getPhasedUnit();
}
public ProjectSourceFile getOriginalSourceFile() {
ProjectPhasedUnit ppu = getOriginalPhasedUnit();
return ppu != null ? (ProjectSourceFile) ppu.getUnit() : null;
}
@Override
public ProjectPhasedUnit getOriginalPhasedUnit() {
return getPhasedUnit().getOriginalProjectPhasedUnit();
}
}