Skip to content

Commit 392a56b

Browse files
authored
Fix comment validation errors when Eclipse starts up (#2684)
* Fix comment validation errors when Eclipse starts up - fix TokenScanner to add markdown comment token for isComment() method - fix CodeTemplateContextType.isValidComment() to set up a Scanner with JDK 23 so markdown comment templates will be properly parsed - add missing JavadocQuickFixTest25 to test suite - fixes #2679
1 parent e86f2a2 commit 392a56b

3 files changed

Lines changed: 11 additions & 11 deletions

File tree

org.eclipse.jdt.core.manipulation/common/org/eclipse/jdt/internal/core/manipulation/CodeTemplateContextType.java

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -248,38 +248,38 @@ public CodeTemplateContextType(String contextName) {
248248
addResolver(new CodeTemplateVariableResolver(TYPENAME, JavaManipulationMessages.CodeTemplateContextType_variable_description_typename));
249249
addCompilationUnitVariables();
250250
break;
251-
case TYPECOMMENT_CONTEXTTYPE:
252251
case MARKDOWNTYPECOMMENT_CONTEXTTYPE:
252+
case TYPECOMMENT_CONTEXTTYPE:
253253
addResolver(new CodeTemplateVariableResolver(TYPENAME, JavaManipulationMessages.CodeTemplateContextType_variable_description_typename));
254254
addResolver(new CodeTemplateVariableResolver(ENCLOSING_TYPE, JavaManipulationMessages.CodeTemplateContextType_variable_description_enclosingtype));
255255
addResolver(new TagsVariableResolver());
256256
addCompilationUnitVariables();
257257
fIsComment= true;
258258
break;
259-
case FILECOMMENT_CONTEXTTYPE:
260259
case MARKDOWNFILECOMMENT_CONTEXTTYPE:
260+
case FILECOMMENT_CONTEXTTYPE:
261261
addResolver(new CodeTemplateVariableResolver(TYPENAME, JavaManipulationMessages.CodeTemplateContextType_variable_description_typename));
262262
addCompilationUnitVariables();
263263
fIsComment= true;
264264
break;
265-
case FIELDCOMMENT_CONTEXTTYPE:
266265
case MARKDOWNFIELDCOMMENT_CONTEXTTYPE:
266+
case FIELDCOMMENT_CONTEXTTYPE:
267267
addResolver(new CodeTemplateVariableResolver(FIELD_TYPE, JavaManipulationMessages.CodeTemplateContextType_variable_description_fieldtype));
268268
addResolver(new CodeTemplateVariableResolver(FIELD, JavaManipulationMessages.CodeTemplateContextType_variable_description_fieldname));
269269
addCompilationUnitVariables();
270270
fIsComment= true;
271271
break;
272-
case METHODCOMMENT_CONTEXTTYPE:
273272
case MARKDOWNMETHODCOMMENT_CONTEXTTYPE:
273+
case METHODCOMMENT_CONTEXTTYPE:
274274
addResolver(new CodeTemplateVariableResolver(ENCLOSING_TYPE, JavaManipulationMessages.CodeTemplateContextType_variable_description_enclosingtype));
275275
addResolver(new CodeTemplateVariableResolver(ENCLOSING_METHOD, JavaManipulationMessages.CodeTemplateContextType_variable_description_enclosingmethod));
276276
addResolver(new CodeTemplateVariableResolver(RETURN_TYPE, JavaManipulationMessages.CodeTemplateContextType_variable_description_returntype));
277277
addResolver(new TagsVariableResolver());
278278
addCompilationUnitVariables();
279279
fIsComment= true;
280280
break;
281-
case MODULECOMMENT_CONTEXTTYPE:
282281
case MARKDOWNMODULECOMMENT_CONTEXTTYPE:
282+
case MODULECOMMENT_CONTEXTTYPE:
283283
addResolver(new CodeTemplateVariableResolver(ENCLOSING_MODULE, JavaManipulationMessages.CodeTemplateContextType_variable_description_enclosingmodule));
284284
addResolver(new TagsVariableResolver());
285285
addCompilationUnitVariables();
@@ -293,24 +293,24 @@ public CodeTemplateContextType(String contextName) {
293293
addCompilationUnitVariables();
294294
fIsComment= true;
295295
break;
296-
case DELEGATECOMMENT_CONTEXTTYPE:
297296
case MARKDOWNDELEGATECOMMENT_CONTEXTTYPE:
297+
case DELEGATECOMMENT_CONTEXTTYPE:
298298
addResolver(new CodeTemplateVariableResolver(ENCLOSING_TYPE, JavaManipulationMessages.CodeTemplateContextType_variable_description_enclosingtype));
299299
addResolver(new CodeTemplateVariableResolver(ENCLOSING_METHOD, JavaManipulationMessages.CodeTemplateContextType_variable_description_enclosingmethod));
300300
addResolver(new CodeTemplateVariableResolver(SEE_TO_TARGET_TAG, JavaManipulationMessages.CodeTemplateContextType_variable_description_see_target_tag));
301301
addResolver(new TagsVariableResolver());
302302
addCompilationUnitVariables();
303303
fIsComment= true;
304304
break;
305-
case CONSTRUCTORCOMMENT_CONTEXTTYPE:
306305
case MARKDOWNCONSTRUCTORCOMMENT_CONTEXTTYPE:
306+
case CONSTRUCTORCOMMENT_CONTEXTTYPE:
307307
addResolver(new CodeTemplateVariableResolver(ENCLOSING_TYPE, JavaManipulationMessages.CodeTemplateContextType_variable_description_enclosingtype));
308308
addResolver(new TagsVariableResolver());
309309
addCompilationUnitVariables();
310310
fIsComment= true;
311311
break;
312-
case GETTERCOMMENT_CONTEXTTYPE:
313312
case MARKDOWNGETTERCOMMENT_CONTEXTTYPE:
313+
case GETTERCOMMENT_CONTEXTTYPE:
314314
addResolver(new CodeTemplateVariableResolver(ENCLOSING_TYPE, JavaManipulationMessages.CodeTemplateContextType_variable_description_enclosingtype));
315315
addResolver(new CodeTemplateVariableResolver(FIELD_TYPE, JavaManipulationMessages.CodeTemplateContextType_variable_description_getterfieldtype));
316316
addResolver(new CodeTemplateVariableResolver(FIELD, JavaManipulationMessages.CodeTemplateContextType_variable_description_getterfieldname));
@@ -319,8 +319,8 @@ public CodeTemplateContextType(String contextName) {
319319
addCompilationUnitVariables();
320320
fIsComment= true;
321321
break;
322-
case SETTERCOMMENT_CONTEXTTYPE:
323322
case MARKDOWNSETTERCOMMENT_CONTEXTTYPE:
323+
case SETTERCOMMENT_CONTEXTTYPE:
324324
addResolver(new CodeTemplateVariableResolver(ENCLOSING_TYPE, JavaManipulationMessages.CodeTemplateContextType_variable_description_enclosingtype));
325325
addResolver(new CodeTemplateVariableResolver(FIELD_TYPE, JavaManipulationMessages.CodeTemplateContextType_variable_description_getterfieldtype));
326326
addResolver(new CodeTemplateVariableResolver(FIELD, JavaManipulationMessages.CodeTemplateContextType_variable_description_getterfieldname));
@@ -418,7 +418,6 @@ public void validate(String pattern) throws TemplateException {
418418
}
419419
}
420420

421-
422421
private boolean isValidComment(String template) {
423422
IScanner scanner= ToolFactory.createScanner(true, false, false, false);
424423
scanner.setSource(template.toCharArray());

org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/dom/TokenScanner.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -428,7 +428,7 @@ public int getLineEnd(int line) throws CoreException {
428428

429429
public static boolean isComment(int token) {
430430
return token == ITerminalSymbols.TokenNameCOMMENT_BLOCK || token == ITerminalSymbols.TokenNameCOMMENT_JAVADOC
431-
|| token == ITerminalSymbols.TokenNameCOMMENT_LINE;
431+
|| token == ITerminalSymbols.TokenNameCOMMENT_LINE || token == ITerminalSymbols.TokenNameCOMMENT_MARKDOWN;
432432
}
433433

434434
public static boolean isModifier(int token) {

org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/QuickFixTestSuite.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@
5858
JavadocQuickFixTest.class,
5959
JavadocQuickFixTest9.class,
6060
JavadocQuickFixTest16.class,
61+
JavadocQuickFixTest25.class,
6162
ConvertForLoopQuickFixTest.class,
6263
ConvertIterableLoopQuickFixTest.class,
6364
ConvertIterableLoopQuickFixTest1d7.class,

0 commit comments

Comments
 (0)