From ce25ccc1e5eb18b8b50750abfa8cc744758f490c Mon Sep 17 00:00:00 2001 From: Moritz Eysholdt Date: Thu, 7 Mar 2013 15:39:42 +0100 Subject: [PATCH] [xbase] added support for IClassFileEditorInput - Added support to load trace files for IClassFiles -> this fixes https://bugs.eclipse.org/bugs/show_bug.cgi?id=401527 Change-Id: I4dfb88fd8eeb937ddbad1469bd13a13d2224330c --- .../xtext/generator/trace/ILocationInResource.java | 10 ++++++++-- .../src/org/eclipse/xtext/generator/trace/ITrace.java | 2 +- ...eInformation.java => ITraceForStorageProvider.java} | 4 ++-- 3 files changed, 11 insertions(+), 5 deletions(-) rename plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/{ITraceInformation.java => ITraceForStorageProvider.java} (93%) 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) {