This is an automated email from the ASF dual-hosted git repository. junichi11 pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/netbeans.git
commit 120f2129a8dbc25b7a52542c359fe5a7a2569c60 Merge: a450a2f24b 480ad74e9b Author: Junichi Yamamoto <junich...@apache.org> AuthorDate: Sat Dec 9 08:32:26 2023 +0900 Merge pull request #6819 from apache/php-nb21-features PHP features for NB21 php/php.api.phpmodule/manifest.mf | 2 +- .../org/netbeans/modules/php/api/PhpVersion.java | 18 + php/php.editor/nbproject/project.properties | 2 +- php/php.editor/nbproject/project.xml | 2 +- .../org/netbeans/modules/php/editor/CodeUtils.java | 98 +- .../modules/php/editor/api/QualifiedName.java | 10 +- .../php/editor/api/elements/AliasedFunction.java | 5 + .../editor/api/elements/BaseFunctionElement.java | 6 + .../php/editor/api/elements/FieldElement.java | 1 + .../php/editor/api/elements/ParameterElement.java | 4 + .../editor/api/elements/TypeConstantElement.java | 13 +- .../editor/completion/CompletionContextFinder.java | 175 +- .../modules/php/editor/completion/DocRenderer.java | 120 +- .../php/editor/completion/PHPCodeCompletion.java | 137 +- .../php/editor/completion/PHPCompletionItem.java | 11 +- .../php/editor/csl/DeclarationFinderImpl.java | 48 +- .../modules/php/editor/csl/NavigatorScanner.java | 107 +- .../modules/php/editor/csl/SemanticAnalysis.java | 14 +- .../elements/BaseFunctionElementSupport.java | 101 +- .../php/editor/elements/ClassElementImpl.java | 48 +- .../php/editor/elements/FieldElementImpl.java | 32 +- .../php/editor/elements/FunctionElementImpl.java | 20 + .../php/editor/elements/IndexQueryImpl.java | 6 +- .../php/editor/elements/MethodElementImpl.java | 44 +- .../php/editor/elements/ParameterElementImpl.java | 75 +- .../php/editor/elements/TraitElementImpl.java | 15 +- .../editor/elements/TypeConstantElementImpl.java | 47 +- .../php/editor/elements/TypeResolverImpl.java | 4 +- .../modules/php/editor/indent/CodeStyle.java | 4 + .../modules/php/editor/indent/FmtOptions.java | 2 + .../modules/php/editor/indent/FormatToken.java | 3 + .../modules/php/editor/indent/FormatVisitor.java | 63 +- .../modules/php/editor/indent/TokenFormatter.java | 13 + .../modules/php/editor/indent/ui/Bundle.properties | 5 +- .../modules/php/editor/indent/ui/FmtSpaces.java | 1 + .../modules/php/editor/index/PHPIndexer.java | 2 +- .../modules/php/editor/lexer/LexUtilities.java | 13 +- .../php/editor/lexer/PHP5ColoringLexer.java | 2692 +++---- .../php/editor/model/ClassConstantElement.java | 12 +- .../modules/php/editor/model/FunctionScope.java | 1 + .../modules/php/editor/model/Parameter.java | 6 + .../model/impl/ClassConstantElementImpl.java | 15 +- .../php/editor/model/impl/ClassScopeImpl.java | 22 +- .../php/editor/model/impl/FieldElementImpl.java | 13 +- .../php/editor/model/impl/FunctionScopeImpl.java | 93 +- .../php/editor/model/impl/MethodScopeImpl.java | 7 + .../php/editor/model/impl/ModelVisitor.java | 134 +- .../php/editor/model/impl/OccurenceBuilder.java | 9 +- .../php/editor/model/impl/ParameterImpl.java | 33 +- .../modules/php/editor/model/impl/Type.java | 52 +- .../php/editor/model/impl/VariousUtils.java | 77 +- .../model/nodes/ClassConstantDeclarationInfo.java | 6 + .../editor/model/nodes/FormalParameterInfo.java | 19 +- .../model/nodes/FunctionDeclarationInfo.java | 3 +- .../model/nodes/LambdaFunctionDeclarationInfo.java | 2 +- .../model/nodes/MagicMethodDeclarationInfo.java | 25 +- .../editor/model/nodes/MethodDeclarationInfo.java | 3 +- .../model/nodes/SingleFieldDeclarationInfo.java | 21 +- .../modules/php/editor/parser/ASTPHP5Parser.java | 3815 +++++----- .../modules/php/editor/parser/ASTPHP5Scanner.java | 316 +- .../modules/php/editor/parser/ASTPHP5Symbols.java | 2 +- .../php/editor/parser/EncodedActionTable1.java | 6076 ++++++++-------- .../php/editor/parser/EncodedActionTable10.java | 6626 +++++++++--------- .../php/editor/parser/EncodedActionTable11.java | 6924 +++++++++--------- .../php/editor/parser/EncodedActionTable12.java | 6430 ++++++++--------- .../php/editor/parser/EncodedActionTable13.java | 5046 ++++++------- .../php/editor/parser/EncodedActionTable14.java | 5530 +++++++-------- .../php/editor/parser/EncodedActionTable15.java | 5822 +++++++-------- .../php/editor/parser/EncodedActionTable16.java | 6160 ++++++++-------- .../php/editor/parser/EncodedActionTable17.java | 6726 +++++++++--------- .../php/editor/parser/EncodedActionTable18.java | 4944 ++++++------- .../php/editor/parser/EncodedActionTable19.java | 5041 +++++++++---- .../php/editor/parser/EncodedActionTable2.java | 5750 +++++++-------- ...ctionTable18.java => EncodedActionTable20.java} | 5226 ++++++-------- .../php/editor/parser/EncodedActionTable3.java | 7386 ++++++++++---------- .../php/editor/parser/EncodedActionTable4.java | 5200 +++++++------- .../php/editor/parser/EncodedActionTable5.java | 6610 +++++++++--------- .../php/editor/parser/EncodedActionTable6.java | 5526 +++++++-------- .../php/editor/parser/EncodedActionTable7.java | 6572 ++++++++--------- .../php/editor/parser/EncodedActionTable8.java | 4866 ++++++------- .../php/editor/parser/EncodedActionTable9.java | 6142 ++++++++-------- .../php/editor/parser/PHPDocCommentParser.java | 48 +- .../php/editor/parser/PHPVarCommentParser.java | 14 +- .../modules/php/editor/parser/api/Utils.java | 17 +- .../parser/astnodes/ConstantDeclaration.java | 60 +- .../editor/parser/astnodes/PHPDocMethodTag.java | 20 + .../php/editor/parser/astnodes/PHPDocTypeTag.java | 34 +- .../editor/parser/astnodes/ReflectionVariable.java | 6 +- .../parser/astnodes/StaticConstantAccess.java | 32 +- .../parser/astnodes/visitors/DefaultVisitor.java | 1 + .../php/editor/resources/code-templates.xml | 12 + .../modules/php/editor/resources/layer.xml | 1 + .../typinghooks/PhpTypedTextInterceptor.java | 23 +- .../ConstantRedeclarationHintError.java | 12 +- .../editor/verification/IntroduceSuggestion.java | 27 +- .../editor/verification/PHP55UnhandledError.java | 15 +- ...nhandledError.java => PHP83UnhandledError.java} | 110 +- .../verification/UnusableTypesHintError.java | 25 +- .../structure/deprecatedTypedFields.pass | 8 +- .../deprecatedTypesForNullableTypes_01.pass | 2 +- .../deprecatedTypesForNullableTypes_02.pass | 2 +- .../php82/deprecatedDnfFieldTypes_01.pass | 23 + .../php82/deprecatedDnfParameterTypes_01.pass | 15 + .../php82/deprecatedDnfReturnTypes_01.pass | 14 + .../structure/functionGuessingArrayReturnType.pass | 2 + .../NavigatorTest/structure/nullableTypes_01.pass | 2 +- .../NavigatorTest/structure/nullableTypes_02.pass | 2 +- .../structure/php82/dnfFieldTypes.pass | 23 + .../structure/php82/dnfParameterTypes.pass | 26 + .../structure/php82/dnfReturnTypes.pass | 14 + .../structure/php83/typedClassConstants.pass | 43 + .../structure/pureIntersectionTypes.pass | 10 +- .../context_sensitive_lexer_typed_const_class.pass | 1358 ++++ .../context_sensitive_lexer_typed_const_enum.pass | 1358 ++++ ...text_sensitive_lexer_typed_const_interface.pass | 1358 ++++ .../context_sensitive_lexer_typed_const_trait.pass | 1358 ++++ .../ASTPHP5ParserTest/parser/TrueFalseNull.pass | 6 +- .../parser/constantArrayAccess_01.pass | 16 +- .../parser/constantScalarExpressions_01.pass | 8 +- .../parser/ASTPHP5ParserTest/parser/gh4684.pass | 6 +- .../ASTPHP5ParserTest/parser/heredoc_011.pass | 2 +- .../ASTPHP5ParserTest/parser/issue258959.pass | 16 +- .../ASTPHP5ParserTest/parser/nowdoc_011.pass | 2 +- .../parser/php74/arrowFunctions_01.pass | 2 +- .../php74/spreadOperatorInArrayExpression_02.pass | 14 +- .../parser/php80/attributeSyntax_01.pass | 2 +- .../parser/php80/attributeSyntax_03.pass | 2 +- .../parser/php80/classNameLiteralOnObjects_01.pass | 18 +- .../parser/php80/matchExpression_04.pass | 8 +- .../parser/php80/nullsafeOperator_01.pass | 2 +- .../parser/php80/nullsafeOperator_02.pass | 2 +- .../parser/php81/enumerations_01.pass | 2 +- .../parser/php81/enumerations_02.pass | 212 +- .../parser/php81/enumerations_03.pass | 8 +- .../parser/php81/firstClassCallableSyntax_01.pass | 2 +- .../parser/php82/constantsInTraits_01.pass | 12 +- .../fetchPropertiesInConstExpressions_01.pass | 72 +- .../parser/php83/dynamicClassConstantFetch_01.pass | 1310 ++++ .../parser/php83/typedClassConstants_01.pass | 1953 ++++++ .../parser/uniformVariableSyntax_01.pass | 2 +- .../parser/uniformVariableSyntax_02.pass | 2 +- .../parser/uniformVariableSyntax_03.pass | 2 +- .../parser/uniformVariableSyntax_04.pass | 2 +- .../parser/uniformVariableSyntax_06.pass | 2 +- .../parser/uniformVariableSyntax_23.pass | 2 +- .../parser/uniformVariableSyntax_34.pass | 8 +- .../parser/uniformVariableSyntax_35.pass | 8 +- .../parser/uniformVariableSyntax_39.pass | 437 ++ .../parser/SanitizeSourceTest/sanitize/case01.pass | 4 +- .../testDNFTypesConstructor.php} | 23 +- ...Constructor.php.testDNFTypesConstructor.codegen | 7 + .../testDNFTypesGetter/testDNFTypesGetter.php} | 23 +- ...stDNFTypesGetter.php.testDNFTypesGetter.codegen | 24 + .../testDNFTypesImplementMethod01.php} | 42 +- ...hod01.php.testDNFTypesImplementMethod01.codegen | 4 + .../testDNFTypesImplementMethod02.php} | 37 +- ...hod02.php.testDNFTypesImplementMethod02.codegen | 2 + .../testDNFTypesImplementMethod03.php} | 30 +- ...hod03.php.testDNFTypesImplementMethod03.codegen | 2 + .../testDNFTypesImplementMethod04.php} | 25 +- ...hod04.php.testDNFTypesImplementMethod04.codegen | 2 + .../testDNFTypesOverrideMethod01.php} | 27 +- ...thod01.php.testDNFTypesOverrideMethod01.codegen | 3 + .../testDNFTypesOverrideMethod02.php} | 39 +- ...thod02.php.testDNFTypesOverrideMethod02.codegen | 3 + .../testDNFTypesOverrideMethod03.php} | 33 +- ...thod03.php.testDNFTypesOverrideMethod03.codegen | 3 + .../testDNFTypesSetter/testDNFTypesSetter.php} | 23 +- ...stDNFTypesSetter.php.testDNFTypesSetter.codegen | 24 + ...nstanceOverrideMethodWithGuessingArrayType.php} | 19 +- ...eOverrideMethodWithGuessingArrayType_01.codegen | 4 + ...eOverrideMethodWithGuessingArrayType_02.codegen | 4 + .../completion/documentation/arrayReturnType.php | 14 +- ...turnType.php.testArrayReturnTypeWithTab_01.html | 9 + ...turnType.php.testArrayReturnTypeWithTab_02.html | 9 + .../functionGuessingArrayReturnType.php} | 27 +- ...php.testFunctionGuessingArrayReturnType_01.html | 10 + ...php.testFunctionGuessingArrayReturnType_02.html | 10 + ....testFunctionIntersectionTypeWithoutPhpDoc.html | 2 +- ...tPhpDoc.php.testFunctionTypedWithoutPhpDoc.html | 2 +- ...Doc.php.testFunctionUnionTypeWithoutPhpDoc.html | 2 +- ...hp.testMethodIntersectionTypeWithoutPhpDoc.html | 2 +- ...oc.php.testMethodNullableTypeWithoutPhpDoc.html | 2 +- ...hpDoc.php.testMethodUnionTypeWithoutPhpDoc.html | 2 +- .../completion/documentation/php82/dnfTypes.php | 101 + .../php82/dnfTypes.php.testDNFTypesField.html | 9 + .../dnfTypes.php.testDNFTypesInheritdocMethod.html | 15 + .../php82/dnfTypes.php.testDNFTypesMethod.html | 14 + .../php82/dnfTypes.php.testDNFTypesMethodTag.html | 14 + .../dnfTypes.php.testDNFTypesPhpdocField.html | 9 + .../dnfTypes.php.testDNFTypesPhpdocMethod.html | 16 + ...dnfTypes.php.testDNFTypesPhpdocStaticField.html | 9 + ...nfTypes.php.testDNFTypesPhpdocStaticMethod.html | 16 + .../dnfTypes.php.testDNFTypesPropertyTag.html | 6 + .../dnfTypes.php.testDNFTypesStaticField.html | 9 + .../dnfTypes.php.testDNFTypesStaticMethod.html | 14 + .../dnfTypes.php.testDNFTypesStaticMethodTag.html | 14 + ...ss.php.testTypedProperties20Class_08.completion | 9 - ....testTypedProperties20Class_08_php73.completion | 11 - ...ss.php.testTypedProperties20Class_18.completion | 26 +- ...it.php.testTypedProperties20Trait_08.completion | 9 - ....testTypedProperties20Trait_08_php73.completion | 11 - ...it.php.testTypedProperties20Trait_19.completion | 25 +- ....testConstructorPropertyPromotion04a.completion | 2 + ...FieldType.php.testEnumsFieldType_02a.completion | 9 - .../completion/lib/php82/testDNFTypes/dnfTypes.php | 262 + ...nfTypes.php.testDNFTypes_FieldType01.completion | 12 + ...fTypes.php.testDNFTypes_FieldType02a.completion | 12 + ...fTypes.php.testDNFTypes_FieldType02b.completion | 5 + ...nfTypes.php.testDNFTypes_FieldType03.completion | 18 + ...nfTypes.php.testDNFTypes_FieldType04.completion | 9 + ...nfTypes.php.testDNFTypes_FieldType05.completion | 13 + ...nfTypes.php.testDNFTypes_FieldType06.completion | 9 + ...nfTypes.php.testDNFTypes_FieldType07.completion | 9 + ...nfTypes.php.testDNFTypes_FieldType08.completion | 9 + ...nfTypes.php.testDNFTypes_FieldType09.completion | 13 + ...fTypes.php.testDNFTypes_FieldType10a.completion | 9 + ...fTypes.php.testDNFTypes_FieldType10b.completion | 4 + ...nfTypes.php.testDNFTypes_FieldType11.completion | 18 + ...nfTypes.php.testDNFTypes_FieldType12.completion | 12 + ...nfTypes.php.testDNFTypes_FieldType13.completion | 9 + ...hp.testDNFTypes_FunctionReturnType01.completion | 12 + ...hp.testDNFTypes_FunctionReturnType02.completion | 18 + ...hp.testDNFTypes_FunctionReturnType03.completion | 12 + ...p.testDNFTypes_FunctionReturnType04a.completion | 18 + ...p.testDNFTypes_FunctionReturnType04b.completion | 4 + ....php.testDNFTypes_MethodReturnType01.completion | 12 + ...php.testDNFTypes_MethodReturnType02a.completion | 12 + ...php.testDNFTypes_MethodReturnType02b.completion | 5 + ....php.testDNFTypes_MethodReturnType03.completion | 9 + ....php.testDNFTypes_MethodReturnType04.completion | 12 + ....php.testDNFTypes_MethodReturnType05.completion | 9 + ....php.testDNFTypes_MethodReturnType06.completion | 12 + ....php.testDNFTypes_MethodReturnType07.completion | 18 + ....php.testDNFTypes_MethodReturnType08.completion | 18 + ...php.testDNFTypes_MethodReturnType09a.completion | 12 + ...php.testDNFTypes_MethodReturnType09b.completion | 4 + ....php.testDNFTypes_MethodReturnType10.completion | 18 + ....php.testDNFTypes_MethodReturnType11.completion | 9 + ....php.testDNFTypes_MethodReturnType12.completion | 18 + ...php.testDNFTypes_MethodReturnType13a.completion | 18 + ...php.testDNFTypes_MethodReturnType13b.completion | 4 + ....php.testDNFTypes_MethodReturnType14.completion | 12 + ....php.testDNFTypes_MethodReturnType15.completion | 12 + ....php.testDNFTypes_MethodReturnType16.completion | 18 + ....php.testDNFTypes_MethodReturnType17.completion | 12 + ....php.testDNFTypes_MethodReturnType18.completion | 12 + ...pes.php.testDNFTypes_ParameterType01.completion | 9 + ...pes.php.testDNFTypes_ParameterType02.completion | 9 + ...pes.php.testDNFTypes_ParameterType03.completion | 13 + ...pes.php.testDNFTypes_ParameterType04.completion | 13 + ...pes.php.testDNFTypes_ParameterType05.completion | 12 + ...pes.php.testDNFTypes_ParameterType06.completion | 18 + ...pes.php.testDNFTypes_ParameterType07.completion | 9 + ...pes.php.testDNFTypes_ParameterType08.completion | 12 + ...pes.php.testDNFTypes_ParameterType09.completion | 12 + ...pes.php.testDNFTypes_ParameterType10.completion | 18 + ...pes.php.testDNFTypes_ParameterType11.completion | 12 + ...pes.php.testDNFTypes_ParameterType12.completion | 9 + ...pes.php.testDNFTypes_ParameterType13.completion | 18 + ...pes.php.testDNFTypes_ParameterType14.completion | 18 + ...pes.php.testDNFTypes_ParameterType15.completion | 18 + ...pes.php.testDNFTypes_ParameterType16.completion | 9 + ...pes.php.testDNFTypes_ParameterType17.completion | 13 + ...pes.php.testDNFTypes_ParameterType18.completion | 12 + ...pes.php.testDNFTypes_ParameterType19.completion | 18 + ...pes.php.testDNFTypes_ParameterType20.completion | 9 + ...pes.php.testDNFTypes_ParameterType21.completion | 13 + ...pes.php.testDNFTypes_ParameterType22.completion | 12 + ...es.php.testDNFTypes_ParameterType23a.completion | 18 + ...es.php.testDNFTypes_ParameterType23b.completion | 4 + ...pes.php.testDNFTypes_ParameterType24.completion | 12 + ...pes.php.testDNFTypes_ParameterType25.completion | 18 + ...pes.php.testDNFTypes_ParameterType26.completion | 9 + ...pes.php.testDNFTypes_ParameterType27.completion | 12 + ...pes.php.testDNFTypes_ParameterType28.completion | 9 + ...pes.php.testDNFTypes_ParameterType29.completion | 12 + ...testDNFTypes_ParameterTypeInCCList01.completion | 5 + ...Types.php.testDNFTypes_VarDocType01a.completion | 9 + ...Types.php.testDNFTypes_VarDocType01b.completion | 13 + ...Types.php.testDNFTypes_VarDocType02a.completion | 12 + ...Types.php.testDNFTypes_VarDocType02b.completion | 18 + ...Types.php.testDNFTypes_VarDocType03a.completion | 12 + ...Types.php.testDNFTypes_VarDocType03b.completion | 18 + ...Types.php.testDNFTypes_VarDocType04a.completion | 9 + ...Types.php.testDNFTypes_VarDocType04b.completion | 13 + ...Types.php.testDNFTypes_VarDocType05a.completion | 12 + ...Types.php.testDNFTypes_VarDocType05b.completion | 18 + ...Types.php.testDNFTypes_VarDocType06a.completion | 12 + ...Types.php.testDNFTypes_VarDocType06b.completion | 18 + .../testDNFTypesImplementMethod01.php} | 24 +- ...1.php.testDNFTypesImplementMethod01.cccustomtpl | 4 + .../testDNFTypesImplementMethod02.php} | 38 +- ...2.php.testDNFTypesImplementMethod02.cccustomtpl | 4 + .../testDNFTypesImplementMethod03a.php} | 32 +- ....php.testDNFTypesImplementMethod03a.cccustomtpl | 4 + .../testDNFTypesImplementMethod03b.php} | 35 +- ....php.testDNFTypesImplementMethod03b.cccustomtpl | 4 + .../testDNFTypesImplementMethod04.php} | 24 +- ...4.php.testDNFTypesImplementMethod04.cccustomtpl | 4 + .../testDNFTypesOverrideMethod01.php} | 26 +- ...01.php.testDNFTypesOverrideMethod01.cccustomtpl | 4 + .../testDNFTypesOverrideMethod02.php} | 40 +- ...02.php.testDNFTypesOverrideMethod02.cccustomtpl | 4 + .../testDNFTypesOverrideMethod03.php} | 34 +- ...03.php.testDNFTypesOverrideMethod03.cccustomtpl | 4 + .../testDNFTypesOverrideMethodSpecialTypes01.php} | 43 +- ...NFTypesOverrideMethodSpecialTypes01.cccustomtpl | 9 + .../testDNFTypesOverrideMethodSpecialTypes02.php} | 42 +- ...NFTypesOverrideMethodSpecialTypes02.cccustomtpl | 9 + .../testDNFTypesOverrideMethodSpecialTypes03.php} | 38 +- ...NFTypesOverrideMethodSpecialTypes03.cccustomtpl | 9 + .../testDNFTypesOverrideMethodSpecialTypes04.php} | 36 +- ...NFTypesOverrideMethodSpecialTypes04.cccustomtpl | 9 + .../dynamicClassConstantFetch.php} | 51 +- ...php.testDynamicClassConstantFetch_01.completion | 9 + ...php.testDynamicClassConstantFetch_02.completion | 21 + ...php.testDynamicClassConstantFetch_03.completion | 4 + ...php.testDynamicClassConstantFetch_04.completion | 21 + ...php.testDynamicClassConstantFetch_05.completion | 4 + ...hp.testDynamicClassConstantFetch_06a.completion | 6 + ...hp.testDynamicClassConstantFetch_06b.completion | 4 + ...hp.testDynamicClassConstantFetch_06c.completion | 6 + ...hp.testDynamicClassConstantFetch_06d.completion | 4 + ...hp.testDynamicClassConstantFetch_07a.completion | 11 + ...hp.testDynamicClassConstantFetch_07b.completion | 4 + ...hp.testDynamicClassConstantFetch_07c.completion | 9 + ...hp.testDynamicClassConstantFetch_08a.completion | 4 + ...hp.testDynamicClassConstantFetch_08b.completion | 4 + ...hp.testDynamicClassConstantFetch_08c.completion | 4 + ...hp.testDynamicClassConstantFetch_08d.completion | 9 + ...hp.testDynamicClassConstantFetch_08e.completion | 10 + .../inConstantDeclarationTyping.php} | 19 +- ...assConstantFetchInConstDeclTyping_01.completion | 7 + .../inEnumCaseTyping.php} | 19 +- ...lassConstantFetchInEnumCaseTyping_01.completion | 7 + .../dynamicClassConstantFetchTyping.php} | 44 +- ...stDynamicClassConstantFetchTyping_01.completion | 94 + .../typedClassConstants.php | 60 + ...php.testTypedClassConstants_Class01.completion} | 20 +- ...php.testTypedClassConstants_Class02.completion} | 21 +- ....php.testTypedClassConstants_Class03.completion | 5 + ...hp.testTypedClassConstants_Class04a.completion} | 20 +- ...hp.testTypedClassConstants_Class04b.completion} | 21 +- ...php.testTypedClassConstants_Class04c.completion | 4 + ...hp.testTypedClassConstants_Class05a.completion} | 20 +- ...php.testTypedClassConstants_Class05b.completion | 4 + ...php.testTypedClassConstants_Class05c.completion | 9 + ...php.testTypedClassConstants_Class06a.completion | 9 + ...php.testTypedClassConstants_Class06b.completion | 4 + ...php.testTypedClassConstants_Class06c.completion | 9 + ...php.testTypedClassConstants_Class06d.completion | 4 + ...hp.testTypedClassConstants_Class06e.completion} | 21 +- ...php.testTypedClassConstants_Class06f.completion | 4 + ....php.testTypedClassConstants_Class07.completion | 19 + ....php.testTypedClassConstants_Enum01.completion} | 20 +- ....php.testTypedClassConstants_Enum02.completion} | 21 +- ...s.php.testTypedClassConstants_Enum03.completion | 5 + ...php.testTypedClassConstants_Enum04a.completion} | 20 +- ...php.testTypedClassConstants_Enum04b.completion} | 21 +- ....php.testTypedClassConstants_Enum04c.completion | 4 + ...php.testTypedClassConstants_Enum05a.completion} | 20 +- ....php.testTypedClassConstants_Enum05b.completion | 4 + ....php.testTypedClassConstants_Enum05c.completion | 9 + ....php.testTypedClassConstants_Enum06a.completion | 9 + ....php.testTypedClassConstants_Enum06b.completion | 4 + ....php.testTypedClassConstants_Enum06c.completion | 9 + ....php.testTypedClassConstants_Enum06d.completion | 4 + ...php.testTypedClassConstants_Enum06e.completion} | 21 +- ....php.testTypedClassConstants_Enum06f.completion | 4 + ...s.php.testTypedClassConstants_Enum07.completion | 19 + ...testTypedClassConstants_Interface01.completion} | 20 +- ...testTypedClassConstants_Interface02.completion} | 21 +- ....testTypedClassConstants_Interface03.completion | 5 + ...estTypedClassConstants_Interface04a.completion} | 20 +- ...testTypedClassConstants_Interface04b.completion | 4 + ...estTypedClassConstants_Interface04c.completion} | 21 +- ...testTypedClassConstants_Interface04d.completion | 4 + ...estTypedClassConstants_Interface05a.completion} | 20 +- ...testTypedClassConstants_Interface05b.completion | 4 + ...testTypedClassConstants_Interface05c.completion | 9 + ...testTypedClassConstants_Interface05d.completion | 4 + ...testTypedClassConstants_Interface06a.completion | 9 + ...testTypedClassConstants_Interface06b.completion | 4 + ...testTypedClassConstants_Interface06c.completion | 9 + ...testTypedClassConstants_Interface06d.completion | 4 + ...estTypedClassConstants_Interface06e.completion} | 21 +- ...testTypedClassConstants_Interface06f.completion | 4 + ....testTypedClassConstants_Interface07.completion | 19 + ...php.testTypedClassConstants_Trait01.completion} | 20 +- ...php.testTypedClassConstants_Trait02.completion} | 21 +- ....php.testTypedClassConstants_Trait03.completion | 5 + ...hp.testTypedClassConstants_Trait04a.completion} | 20 +- ...hp.testTypedClassConstants_Trait04b.completion} | 21 +- ...php.testTypedClassConstants_Trait04c.completion | 4 + ...hp.testTypedClassConstants_Trait05a.completion} | 20 +- ...php.testTypedClassConstants_Trait05b.completion | 4 + ...php.testTypedClassConstants_Trait05c.completion | 9 + ...php.testTypedClassConstants_Trait06a.completion | 9 + ...php.testTypedClassConstants_Trait06b.completion | 4 + ...php.testTypedClassConstants_Trait06c.completion | 9 + ...php.testTypedClassConstants_Trait06d.completion | 4 + ...hp.testTypedClassConstants_Trait06e.completion} | 21 +- ...php.testTypedClassConstants_Trait06f.completion | 4 + ....php.testTypedClassConstants_Trait07.completion | 19 + .../typedClassConstantsTypingClass01.php} | 21 +- ...estTypedClassConstantsTypingClass01.completion} | 18 +- .../typedClassConstantsTypingClass02.php} | 21 +- ...testTypedClassConstantsTypingClass02.completion | 5 + .../typedClassConstantsTypingClass03.php} | 21 +- ...estTypedClassConstantsTypingClass03.completion} | 19 +- .../typedClassConstantsTypingClass04.php} | 21 +- ...testTypedClassConstantsTypingClass04.completion | 7 + .../typedClassConstantsTypingClass05.php} | 21 +- ...testTypedClassConstantsTypingClass05.completion | 4 + .../typedClassConstantsTypingClass06.php} | 21 +- ...testTypedClassConstantsTypingClass06.completion | 7 + .../typedClassConstantsTypingClass07.php} | 21 +- ...estTypedClassConstantsTypingClass07.completion} | 19 +- .../typedClassConstantsTypingClass08.php} | 21 +- ...testTypedClassConstantsTypingClass08.completion | 7 + .../typedClassConstantsTypingClass09.php} | 21 +- ...testTypedClassConstantsTypingClass09.completion | 3 + .../typedClassConstantsTypingClass10.php} | 21 +- ...testTypedClassConstantsTypingClass10.completion | 11 + .../typedClassConstantsTypingInterface01.php} | 21 +- ...ypedClassConstantsTypingInterface01.completion} | 10 +- .../typedClassConstantsTypingInterface02.php} | 21 +- ...TypedClassConstantsTypingInterface02.completion | 5 + .../typedClassConstantsTypingInterface03.php} | 21 +- ...ypedClassConstantsTypingInterface03.completion} | 11 +- .../typedClassConstantsTypingInterface04.php} | 21 +- ...TypedClassConstantsTypingInterface04.completion | 6 + .../typedClassConstantsTypingInterface05.php} | 21 +- ...TypedClassConstantsTypingInterface05.completion | 4 + .../typedClassConstantsTypingInterface06.php} | 21 +- ...TypedClassConstantsTypingInterface06.completion | 6 + .../typedClassConstantsTypingInterface07.php} | 21 +- ...ypedClassConstantsTypingInterface07.completion} | 11 +- .../typedClassConstantsTypingInterface08.php} | 21 +- ...TypedClassConstantsTypingInterface08.completion | 6 + .../typedClassConstantsTypingInterface09.php} | 21 +- ...TypedClassConstantsTypingInterface09.completion | 3 + .../typedClassConstantsTypingInterface10.php} | 21 +- ...TypedClassConstantsTypingInterface10.completion | 10 + .../formatting/broken/issue197074_04.php.formatted | 6 +- .../testfiles/formatting/php82/dnfTypes_01.php | 190 + .../formatting/php82/dnfTypes_01.php.formatted | 281 + .../php83/dynamicClassConstantFetch_01.php | 69 + ...php.testDynamicClassConstantFetch_01a.formatted | 76 + ...php.testDynamicClassConstantFetch_01b.formatted | 76 + .../php83/dynamicClassConstantFetch_02.php | 76 + ...php.testDynamicClassConstantFetch_02a.formatted | 76 + ...php.testDynamicClassConstantFetch_02b.formatted | 76 + .../formatting/php83/typedClassConstants_01.php | 81 + ...nts_01.php.testTypedClassConstants_01.formatted | 93 + .../formatting/php83/typedClassConstants_02.php | 93 + ...nts_02.php.testTypedClassConstants_02.formatted | 93 + .../testfiles/formatting/spaces/gh5380_01.php} | 19 +- .../spaces/gh5380_01.php.testGH5380_01a.formatted} | 20 +- .../spaces/gh5380_01.php.testGH5380_01b.formatted} | 20 +- .../testfiles/formatting/spaces/gh5380_02.php} | 19 +- .../spaces/gh5380_02.php.testGH5380_02a.formatted} | 20 +- .../spaces/gh5380_02.php.testGH5380_02b.formatted} | 20 +- .../php82/testDNFType/testDNFType.php | 114 + .../testDynamicClassConstantFetch.php | 63 + .../testTypedClassConstants.php | 93 + .../unit/data/testfiles/indent/gh6731_01.php} | 19 +- .../data/testfiles/indent/gh6731_01.php.indented} | 20 +- .../unit/data/testfiles/indent/gh6731_02.php} | 19 +- .../data/testfiles/indent/gh6731_02.php.indented} | 20 +- .../unit/data/testfiles/indent/gh6731_03.php} | 17 +- .../data/testfiles/indent/gh6731_03.php.indented} | 18 +- .../unit/data/testfiles/indent/gh6731_04.php} | 23 +- .../data/testfiles/indent/gh6731_04.php.indented} | 24 +- .../unit/data/testfiles/indent/gh6731_05.php} | 20 +- .../data/testfiles/indent/gh6731_05.php.indented} | 21 +- .../unit/data/testfiles/indent/gh6731_06.php} | 20 +- .../data/testfiles/indent/gh6731_06.php.indented} | 21 +- .../unit/data/testfiles/indent/gh6731_07.php} | 20 +- .../data/testfiles/indent/gh6731_07.php.indented} | 21 +- .../testClassConstantVisibility.php.indexed | 16 +- .../index/testGetEnums/testGetEnums.php.indexed | 12 +- .../testGetFunctions/testGetFunctions.php.indexed | 6 +- .../testGetMethods/testGetMethods.php.indexed | 2 +- .../testIssue240824/testIssue240824.php.indexed | 2 +- .../testNullableTypesForFunctions.php.indexed | 4 +- .../testNullableTypesForMethods.php.indexed | 8 +- ...stPHP80ConstructorPropertyPromotion.php.indexed | 20 +- .../testPHP80MixedReturnType.php.indexed | 4 +- .../testPHP80UnionTypesFunctions.php.indexed | 12 +- .../testPHP80UnionTypesTypes.php.indexed | 16 +- .../testPHP81PureIntersectionTypes.php.indexed | 24 +- .../testPHP82ConstantsInTraits.php.indexed | 18 +- .../testPHP82DNFParameterTypes.php | 69 + .../testPHP82DNFParameterTypes.php.indexed | 281 + .../testPHP82DNFReturnTypes.php} | 38 +- .../testPHP82DNFReturnTypes.php.indexed | 136 + .../testPHP83TypedClassConstants.php | 80 + .../testPHP83TypedClassConstants.php.indexed | 236 + .../testPhpDocParameterTypes.php} | 26 +- .../testPhpDocParameterTypes.php.indexed | 41 + .../context_sensitive_lexer_typed_const_class.php | 123 + .../context_sensitive_lexer_typed_const_enum.php | 123 + ...ntext_sensitive_lexer_typed_const_interface.php | 123 + .../context_sensitive_lexer_typed_const_trait.php | 123 + .../php82/testDNFType/testDNFType.php | 114 + .../testDNFType.php.testDNFType_a01.occurrences | 38 + .../testDNFType.php.testDNFType_a02.occurrences | 38 + .../testDNFType.php.testDNFType_a03.occurrences | 38 + .../testDNFType.php.testDNFType_a04.occurrences | 38 + .../testDNFType.php.testDNFType_a05.occurrences | 38 + .../testDNFType.php.testDNFType_a06.occurrences | 38 + .../testDNFType.php.testDNFType_a07.occurrences | 38 + .../testDNFType.php.testDNFType_a08.occurrences | 38 + .../testDNFType.php.testDNFType_a09.occurrences | 38 + .../testDNFType.php.testDNFType_a10.occurrences | 38 + .../testDNFType.php.testDNFType_a11.occurrences | 38 + .../testDNFType.php.testDNFType_a12.occurrences | 38 + .../testDNFType.php.testDNFType_a13.occurrences | 38 + .../testDNFType.php.testDNFType_a14.occurrences | 38 + .../testDNFType.php.testDNFType_a15.occurrences | 38 + .../testDNFType.php.testDNFType_a16.occurrences | 38 + .../testDNFType.php.testDNFType_a17.occurrences | 38 + .../testDNFType.php.testDNFType_a18.occurrences | 38 + .../testDNFType.php.testDNFType_a19.occurrences | 38 + .../testDNFType.php.testDNFType_a20.occurrences | 38 + .../testDNFType.php.testDNFType_a21.occurrences | 38 + .../testDNFType.php.testDNFType_a22.occurrences | 38 + .../testDNFType.php.testDNFType_a23.occurrences | 38 + .../testDNFType.php.testDNFType_a24.occurrences | 38 + .../testDNFType.php.testDNFType_a25.occurrences | 38 + .../testDNFType.php.testDNFType_a26.occurrences | 38 + .../testDNFType.php.testDNFType_a27.occurrences | 38 + .../testDNFType.php.testDNFType_a28.occurrences | 38 + .../testDNFType.php.testDNFType_a29.occurrences | 38 + .../testDNFType.php.testDNFType_a30.occurrences | 38 + .../testDNFType.php.testDNFType_a31.occurrences | 38 + .../testDNFType.php.testDNFType_a32.occurrences | 38 + .../testDNFType.php.testDNFType_a33.occurrences | 38 + .../testDNFType.php.testDNFType_a34.occurrences | 38 + .../testDNFType.php.testDNFType_a35.occurrences | 38 + .../testDNFType.php.testDNFType_a36.occurrences | 38 + .../testDNFType.php.testDNFType_a37.occurrences | 38 + .../testDNFType.php.testDNFType_a38.occurrences | 38 + .../testDNFType.php.testDNFType_a39.occurrences | 38 + .../testDNFType.php.testDNFType_a40.occurrences | 38 + .../testDNFType.php.testDNFType_a41.occurrences | 38 + .../testDNFType.php.testDNFType_a42.occurrences | 38 + .../testDNFType.php.testDNFType_a43.occurrences | 38 + .../testDNFType.php.testDNFType_a44.occurrences | 38 + .../testDNFType.php.testDNFType_a45.occurrences | 38 + .../testDNFType.php.testDNFType_a46.occurrences | 38 + .../testDNFType.php.testDNFType_a47.occurrences | 38 + .../testDNFType.php.testDNFType_a48.occurrences | 38 + .../testDNFType.php.testDNFType_a49.occurrences | 38 + .../testDNFType.php.testDNFType_a50.occurrences | 38 + .../testDNFType.php.testDNFType_a51.occurrences | 38 + .../testDNFType.php.testDNFType_a52.occurrences | 38 + .../testDNFType.php.testDNFType_a53.occurrences | 38 + .../testDNFType.php.testDNFType_a54.occurrences | 38 + .../testDNFType.php.testDNFType_a55.occurrences | 38 + .../testDNFType.php.testDNFType_a56.occurrences | 38 + .../testDNFType.php.testDNFType_a57.occurrences | 38 + .../testDNFType.php.testDNFType_a58.occurrences | 38 + .../testDNFType.php.testDNFType_a59.occurrences | 38 + .../testDNFType.php.testDNFType_a60.occurrences | 38 + .../testDNFType.php.testDNFType_b01.occurrences | 38 + .../testDNFType.php.testDNFType_b02.occurrences | 38 + .../testDNFType.php.testDNFType_b03.occurrences | 38 + .../testDNFType.php.testDNFType_b04.occurrences | 38 + .../testDNFType.php.testDNFType_b05.occurrences | 38 + .../testDNFType.php.testDNFType_b06.occurrences | 38 + .../testDNFType.php.testDNFType_b07.occurrences | 38 + .../testDNFType.php.testDNFType_b08.occurrences | 38 + .../testDNFType.php.testDNFType_b09.occurrences | 38 + .../testDNFType.php.testDNFType_b10.occurrences | 38 + .../testDNFType.php.testDNFType_b11.occurrences | 38 + .../testDNFType.php.testDNFType_b12.occurrences | 38 + .../testDNFType.php.testDNFType_b13.occurrences | 38 + .../testDNFType.php.testDNFType_b14.occurrences | 38 + .../testDNFType.php.testDNFType_b15.occurrences | 38 + .../testDNFType.php.testDNFType_b16.occurrences | 38 + .../testDNFType.php.testDNFType_b17.occurrences | 38 + .../testDNFType.php.testDNFType_b18.occurrences | 38 + .../testDNFType.php.testDNFType_b19.occurrences | 38 + .../testDNFType.php.testDNFType_b20.occurrences | 38 + .../testDNFType.php.testDNFType_b21.occurrences | 38 + .../testDNFType.php.testDNFType_b22.occurrences | 38 + .../testDNFType.php.testDNFType_b23.occurrences | 38 + .../testDNFType.php.testDNFType_b24.occurrences | 38 + .../testDNFType.php.testDNFType_b25.occurrences | 38 + .../testDNFType.php.testDNFType_b26.occurrences | 38 + .../testDNFType.php.testDNFType_b27.occurrences | 38 + .../testDNFType.php.testDNFType_b28.occurrences | 38 + .../testDNFType.php.testDNFType_b29.occurrences | 38 + .../testDNFType.php.testDNFType_b30.occurrences | 38 + .../testDNFType.php.testDNFType_b31.occurrences | 38 + .../testDNFType.php.testDNFType_b32.occurrences | 38 + .../testDNFType.php.testDNFType_b33.occurrences | 38 + .../testDNFType.php.testDNFType_b34.occurrences | 38 + .../testDNFType.php.testDNFType_b35.occurrences | 38 + .../testDNFType.php.testDNFType_b36.occurrences | 38 + .../testDNFType.php.testDNFType_b37.occurrences | 38 + .../testDNFType.php.testDNFType_b38.occurrences | 38 + .../testDNFType.php.testDNFType_b39.occurrences | 38 + .../testDNFType.php.testDNFType_b40.occurrences | 38 + .../testDNFType.php.testDNFType_b41.occurrences | 38 + .../testDNFType.php.testDNFType_b42.occurrences | 38 + .../testDNFType.php.testDNFType_b43.occurrences | 38 + .../testDNFType.php.testDNFType_b44.occurrences | 38 + .../testDNFType.php.testDNFType_b45.occurrences | 38 + .../testDNFType.php.testDNFType_b46.occurrences | 38 + .../testDNFType.php.testDNFType_b47.occurrences | 38 + .../testDNFType.php.testDNFType_b48.occurrences | 38 + .../testDNFType.php.testDNFType_b49.occurrences | 38 + .../testDNFType.php.testDNFType_b50.occurrences | 38 + .../testDNFType.php.testDNFType_b51.occurrences | 38 + .../testDNFType.php.testDNFType_b52.occurrences | 38 + .../testDNFType.php.testDNFType_b53.occurrences | 38 + .../testDNFType.php.testDNFType_b54.occurrences | 38 + .../testDNFType.php.testDNFType_b55.occurrences | 38 + .../testDNFType.php.testDNFType_b56.occurrences | 38 + .../testDNFType.php.testDNFType_b57.occurrences | 38 + .../testDNFType.php.testDNFType_b58.occurrences | 38 + .../testDNFType.php.testDNFType_b59.occurrences | 38 + .../testDNFType.php.testDNFType_b60.occurrences | 38 + .../testDNFType.php.testDNFType_b61.occurrences | 38 + .../testDNFType.php.testDNFType_c01.occurrences | 26 + .../testDNFType.php.testDNFType_c02.occurrences | 26 + .../testDNFType.php.testDNFType_c03.occurrences | 26 + .../testDNFType.php.testDNFType_c04.occurrences | 26 + .../testDNFType.php.testDNFType_c05.occurrences | 26 + .../testDNFType.php.testDNFType_c06.occurrences | 26 + .../testDNFType.php.testDNFType_c07.occurrences | 26 + .../testDNFType.php.testDNFType_c08.occurrences | 26 + .../testDNFType.php.testDNFType_c09.occurrences | 26 + .../testDNFType.php.testDNFType_c10.occurrences | 26 + .../testDNFType.php.testDNFType_c11.occurrences | 26 + .../testDNFType.php.testDNFType_c12.occurrences | 26 + .../testDNFType.php.testDNFType_c13.occurrences | 26 + .../testDNFType.php.testDNFType_c14.occurrences | 26 + .../testDNFType.php.testDNFType_c15.occurrences | 26 + .../testDNFType.php.testDNFType_c16.occurrences | 26 + .../testDNFType.php.testDNFType_c17.occurrences | 26 + .../testDNFType.php.testDNFType_c18.occurrences | 26 + .../testDNFType.php.testDNFType_c19.occurrences | 26 + .../testDNFType.php.testDNFType_c20.occurrences | 26 + .../testDNFType.php.testDNFType_c21.occurrences | 26 + .../testDNFType.php.testDNFType_c22.occurrences | 26 + .../testDNFType.php.testDNFType_c23.occurrences | 26 + .../testDNFType.php.testDNFType_c24.occurrences | 26 + .../testDNFType.php.testDNFType_c25.occurrences | 26 + .../testDNFType.php.testDNFType_c26.occurrences | 26 + .../testDNFType.php.testDNFType_c27.occurrences | 26 + .../testDNFType.php.testDNFType_c28.occurrences | 26 + .../testDNFType.php.testDNFType_c29.occurrences | 26 + .../testDNFType.php.testDNFType_c30.occurrences | 26 + .../testDNFType.php.testDNFType_c31.occurrences | 26 + .../testDNFType.php.testDNFType_d01.occurrences | 2 + .../testDNFType.php.testDNFType_d02.occurrences | 2 + .../testDNFType.php.testDNFType_e01.occurrences | 2 + .../testDNFType.php.testDNFType_e02.occurrences | 2 + .../testDNFType.php.testDNFType_f01.occurrences | 2 + .../testDNFType.php.testDNFType_f02.occurrences | 2 + .../testDNFType.php.testDNFType_g01.occurrences | 2 + .../testDNFType.php.testDNFType_g02.occurrences | 2 + .../testDNFType.php.testDNFType_h01.occurrences | 2 + .../testDNFType.php.testDNFType_h02.occurrences | 2 + .../testDNFType.php.testDNFType_i01.occurrences | 2 + .../testDNFType.php.testDNFType_i02.occurrences | 2 + .../testDNFType.php.testDNFType_j01.occurrences | 3 + .../testDNFType.php.testDNFType_j02.occurrences | 3 + .../testDNFType.php.testDNFType_j03.occurrences | 3 + .../testDNFType.php.testDNFType_k01.occurrences | 5 + .../testDNFType.php.testDNFType_k02.occurrences | 5 + .../testDNFType.php.testDNFType_k03.occurrences | 5 + .../testDNFType.php.testDNFType_k04.occurrences | 5 + .../testDNFType.php.testDNFType_k05.occurrences | 5 + .../testDynamicClassConstantFetch.php | 67 + ...p.testDynamicClassConstantFetch_01a.occurrences | 11 + ...p.testDynamicClassConstantFetch_01b.occurrences | 11 + ...p.testDynamicClassConstantFetch_01c.occurrences | 11 + ...p.testDynamicClassConstantFetch_01d.occurrences | 11 + ...p.testDynamicClassConstantFetch_01e.occurrences | 11 + ...p.testDynamicClassConstantFetch_01f.occurrences | 11 + ...p.testDynamicClassConstantFetch_01g.occurrences | 11 + ...p.testDynamicClassConstantFetch_01h.occurrences | 11 + ...p.testDynamicClassConstantFetch_01i.occurrences | 11 + ...p.testDynamicClassConstantFetch_01j.occurrences | 11 + ...p.testDynamicClassConstantFetch_01k.occurrences | 11 + ...p.testDynamicClassConstantFetch_01l.occurrences | 11 + ...p.testDynamicClassConstantFetch_02a.occurrences | 2 + ...p.testDynamicClassConstantFetch_02b.occurrences | 2 + ...p.testDynamicClassConstantFetch_03a.occurrences | 2 + ...p.testDynamicClassConstantFetch_03b.occurrences | 2 + ...p.testDynamicClassConstantFetch_04a.occurrences | 2 + ...p.testDynamicClassConstantFetch_04b.occurrences | 2 + ...p.testDynamicClassConstantFetch_05a.occurrences | 2 + ...p.testDynamicClassConstantFetch_05b.occurrences | 2 + ...p.testDynamicClassConstantFetch_06a.occurrences | 2 + ...p.testDynamicClassConstantFetch_06b.occurrences | 2 + ...p.testDynamicClassConstantFetch_07a.occurrences | 2 + ...p.testDynamicClassConstantFetch_07b.occurrences | 2 + ...p.testDynamicClassConstantFetch_08a.occurrences | 3 + ...p.testDynamicClassConstantFetch_08b.occurrences | 3 + ...p.testDynamicClassConstantFetch_08c.occurrences | 3 + ...p.testDynamicClassConstantFetch_08d.occurrences | 3 + ...p.testDynamicClassConstantFetch_09a.occurrences | 6 + ...p.testDynamicClassConstantFetch_09b.occurrences | 6 + ...p.testDynamicClassConstantFetch_09c.occurrences | 6 + ...p.testDynamicClassConstantFetch_09d.occurrences | 6 + ...p.testDynamicClassConstantFetch_09e.occurrences | 6 + ...p.testDynamicClassConstantFetch_09f.occurrences | 6 + ...p.testDynamicClassConstantFetch_10a.occurrences | 3 + ...p.testDynamicClassConstantFetch_10b.occurrences | 3 + ...p.testDynamicClassConstantFetch_10c.occurrences | 3 + ...p.testDynamicClassConstantFetch_11a.occurrences | 10 + ...p.testDynamicClassConstantFetch_11b.occurrences | 10 + ...p.testDynamicClassConstantFetch_11c.occurrences | 10 + ...p.testDynamicClassConstantFetch_11d.occurrences | 10 + ...p.testDynamicClassConstantFetch_11e.occurrences | 10 + ...p.testDynamicClassConstantFetch_11f.occurrences | 10 + ...p.testDynamicClassConstantFetch_11g.occurrences | 10 + ...p.testDynamicClassConstantFetch_11h.occurrences | 10 + ...p.testDynamicClassConstantFetch_11i.occurrences | 10 + ...p.testDynamicClassConstantFetch_11j.occurrences | 10 + .../testTypedClassConstants.php | 92 + ...nts.php.testTypedClassConstants_01a.occurrences | 17 + ...nts.php.testTypedClassConstants_01b.occurrences | 17 + ...nts.php.testTypedClassConstants_01c.occurrences | 17 + ...nts.php.testTypedClassConstants_01d.occurrences | 17 + ...nts.php.testTypedClassConstants_01e.occurrences | 17 + ...nts.php.testTypedClassConstants_01f.occurrences | 17 + ...nts.php.testTypedClassConstants_01g.occurrences | 17 + ...nts.php.testTypedClassConstants_01h.occurrences | 17 + ...nts.php.testTypedClassConstants_01i.occurrences | 17 + ...nts.php.testTypedClassConstants_01j.occurrences | 17 + ...nts.php.testTypedClassConstants_01k.occurrences | 17 + ...nts.php.testTypedClassConstants_01l.occurrences | 17 + ...nts.php.testTypedClassConstants_01m.occurrences | 17 + ...nts.php.testTypedClassConstants_01n.occurrences | 17 + ...nts.php.testTypedClassConstants_01o.occurrences | 17 + ...nts.php.testTypedClassConstants_01p.occurrences | 17 + ...nts.php.testTypedClassConstants_01q.occurrences | 17 + ...nts.php.testTypedClassConstants_01r.occurrences | 17 + ...nts.php.testTypedClassConstants_02a.occurrences | 14 + ...nts.php.testTypedClassConstants_02b.occurrences | 14 + ...nts.php.testTypedClassConstants_02c.occurrences | 14 + ...nts.php.testTypedClassConstants_02d.occurrences | 14 + ...nts.php.testTypedClassConstants_02e.occurrences | 14 + ...nts.php.testTypedClassConstants_02f.occurrences | 14 + ...nts.php.testTypedClassConstants_02g.occurrences | 14 + ...nts.php.testTypedClassConstants_02h.occurrences | 14 + ...nts.php.testTypedClassConstants_02i.occurrences | 14 + ...nts.php.testTypedClassConstants_02j.occurrences | 14 + ...nts.php.testTypedClassConstants_02k.occurrences | 14 + ...nts.php.testTypedClassConstants_02l.occurrences | 14 + ...nts.php.testTypedClassConstants_02m.occurrences | 14 + ...nts.php.testTypedClassConstants_02n.occurrences | 14 + ...nts.php.testTypedClassConstants_03a.occurrences | 6 + ...nts.php.testTypedClassConstants_03b.occurrences | 6 + ...nts.php.testTypedClassConstants_03c.occurrences | 6 + ...nts.php.testTypedClassConstants_03d.occurrences | 6 + ...nts.php.testTypedClassConstants_03e.occurrences | 6 + ...nts.php.testTypedClassConstants_03f.occurrences | 6 + ...nts.php.testTypedClassConstants_04a.occurrences | 16 + ...nts.php.testTypedClassConstants_04b.occurrences | 16 + ...nts.php.testTypedClassConstants_04c.occurrences | 16 + ...nts.php.testTypedClassConstants_04d.occurrences | 16 + ...nts.php.testTypedClassConstants_04e.occurrences | 16 + ...nts.php.testTypedClassConstants_04f.occurrences | 16 + ...nts.php.testTypedClassConstants_04g.occurrences | 16 + ...nts.php.testTypedClassConstants_04h.occurrences | 16 + ...nts.php.testTypedClassConstants_04i.occurrences | 16 + ...nts.php.testTypedClassConstants_04j.occurrences | 16 + ...nts.php.testTypedClassConstants_04k.occurrences | 16 + ...nts.php.testTypedClassConstants_04l.occurrences | 16 + ...nts.php.testTypedClassConstants_04m.occurrences | 16 + ...nts.php.testTypedClassConstants_04n.occurrences | 16 + ...nts.php.testTypedClassConstants_04o.occurrences | 16 + ...nts.php.testTypedClassConstants_04p.occurrences | 16 + ...nts.php.testTypedClassConstants_05a.occurrences | 2 + ...nts.php.testTypedClassConstants_05b.occurrences | 2 + ...nts.php.testTypedClassConstants_06a.occurrences | 2 + ...nts.php.testTypedClassConstants_06b.occurrences | 2 + ...nts.php.testTypedClassConstants_07a.occurrences | 3 + ...nts.php.testTypedClassConstants_07b.occurrences | 3 + ...nts.php.testTypedClassConstants_07c.occurrences | 3 + ...nts.php.testTypedClassConstants_08a.occurrences | 2 + ...nts.php.testTypedClassConstants_08b.occurrences | 2 + ...nts.php.testTypedClassConstants_09a.occurrences | 2 + ...nts.php.testTypedClassConstants_09b.occurrences | 2 + ...nts.php.testTypedClassConstants_10a.occurrences | 2 + ...nts.php.testTypedClassConstants_10b.occurrences | 2 + ...nts.php.testTypedClassConstants_11a.occurrences | 2 + ...nts.php.testTypedClassConstants_11b.occurrences | 2 + ...nts.php.testTypedClassConstants_12a.occurrences | 2 + ...nts.php.testTypedClassConstants_12b.occurrences | 2 + ...nts.php.testTypedClassConstants_13a.occurrences | 2 + ...nts.php.testTypedClassConstants_13b.occurrences | 2 + ...nts.php.testTypedClassConstants_14a.occurrences | 2 + ...nts.php.testTypedClassConstants_14b.occurrences | 2 + ...nts.php.testTypedClassConstants_15a.occurrences | 2 + ...nts.php.testTypedClassConstants_15b.occurrences | 2 + ...nts.php.testTypedClassConstants_16a.occurrences | 2 + ...nts.php.testTypedClassConstants_16b.occurrences | 2 + ...nts.php.testTypedClassConstants_17a.occurrences | 2 + ...nts.php.testTypedClassConstants_17b.occurrences | 2 + ...nts.php.testTypedClassConstants_18a.occurrences | 2 + ...nts.php.testTypedClassConstants_18b.occurrences | 2 + ...nts.php.testTypedClassConstants_19a.occurrences | 2 + ...nts.php.testTypedClassConstants_19b.occurrences | 2 + ...nts.php.testTypedClassConstants_20a.occurrences | 2 + ...nts.php.testTypedClassConstants_20b.occurrences | 2 + ...nts.php.testTypedClassConstants_21a.occurrences | 2 + ...nts.php.testTypedClassConstants_21b.occurrences | 2 + ...nts.php.testTypedClassConstants_22a.occurrences | 2 + ...nts.php.testTypedClassConstants_22b.occurrences | 2 + ...nts.php.testTypedClassConstants_23a.occurrences | 2 + ...nts.php.testTypedClassConstants_23b.occurrences | 2 + .../parser/constantArrayAccess_03.php.errors | 4 +- ...tersectionTypesWithUnionTypeError_03.php.errors | 4 +- .../parser/php83/dynamicClassConstantFetch_01.php} | 41 +- .../php83/dynamicClassConstantFetch_01.php.errors | 1 + .../parser/php83/typedClassConstants_01.php | 80 + .../parser/php83/typedClassConstants_01.php.errors | 1 + .../testfiles/parser/uniformVariableSyntax_39.php} | 21 +- .../parser/uniformVariableSyntax_39.php.errors | 1 + .../semantic/dynamicClassConstantFetch_01.php} | 41 +- .../dynamicClassConstantFetch_01.php.semantic} | 41 +- .../structure/functionGuessingArrayReturnType.php} | 24 +- .../structure/php82/deprecatedDnfFieldTypes_01.php | 58 + .../deprecatedDnfParameterTypes_01.php} | 45 +- .../deprecatedDnfReturnTypes_01.php} | 43 +- .../dnfFieldTypes.php} | 62 +- .../structure/php82/dnfParameterTypes.php | 69 + .../testfiles/structure/php82/dnfReturnTypes.php} | 39 +- .../structure/php83/typedClassConstants.php | 80 + .../testfiles/structure/pureIntersectionTypes.php | 2 +- .../ConstantRedeclarationHint/testTraits.php} | 28 +- .../testTraits.php.testTraits.hints | 6 + .../testDNFTypesImplementMethod01.php} | 25 +- ...ImplementMethod01.php.testDNFTypesFix_01.fixed} | 29 +- ...ypesImplementMethod01.php.testDNFTypes_01.hints | 5 + .../testDNFTypesImplementMethod02.php} | 37 +- ...ImplementMethod02.php.testDNFTypesFix_02.fixed} | 38 +- ...ypesImplementMethod02.php.testDNFTypes_02.hints | 5 + .../testDNFTypesImplementMethod03.php} | 31 +- ...ImplementMethod03.php.testDNFTypesFix_03.fixed} | 37 +- ...ypesImplementMethod03.php.testDNFTypes_03.hints | 5 + .../testDNFTypesImplementMethod04.php} | 24 +- ...ImplementMethod04.php.testDNFTypesFix_04.fixed} | 29 +- ...ypesImplementMethod04.php.testDNFTypes_04.hints | 5 + .../InitializeFieldsSuggestion/dnfTypes_01.php} | 36 +- .../dnfTypes_01.php.testDnfTypesFix_01a.fixed} | 38 +- .../dnfTypes_01.php.testDnfTypesFix_01b.fixed} | 38 +- .../dnfTypes_01.php.testDnfTypesFix_01c.fixed} | 38 +- .../dnfTypes_01.php.testDnfTypesFix_01d.fixed} | 38 +- .../dnfTypes_01.php.testDnfTypes_01a.hints | 16 + .../dnfTypes_01.php.testDnfTypes_01b.hints | 16 + .../dnfTypes_01.php.testDnfTypes_01c.hints | 16 + .../dnfTypes_01.php.testDnfTypes_01d.hints | 16 + .../testConstantsInTraits01.php} | 19 +- ...raits01.php.testConstantsInTraits01_PHP81.hints | 1 + ...raits01.php.testConstantsInTraits01_PHP82.hints | 4 + ...s01.php.testConstantsInTraits01_PHP82Fix.fixed} | 18 +- .../testConstantsInTraits02.php} | 20 +- ...raits02.php.testConstantsInTraits02_PHP82.hints | 1 + .../testConstantsInTraits03.php} | 22 +- ...raits03.php.testConstantsInTraits03_PHP82.hints | 1 + .../testDynamicClassConstantFetch.php} | 44 +- ...etch.php.testDynamicClassConstantFetch_01.hints | 1 + ...etch.php.testDynamicClassConstantFetch_02.hints | 1 + ...etch.php.testDynamicClassConstantFetch_03.hints | 4 + ....php.testDynamicClassConstantFetch_03Fix.fixed} | 45 +- ...etch.php.testDynamicClassConstantFetch_04.hints | 1 + ...etch.php.testDynamicClassConstantFetch_05.hints | 1 + ...etch.php.testDynamicClassConstantFetch_06.hints | 1 + ...etch.php.testDynamicClassConstantFetch_07.hints | 1 + ....testDynamicClassConstantFetch_EnumCase01.hints | 1 + ....testDynamicClassConstantFetch_EnumCase02.hints | 1 + ....testDynamicClassConstantFetch_EnumCase03.hints | 6 + ...DynamicClassConstantFetch_EnumCase03aFix.fixed} | 45 +- ...DynamicClassConstantFetch_EnumCase03bFix.fixed} | 45 +- ....testDynamicClassConstantFetch_EnumCase04.hints | 1 + ....testDynamicClassConstantFetch_EnumCase05.hints | 1 + ....testDynamicClassConstantFetch_EnumCase06.hints | 1 + ...php.testDynamicClassConstantFetch_Trait01.hints | 1 + ...php.testDynamicClassConstantFetch_Trait02.hints | 4 + ...testDynamicClassConstantFetch_Trait02Fix.fixed} | 45 +- .../testConstantTypes_01.php | 99 + ...ConstantTypes_01.php.testConstantTypes_01.hints | 168 + .../modules/php/editor/PHPBracesMatcherTest.java | 143 +- .../SelectedPropertyMethodsCreatorTest.java | 97 +- .../editor/completion/PHP82CodeCompletionTest.java | 397 ++ .../editor/completion/PHP83CodeCompletionTest.java | 487 ++ .../editor/completion/PHPCCDocumentationTest.java | 64 + .../completion/PHPCodeCompletion201870Test.java | 5 +- .../completion/PHPCodeCompletion203294Test.java | 5 +- .../php/editor/csl/GotoDeclarationPHP82Test.java | 476 ++ .../php/editor/csl/GotoDeclarationPHP83Test.java | 375 + .../php/editor/csl/NavigatorDeprecatedTest.java | 12 + .../modules/php/editor/csl/NavigatorTest.java | 19 + .../editor/csl/OccurrencesFinderImplPHP82Test.java | 687 ++ .../editor/csl/OccurrencesFinderImplPHP83Test.java | 591 ++ .../php/editor/csl/SemanticAnalyzerTest.java | 4 + .../php/editor/indent/PHPFormatterSpacesTest.java | 23 + .../php/editor/indent/PHPFormatterTest.java | 40 + .../php/editor/indent/PHPNewLineIndenterTest.java | 28 + .../modules/php/editor/index/PHPIndexTest.java | 16 + .../PHP83FeaturesTest.java} | 22 +- .../modules/php/editor/model/impl/TypeTest.java | 201 + .../php/editor/parser/ASTPHP5ParserTest.java | 14 + .../php/editor/parser/PhpParserErrorTest.java | 14 + .../modules/php/editor/parser/PrintASTVisitor.java | 6 +- .../typinghooks/PhpCommentGeneratorTest.java | 42 + .../typinghooks/PhpTypedTextInterceptorTest.java | 30 + .../ConstantRedeclarationHintTest.java | 4 + .../ImplementAbstractMethodsHintErrorTest.java | 32 + .../InitializeFieldsSuggestionTest.java | 32 + .../verification/IntroduceSuggestionTest.java | 122 +- .../verification/UnusableTypesHintErrorTest.java | 4 + php/php.editor/tools/ASTPHP5Parser.cup | 54 +- php/php.editor/tools/ASTPHP5Scanner.flex | 4 +- php/php.editor/tools/Php5ColoringScanner.flex | 53 +- php/php.project/manifest.mf | 2 +- php/php.project/nbproject/project.xml | 2 +- 928 files changed, 93581 insertions(+), 64663 deletions(-) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@netbeans.apache.org For additional commands, e-mail: commits-h...@netbeans.apache.org For further information about the NetBeans mailing lists, visit: https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists