diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/ILocationInResource.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/ILocationInResource.java index 35acf74d7..10996f45c 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/ILocationInResource.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/ILocationInResource.java @@ -7,8 +7,11 @@ *******************************************************************************/ package org.eclipse.xtext.generator.trace; +import java.io.InputStream; + import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IStorage; +import org.eclipse.core.runtime.CoreException; import org.eclipse.emf.common.util.URI; import org.eclipse.jdt.annotation.NonNull; import org.eclipse.jdt.annotation.Nullable; @@ -44,9 +47,12 @@ public interface ILocationInResource { @Nullable URI getEObjectURI(); /** - * @return the storage handle for this location. Never null. + * @return the storage handle for this location. This can be null if the trace comes from a JAR's + * source attachment zip file. */ - @NonNull IStorage getStorage(); + @Nullable IStorage getStorage(); + + @NonNull InputStream getContents() throws CoreException; /** * @return the project for this location. Never null. diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/ITrace.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/ITrace.java index 8951b59d6..8bcdddfda 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/ITrace.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/ITrace.java @@ -64,7 +64,7 @@ public interface ITrace { * Returns the storage that is associated with this trace. * @return the associated storage. Never null. */ - IStorage getLocalStorage(); +// IStorage getLocalStorage(); // /** // * Returns all available inverse trace information. diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/ITraceInformation.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/ITraceForStorageProvider.java similarity index 93% rename from plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/ITraceInformation.java rename to plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/ITraceForStorageProvider.java index a8672c069..100c56ac0 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/ITraceInformation.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/ITraceForStorageProvider.java @@ -20,7 +20,7 @@ import org.eclipse.jdt.annotation.Nullable; * @since 2.3 */ @NonNullByDefault -public interface ITraceInformation { +public interface ITraceForStorageProvider { // ITraceForStorageProvider // ITraceFor /** * Returns the trace information to the sources that were used as input for the given derived resource. @@ -38,7 +38,7 @@ public interface ITraceInformation { */ @Nullable ITrace getTraceToTarget(IStorage sourceResource); - class Null implements ITraceInformation { + class Null implements ITraceForStorageProvider { @Nullable public ITrace getTraceToSource(IStorage derivedResource) {