From b751b9e2e04342d4a9efd0c8a51dd72a40a97bd6 Mon Sep 17 00:00:00 2001 From: Sebastian Zarnekow Date: Wed, 20 May 2020 17:11:07 +0200 Subject: [PATCH] [#1499] Enable JavaDoc validation on org.eclipse.xtext (#1500) closes #1499 --- .../NamesAreUniqueValidationHelperTest.java | 22 ++++++++++--------- .../.settings/org.eclipse.jdt.core.prefs | 14 ++++++++++++ ...faultDeclarativeQualifiedNameProvider.java | 2 +- .../ISemanticSequencerDiagnosticProvider.java | 1 + .../INamesAreUniqueValidationHelper.java | 6 ++--- .../NamesAreUniqueValidationHelper.java | 4 ++-- 6 files changed, 33 insertions(+), 16 deletions(-) diff --git a/org.eclipse.xtext.tests/src/org/eclipse/xtext/validation/NamesAreUniqueValidationHelperTest.java b/org.eclipse.xtext.tests/src/org/eclipse/xtext/validation/NamesAreUniqueValidationHelperTest.java index 610307926..60d3a5798 100644 --- a/org.eclipse.xtext.tests/src/org/eclipse/xtext/validation/NamesAreUniqueValidationHelperTest.java +++ b/org.eclipse.xtext.tests/src/org/eclipse/xtext/validation/NamesAreUniqueValidationHelperTest.java @@ -41,6 +41,8 @@ import com.google.common.collect.Lists; @FixMethodOrder(MethodSorters.NAME_ASCENDING) public class NamesAreUniqueValidationHelperTest extends AbstractValidationMessageAcceptingTestCase implements CancelIndicator { + private static final int MANY = 10_000; + private NamesAreUniqueValidationHelper helper; private int callCount; private int maxCallCount; @@ -363,7 +365,7 @@ public class NamesAreUniqueValidationHelperTest extends AbstractValidationMessag @SuppressWarnings("deprecation") @Test public void testManyUnique() { List elements = new ArrayList<>(); - for(int i = 0; i < 1_000_000; i++) { + for(int i = 0; i < MANY; i++) { EClass c = createEClass(); c.setName("i" + i); elements.add(c); @@ -376,7 +378,7 @@ public class NamesAreUniqueValidationHelperTest extends AbstractValidationMessag @Test public void testManyUnique_context() { List elements = new ArrayList<>(); - for(int i = 0; i < 1_000_000; i++) { + for(int i = 0; i < MANY; i++) { EClass c = createEClass(); c.setName("i" + i); elements.add(c); @@ -389,9 +391,9 @@ public class NamesAreUniqueValidationHelperTest extends AbstractValidationMessag @SuppressWarnings("deprecation") @Test public void testManyOneDup() { List elements = new ArrayList<>(); - for(int i = 0; i < 100_000; i++) { + for(int i = 0; i < MANY; i++) { EClass c = createEClass(); - if (i == 99_999) { + if (i == MANY - 1) { c.setName("i1234"); } else { c.setName("i" + i); @@ -400,7 +402,7 @@ public class NamesAreUniqueValidationHelperTest extends AbstractValidationMessag } maxCallCount = 0; expected.add(elements.get(1_234)); - expected.add(elements.get(99_999)); + expected.add(elements.get(MANY - 1)); helper.checkUniqueNames( Scopes.scopedElementsFor(elements), this, this); @@ -408,9 +410,9 @@ public class NamesAreUniqueValidationHelperTest extends AbstractValidationMessag @Test public void testManyOneDup_context() { List elements = new ArrayList<>(); - for(int i = 0; i < 100_000; i++) { + for(int i = 0; i < MANY; i++) { EClass c = createEClass(); - if (i == 99_999) { + if (i == MANY - 1) { c.setName("i1234"); } else { c.setName("i" + i); @@ -419,7 +421,7 @@ public class NamesAreUniqueValidationHelperTest extends AbstractValidationMessag } maxCallCount = 0; expected.add(elements.get(1_234)); - expected.add(elements.get(99_999)); + expected.add(elements.get(MANY - 1)); helper.checkUniqueNames( new LocalUniqueNameContext(elements, this), this); } @@ -427,7 +429,7 @@ public class NamesAreUniqueValidationHelperTest extends AbstractValidationMessag @SuppressWarnings("deprecation") @Test public void testManyManyDup() { List elements = new ArrayList<>(); - for(int i = 0, j = 0; i < 100_000; i++) { + for(int i = 0, j = 0; i < MANY; i++) { if (i % 100 == 0) { j++; } @@ -444,7 +446,7 @@ public class NamesAreUniqueValidationHelperTest extends AbstractValidationMessag @Test public void testManyManyDup_context() { List elements = new ArrayList<>(); - for(int i = 0, j = 0; i < 100_000; i++) { + for(int i = 0, j = 0; i < MANY; i++) { if (i % 100 == 0) { j++; } diff --git a/org.eclipse.xtext/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.xtext/.settings/org.eclipse.jdt.core.prefs index 358b1563d..ea7194f4a 100644 --- a/org.eclipse.xtext/.settings/org.eclipse.jdt.core.prefs +++ b/org.eclipse.xtext/.settings/org.eclipse.jdt.core.prefs @@ -1,6 +1,20 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.doc.comment.support=enabled +org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error +org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private +org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled +org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public +org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags +org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled +org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled +org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public org.eclipse.jdt.core.compiler.source=1.8 org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false diff --git a/org.eclipse.xtext/src/org/eclipse/xtext/naming/DefaultDeclarativeQualifiedNameProvider.java b/org.eclipse.xtext/src/org/eclipse/xtext/naming/DefaultDeclarativeQualifiedNameProvider.java index b6620b66e..ac0500d87 100644 --- a/org.eclipse.xtext/src/org/eclipse/xtext/naming/DefaultDeclarativeQualifiedNameProvider.java +++ b/org.eclipse.xtext/src/org/eclipse/xtext/naming/DefaultDeclarativeQualifiedNameProvider.java @@ -69,7 +69,7 @@ public class DefaultDeclarativeQualifiedNameProvider extends IQualifiedNameProvi * Tries to obtain the FQN of the given object from the {@link #cache}. If it is absent, * it computes a new name. * - * @see #computeFullyQualifiedName(EObject). + * @see #computeFullyQualifiedName(EObject) * @since 2.15 */ protected QualifiedName getOrComputeFullyQualifiedName(final EObject obj) { diff --git a/org.eclipse.xtext/src/org/eclipse/xtext/serializer/diagnostic/ISemanticSequencerDiagnosticProvider.java b/org.eclipse.xtext/src/org/eclipse/xtext/serializer/diagnostic/ISemanticSequencerDiagnosticProvider.java index 1fecd1b4a..de193ba2e 100644 --- a/org.eclipse.xtext/src/org/eclipse/xtext/serializer/diagnostic/ISemanticSequencerDiagnosticProvider.java +++ b/org.eclipse.xtext/src/org/eclipse/xtext/serializer/diagnostic/ISemanticSequencerDiagnosticProvider.java @@ -14,6 +14,7 @@ import org.eclipse.xtext.serializer.ISerializationContext; import org.eclipse.xtext.serializer.analysis.IGrammarConstraintProvider; import org.eclipse.xtext.serializer.analysis.IGrammarConstraintProvider.IConstraint; import org.eclipse.xtext.serializer.analysis.ISemanticSequencerNfaProvider.ISemState; +import org.eclipse.xtext.serializer.sequencer.BacktrackingSemanticSequencer; import org.eclipse.xtext.serializer.sequencer.BacktrackingSemanticSequencer.SerializableObject; import org.eclipse.xtext.util.formallang.Nfa; diff --git a/org.eclipse.xtext/src/org/eclipse/xtext/validation/INamesAreUniqueValidationHelper.java b/org.eclipse.xtext/src/org/eclipse/xtext/validation/INamesAreUniqueValidationHelper.java index b6fd247a0..89d2f23cf 100644 --- a/org.eclipse.xtext/src/org/eclipse/xtext/validation/INamesAreUniqueValidationHelper.java +++ b/org.eclipse.xtext/src/org/eclipse/xtext/validation/INamesAreUniqueValidationHelper.java @@ -101,7 +101,7 @@ public interface INamesAreUniqueValidationHelper { ISelectable getValidationScope(IEObjectDescription description, EClass clusterType); /** - * Returns the objects that should be checked for uniqueness in the context of their {@link #getValidationScope(EClass)}. + * Returns the objects that should be checked for uniqueness in the context of their {@link #getValidationScope(IEObjectDescription, EClass)}. */ Iterable getObjectsToValidate(); @@ -135,7 +135,7 @@ public interface INamesAreUniqueValidationHelper { * the same cluster will not get any errors. * @see INamesAreUniqueValidationHelper#checkUniqueNames(Iterable, CancelIndicator, ValidationMessageAcceptor) * - * @deprecated Implementations should adhere to the context provided via {@link #checkUniqueNames(Iterable, Context, ValidationMessageAcceptor)} + * @deprecated Implementations should adhere to the context provided via {@link #checkUniqueNames(Context, ValidationMessageAcceptor)} */ @Deprecated default void checkUniqueNames(Iterable descriptions, ValidationMessageAcceptor acceptor) { @@ -147,7 +147,7 @@ public interface INamesAreUniqueValidationHelper { * the same cluster will not get any errors. The cancel indicator may be used to abort * the validation. * - * @deprecated Implementations should adhere to the context provided via {@link #checkUniqueNames(Iterable, Context, ValidationMessageAcceptor)} + * @deprecated Implementations should adhere to the context provided via {@link #checkUniqueNames(Context, ValidationMessageAcceptor)} */ @Deprecated void checkUniqueNames(Iterable descriptions, CancelIndicator cancelIndicator, ValidationMessageAcceptor acceptor); diff --git a/org.eclipse.xtext/src/org/eclipse/xtext/validation/NamesAreUniqueValidationHelper.java b/org.eclipse.xtext/src/org/eclipse/xtext/validation/NamesAreUniqueValidationHelper.java index 973ccc95f..b0b5a0c76 100644 --- a/org.eclipse.xtext/src/org/eclipse/xtext/validation/NamesAreUniqueValidationHelper.java +++ b/org.eclipse.xtext/src/org/eclipse/xtext/validation/NamesAreUniqueValidationHelper.java @@ -57,7 +57,7 @@ public class NamesAreUniqueValidationHelper implements INamesAreUniqueValidation /** * @deprecated Since Xtext 2.22 implementations should adhere to the context provided via - * {@link #checkUniqueNames(Iterable, Context, ValidationMessageAcceptor)}. + * {@link #checkUniqueNames(org.eclipse.xtext.validation.INamesAreUniqueValidationHelper.Context, ValidationMessageAcceptor)}. */ @Deprecated @Override @@ -73,7 +73,7 @@ public class NamesAreUniqueValidationHelper implements INamesAreUniqueValidation * about its canceled state. * * @deprecated Since Xtext 2.22 implementations should adhere to the context provided via - * {@link #checkUniqueNames(Iterable, Context, ValidationMessageAcceptor)}. + * {@link #checkUniqueNames(org.eclipse.xtext.validation.INamesAreUniqueValidationHelper.Context, ValidationMessageAcceptor)}. */ @Deprecated @Override