Bug 522022: [9][create on paste] paste into package explorer should
understand module-info.java
fix when no project is selected in Package Explorer - ASTParser resets
to defaults
Change-Id: Icb8b8153a5b3d52094f538e565ab7cfd48ff456f
diff --git a/org.eclipse.jdt.ui/ui refactoring/org/eclipse/jdt/internal/ui/refactoring/reorg/PasteAction.java b/org.eclipse.jdt.ui/ui refactoring/org/eclipse/jdt/internal/ui/refactoring/reorg/PasteAction.java
index ed26187..dccf2d5 100644
--- a/org.eclipse.jdt.ui/ui refactoring/org/eclipse/jdt/internal/ui/refactoring/reorg/PasteAction.java
+++ b/org.eclipse.jdt.ui/ui refactoring/org/eclipse/jdt/internal/ui/refactoring/reorg/PasteAction.java
@@ -381,15 +381,19 @@
if (unit.types().size() > 0)
return parseAsTypes(text, unit);
- parser.setProject(javaProject);
+ if (javaProject != null) {
+ parser.setProject(javaProject);
+ } else if (compilerCompliance != null) {
+ Map<String, String> options= JavaCore.getOptions();
+ JavaModelUtil.setComplianceOptions(options, compilerCompliance);
+ parser.setCompilerOptions(options);
+ }
parser.setSource(text.toCharArray());
parser.setStatementsRecovery(true);
parser.setUnitName(JavaModelUtil.MODULE_INFO_JAVA);
unit= (CompilationUnit) parser.createAST(null);
if (unit.getModule() != null) {
return Collections.singletonList(new ParsedCu(text, ASTParser.K_COMPILATION_UNIT, null, null, true));
- } else {
- parser.setUnitName(null);
}
parser.setProject(javaProject);