diff --git a/NewAndNoteworthy/CDT-11.0.md b/NewAndNoteworthy/CDT-11.0.md
index 1eb6fbdb11b..ef5a8540687 100644
--- a/NewAndNoteworthy/CDT-11.0.md
+++ b/NewAndNoteworthy/CDT-11.0.md
@@ -10,6 +10,13 @@ This is the New & Noteworthy page for CDT 11.0 which is part of Eclipse 2022-12
Jave 17 is now required to build and run Eclipse CDT. See https://github.com/eclipse-cdt/cdt/issues/80
+## Removed plug-ins and features
+
+Various plug-ins and features are no longer part of the CDT release.
+Please see the corresponding issue for more details.
+
+- Qt plug-ins (`org.eclipse.cdt.qt.ui/core/feature`) https://github.com/eclipse-cdt/cdt/issues/123 _Note:_ the `org.eclipse.cdt.testsrunner.qttest` plug-in is still part of CDT.
+
# Debug
## C/C++ Dynamic Printf Breakpoints
@@ -27,7 +34,7 @@ See [Bug 580873](https://bugs.eclipse.org/bugs/show_bug.cgi?id=580873).
Please see [CHANGELOG-API](CHANGELOG-API.md) for details on the breaking API changes in this release as well as future planned API changes.
-## New Job Family for backgrond build settings update
+## New Job Family for background build settings update
When the project is modified the managed build settings needs to update settings.
diff --git a/NewAndNoteworthy/CHANGELOG-API.md b/NewAndNoteworthy/CHANGELOG-API.md
index afee2e99e1b..7ad64116462 100644
--- a/NewAndNoteworthy/CHANGELOG-API.md
+++ b/NewAndNoteworthy/CHANGELOG-API.md
@@ -13,6 +13,7 @@ This section describes API removals that occurred in past releases, and upcoming
- [Removal of deprecated CommandLauncher.execute() method](#executeCommandLauncher)
- [Removal of deprecated CBuildConfiguration.watchProcess() methods](#watchProcessCBuildConfig)
- [Rework of API to determine GDB command line in org.eclipse.cdt.dsf.gdb](#gdbBackendDebuggerCommandLine)
+- [Removal of Qt plug-ins and features](#qt-plugins)
## API Changes in CDT 10.5.0
@@ -150,6 +151,18 @@ instead.
See [Bug 572944](https://bugs.eclipse.org/bugs/show_bug.cgi?id=572944)
and https://github.com/eclipse-cdt/cdt/pull/112.
+### Removal of Qt plug-ins and features
+
+For a while now the Qt plug-ins have had at least some issues.
+They rely on the Nashorn script engine which was removed in Java 15.
+The plug-ins have been removed in CDT 11.
+The following bundles and all their related API has been removed:
+
+- org.eclipse.cdt.qt.ui
+- org.eclipse.cdt.qt.core
+
+See https://github.com/eclipse-cdt/cdt/issues/123
+
---
## API Changes in CDT 10.5.0.
diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/templateengine/processes/AddLanguageSettingsProvider.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/templateengine/processes/AddLanguageSettingsProvider.java
index 2833edef3d1..58749e7b9d5 100644
--- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/templateengine/processes/AddLanguageSettingsProvider.java
+++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/templateengine/processes/AddLanguageSettingsProvider.java
@@ -40,7 +40,7 @@ import org.eclipse.core.runtime.IProgressMonitor;
<process type="org.eclipse.cdt.managedbuilder.core.AddLanguageSettingsProvider">
<simple name="projectName" value="$(projectName)"/>
<simple-array name="languageSettingsProviders">
- <element value="org.eclipse.cdt.qt.core.QtPathsProvider"/>
+ <element value="com.yourcompany.core.YourPathsProvider"/>
</simple-array>
</process>
*
diff --git a/pom.xml b/pom.xml
index 84880b77846..68131eb7c42 100644
--- a/pom.xml
+++ b/pom.xml
@@ -216,10 +216,6 @@
native/org.eclipse.cdt.native.serial
- qt/org.eclipse.cdt.qt.core
- qt/org.eclipse.cdt.qt.ui
- qt/org.eclipse.cdt.qt-feature
-
remote/org.eclipse.cdt.remote.coretestsrunner/org.eclipse.cdt.testsrunner
@@ -322,7 +318,6 @@
lsp/org.eclipse.cdt.lsp.core.testslsp/org.eclipse.cdt.lsp.cquery.testsmemory/org.eclipse.cdt.debug.core.memory.tests
- qt/org.eclipse.cdt.qt.ui.teststestsrunner/org.eclipse.cdt.testsrunner.testsreleng/org.eclipse.cdt.testing
@@ -332,10 +327,7 @@
-
-
+
diff --git a/qt/org.eclipse.cdt.qt-feature/.project b/qt/org.eclipse.cdt.qt-feature/.project
deleted file mode 100644
index c8573d52a68..00000000000
--- a/qt/org.eclipse.cdt.qt-feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
- org.eclipse.cdt.qt-feature
-
-
-
-
-
- org.eclipse.pde.FeatureBuilder
-
-
-
-
-
- org.eclipse.pde.FeatureNature
-
-
diff --git a/qt/org.eclipse.cdt.qt-feature/.settings/org.eclipse.core.resources.prefs b/qt/org.eclipse.cdt.qt-feature/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203a..00000000000
--- a/qt/org.eclipse.cdt.qt-feature/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/=UTF-8
diff --git a/qt/org.eclipse.cdt.qt-feature/build.properties b/qt/org.eclipse.cdt.qt-feature/build.properties
deleted file mode 100644
index b3a611b5c93..00000000000
--- a/qt/org.eclipse.cdt.qt-feature/build.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-bin.includes = feature.xml,\
- feature.properties
diff --git a/qt/org.eclipse.cdt.qt-feature/feature.properties b/qt/org.eclipse.cdt.qt-feature/feature.properties
deleted file mode 100644
index 2d4cb7e64ca..00000000000
--- a/qt/org.eclipse.cdt.qt-feature/feature.properties
+++ /dev/null
@@ -1,37 +0,0 @@
-###############################################################################
-# Copyright (c) 2008, 2010 Wind River Systems
-#
-# This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License 2.0
-# which accompanies this distribution, and is available at
-# https://www.eclipse.org/legal/epl-2.0/
-#
-# SPDX-License-Identifier: EPL-2.0
-#
-# Contributors:
-# Wind River Systems - initial implementation
-# IBM Corporation
-###############################################################################
-# features.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=C/C++ Qt Support - Preview
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse CDT
-
-# "description" property - description of the feature
-description=Support for Qt projects and objects in the indexer.
-
-# copyright
-copyright=\
-Copyright (c) 2013 QNX Software Systems and others.\n\
-This program and the accompanying materials\n\
-are made available under the terms of the Eclipse Public License 2.0\n\
-which accompanies this distribution, and is available at\n\
-https://www.eclipse.org/legal/epl-2.0/
-
diff --git a/qt/org.eclipse.cdt.qt-feature/feature.xml b/qt/org.eclipse.cdt.qt-feature/feature.xml
deleted file mode 100644
index 33f1111ae78..00000000000
--- a/qt/org.eclipse.cdt.qt-feature/feature.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-
-
-
-
-
- %description
-
-
-
- %copyright
-
-
-
- %license
-
-
-
-
-
-
-
-
-
-
-
diff --git a/qt/org.eclipse.cdt.qt.core.tests/.classpath b/qt/org.eclipse.cdt.qt.core.tests/.classpath
deleted file mode 100644
index 675a5e2962b..00000000000
--- a/qt/org.eclipse.cdt.qt.core.tests/.classpath
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/qt/org.eclipse.cdt.qt.core.tests/.project b/qt/org.eclipse.cdt.qt.core.tests/.project
deleted file mode 100644
index 290b8294e74..00000000000
--- a/qt/org.eclipse.cdt.qt.core.tests/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
- org.eclipse.cdt.qt.core.tests
-
-
-
-
-
- org.eclipse.jdt.core.javabuilder
-
-
-
-
- org.eclipse.pde.ManifestBuilder
-
-
-
-
- org.eclipse.pde.SchemaBuilder
-
-
-
-
-
- org.eclipse.pde.PluginNature
- org.eclipse.jdt.core.javanature
-
-
diff --git a/qt/org.eclipse.cdt.qt.core.tests/.settings/org.eclipse.core.resources.prefs b/qt/org.eclipse.cdt.qt.core.tests/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203a..00000000000
--- a/qt/org.eclipse.cdt.qt.core.tests/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/=UTF-8
diff --git a/qt/org.eclipse.cdt.qt.core.tests/.settings/org.eclipse.jdt.core.prefs b/qt/org.eclipse.cdt.qt.core.tests/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index afec999c9e1..00000000000
--- a/qt/org.eclipse.cdt.qt.core.tests/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,486 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch, *.xtend
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.mainOnlyProjectHasTestOnlyDependency=error
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error
-org.eclipse.jdt.core.codeComplete.argumentPrefixes=
-org.eclipse.jdt.core.codeComplete.argumentSuffixes=
-org.eclipse.jdt.core.codeComplete.fieldPrefixes=
-org.eclipse.jdt.core.codeComplete.fieldSuffixes=
-org.eclipse.jdt.core.codeComplete.localPrefixes=
-org.eclipse.jdt.core.codeComplete.localSuffixes=
-org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
-org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
-org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
-org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnull.secondary=
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary=
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.methodParameters=generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=17
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.APILeak=warning
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=ignore
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=ignore
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=ignore
-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=protected
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
-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=return_tag
-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=protected
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=ignore
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=ignore
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=warning
-org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentTypeStrict=disabled
-org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=info
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unstableAutoModuleName=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=ignore
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=ignore
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.release=enabled
-org.eclipse.jdt.core.compiler.source=17
-org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false
-org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.align_variable_declarations_on_columns=false
-org.eclipse.jdt.core.formatter.align_with_spaces=false
-org.eclipse.jdt.core.formatter.alignment_for_additive_operator=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=16
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0
-org.eclipse.jdt.core.formatter.alignment_for_logical_operator=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_module_statements=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_multiplicative_operator=16
-org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_string_concatenation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0
-org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.align_tags_descriptions_grouped=true
-org.eclipse.jdt.core.formatter.comment.align_tags_names_descriptions=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.count_line_length_from_starting_position=true
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_additive_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
-org.eclipse.jdt.core.formatter.insert_space_after_logical_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_multiplicative_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_relational_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_shift_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_string_concatenation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_additive_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
-org.eclipse.jdt.core.formatter.insert_space_before_logical_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_multiplicative_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_relational_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_shift_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_string_concatenation=insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=true
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_simple_do_while_body_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_simple_for_body_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_simple_while_body_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=120
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=true
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
-org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_multiplicative_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_before_string_concatenation=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
-org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter
diff --git a/qt/org.eclipse.cdt.qt.core.tests/.settings/org.eclipse.jdt.launching.prefs b/qt/org.eclipse.cdt.qt.core.tests/.settings/org.eclipse.jdt.launching.prefs
deleted file mode 100644
index f8a131b56e0..00000000000
--- a/qt/org.eclipse.cdt.qt.core.tests/.settings/org.eclipse.jdt.launching.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.launching.PREF_COMPILER_COMPLIANCE_DOES_NOT_MATCH_JRE=warning
-org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=warning
diff --git a/qt/org.eclipse.cdt.qt.core.tests/.settings/org.eclipse.jdt.ui.prefs b/qt/org.eclipse.cdt.qt.core.tests/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index d35ba9b5231..00000000000
--- a/qt/org.eclipse.cdt.qt.core.tests/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,213 +0,0 @@
-cleanup.add_all=false
-cleanup.add_default_serial_version_id=true
-cleanup.add_generated_serial_version_id=false
-cleanup.add_missing_annotations=true
-cleanup.add_missing_deprecated_annotations=true
-cleanup.add_missing_methods=false
-cleanup.add_missing_nls_tags=false
-cleanup.add_missing_override_annotations=true
-cleanup.add_missing_override_annotations_interface_methods=true
-cleanup.add_serial_version_id=false
-cleanup.always_use_blocks=true
-cleanup.always_use_parentheses_in_expressions=false
-cleanup.always_use_this_for_non_static_field_access=false
-cleanup.always_use_this_for_non_static_method_access=false
-cleanup.array_with_curly=false
-cleanup.arrays_fill=false
-cleanup.bitwise_conditional_expression=false
-cleanup.boolean_literal=false
-cleanup.boolean_value_rather_than_comparison=false
-cleanup.break_loop=false
-cleanup.collection_cloning=false
-cleanup.comparing_on_criteria=false
-cleanup.comparison_statement=false
-cleanup.controlflow_merge=false
-cleanup.convert_functional_interfaces=false
-cleanup.convert_to_enhanced_for_loop=false
-cleanup.convert_to_enhanced_for_loop_if_loop_var_used=true
-cleanup.convert_to_switch_expressions=false
-cleanup.correct_indentation=false
-cleanup.do_while_rather_than_while=true
-cleanup.double_negation=false
-cleanup.else_if=false
-cleanup.embedded_if=false
-cleanup.evaluate_nullable=false
-cleanup.extract_increment=false
-cleanup.format_source_code=true
-cleanup.format_source_code_changes_only=false
-cleanup.hash=false
-cleanup.if_condition=false
-cleanup.insert_inferred_type_arguments=false
-cleanup.instanceof=false
-cleanup.instanceof_keyword=false
-cleanup.invert_equals=false
-cleanup.join=false
-cleanup.lazy_logical_operator=false
-cleanup.make_local_variable_final=true
-cleanup.make_parameters_final=false
-cleanup.make_private_fields_final=true
-cleanup.make_type_abstract_if_missing_method=false
-cleanup.make_variable_declarations_final=false
-cleanup.map_cloning=false
-cleanup.merge_conditional_blocks=false
-cleanup.multi_catch=false
-cleanup.never_use_blocks=false
-cleanup.never_use_parentheses_in_expressions=true
-cleanup.no_string_creation=false
-cleanup.no_super=false
-cleanup.number_suffix=false
-cleanup.objects_equals=false
-cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=false
-cleanup.operand_factorization=false
-cleanup.organize_imports=true
-cleanup.overridden_assignment=false
-cleanup.plain_replacement=false
-cleanup.precompile_regex=false
-cleanup.primitive_comparison=false
-cleanup.primitive_parsing=false
-cleanup.primitive_rather_than_wrapper=false
-cleanup.primitive_serialization=false
-cleanup.pull_out_if_from_if_else=false
-cleanup.pull_up_assignment=false
-cleanup.push_down_negation=false
-cleanup.qualify_static_field_accesses_with_declaring_class=false
-cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-cleanup.qualify_static_member_accesses_with_declaring_class=false
-cleanup.qualify_static_method_accesses_with_declaring_class=false
-cleanup.reduce_indentation=false
-cleanup.redundant_comparator=false
-cleanup.redundant_falling_through_block_end=false
-cleanup.remove_private_constructors=true
-cleanup.remove_redundant_modifiers=false
-cleanup.remove_redundant_semicolons=true
-cleanup.remove_redundant_type_arguments=true
-cleanup.remove_trailing_whitespaces=true
-cleanup.remove_trailing_whitespaces_all=true
-cleanup.remove_trailing_whitespaces_ignore_empty=false
-cleanup.remove_unnecessary_array_creation=false
-cleanup.remove_unnecessary_casts=true
-cleanup.remove_unnecessary_nls_tags=false
-cleanup.remove_unused_imports=true
-cleanup.remove_unused_local_variables=false
-cleanup.remove_unused_method_parameters=false
-cleanup.remove_unused_private_fields=true
-cleanup.remove_unused_private_members=false
-cleanup.remove_unused_private_methods=true
-cleanup.remove_unused_private_types=true
-cleanup.return_expression=false
-cleanup.simplify_lambda_expression_and_method_ref=false
-cleanup.single_used_field=false
-cleanup.sort_members=false
-cleanup.sort_members_all=false
-cleanup.standard_comparison=false
-cleanup.static_inner_class=false
-cleanup.strictly_equal_or_different=false
-cleanup.stringbuffer_to_stringbuilder=false
-cleanup.stringbuilder=false
-cleanup.stringbuilder_for_local_vars=true
-cleanup.stringconcat_to_textblock=false
-cleanup.substring=false
-cleanup.switch=false
-cleanup.system_property=false
-cleanup.system_property_boolean=false
-cleanup.system_property_file_encoding=false
-cleanup.system_property_file_separator=false
-cleanup.system_property_line_separator=false
-cleanup.system_property_path_separator=false
-cleanup.ternary_operator=false
-cleanup.try_with_resource=false
-cleanup.unlooped_while=false
-cleanup.unreachable_block=false
-cleanup.use_anonymous_class_creation=false
-cleanup.use_autoboxing=false
-cleanup.use_blocks=false
-cleanup.use_blocks_only_for_return_and_throw=false
-cleanup.use_directly_map_method=false
-cleanup.use_lambda=true
-cleanup.use_parentheses_in_expressions=false
-cleanup.use_string_is_blank=false
-cleanup.use_this_for_non_static_field_access=false
-cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-cleanup.use_this_for_non_static_method_access=false
-cleanup.use_this_for_non_static_method_access_only_if_necessary=true
-cleanup.use_unboxing=false
-cleanup.use_var=false
-cleanup.useless_continue=false
-cleanup.useless_return=false
-cleanup.valueof_rather_than_instantiation=false
-cleanup_profile=_CDT
-cleanup_settings_version=2
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_CDT
-formatter_settings_version=14
-internal.default.compliance=user
-org.eclipse.jdt.ui.exception.name=e
-org.eclipse.jdt.ui.gettersetter.use.is=true
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=java;javax;org;com;
-org.eclipse.jdt.ui.keywordthis=false
-org.eclipse.jdt.ui.ondemandthreshold=1000
-org.eclipse.jdt.ui.overrideannotation=true
-org.eclipse.jdt.ui.staticondemandthreshold=1000
-org.eclipse.jdt.ui.text.custom_code_templates=
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_functional_interfaces=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=true
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.insert_inferred_type_arguments=false
-sp_cleanup.make_local_variable_final=true
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=false
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_redundant_modifiers=false
-sp_cleanup.remove_redundant_semicolons=true
-sp_cleanup.remove_redundant_type_arguments=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=true
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_anonymous_class_creation=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_lambda=true
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/qt/org.eclipse.cdt.qt.core.tests/.settings/org.eclipse.pde.api.tools.prefs b/qt/org.eclipse.cdt.qt.core.tests/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index ec9fbf321d0..00000000000
--- a/qt/org.eclipse.cdt.qt.core.tests/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,184 +0,0 @@
-ANNOTATION_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-ANNOTATION_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_ADDED_TYPE_MEMBER=Error
-ANNOTATION_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_INTERFACE_BOUNDS=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TO_CLASS=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TO_ENUM=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TO_INTERFACE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD_WITH_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-API_USE_SCAN_FIELD_SEVERITY=Error
-API_USE_SCAN_METHOD_SEVERITY=Error
-API_USE_SCAN_TYPE_SEVERITY=Error
-CLASS_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
-CLASS_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-CLASS_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERCLASS_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_CHANGED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_CHANGED_TO_ANNOTATION=Error
-CLASS_ELEMENT_TYPE_CHANGED_TO_ENUM=Error
-CLASS_ELEMENT_TYPE_CHANGED_TO_INTERFACE=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-CLASS_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error
-ENUM_ELEMENT_TYPE_CHANGED_TO_ANNOTATION=Error
-ENUM_ELEMENT_TYPE_CHANGED_TO_CLASS=Error
-ENUM_ELEMENT_TYPE_CHANGED_TO_INTERFACE=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENTS=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-INTERFACE_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETERS=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_INTERFACE_BOUNDS=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TO_ANNOTATION=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TO_CLASS=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TO_ENUM=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_ANNOTATION=Ignore
-INVALID_JAVADOC_TAG=Error
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-METHOD_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-METHOD_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-METHOD_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-METHOD_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error
-MISSING_EE_DESCRIPTIONS=Warning
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Warning
-automatically_removed_unused_problem_filters=false
-changed_execution_env=Error
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-incompatible_api_component_version_report_major_without_breaking_change=Warning
-incompatible_api_component_version_report_minor_without_api_change=Warning
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/qt/org.eclipse.cdt.qt.core.tests/.settings/org.eclipse.pde.prefs b/qt/org.eclipse.cdt.qt.core.tests/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 51a63ec9988..00000000000
--- a/qt/org.eclipse.cdt.qt.core.tests/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,35 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=2
-compilers.p.missing-version-export-package=2
-compilers.p.missing-version-import-package=2
-compilers.p.missing-version-require-bundle=2
-compilers.p.no-required-att=0
-compilers.p.no.automatic.module=1
-compilers.p.not-externalized-att=2
-compilers.p.service.component.without.lazyactivation=1
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-compilers.use-project=true
-eclipse.preferences.version=1
diff --git a/qt/org.eclipse.cdt.qt.core.tests/META-INF/MANIFEST.MF b/qt/org.eclipse.cdt.qt.core.tests/META-INF/MANIFEST.MF
deleted file mode 100644
index c468ea40de3..00000000000
--- a/qt/org.eclipse.cdt.qt.core.tests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,15 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.cdt.qt.core.tests
-Bundle-Vendor: %providerName
-Bundle-Version: 2.0.0.qualifier
-Bundle-RequiredExecutionEnvironment: JavaSE-17
-Require-Bundle: org.eclipse.osgi;bundle-version="3.10.100",
- org.junit,
- org.eclipse.cdt.qt.core;bundle-version="2.0.0"
-Bundle-ClassPath: .
-Bundle-Activator: org.eclipse.cdt.qt.core.tests.Activator
-Bundle-ActivationPolicy: lazy
-Automatic-Module-Name: org.eclipse.cdt.qt.core.tests
-Bundle-Localization: plugin
diff --git a/qt/org.eclipse.cdt.qt.core.tests/about.html b/qt/org.eclipse.cdt.qt.core.tests/about.html
deleted file mode 100644
index b3134865230..00000000000
--- a/qt/org.eclipse.cdt.qt.core.tests/about.html
+++ /dev/null
@@ -1,38 +0,0 @@
-
-
-
-
-
- About
-
-
-
-
About This Content
-
-
November 30, 2017
-
License
-
-
- The Eclipse Foundation makes available all content in this plug-in
- ("Content"). Unless otherwise indicated below, the Content
- is provided to you under the terms and conditions of the Eclipse
- Public License Version 2.0 ("EPL"). A copy of the EPL is
- available at https://www.eclipse.org/legal/epl-2.0.
- For purposes of the EPL, "Program" will mean the Content.
-
-
-
- If you did not receive this Content directly from the Eclipse
- Foundation, the Content is being redistributed by another party
- ("Redistributor") and different terms and conditions may
- apply to your use of any object code in the Content. Check the
- Redistributor's license that was provided with the Content. If no such
- license exists, contact the Redistributor. Unless otherwise indicated
- below, the terms and conditions of the EPL still apply to any source
- code in the Content and such source code may be obtained at https://www.eclipse.org.
-
-
-
-
-
\ No newline at end of file
diff --git a/qt/org.eclipse.cdt.qt.core.tests/build.properties b/qt/org.eclipse.cdt.qt.core.tests/build.properties
deleted file mode 100644
index 2b112c46131..00000000000
--- a/qt/org.eclipse.cdt.qt.core.tests/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.properties,\
- about.html
-src.includes = about.html
diff --git a/qt/org.eclipse.cdt.qt.core.tests/plugin.properties b/qt/org.eclipse.cdt.qt.core.tests/plugin.properties
deleted file mode 100644
index c425c9670f4..00000000000
--- a/qt/org.eclipse.cdt.qt.core.tests/plugin.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-##################################################################################
-# Copyright (c) 2020 Torbjörn Svensson and others. All rights reserved.
-# This program and the accompanying materials are made available under the terms
-# of the Eclipse Public License 2.0 which accompanies this distribution, and is
-# available at https://www.eclipse.org/legal/epl-2.0/
-#
-# SPDX-License-Identifier: EPL-2.0
-#
-# Contributors:
-# Torbjörn Svensson - initial API and implementation
-##################################################################################
-
-pluginName = QML Tests
-providerName = Eclipse CDT
diff --git a/qt/org.eclipse.cdt.qt.core.tests/scripts/ecma5-defs.js b/qt/org.eclipse.cdt.qt.core.tests/scripts/ecma5-defs.js
deleted file mode 100644
index 4535e2d73e6..00000000000
--- a/qt/org.eclipse.cdt.qt.core.tests/scripts/ecma5-defs.js
+++ /dev/null
@@ -1,968 +0,0 @@
-ecma5defs = {
- "!name": "ecma5",
- "!define": {
- "Error.prototype": "Error.prototype"
- },
- "Infinity": {
- "!type": "number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Infinity",
- "!doc": "A numeric value representing infinity."
- },
- "undefined": {
- "!type": "?",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/undefined",
- "!doc": "The value undefined."
- },
- "NaN": {
- "!type": "number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/NaN",
- "!doc": "A value representing Not-A-Number."
- },
- "Object": {
- "!type": "fn()",
- "getPrototypeOf": {
- "!type": "fn(obj: ?) -> ?",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Object/getPrototypeOf",
- "!doc": "Returns the prototype (i.e. the internal prototype) of the specified object."
- },
- "create": {
- "!type": "fn(proto: ?) -> !custom:Object_create",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Object/create",
- "!doc": "Creates a new object with the specified prototype object and properties."
- },
- "defineProperty": {
- "!type": "fn(obj: ?, prop: string, desc: ?) -> !custom:Object_defineProperty",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Object/defineProperty",
- "!doc": "Defines a new property directly on an object, or modifies an existing property on an object, and returns the object. If you want to see how to use the Object.defineProperty method with a binary-flags-like syntax, see this article."
- },
- "defineProperties": {
- "!type": "fn(obj: ?, props: ?) -> !custom:Object_defineProperties",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Object/defineProperty",
- "!doc": "Defines a new property directly on an object, or modifies an existing property on an object, and returns the object. If you want to see how to use the Object.defineProperty method with a binary-flags-like syntax, see this article."
- },
- "getOwnPropertyDescriptor": {
- "!type": "fn(obj: ?, prop: string) -> ?",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Object/getOwnPropertyDescriptor",
- "!doc": "Returns a property descriptor for an own property (that is, one directly present on an object, not present by dint of being along an object's prototype chain) of a given object."
- },
- "keys": {
- "!type": "fn(obj: ?) -> [string]",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Object/keys",
- "!doc": "Returns an array of a given object's own enumerable properties, in the same order as that provided by a for-in loop (the difference being that a for-in loop enumerates properties in the prototype chain as well)."
- },
- "getOwnPropertyNames": {
- "!type": "fn(obj: ?) -> [string]",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Object/getOwnPropertyNames",
- "!doc": "Returns an array of all properties (enumerable or not) found directly upon a given object."
- },
- "seal": {
- "!type": "fn(obj: ?)",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Object/seal",
- "!doc": "Seals an object, preventing new properties from being added to it and marking all existing properties as non-configurable. Values of present properties can still be changed as long as they are writable."
- },
- "isSealed": {
- "!type": "fn(obj: ?) -> bool",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Object/isSealed",
- "!doc": "Determine if an object is sealed."
- },
- "freeze": {
- "!type": "fn(obj: ?) -> !0",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Object/freeze",
- "!doc": "Freezes an object: that is, prevents new properties from being added to it; prevents existing properties from being removed; and prevents existing properties, or their enumerability, configurability, or writability, from being changed. In essence the object is made effectively immutable. The method returns the object being frozen."
- },
- "isFrozen": {
- "!type": "fn(obj: ?) -> bool",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Object/isFrozen",
- "!doc": "Determine if an object is frozen."
- },
- "preventExtensions": {
- "!type": "fn(obj: ?)",
- "!url": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/preventExtensions",
- "!doc": "Prevents new properties from ever being added to an object."
- },
- "isExtensible": {
- "!type": "fn(obj: ?) -> bool",
- "!url": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/isExtensible",
- "!doc": "The Object.isExtensible() method determines if an object is extensible (whether it can have new properties added to it)."
- },
- "prototype": {
- "!stdProto": "Object",
- "toString": {
- "!type": "fn() -> string",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Object/toString",
- "!doc": "Returns a string representing the object."
- },
- "toLocaleString": {
- "!type": "fn() -> string",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Object/toLocaleString",
- "!doc": "Returns a string representing the object. This method is meant to be overriden by derived objects for locale-specific purposes."
- },
- "valueOf": {
- "!type": "fn() -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Object/valueOf",
- "!doc": "Returns the primitive value of the specified object"
- },
- "hasOwnProperty": {
- "!type": "fn(prop: string) -> bool",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Object/hasOwnProperty",
- "!doc": "Returns a boolean indicating whether the object has the specified property."
- },
- "propertyIsEnumerable": {
- "!type": "fn(prop: string) -> bool",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Object/propertyIsEnumerable",
- "!doc": "Returns a Boolean indicating whether the specified property is enumerable."
- },
- "isPrototypeOf": {
- "!type": "fn(obj: ?) -> bool",
- "!url": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/isPrototypeOf",
- "!doc": "Tests for an object in another object's prototype chain."
- }
- },
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Object",
- "!doc": "Creates an object wrapper."
- },
- "Function": {
- "!type": "fn(body: string) -> fn()",
- "prototype": {
- "!stdProto": "Function",
- "apply": {
- "!type": "fn(this: ?, args: [?])",
- "!effects": [
- "call and return !this this=!0 !1. !1. !1."
- ],
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Function/apply",
- "!doc": "Calls a function with a given this value and arguments provided as an array (or an array like object)."
- },
- "call": {
- "!type": "fn(this: ?, args?: ?) -> !this.!ret",
- "!effects": [
- "call and return !this this=!0 !1 !2 !3 !4"
- ],
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Function/call",
- "!doc": "Calls a function with a given this value and arguments provided individually."
- },
- "bind": {
- "!type": "fn(this: ?, args?: ?) -> !custom:Function_bind",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Function/bind",
- "!doc": "Creates a new function that, when called, has its this keyword set to the provided value, with a given sequence of arguments preceding any provided when the new function was called."
- },
- "prototype": "?"
- },
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Function",
- "!doc": "Every function in JavaScript is actually a Function object."
- },
- "Array": {
- "!type": "fn(size: number) -> !custom:Array_ctor",
- "isArray": {
- "!type": "fn(value: ?) -> bool",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/isArray",
- "!doc": "Returns true if an object is an array, false if it is not."
- },
- "prototype": {
- "!stdProto": "Array",
- "length": {
- "!type": "number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/length",
- "!doc": "An unsigned, 32-bit integer that specifies the number of elements in an array."
- },
- "concat": {
- "!type": "fn(other: [?]) -> !this",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/concat",
- "!doc": "Returns a new array comprised of this array joined with other array(s) and/or value(s)."
- },
- "join": {
- "!type": "fn(separator?: string) -> string",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/join",
- "!doc": "Joins all elements of an array into a string."
- },
- "splice": {
- "!type": "fn(pos: number, amount: number)",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/splice",
- "!doc": "Changes the content of an array, adding new elements while removing old elements."
- },
- "pop": {
- "!type": "fn() -> !this.",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/pop",
- "!doc": "Removes the last element from an array and returns that element."
- },
- "push": {
- "!type": "fn(newelt: ?) -> number",
- "!effects": [
- "propagate !0 !this."
- ],
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/push",
- "!doc": "Mutates an array by appending the given elements and returning the new length of the array."
- },
- "shift": {
- "!type": "fn() -> !this.",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/shift",
- "!doc": "Removes the first element from an array and returns that element. This method changes the length of the array."
- },
- "unshift": {
- "!type": "fn(newelt: ?) -> number",
- "!effects": [
- "propagate !0 !this."
- ],
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/unshift",
- "!doc": "Adds one or more elements to the beginning of an array and returns the new length of the array."
- },
- "slice": {
- "!type": "fn(from: number, to?: number) -> !this",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/slice",
- "!doc": "Returns a shallow copy of a portion of an array."
- },
- "reverse": {
- "!type": "fn()",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/reverse",
- "!doc": "Reverses an array in place. The first array element becomes the last and the last becomes the first."
- },
- "sort": {
- "!type": "fn(compare?: fn(a: ?, b: ?) -> number)",
- "!effects": [
- "call !0 !this. !this."
- ],
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/sort",
- "!doc": "Sorts the elements of an array in place and returns the array."
- },
- "indexOf": {
- "!type": "fn(elt: ?, from?: number) -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/indexOf",
- "!doc": "Returns the first index at which a given element can be found in the array, or -1 if it is not present."
- },
- "lastIndexOf": {
- "!type": "fn(elt: ?, from?: number) -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/lastIndexOf",
- "!doc": "Returns the last index at which a given element can be found in the array, or -1 if it is not present. The array is searched backwards, starting at fromIndex."
- },
- "every": {
- "!type": "fn(test: fn(elt: ?, i: number) -> bool, context?: ?) -> bool",
- "!effects": [
- "call !0 this=!1 !this. number"
- ],
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/every",
- "!doc": "Tests whether all elements in the array pass the test implemented by the provided function."
- },
- "some": {
- "!type": "fn(test: fn(elt: ?, i: number) -> bool, context?: ?) -> bool",
- "!effects": [
- "call !0 this=!1 !this. number"
- ],
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/some",
- "!doc": "Tests whether some element in the array passes the test implemented by the provided function."
- },
- "filter": {
- "!type": "fn(test: fn(elt: ?, i: number) -> bool, context?: ?) -> !this",
- "!effects": [
- "call !0 this=!1 !this. number"
- ],
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/filter",
- "!doc": "Creates a new array with all elements that pass the test implemented by the provided function."
- },
- "forEach": {
- "!type": "fn(f: fn(elt: ?, i: number), context?: ?)",
- "!effects": [
- "call !0 this=!1 !this. number"
- ],
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/forEach",
- "!doc": "Executes a provided function once per array element."
- },
- "map": {
- "!type": "fn(f: fn(elt: ?, i: number) -> ?, context?: ?) -> [!0.!ret]",
- "!effects": [
- "call !0 this=!1 !this. number"
- ],
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/map",
- "!doc": "Creates a new array with the results of calling a provided function on every element in this array."
- },
- "reduce": {
- "!type": "fn(combine: fn(sum: ?, elt: ?, i: number) -> ?, init?: ?) -> !0.!ret",
- "!effects": [
- "call !0 !1 !this. number"
- ],
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/Reduce",
- "!doc": "Apply a function against an accumulator and each value of the array (from left-to-right) as to reduce it to a single value."
- },
- "reduceRight": {
- "!type": "fn(combine: fn(sum: ?, elt: ?, i: number) -> ?, init?: ?) -> !0.!ret",
- "!effects": [
- "call !0 !1 !this. number"
- ],
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/ReduceRight",
- "!doc": "Apply a function simultaneously against two values of the array (from right-to-left) as to reduce it to a single value."
- }
- },
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array",
- "!doc": "The JavaScript Array global object is a constructor for arrays, which are high-level, list-like objects."
- },
- "String": {
- "!type": "fn(value: ?) -> string",
- "fromCharCode": {
- "!type": "fn(code: number) -> string",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/fromCharCode",
- "!doc": "Returns a string created by using the specified sequence of Unicode values."
- },
- "prototype": {
- "!stdProto": "String",
- "length": {
- "!type": "number",
- "!url": "https://developer.mozilla.org/en/docs/JavaScript/Reference/Global_Objects/String/length",
- "!doc": "Represents the length of a string."
- },
- "": "string",
- "charAt": {
- "!type": "fn(i: number) -> string",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/charAt",
- "!doc": "Returns the specified character from a string."
- },
- "charCodeAt": {
- "!type": "fn(i: number) -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/charCodeAt",
- "!doc": "Returns the numeric Unicode value of the character at the given index (except for unicode codepoints > 0x10000)."
- },
- "indexOf": {
- "!type": "fn(char: string, from?: number) -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/indexOf",
- "!doc": "Returns the index within the calling String object of the first occurrence of the specified value, starting the search at fromIndex,\nreturns -1 if the value is not found."
- },
- "lastIndexOf": {
- "!type": "fn(char: string, from?: number) -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/lastIndexOf",
- "!doc": "Returns the index within the calling String object of the last occurrence of the specified value, or -1 if not found. The calling string is searched backward, starting at fromIndex."
- },
- "substring": {
- "!type": "fn(from: number, to?: number) -> string",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/substring",
- "!doc": "Returns a subset of a string between one index and another, or through the end of the string."
- },
- "substr": {
- "!type": "fn(from: number, length?: number) -> string",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/substr",
- "!doc": "Returns the characters in a string beginning at the specified location through the specified number of characters."
- },
- "slice": {
- "!type": "fn(from: number, to?: number) -> string",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/slice",
- "!doc": "Extracts a section of a string and returns a new string."
- },
- "trim": {
- "!type": "fn() -> string",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/Trim",
- "!doc": "Removes whitespace from both ends of the string."
- },
- "toUpperCase": {
- "!type": "fn() -> string",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/toUpperCase",
- "!doc": "Returns the calling string value converted to uppercase."
- },
- "toLowerCase": {
- "!type": "fn() -> string",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/toLowerCase",
- "!doc": "Returns the calling string value converted to lowercase."
- },
- "toLocaleUpperCase": {
- "!type": "fn() -> string",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/toLocaleUpperCase",
- "!doc": "Returns the calling string value converted to upper case, according to any locale-specific case mappings."
- },
- "toLocaleLowerCase": {
- "!type": "fn() -> string",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/toLocaleLowerCase",
- "!doc": "Returns the calling string value converted to lower case, according to any locale-specific case mappings."
- },
- "split": {
- "!type": "fn(pattern: string) -> [string]",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/split",
- "!doc": "Splits a String object into an array of strings by separating the string into substrings."
- },
- "concat": {
- "!type": "fn(other: string) -> string",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/concat",
- "!doc": "Combines the text of two or more strings and returns a new string."
- },
- "localeCompare": {
- "!type": "fn(other: string) -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/localeCompare",
- "!doc": "Returns a number indicating whether a reference string comes before or after or is the same as the given string in sort order."
- },
- "match": {
- "!type": "fn(pattern: +RegExp) -> [string]",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/match",
- "!doc": "Used to retrieve the matches when matching a string against a regular expression."
- },
- "replace": {
- "!type": "fn(pattern: string|+RegExp, replacement: string) -> string",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/replace",
- "!doc": "Returns a new string with some or all matches of a pattern replaced by a replacement. The pattern can be a string or a RegExp, and the replacement can be a string or a function to be called for each match."
- },
- "search": {
- "!type": "fn(pattern: +RegExp) -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/search",
- "!doc": "Executes the search for a match between a regular expression and this String object."
- }
- },
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String",
- "!doc": "The String global object is a constructor for strings, or a sequence of characters."
- },
- "Number": {
- "!type": "fn(value: ?) -> number",
- "MAX_VALUE": {
- "!type": "number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Number/MAX_VALUE",
- "!doc": "The maximum numeric value representable in JavaScript."
- },
- "MIN_VALUE": {
- "!type": "number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Number/MIN_VALUE",
- "!doc": "The smallest positive numeric value representable in JavaScript."
- },
- "POSITIVE_INFINITY": {
- "!type": "number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Number/POSITIVE_INFINITY",
- "!doc": "A value representing the positive Infinity value."
- },
- "NEGATIVE_INFINITY": {
- "!type": "number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Number/NEGATIVE_INFINITY",
- "!doc": "A value representing the negative Infinity value."
- },
- "prototype": {
- "!stdProto": "Number",
- "toString": {
- "!type": "fn(radix?: number) -> string",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Number/toString",
- "!doc": "Returns a string representing the specified Number object"
- },
- "toFixed": {
- "!type": "fn(digits: number) -> string",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Number/toFixed",
- "!doc": "Formats a number using fixed-point notation"
- },
- "toExponential": {
- "!type": "fn(digits: number) -> string",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Number/toExponential",
- "!doc": "Returns a string representing the Number object in exponential notation"
- },
- "toPrecision": {
- "!type": "fn(digits: number) -> string",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Number/toPrecision",
- "!doc": "The toPrecision() method returns a string representing the number to the specified precision."
- }
- },
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Number",
- "!doc": "The Number JavaScript object is a wrapper object allowing you to work with numerical values. A Number object is created using the Number() constructor."
- },
- "Boolean": {
- "!type": "fn(value: ?) -> bool",
- "prototype": {
- "!stdProto": "Boolean"
- },
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Boolean",
- "!doc": "The Boolean object is an object wrapper for a boolean value."
- },
- "RegExp": {
- "!type": "fn(source: string, flags?: string)",
- "prototype": {
- "!stdProto": "RegExp",
- "exec": {
- "!type": "fn(input: string) -> [string]",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/RegExp/exec",
- "!doc": "Executes a search for a match in a specified string. Returns a result array, or null."
- },
- "test": {
- "!type": "fn(input: string) -> bool",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/RegExp/test",
- "!doc": "Executes the search for a match between a regular expression and a specified string. Returns true or false."
- },
- "global": {
- "!type": "bool",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/RegExp",
- "!doc": "Creates a regular expression object for matching text with a pattern."
- },
- "ignoreCase": {
- "!type": "bool",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/RegExp",
- "!doc": "Creates a regular expression object for matching text with a pattern."
- },
- "multiline": {
- "!type": "bool",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/RegExp/multiline",
- "!doc": "Reflects whether or not to search in strings across multiple lines.\n"
- },
- "source": {
- "!type": "string",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/RegExp/source",
- "!doc": "A read-only property that contains the text of the pattern, excluding the forward slashes.\n"
- },
- "lastIndex": {
- "!type": "number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/RegExp/lastIndex",
- "!doc": "A read/write integer property that specifies the index at which to start the next match."
- }
- },
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/RegExp",
- "!doc": "Creates a regular expression object for matching text with a pattern."
- },
- "Date": {
- "!type": "fn(ms: number)",
- "parse": {
- "!type": "fn(source: string) -> +Date",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/parse",
- "!doc": "Parses a string representation of a date, and returns the number of milliseconds since January 1, 1970, 00:00:00 UTC."
- },
- "UTC": {
- "!type": "fn(year: number, month: number, date: number, hour?: number, min?: number, sec?: number, ms?: number) -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/UTC",
- "!doc": "Accepts the same parameters as the longest form of the constructor, and returns the number of milliseconds in a Date object since January 1, 1970, 00:00:00, universal time."
- },
- "now": {
- "!type": "fn() -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/now",
- "!doc": "Returns the number of milliseconds elapsed since 1 January 1970 00:00:00 UTC."
- },
- "prototype": {
- "toUTCString": {
- "!type": "fn() -> string",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/toUTCString",
- "!doc": "Converts a date to a string, using the universal time convention."
- },
- "toISOString": {
- "!type": "fn() -> string",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/toISOString",
- "!doc": "JavaScript provides a direct way to convert a date object into a string in ISO format, the ISO 8601 Extended Format."
- },
- "toDateString": {
- "!type": "fn() -> string",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/toDateString",
- "!doc": "Returns the date portion of a Date object in human readable form in American English."
- },
- "toTimeString": {
- "!type": "fn() -> string",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/toTimeString",
- "!doc": "Returns the time portion of a Date object in human readable form in American English."
- },
- "toLocaleDateString": {
- "!type": "fn() -> string",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/toLocaleDateString",
- "!doc": "Converts a date to a string, returning the \"date\" portion using the operating system's locale's conventions.\n"
- },
- "toLocaleTimeString": {
- "!type": "fn() -> string",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/toLocaleTimeString",
- "!doc": "Converts a date to a string, returning the \"time\" portion using the current locale's conventions."
- },
- "getTime": {
- "!type": "fn() -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/getTime",
- "!doc": "Returns the numeric value corresponding to the time for the specified date according to universal time."
- },
- "getFullYear": {
- "!type": "fn() -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/getFullYear",
- "!doc": "Returns the year of the specified date according to local time."
- },
- "getYear": {
- "!type": "fn() -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/getYear",
- "!doc": "Returns the year in the specified date according to local time."
- },
- "getMonth": {
- "!type": "fn() -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/getMonth",
- "!doc": "Returns the month in the specified date according to local time."
- },
- "getUTCMonth": {
- "!type": "fn() -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/getUTCMonth",
- "!doc": "Returns the month of the specified date according to universal time.\n"
- },
- "getDate": {
- "!type": "fn() -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/getDate",
- "!doc": "Returns the day of the month for the specified date according to local time."
- },
- "getUTCDate": {
- "!type": "fn() -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/getUTCDate",
- "!doc": "Returns the day (date) of the month in the specified date according to universal time.\n"
- },
- "getDay": {
- "!type": "fn() -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/getDay",
- "!doc": "Returns the day of the week for the specified date according to local time."
- },
- "getUTCDay": {
- "!type": "fn() -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/getUTCDay",
- "!doc": "Returns the day of the week in the specified date according to universal time.\n"
- },
- "getHours": {
- "!type": "fn() -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/getHours",
- "!doc": "Returns the hour for the specified date according to local time."
- },
- "getUTCHours": {
- "!type": "fn() -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/getUTCHours",
- "!doc": "Returns the hours in the specified date according to universal time.\n"
- },
- "getMinutes": {
- "!type": "fn() -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/getMinutes",
- "!doc": "Returns the minutes in the specified date according to local time."
- },
- "getUTCMinutes": {
- "!type": "fn() -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date",
- "!doc": "Creates JavaScript Date instances which let you work with dates and times."
- },
- "getSeconds": {
- "!type": "fn() -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/getSeconds",
- "!doc": "Returns the seconds in the specified date according to local time."
- },
- "getUTCSeconds": {
- "!type": "fn() -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/getUTCSeconds",
- "!doc": "Returns the seconds in the specified date according to universal time.\n"
- },
- "getMilliseconds": {
- "!type": "fn() -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/getMilliseconds",
- "!doc": "Returns the milliseconds in the specified date according to local time."
- },
- "getUTCMilliseconds": {
- "!type": "fn() -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/getUTCMilliseconds",
- "!doc": "Returns the milliseconds in the specified date according to universal time.\n"
- },
- "getTimezoneOffset": {
- "!type": "fn() -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/getTimezoneOffset",
- "!doc": "Returns the time-zone offset from UTC, in minutes, for the current locale."
- },
- "setTime": {
- "!type": "fn(date: +Date) -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/setTime",
- "!doc": "Sets the Date object to the time represented by a number of milliseconds since January 1, 1970, 00:00:00 UTC.\n"
- },
- "setFullYear": {
- "!type": "fn(year: number) -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/setFullYear",
- "!doc": "Sets the full year for a specified date according to local time.\n"
- },
- "setUTCFullYear": {
- "!type": "fn(year: number) -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/setUTCFullYear",
- "!doc": "Sets the full year for a specified date according to universal time.\n"
- },
- "setMonth": {
- "!type": "fn(month: number) -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/setMonth",
- "!doc": "Set the month for a specified date according to local time."
- },
- "setUTCMonth": {
- "!type": "fn(month: number) -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/setUTCMonth",
- "!doc": "Sets the month for a specified date according to universal time.\n"
- },
- "setDate": {
- "!type": "fn(day: number) -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/setDate",
- "!doc": "Sets the day of the month for a specified date according to local time."
- },
- "setUTCDate": {
- "!type": "fn(day: number) -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/setUTCDate",
- "!doc": "Sets the day of the month for a specified date according to universal time.\n"
- },
- "setHours": {
- "!type": "fn(hour: number) -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/setHours",
- "!doc": "Sets the hours for a specified date according to local time, and returns the number of milliseconds since 1 January 1970 00:00:00 UTC until the time represented by the updated Date instance."
- },
- "setUTCHours": {
- "!type": "fn(hour: number) -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/setUTCHours",
- "!doc": "Sets the hour for a specified date according to universal time.\n"
- },
- "setMinutes": {
- "!type": "fn(min: number) -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/setMinutes",
- "!doc": "Sets the minutes for a specified date according to local time."
- },
- "setUTCMinutes": {
- "!type": "fn(min: number) -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/setUTCMinutes",
- "!doc": "Sets the minutes for a specified date according to universal time.\n"
- },
- "setSeconds": {
- "!type": "fn(sec: number) -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/setSeconds",
- "!doc": "Sets the seconds for a specified date according to local time."
- },
- "setUTCSeconds": {
- "!type": "fn(sec: number) -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/setUTCSeconds",
- "!doc": "Sets the seconds for a specified date according to universal time.\n"
- },
- "setMilliseconds": {
- "!type": "fn(ms: number) -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/setMilliseconds",
- "!doc": "Sets the milliseconds for a specified date according to local time.\n"
- },
- "setUTCMilliseconds": {
- "!type": "fn(ms: number) -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/setUTCMilliseconds",
- "!doc": "Sets the milliseconds for a specified date according to universal time.\n"
- }
- },
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date",
- "!doc": "Creates JavaScript Date instances which let you work with dates and times."
- },
- "Error": {
- "!type": "fn(message: string)",
- "prototype": {
- "name": {
- "!type": "string",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Error/name",
- "!doc": "A name for the type of error."
- },
- "message": {
- "!type": "string",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Error/message",
- "!doc": "A human-readable description of the error."
- }
- },
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Error",
- "!doc": "Creates an error object."
- },
- "SyntaxError": {
- "!type": "fn(message: string)",
- "prototype": "Error.prototype",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/SyntaxError",
- "!doc": "Represents an error when trying to interpret syntactically invalid code."
- },
- "ReferenceError": {
- "!type": "fn(message: string)",
- "prototype": "Error.prototype",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/ReferenceError",
- "!doc": "Represents an error when a non-existent variable is referenced."
- },
- "URIError": {
- "!type": "fn(message: string)",
- "prototype": "Error.prototype",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/URIError",
- "!doc": "Represents an error when a malformed URI is encountered."
- },
- "EvalError": {
- "!type": "fn(message: string)",
- "prototype": "Error.prototype",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/EvalError",
- "!doc": "Represents an error regarding the eval function."
- },
- "RangeError": {
- "!type": "fn(message: string)",
- "prototype": "Error.prototype",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/RangeError",
- "!doc": "Represents an error when a number is not within the correct range allowed."
- },
- "TypeError": {
- "!type": "fn(message: string)",
- "prototype": "Error.prototype",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/TypeError",
- "!doc": "Represents an error an error when a value is not of the expected type."
- },
- "parseInt": {
- "!type": "fn(string: string, radix?: number) -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/parseInt",
- "!doc": "Parses a string argument and returns an integer of the specified radix or base."
- },
- "parseFloat": {
- "!type": "fn(string: string) -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/parseFloat",
- "!doc": "Parses a string argument and returns a floating point number."
- },
- "isNaN": {
- "!type": "fn(value: number) -> bool",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/isNaN",
- "!doc": "Determines whether a value is NaN or not. Be careful, this function is broken. You may be interested in ECMAScript 6 Number.isNaN."
- },
- "isFinite": {
- "!type": "fn(value: number) -> bool",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/isFinite",
- "!doc": "Determines whether the passed value is a finite number."
- },
- "eval": {
- "!type": "fn(code: string) -> ?",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/eval",
- "!doc": "Evaluates JavaScript code represented as a string."
- },
- "encodeURI": {
- "!type": "fn(uri: string) -> string",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/encodeURI",
- "!doc": "Encodes a Uniform Resource Identifier (URI) by replacing each instance of certain characters by one, two, three, or four escape sequences representing the UTF-8 encoding of the character (will only be four escape sequences for characters composed of two \"surrogate\" characters)."
- },
- "encodeURIComponent": {
- "!type": "fn(uri: string) -> string",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/encodeURIComponent",
- "!doc": "Encodes a Uniform Resource Identifier (URI) component by replacing each instance of certain characters by one, two, three, or four escape sequences representing the UTF-8 encoding of the character (will only be four escape sequences for characters composed of two \"surrogate\" characters)."
- },
- "decodeURI": {
- "!type": "fn(uri: string) -> string",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/decodeURI",
- "!doc": "Decodes a Uniform Resource Identifier (URI) previously created by encodeURI or by a similar routine."
- },
- "decodeURIComponent": {
- "!type": "fn(uri: string) -> string",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/decodeURIComponent",
- "!doc": "Decodes a Uniform Resource Identifier (URI) component previously created by encodeURIComponent or by a similar routine."
- },
- "Math": {
- "E": {
- "!type": "number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Math/E",
- "!doc": "The base of natural logarithms, e, approximately 2.718."
- },
- "LN2": {
- "!type": "number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Math/LN2",
- "!doc": "The natural logarithm of 2, approximately 0.693."
- },
- "LN10": {
- "!type": "number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Math/LN10",
- "!doc": "The natural logarithm of 10, approximately 2.302."
- },
- "LOG2E": {
- "!type": "number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Math/LOG2E",
- "!doc": "The base 2 logarithm of E (approximately 1.442)."
- },
- "LOG10E": {
- "!type": "number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Math/LOG10E",
- "!doc": "The base 10 logarithm of E (approximately 0.434)."
- },
- "SQRT1_2": {
- "!type": "number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Math/SQRT1_2",
- "!doc": "The square root of 1/2; equivalently, 1 over the square root of 2, approximately 0.707."
- },
- "SQRT2": {
- "!type": "number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Math/SQRT2",
- "!doc": "The square root of 2, approximately 1.414."
- },
- "PI": {
- "!type": "number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Math/PI",
- "!doc": "The ratio of the circumference of a circle to its diameter, approximately 3.14159."
- },
- "abs": {
- "!type": "fn(number) -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Math/abs",
- "!doc": "Returns the absolute value of a number."
- },
- "cos": {
- "!type": "fn(number) -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Math/cos",
- "!doc": "Returns the cosine of a number."
- },
- "sin": {
- "!type": "fn(number) -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Math/sin",
- "!doc": "Returns the sine of a number."
- },
- "tan": {
- "!type": "fn(number) -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Math/tan",
- "!doc": "Returns the tangent of a number."
- },
- "acos": {
- "!type": "fn(number) -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Math/acos",
- "!doc": "Returns the arccosine (in radians) of a number."
- },
- "asin": {
- "!type": "fn(number) -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Math/asin",
- "!doc": "Returns the arcsine (in radians) of a number."
- },
- "atan": {
- "!type": "fn(number) -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Math/atan",
- "!doc": "Returns the arctangent (in radians) of a number."
- },
- "atan2": {
- "!type": "fn(y: number, x: number) -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Math/atan2",
- "!doc": "Returns the arctangent of the quotient of its arguments."
- },
- "ceil": {
- "!type": "fn(number) -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Math/ceil",
- "!doc": "Returns the smallest integer greater than or equal to a number."
- },
- "floor": {
- "!type": "fn(number) -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Math/floor",
- "!doc": "Returns the largest integer less than or equal to a number."
- },
- "round": {
- "!type": "fn(number) -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Math/round",
- "!doc": "Returns the value of a number rounded to the nearest integer."
- },
- "exp": {
- "!type": "fn(number) -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Math/exp",
- "!doc": "Returns Ex, where x is the argument, and E is Euler's constant, the base of the natural logarithms."
- },
- "log": {
- "!type": "fn(number) -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Math/log",
- "!doc": "Returns the natural logarithm (base E) of a number."
- },
- "sqrt": {
- "!type": "fn(number) -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Math/sqrt",
- "!doc": "Returns the square root of a number."
- },
- "pow": {
- "!type": "fn(number, number) -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Math/pow",
- "!doc": "Returns base to the exponent power, that is, baseexponent."
- },
- "max": {
- "!type": "fn(number, number) -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Math/max",
- "!doc": "Returns the largest of zero or more numbers."
- },
- "min": {
- "!type": "fn(number, number) -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Math/min",
- "!doc": "Returns the smallest of zero or more numbers."
- },
- "random": {
- "!type": "fn() -> number",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Math/random",
- "!doc": "Returns a floating-point, pseudo-random number in the range [0, 1) that is, from 0 (inclusive) up to but not including 1 (exclusive), which you can then scale to your desired range."
- },
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Math",
- "!doc": "A built-in object that has properties and methods for mathematical constants and functions."
- },
- "JSON": {
- "parse": {
- "!type": "fn(json: string) -> ?",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/JSON/parse",
- "!doc": "Parse a string as JSON, optionally transforming the value produced by parsing."
- },
- "stringify": {
- "!type": "fn(value: ?) -> string",
- "!url": "https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/JSON/stringify",
- "!doc": "Convert a value to JSON, optionally replacing values if a replacer function is specified, or optionally including only the specified properties if a replacer array is specified."
- },
- "!url": "https://developer.mozilla.org/en-US/docs/JSON",
- "!doc": "JSON (JavaScript Object Notation) is a data-interchange format. It closely resembles a subset of JavaScript syntax, although it is not a strict subset. (See JSON in the JavaScript Reference for full details.) It is useful when writing any kind of JavaScript-based application, including websites and browser extensions. For example, you might store user information in JSON format in a cookie, or you might store extension preferences in JSON in a string-valued browser preference."
- }
-};
diff --git a/qt/org.eclipse.cdt.qt.core.tests/src/org/eclipse/cdt/qt/core/tests/Activator.java b/qt/org.eclipse.cdt.qt.core.tests/src/org/eclipse/cdt/qt/core/tests/Activator.java
deleted file mode 100644
index 133e3d59b99..00000000000
--- a/qt/org.eclipse.cdt.qt.core.tests/src/org/eclipse/cdt/qt/core/tests/Activator.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2015 QNX Software Systems and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *******************************************************************************/
-package org.eclipse.cdt.qt.core.tests;
-
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
-
-public class Activator implements BundleActivator {
-
- private static BundleContext context;
-
- @Override
- public void start(BundleContext context) throws Exception {
- Activator.context = context;
- }
-
- @Override
- public void stop(BundleContext context) throws Exception {
- Activator.context = null;
- }
-
- public static Bundle getBundle() {
- return context != null ? context.getBundle() : null;
- }
-
- public static T getService(Class service) {
- ServiceReference ref = context.getServiceReference(service);
- return ref != null ? context.getService(ref) : null;
- }
-
-}
diff --git a/qt/org.eclipse.cdt.qt.core.tests/src/org/eclipse/cdt/qt/core/tests/NashornTests.java b/qt/org.eclipse.cdt.qt.core.tests/src/org/eclipse/cdt/qt/core/tests/NashornTests.java
deleted file mode 100644
index cece6b52de8..00000000000
--- a/qt/org.eclipse.cdt.qt.core.tests/src/org/eclipse/cdt/qt/core/tests/NashornTests.java
+++ /dev/null
@@ -1,350 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2015 QNX Software Systems and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *******************************************************************************/
-package org.eclipse.cdt.qt.core.tests;
-
-import static org.hamcrest.CoreMatchers.instanceOf;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertThat;
-import static org.junit.Assert.fail;
-
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.cdt.qt.core.IQMLAnalyzer;
-import org.eclipse.cdt.qt.core.QMLTernCompletion;
-import org.eclipse.cdt.qt.core.qmljs.IJSBinaryExpression;
-import org.eclipse.cdt.qt.core.qmljs.IJSBinaryExpression.BinaryOperator;
-import org.eclipse.cdt.qt.core.qmljs.IQmlASTNode;
-import org.eclipse.cdt.qt.core.qmljs.IQmlHeaderItem;
-import org.eclipse.cdt.qt.core.qmljs.IQmlImport;
-import org.eclipse.cdt.qt.core.qmljs.IQmlObjectMember;
-import org.eclipse.cdt.qt.core.qmljs.IQmlProgram;
-import org.eclipse.cdt.qt.core.qmljs.IQmlPropertyBinding;
-import org.eclipse.cdt.qt.core.qmljs.IQmlRootObject;
-import org.eclipse.cdt.qt.core.qmljs.IQmlScriptBinding;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-@SuppressWarnings("nls")
-public class NashornTests {
-
- protected static IQMLAnalyzer analyzer;
-
- @BeforeClass
- public static void loadAnalyzer() {
- analyzer = Activator.getService(IQMLAnalyzer.class);
- }
-
- protected void getCompletions(String code, QMLTernCompletion... expected) throws Throwable {
- int pos = code.indexOf('|');
- code = code.substring(0, pos) + code.substring(pos + 1);
-
- Collection QMLTernCompletions = analyzer.getCompletions("test1.qml", code, pos, false);
-
- Map set = new HashMap<>();
- Set unexpected = new HashSet<>();
- for (QMLTernCompletion QMLTernCompletion : expected) {
- set.put(QMLTernCompletion.getName(), QMLTernCompletion);
- }
- for (QMLTernCompletion QMLTernCompletion : QMLTernCompletions) {
- String name = QMLTernCompletion.getName();
- QMLTernCompletion c = set.get(name);
- if (c != null) {
- assertEquals(c.getType(), QMLTernCompletion.getType());
- assertEquals(c.getOrigin(), QMLTernCompletion.getOrigin());
- set.remove(name);
- } else {
- unexpected.add(name);
- }
- }
- if (!set.isEmpty()) {
- fail("Missing names: " + String.join(", ", set.keySet()));
- }
- if (!unexpected.isEmpty()) {
- fail("Unexpected names: " + String.join(", ", unexpected));
- }
- }
-
- @Test
- public void testParseFile1() throws Throwable {
- IQmlASTNode node = analyzer.parseFile("main.qml", "");
- assertEquals("Unexpected program node type", "QMLProgram", node.getType());
- }
-
- @Test
- public void testParseFile2() throws Throwable {
- IQmlASTNode node = analyzer.parseFile("main.qml", "import QtQuick 2.2");
- assertThat(node, instanceOf(IQmlProgram.class));
- IQmlProgram program = (IQmlProgram) node;
- List headerItems = program.getHeaderItemList().getItems();
- assertEquals("Unexpected number of header items", 1, headerItems.size());
- assertThat(headerItems.get(0), instanceOf(IQmlImport.class));
- IQmlImport imp = (IQmlImport) headerItems.get(0);
- assertEquals("Unexpected module identifier", "QtQuick", imp.getModule().getIdentifier().getName());
- assertEquals("Unexpected module raw version", "2.2", imp.getModule().getVersion().getRaw());
- assertEquals("Unexpected module version", 2.2, imp.getModule().getVersion().getValue(), 0.0001d);
- }
-
- @Test
- public void testParseString1() throws Throwable {
- IQmlASTNode node = analyzer.parseString("", "qml", true, true);
- assertEquals("Unexpected program node type", "QMLProgram", node.getType());
- }
-
- @Test
- public void testParseString2() throws Throwable {
- IQmlASTNode node = analyzer.parseString("import QtQuick 2.2", "qml", true, true);
- assertThat(node, instanceOf(IQmlProgram.class));
- IQmlProgram program = (IQmlProgram) node;
- List headerItems = program.getHeaderItemList().getItems();
- assertEquals("Unexpected number of header items", 1, headerItems.size());
- assertThat(headerItems.get(0), instanceOf(IQmlImport.class));
- IQmlImport imp = (IQmlImport) headerItems.get(0);
- assertEquals("Unexpected module identifier", "QtQuick", imp.getModule().getIdentifier().getName());
- assertEquals("Unexpected module raw version", "2.2", imp.getModule().getVersion().getRaw());
- assertEquals("Unexpected module version", 2.2, imp.getModule().getVersion().getValue(), 0.0001d);
- }
-
- @Test
- public void testParseString3() throws Throwable {
- IQmlASTNode node = analyzer.parseString("import QtQuick 2.2", "qml", true, true);
- assertThat(node, instanceOf(IQmlProgram.class));
- IQmlProgram program = (IQmlProgram) node;
- List headerItems = program.getHeaderItemList().getItems();
- assertEquals("Unexpected number of header items", 1, headerItems.size());
- assertThat(headerItems.get(0), instanceOf(IQmlImport.class));
- IQmlImport imp = (IQmlImport) headerItems.get(0);
- assertEquals("Unexpected start range", 0, imp.getRange()[0]);
- assertEquals("Unexpected end range", 18, imp.getRange()[1]);
- }
-
- @Test
- public void testParseString4() throws Throwable {
- IQmlASTNode node = analyzer.parseString("import QtQuick 2.2", "qml", true, true);
- assertThat(node, instanceOf(IQmlProgram.class));
- IQmlProgram program = (IQmlProgram) node;
- List headerItems = program.getHeaderItemList().getItems();
- assertEquals("Unexpected number of header items", 1, headerItems.size());
- assertThat(headerItems.get(0), instanceOf(IQmlImport.class));
- IQmlImport imp = (IQmlImport) headerItems.get(0);
- assertEquals("Unexpected start line", 1, imp.getLocation().getStart().getLine());
- assertEquals("Unexpected start column", 0, imp.getLocation().getStart().getColumn());
- assertEquals("Unexpected start line", 1, imp.getLocation().getEnd().getLine());
- assertEquals("Unexpected start column", 18, imp.getLocation().getEnd().getColumn());
- }
-
- @Test
- public void testParseString5() throws Throwable {
- IQmlASTNode node = analyzer.parseString("QtObject {}", "qml", true, true);
- assertThat(node, instanceOf(IQmlProgram.class));
- IQmlProgram program = (IQmlProgram) node;
- List headerItems = program.getHeaderItemList().getItems();
- assertEquals("Unexpected number of header items", 0, headerItems.size());
- assertNotNull("Root object was null", program.getRootObject());
- IQmlRootObject root = program.getRootObject();
- assertEquals("Unexpected root object type", "QMLObjectDefinition", root.getType());
- assertEquals("Unexpected root object identifier", "QtObject", root.getIdentifier().getName());
- }
-
- @Test
- public void testParseString6() throws Throwable {
- IQmlASTNode node = analyzer.parseString("QtObject {s: 3 + 3}", "qml", true, true);
- assertThat(node, instanceOf(IQmlProgram.class));
- IQmlProgram program = (IQmlProgram) node;
- assertNotNull("Root object was null", program.getRootObject());
- IQmlRootObject root = program.getRootObject();
- List members = root.getBody().getMembers();
- assertEquals("Unexpected number of root object members", 1, members.size());
- assertThat(members.get(0), instanceOf(IQmlPropertyBinding.class));
- IQmlPropertyBinding bind = (IQmlPropertyBinding) members.get(0);
- assertThat(bind.getBinding(), instanceOf(IQmlScriptBinding.class));
- IQmlScriptBinding scriptBinding = (IQmlScriptBinding) bind.getBinding();
- assertFalse("Script binding was not a JavaScript expression", scriptBinding.isBlock());
- assertThat(scriptBinding.getScript(), instanceOf(IJSBinaryExpression.class));
- assertEquals("Unexpected expression type", "BinaryExpression", scriptBinding.getScript().getType());
- IJSBinaryExpression expr = (IJSBinaryExpression) scriptBinding.getScript();
- assertEquals("Unexpected binary operator", BinaryOperator.Add, expr.getOperator());
- }
-
- @Test
- public void testCompletions1() throws Throwable {
- if (analyzer == null) {
- return;
- }
- getCompletions("Window {\n\tproperty int height\n\the|\n}",
- new QMLTernCompletion("height", "number", "test1.qml"));
- }
-
- @Test
- public void testCompletions2() throws Throwable {
- if (analyzer == null) {
- return;
- }
- getCompletions("Window {\n\tproperty int height\n\tproperty int width\n\tproperty string text\n\t|\n}",
- new QMLTernCompletion("height", "number", "test1.qml"),
- new QMLTernCompletion("text", "string", "test1.qml"),
- new QMLTernCompletion("width", "number", "test1.qml"));
- }
-
- @Test
- public void testCompletions3() throws Throwable {
- if (analyzer == null) {
- return;
- }
- getCompletions("Window {\n\tproperty int height\n\tObject {\n\t\t|\n\t}\n}");
- }
-
- @Test
- public void testCompletions4() throws Throwable {
- if (analyzer == null) {
- return;
- }
- getCompletions("Window {\n\tproperty var test: |\n}",
- new QMLTernCompletion("decodeURI", "fn(uri: string) -> string", "ecma5"),
- new QMLTernCompletion("decodeURIComponent", "fn(uri: string) -> string", "ecma5"),
- new QMLTernCompletion("encodeURI", "fn(uri: string) -> string", "ecma5"),
- new QMLTernCompletion("encodeURIComponent", "fn(uri: string) -> string", "ecma5"),
- new QMLTernCompletion("eval", "fn(code: string)", "ecma5"),
- new QMLTernCompletion("isFinite", "fn(value: number) -> bool", "ecma5"),
- new QMLTernCompletion("isNaN", "fn(value: number) -> bool", "ecma5"),
- new QMLTernCompletion("parseFloat", "fn(string: string) -> number", "ecma5"),
- new QMLTernCompletion("parseInt", "fn(string: string, radix?: number) -> number", "ecma5"),
- new QMLTernCompletion("test", "?", "test1.qml"), new QMLTernCompletion("undefined", "?", "ecma5"),
- new QMLTernCompletion("Array", "fn(size: number)", "ecma5"),
- new QMLTernCompletion("Boolean", "fn(value: ?) -> bool", "ecma5"),
- new QMLTernCompletion("Date", "fn(ms: number)", "ecma5"),
- new QMLTernCompletion("Error", "fn(message: string)", "ecma5"),
- new QMLTernCompletion("EvalError", "fn(message: string)", "ecma5"),
- new QMLTernCompletion("Function", "fn(body: string) -> fn()", "ecma5"),
- new QMLTernCompletion("Infinity", "number", "ecma5"), new QMLTernCompletion("JSON", "JSON", "ecma5"),
- new QMLTernCompletion("Math", "Math", "ecma5"), new QMLTernCompletion("NaN", "number", "ecma5"),
- new QMLTernCompletion("Number", "fn(value: ?) -> number", "ecma5"),
- new QMLTernCompletion("Object", "fn()", "ecma5"),
- new QMLTernCompletion("RangeError", "fn(message: string)", "ecma5"),
- new QMLTernCompletion("ReferenceError", "fn(message: string)", "ecma5"),
- new QMLTernCompletion("RegExp", "fn(source: string, flags?: string)", "ecma5"),
- new QMLTernCompletion("String", "fn(value: ?) -> string", "ecma5"),
- new QMLTernCompletion("SyntaxError", "fn(message: string)", "ecma5"),
- new QMLTernCompletion("TypeError", "fn(message: string)", "ecma5"),
- new QMLTernCompletion("URIError", "fn(message: string)", "ecma5"));
- }
-
- @Test
- public void testCompletions5() throws Throwable {
- if (analyzer == null) {
- return;
- }
- getCompletions("Window {\n\ttest: |\n}",
- new QMLTernCompletion("decodeURI", "fn(uri: string) -> string", "ecma5"),
- new QMLTernCompletion("decodeURIComponent", "fn(uri: string) -> string", "ecma5"),
- new QMLTernCompletion("encodeURI", "fn(uri: string) -> string", "ecma5"),
- new QMLTernCompletion("encodeURIComponent", "fn(uri: string) -> string", "ecma5"),
- new QMLTernCompletion("eval", "fn(code: string)", "ecma5"),
- new QMLTernCompletion("isFinite", "fn(value: number) -> bool", "ecma5"),
- new QMLTernCompletion("isNaN", "fn(value: number) -> bool", "ecma5"),
- new QMLTernCompletion("parseFloat", "fn(string: string) -> number", "ecma5"),
- new QMLTernCompletion("parseInt", "fn(string: string, radix?: number) -> number", "ecma5"),
- new QMLTernCompletion("undefined", "?", "ecma5"),
- new QMLTernCompletion("Array", "fn(size: number)", "ecma5"),
- new QMLTernCompletion("Boolean", "fn(value: ?) -> bool", "ecma5"),
- new QMLTernCompletion("Date", "fn(ms: number)", "ecma5"),
- new QMLTernCompletion("Error", "fn(message: string)", "ecma5"),
- new QMLTernCompletion("EvalError", "fn(message: string)", "ecma5"),
- new QMLTernCompletion("Function", "fn(body: string) -> fn()", "ecma5"),
- new QMLTernCompletion("Infinity", "number", "ecma5"), new QMLTernCompletion("JSON", "JSON", "ecma5"),
- new QMLTernCompletion("Math", "Math", "ecma5"), new QMLTernCompletion("NaN", "number", "ecma5"),
- new QMLTernCompletion("Number", "fn(value: ?) -> number", "ecma5"),
- new QMLTernCompletion("Object", "fn()", "ecma5"),
- new QMLTernCompletion("RangeError", "fn(message: string)", "ecma5"),
- new QMLTernCompletion("ReferenceError", "fn(message: string)", "ecma5"),
- new QMLTernCompletion("RegExp", "fn(source: string, flags?: string)", "ecma5"),
- new QMLTernCompletion("String", "fn(value: ?) -> string", "ecma5"),
- new QMLTernCompletion("SyntaxError", "fn(message: string)", "ecma5"),
- new QMLTernCompletion("TypeError", "fn(message: string)", "ecma5"),
- new QMLTernCompletion("URIError", "fn(message: string)", "ecma5"));
- }
-
- @Test
- public void testCompletions6() throws Throwable {
- if (analyzer == null) {
- return;
- }
- getCompletions("Window {\n\ttest: {\n\t\t|\n\t}\n}",
- new QMLTernCompletion("decodeURI", "fn(uri: string) -> string", "ecma5"),
- new QMLTernCompletion("decodeURIComponent", "fn(uri: string) -> string", "ecma5"),
- new QMLTernCompletion("encodeURI", "fn(uri: string) -> string", "ecma5"),
- new QMLTernCompletion("encodeURIComponent", "fn(uri: string) -> string", "ecma5"),
- new QMLTernCompletion("eval", "fn(code: string)", "ecma5"),
- new QMLTernCompletion("isFinite", "fn(value: number) -> bool", "ecma5"),
- new QMLTernCompletion("isNaN", "fn(value: number) -> bool", "ecma5"),
- new QMLTernCompletion("parseFloat", "fn(string: string) -> number", "ecma5"),
- new QMLTernCompletion("parseInt", "fn(string: string, radix?: number) -> number", "ecma5"),
- new QMLTernCompletion("undefined", "?", "ecma5"),
- new QMLTernCompletion("Array", "fn(size: number)", "ecma5"),
- new QMLTernCompletion("Boolean", "fn(value: ?) -> bool", "ecma5"),
- new QMLTernCompletion("Date", "fn(ms: number)", "ecma5"),
- new QMLTernCompletion("Error", "fn(message: string)", "ecma5"),
- new QMLTernCompletion("EvalError", "fn(message: string)", "ecma5"),
- new QMLTernCompletion("Function", "fn(body: string) -> fn()", "ecma5"),
- new QMLTernCompletion("Infinity", "number", "ecma5"), new QMLTernCompletion("JSON", "JSON", "ecma5"),
- new QMLTernCompletion("Math", "Math", "ecma5"), new QMLTernCompletion("NaN", "number", "ecma5"),
- new QMLTernCompletion("Number", "fn(value: ?) -> number", "ecma5"),
- new QMLTernCompletion("Object", "fn()", "ecma5"),
- new QMLTernCompletion("RangeError", "fn(message: string)", "ecma5"),
- new QMLTernCompletion("ReferenceError", "fn(message: string)", "ecma5"),
- new QMLTernCompletion("RegExp", "fn(source: string, flags?: string)", "ecma5"),
- new QMLTernCompletion("String", "fn(value: ?) -> string", "ecma5"),
- new QMLTernCompletion("SyntaxError", "fn(message: string)", "ecma5"),
- new QMLTernCompletion("TypeError", "fn(message: string)", "ecma5"),
- new QMLTernCompletion("URIError", "fn(message: string)", "ecma5"));
- }
-
- @Test
- public void testCompletions7() throws Throwable {
- if (analyzer == null) {
- return;
- }
- getCompletions("Window {\n\tfunction test() {\n\t\t|\n\t}\n}",
- new QMLTernCompletion("decodeURI", "fn(uri: string) -> string", "ecma5"),
- new QMLTernCompletion("decodeURIComponent", "fn(uri: string) -> string", "ecma5"),
- new QMLTernCompletion("encodeURI", "fn(uri: string) -> string", "ecma5"),
- new QMLTernCompletion("encodeURIComponent", "fn(uri: string) -> string", "ecma5"),
- new QMLTernCompletion("eval", "fn(code: string)", "ecma5"),
- new QMLTernCompletion("isFinite", "fn(value: number) -> bool", "ecma5"),
- new QMLTernCompletion("isNaN", "fn(value: number) -> bool", "ecma5"),
- new QMLTernCompletion("parseFloat", "fn(string: string) -> number", "ecma5"),
- new QMLTernCompletion("parseInt", "fn(string: string, radix?: number) -> number", "ecma5"),
- new QMLTernCompletion("test", "fn()", "test1.qml"), new QMLTernCompletion("undefined", "?", "ecma5"),
- new QMLTernCompletion("Array", "fn(size: number)", "ecma5"),
- new QMLTernCompletion("Boolean", "fn(value: ?) -> bool", "ecma5"),
- new QMLTernCompletion("Date", "fn(ms: number)", "ecma5"),
- new QMLTernCompletion("Error", "fn(message: string)", "ecma5"),
- new QMLTernCompletion("EvalError", "fn(message: string)", "ecma5"),
- new QMLTernCompletion("Function", "fn(body: string) -> fn()", "ecma5"),
- new QMLTernCompletion("Infinity", "number", "ecma5"), new QMLTernCompletion("JSON", "JSON", "ecma5"),
- new QMLTernCompletion("Math", "Math", "ecma5"), new QMLTernCompletion("NaN", "number", "ecma5"),
- new QMLTernCompletion("Number", "fn(value: ?) -> number", "ecma5"),
- new QMLTernCompletion("Object", "fn()", "ecma5"),
- new QMLTernCompletion("RangeError", "fn(message: string)", "ecma5"),
- new QMLTernCompletion("ReferenceError", "fn(message: string)", "ecma5"),
- new QMLTernCompletion("RegExp", "fn(source: string, flags?: string)", "ecma5"),
- new QMLTernCompletion("String", "fn(value: ?) -> string", "ecma5"),
- new QMLTernCompletion("SyntaxError", "fn(message: string)", "ecma5"),
- new QMLTernCompletion("TypeError", "fn(message: string)", "ecma5"),
- new QMLTernCompletion("URIError", "fn(message: string)", "ecma5"));
- }
-}
diff --git a/qt/org.eclipse.cdt.qt.core.tests/src/org/eclipse/cdt/qt/core/tests/QMLDirectoryLexerTests.java b/qt/org.eclipse.cdt.qt.core.tests/src/org/eclipse/cdt/qt/core/tests/QMLDirectoryLexerTests.java
deleted file mode 100644
index e93627d2b56..00000000000
--- a/qt/org.eclipse.cdt.qt.core.tests/src/org/eclipse/cdt/qt/core/tests/QMLDirectoryLexerTests.java
+++ /dev/null
@@ -1,212 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2015 QNX Software Systems and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * QNX Software Systems - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.cdt.qt.core.tests;
-
-import static org.junit.Assert.assertEquals;
-
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-
-import org.eclipse.cdt.internal.qt.core.location.Position;
-import org.eclipse.cdt.qt.core.qmldir.QMLDirectoryLexer;
-import org.eclipse.cdt.qt.core.qmldir.QMLDirectoryLexer.Token;
-import org.eclipse.cdt.qt.core.qmldir.QMLDirectoryLexer.TokenType;
-import org.junit.Test;
-
-@SuppressWarnings("nls")
-public class QMLDirectoryLexerTests {
- private void assertToken(TokenType type, String text, int start, int end, Position locStart, Position locEnd,
- Token actual) {
- // Check token type and text
- assertEquals("Unexpected token type", type, actual.getType());
- assertEquals("Unexpected token text", text, actual.getText());
-
- // Check position offsets
- assertEquals("Unexpected start position", start, actual.getStart());
- assertEquals("Unexpected end position", end, actual.getEnd());
-
- // Check SourceLocation start
- assertEquals("Unexpected location start line", locStart.getLine(), actual.getLocation().getStart().getLine());
- assertEquals("Unexpected location start column", locStart.getColumn(),
- actual.getLocation().getStart().getColumn());
-
- // Check SourceLocation end
- assertEquals("Unexpected location end line", locEnd.getLine(), actual.getLocation().getEnd().getLine());
- assertEquals("Unexpected location end column", locEnd.getColumn(), actual.getLocation().getEnd().getColumn());
- }
-
- private InputStream createInputStream(String s) {
- return new ByteArrayInputStream(s.getBytes());
- }
-
- @Test
- public void testCommentToken() {
- QMLDirectoryLexer lexer = new QMLDirectoryLexer();
- lexer.setInput(new ByteArrayInputStream("# This is a comment".getBytes()));
- assertToken(TokenType.COMMENT, "# This is a comment", 0, 19, new Position(1, 0), new Position(1, 19),
- lexer.nextToken(false));
- }
-
- @Test
- public void testMultipleCommentTokens() {
- QMLDirectoryLexer lexer = new QMLDirectoryLexer();
- lexer.setInput(createInputStream("# This is a comment\n# This is another comment\n"));
- assertToken(TokenType.COMMENT, "# This is a comment", 0, 19, new Position(1, 0), new Position(1, 19),
- lexer.nextToken(false));
- assertEquals(TokenType.COMMAND_END, lexer.nextToken(false).getType());
- assertToken(TokenType.COMMENT, "# This is another comment", 20, 45, new Position(2, 0), new Position(2, 25),
- lexer.nextToken(false));
- assertEquals(TokenType.COMMAND_END, lexer.nextToken(false).getType());
- assertEquals(TokenType.EOF, lexer.nextToken(false).getType());
- }
-
- @Test
- public void testModuleToken() {
- QMLDirectoryLexer lexer = new QMLDirectoryLexer();
- lexer.setInput(createInputStream("module"));
- assertToken(TokenType.MODULE, "module", 0, 6, new Position(1, 0), new Position(1, 6), lexer.nextToken());
- }
-
- @Test
- public void testTypeInfoToken() {
- QMLDirectoryLexer lexer = new QMLDirectoryLexer();
- lexer.setInput(createInputStream("typeinfo"));
- assertToken(TokenType.TYPEINFO, "typeinfo", 0, 8, new Position(1, 0), new Position(1, 8), lexer.nextToken());
- }
-
- @Test
- public void testSingletonToken() {
- QMLDirectoryLexer lexer = new QMLDirectoryLexer();
- lexer.setInput(createInputStream("singleton"));
- assertToken(TokenType.SINGLETON, "singleton", 0, 9, new Position(1, 0), new Position(1, 9), lexer.nextToken());
- }
-
- @Test
- public void testInternalToken() {
- QMLDirectoryLexer lexer = new QMLDirectoryLexer();
- lexer.setInput(createInputStream("internal"));
- assertToken(TokenType.INTERNAL, "internal", 0, 8, new Position(1, 0), new Position(1, 8), lexer.nextToken());
- }
-
- @Test
- public void testPluginToken() {
- QMLDirectoryLexer lexer = new QMLDirectoryLexer();
- lexer.setInput(createInputStream("plugin"));
- assertToken(TokenType.PLUGIN, "plugin", 0, 6, new Position(1, 0), new Position(1, 6), lexer.nextToken());
- }
-
- @Test
- public void testClassnameToken() {
- QMLDirectoryLexer lexer = new QMLDirectoryLexer();
- lexer.setInput(createInputStream("classname"));
- assertToken(TokenType.CLASSNAME, "classname", 0, 9, new Position(1, 0), new Position(1, 9), lexer.nextToken());
- }
-
- @Test
- public void testDependsToken() {
- QMLDirectoryLexer lexer = new QMLDirectoryLexer();
- lexer.setInput(createInputStream("depends"));
- assertToken(TokenType.DEPENDS, "depends", 0, 7, new Position(1, 0), new Position(1, 7), lexer.nextToken());
- }
-
- @Test
- public void testDesignerSupportedToken() {
- QMLDirectoryLexer lexer = new QMLDirectoryLexer();
- lexer.setInput(createInputStream("designersupported"));
- assertToken(TokenType.DESIGNERSUPPORTED, "designersupported", 0, 17, new Position(1, 0), new Position(1, 17),
- lexer.nextToken());
- }
-
- @Test
- public void testWordToken() {
- QMLDirectoryLexer lexer = new QMLDirectoryLexer();
- lexer.setInput(createInputStream("QtQuick.Control"));
- assertToken(TokenType.WORD, "QtQuick.Control", 0, 15, new Position(1, 0), new Position(1, 15),
- lexer.nextToken());
- }
-
- @Test
- public void testWordTokenContainsKeyword() {
- QMLDirectoryLexer lexer = new QMLDirectoryLexer();
- lexer.setInput(createInputStream("plugins.test"));
- assertToken(TokenType.WORD, "plugins.test", 0, 12, new Position(1, 0), new Position(1, 12), lexer.nextToken());
- }
-
- @Test
- public void testWordTokenAsRelativePath() {
- QMLDirectoryLexer lexer = new QMLDirectoryLexer();
- lexer.setInput(createInputStream("./test/something/"));
- assertToken(TokenType.WORD, "./test/something/", 0, 17, new Position(1, 0), new Position(1, 17),
- lexer.nextToken());
- }
-
- @Test
- public void testWordTokenAsAbsoluteWindowsPath() {
- QMLDirectoryLexer lexer = new QMLDirectoryLexer();
- lexer.setInput(createInputStream("C:\\Users\\someone\\test\\something\\"));
- assertToken(TokenType.WORD, "C:\\Users\\someone\\test\\something\\", 0, 32, new Position(1, 0),
- new Position(1, 32), lexer.nextToken());
- }
-
- @Test
- public void testWordTokenAsAbsoluteUnixPath() {
- QMLDirectoryLexer lexer = new QMLDirectoryLexer();
- lexer.setInput(createInputStream("/usr/local/test/something/"));
- assertToken(TokenType.WORD, "/usr/local/test/something/", 0, 26, new Position(1, 0), new Position(1, 26),
- lexer.nextToken());
- }
-
- @Test
- public void testDecimalToken() {
- QMLDirectoryLexer lexer = new QMLDirectoryLexer();
- lexer.setInput(createInputStream("2.3"));
- assertToken(TokenType.DECIMAL, "2.3", 0, 3, new Position(1, 0), new Position(1, 3), lexer.nextToken());
- }
-
- @Test
- public void testIntegerToken() {
- QMLDirectoryLexer lexer = new QMLDirectoryLexer();
- lexer.setInput(createInputStream("3"));
- assertToken(TokenType.INTEGER, "3", 0, 1, new Position(1, 0), new Position(1, 1), lexer.nextToken());
- }
-
- @Test
- public void testWhitespaceToken() {
- QMLDirectoryLexer lexer = new QMLDirectoryLexer();
- lexer.setInput(createInputStream(" \t\n"));
- assertToken(TokenType.WHITESPACE, " \t", 0, 2, new Position(1, 0), new Position(1, 2), lexer.nextToken(false));
- }
-
- @Test
- public void testCommandEndToken() {
- QMLDirectoryLexer lexer = new QMLDirectoryLexer();
- lexer.setInput(createInputStream("\n"));
- assertToken(TokenType.COMMAND_END, "\\n", 0, 1, new Position(1, 0), new Position(1, 1), lexer.nextToken());
- }
-
- @Test
- public void testEOFToken() {
- QMLDirectoryLexer lexer = new QMLDirectoryLexer();
- lexer.setInput(createInputStream(""));
- assertToken(TokenType.EOF, "", 0, 0, new Position(1, 0), new Position(1, 0), lexer.nextToken());
- }
-
- @Test
- public void testEOFTokenAfterCommand() {
- QMLDirectoryLexer lexer = new QMLDirectoryLexer();
- lexer.setInput(createInputStream("\n"));
- lexer.nextToken();
- assertToken(TokenType.EOF, "", 1, 1, new Position(2, 0), new Position(2, 0), lexer.nextToken());
- }
-}
diff --git a/qt/org.eclipse.cdt.qt.core.tests/src/org/eclipse/cdt/qt/core/tests/QMLDirectoryParserTests.java b/qt/org.eclipse.cdt.qt.core.tests/src/org/eclipse/cdt/qt/core/tests/QMLDirectoryParserTests.java
deleted file mode 100644
index d1515119a00..00000000000
--- a/qt/org.eclipse.cdt.qt.core.tests/src/org/eclipse/cdt/qt/core/tests/QMLDirectoryParserTests.java
+++ /dev/null
@@ -1,309 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2015 QNX Software Systems and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * QNX Software Systems - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.cdt.qt.core.tests;
-
-import static org.hamcrest.CoreMatchers.instanceOf;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertThat;
-import static org.junit.Assert.fail;
-
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-
-import org.eclipse.cdt.internal.qt.core.location.Position;
-import org.eclipse.cdt.qt.core.location.IPosition;
-import org.eclipse.cdt.qt.core.qmldir.IQDirAST;
-import org.eclipse.cdt.qt.core.qmldir.IQDirASTNode;
-import org.eclipse.cdt.qt.core.qmldir.IQDirClassnameCommand;
-import org.eclipse.cdt.qt.core.qmldir.IQDirCommentCommand;
-import org.eclipse.cdt.qt.core.qmldir.IQDirDependsCommand;
-import org.eclipse.cdt.qt.core.qmldir.IQDirDesignerSupportedCommand;
-import org.eclipse.cdt.qt.core.qmldir.IQDirInternalCommand;
-import org.eclipse.cdt.qt.core.qmldir.IQDirModuleCommand;
-import org.eclipse.cdt.qt.core.qmldir.IQDirPluginCommand;
-import org.eclipse.cdt.qt.core.qmldir.IQDirResourceCommand;
-import org.eclipse.cdt.qt.core.qmldir.IQDirSingletonCommand;
-import org.eclipse.cdt.qt.core.qmldir.IQDirSyntaxError;
-import org.eclipse.cdt.qt.core.qmldir.IQDirTypeInfoCommand;
-import org.eclipse.cdt.qt.core.qmldir.QMLDirectoryParser;
-import org.eclipse.cdt.qt.core.qmldir.QMLDirectoryParser.SyntaxError;
-import org.junit.Test;
-
-@SuppressWarnings("nls")
-public class QMLDirectoryParserTests {
-
- public void assertLocation(int start, int end, IPosition locStart, IPosition locEnd, IQDirASTNode node) {
- // Check position offsets
- assertEquals("Unexpected start position", start, node.getStart());
- assertEquals("Unexpected end position", end, node.getEnd());
-
- // Check SourceLocation start
- assertEquals("Unexpected location start line", locStart.getLine(), node.getLocation().getStart().getLine());
- assertEquals("Unexpected location start column", locStart.getColumn(),
- node.getLocation().getStart().getColumn());
- }
-
- private InputStream createInputStream(String s) {
- return new ByteArrayInputStream(s.getBytes());
- }
-
- @Test
- public void testModuleCommand() {
- QMLDirectoryParser parser = new QMLDirectoryParser();
- IQDirAST ast = parser.parse(createInputStream("module QtQuick.Controls\n"), false);
- assertEquals("Unexpected command list size", 1, ast.getCommands().size());
- assertThat("Unexpected command", ast.getCommands().get(0), instanceOf(IQDirModuleCommand.class));
- IQDirModuleCommand mod = (IQDirModuleCommand) ast.getCommands().get(0);
- assertEquals("Unexpected qualified ID", "QtQuick.Controls", mod.getModuleIdentifier().getText());
- assertLocation(0, 24, new Position(1, 0), new Position(1, 24), mod);
- }
-
- @Test
- public void testModuleNoIdentifier() {
- try {
- QMLDirectoryParser parser = new QMLDirectoryParser();
- parser.parse(createInputStream("module\n"), false);
- fail("Parser did not throw SyntaxError");
- } catch (SyntaxError e) {
- assertEquals("Unexpected token '\\n' (1:6)", e.getMessage());
- }
- }
-
- @Test
- public void testSingletonCommand() {
- QMLDirectoryParser parser = new QMLDirectoryParser();
- IQDirAST ast = parser.parse(createInputStream("singleton Singleton 2.3 Singleton.qml\n"), false);
- assertEquals("Unexpected command list size", 1, ast.getCommands().size());
- assertThat("Unexpected command", ast.getCommands().get(0), instanceOf(IQDirSingletonCommand.class));
- IQDirSingletonCommand singleton = (IQDirSingletonCommand) ast.getCommands().get(0);
- assertEquals("Unexpected type name", "Singleton", singleton.getTypeName().getText());
- assertEquals("Unexpected initial version", "2.3", singleton.getInitialVersion().getVersionString());
- assertEquals("Unexpected file name", "Singleton.qml", singleton.getFile().getText());
- assertLocation(0, 38, new Position(1, 0), new Position(1, 38), singleton);
- }
-
- @Test
- public void testInvalidVersionNumber() {
- try {
- QMLDirectoryParser parser = new QMLDirectoryParser();
- parser.parse(createInputStream("singleton Singleton 2 Singleton.qml\n"), false);
- fail("Parser did not throw SyntaxError");
- } catch (SyntaxError e) {
- assertEquals("Unexpected token '2' (1:20)", e.getMessage());
- }
- }
-
- @Test
- public void testInternalCommand() {
- QMLDirectoryParser parser = new QMLDirectoryParser();
- IQDirAST ast = parser.parse(createInputStream("internal MyPrivateType MyPrivateType.qml\n"), false);
- assertEquals("Unexpected command list size", 1, ast.getCommands().size());
- assertThat("Unexpected command", ast.getCommands().get(0), instanceOf(IQDirInternalCommand.class));
- IQDirInternalCommand internal = (IQDirInternalCommand) ast.getCommands().get(0);
- assertEquals("Unexpected type name", "MyPrivateType", internal.getTypeName().getText());
- assertEquals("Unexpected file name", "MyPrivateType.qml", internal.getFile().getText());
- assertLocation(0, 41, new Position(1, 0), new Position(1, 41), internal);
- }
-
- @Test
- public void testResourceCommand() {
- QMLDirectoryParser parser = new QMLDirectoryParser();
- IQDirAST ast = parser.parse(createInputStream("MyScript 1.0 MyScript.qml\n"), false);
- assertEquals("Unexpected command list size", 1, ast.getCommands().size());
- assertThat("Unexpected command", ast.getCommands().get(0), instanceOf(IQDirResourceCommand.class));
- IQDirResourceCommand resource = (IQDirResourceCommand) ast.getCommands().get(0);
- assertEquals("Unexpected type name", "MyScript", resource.getResourceIdentifier().getText());
- assertEquals("Unexpected initial version", "1.0", resource.getInitialVersion().getVersionString());
- assertEquals("Unexpected file name", "MyScript.qml", resource.getFile().getText());
- assertLocation(0, 26, new Position(1, 0), new Position(1, 26), resource);
- }
-
- @Test
- public void testPluginCommand() {
- QMLDirectoryParser parser = new QMLDirectoryParser();
- IQDirAST ast = parser.parse(createInputStream("plugin MyPluginLibrary\n"), false);
- assertEquals("Unexpected command list size", 1, ast.getCommands().size());
- assertThat("Unexpected command", ast.getCommands().get(0), instanceOf(IQDirPluginCommand.class));
- IQDirPluginCommand plugin = (IQDirPluginCommand) ast.getCommands().get(0);
- assertEquals("Unexpected identifier", "MyPluginLibrary", plugin.getName().getText());
- assertEquals("Unexpected path", null, plugin.getPath());
- assertLocation(0, 23, new Position(1, 0), new Position(1, 23), plugin);
- }
-
- @Test
- public void testPluginCommandWithPath() {
- QMLDirectoryParser parser = new QMLDirectoryParser();
- IQDirAST ast = parser.parse(createInputStream("plugin MyPluginLibrary ./lib/\n"), false);
- assertEquals("Unexpected command list size", 1, ast.getCommands().size());
- assertThat("Unexpected command", ast.getCommands().get(0), instanceOf(IQDirPluginCommand.class));
- IQDirPluginCommand plugin = (IQDirPluginCommand) ast.getCommands().get(0);
- assertEquals("Unexpected identifier", "MyPluginLibrary", plugin.getName().getText());
- assertEquals("Unexpected path", "./lib/", plugin.getPath().getText());
- assertLocation(0, 30, new Position(1, 0), new Position(1, 30), plugin);
- }
-
- @Test
- public void testClassnameCommand() {
- QMLDirectoryParser parser = new QMLDirectoryParser();
- IQDirAST ast = parser.parse(createInputStream("classname MyClass\n"), false);
- assertEquals("Unexpected command list size", 1, ast.getCommands().size());
- assertThat("Unexpected command", ast.getCommands().get(0), instanceOf(IQDirClassnameCommand.class));
- IQDirClassnameCommand classname = (IQDirClassnameCommand) ast.getCommands().get(0);
- assertEquals("Unexpected class name", "MyClass", classname.getIdentifier().getText());
- assertLocation(0, 18, new Position(1, 0), new Position(1, 18), classname);
- }
-
- @Test
- public void testTypeInfoCommand() {
- QMLDirectoryParser parser = new QMLDirectoryParser();
- IQDirAST ast = parser.parse(createInputStream("typeinfo mymodule.qmltypes\n"), false);
- assertEquals("Unexpected command list size", 1, ast.getCommands().size());
- assertThat("Unexpected command", ast.getCommands().get(0), instanceOf(IQDirTypeInfoCommand.class));
- IQDirTypeInfoCommand typeinfo = (IQDirTypeInfoCommand) ast.getCommands().get(0);
- assertEquals("Unexpected file name", "mymodule.qmltypes", typeinfo.getFile().getText());
- assertLocation(0, 27, new Position(1, 0), new Position(1, 27), typeinfo);
- }
-
- @Test
- public void testDependsCommand() {
- QMLDirectoryParser parser = new QMLDirectoryParser();
- IQDirAST ast = parser.parse(createInputStream("depends MyOtherModule 1.0\n"), false);
- assertEquals("Unexpected command list size", 1, ast.getCommands().size());
- assertThat("Unexpected command", ast.getCommands().get(0), instanceOf(IQDirDependsCommand.class));
- IQDirDependsCommand depends = (IQDirDependsCommand) ast.getCommands().get(0);
- assertEquals("Unexpected module identifier", "MyOtherModule", depends.getModuleIdentifier().getText());
- assertEquals("Unexpected initial version", "1.0", depends.getInitialVersion().getVersionString());
- assertLocation(0, 26, new Position(1, 0), new Position(1, 26), depends);
- }
-
- @Test
- public void testDesignerSupportedCommand() {
- QMLDirectoryParser parser = new QMLDirectoryParser();
- IQDirAST ast = parser.parse(createInputStream("designersupported\n"), false);
- assertEquals("Unexpected command list size", 1, ast.getCommands().size());
- assertThat("Unexpected command", ast.getCommands().get(0), instanceOf(IQDirDesignerSupportedCommand.class));
- assertLocation(0, 18, new Position(1, 0), new Position(1, 18), ast.getCommands().get(0));
- }
-
- @Test
- public void testCommentCommand() {
- QMLDirectoryParser parser = new QMLDirectoryParser();
- IQDirAST ast = parser.parse(createInputStream("# This is a comment command\n"), false);
- assertEquals("Unexpected command list size", 1, ast.getCommands().size());
- assertThat("Unexpected command", ast.getCommands().get(0), instanceOf(IQDirCommentCommand.class));
- IQDirCommentCommand comment = (IQDirCommentCommand) ast.getCommands().get(0);
- assertEquals("Unexpected text", "# This is a comment command", comment.getText());
- }
-
- @Test
- public void testSyntaxErrorCommand() {
- QMLDirectoryParser parser = new QMLDirectoryParser();
- IQDirAST ast = parser.parse(createInputStream("classname"));
- assertEquals("Unexpected command list size", 1, ast.getCommands().size());
- assertThat("Unexpected command", ast.getCommands().get(0), instanceOf(IQDirSyntaxError.class));
- IQDirSyntaxError err = (IQDirSyntaxError) ast.getCommands().get(0);
- assertEquals("Unexpected message", "Unexpected token 'EOF' (1:9)", err.getSyntaxError().getMessage());
- assertLocation(0, 9, new Position(1, 0), new Position(1, 9), err);
- }
-
- @Test
- public void testSyntaxErrorCommandIncludesWholeLine() {
- QMLDirectoryParser parser = new QMLDirectoryParser();
- IQDirAST ast = parser.parse(createInputStream("classname class extra\n"));
- assertEquals("Unexpected command list size", 1, ast.getCommands().size());
- assertThat("Unexpected command", ast.getCommands().get(0), instanceOf(IQDirSyntaxError.class));
- IQDirSyntaxError err = (IQDirSyntaxError) ast.getCommands().get(0);
- assertEquals("Unexpected message", "Expected token '\\n' or 'EOF', but saw 'extra' (1:16)",
- err.getSyntaxError().getMessage());
- assertLocation(0, 22, new Position(1, 0), new Position(1, 22), err);
- }
-
- @Test
- public void testExampleQMLDirFile() {
- QMLDirectoryParser parser = new QMLDirectoryParser();
- IQDirAST ast = parser.parse(createInputStream("module QtQuick\n" + "plugin qtquick2plugin\n"
- + "classname QtQuick2Plugin\n" + "typeinfo plugins.qmltypes\n" + "designersupported\n"));
-
- assertEquals("Unexpected command list size", 5, ast.getCommands().size());
- // Module Command (index 0)
- assertThat("Unexpected command", ast.getCommands().get(0), instanceOf(IQDirModuleCommand.class));
- IQDirModuleCommand mod = (IQDirModuleCommand) ast.getCommands().get(0);
- assertEquals("Unexpected module qualified ID", "QtQuick", mod.getModuleIdentifier().getText());
- // Plugin Command (index 1)
- assertThat("Unexpected command", ast.getCommands().get(1), instanceOf(IQDirPluginCommand.class));
- IQDirPluginCommand plugin = (IQDirPluginCommand) ast.getCommands().get(1);
- assertEquals("Unexpected plugin identifier", "qtquick2plugin", plugin.getName().getText());
- assertEquals("Unexpected plugin path", null, plugin.getPath());
- // Classname Command (index 2)
- assertThat("Unexpected command", ast.getCommands().get(2), instanceOf(IQDirClassnameCommand.class));
- IQDirClassnameCommand classname = (IQDirClassnameCommand) ast.getCommands().get(2);
- assertEquals("Unexpected class name", "QtQuick2Plugin", classname.getIdentifier().getText());
- // Type Info Command (index 3)
- assertThat("Unexpected command", ast.getCommands().get(3), instanceOf(IQDirTypeInfoCommand.class));
- IQDirTypeInfoCommand typeinfo = (IQDirTypeInfoCommand) ast.getCommands().get(3);
- assertEquals("Unexpected type info file name", "plugins.qmltypes", typeinfo.getFile().getText());
- // Designer Supported Command (index 4)
- assertThat("Unexpected command", ast.getCommands().get(4), instanceOf(IQDirDesignerSupportedCommand.class));
- }
-
- @Test
- public void testExampleQMLDirFileWithError() {
- QMLDirectoryParser parser = new QMLDirectoryParser();
- IQDirAST ast = parser.parse(createInputStream("module QtQuick\n" + "plugin qtquick2plugin\n"
- + "classnames QtQuick2Plugin\n" + "typeinfo plugins.qmltypes\n" + "designersupported\n"));
-
- assertEquals("Unexpected command list size", 5, ast.getCommands().size());
- // Module Command (index 0)
- assertThat("Unexpected command", ast.getCommands().get(0), instanceOf(IQDirModuleCommand.class));
- IQDirModuleCommand mod = (IQDirModuleCommand) ast.getCommands().get(0);
- assertEquals("Unexpected module qualified ID", "QtQuick", mod.getModuleIdentifier().getText());
- // Plugin Command (index 1)
- assertThat("Unexpected command", ast.getCommands().get(1), instanceOf(IQDirPluginCommand.class));
- IQDirPluginCommand plugin = (IQDirPluginCommand) ast.getCommands().get(1);
- assertEquals("Unexpected plugin identifier", "qtquick2plugin", plugin.getName().getText());
- assertEquals("Unexpected plugin path", null, plugin.getPath());
- // Syntax Error Command (index 2)
- assertThat("Unexpected command", ast.getCommands().get(2), instanceOf(IQDirSyntaxError.class));
- IQDirSyntaxError err = (IQDirSyntaxError) ast.getCommands().get(2);
- assertEquals("Unexpected error message", "Unexpected token 'QtQuick2Plugin' (3:11)",
- err.getSyntaxError().getMessage());
- // Type Info Command (index 3)
- assertThat("Unexpected command", ast.getCommands().get(3), instanceOf(IQDirTypeInfoCommand.class));
- IQDirTypeInfoCommand typeinfo = (IQDirTypeInfoCommand) ast.getCommands().get(3);
- assertEquals("Unexpected type info file name", "plugins.qmltypes", typeinfo.getFile().getText());
- // Designer Supported Command (index 4)
- assertThat("Unexpected command", ast.getCommands().get(4), instanceOf(IQDirDesignerSupportedCommand.class));
- }
-
- @Test
- public void testParseTwoDifferentStreams() {
- QMLDirectoryParser parser = new QMLDirectoryParser();
-
- // Parse module QtQuick.Controls
- IQDirAST ast = parser.parse(createInputStream("module QtQuick.Controls\n"), false);
- assertEquals("Unexpected command list size", 1, ast.getCommands().size());
- assertThat("Unexpected command", ast.getCommands().get(0), instanceOf(IQDirModuleCommand.class));
- IQDirModuleCommand mod = (IQDirModuleCommand) ast.getCommands().get(0);
- assertEquals("Unexpected qualified ID", "QtQuick.Controls", mod.getModuleIdentifier().getText());
- assertLocation(0, 24, new Position(1, 0), new Position(1, 24), mod);
-
- // Parse a second module MyModule
- ast = parser.parse(createInputStream("module MyModule\n"), false);
- assertEquals("Unexpected command list size", 1, ast.getCommands().size());
- assertThat("Unexpected command", ast.getCommands().get(0), instanceOf(IQDirModuleCommand.class));
- mod = (IQDirModuleCommand) ast.getCommands().get(0);
- assertEquals("Unexpected qualified ID", "MyModule", mod.getModuleIdentifier().getText());
- assertLocation(0, 16, new Position(1, 0), new Position(1, 16), mod);
- }
-}
diff --git a/qt/org.eclipse.cdt.qt.core/.classpath b/qt/org.eclipse.cdt.qt.core/.classpath
deleted file mode 100644
index 81fe078c20c..00000000000
--- a/qt/org.eclipse.cdt.qt.core/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
diff --git a/qt/org.eclipse.cdt.qt.core/.project b/qt/org.eclipse.cdt.qt.core/.project
deleted file mode 100644
index 8aaa1e708b1..00000000000
--- a/qt/org.eclipse.cdt.qt.core/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-
-
- org.eclipse.cdt.qt.core
-
-
-
-
-
- org.eclipse.jdt.core.javabuilder
-
-
-
-
- org.eclipse.pde.ManifestBuilder
-
-
-
-
- org.eclipse.pde.SchemaBuilder
-
-
-
-
- org.eclipse.pde.api.tools.apiAnalysisBuilder
-
-
-
-
-
- org.eclipse.pde.PluginNature
- org.eclipse.jdt.core.javanature
- org.eclipse.pde.api.tools.apiAnalysisNature
-
-
diff --git a/qt/org.eclipse.cdt.qt.core/.settings/org.eclipse.core.resources.prefs b/qt/org.eclipse.cdt.qt.core/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203a..00000000000
--- a/qt/org.eclipse.cdt.qt.core/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/=UTF-8
diff --git a/qt/org.eclipse.cdt.qt.core/.settings/org.eclipse.jdt.core.prefs b/qt/org.eclipse.cdt.qt.core/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 9df862f8d49..00000000000
--- a/qt/org.eclipse.cdt.qt.core/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,486 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch, *.xtend
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.mainOnlyProjectHasTestOnlyDependency=error
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error
-org.eclipse.jdt.core.codeComplete.argumentPrefixes=
-org.eclipse.jdt.core.codeComplete.argumentSuffixes=
-org.eclipse.jdt.core.codeComplete.fieldPrefixes=
-org.eclipse.jdt.core.codeComplete.fieldSuffixes=
-org.eclipse.jdt.core.codeComplete.localPrefixes=
-org.eclipse.jdt.core.codeComplete.localSuffixes=
-org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
-org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
-org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
-org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnull.secondary=
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary=
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.methodParameters=generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=17
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.APILeak=warning
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=ignore
-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=protected
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
-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=return_tag
-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=protected
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=ignore
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=warning
-org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentTypeStrict=disabled
-org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=info
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unstableAutoModuleName=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.release=enabled
-org.eclipse.jdt.core.compiler.source=17
-org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false
-org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.align_variable_declarations_on_columns=false
-org.eclipse.jdt.core.formatter.align_with_spaces=false
-org.eclipse.jdt.core.formatter.alignment_for_additive_operator=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=16
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0
-org.eclipse.jdt.core.formatter.alignment_for_logical_operator=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_module_statements=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_multiplicative_operator=16
-org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_string_concatenation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0
-org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.align_tags_descriptions_grouped=true
-org.eclipse.jdt.core.formatter.comment.align_tags_names_descriptions=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.count_line_length_from_starting_position=true
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_additive_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
-org.eclipse.jdt.core.formatter.insert_space_after_logical_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_multiplicative_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_relational_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_shift_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_string_concatenation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_additive_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
-org.eclipse.jdt.core.formatter.insert_space_before_logical_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_multiplicative_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_relational_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_shift_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_string_concatenation=insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=true
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_simple_do_while_body_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_simple_for_body_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_simple_while_body_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=120
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=true
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
-org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_multiplicative_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_before_string_concatenation=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
-org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter
diff --git a/qt/org.eclipse.cdt.qt.core/.settings/org.eclipse.jdt.launching.prefs b/qt/org.eclipse.cdt.qt.core/.settings/org.eclipse.jdt.launching.prefs
deleted file mode 100644
index f8a131b56e0..00000000000
--- a/qt/org.eclipse.cdt.qt.core/.settings/org.eclipse.jdt.launching.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.launching.PREF_COMPILER_COMPLIANCE_DOES_NOT_MATCH_JRE=warning
-org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=warning
diff --git a/qt/org.eclipse.cdt.qt.core/.settings/org.eclipse.jdt.ui.prefs b/qt/org.eclipse.cdt.qt.core/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index d35ba9b5231..00000000000
--- a/qt/org.eclipse.cdt.qt.core/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,213 +0,0 @@
-cleanup.add_all=false
-cleanup.add_default_serial_version_id=true
-cleanup.add_generated_serial_version_id=false
-cleanup.add_missing_annotations=true
-cleanup.add_missing_deprecated_annotations=true
-cleanup.add_missing_methods=false
-cleanup.add_missing_nls_tags=false
-cleanup.add_missing_override_annotations=true
-cleanup.add_missing_override_annotations_interface_methods=true
-cleanup.add_serial_version_id=false
-cleanup.always_use_blocks=true
-cleanup.always_use_parentheses_in_expressions=false
-cleanup.always_use_this_for_non_static_field_access=false
-cleanup.always_use_this_for_non_static_method_access=false
-cleanup.array_with_curly=false
-cleanup.arrays_fill=false
-cleanup.bitwise_conditional_expression=false
-cleanup.boolean_literal=false
-cleanup.boolean_value_rather_than_comparison=false
-cleanup.break_loop=false
-cleanup.collection_cloning=false
-cleanup.comparing_on_criteria=false
-cleanup.comparison_statement=false
-cleanup.controlflow_merge=false
-cleanup.convert_functional_interfaces=false
-cleanup.convert_to_enhanced_for_loop=false
-cleanup.convert_to_enhanced_for_loop_if_loop_var_used=true
-cleanup.convert_to_switch_expressions=false
-cleanup.correct_indentation=false
-cleanup.do_while_rather_than_while=true
-cleanup.double_negation=false
-cleanup.else_if=false
-cleanup.embedded_if=false
-cleanup.evaluate_nullable=false
-cleanup.extract_increment=false
-cleanup.format_source_code=true
-cleanup.format_source_code_changes_only=false
-cleanup.hash=false
-cleanup.if_condition=false
-cleanup.insert_inferred_type_arguments=false
-cleanup.instanceof=false
-cleanup.instanceof_keyword=false
-cleanup.invert_equals=false
-cleanup.join=false
-cleanup.lazy_logical_operator=false
-cleanup.make_local_variable_final=true
-cleanup.make_parameters_final=false
-cleanup.make_private_fields_final=true
-cleanup.make_type_abstract_if_missing_method=false
-cleanup.make_variable_declarations_final=false
-cleanup.map_cloning=false
-cleanup.merge_conditional_blocks=false
-cleanup.multi_catch=false
-cleanup.never_use_blocks=false
-cleanup.never_use_parentheses_in_expressions=true
-cleanup.no_string_creation=false
-cleanup.no_super=false
-cleanup.number_suffix=false
-cleanup.objects_equals=false
-cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=false
-cleanup.operand_factorization=false
-cleanup.organize_imports=true
-cleanup.overridden_assignment=false
-cleanup.plain_replacement=false
-cleanup.precompile_regex=false
-cleanup.primitive_comparison=false
-cleanup.primitive_parsing=false
-cleanup.primitive_rather_than_wrapper=false
-cleanup.primitive_serialization=false
-cleanup.pull_out_if_from_if_else=false
-cleanup.pull_up_assignment=false
-cleanup.push_down_negation=false
-cleanup.qualify_static_field_accesses_with_declaring_class=false
-cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-cleanup.qualify_static_member_accesses_with_declaring_class=false
-cleanup.qualify_static_method_accesses_with_declaring_class=false
-cleanup.reduce_indentation=false
-cleanup.redundant_comparator=false
-cleanup.redundant_falling_through_block_end=false
-cleanup.remove_private_constructors=true
-cleanup.remove_redundant_modifiers=false
-cleanup.remove_redundant_semicolons=true
-cleanup.remove_redundant_type_arguments=true
-cleanup.remove_trailing_whitespaces=true
-cleanup.remove_trailing_whitespaces_all=true
-cleanup.remove_trailing_whitespaces_ignore_empty=false
-cleanup.remove_unnecessary_array_creation=false
-cleanup.remove_unnecessary_casts=true
-cleanup.remove_unnecessary_nls_tags=false
-cleanup.remove_unused_imports=true
-cleanup.remove_unused_local_variables=false
-cleanup.remove_unused_method_parameters=false
-cleanup.remove_unused_private_fields=true
-cleanup.remove_unused_private_members=false
-cleanup.remove_unused_private_methods=true
-cleanup.remove_unused_private_types=true
-cleanup.return_expression=false
-cleanup.simplify_lambda_expression_and_method_ref=false
-cleanup.single_used_field=false
-cleanup.sort_members=false
-cleanup.sort_members_all=false
-cleanup.standard_comparison=false
-cleanup.static_inner_class=false
-cleanup.strictly_equal_or_different=false
-cleanup.stringbuffer_to_stringbuilder=false
-cleanup.stringbuilder=false
-cleanup.stringbuilder_for_local_vars=true
-cleanup.stringconcat_to_textblock=false
-cleanup.substring=false
-cleanup.switch=false
-cleanup.system_property=false
-cleanup.system_property_boolean=false
-cleanup.system_property_file_encoding=false
-cleanup.system_property_file_separator=false
-cleanup.system_property_line_separator=false
-cleanup.system_property_path_separator=false
-cleanup.ternary_operator=false
-cleanup.try_with_resource=false
-cleanup.unlooped_while=false
-cleanup.unreachable_block=false
-cleanup.use_anonymous_class_creation=false
-cleanup.use_autoboxing=false
-cleanup.use_blocks=false
-cleanup.use_blocks_only_for_return_and_throw=false
-cleanup.use_directly_map_method=false
-cleanup.use_lambda=true
-cleanup.use_parentheses_in_expressions=false
-cleanup.use_string_is_blank=false
-cleanup.use_this_for_non_static_field_access=false
-cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-cleanup.use_this_for_non_static_method_access=false
-cleanup.use_this_for_non_static_method_access_only_if_necessary=true
-cleanup.use_unboxing=false
-cleanup.use_var=false
-cleanup.useless_continue=false
-cleanup.useless_return=false
-cleanup.valueof_rather_than_instantiation=false
-cleanup_profile=_CDT
-cleanup_settings_version=2
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_CDT
-formatter_settings_version=14
-internal.default.compliance=user
-org.eclipse.jdt.ui.exception.name=e
-org.eclipse.jdt.ui.gettersetter.use.is=true
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=java;javax;org;com;
-org.eclipse.jdt.ui.keywordthis=false
-org.eclipse.jdt.ui.ondemandthreshold=1000
-org.eclipse.jdt.ui.overrideannotation=true
-org.eclipse.jdt.ui.staticondemandthreshold=1000
-org.eclipse.jdt.ui.text.custom_code_templates=
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_functional_interfaces=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=true
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.insert_inferred_type_arguments=false
-sp_cleanup.make_local_variable_final=true
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=false
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_redundant_modifiers=false
-sp_cleanup.remove_redundant_semicolons=true
-sp_cleanup.remove_redundant_type_arguments=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=true
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_anonymous_class_creation=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_lambda=true
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/qt/org.eclipse.cdt.qt.core/.settings/org.eclipse.pde.api.tools.prefs b/qt/org.eclipse.cdt.qt.core/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index ec9fbf321d0..00000000000
--- a/qt/org.eclipse.cdt.qt.core/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,184 +0,0 @@
-ANNOTATION_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-ANNOTATION_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_ADDED_TYPE_MEMBER=Error
-ANNOTATION_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_INTERFACE_BOUNDS=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TO_CLASS=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TO_ENUM=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TO_INTERFACE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD_WITH_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-API_USE_SCAN_FIELD_SEVERITY=Error
-API_USE_SCAN_METHOD_SEVERITY=Error
-API_USE_SCAN_TYPE_SEVERITY=Error
-CLASS_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
-CLASS_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-CLASS_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERCLASS_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_CHANGED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_CHANGED_TO_ANNOTATION=Error
-CLASS_ELEMENT_TYPE_CHANGED_TO_ENUM=Error
-CLASS_ELEMENT_TYPE_CHANGED_TO_INTERFACE=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-CLASS_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error
-ENUM_ELEMENT_TYPE_CHANGED_TO_ANNOTATION=Error
-ENUM_ELEMENT_TYPE_CHANGED_TO_CLASS=Error
-ENUM_ELEMENT_TYPE_CHANGED_TO_INTERFACE=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENTS=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-INTERFACE_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETERS=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_INTERFACE_BOUNDS=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TO_ANNOTATION=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TO_CLASS=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TO_ENUM=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_ANNOTATION=Ignore
-INVALID_JAVADOC_TAG=Error
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-METHOD_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-METHOD_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Error
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-METHOD_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-METHOD_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Error
-MISSING_EE_DESCRIPTIONS=Warning
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Warning
-automatically_removed_unused_problem_filters=false
-changed_execution_env=Error
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-incompatible_api_component_version_report_major_without_breaking_change=Warning
-incompatible_api_component_version_report_minor_without_api_change=Warning
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/qt/org.eclipse.cdt.qt.core/.settings/org.eclipse.pde.prefs b/qt/org.eclipse.cdt.qt.core/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index d2dc703ba9e..00000000000
--- a/qt/org.eclipse.cdt.qt.core/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,35 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=2
-compilers.p.missing-version-export-package=2
-compilers.p.missing-version-import-package=2
-compilers.p.missing-version-require-bundle=2
-compilers.p.no-required-att=0
-compilers.p.no.automatic.module=1
-compilers.p.not-externalized-att=1
-compilers.p.service.component.without.lazyactivation=1
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-compilers.use-project=true
-eclipse.preferences.version=1
diff --git a/qt/org.eclipse.cdt.qt.core/META-INF/MANIFEST.MF b/qt/org.eclipse.cdt.qt.core/META-INF/MANIFEST.MF
deleted file mode 100644
index 9a8a94ca777..00000000000
--- a/qt/org.eclipse.cdt.qt.core/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,40 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.cdt.qt.core;singleton:=true
-Bundle-Version: 2.4.0.qualifier
-Bundle-Activator: org.eclipse.cdt.internal.qt.core.Activator
-Bundle-Vendor: %providerName
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.core.resources,
- org.eclipse.core.expressions;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.cdt.core,
- org.eclipse.cdt.codan.core,
- org.eclipse.cdt.codan.core.cxx,
- org.eclipse.core.filesystem,
- org.eclipse.launchbar.core;bundle-version="1.0.1",
- org.eclipse.remote.core;bundle-version="2.0.0",
- org.eclipse.debug.core;bundle-version="3.10.0",
- org.eclipse.cdt.debug.core,
- org.freemarker;bundle-version="2.3.22",
- org.eclipse.cdt.dsf.gdb;bundle-version="5.0.0",
- org.eclipse.cdt.dsf;bundle-version="2.6.0",
- org.eclipse.tools.templates.freemarker;bundle-version="1.0.0",
- org.eclipse.cdt.build.gcc.core;bundle-version="1.0.0"
-Bundle-RequiredExecutionEnvironment: JavaSE-17
-Bundle-ActivationPolicy: lazy
-Bundle-Localization: plugin
-Export-Package: org.eclipse.cdt.internal.qt.core;x-friends:="org.eclipse.cdt.qt.ui,org.eclipse.cdt.qt.ui.tests",
- org.eclipse.cdt.internal.qt.core.build;x-friends:="org.eclipse.cdt.qt.ui",
- org.eclipse.cdt.internal.qt.core.index;x-friends:="org.eclipse.cdt.qt.ui.tests",
- org.eclipse.cdt.internal.qt.core.location;x-friends:="org.eclipse.cdt.qt.core.tests",
- org.eclipse.cdt.internal.qt.core.parser;x-friends:="org.eclipse.cdt.qt.ui",
- org.eclipse.cdt.internal.qt.core.project;x-friends:="org.eclipse.cdt.qt.ui",
- org.eclipse.cdt.internal.qt.core.qmldir;x-friends:="org.eclipse.cdt.qt.core.tests",
- org.eclipse.cdt.qt.core,
- org.eclipse.cdt.qt.core.location,
- org.eclipse.cdt.qt.core.qmldir,
- org.eclipse.cdt.qt.core.qmljs
-Import-Package: javax.xml.bind;version="[2.3.3,3.0.0)"
-Automatic-Module-Name: org.eclipse.cdt.qt.core
-
diff --git a/qt/org.eclipse.cdt.qt.core/about.html b/qt/org.eclipse.cdt.qt.core/about.html
deleted file mode 100644
index b3134865230..00000000000
--- a/qt/org.eclipse.cdt.qt.core/about.html
+++ /dev/null
@@ -1,38 +0,0 @@
-
-
-
-
-
- About
-
-
-
-
About This Content
-
-
November 30, 2017
-
License
-
-
- The Eclipse Foundation makes available all content in this plug-in
- ("Content"). Unless otherwise indicated below, the Content
- is provided to you under the terms and conditions of the Eclipse
- Public License Version 2.0 ("EPL"). A copy of the EPL is
- available at https://www.eclipse.org/legal/epl-2.0.
- For purposes of the EPL, "Program" will mean the Content.
-
-
-
- If you did not receive this Content directly from the Eclipse
- Foundation, the Content is being redistributed by another party
- ("Redistributor") and different terms and conditions may
- apply to your use of any object code in the Content. Check the
- Redistributor's license that was provided with the Content. If no such
- license exists, contact the Redistributor. Unless otherwise indicated
- below, the terms and conditions of the EPL still apply to any source
- code in the Content and such source code may be obtained at https://www.eclipse.org.
-
- * To begin translation simply call the static method createQmlASTProxy. The AST is translated only when it needs to be
- * (i.e. when one of its 'get' methods are called).
- */
-public class QmlASTNodeHandler implements InvocationHandler {
- private static final String NODE_QML_PREFIX = "QML"; //$NON-NLS-1$
- private static final String NODE_TYPE_PROPERTY = "type"; //$NON-NLS-1$
- private static final String NODE_REGEX_PROPERTY = "regex"; //$NON-NLS-1$
- private static final String CREATE_ENUM_METHOD = "fromObject"; //$NON-NLS-1$
- private static final String AST_PACKAGE = "org.eclipse.cdt.qt.core.qmljs."; //$NON-NLS-1$
- private static final String AST_QML_PREFIX = "IQml"; //$NON-NLS-1$
- private static final String AST_JS_PREFIX = "IJS"; //$NON-NLS-1$
-
- private static String getPropertyName(String method) {
- String name = ""; //$NON-NLS-1$
- if (method.startsWith("is")) { //$NON-NLS-1$
- name = method.substring(2, 3).toLowerCase() + method.substring(3);
- } else if (method.startsWith("get")) { //$NON-NLS-1$
- name = method.substring(3, 4).toLowerCase() + method.substring(4);
- }
- if (name.equalsIgnoreCase("identifier")) { //$NON-NLS-1$
- return "id"; //$NON-NLS-1$
- } else if (name.equalsIgnoreCase("location")) { //$NON-NLS-1$
- return "loc"; //$NON-NLS-1$
- }
- return name;
- }
-
- /**
- * Constructs a new {@link IQmlASTNode} from the given {@link Bindings}. This is a helper method equivalent to
- * createQmlASTProxy(node, null)
- *
- * @param node
- * the AST node as retrieved from Nashorn
- * @return a Proxy representing the given node
- * @throws ClassNotFoundException
- * if the node does not represent a valid QML AST Node
- * @see {@link QmlASTNodeHandler#createQmlASTProxy(Bindings, Class)}
- */
- public static IQmlASTNode createQmlASTProxy(Bindings node) throws ClassNotFoundException {
- return createQmlASTProxy(node, null);
- }
-
- /**
- * Constructs a new {@link IQmlASTNode} from the given {@link Bindings}. If a return type is specified, it will take precedence
- * over the type retrieved from the binding. This is useful for nodes that extend, but do not add functionality to, an acorn AST
- * element. A good example of this is {@link IQmlRootObject} which extends {@link IQmlObjectDefinition}. We can easily determine
- * the location in the AST at which we want an IQmlRootObject over an IQmlObjectDefinition and set the returnType accordingly.
- *
- * @param node
- * the node as retrieved from acorn
- * @param returnType
- * the expected node to return or null
- * @return a Proxy representing the given node
- * @throws ClassNotFoundException
- * if the node does not represent a valid QML AST Node
- */
- public static IQmlASTNode createQmlASTProxy(Bindings node, Class> returnType) throws ClassNotFoundException {
- String type = (String) node.getOrDefault(NODE_TYPE_PROPERTY, ""); //$NON-NLS-1$
- if (type.startsWith(NODE_QML_PREFIX)) {
- type = AST_QML_PREFIX + type.substring(3);
- } else {
- type = AST_JS_PREFIX + type;
- }
- Class> astClass = Class.forName(AST_PACKAGE + type);
- if (astClass.equals(IJSLiteral.class)) {
- // If this is a Literal, we have to distinguish it between a RegExp Literal using the 'regex' property
- if (node.get(NODE_REGEX_PROPERTY) != null) {
- astClass = IJSRegExpLiteral.class;
- }
- }
- if (returnType != null) {
- if (!IQmlASTNode.class.isAssignableFrom(astClass)) {
- throw new ClassCastException(astClass + " cannot be cast to " + IQmlASTNode.class); //$NON-NLS-1$
- }
- if (astClass.isAssignableFrom(returnType)) {
- astClass = returnType;
- }
- }
- return (IQmlASTNode) Proxy.newProxyInstance(QmlASTNodeHandler.class.getClassLoader(),
- new Class>[] { astClass }, new QmlASTNodeHandler(node));
- }
-
- private final QMLAnalyzer analyzer;
- private final Bindings node;
- private final Map methodResults;
-
- private QmlASTNodeHandler(Bindings node) {
- this.analyzer = (QMLAnalyzer) Activator.getService(IQMLAnalyzer.class);
- this.node = node;
- this.methodResults = new HashMap<>();
- }
-
- @Override
- public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
- String mName = method.getName();
- if (!methodResults.containsKey(method.getName())) {
- // Invoke the default implementation of the method if possible
- if (method.isDefault()) {
- final Class> declaringClass = method.getDeclaringClass();
- Constructor constructor = MethodHandles.Lookup.class
- .getDeclaredConstructor(Class.class, int.class);
- constructor.setAccessible(true);
- methodResults.put(mName, constructor.newInstance(declaringClass, MethodHandles.Lookup.PRIVATE)
- .unreflectSpecial(method, declaringClass).bindTo(proxy).invokeWithArguments(args));
- } else {
- // Use the return type of the method as well as its contents of the node to get the Object to return
- String pName = getPropertyName(mName);
- methodResults.put(mName, handleObject(node.get(pName), method.getReturnType()));
- }
- }
- return methodResults.get(mName);
- }
-
- private Object handleObject(Object value, Class> expectedType) throws Throwable {
- if (expectedType.isArray()) {
- Object arr = Array.newInstance(expectedType.getComponentType(), ((Bindings) value).size());
- int ctr = 0;
- for (Object obj : ((Bindings) value).values()) {
- Array.set(arr, ctr++, handleObject(obj, expectedType.getComponentType()));
- }
- return arr;
- } else if (expectedType.equals(Object.class)) {
- return value;
- } else if (expectedType.isAssignableFrom(ISourceLocation.class)) {
- // ISourceLocation doesn't correspond to an AST Node and needs to be created manually from
- // the given Bindings.
- if (value instanceof Bindings) {
- Bindings bind = (Bindings) value;
- SourceLocation loc = new SourceLocation();
- loc.setSource((String) bind.get("source")); //$NON-NLS-1$
- Bindings start = (Bindings) bind.get("start"); //$NON-NLS-1$
- loc.setStart(new Position(((Number) start.get("line")).intValue(), //$NON-NLS-1$
- ((Number) start.get("column")).intValue())); //$NON-NLS-1$
- Bindings end = (Bindings) bind.get("end"); //$NON-NLS-1$
- loc.setEnd(new Position(((Number) end.get("line")).intValue(), //$NON-NLS-1$
- ((Number) end.get("column")).intValue())); //$NON-NLS-1$
- return loc;
- }
- return new SourceLocation();
- } else if (expectedType.isAssignableFrom(List.class)) {
- if (value instanceof Bindings) {
- List