diff options
| author | Dani Megert | 2013-10-04 09:05:35 +0000 |
|---|---|---|
| committer | Dani Megert | 2013-10-04 09:05:35 +0000 |
| commit | 1e44752114c5de9f461d2166f3b4b6ee5c643bd5 (patch) | |
| tree | 82064aff62cb8e430b1e904031bc24855029ca50 | |
| parent | f7e1215a01c76d0dc95ddcdbb95590ac7cf28a99 (diff) | |
| download | eclipse.pde.ui-1e44752114c5de9f461d2166f3b4b6ee5c643bd5.tar.gz eclipse.pde.ui-1e44752114c5de9f461d2166f3b4b6ee5c643bd5.tar.xz eclipse.pde.ui-1e44752114c5de9f461d2166f3b4b6ee5c643bd5.zip | |
Fixed bug 418591: Exception on each Quick Fix invocationI20131015-0800I20131009-0430I20131008-2330
| -rw-r--r-- | apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/ApiQuickFixProcessor.java | 71 |
1 files changed, 42 insertions, 29 deletions
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/ApiQuickFixProcessor.java b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/ApiQuickFixProcessor.java index b958bc72b9..9ca8a40b76 100644 --- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/ApiQuickFixProcessor.java +++ b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/ApiQuickFixProcessor.java @@ -16,50 +16,60 @@ import java.util.ArrayList; import java.util.List; import java.util.Properties; -import org.eclipse.core.filebuffers.FileBuffers; -import org.eclipse.core.filebuffers.ITextFileBuffer; -import org.eclipse.core.filebuffers.ITextFileBufferManager; -import org.eclipse.core.filebuffers.LocationKind; -import org.eclipse.core.resources.IFile; -import org.eclipse.core.resources.IProject; +import org.eclipse.osgi.util.NLS; +import org.eclipse.osgi.util.TextProcessor; +import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin; +import org.eclipse.pde.api.tools.internal.util.Signatures; +import org.eclipse.pde.api.tools.ui.internal.ApiUIPlugin; +import org.eclipse.pde.api.tools.ui.internal.IApiToolsConstants; +import org.eclipse.pde.api.tools.ui.internal.refactoring.CreateFileChange; + +import org.eclipse.swt.graphics.Image; +import org.eclipse.swt.graphics.Point; + import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; import org.eclipse.core.runtime.jobs.Job; -import org.eclipse.jdt.core.ICompilationUnit; -import org.eclipse.jdt.core.Signature; -import org.eclipse.jdt.core.compiler.IProblem; -import org.eclipse.jdt.core.dom.rewrite.ImportRewrite; -import org.eclipse.jdt.core.refactoring.CompilationUnitChange; -import org.eclipse.jdt.ui.CodeStyleConfiguration; -import org.eclipse.jdt.ui.text.java.IInvocationContext; -import org.eclipse.jdt.ui.text.java.IJavaCompletionProposal; -import org.eclipse.jdt.ui.text.java.IProblemLocation; -import org.eclipse.jdt.ui.text.java.IQuickFixProcessor; + +import org.eclipse.core.resources.IFile; +import org.eclipse.core.resources.IProject; + +import org.eclipse.core.filebuffers.FileBuffers; +import org.eclipse.core.filebuffers.ITextFileBuffer; +import org.eclipse.core.filebuffers.ITextFileBufferManager; +import org.eclipse.core.filebuffers.LocationKind; + +import org.eclipse.text.edits.InsertEdit; +import org.eclipse.text.edits.MultiTextEdit; + import org.eclipse.jface.text.BadLocationException; import org.eclipse.jface.text.FindReplaceDocumentAdapter; import org.eclipse.jface.text.IDocument; import org.eclipse.jface.text.IRegion; import org.eclipse.jface.text.TextUtilities; import org.eclipse.jface.text.contentassist.IContextInformation; + +import org.eclipse.ui.progress.UIJob; + import org.eclipse.ltk.core.refactoring.Change; import org.eclipse.ltk.core.refactoring.CompositeChange; import org.eclipse.ltk.core.refactoring.NullChange; import org.eclipse.ltk.core.refactoring.TextFileChange; -import org.eclipse.osgi.util.NLS; -import org.eclipse.osgi.util.TextProcessor; -import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin; -import org.eclipse.pde.api.tools.internal.util.Signatures; -import org.eclipse.pde.api.tools.ui.internal.ApiUIPlugin; -import org.eclipse.pde.api.tools.ui.internal.IApiToolsConstants; -import org.eclipse.pde.api.tools.ui.internal.refactoring.CreateFileChange; -import org.eclipse.swt.graphics.Image; -import org.eclipse.swt.graphics.Point; -import org.eclipse.text.edits.InsertEdit; -import org.eclipse.text.edits.MultiTextEdit; -import org.eclipse.ui.progress.UIJob; + +import org.eclipse.jdt.core.ICompilationUnit; +import org.eclipse.jdt.core.Signature; +import org.eclipse.jdt.core.compiler.IProblem; +import org.eclipse.jdt.core.dom.rewrite.ImportRewrite; +import org.eclipse.jdt.core.refactoring.CompilationUnitChange; + +import org.eclipse.jdt.ui.CodeStyleConfiguration; +import org.eclipse.jdt.ui.text.java.IInvocationContext; +import org.eclipse.jdt.ui.text.java.IJavaCompletionProposal; +import org.eclipse.jdt.ui.text.java.IProblemLocation; +import org.eclipse.jdt.ui.text.java.IQuickFixProcessor; /** * Default quick fix processor for API tools @@ -156,6 +166,9 @@ public class ApiQuickFixProcessor implements IQuickFixProcessor { List<IJavaCompletionProposal> proposals = new ArrayList<IJavaCompletionProposal>(); ICompilationUnit unit = context.getCompilationUnit(); IProject project = unit.getJavaProject().getProject(); + if (!project.hasNature(ApiPlugin.NATURE_ID)) { + return new IJavaCompletionProposal[0]; + } IFile build = project.getFile("build.properties"); //$NON-NLS-1$ if (needsBuildPropertiesChange(build)) { for (int i = 0; i < locations.length; i++) { @@ -246,7 +259,7 @@ public class ApiQuickFixProcessor implements IQuickFixProcessor { } public static boolean needsBuildPropertiesChange(IFile file) { - if (file != null) { + if (file.exists()) { Properties props = new Properties(); InputStream stream = null; try { |
