package org.xpect.xtext.lib.setup.generic; import java.io.IOException; import java.io.InputStream; import org.eclipse.emf.common.util.URI; import org.eclipse.xtext.util.StringInputStream; import org.xpect.xtext.lib.setup.FileSetupContext; public class ThisFile extends File { public ThisFile() { super(); } public ThisFile(String name) { super(name); } public InputStream getContents(FileSetupContext ctx) throws IOException { if (getFrom() != null) return super.getContents(ctx); return new StringInputStream(ctx.getXpectFile().getDocument()); } @Override public URI getLocalURI(FileSetupContext ctx) { URI localURI = super.getLocalURI(ctx); if (localURI != null) return localURI; return URI.createURI(ctx.getXpectFileURI().lastSegment()); } }