Bug 543781: [12][quick fix] Add quick fix to change project compliance
and JRE to 12
Change-Id: Ia6eabecdaa8664025da539c28c30e2bc75a6a6a6
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/PreviewFeaturesSubProcessor.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/PreviewFeaturesSubProcessor.java
index 59f326e..76520c4 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/PreviewFeaturesSubProcessor.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/PreviewFeaturesSubProcessor.java
@@ -45,6 +45,7 @@
import org.eclipse.jdt.ui.JavaElementLabels;
import org.eclipse.jdt.ui.text.java.IInvocationContext;
+import org.eclipse.jdt.ui.text.java.IProblemLocation;
import org.eclipse.jdt.ui.text.java.correction.ChangeCorrectionProposal;
import org.eclipse.jdt.ui.text.java.correction.ICommandAccess;
@@ -221,4 +222,14 @@
}
}
+ public static void getNeedHigherComplianceProposals(IInvocationContext context, IProblemLocation problem, Collection<ICommandAccess> proposals) {
+ String[] args= problem.getProblemArguments();
+ if (args != null && args.length > 0) {
+ String arg= args[1];
+ if (arg == "12") { //$NON-NLS-1$
+ String version= JavaCore.VERSION_12;
+ ReorgCorrectionsSubProcessor.getNeedHigherComplianceProposals(context, problem, proposals, version);
+ }
+ }
+ }
}
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/QuickFixProcessor.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/QuickFixProcessor.java
index 2c063f9..801d513 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/QuickFixProcessor.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/QuickFixProcessor.java
@@ -301,6 +301,7 @@
case IProblem.ProviderMethodOrConstructorRequiredForServiceImpl:
case IProblem.ServiceImplDefaultConstructorNotPublic:
case IProblem.PreviewFeatureDisabled:
+ case IProblem.PreviewFeatureNotSupported:
return true;
default:
return SuppressWarningsSubProcessor.hasSuppressWarningsProposal(cu.getJavaProject(), problemId)
@@ -846,6 +847,9 @@
PreviewFeaturesSubProcessor.getEnablePreviewFeaturesProposal(context, proposals);
PreviewFeaturesSubProcessor.getOpenCompliancePageToEnablePreviewFeaturesProposal(context, proposals);
break;
+ case IProblem.PreviewFeatureNotSupported:
+ PreviewFeaturesSubProcessor.getNeedHigherComplianceProposals(context, problem, proposals);
+ break;
default:
}
if (JavaModelUtil.is50OrHigher(context.getCompilationUnit().getJavaProject())) {