diff options
author | Manoj Palat | 2019-07-01 06:54:59 +0000 |
---|---|---|
committer | Manoj Palat | 2019-07-01 08:17:53 +0000 |
commit | 5d58390bf2fb018a53c69e075d1416a113301107 (patch) | |
tree | b6f179cf58cfb8d3615cfac6d43c7ddffd056b38 /org.eclipse.jdt.core | |
parent | ee8afd3f2611403b3beb75ba311eda4769a6da40 (diff) | |
download | eclipse.jdt.core-5d58390bf2fb018a53c69e075d1416a113301107.tar.gz eclipse.jdt.core-5d58390bf2fb018a53c69e075d1416a113301107.tar.xz eclipse.jdt.core-5d58390bf2fb018a53c69e075d1416a113301107.zip |
Bug 548811 - [compiler] Make scanner preview awareI20190702-0930I20190702-0610I20190701-1805
Change-Id: I65eeb42eec1ce42d694857913cd7e819fa53cab5
Diffstat (limited to 'org.eclipse.jdt.core')
18 files changed, 95 insertions, 34 deletions
diff --git a/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/SelectionEngine.java b/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/SelectionEngine.java index 9127dc9511..b9453c197e 100644 --- a/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/SelectionEngine.java +++ b/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/SelectionEngine.java @@ -566,7 +566,8 @@ public final class SelectionEngine extends Engine implements ISearchRequestor { this.compilerOptions.complianceLevel, null/*taskTag*/, null/*taskPriorities*/, - true /*taskCaseSensitive*/); + true /*taskCaseSensitive*/, + this.compilerOptions.enablePreviewFeatures); scanner.setSource(source); int lastIdentifierStart = -1; diff --git a/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/complete/CompletionParser.java b/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/complete/CompletionParser.java index 57de4023d1..38eaad8ce3 100644 --- a/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/complete/CompletionParser.java +++ b/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/complete/CompletionParser.java @@ -5200,7 +5200,7 @@ private void initializeForBlockStatements() { } @Override public void initializeScanner(){ - this.scanner = new CompletionScanner(this.options.sourceLevel); + this.scanner = new CompletionScanner(this.options.sourceLevel, this.options.enablePreviewFeatures); } /** * Returns whether the completion is just after an array type diff --git a/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/complete/CompletionScanner.java b/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/complete/CompletionScanner.java index 3f8a19a556..840bcae89c 100644 --- a/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/complete/CompletionScanner.java +++ b/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/complete/CompletionScanner.java @@ -46,6 +46,11 @@ public class CompletionScanner extends Scanner { public static final char[] EmptyCompletionIdentifier = {}; public CompletionScanner(long sourceLevel) { + this( + sourceLevel, + false /* previewEnabled */); +} +public CompletionScanner(long sourceLevel, boolean previewEnabled) { super( false /*comment*/, false /*whitespace*/, @@ -53,7 +58,8 @@ public CompletionScanner(long sourceLevel) { sourceLevel, null /*taskTags*/, null/*taskPriorities*/, - true/*taskCaseSensitive*/); + true/*taskCaseSensitive*/, + previewEnabled); } @Override protected boolean isAtAssistIdentifier() { diff --git a/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/select/SelectionParser.java b/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/select/SelectionParser.java index af3958b02a..d994e69986 100644 --- a/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/select/SelectionParser.java +++ b/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/select/SelectionParser.java @@ -1520,7 +1520,7 @@ protected NameReference getUnspecifiedReferenceOptimized() { } @Override public void initializeScanner(){ - this.scanner = new SelectionScanner(this.options.sourceLevel); + this.scanner = new SelectionScanner(this.options.sourceLevel, this.options.enablePreviewFeatures); } @Override public ReferenceExpression newReferenceExpression() { diff --git a/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/select/SelectionScanner.java b/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/select/SelectionScanner.java index 473da40add..2dda5ffc6e 100644 --- a/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/select/SelectionScanner.java +++ b/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/select/SelectionScanner.java @@ -31,8 +31,8 @@ public class SelectionScanner extends Scanner { * */ -public SelectionScanner(long sourceLevel) { - super(false /*comment*/, false /*whitespace*/, false /*nls*/, sourceLevel, null /*taskTags*/, null/*taskPriorities*/, true/*taskCaseSensitive*/); +public SelectionScanner(long sourceLevel, boolean previewEnabled) { + super(false /*comment*/, false /*whitespace*/, false /*nls*/, sourceLevel, null /*taskTags*/, null/*taskPriorities*/, true/*taskCaseSensitive*/, previewEnabled); } @Override diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/AbstractCommentParser.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/AbstractCommentParser.java index c05672ebda..aa8f9770e2 100644 --- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/AbstractCommentParser.java +++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/AbstractCommentParser.java @@ -105,7 +105,8 @@ public abstract class AbstractCommentParser implements JavadocTagConstants { protected AbstractCommentParser(Parser sourceParser) { this.sourceParser = sourceParser; - this.scanner = new Scanner(false, false, false, ClassFileConstants.JDK1_3, null, null, true/*taskCaseSensitive*/); + this.scanner = new Scanner(false, false, false, ClassFileConstants.JDK1_3, null, null, true/*taskCaseSensitive*/, + sourceParser != null ? this.sourceParser.options.enablePreviewFeatures : false); this.identifierStack = new char[20][]; this.identifierPositionStack = new long[20]; this.identifierLengthStack = new int[10]; diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/Parser.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/Parser.java index 27b98f0bbc..221fbe6954 100644 --- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/Parser.java +++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/Parser.java @@ -11556,7 +11556,8 @@ public void initializeScanner(){ this.options.complianceLevel /*complianceLevel*/, this.options.taskTags/*taskTags*/, this.options.taskPriorities/*taskPriorities*/, - this.options.isTaskCaseSensitive/*taskCaseSensitive*/); + this.options.isTaskCaseSensitive/*taskCaseSensitive*/, + this.options.enablePreviewFeatures /*isPreviewEnabled*/); } public void jumpOverMethodBody() { //on diet parsing.....do not buffer method statements diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/RecoveryScanner.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/RecoveryScanner.java index 4d08da2b42..7f612817c8 100644 --- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/RecoveryScanner.java +++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/RecoveryScanner.java @@ -39,7 +39,8 @@ public class RecoveryScanner extends Scanner { scanner.complianceLevel, scanner.taskTags, scanner.taskPriorities, - scanner.isTaskCaseSensitive); + scanner.isTaskCaseSensitive, + scanner.previewEnabled); setData(data); } @@ -51,6 +52,7 @@ public class RecoveryScanner extends Scanner { char[][] taskTags, char[][] taskPriorities, boolean isTaskCaseSensitive, + boolean isPreviewEnabled, RecoveryScannerData data) { super(false, tokenizeWhiteSpace, @@ -59,7 +61,8 @@ public class RecoveryScanner extends Scanner { complianceLevel, taskTags, taskPriorities, - isTaskCaseSensitive); + isTaskCaseSensitive, + isPreviewEnabled); setData(data); } diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/Scanner.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/Scanner.java index 84a0100330..a1f694c10f 100644 --- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/Scanner.java +++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/Scanner.java @@ -52,6 +52,7 @@ public class Scanner implements TerminalTokens { public boolean useAssertAsAnIndentifier = false; //flag indicating if processed source contains occurrences of keyword assert public boolean containsAssertKeyword = false; + public boolean previewEnabled; // 1.5 feature public boolean useEnumAsAnIndentifier = false; @@ -242,7 +243,8 @@ public Scanner( long complianceLevel, char[][] taskTags, char[][] taskPriorities, - boolean isTaskCaseSensitive) { + boolean isTaskCaseSensitive, + boolean isPreviewEnabled) { this.eofPosition = Integer.MAX_VALUE; this.tokenizeComments = tokenizeComments; @@ -252,6 +254,7 @@ public Scanner( this.consumingEllipsisAnnotations = false; this.complianceLevel = complianceLevel; this.checkNonExternalizedStringLiterals = checkNonExternalizedStringLiterals; + this.previewEnabled = isPreviewEnabled; if (taskTags != null) { int taskTagsLength = taskTags.length; int length = taskTagsLength; @@ -290,7 +293,8 @@ public Scanner( long sourceLevel, char[][] taskTags, char[][] taskPriorities, - boolean isTaskCaseSensitive) { + boolean isTaskCaseSensitive, + boolean isPreviewEnabled) { this( tokenizeComments, @@ -300,9 +304,30 @@ public Scanner( sourceLevel, taskTags, taskPriorities, - isTaskCaseSensitive); + isTaskCaseSensitive, + isPreviewEnabled); } +public Scanner( + boolean tokenizeComments, + boolean tokenizeWhiteSpace, + boolean checkNonExternalizedStringLiterals, + long sourceLevel, + char[][] taskTags, + char[][] taskPriorities, + boolean isTaskCaseSensitive) { + + this( + tokenizeComments, + tokenizeWhiteSpace, + checkNonExternalizedStringLiterals, + sourceLevel, + sourceLevel, + taskTags, + taskPriorities, + isTaskCaseSensitive, + false); +} public final boolean atEnd() { // This code is not relevant if source is // Only a part of the real stream input @@ -4436,8 +4461,9 @@ public static boolean isKeyword(int token) { // Vanguard Scanner - A Private utility helper class for the scanner. private static final class VanguardScanner extends Scanner { - public VanguardScanner(long sourceLevel, long complianceLevel) { - super (false /*comment*/, false /*whitespace*/, false /*nls*/, sourceLevel, complianceLevel, null/*taskTag*/, null/*taskPriorities*/, false /*taskCaseSensitive*/); + public VanguardScanner(long sourceLevel, long complianceLevel, boolean previewEnabled) { + super (false /*comment*/, false /*whitespace*/, false /*nls*/, sourceLevel, complianceLevel, null/*taskTag*/, + null/*taskPriorities*/, false /*taskCaseSensitive*/, previewEnabled); } @Override @@ -4643,7 +4669,8 @@ private class ScanContextDetector extends VanguardParser { this.options.complianceLevel /*complianceLevel*/, this.options.taskTags/*taskTags*/, this.options.taskPriorities/*taskPriorities*/, - this.options.isTaskCaseSensitive/*taskCaseSensitive*/) + this.options.isTaskCaseSensitive/*taskCaseSensitive*/, + this.options.enablePreviewFeatures /*isPreviewEnabled*/) { @Override void updateScanContext(int token) { @@ -4677,7 +4704,7 @@ private class ScanContextDetector extends VanguardParser { private VanguardParser getVanguardParser() { if (this.vanguardParser == null) { - this.vanguardScanner = new VanguardScanner(this.sourceLevel, this.complianceLevel); + this.vanguardScanner = new VanguardScanner(this.sourceLevel, this.complianceLevel, this.previewEnabled); this.vanguardParser = new VanguardParser(this.vanguardScanner); this.vanguardScanner.setActiveParser(this.vanguardParser); } diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java index 496ceb709b..56cdae73b7 100644 --- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java +++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java @@ -7757,7 +7757,8 @@ private int retrieveClosingAngleBracketPosition(int start) { char[] contents = compilationUnit.getContents(); if (contents.length == 0) return start; if (this.positionScanner == null) { - this.positionScanner = new Scanner(false, false, false, this.options.sourceLevel, this.options.complianceLevel, null, null, false); + this.positionScanner = new Scanner(false, false, false, this.options.sourceLevel, this.options.complianceLevel, null, null, false, + this.options.enablePreviewFeatures); this.positionScanner.returnOnlyGreater = true; } this.positionScanner.setSource(contents); @@ -7796,7 +7797,8 @@ private int retrieveEndingPositionAfterOpeningParenthesis(int sourceStart, int s char[] contents = compilationUnit.getContents(); if (contents.length == 0) return sourceEnd; if (this.positionScanner == null) { - this.positionScanner = new Scanner(false, false, false, this.options.sourceLevel, this.options.complianceLevel, null, null, false); + this.positionScanner = new Scanner(false, false, false, this.options.sourceLevel, this.options.complianceLevel, null, null, false, + this.options.enablePreviewFeatures); } this.positionScanner.setSource(contents); this.positionScanner.resetTo(sourceStart, sourceEnd); @@ -7825,7 +7827,8 @@ private int retrieveStartingPositionAfterOpeningParenthesis(int sourceStart, int char[] contents = compilationUnit.getContents(); if (contents.length == 0) return sourceStart; if (this.positionScanner == null) { - this.positionScanner = new Scanner(false, false, false, this.options.sourceLevel, this.options.complianceLevel, null, null, false); + this.positionScanner = new Scanner(false, false, false, this.options.sourceLevel, this.options.complianceLevel, null, null, false, + this.options.enablePreviewFeatures); } this.positionScanner.setSource(contents); this.positionScanner.resetTo(sourceStart, sourceEnd); diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/AST.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/AST.java index 78032b11ee..c4ff0314cd 100644 --- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/AST.java +++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/AST.java @@ -374,6 +374,7 @@ public final class AST { complianceLevel = sourceLevel; } ast.scanner.complianceLevel = complianceLevel; + ast.scanner.previewEnabled = JavaCore.ENABLED.equals(options.get(JavaCore.COMPILER_PB_ENABLE_PREVIEW_FEATURES)); int savedDefaultNodeFlag = ast.getDefaultNodeFlag(); ast.setDefaultNodeFlag(ASTNode.ORIGINAL); BindingResolver resolver = null; @@ -702,6 +703,7 @@ public final class AST { */ int apiLevel; + private boolean previewEnabled; /** * Tag bit value. This represents internal state of the tree. */ @@ -807,7 +809,8 @@ public final class AST { ClassFileConstants.JDK1_5 /*complianceLevel*/, null/*taskTag*/, null/*taskPriorities*/, - true/*taskCaseSensitive*/); + true/*taskCaseSensitive*/, + false/*isPreviewEnabled*/); break; case JLS4_INTERNAL : this.apiLevel = level; @@ -820,7 +823,8 @@ public final class AST { ClassFileConstants.JDK1_7 /*complianceLevel*/, null/*taskTag*/, null/*taskPriorities*/, - true/*taskCaseSensitive*/); + true/*taskCaseSensitive*/, + false/*isPreviewEnabled*/); break; case JLS8_INTERNAL : this.apiLevel = level; @@ -833,7 +837,8 @@ public final class AST { ClassFileConstants.JDK1_8 /*complianceLevel*/, null/*taskTag*/, null/*taskPriorities*/, - true/*taskCaseSensitive*/); + true/*taskCaseSensitive*/, + false/*isPreviewEnabled*/); break; case JLS9_INTERNAL : this.apiLevel = level; @@ -846,7 +851,8 @@ public final class AST { ClassFileConstants.JDK9 /*complianceLevel*/, null/*taskTag*/, null/*taskPriorities*/, - true/*taskCaseSensitive*/); + true/*taskCaseSensitive*/, + false/*isPreviewEnabled*/); break; case JLS10_INTERNAL : this.apiLevel = level; @@ -859,7 +865,8 @@ public final class AST { ClassFileConstants.JDK10 /*complianceLevel*/, null/*taskTag*/, null/*taskPriorities*/, - true/*taskCaseSensitive*/); + true/*taskCaseSensitive*/, + false/*isPreviewEnabled*/); break; case JLS11_INTERNAL : this.apiLevel = level; @@ -873,7 +880,8 @@ public final class AST { compliance /*complianceLevel*/, null/*taskTag*/, null/*taskPriorities*/, - true/*taskCaseSensitive*/); + true/*taskCaseSensitive*/, + false/*isPreviewEnabled*/); break; case JLS12_INTERNAL : this.apiLevel = level; @@ -887,7 +895,8 @@ public final class AST { compliance /*complianceLevel*/, null/*taskTag*/, null/*taskPriorities*/, - true/*taskCaseSensitive*/); + true/*taskCaseSensitive*/, + this.previewEnabled); break; default: throw new IllegalArgumentException("Unsupported JLS level"); //$NON-NLS-1$ @@ -948,7 +957,8 @@ public final class AST { complianceLevel /*complianceLevel*/, null/*taskTag*/, null/*taskPriorities*/, - true/*taskCaseSensitive*/); + true/*taskCaseSensitive*/, + JavaCore.ENABLED.equals(options.get(JavaCore.COMPILER_PB_ENABLE_PREVIEW_FEATURES))); } /** diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTConverter.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTConverter.java index aaad47f1c5..3d431e15cf 100644 --- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTConverter.java +++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTConverter.java @@ -109,7 +109,8 @@ class ASTConverter { sourceLevel /*sourceLevel*/, null /*taskTags*/, null/*taskPriorities*/, - true/*taskCaseSensitive*/); + true/*taskCaseSensitive*/, + JavaCore.ENABLED.equals(options.get(JavaCore.COMPILER_PB_ENABLE_PREVIEW_FEATURES))); this.monitor = monitor; this.insideComments = JavaCore.ENABLED.equals(options.get(JavaCore.COMPILER_DOC_COMMENT_SUPPORT)); } diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTParser.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTParser.java index c90c963674..9472e747ce 100644 --- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTParser.java +++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTParser.java @@ -1345,6 +1345,7 @@ public class ASTParser { if ((this.bits & CompilationUnitResolver.STATEMENT_RECOVERY) != 0) { ast.setFlag(ICompilationUnit.ENABLE_STATEMENTS_RECOVERY); } + ast.scanner.previewEnabled = JavaCore.ENABLED.equals(this.compilerOptions.get(JavaCore.COMPILER_PB_ENABLE_PREVIEW_FEATURES)); converter.setAST(ast); CodeSnippetParsingUtil codeSnippetParsingUtil = new CodeSnippetParsingUtil((this.bits & CompilationUnitResolver.IGNORE_METHOD_BODIES) != 0); CompilationUnit compilationUnit = ast.newCompilationUnit(); diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteAnalyzer.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteAnalyzer.java index ba2e0eeab0..9dd5439f1d 100644 --- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteAnalyzer.java +++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteAnalyzer.java @@ -219,7 +219,8 @@ public final class ASTRewriteAnalyzer extends ASTVisitor { compilerOptions.complianceLevel, null/*taskTags*/, null/*taskPriorities*/, - true/*taskCaseSensitive*/); + true/*taskCaseSensitive*/, + compilerOptions.enablePreviewFeatures/*isPreviewEnabled*/); } else { scanner = new RecoveryScanner( @@ -230,6 +231,7 @@ public final class ASTRewriteAnalyzer extends ASTVisitor { null/*taskTags*/, null/*taskPriorities*/, true/*taskCaseSensitive*/, + compilerOptions.enablePreviewFeatures/*isPreviewEnabled*/, this.recoveryScannerData); } scanner.setSource(this.content); diff --git a/org.eclipse.jdt.core/formatter/org/eclipse/jdt/internal/formatter/DefaultCodeFormatter.java b/org.eclipse.jdt.core/formatter/org/eclipse/jdt/internal/formatter/DefaultCodeFormatter.java index f4267e7df2..4c6e9470f3 100644 --- a/org.eclipse.jdt.core/formatter/org/eclipse/jdt/internal/formatter/DefaultCodeFormatter.java +++ b/org.eclipse.jdt.core/formatter/org/eclipse/jdt/internal/formatter/DefaultCodeFormatter.java @@ -95,6 +95,7 @@ public class DefaultCodeFormatter extends CodeFormatter { private Object oldCommentFormatOption; private String sourceLevel; + public boolean previewEnabled; private String sourceString; char[] sourceArray; @@ -127,6 +128,7 @@ public class DefaultCodeFormatter extends CodeFormatter { this.oldCommentFormatOption = getOldCommentFormatOption(options); String compilerSource = options.get(CompilerOptions.OPTION_Source); this.sourceLevel = compilerSource != null ? compilerSource : CompilerOptions.VERSION_12; + this.previewEnabled = JavaCore.ENABLED.equals(options.get(JavaCore.COMPILER_PB_ENABLE_PREVIEW_FEATURES)); } else { Map<String, String> settings = DefaultCodeFormatterConstants.getJavaConventionsSettings(); this.originalOptions = new DefaultCodeFormatterOptions(settings); @@ -388,7 +390,7 @@ public class DefaultCodeFormatter extends CodeFormatter { private void tokenizeSource(int kind) { this.tokens.clear(); Scanner scanner = new Scanner(true, false, false/* nls */, CompilerOptions.versionToJdkLevel(this.sourceLevel), - null/* taskTags */, null/* taskPriorities */, false/* taskCaseSensitive */); + null/* taskTags */, null/* taskPriorities */, false/* taskCaseSensitive */, this.previewEnabled); scanner.setSource(this.sourceArray); scanner.fakeInModule = (kind & K_MODULE_INFO) != 0; while (true) { diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/CorrectionEngine.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/CorrectionEngine.java index d21b9bbb1b..d1caa2ecb8 100644 --- a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/CorrectionEngine.java +++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/CorrectionEngine.java @@ -252,7 +252,8 @@ public class CorrectionEngine { complianceLevel, null/*taskTag*/, null/*taskPriorities*/, - true /*taskCaseSensitive*/); + true /*taskCaseSensitive*/, + JavaCore.ENABLED.equals(currentProjectOptions.get(JavaCore.COMPILER_PB_ENABLE_PREVIEW_FEATURES))); scanner.setSource(source.toCharArray()); scanner.resetTo(this.correctionStart, this.correctionEnd); diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/InternalNamingConventions.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/InternalNamingConventions.java index bcb3bbeb95..36b3f1d7e2 100644 --- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/InternalNamingConventions.java +++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/InternalNamingConventions.java @@ -38,7 +38,8 @@ public class InternalNamingConventions { compilerOptions.sourceLevel /*sourceLevel*/, null /*taskTags*/, null/*taskPriorities*/, - true/*taskCaseSensitive*/); + true/*taskCaseSensitive*/, + compilerOptions.enablePreviewFeatures); } private static void acceptName( diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/CommentRecorderParser.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/CommentRecorderParser.java index 48f9140974..20582f6b23 100644 --- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/CommentRecorderParser.java +++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/CommentRecorderParser.java @@ -273,7 +273,8 @@ public class CommentRecorderParser extends Parser { this.options.sourceLevel /*sourceLevel*/, this.options.taskTags/*taskTags*/, this.options.taskPriorities/*taskPriorities*/, - this.options.isTaskCaseSensitive/*taskCaseSensitive*/); + this.options.isTaskCaseSensitive/*taskCaseSensitive*/, + this.options.enablePreviewFeatures /*isPreviewEnabled*/); } /* |