diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/ast/gnu/c/GCCLanguage.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/ast/gnu/c/GCCLanguage.java index 36b3711d1fc..11012eca605 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/ast/gnu/c/GCCLanguage.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/ast/gnu/c/GCCLanguage.java @@ -66,6 +66,12 @@ public class GCCLanguage extends AbstractCLikeLanguage { return ILinkage.C_LINKAGE_ID; } + /** + * @nooverride This method is not intended to be re-implemented or extended by clients. + * @deprecated Since 5.4 not called by the framework. Override + * {@link #getScannerExtensionConfiguration(IScannerInfo)} instead. + */ + @Deprecated @Override protected IScannerExtensionConfiguration getScannerExtensionConfiguration() { return C_GNU_SCANNER_EXTENSION; diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/ast/gnu/cpp/GPPLanguage.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/ast/gnu/cpp/GPPLanguage.java index ce06349cc78..d4fbe2b8676 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/ast/gnu/cpp/GPPLanguage.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/ast/gnu/cpp/GPPLanguage.java @@ -65,6 +65,12 @@ public class GPPLanguage extends AbstractCLikeLanguage { return ILinkage.CPP_LINKAGE_ID; } + /** + * @nooverride This method is not intended to be re-implemented or extended by clients. + * @deprecated Since 5.4 not called by the framework. Override + * {@link #getScannerExtensionConfiguration(IScannerInfo)} instead. + */ + @Deprecated @Override protected IScannerExtensionConfiguration getScannerExtensionConfiguration() { return CPP_GNU_SCANNER_EXTENSION; diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/parser/AbstractCLikeLanguage.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/parser/AbstractCLikeLanguage.java index eae48674ff2..34330fd7505 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/parser/AbstractCLikeLanguage.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/parser/AbstractCLikeLanguage.java @@ -54,7 +54,9 @@ import org.eclipse.core.runtime.CoreException; * @since 5.0 */ public abstract class AbstractCLikeLanguage extends AbstractLanguage implements ICLanguageKeywords { - + private static final AbstractScannerExtensionConfiguration DUMMY_SCANNER_EXTENSION_CONFIGURATION = + new AbstractScannerExtensionConfiguration() {}; + static class NameCollector extends ASTVisitor { { shouldVisitNames= true; @@ -74,14 +76,17 @@ public abstract class AbstractCLikeLanguage extends AbstractLanguage implements } /** - * @return the scanner extension configuration for this language, may not - * return null + * @nooverride This method is not intended to be re-implemented or extended by clients. + * @deprecated Do not override this method. + * Override {@link #getScannerExtensionConfiguration(IScannerInfo)} instead. */ - protected abstract IScannerExtensionConfiguration getScannerExtensionConfiguration(); + @Deprecated + protected IScannerExtensionConfiguration getScannerExtensionConfiguration() { + return DUMMY_SCANNER_EXTENSION_CONFIGURATION; + } /** - * @return the scanner extension configuration for this language, may not - * return null + * @return the scanner extension configuration for this language. May not return {@code null}. * @since 5.4 */ protected IScannerExtensionConfiguration getScannerExtensionConfiguration(IScannerInfo info) { @@ -181,7 +186,8 @@ public abstract class AbstractCLikeLanguage extends AbstractLanguage implements * @param log the parser log service * @param index the index to help resolve bindings * @param forCompletion whether the parser is used for code completion - * @param options for valid options see {@link AbstractLanguage#getASTTranslationUnit(FileContent, IScannerInfo, IncludeFileContentProvider, IIndex, int, IParserLogService)} + * @param options for valid options see + * {@link AbstractLanguage#getASTTranslationUnit(FileContent, IScannerInfo, IncludeFileContentProvider, IIndex, int, IParserLogService)} * @return an instance of ISourceCodeParser */ protected ISourceCodeParser createParser(IScanner scanner, IParserLogService log, IIndex index, boolean forCompletion, int options) {