From 241ee252ce0fadeacfb1c6349b5838708e3a4e35 Mon Sep 17 00:00:00 2001
From: Brad King <brad.king@kitware.com>
Date: Thu, 27 Jul 2023 13:17:31 -0400
Subject: IWYU: Update for Debian 12 CI job

`include-what-you-use` diagnostics, in practice, are specific to
the environment's compiler and standard library.  Update includes
to satisfy IWYU for our CI job under Debian 12.
---
 .gitlab/ci/configure_debian12_iwyu.cmake           |    1 +
 Source/CTest/cmCTestBZR.cxx                        |    1 -
 Source/CTest/cmCTestBuildHandler.cxx               |    1 +
 Source/CTest/cmCTestCVS.cxx                        |    1 -
 Source/CTest/cmCTestConfigureCommand.cxx           |    1 +
 Source/CTest/cmCTestCoverageHandler.cxx            |    2 +
 Source/CTest/cmCTestGIT.cxx                        |    1 -
 Source/CTest/cmCTestHG.cxx                         |    1 -
 Source/CTest/cmCTestMemCheckHandler.cxx            |    1 +
 Source/CTest/cmCTestP4.cxx                         |    1 -
 Source/CTest/cmCTestSVN.cxx                        |    1 -
 Source/CTest/cmCTestTestCommand.cxx                |    1 +
 Source/CTest/cmCTestTestHandler.cxx                |    1 +
 Source/CTest/cmCTestTestHandler.h                  |    2 +-
 Source/CTest/cmParseGTMCoverage.cxx                |    1 -
 Source/CTest/cmProcess.cxx                         |    1 +
 .../CursesDialog/cmCursesCacheEntryComposite.cxx   |    1 +
 Source/LexerParser/cmCommandArgumentParser.cxx     |  105 +-
 Source/LexerParser/cmCommandArgumentParser.y       |    1 -
 Source/LexerParser/cmDependsJavaParser.cxx         | 1431 ++++++++++----------
 Source/LexerParser/cmDependsJavaParser.y           |    1 -
 Source/LexerParser/cmExprParser.cxx                |  105 +-
 Source/LexerParser/cmExprParser.y                  |    1 -
 Source/LexerParser/cmGccDepfileLexer.cxx           |   33 +-
 Source/LexerParser/cmGccDepfileLexer.h             |    7 +-
 Source/cmBinUtilsMacOSMachOLinker.cxx              |    1 -
 Source/cmBlockCommand.cxx                          |    3 +-
 Source/cmCMakeHostSystemInformationCommand.cxx     |    1 +
 Source/cmCMakeLanguageCommand.cxx                  |    3 +-
 Source/cmCMakePresetsGraph.cxx                     |    1 +
 Source/cmCMakePresetsGraph.h                       |    4 +-
 ...cmCMakePresetsGraphReadJSONConfigurePresets.cxx |    3 +-
 .../cmCMakePresetsGraphReadJSONPackagePresets.cxx  |    1 -
 Source/cmCMakePresetsGraphReadJSONTestPresets.cxx  |    1 -
 .../cmCMakePresetsGraphReadJSONWorkflowPresets.cxx |    1 -
 Source/cmCPackPropertiesGenerator.cxx              |    1 +
 Source/cmCTest.cxx                                 |    1 +
 Source/cmCommonTargetGenerator.cxx                 |    1 +
 Source/cmComputeLinkDepends.cxx                    |    1 +
 Source/cmConditionEvaluator.h                      |    2 +-
 Source/cmCoreTryCompile.cxx                        |    1 -
 Source/cmCxxModuleMapper.h                         |    3 +-
 Source/cmDebuggerAdapter.h                         |    2 +-
 Source/cmDebuggerBreakpointManager.cxx             |    1 -
 Source/cmDebuggerBreakpointManager.h               |    6 +-
 Source/cmDebuggerExceptionManager.h                |    3 +-
 Source/cmDebuggerProtocol.h                        |    2 +-
 Source/cmDebuggerVariablesHelper.cxx               |    1 +
 Source/cmDebuggerVariablesManager.h                |    9 +-
 Source/cmDefinitions.cxx                           |    1 -
 Source/cmDefinitions.h                             |    1 -
 Source/cmDependsCompiler.cxx                       |    1 -
 Source/cmDependsFortran.cxx                        |    1 +
 Source/cmDocumentationFormatter.cxx                |    2 +-
 Source/cmDocumentationFormatter.h                  |    1 +
 Source/cmExportBuildAndroidMKGenerator.cxx         |    1 +
 Source/cmExportBuildAndroidMKGenerator.h           |    1 -
 Source/cmExportInstallAndroidMKGenerator.h         |    1 -
 Source/cmExportLibraryDependenciesCommand.cxx      |    1 +
 Source/cmExportTryCompileFileGenerator.cxx         |    2 -
 Source/cmFileAPI.cxx                               |    1 -
 Source/cmFileAPICodemodel.cxx                      |    1 -
 Source/cmFileTime.cxx                              |    1 -
 Source/cmFindBase.cxx                              |    1 +
 Source/cmFindPackageCommand.cxx                    |    1 -
 Source/cmGccDepfileLexerHelper.cxx                 |    1 -
 Source/cmGeneratedFileStream.cxx                   |    1 +
 Source/cmGeneratorExpressionParser.h               |    3 +-
 Source/cmGeneratorTarget.cxx                       |    1 +
 Source/cmGeneratorTarget.h                         |    2 +-
 Source/cmGhsMultiTargetGenerator.cxx               |    1 +
 Source/cmGlobalGenerator.cxx                       |    3 +
 Source/cmGlobalGenerator.h                         |    8 +-
 Source/cmGlobalNinjaGenerator.cxx                  |    1 +
 Source/cmInstallCxxModuleBmiGenerator.cxx          |    1 +
 Source/cmInstallCxxModuleBmiGenerator.h            |    1 -
 Source/cmInstallDirectoryGenerator.h               |    1 -
 Source/cmInstallExportGenerator.cxx                |    1 +
 Source/cmInstallExportGenerator.h                  |    1 -
 Source/cmInstallFileSetGenerator.h                 |    1 -
 Source/cmInstallFilesGenerator.h                   |    1 -
 .../cmInstallGetRuntimeDependenciesGenerator.cxx   |    1 +
 Source/cmInstallGetRuntimeDependenciesGenerator.h  |    1 -
 .../cmInstallImportedRuntimeArtifactsGenerator.h   |    1 -
 Source/cmInstallRuntimeDependencySetGenerator.h    |    1 -
 Source/cmInstallScriptGenerator.h                  |    1 -
 Source/cmInstallTargetGenerator.cxx                |    1 +
 Source/cmInstallTargetGenerator.h                  |    1 -
 Source/cmInstalledFile.h                           |    3 +-
 Source/cmJSONState.cxx                             |    3 +-
 Source/cmJSONState.h                               |    1 -
 Source/cmLocalGenerator.cxx                        |    2 +
 Source/cmLocalGenerator.h                          |    4 +-
 Source/cmLocalNinjaGenerator.cxx                   |    2 +
 Source/cmMakefile.cxx                              |    1 +
 Source/cmMakefile.h                                |    8 +-
 Source/cmMakefileProfilingData.cxx                 |    1 -
 Source/cmMessenger.cxx                             |    1 +
 Source/cmMessenger.h                               |    2 +-
 Source/cmNinjaNormalTargetGenerator.cxx            |    1 -
 Source/cmNinjaTargetGenerator.cxx                  |    1 -
 Source/cmOrderDirectories.cxx                      |    1 +
 Source/cmOutputConverter.cxx                       |    1 +
 Source/cmOutputRequiredFilesCommand.cxx            |    1 +
 Source/cmProjectCommand.cxx                        |    1 -
 Source/cmQtAutoGenerator.cxx                       |    2 +
 Source/cmQtAutoMocUic.cxx                          |    1 +
 Source/cmQtAutoRcc.cxx                             |    1 -
 Source/cmState.h                                   |    1 -
 Source/cmStateSnapshot.cxx                         |    1 +
 Source/cmStateSnapshot.h                           |    1 -
 Source/cmString.hxx                                |    1 -
 Source/cmSystemTools.cxx                           |    2 +-
 Source/cmSystemTools.h                             |    2 +-
 Source/cmTarget.h                                  |   10 +-
 Source/cmTargetLinkLibrariesCommand.cxx            |    1 +
 Source/cmTransformDepfile.cxx                      |    1 -
 Source/cmUVHandlePtr.cxx                           |    3 +
 Source/cmUVProcessChain.cxx                        |    3 -
 Source/cmUVProcessChain.h                          |    2 +
 Source/cmValue.h                                   |    1 -
 Source/cmVisualStudio10TargetGenerator.cxx         |    1 +
 Source/cmWindowsRegistry.cxx                       |    1 -
 Source/cmWindowsRegistry.h                         |    1 +
 Source/cmXcFramework.cxx                           |    1 -
 Source/cm_codecvt.cxx                              |    2 +
 Source/cm_codecvt.hxx                              |    2 +-
 Source/cmake.h                                     |    4 +-
 Tests/CMakeLib/testCMExtAlgorithm.cxx              |    1 -
 Tests/CMakeLib/testEncoding.cxx                    |    1 +
 Tests/CMakeLib/testGccDepfileReader.cxx            |    1 -
 Tests/CMakeLib/testList.cxx                        |    1 -
 Tests/CMakeLib/testOptional.cxx                    |    1 -
 Tests/CMakeLib/testString.cxx                      |    2 -
 Tests/CMakeLib/testUVProcessChain.cxx              |    1 -
 Utilities/IWYU/mapping.imp                         |   74 +-
 136 files changed, 950 insertions(+), 1020 deletions(-)

diff --git a/.gitlab/ci/configure_debian12_iwyu.cmake b/.gitlab/ci/configure_debian12_iwyu.cmake
index ff6db60..37ccbf4 100644
--- a/.gitlab/ci/configure_debian12_iwyu.cmake
+++ b/.gitlab/ci/configure_debian12_iwyu.cmake
@@ -1,4 +1,5 @@
 set(CMake_RUN_IWYU ON CACHE BOOL "")
+set(CMake_IWYU_OPTIONS "-DCMAKE_IWYU_FORWARD_STD_HASH" CACHE STRING "")
 # Uncomment to diagnose IWYU problems as needed.
 #set(CMake_IWYU_VERBOSE ON CACHE BOOL "")
 set(IWYU_COMMAND "/usr/bin/include-what-you-use-15" CACHE FILEPATH "")
diff --git a/Source/CTest/cmCTestBZR.cxx b/Source/CTest/cmCTestBZR.cxx
index 81a866a..246e811 100644
--- a/Source/CTest/cmCTestBZR.cxx
+++ b/Source/CTest/cmCTestBZR.cxx
@@ -16,7 +16,6 @@
 
 #include "cmCTest.h"
 #include "cmCTestVC.h"
-#include "cmProcessTools.h"
 #include "cmSystemTools.h"
 #include "cmXMLParser.h"
 
diff --git a/Source/CTest/cmCTestBuildHandler.cxx b/Source/CTest/cmCTestBuildHandler.cxx
index 882b579..00ecf42 100644
--- a/Source/CTest/cmCTestBuildHandler.cxx
+++ b/Source/CTest/cmCTestBuildHandler.cxx
@@ -3,6 +3,7 @@
 #include "cmCTestBuildHandler.h"
 
 #include <cstdlib>
+#include <ratio>
 #include <set>
 #include <utility>
 
diff --git a/Source/CTest/cmCTestCVS.cxx b/Source/CTest/cmCTestCVS.cxx
index 87ab762..95e898c 100644
--- a/Source/CTest/cmCTestCVS.cxx
+++ b/Source/CTest/cmCTestCVS.cxx
@@ -10,7 +10,6 @@
 #include "cmsys/RegularExpression.hxx"
 
 #include "cmCTest.h"
-#include "cmProcessTools.h"
 #include "cmStringAlgorithms.h"
 #include "cmSystemTools.h"
 #include "cmXMLWriter.h"
diff --git a/Source/CTest/cmCTestConfigureCommand.cxx b/Source/CTest/cmCTestConfigureCommand.cxx
index bae1f54..e0326a9 100644
--- a/Source/CTest/cmCTestConfigureCommand.cxx
+++ b/Source/CTest/cmCTestConfigureCommand.cxx
@@ -4,6 +4,7 @@
 
 #include <cstring>
 #include <sstream>
+#include <vector>
 
 #include <cmext/string_view>
 
diff --git a/Source/CTest/cmCTestCoverageHandler.cxx b/Source/CTest/cmCTestCoverageHandler.cxx
index 5c48cbf..2874be7 100644
--- a/Source/CTest/cmCTestCoverageHandler.cxx
+++ b/Source/CTest/cmCTestCoverageHandler.cxx
@@ -9,7 +9,9 @@
 #include <cstring>
 #include <iomanip>
 #include <iterator>
+#include <ratio>
 #include <sstream>
+#include <type_traits>
 #include <utility>
 
 #include <cmext/algorithm>
diff --git a/Source/CTest/cmCTestGIT.cxx b/Source/CTest/cmCTestGIT.cxx
index a6e7ac5..5f8cb74 100644
--- a/Source/CTest/cmCTestGIT.cxx
+++ b/Source/CTest/cmCTestGIT.cxx
@@ -16,7 +16,6 @@
 #include "cmCTestVC.h"
 #include "cmList.h"
 #include "cmProcessOutput.h"
-#include "cmProcessTools.h"
 #include "cmStringAlgorithms.h"
 #include "cmSystemTools.h"
 #include "cmValue.h"
diff --git a/Source/CTest/cmCTestHG.cxx b/Source/CTest/cmCTestHG.cxx
index 97b01ba..02837ba 100644
--- a/Source/CTest/cmCTestHG.cxx
+++ b/Source/CTest/cmCTestHG.cxx
@@ -11,7 +11,6 @@
 
 #include "cmCTest.h"
 #include "cmCTestVC.h"
-#include "cmProcessTools.h"
 #include "cmSystemTools.h"
 #include "cmXMLParser.h"
 
diff --git a/Source/CTest/cmCTestMemCheckHandler.cxx b/Source/CTest/cmCTestMemCheckHandler.cxx
index 6f6a642..b51de84 100644
--- a/Source/CTest/cmCTestMemCheckHandler.cxx
+++ b/Source/CTest/cmCTestMemCheckHandler.cxx
@@ -7,6 +7,7 @@
 #include <cstring>
 #include <iostream>
 #include <iterator>
+#include <ratio>
 #include <sstream>
 #include <utility>
 
diff --git a/Source/CTest/cmCTestP4.cxx b/Source/CTest/cmCTestP4.cxx
index e22ec4b..0e002b9 100644
--- a/Source/CTest/cmCTestP4.cxx
+++ b/Source/CTest/cmCTestP4.cxx
@@ -14,7 +14,6 @@
 #include "cmCTest.h"
 #include "cmCTestVC.h"
 #include "cmList.h"
-#include "cmProcessTools.h"
 #include "cmRange.h"
 #include "cmSystemTools.h"
 
diff --git a/Source/CTest/cmCTestSVN.cxx b/Source/CTest/cmCTestSVN.cxx
index 4c98fdf..91a1177 100644
--- a/Source/CTest/cmCTestSVN.cxx
+++ b/Source/CTest/cmCTestSVN.cxx
@@ -13,7 +13,6 @@
 
 #include "cmCTest.h"
 #include "cmCTestVC.h"
-#include "cmProcessTools.h"
 #include "cmStringAlgorithms.h"
 #include "cmSystemTools.h"
 #include "cmXMLParser.h"
diff --git a/Source/CTest/cmCTestTestCommand.cxx b/Source/CTest/cmCTestTestCommand.cxx
index 5488388..c717868 100644
--- a/Source/CTest/cmCTestTestCommand.cxx
+++ b/Source/CTest/cmCTestTestCommand.cxx
@@ -4,6 +4,7 @@
 
 #include <chrono>
 #include <cstdlib>
+#include <ratio>
 #include <sstream>
 
 #include <cmext/string_view>
diff --git a/Source/CTest/cmCTestTestHandler.cxx b/Source/CTest/cmCTestTestHandler.cxx
index 5ac696b..94014a8 100644
--- a/Source/CTest/cmCTestTestHandler.cxx
+++ b/Source/CTest/cmCTestTestHandler.cxx
@@ -13,6 +13,7 @@
 #include <functional>
 #include <iomanip>
 #include <iterator>
+#include <ratio>
 #include <set>
 #include <sstream>
 #include <utility>
diff --git a/Source/CTest/cmCTestTestHandler.h b/Source/CTest/cmCTestTestHandler.h
index 315a5b7..3e80c94 100644
--- a/Source/CTest/cmCTestTestHandler.h
+++ b/Source/CTest/cmCTestTestHandler.h
@@ -22,7 +22,7 @@
 #include "cmCTest.h"
 #include "cmCTestGenericHandler.h"
 #include "cmCTestResourceSpec.h"
-#include "cmCTestTypes.h"
+#include "cmCTestTypes.h" // IWYU pragma: keep
 #include "cmDuration.h"
 #include "cmListFileCache.h"
 #include "cmValue.h"
diff --git a/Source/CTest/cmParseGTMCoverage.cxx b/Source/CTest/cmParseGTMCoverage.cxx
index 14417cc..c63b496 100644
--- a/Source/CTest/cmParseGTMCoverage.cxx
+++ b/Source/CTest/cmParseGTMCoverage.cxx
@@ -2,7 +2,6 @@
 
 #include <cstdio>
 #include <cstdlib>
-#include <map>
 #include <vector>
 
 #include "cmsys/Directory.hxx"
diff --git a/Source/CTest/cmProcess.cxx b/Source/CTest/cmProcess.cxx
index 269b92c..2c809b6 100644
--- a/Source/CTest/cmProcess.cxx
+++ b/Source/CTest/cmProcess.cxx
@@ -4,6 +4,7 @@
 
 #include <csignal>
 #include <iostream>
+#include <ratio>
 #include <string>
 #include <utility>
 
diff --git a/Source/CursesDialog/cmCursesCacheEntryComposite.cxx b/Source/CursesDialog/cmCursesCacheEntryComposite.cxx
index fc5450e..0b104ea 100644
--- a/Source/CursesDialog/cmCursesCacheEntryComposite.cxx
+++ b/Source/CursesDialog/cmCursesCacheEntryComposite.cxx
@@ -4,6 +4,7 @@
 
 #include <cassert>
 #include <utility>
+#include <vector>
 
 #include <cm/memory>
 
diff --git a/Source/LexerParser/cmCommandArgumentParser.cxx b/Source/LexerParser/cmCommandArgumentParser.cxx
index 4c49e0f..7ea0b15 100644
--- a/Source/LexerParser/cmCommandArgumentParser.cxx
+++ b/Source/LexerParser/cmCommandArgumentParser.cxx
@@ -97,7 +97,6 @@ Run bison like this:
 # include <malloc.h>
 #endif
 
-#include <stdint.h>
 /* Make sure the parser uses standard memory allocation.  The default
    generated parser malloc/free declarations do not work on all
    platforms.  */
@@ -137,7 +136,7 @@ static void cmCommandArgument_yyerror(yyscan_t yyscanner, const char* message);
 # endif
 #endif
 
-#line 141 "cmCommandArgumentParser.cxx"
+#line 140 "cmCommandArgumentParser.cxx"
 
 # ifndef YY_CAST
 #  ifdef __cplusplus
@@ -576,9 +575,9 @@ static const yytype_int8 yytranslate[] =
 /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
 static const yytype_uint8 yyrline[] =
 {
-       0,   102,   102,   108,   111,   116,   119,   124,   127,   132,
-     135,   138,   141,   144,   147,   152,   155,   158,   161,   166,
-     169,   174,   177,   182,   185
+       0,   101,   101,   107,   110,   115,   118,   123,   126,   131,
+     134,   137,   140,   143,   146,   151,   154,   157,   160,   165,
+     168,   173,   176,   181,   184
 };
 #endif
 
@@ -1437,192 +1436,192 @@ yyreduce:
   switch (yyn)
     {
   case 2: /* Start: GoalWithOptionalBackSlash  */
-#line 102 "cmCommandArgumentParser.y"
+#line 101 "cmCommandArgumentParser.y"
                             {
     (yyval.str) = 0;
     yyGetParser->SetResult((yyvsp[0].str));
   }
-#line 1446 "cmCommandArgumentParser.cxx"
+#line 1445 "cmCommandArgumentParser.cxx"
     break;
 
   case 3: /* GoalWithOptionalBackSlash: Goal  */
-#line 108 "cmCommandArgumentParser.y"
+#line 107 "cmCommandArgumentParser.y"
        {
     (yyval.str) = (yyvsp[0].str);
   }
-#line 1454 "cmCommandArgumentParser.cxx"
+#line 1453 "cmCommandArgumentParser.cxx"
     break;
 
   case 4: /* GoalWithOptionalBackSlash: Goal "\\"  */
-#line 111 "cmCommandArgumentParser.y"
+#line 110 "cmCommandArgumentParser.y"
                   {
     (yyval.str) = yyGetParser->CombineUnions((yyvsp[-1].str), (yyvsp[0].str));
   }
-#line 1462 "cmCommandArgumentParser.cxx"
+#line 1461 "cmCommandArgumentParser.cxx"
     break;
 
   case 5: /* Goal: %empty  */
-#line 116 "cmCommandArgumentParser.y"
+#line 115 "cmCommandArgumentParser.y"
   {
     (yyval.str) = 0;
   }
-#line 1470 "cmCommandArgumentParser.cxx"
+#line 1469 "cmCommandArgumentParser.cxx"
     break;
 
   case 6: /* Goal: String Goal  */
-#line 119 "cmCommandArgumentParser.y"
+#line 118 "cmCommandArgumentParser.y"
               {
     (yyval.str) = yyGetParser->CombineUnions((yyvsp[-1].str), (yyvsp[0].str));
   }
-#line 1478 "cmCommandArgumentParser.cxx"
+#line 1477 "cmCommandArgumentParser.cxx"
     break;
 
   case 7: /* String: OuterText  */
-#line 124 "cmCommandArgumentParser.y"
+#line 123 "cmCommandArgumentParser.y"
             {
     (yyval.str) = (yyvsp[0].str);
   }
-#line 1486 "cmCommandArgumentParser.cxx"
+#line 1485 "cmCommandArgumentParser.cxx"
     break;
 
   case 8: /* String: Variable  */
-#line 127 "cmCommandArgumentParser.y"
+#line 126 "cmCommandArgumentParser.y"
            {
     (yyval.str) = (yyvsp[0].str);
   }
-#line 1494 "cmCommandArgumentParser.cxx"
+#line 1493 "cmCommandArgumentParser.cxx"
     break;
 
   case 9: /* OuterText: cal_NAME  */
-#line 132 "cmCommandArgumentParser.y"
+#line 131 "cmCommandArgumentParser.y"
            {
     (yyval.str) = (yyvsp[0].str);
   }
-#line 1502 "cmCommandArgumentParser.cxx"
+#line 1501 "cmCommandArgumentParser.cxx"
     break;
 
   case 10: /* OuterText: "@"  */
-#line 135 "cmCommandArgumentParser.y"
+#line 134 "cmCommandArgumentParser.y"
          {
     (yyval.str) = (yyvsp[0].str);
   }
-#line 1510 "cmCommandArgumentParser.cxx"
+#line 1509 "cmCommandArgumentParser.cxx"
     break;
 
   case 11: /* OuterText: "$"  */
-#line 138 "cmCommandArgumentParser.y"
+#line 137 "cmCommandArgumentParser.y"
              {
     (yyval.str) = (yyvsp[0].str);
   }
-#line 1518 "cmCommandArgumentParser.cxx"
+#line 1517 "cmCommandArgumentParser.cxx"
     break;
 
   case 12: /* OuterText: "{"  */
-#line 141 "cmCommandArgumentParser.y"
+#line 140 "cmCommandArgumentParser.y"
              {
     (yyval.str) = (yyvsp[0].str);
   }
-#line 1526 "cmCommandArgumentParser.cxx"
+#line 1525 "cmCommandArgumentParser.cxx"
     break;
 
   case 13: /* OuterText: "}"  */
-#line 144 "cmCommandArgumentParser.y"
+#line 143 "cmCommandArgumentParser.y"
              {
     (yyval.str) = (yyvsp[0].str);
   }
-#line 1534 "cmCommandArgumentParser.cxx"
+#line 1533 "cmCommandArgumentParser.cxx"
     break;
 
   case 14: /* OuterText: cal_SYMBOL  */
-#line 147 "cmCommandArgumentParser.y"
+#line 146 "cmCommandArgumentParser.y"
              {
     (yyval.str) = (yyvsp[0].str);
   }
-#line 1542 "cmCommandArgumentParser.cxx"
+#line 1541 "cmCommandArgumentParser.cxx"
     break;
 
   case 15: /* Variable: cal_ENVCURLY EnvVarName "}"  */
-#line 152 "cmCommandArgumentParser.y"
+#line 151 "cmCommandArgumentParser.y"
                                      {
     (yyval.str) = yyGetParser->ExpandSpecialVariable((yyvsp[-2].str), (yyvsp[-1].str));
   }
-#line 1550 "cmCommandArgumentParser.cxx"
+#line 1549 "cmCommandArgumentParser.cxx"
     break;
 
   case 16: /* Variable: cal_NCURLY MultipleIds "}"  */
-#line 155 "cmCommandArgumentParser.y"
+#line 154 "cmCommandArgumentParser.y"
                                     {
     (yyval.str) = yyGetParser->ExpandSpecialVariable((yyvsp[-2].str), (yyvsp[-1].str));
   }
-#line 1558 "cmCommandArgumentParser.cxx"
+#line 1557 "cmCommandArgumentParser.cxx"
     break;
 
   case 17: /* Variable: cal_DCURLY MultipleIds "}"  */
-#line 158 "cmCommandArgumentParser.y"
+#line 157 "cmCommandArgumentParser.y"
                                     {
     (yyval.str) = yyGetParser->ExpandVariable((yyvsp[-1].str));
   }
-#line 1566 "cmCommandArgumentParser.cxx"
+#line 1565 "cmCommandArgumentParser.cxx"
     break;
 
   case 18: /* Variable: cal_ATNAME  */
-#line 161 "cmCommandArgumentParser.y"
+#line 160 "cmCommandArgumentParser.y"
              {
     (yyval.str) = yyGetParser->ExpandVariableForAt((yyvsp[0].str));
   }
-#line 1574 "cmCommandArgumentParser.cxx"
+#line 1573 "cmCommandArgumentParser.cxx"
     break;
 
   case 19: /* EnvVarName: MultipleIds  */
-#line 166 "cmCommandArgumentParser.y"
+#line 165 "cmCommandArgumentParser.y"
               {
     (yyval.str) = (yyvsp[0].str);
   }
-#line 1582 "cmCommandArgumentParser.cxx"
+#line 1581 "cmCommandArgumentParser.cxx"
     break;
 
   case 20: /* EnvVarName: cal_SYMBOL EnvVarName  */
-#line 169 "cmCommandArgumentParser.y"
+#line 168 "cmCommandArgumentParser.y"
                         {
     (yyval.str) = (yyvsp[-1].str);
   }
-#line 1590 "cmCommandArgumentParser.cxx"
+#line 1589 "cmCommandArgumentParser.cxx"
     break;
 
   case 21: /* MultipleIds: %empty  */
-#line 174 "cmCommandArgumentParser.y"
+#line 173 "cmCommandArgumentParser.y"
   {
     (yyval.str) = 0;
   }
-#line 1598 "cmCommandArgumentParser.cxx"
+#line 1597 "cmCommandArgumentParser.cxx"
     break;
 
   case 22: /* MultipleIds: ID MultipleIds  */
-#line 177 "cmCommandArgumentParser.y"
+#line 176 "cmCommandArgumentParser.y"
                  {
     (yyval.str) = yyGetParser->CombineUnions((yyvsp[-1].str), (yyvsp[0].str));
   }
-#line 1606 "cmCommandArgumentParser.cxx"
+#line 1605 "cmCommandArgumentParser.cxx"
     break;
 
   case 23: /* ID: cal_NAME  */
-#line 182 "cmCommandArgumentParser.y"
+#line 181 "cmCommandArgumentParser.y"
            {
     (yyval.str) = (yyvsp[0].str);
   }
-#line 1614 "cmCommandArgumentParser.cxx"
+#line 1613 "cmCommandArgumentParser.cxx"
     break;
 
   case 24: /* ID: Variable  */
-#line 185 "cmCommandArgumentParser.y"
+#line 184 "cmCommandArgumentParser.y"
            {
     (yyval.str) = (yyvsp[0].str);
   }
-#line 1622 "cmCommandArgumentParser.cxx"
+#line 1621 "cmCommandArgumentParser.cxx"
     break;
 
 
-#line 1626 "cmCommandArgumentParser.cxx"
+#line 1625 "cmCommandArgumentParser.cxx"
 
       default: break;
     }
@@ -1846,7 +1845,7 @@ yyreturnlab:
   return yyresult;
 }
 
-#line 190 "cmCommandArgumentParser.y"
+#line 189 "cmCommandArgumentParser.y"
 
 /* End of grammar */
 
diff --git a/Source/LexerParser/cmCommandArgumentParser.y b/Source/LexerParser/cmCommandArgumentParser.y
index 602e1c3..59f4b32 100644
--- a/Source/LexerParser/cmCommandArgumentParser.y
+++ b/Source/LexerParser/cmCommandArgumentParser.y
@@ -22,7 +22,6 @@ Run bison like this:
 # include <malloc.h>
 #endif
 
-#include <stdint.h>
 /* Make sure the parser uses standard memory allocation.  The default
    generated parser malloc/free declarations do not work on all
    platforms.  */
diff --git a/Source/LexerParser/cmDependsJavaParser.cxx b/Source/LexerParser/cmDependsJavaParser.cxx
index 59cf1be..6755c70 100644
--- a/Source/LexerParser/cmDependsJavaParser.cxx
+++ b/Source/LexerParser/cmDependsJavaParser.cxx
@@ -88,7 +88,6 @@ Run bison like this:
 
 #include "cmConfigure.h" // IWYU pragma: keep
 
-#include <stdint.h>
 #include <stdlib.h>
 #include <string.h>
 #include <string>
@@ -126,7 +125,7 @@ static void cmDependsJava_yyerror(yyscan_t yyscanner, const char* message);
 # endif
 #endif
 
-#line 130 "cmDependsJavaParser.cxx"
+#line 129 "cmDependsJavaParser.cxx"
 
 # ifndef YY_CAST
 #  ifdef __cplusplus
@@ -814,42 +813,42 @@ static const yytype_int8 yytranslate[] =
 /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
 static const yytype_int16 yyrline[] =
 {
-       0,   185,   185,   194,   202,   210,   218,   226,   234,   243,
-     251,   260,   268,   277,   282,   287,   292,   297,   302,   307,
-     312,   318,   326,   335,   345,   354,   363,   371,   381,   387,
-     394,   401,   407,   414,   423,   433,   443,   452,   460,   469,
-     478,   484,   493,   499,   508,   514,   523,   535,   543,   552,
-     564,   577,   585,   593,   602,   610,   619,   619,   619,   620,
-     621,   621,   621,   621,   621,   621,   622,   625,   635,   644,
-     653,   662,   672,   678,   687,   696,   705,   713,   722,   731,
-     737,   746,   754,   762,   770,   779,   787,   796,   802,   810,
-     819,   827,   836,   845,   854,   862,   871,   879,   887,   896,
-     905,   915,   922,   932,   942,   949,   956,   959,   965,   975,
-     985,   995,  1001,  1011,  1021,  1031,  1040,  1050,  1061,  1071,
-    1078,  1088,  1097,  1107,  1116,  1126,  1132,  1142,  1151,  1161,
-    1171,  1178,  1187,  1196,  1205,  1214,  1222,  1231,  1240,  1250,
-    1260,  1269,  1279,  1289,  1296,  1305,  1315,  1324,  1334,  1343,
-    1350,  1360,  1369,  1379,  1388,  1397,  1407,  1417,  1426,  1436,
-    1445,  1454,  1463,  1472,  1481,  1491,  1500,  1509,  1518,  1527,
-    1537,  1546,  1555,  1564,  1573,  1582,  1591,  1600,  1609,  1618,
-    1627,  1636,  1646,  1656,  1667,  1677,  1687,  1696,  1705,  1714,
-    1723,  1732,  1741,  1751,  1761,  1771,  1781,  1788,  1795,  1802,
-    1812,  1819,  1829,  1839,  1848,  1858,  1867,  1877,  1884,  1891,
-    1898,  1906,  1913,  1923,  1930,  1940,  1950,  1957,  1967,  1976,
-    1986,  1996,  2005,  2015,  2024,  2034,  2045,  2052,  2059,  2070,
-    2080,  2090,  2100,  2109,  2119,  2126,  2136,  2145,  2155,  2162,
-    2172,  2181,  2191,  2200,  2206,  2215,  2224,  2233,  2242,  2252,
-    2262,  2269,  2279,  2286,  2296,  2305,  2315,  2324,  2333,  2342,
-    2352,  2359,  2369,  2378,  2388,  2398,  2404,  2411,  2421,  2431,
-    2441,  2452,  2462,  2473,  2483,  2494,  2504,  2514,  2523,  2532,
-    2541,  2550,  2560,  2570,  2580,  2589,  2598,  2607,  2616,  2626,
-    2636,  2646,  2655,  2664,  2673,  2683,  2692,  2701,  2708,  2717,
-    2726,  2735,  2745,  2754,  2763,  2773,  2782,  2791,  2800,  2810,
-    2819,  2828,  2837,  2846,  2855,  2865,  2874,  2883,  2893,  2902,
-    2912,  2921,  2931,  2940,  2950,  2959,  2969,  2978,  2988,  2997,
-    3007,  3016,  3026,  3036,  3046,  3055,  3065,  3074,  3083,  3092,
-    3101,  3110,  3119,  3128,  3137,  3146,  3155,  3164,  3174,  3184,
-    3194,  3203
+       0,   184,   184,   193,   201,   209,   217,   225,   233,   242,
+     250,   259,   267,   276,   281,   286,   291,   296,   301,   306,
+     311,   317,   325,   334,   344,   353,   362,   370,   380,   386,
+     393,   400,   406,   413,   422,   432,   442,   451,   459,   468,
+     477,   483,   492,   498,   507,   513,   522,   534,   542,   551,
+     563,   576,   584,   592,   601,   609,   618,   618,   618,   619,
+     620,   620,   620,   620,   620,   620,   621,   624,   634,   643,
+     652,   661,   671,   677,   686,   695,   704,   712,   721,   730,
+     736,   745,   753,   761,   769,   778,   786,   795,   801,   809,
+     818,   826,   835,   844,   853,   861,   870,   878,   886,   895,
+     904,   914,   921,   931,   941,   948,   955,   958,   964,   974,
+     984,   994,  1000,  1010,  1020,  1030,  1039,  1049,  1060,  1070,
+    1077,  1087,  1096,  1106,  1115,  1125,  1131,  1141,  1150,  1160,
+    1170,  1177,  1186,  1195,  1204,  1213,  1221,  1230,  1239,  1249,
+    1259,  1268,  1278,  1288,  1295,  1304,  1314,  1323,  1333,  1342,
+    1349,  1359,  1368,  1378,  1387,  1396,  1406,  1416,  1425,  1435,
+    1444,  1453,  1462,  1471,  1480,  1490,  1499,  1508,  1517,  1526,
+    1536,  1545,  1554,  1563,  1572,  1581,  1590,  1599,  1608,  1617,
+    1626,  1635,  1645,  1655,  1666,  1676,  1686,  1695,  1704,  1713,
+    1722,  1731,  1740,  1750,  1760,  1770,  1780,  1787,  1794,  1801,
+    1811,  1818,  1828,  1838,  1847,  1857,  1866,  1876,  1883,  1890,
+    1897,  1905,  1912,  1922,  1929,  1939,  1949,  1956,  1966,  1975,
+    1985,  1995,  2004,  2014,  2023,  2033,  2044,  2051,  2058,  2069,
+    2079,  2089,  2099,  2108,  2118,  2125,  2135,  2144,  2154,  2161,
+    2171,  2180,  2190,  2199,  2205,  2214,  2223,  2232,  2241,  2251,
+    2261,  2268,  2278,  2285,  2295,  2304,  2314,  2323,  2332,  2341,
+    2351,  2358,  2368,  2377,  2387,  2397,  2403,  2410,  2420,  2430,
+    2440,  2451,  2461,  2472,  2482,  2493,  2503,  2513,  2522,  2531,
+    2540,  2549,  2559,  2569,  2579,  2588,  2597,  2606,  2615,  2625,
+    2635,  2645,  2654,  2663,  2672,  2682,  2691,  2700,  2707,  2716,
+    2725,  2734,  2744,  2753,  2762,  2772,  2781,  2790,  2799,  2809,
+    2818,  2827,  2836,  2845,  2854,  2864,  2873,  2882,  2892,  2901,
+    2911,  2920,  2930,  2939,  2949,  2958,  2968,  2977,  2987,  2996,
+    3006,  3015,  3025,  3035,  3045,  3054,  3064,  3073,  3082,  3091,
+    3100,  3109,  3118,  3127,  3136,  3145,  3154,  3163,  3173,  3183,
+    3193,  3202
 };
 #endif
 
@@ -2470,214 +2469,214 @@ yyreduce:
   switch (yyn)
     {
   case 2: /* Goal: CompilationUnit  */
-#line 186 "cmDependsJavaParser.y"
+#line 185 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 2481 "cmDependsJavaParser.cxx"
+#line 2480 "cmDependsJavaParser.cxx"
     break;
 
   case 3: /* Literal: IntegerLiteral  */
-#line 195 "cmDependsJavaParser.y"
+#line 194 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 2492 "cmDependsJavaParser.cxx"
+#line 2491 "cmDependsJavaParser.cxx"
     break;
 
   case 4: /* Literal: jp_FLOATINGPOINTLITERAL  */
-#line 203 "cmDependsJavaParser.y"
+#line 202 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 2503 "cmDependsJavaParser.cxx"
+#line 2502 "cmDependsJavaParser.cxx"
     break;
 
   case 5: /* Literal: jp_BOOLEANLITERAL  */
-#line 211 "cmDependsJavaParser.y"
+#line 210 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 2514 "cmDependsJavaParser.cxx"
+#line 2513 "cmDependsJavaParser.cxx"
     break;
 
   case 6: /* Literal: jp_CHARACTERLITERAL  */
-#line 219 "cmDependsJavaParser.y"
+#line 218 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 2525 "cmDependsJavaParser.cxx"
+#line 2524 "cmDependsJavaParser.cxx"
     break;
 
   case 7: /* Literal: jp_STRINGLITERAL  */
-#line 227 "cmDependsJavaParser.y"
+#line 226 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 2536 "cmDependsJavaParser.cxx"
+#line 2535 "cmDependsJavaParser.cxx"
     break;
 
   case 8: /* Literal: jp_NULLLITERAL  */
-#line 235 "cmDependsJavaParser.y"
+#line 234 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 2547 "cmDependsJavaParser.cxx"
+#line 2546 "cmDependsJavaParser.cxx"
     break;
 
   case 9: /* IntegerLiteral: jp_DECIMALINTEGERLITERAL  */
-#line 244 "cmDependsJavaParser.y"
+#line 243 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 2558 "cmDependsJavaParser.cxx"
+#line 2557 "cmDependsJavaParser.cxx"
     break;
 
   case 10: /* IntegerLiteral: jp_HEXINTEGERLITERAL  */
-#line 252 "cmDependsJavaParser.y"
+#line 251 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 2569 "cmDependsJavaParser.cxx"
+#line 2568 "cmDependsJavaParser.cxx"
     break;
 
   case 11: /* Type: PrimitiveType  */
-#line 261 "cmDependsJavaParser.y"
+#line 260 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 2580 "cmDependsJavaParser.cxx"
+#line 2579 "cmDependsJavaParser.cxx"
     break;
 
   case 12: /* Type: ReferenceType  */
-#line 269 "cmDependsJavaParser.y"
+#line 268 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 2591 "cmDependsJavaParser.cxx"
+#line 2590 "cmDependsJavaParser.cxx"
     break;
 
   case 13: /* PrimitiveType: jp_BYTE_TYPE  */
-#line 278 "cmDependsJavaParser.y"
+#line 277 "cmDependsJavaParser.y"
 {
   jpElementStart(0);
 }
-#line 2599 "cmDependsJavaParser.cxx"
+#line 2598 "cmDependsJavaParser.cxx"
     break;
 
   case 14: /* PrimitiveType: jp_SHORT_TYPE  */
-#line 283 "cmDependsJavaParser.y"
+#line 282 "cmDependsJavaParser.y"
 {
   jpElementStart(0);
 }
-#line 2607 "cmDependsJavaParser.cxx"
+#line 2606 "cmDependsJavaParser.cxx"
     break;
 
   case 15: /* PrimitiveType: jp_INT_TYPE  */
-#line 288 "cmDependsJavaParser.y"
+#line 287 "cmDependsJavaParser.y"
 {
   jpElementStart(0);
 }
-#line 2615 "cmDependsJavaParser.cxx"
+#line 2614 "cmDependsJavaParser.cxx"
     break;
 
   case 16: /* PrimitiveType: jp_LONG_TYPE  */
-#line 293 "cmDependsJavaParser.y"
+#line 292 "cmDependsJavaParser.y"
 {
   jpElementStart(0);
 }
-#line 2623 "cmDependsJavaParser.cxx"
+#line 2622 "cmDependsJavaParser.cxx"
     break;
 
   case 17: /* PrimitiveType: jp_CHAR_TYPE  */
-#line 298 "cmDependsJavaParser.y"
+#line 297 "cmDependsJavaParser.y"
 {
   jpElementStart(0);
 }
-#line 2631 "cmDependsJavaParser.cxx"
+#line 2630 "cmDependsJavaParser.cxx"
     break;
 
   case 18: /* PrimitiveType: jp_FLOAT_TYPE  */
-#line 303 "cmDependsJavaParser.y"
+#line 302 "cmDependsJavaParser.y"
 {
   jpElementStart(0);
 }
-#line 2639 "cmDependsJavaParser.cxx"
+#line 2638 "cmDependsJavaParser.cxx"
     break;
 
   case 19: /* PrimitiveType: jp_DOUBLE_TYPE  */
-#line 308 "cmDependsJavaParser.y"
+#line 307 "cmDependsJavaParser.y"
 {
   jpElementStart(0);
 }
-#line 2647 "cmDependsJavaParser.cxx"
+#line 2646 "cmDependsJavaParser.cxx"
     break;
 
   case 20: /* PrimitiveType: jp_BOOLEAN_TYPE  */
-#line 313 "cmDependsJavaParser.y"
+#line 312 "cmDependsJavaParser.y"
 {
   jpElementStart(0);
 }
-#line 2655 "cmDependsJavaParser.cxx"
+#line 2654 "cmDependsJavaParser.cxx"
     break;
 
   case 21: /* ReferenceType: ClassOrInterfaceType  */
-#line 319 "cmDependsJavaParser.y"
+#line 318 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 2666 "cmDependsJavaParser.cxx"
+#line 2665 "cmDependsJavaParser.cxx"
     break;
 
   case 22: /* ReferenceType: ArrayType  */
-#line 327 "cmDependsJavaParser.y"
+#line 326 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 2677 "cmDependsJavaParser.cxx"
+#line 2676 "cmDependsJavaParser.cxx"
     break;
 
   case 23: /* ClassOrInterfaceType: Name  */
-#line 336 "cmDependsJavaParser.y"
+#line 335 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpStoreClass((yyvsp[0].str));
@@ -2685,44 +2684,44 @@ yyreduce:
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 2689 "cmDependsJavaParser.cxx"
+#line 2688 "cmDependsJavaParser.cxx"
     break;
 
   case 24: /* ClassType: ClassOrInterfaceType  */
-#line 346 "cmDependsJavaParser.y"
+#line 345 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 2700 "cmDependsJavaParser.cxx"
+#line 2699 "cmDependsJavaParser.cxx"
     break;
 
   case 25: /* InterfaceType: ClassOrInterfaceType  */
-#line 355 "cmDependsJavaParser.y"
+#line 354 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 2711 "cmDependsJavaParser.cxx"
+#line 2710 "cmDependsJavaParser.cxx"
     break;
 
   case 26: /* ArrayType: PrimitiveType Dims  */
-#line 364 "cmDependsJavaParser.y"
+#line 363 "cmDependsJavaParser.y"
 {
   jpElementStart(2);
   jpCheckEmpty(2);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 2722 "cmDependsJavaParser.cxx"
+#line 2721 "cmDependsJavaParser.cxx"
     break;
 
   case 27: /* ArrayType: Name Dims  */
-#line 372 "cmDependsJavaParser.y"
+#line 371 "cmDependsJavaParser.y"
 {
   jpElementStart(2);
   jpStoreClass((yyvsp[-1].str));
@@ -2730,56 +2729,56 @@ yyreduce:
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 2734 "cmDependsJavaParser.cxx"
+#line 2733 "cmDependsJavaParser.cxx"
     break;
 
   case 28: /* Name: SimpleName  */
-#line 382 "cmDependsJavaParser.y"
+#line 381 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   (yyval.str) = (yyvsp[0].str);
 }
-#line 2743 "cmDependsJavaParser.cxx"
+#line 2742 "cmDependsJavaParser.cxx"
     break;
 
   case 29: /* Name: QualifiedName  */
-#line 388 "cmDependsJavaParser.y"
+#line 387 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   (yyval.str) = (yyvsp[0].str);
 }
-#line 2752 "cmDependsJavaParser.cxx"
+#line 2751 "cmDependsJavaParser.cxx"
     break;
 
   case 30: /* SimpleName: Identifier  */
-#line 395 "cmDependsJavaParser.y"
+#line 394 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   (yyval.str) = (yyvsp[0].str);
 }
-#line 2761 "cmDependsJavaParser.cxx"
+#line 2760 "cmDependsJavaParser.cxx"
     break;
 
   case 31: /* Identifier: jp_NAME  */
-#line 402 "cmDependsJavaParser.y"
+#line 401 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   (yyval.str) = (yyvsp[0].str);
 }
-#line 2770 "cmDependsJavaParser.cxx"
+#line 2769 "cmDependsJavaParser.cxx"
     break;
 
   case 32: /* Identifier: jp_DOLLAR jp_NAME  */
-#line 408 "cmDependsJavaParser.y"
+#line 407 "cmDependsJavaParser.y"
 {
   jpElementStart(2);
   (yyval.str) = (yyvsp[0].str);
 }
-#line 2779 "cmDependsJavaParser.cxx"
+#line 2778 "cmDependsJavaParser.cxx"
     break;
 
   case 33: /* QualifiedName: Name jp_DOT Identifier  */
-#line 415 "cmDependsJavaParser.y"
+#line 414 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   yyGetParser->AddClassFound((yyvsp[-2].str));
@@ -2787,11 +2786,11 @@ yyreduce:
   yyGetParser->DeallocateParserType(&((yyvsp[-2].str)));
   (yyval.str) = const_cast<char*>(yyGetParser->GetCurrentCombine());
 }
-#line 2791 "cmDependsJavaParser.cxx"
+#line 2790 "cmDependsJavaParser.cxx"
     break;
 
   case 34: /* QualifiedName: Name jp_DOT jp_CLASS  */
-#line 424 "cmDependsJavaParser.y"
+#line 423 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   jpStoreClass((yyvsp[-2].str));
@@ -2800,11 +2799,11 @@ yyreduce:
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 2804 "cmDependsJavaParser.cxx"
+#line 2803 "cmDependsJavaParser.cxx"
     break;
 
   case 35: /* QualifiedName: Name jp_DOT jp_THIS  */
-#line 434 "cmDependsJavaParser.y"
+#line 433 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   jpStoreClass((yyvsp[-2].str));
@@ -2813,118 +2812,118 @@ yyreduce:
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 2817 "cmDependsJavaParser.cxx"
+#line 2816 "cmDependsJavaParser.cxx"
     break;
 
   case 36: /* QualifiedName: SimpleType jp_DOT jp_CLASS  */
-#line 444 "cmDependsJavaParser.y"
+#line 443 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   jpCheckEmpty(3);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 2828 "cmDependsJavaParser.cxx"
+#line 2827 "cmDependsJavaParser.cxx"
     break;
 
   case 37: /* SimpleType: PrimitiveType  */
-#line 453 "cmDependsJavaParser.y"
+#line 452 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 2839 "cmDependsJavaParser.cxx"
+#line 2838 "cmDependsJavaParser.cxx"
     break;
 
   case 38: /* SimpleType: jp_VOID  */
-#line 461 "cmDependsJavaParser.y"
+#line 460 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 2850 "cmDependsJavaParser.cxx"
+#line 2849 "cmDependsJavaParser.cxx"
     break;
 
   case 39: /* CompilationUnit: PackageDeclarationopt ImportDeclarations TypeDeclarations  */
-#line 470 "cmDependsJavaParser.y"
+#line 469 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   jpCheckEmpty(3);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 2861 "cmDependsJavaParser.cxx"
+#line 2860 "cmDependsJavaParser.cxx"
     break;
 
   case 40: /* PackageDeclarationopt: %empty  */
-#line 478 "cmDependsJavaParser.y"
+#line 477 "cmDependsJavaParser.y"
 {
   jpElementStart(0);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 2871 "cmDependsJavaParser.cxx"
+#line 2870 "cmDependsJavaParser.cxx"
     break;
 
   case 41: /* PackageDeclarationopt: PackageDeclaration  */
-#line 485 "cmDependsJavaParser.y"
+#line 484 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 2882 "cmDependsJavaParser.cxx"
+#line 2881 "cmDependsJavaParser.cxx"
     break;
 
   case 42: /* ImportDeclarations: %empty  */
-#line 493 "cmDependsJavaParser.y"
+#line 492 "cmDependsJavaParser.y"
 {
   jpElementStart(0);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 2892 "cmDependsJavaParser.cxx"
+#line 2891 "cmDependsJavaParser.cxx"
     break;
 
   case 43: /* ImportDeclarations: ImportDeclarations ImportDeclaration  */
-#line 500 "cmDependsJavaParser.y"
+#line 499 "cmDependsJavaParser.y"
 {
   jpElementStart(2);
   jpCheckEmpty(2);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 2903 "cmDependsJavaParser.cxx"
+#line 2902 "cmDependsJavaParser.cxx"
     break;
 
   case 44: /* TypeDeclarations: %empty  */
-#line 508 "cmDependsJavaParser.y"
+#line 507 "cmDependsJavaParser.y"
 {
   jpElementStart(0);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 2913 "cmDependsJavaParser.cxx"
+#line 2912 "cmDependsJavaParser.cxx"
     break;
 
   case 45: /* TypeDeclarations: TypeDeclarations TypeDeclaration  */
-#line 515 "cmDependsJavaParser.y"
+#line 514 "cmDependsJavaParser.y"
 {
   jpElementStart(2);
   jpCheckEmpty(2);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 2924 "cmDependsJavaParser.cxx"
+#line 2923 "cmDependsJavaParser.cxx"
     break;
 
   case 46: /* PackageDeclaration: jp_PACKAGE Name jp_SEMICOL  */
-#line 524 "cmDependsJavaParser.y"
+#line 523 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   yyGetParser->SetCurrentPackage((yyvsp[-1].str));
@@ -2934,33 +2933,33 @@ yyreduce:
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 2938 "cmDependsJavaParser.cxx"
+#line 2937 "cmDependsJavaParser.cxx"
     break;
 
   case 47: /* ImportDeclaration: SingleTypeImportDeclaration  */
-#line 536 "cmDependsJavaParser.y"
+#line 535 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 2949 "cmDependsJavaParser.cxx"
+#line 2948 "cmDependsJavaParser.cxx"
     break;
 
   case 48: /* ImportDeclaration: TypeImportOnDemandDeclaration  */
-#line 544 "cmDependsJavaParser.y"
+#line 543 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 2960 "cmDependsJavaParser.cxx"
+#line 2959 "cmDependsJavaParser.cxx"
     break;
 
   case 49: /* SingleTypeImportDeclaration: jp_IMPORT Name jp_SEMICOL  */
-#line 553 "cmDependsJavaParser.y"
+#line 552 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   yyGetParser->AddPackagesImport((yyvsp[-1].str));
@@ -2970,11 +2969,11 @@ yyreduce:
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 2974 "cmDependsJavaParser.cxx"
+#line 2973 "cmDependsJavaParser.cxx"
     break;
 
   case 50: /* TypeImportOnDemandDeclaration: jp_IMPORT Name jp_DOT jp_TIMES jp_SEMICOL  */
-#line 565 "cmDependsJavaParser.y"
+#line 564 "cmDependsJavaParser.y"
 {
   jpElementStart(5);
   std::string str = (yyvsp[-3].str);
@@ -2985,77 +2984,77 @@ yyreduce:
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 2989 "cmDependsJavaParser.cxx"
+#line 2988 "cmDependsJavaParser.cxx"
     break;
 
   case 51: /* TypeDeclaration: ClassDeclaration  */
-#line 578 "cmDependsJavaParser.y"
+#line 577 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 3000 "cmDependsJavaParser.cxx"
+#line 2999 "cmDependsJavaParser.cxx"
     break;
 
   case 52: /* TypeDeclaration: InterfaceDeclaration  */
-#line 586 "cmDependsJavaParser.y"
+#line 585 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 3011 "cmDependsJavaParser.cxx"
+#line 3010 "cmDependsJavaParser.cxx"
     break;
 
   case 53: /* TypeDeclaration: jp_SEMICOL  */
-#line 594 "cmDependsJavaParser.y"
+#line 593 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 3022 "cmDependsJavaParser.cxx"
+#line 3021 "cmDependsJavaParser.cxx"
     break;
 
   case 54: /* Modifiers: Modifier  */
-#line 603 "cmDependsJavaParser.y"
+#line 602 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 3033 "cmDependsJavaParser.cxx"
+#line 3032 "cmDependsJavaParser.cxx"
     break;
 
   case 55: /* Modifiers: Modifiers Modifier  */
-#line 611 "cmDependsJavaParser.y"
+#line 610 "cmDependsJavaParser.y"
 {
   jpElementStart(2);
   jpCheckEmpty(2);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 3044 "cmDependsJavaParser.cxx"
+#line 3043 "cmDependsJavaParser.cxx"
     break;
 
   case 67: /* ClassHeader: Modifiersopt jp_CLASS Identifier  */
-#line 626 "cmDependsJavaParser.y"
+#line 625 "cmDependsJavaParser.y"
 {
   yyGetParser->StartClass((yyvsp[0].str));
   jpElementStart(3);
   yyGetParser->DeallocateParserType(&((yyvsp[0].str)));
   jpCheckEmpty(3);
 }
-#line 3055 "cmDependsJavaParser.cxx"
+#line 3054 "cmDependsJavaParser.cxx"
     break;
 
   case 68: /* ClassDeclaration: ClassHeader ClassBody  */
-#line 636 "cmDependsJavaParser.y"
+#line 635 "cmDependsJavaParser.y"
 {
   jpElementStart(2);
   jpCheckEmpty(2);
@@ -3063,11 +3062,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
   yyGetParser->EndClass();
 }
-#line 3067 "cmDependsJavaParser.cxx"
+#line 3066 "cmDependsJavaParser.cxx"
     break;
 
   case 69: /* ClassDeclaration: ClassHeader Interfaces ClassBody  */
-#line 645 "cmDependsJavaParser.y"
+#line 644 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   jpCheckEmpty(2);
@@ -3075,11 +3074,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
   yyGetParser->EndClass();
 }
-#line 3079 "cmDependsJavaParser.cxx"
+#line 3078 "cmDependsJavaParser.cxx"
     break;
 
   case 70: /* ClassDeclaration: ClassHeader Super ClassBody  */
-#line 654 "cmDependsJavaParser.y"
+#line 653 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   jpCheckEmpty(3);
@@ -3087,11 +3086,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
   yyGetParser->EndClass();
 }
-#line 3091 "cmDependsJavaParser.cxx"
+#line 3090 "cmDependsJavaParser.cxx"
     break;
 
   case 71: /* ClassDeclaration: ClassHeader Super Interfaces ClassBody  */
-#line 663 "cmDependsJavaParser.y"
+#line 662 "cmDependsJavaParser.y"
 {
   jpElementStart(4);
   jpCheckEmpty(4);
@@ -3099,226 +3098,226 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
   yyGetParser->EndClass();
 }
-#line 3103 "cmDependsJavaParser.cxx"
+#line 3102 "cmDependsJavaParser.cxx"
     break;
 
   case 72: /* Modifiersopt: %empty  */
-#line 672 "cmDependsJavaParser.y"
+#line 671 "cmDependsJavaParser.y"
 {
   jpElementStart(0);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 3113 "cmDependsJavaParser.cxx"
+#line 3112 "cmDependsJavaParser.cxx"
     break;
 
   case 73: /* Modifiersopt: Modifiers  */
-#line 679 "cmDependsJavaParser.y"
+#line 678 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 3124 "cmDependsJavaParser.cxx"
+#line 3123 "cmDependsJavaParser.cxx"
     break;
 
   case 74: /* Super: jp_EXTENDS ClassType  */
-#line 688 "cmDependsJavaParser.y"
+#line 687 "cmDependsJavaParser.y"
 {
   jpElementStart(2);
   jpCheckEmpty(2);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 3135 "cmDependsJavaParser.cxx"
+#line 3134 "cmDependsJavaParser.cxx"
     break;
 
   case 75: /* Interfaces: jp_IMPLEMENTS InterfaceTypeList  */
-#line 697 "cmDependsJavaParser.y"
+#line 696 "cmDependsJavaParser.y"
 {
   jpElementStart(2);
   jpCheckEmpty(2);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 3146 "cmDependsJavaParser.cxx"
+#line 3145 "cmDependsJavaParser.cxx"
     break;
 
   case 76: /* InterfaceTypeList: InterfaceType  */
-#line 706 "cmDependsJavaParser.y"
+#line 705 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 3157 "cmDependsJavaParser.cxx"
+#line 3156 "cmDependsJavaParser.cxx"
     break;
 
   case 77: /* InterfaceTypeList: InterfaceTypeList jp_COMMA InterfaceType  */
-#line 714 "cmDependsJavaParser.y"
+#line 713 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   jpCheckEmpty(3);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 3168 "cmDependsJavaParser.cxx"
+#line 3167 "cmDependsJavaParser.cxx"
     break;
 
   case 78: /* ClassBody: jp_CURLYSTART ClassBodyDeclarations jp_CURLYEND  */
-#line 723 "cmDependsJavaParser.y"
+#line 722 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   jpCheckEmpty(3);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 3179 "cmDependsJavaParser.cxx"
+#line 3178 "cmDependsJavaParser.cxx"
     break;
 
   case 79: /* ClassBodyDeclarations: %empty  */
-#line 731 "cmDependsJavaParser.y"
+#line 730 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 3189 "cmDependsJavaParser.cxx"
+#line 3188 "cmDependsJavaParser.cxx"
     break;
 
   case 80: /* ClassBodyDeclarations: ClassBodyDeclarations ClassBodyDeclaration  */
-#line 738 "cmDependsJavaParser.y"
+#line 737 "cmDependsJavaParser.y"
 {
   jpElementStart(2);
   jpCheckEmpty(2);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 3200 "cmDependsJavaParser.cxx"
+#line 3199 "cmDependsJavaParser.cxx"
     break;
 
   case 81: /* ClassBodyDeclaration: ClassMemberDeclaration  */
-#line 747 "cmDependsJavaParser.y"
+#line 746 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 3211 "cmDependsJavaParser.cxx"
+#line 3210 "cmDependsJavaParser.cxx"
     break;
 
   case 82: /* ClassBodyDeclaration: StaticInitializer  */
-#line 755 "cmDependsJavaParser.y"
+#line 754 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 3222 "cmDependsJavaParser.cxx"
+#line 3221 "cmDependsJavaParser.cxx"
     break;
 
   case 83: /* ClassBodyDeclaration: ConstructorDeclaration  */
-#line 763 "cmDependsJavaParser.y"
+#line 762 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 3233 "cmDependsJavaParser.cxx"
+#line 3232 "cmDependsJavaParser.cxx"
     break;
 
   case 84: /* ClassBodyDeclaration: TypeDeclaration  */
-#line 771 "cmDependsJavaParser.y"
+#line 770 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 3244 "cmDependsJavaParser.cxx"
+#line 3243 "cmDependsJavaParser.cxx"
     break;
 
   case 85: /* ClassMemberDeclaration: FieldDeclaration  */
-#line 780 "cmDependsJavaParser.y"
+#line 779 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 3255 "cmDependsJavaParser.cxx"
+#line 3254 "cmDependsJavaParser.cxx"
     break;
 
   case 86: /* ClassMemberDeclaration: MethodDeclaration  */
-#line 788 "cmDependsJavaParser.y"
+#line 787 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 3266 "cmDependsJavaParser.cxx"
+#line 3265 "cmDependsJavaParser.cxx"
     break;
 
   case 87: /* FieldDeclaration: Modifiersopt Type VariableDeclarators jp_SEMICOL  */
-#line 797 "cmDependsJavaParser.y"
+#line 796 "cmDependsJavaParser.y"
 {
   jpElementStart(4);
 }
-#line 3274 "cmDependsJavaParser.cxx"
+#line 3273 "cmDependsJavaParser.cxx"
     break;
 
   case 88: /* VariableDeclarators: VariableDeclarator  */
-#line 803 "cmDependsJavaParser.y"
+#line 802 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 3285 "cmDependsJavaParser.cxx"
+#line 3284 "cmDependsJavaParser.cxx"
     break;
 
   case 89: /* VariableDeclarators: VariableDeclarators jp_COMMA VariableDeclarator  */
-#line 811 "cmDependsJavaParser.y"
+#line 810 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   jpCheckEmpty(3);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 3296 "cmDependsJavaParser.cxx"
+#line 3295 "cmDependsJavaParser.cxx"
     break;
 
   case 90: /* VariableDeclarator: VariableDeclaratorId  */
-#line 820 "cmDependsJavaParser.y"
+#line 819 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 3307 "cmDependsJavaParser.cxx"
+#line 3306 "cmDependsJavaParser.cxx"
     break;
 
   case 91: /* VariableDeclarator: VariableDeclaratorId jp_EQUALS VariableInitializer  */
-#line 828 "cmDependsJavaParser.y"
+#line 827 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   jpCheckEmpty(3);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 3318 "cmDependsJavaParser.cxx"
+#line 3317 "cmDependsJavaParser.cxx"
     break;
 
   case 92: /* VariableDeclaratorId: Identifier  */
-#line 837 "cmDependsJavaParser.y"
+#line 836 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   yyGetParser->DeallocateParserType(&((yyvsp[0].str)));
@@ -3326,77 +3325,77 @@ yyreduce:
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 3330 "cmDependsJavaParser.cxx"
+#line 3329 "cmDependsJavaParser.cxx"
     break;
 
   case 93: /* VariableDeclaratorId: VariableDeclaratorId jp_BRACKETSTART jp_BRACKETEND  */
-#line 846 "cmDependsJavaParser.y"
+#line 845 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 3341 "cmDependsJavaParser.cxx"
+#line 3340 "cmDependsJavaParser.cxx"
     break;
 
   case 94: /* VariableInitializer: Expression  */
-#line 855 "cmDependsJavaParser.y"
+#line 854 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 3352 "cmDependsJavaParser.cxx"
+#line 3351 "cmDependsJavaParser.cxx"
     break;
 
   case 95: /* VariableInitializer: ArrayInitializer  */
-#line 863 "cmDependsJavaParser.y"
+#line 862 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 3363 "cmDependsJavaParser.cxx"
+#line 3362 "cmDependsJavaParser.cxx"
     break;
 
   case 96: /* MethodDeclaration: MethodHeader jp_SEMICOL  */
-#line 872 "cmDependsJavaParser.y"
+#line 871 "cmDependsJavaParser.y"
 {
   jpElementStart(2);
   jpCheckEmpty(2);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 3374 "cmDependsJavaParser.cxx"
+#line 3373 "cmDependsJavaParser.cxx"
     break;
 
   case 97: /* MethodDeclaration: MethodHeader MethodBody  */
-#line 880 "cmDependsJavaParser.y"
+#line 879 "cmDependsJavaParser.y"
 {
   jpElementStart(2);
   jpCheckEmpty(2);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 3385 "cmDependsJavaParser.cxx"
+#line 3384 "cmDependsJavaParser.cxx"
     break;
 
   case 98: /* MethodDeclaration: MethodHeader MethodBody jp_SEMICOL  */
-#line 888 "cmDependsJavaParser.y"
+#line 887 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   jpCheckEmpty(3);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 3396 "cmDependsJavaParser.cxx"
+#line 3395 "cmDependsJavaParser.cxx"
     break;
 
   case 99: /* MethodHeader: Modifiersopt Type MethodDeclarator Throwsopt  */
-#line 897 "cmDependsJavaParser.y"
+#line 896 "cmDependsJavaParser.y"
 {
   jpElementStart(4);
   jpCheckEmpty(4);
@@ -3404,11 +3403,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 3408 "cmDependsJavaParser.cxx"
+#line 3407 "cmDependsJavaParser.cxx"
     break;
 
   case 100: /* MethodHeader: Modifiersopt jp_VOID MethodDeclarator Throwsopt  */
-#line 906 "cmDependsJavaParser.y"
+#line 905 "cmDependsJavaParser.y"
 {
   jpElementStart(4);
   jpCheckEmpty(4);
@@ -3416,22 +3415,22 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 3420 "cmDependsJavaParser.cxx"
+#line 3419 "cmDependsJavaParser.cxx"
     break;
 
   case 101: /* Throwsopt: %empty  */
-#line 915 "cmDependsJavaParser.y"
+#line 914 "cmDependsJavaParser.y"
 {
   jpElementStart(0);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 3431 "cmDependsJavaParser.cxx"
+#line 3430 "cmDependsJavaParser.cxx"
     break;
 
   case 102: /* Throwsopt: Throws  */
-#line 923 "cmDependsJavaParser.y"
+#line 922 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -3439,11 +3438,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 3443 "cmDependsJavaParser.cxx"
+#line 3442 "cmDependsJavaParser.cxx"
     break;
 
   case 103: /* MethodDeclarator: Identifier jp_PARESTART FormalParameterListopt jp_PAREEND  */
-#line 933 "cmDependsJavaParser.y"
+#line 932 "cmDependsJavaParser.y"
 {
   jpElementStart(4);
   yyGetParser->DeallocateParserType(&((yyvsp[-3].str)));
@@ -3452,40 +3451,40 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 3456 "cmDependsJavaParser.cxx"
+#line 3455 "cmDependsJavaParser.cxx"
     break;
 
   case 104: /* MethodDeclarator: MethodDeclarator jp_BRACKETSTART jp_BRACKETEND  */
-#line 943 "cmDependsJavaParser.y"
+#line 942 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
 
 }
-#line 3465 "cmDependsJavaParser.cxx"
+#line 3464 "cmDependsJavaParser.cxx"
     break;
 
   case 105: /* FormalParameterListopt: %empty  */
-#line 949 "cmDependsJavaParser.y"
+#line 948 "cmDependsJavaParser.y"
 {
   jpElementStart(0);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 3476 "cmDependsJavaParser.cxx"
+#line 3475 "cmDependsJavaParser.cxx"
     break;
 
   case 107: /* FormalParameterList: FormalParameter  */
-#line 960 "cmDependsJavaParser.y"
+#line 959 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
 
 }
-#line 3485 "cmDependsJavaParser.cxx"
+#line 3484 "cmDependsJavaParser.cxx"
     break;
 
   case 108: /* FormalParameterList: FormalParameterList jp_COMMA FormalParameter  */
-#line 966 "cmDependsJavaParser.y"
+#line 965 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   jpCheckEmpty(3);
@@ -3493,11 +3492,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 3497 "cmDependsJavaParser.cxx"
+#line 3496 "cmDependsJavaParser.cxx"
     break;
 
   case 109: /* FormalParameter: Modifiersopt Type VariableDeclaratorId  */
-#line 976 "cmDependsJavaParser.y"
+#line 975 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   jpCheckEmpty(3);
@@ -3505,11 +3504,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 3509 "cmDependsJavaParser.cxx"
+#line 3508 "cmDependsJavaParser.cxx"
     break;
 
   case 110: /* Throws: jp_THROWS ClassTypeList  */
-#line 986 "cmDependsJavaParser.y"
+#line 985 "cmDependsJavaParser.y"
 {
   jpElementStart(2);
   jpCheckEmpty(2);
@@ -3517,20 +3516,20 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 3521 "cmDependsJavaParser.cxx"
+#line 3520 "cmDependsJavaParser.cxx"
     break;
 
   case 111: /* ClassTypeList: ClassType  */
-#line 996 "cmDependsJavaParser.y"
+#line 995 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
 
 }
-#line 3530 "cmDependsJavaParser.cxx"
+#line 3529 "cmDependsJavaParser.cxx"
     break;
 
   case 112: /* ClassTypeList: ClassTypeList jp_COMMA ClassType  */
-#line 1002 "cmDependsJavaParser.y"
+#line 1001 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   jpCheckEmpty(3);
@@ -3538,11 +3537,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 3542 "cmDependsJavaParser.cxx"
+#line 3541 "cmDependsJavaParser.cxx"
     break;
 
   case 113: /* MethodBody: Block  */
-#line 1012 "cmDependsJavaParser.y"
+#line 1011 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -3550,11 +3549,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 3554 "cmDependsJavaParser.cxx"
+#line 3553 "cmDependsJavaParser.cxx"
     break;
 
   case 114: /* StaticInitializer: jp_STATIC Block  */
-#line 1022 "cmDependsJavaParser.y"
+#line 1021 "cmDependsJavaParser.y"
 {
   jpElementStart(2);
   jpCheckEmpty(2);
@@ -3562,11 +3561,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 3566 "cmDependsJavaParser.cxx"
+#line 3565 "cmDependsJavaParser.cxx"
     break;
 
   case 115: /* ConstructorDeclaration: Modifiersopt ConstructorDeclarator Throwsopt ConstructorBody  */
-#line 1032 "cmDependsJavaParser.y"
+#line 1031 "cmDependsJavaParser.y"
 {
   jpElementStart(4);
   jpCheckEmpty(4);
@@ -3574,11 +3573,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 3578 "cmDependsJavaParser.cxx"
+#line 3577 "cmDependsJavaParser.cxx"
     break;
 
   case 116: /* ConstructorDeclaration: Modifiersopt ConstructorDeclarator Throwsopt ConstructorBody jp_SEMICOL  */
-#line 1041 "cmDependsJavaParser.y"
+#line 1040 "cmDependsJavaParser.y"
 {
   jpElementStart(5);
   jpCheckEmpty(5);
@@ -3586,11 +3585,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 3590 "cmDependsJavaParser.cxx"
+#line 3589 "cmDependsJavaParser.cxx"
     break;
 
   case 117: /* ConstructorDeclarator: SimpleName jp_PARESTART FormalParameterListopt jp_PAREEND  */
-#line 1051 "cmDependsJavaParser.y"
+#line 1050 "cmDependsJavaParser.y"
 {
   jpElementStart(4);
   yyGetParser->DeallocateParserType(&((yyvsp[-3].str)));
@@ -3599,11 +3598,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 3603 "cmDependsJavaParser.cxx"
+#line 3602 "cmDependsJavaParser.cxx"
     break;
 
   case 118: /* ConstructorBody: jp_CURLYSTART ExplicitConstructorInvocationopt BlockStatementsopt jp_CURLYEND  */
-#line 1062 "cmDependsJavaParser.y"
+#line 1061 "cmDependsJavaParser.y"
 {
   jpElementStart(4);
   jpCheckEmpty(4);
@@ -3611,22 +3610,22 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 3615 "cmDependsJavaParser.cxx"
+#line 3614 "cmDependsJavaParser.cxx"
     break;
 
   case 119: /* ExplicitConstructorInvocationopt: %empty  */
-#line 1071 "cmDependsJavaParser.y"
+#line 1070 "cmDependsJavaParser.y"
 {
   jpElementStart(0);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 3626 "cmDependsJavaParser.cxx"
+#line 3625 "cmDependsJavaParser.cxx"
     break;
 
   case 120: /* ExplicitConstructorInvocationopt: ExplicitConstructorInvocationopt ExplicitConstructorInvocation  */
-#line 1079 "cmDependsJavaParser.y"
+#line 1078 "cmDependsJavaParser.y"
 {
   jpElementStart(2);
   jpCheckEmpty(2);
@@ -3634,11 +3633,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 3638 "cmDependsJavaParser.cxx"
+#line 3637 "cmDependsJavaParser.cxx"
     break;
 
   case 121: /* ExplicitConstructorInvocation: jp_THIS jp_PARESTART ArgumentListopt jp_PAREEND jp_SEMICOL  */
-#line 1089 "cmDependsJavaParser.y"
+#line 1088 "cmDependsJavaParser.y"
 {
   jpElementStart(5);
   jpCheckEmpty(5);
@@ -3646,11 +3645,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 3650 "cmDependsJavaParser.cxx"
+#line 3649 "cmDependsJavaParser.cxx"
     break;
 
   case 122: /* ExplicitConstructorInvocation: jp_SUPER jp_PARESTART ArgumentListopt jp_PAREEND jp_SEMICOL  */
-#line 1098 "cmDependsJavaParser.y"
+#line 1097 "cmDependsJavaParser.y"
 {
   jpElementStart(5);
   jpCheckEmpty(5);
@@ -3658,22 +3657,22 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 3662 "cmDependsJavaParser.cxx"
+#line 3661 "cmDependsJavaParser.cxx"
     break;
 
   case 123: /* InterfaceHeader: Modifiersopt jp_INTERFACE Identifier  */
-#line 1108 "cmDependsJavaParser.y"
+#line 1107 "cmDependsJavaParser.y"
 {
   yyGetParser->StartClass((yyvsp[0].str));
   jpElementStart(3);
   yyGetParser->DeallocateParserType(&((yyvsp[0].str)));
   jpCheckEmpty(3);
 }
-#line 3673 "cmDependsJavaParser.cxx"
+#line 3672 "cmDependsJavaParser.cxx"
     break;
 
   case 124: /* InterfaceDeclaration: InterfaceHeader ExtendsInterfacesopt InterfaceBody  */
-#line 1117 "cmDependsJavaParser.y"
+#line 1116 "cmDependsJavaParser.y"
 {
   jpElementStart(2);
   jpCheckEmpty(2);
@@ -3681,21 +3680,21 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
   yyGetParser->EndClass();
 }
-#line 3685 "cmDependsJavaParser.cxx"
+#line 3684 "cmDependsJavaParser.cxx"
     break;
 
   case 125: /* ExtendsInterfacesopt: %empty  */
-#line 1126 "cmDependsJavaParser.y"
+#line 1125 "cmDependsJavaParser.y"
 {
   jpElementStart(0);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 }
-#line 3695 "cmDependsJavaParser.cxx"
+#line 3694 "cmDependsJavaParser.cxx"
     break;
 
   case 126: /* ExtendsInterfacesopt: ExtendsInterfaces  */
-#line 1133 "cmDependsJavaParser.y"
+#line 1132 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -3703,11 +3702,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 3707 "cmDependsJavaParser.cxx"
+#line 3706 "cmDependsJavaParser.cxx"
     break;
 
   case 127: /* ExtendsInterfaces: jp_EXTENDS InterfaceType  */
-#line 1143 "cmDependsJavaParser.y"
+#line 1142 "cmDependsJavaParser.y"
 {
   jpElementStart(2);
   jpCheckEmpty(2);
@@ -3715,11 +3714,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 3719 "cmDependsJavaParser.cxx"
+#line 3718 "cmDependsJavaParser.cxx"
     break;
 
   case 128: /* ExtendsInterfaces: ExtendsInterfaces jp_COMMA InterfaceType  */
-#line 1152 "cmDependsJavaParser.y"
+#line 1151 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   jpCheckEmpty(3);
@@ -3727,11 +3726,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 3731 "cmDependsJavaParser.cxx"
+#line 3730 "cmDependsJavaParser.cxx"
     break;
 
   case 129: /* InterfaceBody: jp_CURLYSTART InterfaceMemberDeclarations jp_CURLYEND  */
-#line 1162 "cmDependsJavaParser.y"
+#line 1161 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   jpCheckEmpty(3);
@@ -3739,33 +3738,33 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 3743 "cmDependsJavaParser.cxx"
+#line 3742 "cmDependsJavaParser.cxx"
     break;
 
   case 130: /* InterfaceMemberDeclarations: %empty  */
-#line 1171 "cmDependsJavaParser.y"
+#line 1170 "cmDependsJavaParser.y"
 {
   jpElementStart(0);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 3754 "cmDependsJavaParser.cxx"
+#line 3753 "cmDependsJavaParser.cxx"
     break;
 
   case 131: /* InterfaceMemberDeclarations: InterfaceMemberDeclarations InterfaceMemberDeclaration  */
-#line 1179 "cmDependsJavaParser.y"
+#line 1178 "cmDependsJavaParser.y"
 {
   jpElementStart(2);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 3765 "cmDependsJavaParser.cxx"
+#line 3764 "cmDependsJavaParser.cxx"
     break;
 
   case 132: /* InterfaceMemberDeclaration: ConstantDeclaration  */
-#line 1188 "cmDependsJavaParser.y"
+#line 1187 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -3773,11 +3772,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 3777 "cmDependsJavaParser.cxx"
+#line 3776 "cmDependsJavaParser.cxx"
     break;
 
   case 133: /* InterfaceMemberDeclaration: AbstractMethodDeclaration  */
-#line 1197 "cmDependsJavaParser.y"
+#line 1196 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -3785,11 +3784,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 3789 "cmDependsJavaParser.cxx"
+#line 3788 "cmDependsJavaParser.cxx"
     break;
 
   case 134: /* InterfaceMemberDeclaration: ClassDeclaration  */
-#line 1206 "cmDependsJavaParser.y"
+#line 1205 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -3797,22 +3796,22 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 3801 "cmDependsJavaParser.cxx"
+#line 3800 "cmDependsJavaParser.cxx"
     break;
 
   case 135: /* InterfaceMemberDeclaration: ClassDeclaration jp_SEMICOL  */
-#line 1215 "cmDependsJavaParser.y"
+#line 1214 "cmDependsJavaParser.y"
 {
   jpElementStart(2);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 3812 "cmDependsJavaParser.cxx"
+#line 3811 "cmDependsJavaParser.cxx"
     break;
 
   case 136: /* InterfaceMemberDeclaration: InterfaceDeclaration  */
-#line 1223 "cmDependsJavaParser.y"
+#line 1222 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -3820,22 +3819,22 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 3824 "cmDependsJavaParser.cxx"
+#line 3823 "cmDependsJavaParser.cxx"
     break;
 
   case 137: /* InterfaceMemberDeclaration: InterfaceDeclaration jp_SEMICOL  */
-#line 1232 "cmDependsJavaParser.y"
+#line 1231 "cmDependsJavaParser.y"
 {
   jpElementStart(2);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 3835 "cmDependsJavaParser.cxx"
+#line 3834 "cmDependsJavaParser.cxx"
     break;
 
   case 138: /* ConstantDeclaration: FieldDeclaration  */
-#line 1241 "cmDependsJavaParser.y"
+#line 1240 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -3843,11 +3842,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 3847 "cmDependsJavaParser.cxx"
+#line 3846 "cmDependsJavaParser.cxx"
     break;
 
   case 139: /* AbstractMethodDeclaration: MethodHeader Semicols  */
-#line 1251 "cmDependsJavaParser.y"
+#line 1250 "cmDependsJavaParser.y"
 {
   jpElementStart(2);
   jpCheckEmpty(2);
@@ -3855,11 +3854,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 3859 "cmDependsJavaParser.cxx"
+#line 3858 "cmDependsJavaParser.cxx"
     break;
 
   case 140: /* Semicols: jp_SEMICOL  */
-#line 1261 "cmDependsJavaParser.y"
+#line 1260 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -3867,11 +3866,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 3871 "cmDependsJavaParser.cxx"
+#line 3870 "cmDependsJavaParser.cxx"
     break;
 
   case 141: /* Semicols: Semicols jp_SEMICOL  */
-#line 1270 "cmDependsJavaParser.y"
+#line 1269 "cmDependsJavaParser.y"
 {
   jpElementStart(2);
   jpCheckEmpty(2);
@@ -3879,11 +3878,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 3883 "cmDependsJavaParser.cxx"
+#line 3882 "cmDependsJavaParser.cxx"
     break;
 
   case 142: /* ArrayInitializer: jp_CURLYSTART VariableInitializersOptional jp_CURLYEND  */
-#line 1280 "cmDependsJavaParser.y"
+#line 1279 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   jpCheckEmpty(3);
@@ -3891,22 +3890,22 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 3895 "cmDependsJavaParser.cxx"
+#line 3894 "cmDependsJavaParser.cxx"
     break;
 
   case 143: /* VariableInitializersOptional: %empty  */
-#line 1289 "cmDependsJavaParser.y"
+#line 1288 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 3906 "cmDependsJavaParser.cxx"
+#line 3905 "cmDependsJavaParser.cxx"
     break;
 
   case 144: /* VariableInitializersOptional: VariableInitializers  */
-#line 1297 "cmDependsJavaParser.y"
+#line 1296 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -3914,11 +3913,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 3918 "cmDependsJavaParser.cxx"
+#line 3917 "cmDependsJavaParser.cxx"
     break;
 
   case 145: /* VariableInitializersOptional: VariableInitializers jp_COMMA  */
-#line 1306 "cmDependsJavaParser.y"
+#line 1305 "cmDependsJavaParser.y"
 {
   jpElementStart(2);
   jpCheckEmpty(2);
@@ -3926,11 +3925,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 3930 "cmDependsJavaParser.cxx"
+#line 3929 "cmDependsJavaParser.cxx"
     break;
 
   case 146: /* VariableInitializers: VariableInitializer  */
-#line 1316 "cmDependsJavaParser.y"
+#line 1315 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -3938,11 +3937,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 3942 "cmDependsJavaParser.cxx"
+#line 3941 "cmDependsJavaParser.cxx"
     break;
 
   case 147: /* VariableInitializers: VariableInitializers jp_COMMA VariableInitializer  */
-#line 1325 "cmDependsJavaParser.y"
+#line 1324 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   jpCheckEmpty(3);
@@ -3950,33 +3949,33 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 3954 "cmDependsJavaParser.cxx"
+#line 3953 "cmDependsJavaParser.cxx"
     break;
 
   case 148: /* Block: jp_CURLYSTART BlockStatementsopt jp_CURLYEND  */
-#line 1335 "cmDependsJavaParser.y"
+#line 1334 "cmDependsJavaParser.y"
 {
   jpElementStart(4);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 3965 "cmDependsJavaParser.cxx"
+#line 3964 "cmDependsJavaParser.cxx"
     break;
 
   case 149: /* BlockStatementsopt: %empty  */
-#line 1343 "cmDependsJavaParser.y"
+#line 1342 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 3976 "cmDependsJavaParser.cxx"
+#line 3975 "cmDependsJavaParser.cxx"
     break;
 
   case 150: /* BlockStatementsopt: BlockStatements  */
-#line 1351 "cmDependsJavaParser.y"
+#line 1350 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -3984,11 +3983,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 3988 "cmDependsJavaParser.cxx"
+#line 3987 "cmDependsJavaParser.cxx"
     break;
 
   case 151: /* BlockStatements: BlockStatement  */
-#line 1361 "cmDependsJavaParser.y"
+#line 1360 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -3996,11 +3995,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4000 "cmDependsJavaParser.cxx"
+#line 3999 "cmDependsJavaParser.cxx"
     break;
 
   case 152: /* BlockStatements: BlockStatements BlockStatement  */
-#line 1370 "cmDependsJavaParser.y"
+#line 1369 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(2);
@@ -4008,11 +4007,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4012 "cmDependsJavaParser.cxx"
+#line 4011 "cmDependsJavaParser.cxx"
     break;
 
   case 153: /* BlockStatement: LocalVariableDeclarationStatement  */
-#line 1380 "cmDependsJavaParser.y"
+#line 1379 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -4020,11 +4019,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4024 "cmDependsJavaParser.cxx"
+#line 4023 "cmDependsJavaParser.cxx"
     break;
 
   case 154: /* BlockStatement: Statement  */
-#line 1389 "cmDependsJavaParser.y"
+#line 1388 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -4032,11 +4031,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4036 "cmDependsJavaParser.cxx"
+#line 4035 "cmDependsJavaParser.cxx"
     break;
 
   case 155: /* BlockStatement: ClassDeclaration  */
-#line 1398 "cmDependsJavaParser.y"
+#line 1397 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -4044,11 +4043,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4048 "cmDependsJavaParser.cxx"
+#line 4047 "cmDependsJavaParser.cxx"
     break;
 
   case 156: /* LocalVariableDeclarationStatement: LocalVariableDeclaration jp_SEMICOL  */
-#line 1408 "cmDependsJavaParser.y"
+#line 1407 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(2);
@@ -4056,11 +4055,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4060 "cmDependsJavaParser.cxx"
+#line 4059 "cmDependsJavaParser.cxx"
     break;
 
   case 157: /* LocalVariableDeclaration: Modifiers Type VariableDeclarators  */
-#line 1418 "cmDependsJavaParser.y"
+#line 1417 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(3);
@@ -4068,11 +4067,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4072 "cmDependsJavaParser.cxx"
+#line 4071 "cmDependsJavaParser.cxx"
     break;
 
   case 158: /* LocalVariableDeclaration: Type VariableDeclarators  */
-#line 1427 "cmDependsJavaParser.y"
+#line 1426 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(2);
@@ -4080,11 +4079,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4084 "cmDependsJavaParser.cxx"
+#line 4083 "cmDependsJavaParser.cxx"
     break;
 
   case 159: /* Statement: StatementWithoutTrailingSubstatement  */
-#line 1437 "cmDependsJavaParser.y"
+#line 1436 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -4092,11 +4091,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4096 "cmDependsJavaParser.cxx"
+#line 4095 "cmDependsJavaParser.cxx"
     break;
 
   case 160: /* Statement: LabeledStatement  */
-#line 1446 "cmDependsJavaParser.y"
+#line 1445 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -4104,11 +4103,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4108 "cmDependsJavaParser.cxx"
+#line 4107 "cmDependsJavaParser.cxx"
     break;
 
   case 161: /* Statement: IfThenStatement  */
-#line 1455 "cmDependsJavaParser.y"
+#line 1454 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -4116,11 +4115,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4120 "cmDependsJavaParser.cxx"
+#line 4119 "cmDependsJavaParser.cxx"
     break;
 
   case 162: /* Statement: IfThenElseStatement  */
-#line 1464 "cmDependsJavaParser.y"
+#line 1463 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -4128,11 +4127,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4132 "cmDependsJavaParser.cxx"
+#line 4131 "cmDependsJavaParser.cxx"
     break;
 
   case 163: /* Statement: WhileStatement  */
-#line 1473 "cmDependsJavaParser.y"
+#line 1472 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -4140,11 +4139,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4144 "cmDependsJavaParser.cxx"
+#line 4143 "cmDependsJavaParser.cxx"
     break;
 
   case 164: /* Statement: ForStatement  */
-#line 1482 "cmDependsJavaParser.y"
+#line 1481 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -4152,11 +4151,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4156 "cmDependsJavaParser.cxx"
+#line 4155 "cmDependsJavaParser.cxx"
     break;
 
   case 165: /* StatementNoShortIf: StatementWithoutTrailingSubstatement  */
-#line 1492 "cmDependsJavaParser.y"
+#line 1491 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -4164,11 +4163,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4168 "cmDependsJavaParser.cxx"
+#line 4167 "cmDependsJavaParser.cxx"
     break;
 
   case 166: /* StatementNoShortIf: LabeledStatementNoShortIf  */
-#line 1501 "cmDependsJavaParser.y"
+#line 1500 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -4176,11 +4175,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4180 "cmDependsJavaParser.cxx"
+#line 4179 "cmDependsJavaParser.cxx"
     break;
 
   case 167: /* StatementNoShortIf: IfThenElseStatementNoShortIf  */
-#line 1510 "cmDependsJavaParser.y"
+#line 1509 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -4188,11 +4187,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4192 "cmDependsJavaParser.cxx"
+#line 4191 "cmDependsJavaParser.cxx"
     break;
 
   case 168: /* StatementNoShortIf: WhileStatementNoShortIf  */
-#line 1519 "cmDependsJavaParser.y"
+#line 1518 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -4200,11 +4199,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4204 "cmDependsJavaParser.cxx"
+#line 4203 "cmDependsJavaParser.cxx"
     break;
 
   case 169: /* StatementNoShortIf: ForStatementNoShortIf  */
-#line 1528 "cmDependsJavaParser.y"
+#line 1527 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -4212,11 +4211,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4216 "cmDependsJavaParser.cxx"
+#line 4215 "cmDependsJavaParser.cxx"
     break;
 
   case 170: /* StatementWithoutTrailingSubstatement: Block  */
-#line 1538 "cmDependsJavaParser.y"
+#line 1537 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -4224,11 +4223,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4228 "cmDependsJavaParser.cxx"
+#line 4227 "cmDependsJavaParser.cxx"
     break;
 
   case 171: /* StatementWithoutTrailingSubstatement: EmptyStatement  */
-#line 1547 "cmDependsJavaParser.y"
+#line 1546 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -4236,11 +4235,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4240 "cmDependsJavaParser.cxx"
+#line 4239 "cmDependsJavaParser.cxx"
     break;
 
   case 172: /* StatementWithoutTrailingSubstatement: ExpressionStatement  */
-#line 1556 "cmDependsJavaParser.y"
+#line 1555 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -4248,11 +4247,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4252 "cmDependsJavaParser.cxx"
+#line 4251 "cmDependsJavaParser.cxx"
     break;
 
   case 173: /* StatementWithoutTrailingSubstatement: SwitchStatement  */
-#line 1565 "cmDependsJavaParser.y"
+#line 1564 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -4260,11 +4259,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4264 "cmDependsJavaParser.cxx"
+#line 4263 "cmDependsJavaParser.cxx"
     break;
 
   case 174: /* StatementWithoutTrailingSubstatement: DoStatement  */
-#line 1574 "cmDependsJavaParser.y"
+#line 1573 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -4272,11 +4271,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4276 "cmDependsJavaParser.cxx"
+#line 4275 "cmDependsJavaParser.cxx"
     break;
 
   case 175: /* StatementWithoutTrailingSubstatement: BreakStatement  */
-#line 1583 "cmDependsJavaParser.y"
+#line 1582 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -4284,11 +4283,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4288 "cmDependsJavaParser.cxx"
+#line 4287 "cmDependsJavaParser.cxx"
     break;
 
   case 176: /* StatementWithoutTrailingSubstatement: ContinueStatement  */
-#line 1592 "cmDependsJavaParser.y"
+#line 1591 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -4296,11 +4295,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4300 "cmDependsJavaParser.cxx"
+#line 4299 "cmDependsJavaParser.cxx"
     break;
 
   case 177: /* StatementWithoutTrailingSubstatement: ReturnStatement  */
-#line 1601 "cmDependsJavaParser.y"
+#line 1600 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -4308,11 +4307,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4312 "cmDependsJavaParser.cxx"
+#line 4311 "cmDependsJavaParser.cxx"
     break;
 
   case 178: /* StatementWithoutTrailingSubstatement: SynchronizedStatement  */
-#line 1610 "cmDependsJavaParser.y"
+#line 1609 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -4320,11 +4319,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4324 "cmDependsJavaParser.cxx"
+#line 4323 "cmDependsJavaParser.cxx"
     break;
 
   case 179: /* StatementWithoutTrailingSubstatement: ThrowStatement  */
-#line 1619 "cmDependsJavaParser.y"
+#line 1618 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -4332,11 +4331,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4336 "cmDependsJavaParser.cxx"
+#line 4335 "cmDependsJavaParser.cxx"
     break;
 
   case 180: /* StatementWithoutTrailingSubstatement: TryStatement  */
-#line 1628 "cmDependsJavaParser.y"
+#line 1627 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -4344,11 +4343,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4348 "cmDependsJavaParser.cxx"
+#line 4347 "cmDependsJavaParser.cxx"
     break;
 
   case 181: /* StatementWithoutTrailingSubstatement: AssertStatement  */
-#line 1637 "cmDependsJavaParser.y"
+#line 1636 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -4356,11 +4355,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4360 "cmDependsJavaParser.cxx"
+#line 4359 "cmDependsJavaParser.cxx"
     break;
 
   case 182: /* EmptyStatement: jp_SEMICOL  */
-#line 1647 "cmDependsJavaParser.y"
+#line 1646 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -4368,11 +4367,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4372 "cmDependsJavaParser.cxx"
+#line 4371 "cmDependsJavaParser.cxx"
     break;
 
   case 183: /* LabeledStatement: Identifier jp_COLON Statement  */
-#line 1657 "cmDependsJavaParser.y"
+#line 1656 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   yyGetParser->DeallocateParserType(&((yyvsp[-2].str)));
@@ -4381,11 +4380,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4385 "cmDependsJavaParser.cxx"
+#line 4384 "cmDependsJavaParser.cxx"
     break;
 
   case 184: /* LabeledStatementNoShortIf: Identifier jp_COLON StatementNoShortIf  */
-#line 1668 "cmDependsJavaParser.y"
+#line 1667 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   jpCheckEmpty(3);
@@ -4393,11 +4392,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4397 "cmDependsJavaParser.cxx"
+#line 4396 "cmDependsJavaParser.cxx"
     break;
 
   case 185: /* ExpressionStatement: StatementExpression jp_SEMICOL  */
-#line 1678 "cmDependsJavaParser.y"
+#line 1677 "cmDependsJavaParser.y"
 {
   jpElementStart(2);
   jpCheckEmpty(2);
@@ -4405,11 +4404,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4409 "cmDependsJavaParser.cxx"
+#line 4408 "cmDependsJavaParser.cxx"
     break;
 
   case 186: /* StatementExpression: Assignment  */
-#line 1688 "cmDependsJavaParser.y"
+#line 1687 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -4417,11 +4416,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4421 "cmDependsJavaParser.cxx"
+#line 4420 "cmDependsJavaParser.cxx"
     break;
 
   case 187: /* StatementExpression: PreIncrementExpression  */
-#line 1697 "cmDependsJavaParser.y"
+#line 1696 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -4429,11 +4428,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4433 "cmDependsJavaParser.cxx"
+#line 4432 "cmDependsJavaParser.cxx"
     break;
 
   case 188: /* StatementExpression: PreDecrementExpression  */
-#line 1706 "cmDependsJavaParser.y"
+#line 1705 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -4441,11 +4440,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4445 "cmDependsJavaParser.cxx"
+#line 4444 "cmDependsJavaParser.cxx"
     break;
 
   case 189: /* StatementExpression: PostIncrementExpression  */
-#line 1715 "cmDependsJavaParser.y"
+#line 1714 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -4453,11 +4452,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4457 "cmDependsJavaParser.cxx"
+#line 4456 "cmDependsJavaParser.cxx"
     break;
 
   case 190: /* StatementExpression: PostDecrementExpression  */
-#line 1724 "cmDependsJavaParser.y"
+#line 1723 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -4465,11 +4464,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4469 "cmDependsJavaParser.cxx"
+#line 4468 "cmDependsJavaParser.cxx"
     break;
 
   case 191: /* StatementExpression: MethodInvocation  */
-#line 1733 "cmDependsJavaParser.y"
+#line 1732 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -4477,11 +4476,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4481 "cmDependsJavaParser.cxx"
+#line 4480 "cmDependsJavaParser.cxx"
     break;
 
   case 192: /* StatementExpression: ClassInstanceCreationExpression  */
-#line 1742 "cmDependsJavaParser.y"
+#line 1741 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -4489,11 +4488,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4493 "cmDependsJavaParser.cxx"
+#line 4492 "cmDependsJavaParser.cxx"
     break;
 
   case 193: /* IfThenStatement: jp_IF jp_PARESTART Expression jp_PAREEND Statement  */
-#line 1752 "cmDependsJavaParser.y"
+#line 1751 "cmDependsJavaParser.y"
 {
   jpElementStart(5);
   jpCheckEmpty(5);
@@ -4501,11 +4500,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4505 "cmDependsJavaParser.cxx"
+#line 4504 "cmDependsJavaParser.cxx"
     break;
 
   case 194: /* IfThenElseStatement: jp_IF jp_PARESTART Expression jp_PAREEND StatementNoShortIf jp_ELSE Statement  */
-#line 1762 "cmDependsJavaParser.y"
+#line 1761 "cmDependsJavaParser.y"
 {
   jpElementStart(7);
   jpCheckEmpty(7);
@@ -4513,11 +4512,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4517 "cmDependsJavaParser.cxx"
+#line 4516 "cmDependsJavaParser.cxx"
     break;
 
   case 195: /* IfThenElseStatementNoShortIf: jp_IF jp_PARESTART Expression jp_PAREEND StatementNoShortIf jp_ELSE StatementNoShortIf  */
-#line 1772 "cmDependsJavaParser.y"
+#line 1771 "cmDependsJavaParser.y"
 {
   jpElementStart(7);
   jpCheckEmpty(7);
@@ -4525,40 +4524,40 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4529 "cmDependsJavaParser.cxx"
+#line 4528 "cmDependsJavaParser.cxx"
     break;
 
   case 196: /* SwitchStatement: jp_SWITCH jp_PARESTART Expression jp_PAREEND SwitchBlock  */
-#line 1782 "cmDependsJavaParser.y"
+#line 1781 "cmDependsJavaParser.y"
 {
   jpElementStart(5);
 
 }
-#line 4538 "cmDependsJavaParser.cxx"
+#line 4537 "cmDependsJavaParser.cxx"
     break;
 
   case 197: /* SwitchBlock: jp_CURLYSTART SwitchBlockStatementGroups SwitchLabelsopt jp_CURLYEND  */
-#line 1789 "cmDependsJavaParser.y"
+#line 1788 "cmDependsJavaParser.y"
 {
   jpElementStart(4);
 
 }
-#line 4547 "cmDependsJavaParser.cxx"
+#line 4546 "cmDependsJavaParser.cxx"
     break;
 
   case 198: /* SwitchLabelsopt: %empty  */
-#line 1795 "cmDependsJavaParser.y"
+#line 1794 "cmDependsJavaParser.y"
 {
   jpElementStart(0);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4558 "cmDependsJavaParser.cxx"
+#line 4557 "cmDependsJavaParser.cxx"
     break;
 
   case 199: /* SwitchLabelsopt: SwitchLabels  */
-#line 1803 "cmDependsJavaParser.y"
+#line 1802 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -4566,22 +4565,22 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4570 "cmDependsJavaParser.cxx"
+#line 4569 "cmDependsJavaParser.cxx"
     break;
 
   case 200: /* SwitchBlockStatementGroups: %empty  */
-#line 1812 "cmDependsJavaParser.y"
+#line 1811 "cmDependsJavaParser.y"
 {
   jpElementStart(0);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4581 "cmDependsJavaParser.cxx"
+#line 4580 "cmDependsJavaParser.cxx"
     break;
 
   case 201: /* SwitchBlockStatementGroups: SwitchBlockStatementGroups SwitchBlockStatementGroup  */
-#line 1820 "cmDependsJavaParser.y"
+#line 1819 "cmDependsJavaParser.y"
 {
   jpElementStart(2);
   jpCheckEmpty(2);
@@ -4589,11 +4588,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4593 "cmDependsJavaParser.cxx"
+#line 4592 "cmDependsJavaParser.cxx"
     break;
 
   case 202: /* SwitchBlockStatementGroup: SwitchLabels BlockStatements  */
-#line 1830 "cmDependsJavaParser.y"
+#line 1829 "cmDependsJavaParser.y"
 {
   jpElementStart(2);
   jpCheckEmpty(2);
@@ -4601,11 +4600,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4605 "cmDependsJavaParser.cxx"
+#line 4604 "cmDependsJavaParser.cxx"
     break;
 
   case 203: /* SwitchLabels: SwitchLabel  */
-#line 1840 "cmDependsJavaParser.y"
+#line 1839 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -4613,11 +4612,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4617 "cmDependsJavaParser.cxx"
+#line 4616 "cmDependsJavaParser.cxx"
     break;
 
   case 204: /* SwitchLabels: SwitchLabels SwitchLabel  */
-#line 1849 "cmDependsJavaParser.y"
+#line 1848 "cmDependsJavaParser.y"
 {
   jpElementStart(2);
   jpCheckEmpty(2);
@@ -4625,11 +4624,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4629 "cmDependsJavaParser.cxx"
+#line 4628 "cmDependsJavaParser.cxx"
     break;
 
   case 205: /* SwitchLabel: jp_CASE ConstantExpression jp_COLON  */
-#line 1859 "cmDependsJavaParser.y"
+#line 1858 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   jpCheckEmpty(3);
@@ -4637,11 +4636,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4641 "cmDependsJavaParser.cxx"
+#line 4640 "cmDependsJavaParser.cxx"
     break;
 
   case 206: /* SwitchLabel: jp_DEFAULT jp_COLON  */
-#line 1868 "cmDependsJavaParser.y"
+#line 1867 "cmDependsJavaParser.y"
 {
   jpElementStart(2);
   jpCheckEmpty(2);
@@ -4649,58 +4648,58 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4653 "cmDependsJavaParser.cxx"
+#line 4652 "cmDependsJavaParser.cxx"
     break;
 
   case 207: /* WhileStatement: jp_WHILE jp_PARESTART Expression jp_PAREEND Statement  */
-#line 1878 "cmDependsJavaParser.y"
+#line 1877 "cmDependsJavaParser.y"
 {
   jpElementStart(5);
 
 }
-#line 4662 "cmDependsJavaParser.cxx"
+#line 4661 "cmDependsJavaParser.cxx"
     break;
 
   case 208: /* WhileStatementNoShortIf: jp_WHILE jp_PARESTART Expression jp_PAREEND StatementNoShortIf  */
-#line 1885 "cmDependsJavaParser.y"
+#line 1884 "cmDependsJavaParser.y"
 {
   jpElementStart(5);
 
 }
-#line 4671 "cmDependsJavaParser.cxx"
+#line 4670 "cmDependsJavaParser.cxx"
     break;
 
   case 209: /* DoStatement: jp_DO Statement jp_WHILE jp_PARESTART Expression jp_PAREEND jp_SEMICOL  */
-#line 1892 "cmDependsJavaParser.y"
+#line 1891 "cmDependsJavaParser.y"
 {
   jpElementStart(7);
 
 }
-#line 4680 "cmDependsJavaParser.cxx"
+#line 4679 "cmDependsJavaParser.cxx"
     break;
 
   case 210: /* ForStatement: jp_FOR jp_PARESTART ForInitopt jp_SEMICOL Expressionopt jp_SEMICOL ForUpdateopt jp_PAREEND Statement  */
-#line 1900 "cmDependsJavaParser.y"
+#line 1899 "cmDependsJavaParser.y"
 {
   jpElementStart(9);
 
 }
-#line 4689 "cmDependsJavaParser.cxx"
+#line 4688 "cmDependsJavaParser.cxx"
     break;
 
   case 211: /* ForUpdateopt: %empty  */
-#line 1906 "cmDependsJavaParser.y"
+#line 1905 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4700 "cmDependsJavaParser.cxx"
+#line 4699 "cmDependsJavaParser.cxx"
     break;
 
   case 212: /* ForUpdateopt: ForUpdate  */
-#line 1914 "cmDependsJavaParser.y"
+#line 1913 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -4708,22 +4707,22 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4712 "cmDependsJavaParser.cxx"
+#line 4711 "cmDependsJavaParser.cxx"
     break;
 
   case 213: /* ForInitopt: %empty  */
-#line 1923 "cmDependsJavaParser.y"
+#line 1922 "cmDependsJavaParser.y"
 {
   jpElementStart(0);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4723 "cmDependsJavaParser.cxx"
+#line 4722 "cmDependsJavaParser.cxx"
     break;
 
   case 214: /* ForInitopt: ForInit  */
-#line 1931 "cmDependsJavaParser.y"
+#line 1930 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -4731,33 +4730,33 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4735 "cmDependsJavaParser.cxx"
+#line 4734 "cmDependsJavaParser.cxx"
     break;
 
   case 215: /* ForStatementNoShortIf: jp_FOR jp_PARESTART ForInitopt jp_SEMICOL Expressionopt jp_SEMICOL ForUpdateopt jp_PAREEND StatementNoShortIf  */
-#line 1942 "cmDependsJavaParser.y"
+#line 1941 "cmDependsJavaParser.y"
 {
   jpElementStart(9);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4746 "cmDependsJavaParser.cxx"
+#line 4745 "cmDependsJavaParser.cxx"
     break;
 
   case 216: /* Expressionopt: %empty  */
-#line 1950 "cmDependsJavaParser.y"
+#line 1949 "cmDependsJavaParser.y"
 {
   jpElementStart(0);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4757 "cmDependsJavaParser.cxx"
+#line 4756 "cmDependsJavaParser.cxx"
     break;
 
   case 217: /* Expressionopt: Expression  */
-#line 1958 "cmDependsJavaParser.y"
+#line 1957 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -4765,11 +4764,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4769 "cmDependsJavaParser.cxx"
+#line 4768 "cmDependsJavaParser.cxx"
     break;
 
   case 218: /* ForInit: StatementExpressionList  */
-#line 1968 "cmDependsJavaParser.y"
+#line 1967 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -4777,11 +4776,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4781 "cmDependsJavaParser.cxx"
+#line 4780 "cmDependsJavaParser.cxx"
     break;
 
   case 219: /* ForInit: LocalVariableDeclaration  */
-#line 1977 "cmDependsJavaParser.y"
+#line 1976 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -4789,11 +4788,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4793 "cmDependsJavaParser.cxx"
+#line 4792 "cmDependsJavaParser.cxx"
     break;
 
   case 220: /* ForUpdate: StatementExpressionList  */
-#line 1987 "cmDependsJavaParser.y"
+#line 1986 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -4801,11 +4800,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4805 "cmDependsJavaParser.cxx"
+#line 4804 "cmDependsJavaParser.cxx"
     break;
 
   case 221: /* StatementExpressionList: StatementExpression  */
-#line 1997 "cmDependsJavaParser.y"
+#line 1996 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -4813,11 +4812,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4817 "cmDependsJavaParser.cxx"
+#line 4816 "cmDependsJavaParser.cxx"
     break;
 
   case 222: /* StatementExpressionList: StatementExpressionList jp_COMMA StatementExpression  */
-#line 2006 "cmDependsJavaParser.y"
+#line 2005 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   jpCheckEmpty(3);
@@ -4825,11 +4824,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4829 "cmDependsJavaParser.cxx"
+#line 4828 "cmDependsJavaParser.cxx"
     break;
 
   case 223: /* AssertStatement: jp_ASSERT Expression jp_SEMICOL  */
-#line 2016 "cmDependsJavaParser.y"
+#line 2015 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   jpCheckEmpty(3);
@@ -4837,11 +4836,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4841 "cmDependsJavaParser.cxx"
+#line 4840 "cmDependsJavaParser.cxx"
     break;
 
   case 224: /* AssertStatement: jp_ASSERT Expression jp_COLON Expression jp_SEMICOL  */
-#line 2025 "cmDependsJavaParser.y"
+#line 2024 "cmDependsJavaParser.y"
 {
   jpElementStart(5);
   jpCheckEmpty(5);
@@ -4849,11 +4848,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4853 "cmDependsJavaParser.cxx"
+#line 4852 "cmDependsJavaParser.cxx"
     break;
 
   case 225: /* BreakStatement: jp_BREAK Identifieropt jp_SEMICOL  */
-#line 2035 "cmDependsJavaParser.y"
+#line 2034 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   yyGetParser->DeallocateParserType(&((yyvsp[-1].str)));
@@ -4862,31 +4861,31 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4866 "cmDependsJavaParser.cxx"
+#line 4865 "cmDependsJavaParser.cxx"
     break;
 
   case 226: /* Identifieropt: %empty  */
-#line 2045 "cmDependsJavaParser.y"
+#line 2044 "cmDependsJavaParser.y"
 {
   jpElementStart(0);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4877 "cmDependsJavaParser.cxx"
+#line 4876 "cmDependsJavaParser.cxx"
     break;
 
   case 227: /* Identifieropt: Identifier  */
-#line 2053 "cmDependsJavaParser.y"
+#line 2052 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
 
 }
-#line 4886 "cmDependsJavaParser.cxx"
+#line 4885 "cmDependsJavaParser.cxx"
     break;
 
   case 228: /* ContinueStatement: jp_CONTINUE Identifieropt jp_SEMICOL  */
-#line 2060 "cmDependsJavaParser.y"
+#line 2059 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   yyGetParser->DeallocateParserType(&((yyvsp[-1].str)));
@@ -4895,11 +4894,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4899 "cmDependsJavaParser.cxx"
+#line 4898 "cmDependsJavaParser.cxx"
     break;
 
   case 229: /* ReturnStatement: jp_RETURN Expressionopt jp_SEMICOL  */
-#line 2071 "cmDependsJavaParser.y"
+#line 2070 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   jpCheckEmpty(3);
@@ -4907,11 +4906,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4911 "cmDependsJavaParser.cxx"
+#line 4910 "cmDependsJavaParser.cxx"
     break;
 
   case 230: /* ThrowStatement: jp_THROW Expression jp_SEMICOL  */
-#line 2081 "cmDependsJavaParser.y"
+#line 2080 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   jpCheckEmpty(3);
@@ -4919,11 +4918,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4923 "cmDependsJavaParser.cxx"
+#line 4922 "cmDependsJavaParser.cxx"
     break;
 
   case 231: /* SynchronizedStatement: jp_SYNCHRONIZED jp_PARESTART Expression jp_PAREEND Block  */
-#line 2091 "cmDependsJavaParser.y"
+#line 2090 "cmDependsJavaParser.y"
 {
   jpElementStart(5);
   jpCheckEmpty(5);
@@ -4931,11 +4930,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4935 "cmDependsJavaParser.cxx"
+#line 4934 "cmDependsJavaParser.cxx"
     break;
 
   case 232: /* TryStatement: jp_TRY Block Catches  */
-#line 2101 "cmDependsJavaParser.y"
+#line 2100 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   jpCheckEmpty(3);
@@ -4943,11 +4942,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4947 "cmDependsJavaParser.cxx"
+#line 4946 "cmDependsJavaParser.cxx"
     break;
 
   case 233: /* TryStatement: jp_TRY Block Catchesopt Finally  */
-#line 2110 "cmDependsJavaParser.y"
+#line 2109 "cmDependsJavaParser.y"
 {
   jpElementStart(4);
   jpCheckEmpty(4);
@@ -4955,22 +4954,22 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4959 "cmDependsJavaParser.cxx"
+#line 4958 "cmDependsJavaParser.cxx"
     break;
 
   case 234: /* Catchesopt: %empty  */
-#line 2119 "cmDependsJavaParser.y"
+#line 2118 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4970 "cmDependsJavaParser.cxx"
+#line 4969 "cmDependsJavaParser.cxx"
     break;
 
   case 235: /* Catchesopt: Catches  */
-#line 2127 "cmDependsJavaParser.y"
+#line 2126 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -4978,11 +4977,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4982 "cmDependsJavaParser.cxx"
+#line 4981 "cmDependsJavaParser.cxx"
     break;
 
   case 236: /* Catches: CatchClause  */
-#line 2137 "cmDependsJavaParser.y"
+#line 2136 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -4990,11 +4989,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 4994 "cmDependsJavaParser.cxx"
+#line 4993 "cmDependsJavaParser.cxx"
     break;
 
   case 237: /* Catches: Catches CatchClause  */
-#line 2146 "cmDependsJavaParser.y"
+#line 2145 "cmDependsJavaParser.y"
 {
   jpElementStart(2);
   jpCheckEmpty(2);
@@ -5002,20 +5001,20 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5006 "cmDependsJavaParser.cxx"
+#line 5005 "cmDependsJavaParser.cxx"
     break;
 
   case 238: /* CatchClause: jp_CATCH jp_PARESTART FormalParameter jp_PAREEND Block  */
-#line 2156 "cmDependsJavaParser.y"
+#line 2155 "cmDependsJavaParser.y"
 {
   jpElementStart(5);
 
 }
-#line 5015 "cmDependsJavaParser.cxx"
+#line 5014 "cmDependsJavaParser.cxx"
     break;
 
   case 239: /* Finally: jp_FINALLY Block  */
-#line 2163 "cmDependsJavaParser.y"
+#line 2162 "cmDependsJavaParser.y"
 {
   jpElementStart(2);
   jpCheckEmpty(2);
@@ -5023,11 +5022,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5027 "cmDependsJavaParser.cxx"
+#line 5026 "cmDependsJavaParser.cxx"
     break;
 
   case 240: /* Primary: PrimaryNoNewArray  */
-#line 2173 "cmDependsJavaParser.y"
+#line 2172 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -5035,11 +5034,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5039 "cmDependsJavaParser.cxx"
+#line 5038 "cmDependsJavaParser.cxx"
     break;
 
   case 241: /* Primary: ArrayCreationExpression  */
-#line 2182 "cmDependsJavaParser.y"
+#line 2181 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -5047,11 +5046,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5051 "cmDependsJavaParser.cxx"
+#line 5050 "cmDependsJavaParser.cxx"
     break;
 
   case 242: /* PrimaryNoNewArray: Literal  */
-#line 2192 "cmDependsJavaParser.y"
+#line 2191 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -5059,20 +5058,20 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5063 "cmDependsJavaParser.cxx"
+#line 5062 "cmDependsJavaParser.cxx"
     break;
 
   case 243: /* PrimaryNoNewArray: jp_THIS  */
-#line 2201 "cmDependsJavaParser.y"
+#line 2200 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
 
 }
-#line 5072 "cmDependsJavaParser.cxx"
+#line 5071 "cmDependsJavaParser.cxx"
     break;
 
   case 244: /* PrimaryNoNewArray: jp_PARESTART Expression jp_PAREEND  */
-#line 2207 "cmDependsJavaParser.y"
+#line 2206 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   jpCheckEmpty(3);
@@ -5080,11 +5079,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5084 "cmDependsJavaParser.cxx"
+#line 5083 "cmDependsJavaParser.cxx"
     break;
 
   case 245: /* PrimaryNoNewArray: ClassInstanceCreationExpression  */
-#line 2216 "cmDependsJavaParser.y"
+#line 2215 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -5092,11 +5091,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5096 "cmDependsJavaParser.cxx"
+#line 5095 "cmDependsJavaParser.cxx"
     break;
 
   case 246: /* PrimaryNoNewArray: FieldAccess  */
-#line 2225 "cmDependsJavaParser.y"
+#line 2224 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -5104,11 +5103,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5108 "cmDependsJavaParser.cxx"
+#line 5107 "cmDependsJavaParser.cxx"
     break;
 
   case 247: /* PrimaryNoNewArray: MethodInvocation  */
-#line 2234 "cmDependsJavaParser.y"
+#line 2233 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -5116,11 +5115,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5120 "cmDependsJavaParser.cxx"
+#line 5119 "cmDependsJavaParser.cxx"
     break;
 
   case 248: /* PrimaryNoNewArray: ArrayAccess  */
-#line 2243 "cmDependsJavaParser.y"
+#line 2242 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -5128,11 +5127,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5132 "cmDependsJavaParser.cxx"
+#line 5131 "cmDependsJavaParser.cxx"
     break;
 
   case 249: /* ClassInstanceCreationExpression: New ClassType jp_PARESTART ArgumentListopt jp_PAREEND ClassBodyOpt  */
-#line 2253 "cmDependsJavaParser.y"
+#line 2252 "cmDependsJavaParser.y"
 {
   jpElementStart(6);
   jpCheckEmpty(6);
@@ -5140,22 +5139,22 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5144 "cmDependsJavaParser.cxx"
+#line 5143 "cmDependsJavaParser.cxx"
     break;
 
   case 250: /* ClassBodyOpt: %empty  */
-#line 2262 "cmDependsJavaParser.y"
+#line 2261 "cmDependsJavaParser.y"
 {
   jpElementStart(0);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5155 "cmDependsJavaParser.cxx"
+#line 5154 "cmDependsJavaParser.cxx"
     break;
 
   case 251: /* ClassBodyOpt: ClassBody  */
-#line 2270 "cmDependsJavaParser.y"
+#line 2269 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -5163,22 +5162,22 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5167 "cmDependsJavaParser.cxx"
+#line 5166 "cmDependsJavaParser.cxx"
     break;
 
   case 252: /* ArgumentListopt: %empty  */
-#line 2279 "cmDependsJavaParser.y"
+#line 2278 "cmDependsJavaParser.y"
 {
   jpElementStart(0);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5178 "cmDependsJavaParser.cxx"
+#line 5177 "cmDependsJavaParser.cxx"
     break;
 
   case 253: /* ArgumentListopt: ArgumentList  */
-#line 2287 "cmDependsJavaParser.y"
+#line 2286 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -5186,11 +5185,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5190 "cmDependsJavaParser.cxx"
+#line 5189 "cmDependsJavaParser.cxx"
     break;
 
   case 254: /* ArgumentList: Expression  */
-#line 2297 "cmDependsJavaParser.y"
+#line 2296 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -5198,11 +5197,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5202 "cmDependsJavaParser.cxx"
+#line 5201 "cmDependsJavaParser.cxx"
     break;
 
   case 255: /* ArgumentList: ArgumentList jp_COMMA Expression  */
-#line 2306 "cmDependsJavaParser.y"
+#line 2305 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   jpCheckEmpty(3);
@@ -5210,11 +5209,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5214 "cmDependsJavaParser.cxx"
+#line 5213 "cmDependsJavaParser.cxx"
     break;
 
   case 256: /* ArrayCreationExpression: New PrimitiveType DimExprs Dimsopt  */
-#line 2316 "cmDependsJavaParser.y"
+#line 2315 "cmDependsJavaParser.y"
 {
   jpElementStart(4);
   jpCheckEmpty(4);
@@ -5222,11 +5221,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5226 "cmDependsJavaParser.cxx"
+#line 5225 "cmDependsJavaParser.cxx"
     break;
 
   case 257: /* ArrayCreationExpression: New ClassOrInterfaceType DimExprs Dimsopt  */
-#line 2325 "cmDependsJavaParser.y"
+#line 2324 "cmDependsJavaParser.y"
 {
   jpElementStart(4);
   jpCheckEmpty(4);
@@ -5234,11 +5233,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5238 "cmDependsJavaParser.cxx"
+#line 5237 "cmDependsJavaParser.cxx"
     break;
 
   case 258: /* ArrayCreationExpression: New PrimitiveType Dims ArrayInitializer  */
-#line 2334 "cmDependsJavaParser.y"
+#line 2333 "cmDependsJavaParser.y"
 {
   jpElementStart(4);
   jpCheckEmpty(4);
@@ -5246,11 +5245,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5250 "cmDependsJavaParser.cxx"
+#line 5249 "cmDependsJavaParser.cxx"
     break;
 
   case 259: /* ArrayCreationExpression: New ClassOrInterfaceType Dims ArrayInitializer  */
-#line 2343 "cmDependsJavaParser.y"
+#line 2342 "cmDependsJavaParser.y"
 {
   jpElementStart(4);
   jpCheckEmpty(4);
@@ -5258,22 +5257,22 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5262 "cmDependsJavaParser.cxx"
+#line 5261 "cmDependsJavaParser.cxx"
     break;
 
   case 260: /* Dimsopt: %empty  */
-#line 2352 "cmDependsJavaParser.y"
+#line 2351 "cmDependsJavaParser.y"
 {
   jpElementStart(0);
   (yyval.str) = 0;
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5273 "cmDependsJavaParser.cxx"
+#line 5272 "cmDependsJavaParser.cxx"
     break;
 
   case 261: /* Dimsopt: Dims  */
-#line 2360 "cmDependsJavaParser.y"
+#line 2359 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -5281,11 +5280,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5285 "cmDependsJavaParser.cxx"
+#line 5284 "cmDependsJavaParser.cxx"
     break;
 
   case 262: /* DimExprs: DimExpr  */
-#line 2370 "cmDependsJavaParser.y"
+#line 2369 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -5293,11 +5292,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5297 "cmDependsJavaParser.cxx"
+#line 5296 "cmDependsJavaParser.cxx"
     break;
 
   case 263: /* DimExprs: DimExprs DimExpr  */
-#line 2379 "cmDependsJavaParser.y"
+#line 2378 "cmDependsJavaParser.y"
 {
   jpElementStart(2);
   jpCheckEmpty(2);
@@ -5305,11 +5304,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5309 "cmDependsJavaParser.cxx"
+#line 5308 "cmDependsJavaParser.cxx"
     break;
 
   case 264: /* DimExpr: jp_BRACKETSTART Expression jp_BRACKETEND  */
-#line 2389 "cmDependsJavaParser.y"
+#line 2388 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   jpCheckEmpty(3);
@@ -5317,29 +5316,29 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5321 "cmDependsJavaParser.cxx"
+#line 5320 "cmDependsJavaParser.cxx"
     break;
 
   case 265: /* Dims: jp_BRACKETSTART jp_BRACKETEND  */
-#line 2399 "cmDependsJavaParser.y"
+#line 2398 "cmDependsJavaParser.y"
 {
   jpElementStart(2);
 
 }
-#line 5330 "cmDependsJavaParser.cxx"
+#line 5329 "cmDependsJavaParser.cxx"
     break;
 
   case 266: /* Dims: Dims jp_BRACKETSTART jp_BRACKETEND  */
-#line 2405 "cmDependsJavaParser.y"
+#line 2404 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
 
 }
-#line 5339 "cmDependsJavaParser.cxx"
+#line 5338 "cmDependsJavaParser.cxx"
     break;
 
   case 267: /* FieldAccess: Primary jp_DOT Identifier  */
-#line 2412 "cmDependsJavaParser.y"
+#line 2411 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   yyGetParser->DeallocateParserType(&((yyvsp[0].str)));
@@ -5348,11 +5347,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5352 "cmDependsJavaParser.cxx"
+#line 5351 "cmDependsJavaParser.cxx"
     break;
 
   case 268: /* FieldAccess: jp_SUPER jp_DOT Identifier  */
-#line 2422 "cmDependsJavaParser.y"
+#line 2421 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   yyGetParser->DeallocateParserType(&((yyvsp[0].str)));
@@ -5361,11 +5360,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5365 "cmDependsJavaParser.cxx"
+#line 5364 "cmDependsJavaParser.cxx"
     break;
 
   case 269: /* FieldAccess: jp_THIS jp_DOT Identifier  */
-#line 2432 "cmDependsJavaParser.y"
+#line 2431 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   yyGetParser->DeallocateParserType(&((yyvsp[0].str)));
@@ -5374,11 +5373,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5378 "cmDependsJavaParser.cxx"
+#line 5377 "cmDependsJavaParser.cxx"
     break;
 
   case 270: /* FieldAccess: Primary jp_DOT jp_THIS  */
-#line 2442 "cmDependsJavaParser.y"
+#line 2441 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   yyGetParser->DeallocateParserType(&((yyvsp[0].str)));
@@ -5387,11 +5386,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5391 "cmDependsJavaParser.cxx"
+#line 5390 "cmDependsJavaParser.cxx"
     break;
 
   case 271: /* MethodInvocation: Name jp_PARESTART ArgumentListopt jp_PAREEND  */
-#line 2453 "cmDependsJavaParser.y"
+#line 2452 "cmDependsJavaParser.y"
 {
   jpElementStart(4);
   yyGetParser->DeallocateParserType(&((yyvsp[-3].str)));
@@ -5400,11 +5399,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5404 "cmDependsJavaParser.cxx"
+#line 5403 "cmDependsJavaParser.cxx"
     break;
 
   case 272: /* MethodInvocation: Primary jp_DOT Identifier jp_PARESTART ArgumentListopt jp_PAREEND  */
-#line 2463 "cmDependsJavaParser.y"
+#line 2462 "cmDependsJavaParser.y"
 {
   jpElementStart(6);
   yyGetParser->DeallocateParserType(&((yyvsp[-5].str)));
@@ -5414,11 +5413,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5418 "cmDependsJavaParser.cxx"
+#line 5417 "cmDependsJavaParser.cxx"
     break;
 
   case 273: /* MethodInvocation: jp_SUPER jp_DOT Identifier jp_PARESTART ArgumentListopt jp_PAREEND  */
-#line 2474 "cmDependsJavaParser.y"
+#line 2473 "cmDependsJavaParser.y"
 {
   jpElementStart(6);
   yyGetParser->DeallocateParserType(&((yyvsp[-3].str)));
@@ -5427,11 +5426,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5431 "cmDependsJavaParser.cxx"
+#line 5430 "cmDependsJavaParser.cxx"
     break;
 
   case 274: /* MethodInvocation: jp_THIS jp_DOT Identifier jp_PARESTART ArgumentListopt jp_PAREEND  */
-#line 2484 "cmDependsJavaParser.y"
+#line 2483 "cmDependsJavaParser.y"
 {
   jpElementStart(6);
   yyGetParser->DeallocateParserType(&((yyvsp[-3].str)));
@@ -5440,11 +5439,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5444 "cmDependsJavaParser.cxx"
+#line 5443 "cmDependsJavaParser.cxx"
     break;
 
   case 275: /* ArrayAccess: Name jp_BRACKETSTART Expression jp_BRACKETEND  */
-#line 2495 "cmDependsJavaParser.y"
+#line 2494 "cmDependsJavaParser.y"
 {
   jpElementStart(4);
   yyGetParser->DeallocateParserType(&((yyvsp[-3].str)));
@@ -5453,11 +5452,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5457 "cmDependsJavaParser.cxx"
+#line 5456 "cmDependsJavaParser.cxx"
     break;
 
   case 276: /* ArrayAccess: PrimaryNoNewArray jp_BRACKETSTART Expression jp_BRACKETEND  */
-#line 2505 "cmDependsJavaParser.y"
+#line 2504 "cmDependsJavaParser.y"
 {
   jpElementStart(4);
   jpCheckEmpty(4);
@@ -5465,11 +5464,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5469 "cmDependsJavaParser.cxx"
+#line 5468 "cmDependsJavaParser.cxx"
     break;
 
   case 277: /* PostfixExpression: Primary  */
-#line 2515 "cmDependsJavaParser.y"
+#line 2514 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -5477,11 +5476,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5481 "cmDependsJavaParser.cxx"
+#line 5480 "cmDependsJavaParser.cxx"
     break;
 
   case 278: /* PostfixExpression: Name  */
-#line 2524 "cmDependsJavaParser.y"
+#line 2523 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   yyGetParser->DeallocateParserType(&((yyvsp[0].str)));
@@ -5489,11 +5488,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5493 "cmDependsJavaParser.cxx"
+#line 5492 "cmDependsJavaParser.cxx"
     break;
 
   case 279: /* PostfixExpression: ArrayType jp_DOT jp_CLASS  */
-#line 2533 "cmDependsJavaParser.y"
+#line 2532 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   jpCheckEmpty(3);
@@ -5501,11 +5500,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5505 "cmDependsJavaParser.cxx"
+#line 5504 "cmDependsJavaParser.cxx"
     break;
 
   case 280: /* PostfixExpression: PostIncrementExpression  */
-#line 2542 "cmDependsJavaParser.y"
+#line 2541 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -5513,11 +5512,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5517 "cmDependsJavaParser.cxx"
+#line 5516 "cmDependsJavaParser.cxx"
     break;
 
   case 281: /* PostfixExpression: PostDecrementExpression  */
-#line 2551 "cmDependsJavaParser.y"
+#line 2550 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -5525,11 +5524,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5529 "cmDependsJavaParser.cxx"
+#line 5528 "cmDependsJavaParser.cxx"
     break;
 
   case 282: /* PostIncrementExpression: PostfixExpression jp_PLUSPLUS  */
-#line 2561 "cmDependsJavaParser.y"
+#line 2560 "cmDependsJavaParser.y"
 {
   jpElementStart(2);
   jpCheckEmpty(2);
@@ -5537,11 +5536,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5541 "cmDependsJavaParser.cxx"
+#line 5540 "cmDependsJavaParser.cxx"
     break;
 
   case 283: /* PostDecrementExpression: PostfixExpression jp_MINUSMINUS  */
-#line 2571 "cmDependsJavaParser.y"
+#line 2570 "cmDependsJavaParser.y"
 {
   jpElementStart(2);
   jpCheckEmpty(2);
@@ -5549,11 +5548,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5553 "cmDependsJavaParser.cxx"
+#line 5552 "cmDependsJavaParser.cxx"
     break;
 
   case 284: /* UnaryExpression: PreIncrementExpression  */
-#line 2581 "cmDependsJavaParser.y"
+#line 2580 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -5561,11 +5560,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5565 "cmDependsJavaParser.cxx"
+#line 5564 "cmDependsJavaParser.cxx"
     break;
 
   case 285: /* UnaryExpression: PreDecrementExpression  */
-#line 2590 "cmDependsJavaParser.y"
+#line 2589 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -5573,11 +5572,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5577 "cmDependsJavaParser.cxx"
+#line 5576 "cmDependsJavaParser.cxx"
     break;
 
   case 286: /* UnaryExpression: jp_PLUS UnaryExpression  */
-#line 2599 "cmDependsJavaParser.y"
+#line 2598 "cmDependsJavaParser.y"
 {
   jpElementStart(2);
   jpCheckEmpty(2);
@@ -5585,11 +5584,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5589 "cmDependsJavaParser.cxx"
+#line 5588 "cmDependsJavaParser.cxx"
     break;
 
   case 287: /* UnaryExpression: jp_MINUS UnaryExpression  */
-#line 2608 "cmDependsJavaParser.y"
+#line 2607 "cmDependsJavaParser.y"
 {
   jpElementStart(2);
   jpCheckEmpty(2);
@@ -5597,11 +5596,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5601 "cmDependsJavaParser.cxx"
+#line 5600 "cmDependsJavaParser.cxx"
     break;
 
   case 288: /* UnaryExpression: UnaryExpressionNotPlusMinus  */
-#line 2617 "cmDependsJavaParser.y"
+#line 2616 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -5609,11 +5608,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5613 "cmDependsJavaParser.cxx"
+#line 5612 "cmDependsJavaParser.cxx"
     break;
 
   case 289: /* PreIncrementExpression: jp_PLUSPLUS UnaryExpression  */
-#line 2627 "cmDependsJavaParser.y"
+#line 2626 "cmDependsJavaParser.y"
 {
   jpElementStart(2);
   jpCheckEmpty(2);
@@ -5621,11 +5620,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5625 "cmDependsJavaParser.cxx"
+#line 5624 "cmDependsJavaParser.cxx"
     break;
 
   case 290: /* PreDecrementExpression: jp_MINUSMINUS UnaryExpression  */
-#line 2637 "cmDependsJavaParser.y"
+#line 2636 "cmDependsJavaParser.y"
 {
   jpElementStart(2);
   jpCheckEmpty(2);
@@ -5633,11 +5632,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5637 "cmDependsJavaParser.cxx"
+#line 5636 "cmDependsJavaParser.cxx"
     break;
 
   case 291: /* UnaryExpressionNotPlusMinus: PostfixExpression  */
-#line 2647 "cmDependsJavaParser.y"
+#line 2646 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -5645,11 +5644,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5649 "cmDependsJavaParser.cxx"
+#line 5648 "cmDependsJavaParser.cxx"
     break;
 
   case 292: /* UnaryExpressionNotPlusMinus: jp_TILDE UnaryExpression  */
-#line 2656 "cmDependsJavaParser.y"
+#line 2655 "cmDependsJavaParser.y"
 {
   jpElementStart(2);
   jpCheckEmpty(2);
@@ -5657,11 +5656,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5661 "cmDependsJavaParser.cxx"
+#line 5660 "cmDependsJavaParser.cxx"
     break;
 
   case 293: /* UnaryExpressionNotPlusMinus: jp_EXCLAMATION UnaryExpression  */
-#line 2665 "cmDependsJavaParser.y"
+#line 2664 "cmDependsJavaParser.y"
 {
   jpElementStart(2);
   jpCheckEmpty(2);
@@ -5669,11 +5668,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5673 "cmDependsJavaParser.cxx"
+#line 5672 "cmDependsJavaParser.cxx"
     break;
 
   case 294: /* UnaryExpressionNotPlusMinus: CastExpression  */
-#line 2674 "cmDependsJavaParser.y"
+#line 2673 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -5681,11 +5680,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5685 "cmDependsJavaParser.cxx"
+#line 5684 "cmDependsJavaParser.cxx"
     break;
 
   case 295: /* CastExpression: jp_PARESTART PrimitiveType Dimsopt jp_PAREEND UnaryExpression  */
-#line 2684 "cmDependsJavaParser.y"
+#line 2683 "cmDependsJavaParser.y"
 {
   jpElementStart(5);
   jpCheckEmpty(5);
@@ -5693,11 +5692,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5697 "cmDependsJavaParser.cxx"
+#line 5696 "cmDependsJavaParser.cxx"
     break;
 
   case 296: /* CastExpression: jp_PARESTART Expression jp_PAREEND UnaryExpressionNotPlusMinus  */
-#line 2693 "cmDependsJavaParser.y"
+#line 2692 "cmDependsJavaParser.y"
 {
   jpElementStart(4);
   jpCheckEmpty(4);
@@ -5705,20 +5704,20 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5709 "cmDependsJavaParser.cxx"
+#line 5708 "cmDependsJavaParser.cxx"
     break;
 
   case 297: /* CastExpression: jp_PARESTART Name Dims jp_PAREEND UnaryExpressionNotPlusMinus  */
-#line 2702 "cmDependsJavaParser.y"
+#line 2701 "cmDependsJavaParser.y"
 {
   jpElementStart(5);
 
 }
-#line 5718 "cmDependsJavaParser.cxx"
+#line 5717 "cmDependsJavaParser.cxx"
     break;
 
   case 298: /* MultiplicativeExpression: UnaryExpression  */
-#line 2709 "cmDependsJavaParser.y"
+#line 2708 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -5726,11 +5725,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5730 "cmDependsJavaParser.cxx"
+#line 5729 "cmDependsJavaParser.cxx"
     break;
 
   case 299: /* MultiplicativeExpression: MultiplicativeExpression jp_TIMES UnaryExpression  */
-#line 2718 "cmDependsJavaParser.y"
+#line 2717 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   jpCheckEmpty(3);
@@ -5738,11 +5737,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5742 "cmDependsJavaParser.cxx"
+#line 5741 "cmDependsJavaParser.cxx"
     break;
 
   case 300: /* MultiplicativeExpression: MultiplicativeExpression jp_DIVIDE UnaryExpression  */
-#line 2727 "cmDependsJavaParser.y"
+#line 2726 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   jpCheckEmpty(3);
@@ -5750,11 +5749,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5754 "cmDependsJavaParser.cxx"
+#line 5753 "cmDependsJavaParser.cxx"
     break;
 
   case 301: /* MultiplicativeExpression: MultiplicativeExpression jp_PERCENT UnaryExpression  */
-#line 2736 "cmDependsJavaParser.y"
+#line 2735 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   jpCheckEmpty(3);
@@ -5762,11 +5761,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5766 "cmDependsJavaParser.cxx"
+#line 5765 "cmDependsJavaParser.cxx"
     break;
 
   case 302: /* AdditiveExpression: MultiplicativeExpression  */
-#line 2746 "cmDependsJavaParser.y"
+#line 2745 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -5774,11 +5773,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5778 "cmDependsJavaParser.cxx"
+#line 5777 "cmDependsJavaParser.cxx"
     break;
 
   case 303: /* AdditiveExpression: AdditiveExpression jp_PLUS MultiplicativeExpression  */
-#line 2755 "cmDependsJavaParser.y"
+#line 2754 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   jpCheckEmpty(3);
@@ -5786,11 +5785,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5790 "cmDependsJavaParser.cxx"
+#line 5789 "cmDependsJavaParser.cxx"
     break;
 
   case 304: /* AdditiveExpression: AdditiveExpression jp_MINUS MultiplicativeExpression  */
-#line 2764 "cmDependsJavaParser.y"
+#line 2763 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   jpCheckEmpty(3);
@@ -5798,11 +5797,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5802 "cmDependsJavaParser.cxx"
+#line 5801 "cmDependsJavaParser.cxx"
     break;
 
   case 305: /* ShiftExpression: AdditiveExpression  */
-#line 2774 "cmDependsJavaParser.y"
+#line 2773 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -5810,11 +5809,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5814 "cmDependsJavaParser.cxx"
+#line 5813 "cmDependsJavaParser.cxx"
     break;
 
   case 306: /* ShiftExpression: ShiftExpression jp_LTLT AdditiveExpression  */
-#line 2783 "cmDependsJavaParser.y"
+#line 2782 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   jpCheckEmpty(3);
@@ -5822,11 +5821,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5826 "cmDependsJavaParser.cxx"
+#line 5825 "cmDependsJavaParser.cxx"
     break;
 
   case 307: /* ShiftExpression: ShiftExpression jp_GTGT AdditiveExpression  */
-#line 2792 "cmDependsJavaParser.y"
+#line 2791 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   jpCheckEmpty(3);
@@ -5834,11 +5833,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5838 "cmDependsJavaParser.cxx"
+#line 5837 "cmDependsJavaParser.cxx"
     break;
 
   case 308: /* ShiftExpression: ShiftExpression jp_GTGTGT AdditiveExpression  */
-#line 2801 "cmDependsJavaParser.y"
+#line 2800 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   jpCheckEmpty(3);
@@ -5846,11 +5845,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5850 "cmDependsJavaParser.cxx"
+#line 5849 "cmDependsJavaParser.cxx"
     break;
 
   case 309: /* RelationalExpression: ShiftExpression  */
-#line 2811 "cmDependsJavaParser.y"
+#line 2810 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -5858,11 +5857,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5862 "cmDependsJavaParser.cxx"
+#line 5861 "cmDependsJavaParser.cxx"
     break;
 
   case 310: /* RelationalExpression: RelationalExpression jp_LESSTHAN ShiftExpression  */
-#line 2820 "cmDependsJavaParser.y"
+#line 2819 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   jpCheckEmpty(3);
@@ -5870,11 +5869,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5874 "cmDependsJavaParser.cxx"
+#line 5873 "cmDependsJavaParser.cxx"
     break;
 
   case 311: /* RelationalExpression: RelationalExpression jp_GREATER ShiftExpression  */
-#line 2829 "cmDependsJavaParser.y"
+#line 2828 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   jpCheckEmpty(3);
@@ -5882,11 +5881,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5886 "cmDependsJavaParser.cxx"
+#line 5885 "cmDependsJavaParser.cxx"
     break;
 
   case 312: /* RelationalExpression: RelationalExpression jp_LTEQUALS ShiftExpression  */
-#line 2838 "cmDependsJavaParser.y"
+#line 2837 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   jpCheckEmpty(3);
@@ -5894,11 +5893,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5898 "cmDependsJavaParser.cxx"
+#line 5897 "cmDependsJavaParser.cxx"
     break;
 
   case 313: /* RelationalExpression: RelationalExpression jp_GTEQUALS ShiftExpression  */
-#line 2847 "cmDependsJavaParser.y"
+#line 2846 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   jpCheckEmpty(3);
@@ -5906,11 +5905,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5910 "cmDependsJavaParser.cxx"
+#line 5909 "cmDependsJavaParser.cxx"
     break;
 
   case 314: /* RelationalExpression: RelationalExpression jp_INSTANCEOF ReferenceType  */
-#line 2856 "cmDependsJavaParser.y"
+#line 2855 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   jpCheckEmpty(3);
@@ -5918,11 +5917,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5922 "cmDependsJavaParser.cxx"
+#line 5921 "cmDependsJavaParser.cxx"
     break;
 
   case 315: /* EqualityExpression: RelationalExpression  */
-#line 2866 "cmDependsJavaParser.y"
+#line 2865 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -5930,11 +5929,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5934 "cmDependsJavaParser.cxx"
+#line 5933 "cmDependsJavaParser.cxx"
     break;
 
   case 316: /* EqualityExpression: EqualityExpression jp_EQUALSEQUALS RelationalExpression  */
-#line 2875 "cmDependsJavaParser.y"
+#line 2874 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   jpCheckEmpty(3);
@@ -5942,11 +5941,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5946 "cmDependsJavaParser.cxx"
+#line 5945 "cmDependsJavaParser.cxx"
     break;
 
   case 317: /* EqualityExpression: EqualityExpression jp_EXCLAMATIONEQUALS RelationalExpression  */
-#line 2884 "cmDependsJavaParser.y"
+#line 2883 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   jpCheckEmpty(3);
@@ -5954,11 +5953,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5958 "cmDependsJavaParser.cxx"
+#line 5957 "cmDependsJavaParser.cxx"
     break;
 
   case 318: /* AndExpression: EqualityExpression  */
-#line 2894 "cmDependsJavaParser.y"
+#line 2893 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -5966,11 +5965,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5970 "cmDependsJavaParser.cxx"
+#line 5969 "cmDependsJavaParser.cxx"
     break;
 
   case 319: /* AndExpression: AndExpression jp_AND EqualityExpression  */
-#line 2903 "cmDependsJavaParser.y"
+#line 2902 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   jpCheckEmpty(3);
@@ -5978,11 +5977,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5982 "cmDependsJavaParser.cxx"
+#line 5981 "cmDependsJavaParser.cxx"
     break;
 
   case 320: /* ExclusiveOrExpression: AndExpression  */
-#line 2913 "cmDependsJavaParser.y"
+#line 2912 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -5990,11 +5989,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 5994 "cmDependsJavaParser.cxx"
+#line 5993 "cmDependsJavaParser.cxx"
     break;
 
   case 321: /* ExclusiveOrExpression: ExclusiveOrExpression jp_CARROT AndExpression  */
-#line 2922 "cmDependsJavaParser.y"
+#line 2921 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   jpCheckEmpty(3);
@@ -6002,11 +6001,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 6006 "cmDependsJavaParser.cxx"
+#line 6005 "cmDependsJavaParser.cxx"
     break;
 
   case 322: /* InclusiveOrExpression: ExclusiveOrExpression  */
-#line 2932 "cmDependsJavaParser.y"
+#line 2931 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -6014,11 +6013,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 6018 "cmDependsJavaParser.cxx"
+#line 6017 "cmDependsJavaParser.cxx"
     break;
 
   case 323: /* InclusiveOrExpression: InclusiveOrExpression jp_PIPE ExclusiveOrExpression  */
-#line 2941 "cmDependsJavaParser.y"
+#line 2940 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   jpCheckEmpty(3);
@@ -6026,11 +6025,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 6030 "cmDependsJavaParser.cxx"
+#line 6029 "cmDependsJavaParser.cxx"
     break;
 
   case 324: /* ConditionalAndExpression: InclusiveOrExpression  */
-#line 2951 "cmDependsJavaParser.y"
+#line 2950 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -6038,11 +6037,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 6042 "cmDependsJavaParser.cxx"
+#line 6041 "cmDependsJavaParser.cxx"
     break;
 
   case 325: /* ConditionalAndExpression: ConditionalAndExpression jp_ANDAND InclusiveOrExpression  */
-#line 2960 "cmDependsJavaParser.y"
+#line 2959 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   jpCheckEmpty(3);
@@ -6050,11 +6049,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 6054 "cmDependsJavaParser.cxx"
+#line 6053 "cmDependsJavaParser.cxx"
     break;
 
   case 326: /* ConditionalOrExpression: ConditionalAndExpression  */
-#line 2970 "cmDependsJavaParser.y"
+#line 2969 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -6062,11 +6061,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 6066 "cmDependsJavaParser.cxx"
+#line 6065 "cmDependsJavaParser.cxx"
     break;
 
   case 327: /* ConditionalOrExpression: ConditionalOrExpression jp_PIPEPIPE ConditionalAndExpression  */
-#line 2979 "cmDependsJavaParser.y"
+#line 2978 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   jpCheckEmpty(3);
@@ -6074,11 +6073,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 6078 "cmDependsJavaParser.cxx"
+#line 6077 "cmDependsJavaParser.cxx"
     break;
 
   case 328: /* ConditionalExpression: ConditionalOrExpression  */
-#line 2989 "cmDependsJavaParser.y"
+#line 2988 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -6086,11 +6085,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 6090 "cmDependsJavaParser.cxx"
+#line 6089 "cmDependsJavaParser.cxx"
     break;
 
   case 329: /* ConditionalExpression: ConditionalOrExpression jp_QUESTION Expression jp_COLON ConditionalExpression  */
-#line 2998 "cmDependsJavaParser.y"
+#line 2997 "cmDependsJavaParser.y"
 {
   jpElementStart(5);
   jpCheckEmpty(5);
@@ -6098,11 +6097,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 6102 "cmDependsJavaParser.cxx"
+#line 6101 "cmDependsJavaParser.cxx"
     break;
 
   case 330: /* AssignmentExpression: ConditionalExpression  */
-#line 3008 "cmDependsJavaParser.y"
+#line 3007 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -6110,11 +6109,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 6114 "cmDependsJavaParser.cxx"
+#line 6113 "cmDependsJavaParser.cxx"
     break;
 
   case 331: /* AssignmentExpression: Assignment  */
-#line 3017 "cmDependsJavaParser.y"
+#line 3016 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -6122,11 +6121,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 6126 "cmDependsJavaParser.cxx"
+#line 6125 "cmDependsJavaParser.cxx"
     break;
 
   case 332: /* Assignment: LeftHandSide AssignmentOperator AssignmentExpression  */
-#line 3027 "cmDependsJavaParser.y"
+#line 3026 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   jpCheckEmpty(3);
@@ -6134,11 +6133,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 6138 "cmDependsJavaParser.cxx"
+#line 6137 "cmDependsJavaParser.cxx"
     break;
 
   case 333: /* LeftHandSide: Name  */
-#line 3037 "cmDependsJavaParser.y"
+#line 3036 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   yyGetParser->DeallocateParserType(&((yyvsp[0].str)));
@@ -6147,11 +6146,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 6151 "cmDependsJavaParser.cxx"
+#line 6150 "cmDependsJavaParser.cxx"
     break;
 
   case 334: /* LeftHandSide: FieldAccess  */
-#line 3047 "cmDependsJavaParser.y"
+#line 3046 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -6159,11 +6158,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 6163 "cmDependsJavaParser.cxx"
+#line 6162 "cmDependsJavaParser.cxx"
     break;
 
   case 335: /* LeftHandSide: ArrayAccess  */
-#line 3056 "cmDependsJavaParser.y"
+#line 3055 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -6171,11 +6170,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 6175 "cmDependsJavaParser.cxx"
+#line 6174 "cmDependsJavaParser.cxx"
     break;
 
   case 336: /* AssignmentOperator: jp_EQUALS  */
-#line 3066 "cmDependsJavaParser.y"
+#line 3065 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -6183,11 +6182,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 6187 "cmDependsJavaParser.cxx"
+#line 6186 "cmDependsJavaParser.cxx"
     break;
 
   case 337: /* AssignmentOperator: jp_TIMESEQUALS  */
-#line 3075 "cmDependsJavaParser.y"
+#line 3074 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -6195,11 +6194,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 6199 "cmDependsJavaParser.cxx"
+#line 6198 "cmDependsJavaParser.cxx"
     break;
 
   case 338: /* AssignmentOperator: jp_DIVIDEEQUALS  */
-#line 3084 "cmDependsJavaParser.y"
+#line 3083 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -6207,11 +6206,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 6211 "cmDependsJavaParser.cxx"
+#line 6210 "cmDependsJavaParser.cxx"
     break;
 
   case 339: /* AssignmentOperator: jp_PERCENTEQUALS  */
-#line 3093 "cmDependsJavaParser.y"
+#line 3092 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -6219,11 +6218,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 6223 "cmDependsJavaParser.cxx"
+#line 6222 "cmDependsJavaParser.cxx"
     break;
 
   case 340: /* AssignmentOperator: jp_PLUSEQUALS  */
-#line 3102 "cmDependsJavaParser.y"
+#line 3101 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -6231,11 +6230,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 6235 "cmDependsJavaParser.cxx"
+#line 6234 "cmDependsJavaParser.cxx"
     break;
 
   case 341: /* AssignmentOperator: jp_MINUSEQUALS  */
-#line 3111 "cmDependsJavaParser.y"
+#line 3110 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -6243,11 +6242,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 6247 "cmDependsJavaParser.cxx"
+#line 6246 "cmDependsJavaParser.cxx"
     break;
 
   case 342: /* AssignmentOperator: jp_LESLESEQUALS  */
-#line 3120 "cmDependsJavaParser.y"
+#line 3119 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -6255,11 +6254,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 6259 "cmDependsJavaParser.cxx"
+#line 6258 "cmDependsJavaParser.cxx"
     break;
 
   case 343: /* AssignmentOperator: jp_GTGTEQUALS  */
-#line 3129 "cmDependsJavaParser.y"
+#line 3128 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -6267,11 +6266,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 6271 "cmDependsJavaParser.cxx"
+#line 6270 "cmDependsJavaParser.cxx"
     break;
 
   case 344: /* AssignmentOperator: jp_GTGTGTEQUALS  */
-#line 3138 "cmDependsJavaParser.y"
+#line 3137 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -6279,11 +6278,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 6283 "cmDependsJavaParser.cxx"
+#line 6282 "cmDependsJavaParser.cxx"
     break;
 
   case 345: /* AssignmentOperator: jp_ANDEQUALS  */
-#line 3147 "cmDependsJavaParser.y"
+#line 3146 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -6291,11 +6290,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 6295 "cmDependsJavaParser.cxx"
+#line 6294 "cmDependsJavaParser.cxx"
     break;
 
   case 346: /* AssignmentOperator: jp_CARROTEQUALS  */
-#line 3156 "cmDependsJavaParser.y"
+#line 3155 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -6303,11 +6302,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 6307 "cmDependsJavaParser.cxx"
+#line 6306 "cmDependsJavaParser.cxx"
     break;
 
   case 347: /* AssignmentOperator: jp_PIPEEQUALS  */
-#line 3165 "cmDependsJavaParser.y"
+#line 3164 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -6315,11 +6314,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 6319 "cmDependsJavaParser.cxx"
+#line 6318 "cmDependsJavaParser.cxx"
     break;
 
   case 348: /* Expression: AssignmentExpression  */
-#line 3175 "cmDependsJavaParser.y"
+#line 3174 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -6327,11 +6326,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 6331 "cmDependsJavaParser.cxx"
+#line 6330 "cmDependsJavaParser.cxx"
     break;
 
   case 349: /* ConstantExpression: Expression  */
-#line 3185 "cmDependsJavaParser.y"
+#line 3184 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -6339,11 +6338,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 6343 "cmDependsJavaParser.cxx"
+#line 6342 "cmDependsJavaParser.cxx"
     break;
 
   case 350: /* New: jp_NEW  */
-#line 3195 "cmDependsJavaParser.y"
+#line 3194 "cmDependsJavaParser.y"
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -6351,11 +6350,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 6355 "cmDependsJavaParser.cxx"
+#line 6354 "cmDependsJavaParser.cxx"
     break;
 
   case 351: /* New: Name jp_DOT jp_NEW  */
-#line 3204 "cmDependsJavaParser.y"
+#line 3203 "cmDependsJavaParser.y"
 {
   jpElementStart(3);
   jpStoreClass((yyvsp[-2].str));
@@ -6364,11 +6363,11 @@ yyreduce:
   yyGetParser->SetCurrentCombine("");
 
 }
-#line 6368 "cmDependsJavaParser.cxx"
+#line 6367 "cmDependsJavaParser.cxx"
     break;
 
 
-#line 6372 "cmDependsJavaParser.cxx"
+#line 6371 "cmDependsJavaParser.cxx"
 
       default: break;
     }
@@ -6592,7 +6591,7 @@ yyreturnlab:
   return yyresult;
 }
 
-#line 3213 "cmDependsJavaParser.y"
+#line 3212 "cmDependsJavaParser.y"
 
 /* End of grammar */
 
diff --git a/Source/LexerParser/cmDependsJavaParser.y b/Source/LexerParser/cmDependsJavaParser.y
index ff37af2..d64043a 100644
--- a/Source/LexerParser/cmDependsJavaParser.y
+++ b/Source/LexerParser/cmDependsJavaParser.y
@@ -13,7 +13,6 @@ Run bison like this:
 
 #include "cmConfigure.h" // IWYU pragma: keep
 
-#include <stdint.h>
 #include <stdlib.h>
 #include <string.h>
 #include <string>
diff --git a/Source/LexerParser/cmExprParser.cxx b/Source/LexerParser/cmExprParser.cxx
index cb5e498..80c0abd 100644
--- a/Source/LexerParser/cmExprParser.cxx
+++ b/Source/LexerParser/cmExprParser.cxx
@@ -88,7 +88,6 @@ Run bison like this:
 
 #include "cmConfigure.h" // IWYU pragma: keep
 
-#include <stdint.h>
 #include <stdlib.h>
 #include <string.h>
 #include <stdexcept>
@@ -127,7 +126,7 @@ static void cmExpr_yyerror(yyscan_t yyscanner, const char* message);
 #  pragma diag_suppress 550 /* variable set but never used */
 #endif
 
-#line 131 "cmExprParser.cxx"
+#line 130 "cmExprParser.cxx"
 
 # ifndef YY_CAST
 #  ifdef __cplusplus
@@ -569,9 +568,9 @@ static const yytype_int8 yytranslate[] =
 /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
 static const yytype_uint8 yyrline[] =
 {
-       0,    88,    88,    93,    96,   101,   104,   109,   112,   117,
-     120,   123,   128,   131,   134,   139,   142,   145,   151,   156,
-     159,   162,   165,   170,   173
+       0,    87,    87,    92,    95,   100,   103,   108,   111,   116,
+     119,   122,   127,   130,   133,   138,   141,   144,   150,   155,
+     158,   161,   164,   169,   172
 };
 #endif
 
@@ -1432,194 +1431,194 @@ yyreduce:
   switch (yyn)
     {
   case 2: /* start: exp  */
-#line 88 "cmExprParser.y"
+#line 87 "cmExprParser.y"
       {
     cmExpr_yyget_extra(yyscanner)->SetResult((yyvsp[0].Number));
   }
-#line 1440 "cmExprParser.cxx"
+#line 1439 "cmExprParser.cxx"
     break;
 
   case 3: /* exp: bitwiseor  */
-#line 93 "cmExprParser.y"
+#line 92 "cmExprParser.y"
             {
     (yyval.Number) = (yyvsp[0].Number);
   }
-#line 1448 "cmExprParser.cxx"
+#line 1447 "cmExprParser.cxx"
     break;
 
   case 4: /* exp: exp exp_OR bitwiseor  */
-#line 96 "cmExprParser.y"
+#line 95 "cmExprParser.y"
                        {
     (yyval.Number) = (yyvsp[-2].Number) | (yyvsp[0].Number);
   }
-#line 1456 "cmExprParser.cxx"
+#line 1455 "cmExprParser.cxx"
     break;
 
   case 5: /* bitwiseor: bitwisexor  */
-#line 101 "cmExprParser.y"
+#line 100 "cmExprParser.y"
              {
     (yyval.Number) = (yyvsp[0].Number);
   }
-#line 1464 "cmExprParser.cxx"
+#line 1463 "cmExprParser.cxx"
     break;
 
   case 6: /* bitwiseor: bitwiseor exp_XOR bitwisexor  */
-#line 104 "cmExprParser.y"
+#line 103 "cmExprParser.y"
                                {
     (yyval.Number) = (yyvsp[-2].Number) ^ (yyvsp[0].Number);
   }
-#line 1472 "cmExprParser.cxx"
+#line 1471 "cmExprParser.cxx"
     break;
 
   case 7: /* bitwisexor: bitwiseand  */
-#line 109 "cmExprParser.y"
+#line 108 "cmExprParser.y"
              {
     (yyval.Number) = (yyvsp[0].Number);
   }
-#line 1480 "cmExprParser.cxx"
+#line 1479 "cmExprParser.cxx"
     break;
 
   case 8: /* bitwisexor: bitwisexor exp_AND bitwiseand  */
-#line 112 "cmExprParser.y"
+#line 111 "cmExprParser.y"
                                 {
     (yyval.Number) = (yyvsp[-2].Number) & (yyvsp[0].Number);
   }
-#line 1488 "cmExprParser.cxx"
+#line 1487 "cmExprParser.cxx"
     break;
 
   case 9: /* bitwiseand: shift  */
-#line 117 "cmExprParser.y"
+#line 116 "cmExprParser.y"
         {
     (yyval.Number) = (yyvsp[0].Number);
   }
-#line 1496 "cmExprParser.cxx"
+#line 1495 "cmExprParser.cxx"
     break;
 
   case 10: /* bitwiseand: bitwiseand exp_SHIFTLEFT shift  */
-#line 120 "cmExprParser.y"
+#line 119 "cmExprParser.y"
                                  {
     (yyval.Number) = (yyvsp[-2].Number) << (yyvsp[0].Number);
   }
-#line 1504 "cmExprParser.cxx"
+#line 1503 "cmExprParser.cxx"
     break;
 
   case 11: /* bitwiseand: bitwiseand exp_SHIFTRIGHT shift  */
-#line 123 "cmExprParser.y"
+#line 122 "cmExprParser.y"
                                   {
     (yyval.Number) = (yyvsp[-2].Number) >> (yyvsp[0].Number);
   }
-#line 1512 "cmExprParser.cxx"
+#line 1511 "cmExprParser.cxx"
     break;
 
   case 12: /* shift: term  */
-#line 128 "cmExprParser.y"
+#line 127 "cmExprParser.y"
        {
     (yyval.Number) = (yyvsp[0].Number);
   }
-#line 1520 "cmExprParser.cxx"
+#line 1519 "cmExprParser.cxx"
     break;
 
   case 13: /* shift: shift exp_PLUS term  */
-#line 131 "cmExprParser.y"
+#line 130 "cmExprParser.y"
                       {
     (yyval.Number) = (yyvsp[-2].Number) + (yyvsp[0].Number);
   }
-#line 1528 "cmExprParser.cxx"
+#line 1527 "cmExprParser.cxx"
     break;
 
   case 14: /* shift: shift exp_MINUS term  */
-#line 134 "cmExprParser.y"
+#line 133 "cmExprParser.y"
                        {
     (yyval.Number) = (yyvsp[-2].Number) - (yyvsp[0].Number);
   }
-#line 1536 "cmExprParser.cxx"
+#line 1535 "cmExprParser.cxx"
     break;
 
   case 15: /* term: unary  */
-#line 139 "cmExprParser.y"
+#line 138 "cmExprParser.y"
         {
     (yyval.Number) = (yyvsp[0].Number);
   }
-#line 1544 "cmExprParser.cxx"
+#line 1543 "cmExprParser.cxx"
     break;
 
   case 16: /* term: term exp_TIMES unary  */
-#line 142 "cmExprParser.y"
+#line 141 "cmExprParser.y"
                        {
     (yyval.Number) = (yyvsp[-2].Number) * (yyvsp[0].Number);
   }
-#line 1552 "cmExprParser.cxx"
+#line 1551 "cmExprParser.cxx"
     break;
 
   case 17: /* term: term exp_DIVIDE unary  */
-#line 145 "cmExprParser.y"
+#line 144 "cmExprParser.y"
                         {
     if (yyvsp[0].Number == 0) {
       throw std::overflow_error("divide by zero");
     }
     (yyval.Number) = (yyvsp[-2].Number) / (yyvsp[0].Number);
   }
-#line 1563 "cmExprParser.cxx"
+#line 1562 "cmExprParser.cxx"
     break;
 
   case 18: /* term: term exp_MOD unary  */
-#line 151 "cmExprParser.y"
+#line 150 "cmExprParser.y"
                      {
     (yyval.Number) = (yyvsp[-2].Number) % (yyvsp[0].Number);
   }
-#line 1571 "cmExprParser.cxx"
+#line 1570 "cmExprParser.cxx"
     break;
 
   case 19: /* unary: factor  */
-#line 156 "cmExprParser.y"
+#line 155 "cmExprParser.y"
          {
     (yyval.Number) = (yyvsp[0].Number);
   }
-#line 1579 "cmExprParser.cxx"
+#line 1578 "cmExprParser.cxx"
     break;
 
   case 20: /* unary: exp_PLUS unary  */
-#line 159 "cmExprParser.y"
+#line 158 "cmExprParser.y"
                  {
     (yyval.Number) = + (yyvsp[0].Number);
   }
-#line 1587 "cmExprParser.cxx"
+#line 1586 "cmExprParser.cxx"
     break;
 
   case 21: /* unary: exp_MINUS unary  */
-#line 162 "cmExprParser.y"
+#line 161 "cmExprParser.y"
                   {
     (yyval.Number) = - (yyvsp[0].Number);
   }
-#line 1595 "cmExprParser.cxx"
+#line 1594 "cmExprParser.cxx"
     break;
 
   case 22: /* unary: exp_NOT unary  */
-#line 165 "cmExprParser.y"
+#line 164 "cmExprParser.y"
                 {
     (yyval.Number) = ~ (yyvsp[0].Number);
   }
-#line 1603 "cmExprParser.cxx"
+#line 1602 "cmExprParser.cxx"
     break;
 
   case 23: /* factor: exp_NUMBER  */
-#line 170 "cmExprParser.y"
+#line 169 "cmExprParser.y"
              {
     (yyval.Number) = (yyvsp[0].Number);
   }
-#line 1611 "cmExprParser.cxx"
+#line 1610 "cmExprParser.cxx"
     break;
 
   case 24: /* factor: exp_OPENPARENT exp exp_CLOSEPARENT  */
-#line 173 "cmExprParser.y"
+#line 172 "cmExprParser.y"
                                      {
     (yyval.Number) = (yyvsp[-1].Number);
   }
-#line 1619 "cmExprParser.cxx"
+#line 1618 "cmExprParser.cxx"
     break;
 
 
-#line 1623 "cmExprParser.cxx"
+#line 1622 "cmExprParser.cxx"
 
       default: break;
     }
@@ -1843,7 +1842,7 @@ yyreturnlab:
   return yyresult;
 }
 
-#line 178 "cmExprParser.y"
+#line 177 "cmExprParser.y"
 
 /* End of grammar */
 
diff --git a/Source/LexerParser/cmExprParser.y b/Source/LexerParser/cmExprParser.y
index 1c959f6..51df56e 100644
--- a/Source/LexerParser/cmExprParser.y
+++ b/Source/LexerParser/cmExprParser.y
@@ -13,7 +13,6 @@ Run bison like this:
 
 #include "cmConfigure.h" // IWYU pragma: keep
 
-#include <stdint.h>
 #include <stdlib.h>
 #include <string.h>
 #include <stdexcept>
diff --git a/Source/LexerParser/cmGccDepfileLexer.cxx b/Source/LexerParser/cmGccDepfileLexer.cxx
index e588853..ca5577e 100644
--- a/Source/LexerParser/cmGccDepfileLexer.cxx
+++ b/Source/LexerParser/cmGccDepfileLexer.cxx
@@ -256,7 +256,6 @@ typedef int16_t flex_int16_t;
 typedef uint16_t flex_uint16_t;
 typedef int32_t flex_int32_t;
 typedef uint32_t flex_uint32_t;
-typedef uint64_t flex_uint64_t;
 #else
 typedef signed char flex_int8_t;
 typedef short int flex_int16_t;
@@ -421,7 +420,7 @@ struct yy_buffer_state
 	/* Number of characters read into yy_ch_buf, not including EOB
 	 * characters.
 	 */
-	yy_size_t yy_n_chars;
+	int yy_n_chars;
 
 	/* Whether we "own" the buffer - i.e., we know we created it,
 	 * and can realloc() it to grow it, and should free() it to
@@ -498,7 +497,7 @@ static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file , yyscan_t yyscanner
 
 YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size , yyscan_t yyscanner );
 YY_BUFFER_STATE yy_scan_string ( const char *yy_str , yyscan_t yyscanner );
-YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, yy_size_t len , yyscan_t yyscanner );
+YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len , yyscan_t yyscanner );
 
 void *yyalloc ( yy_size_t , yyscan_t yyscanner );
 void *yyrealloc ( void *, yy_size_t , yyscan_t yyscanner );
@@ -545,7 +544,7 @@ static void yynoreturn yy_fatal_error ( const char* msg , yyscan_t yyscanner );
  */
 #define YY_DO_BEFORE_ACTION \
 	yyg->yytext_ptr = yy_bp; \
-	yyleng = (yy_size_t) (yy_cp - yy_bp); \
+	yyleng = (int) (yy_cp - yy_bp); \
 	yyg->yy_hold_char = *yy_cp; \
 	*yy_cp = '\0'; \
 	yyg->yy_c_buf_p = yy_cp;
@@ -674,8 +673,8 @@ struct yyguts_t
     size_t yy_buffer_stack_max; /**< capacity of stack. */
     YY_BUFFER_STATE * yy_buffer_stack; /**< Stack as an array. */
     char yy_hold_char;
-    yy_size_t yy_n_chars;
-    yy_size_t yyleng_r;
+    int yy_n_chars;
+    int yyleng_r;
     char *yy_c_buf_p;
     int yy_init;
     int yy_start;
@@ -722,7 +721,7 @@ FILE *yyget_out ( yyscan_t yyscanner );
 
 void yyset_out  ( FILE * _out_str , yyscan_t yyscanner );
 
-			yy_size_t yyget_leng ( yyscan_t yyscanner );
+			int yyget_leng ( yyscan_t yyscanner );
 
 char *yyget_text ( yyscan_t yyscanner );
 
@@ -795,7 +794,7 @@ static int input ( yyscan_t yyscanner );
 	if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
 		{ \
 		int c = '*'; \
-		yy_size_t n; \
+		int n; \
 		for ( n = 0; n < max_size && \
 			     (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
 			buf[n] = (char) c; \
@@ -1241,7 +1240,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
 
 	else
 		{
-			yy_size_t num_to_read =
+			int num_to_read =
 			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
 
 		while ( num_to_read <= 0 )
@@ -1255,7 +1254,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
 
 			if ( b->yy_is_our_buffer )
 				{
-				yy_size_t new_size = b->yy_buf_size * 2;
+				int new_size = b->yy_buf_size * 2;
 
 				if ( new_size <= 0 )
 					b->yy_buf_size += b->yy_buf_size / 8;
@@ -1313,7 +1312,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
 
 	if ((yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
 		/* Extend the array by 50%, plus the number we really need. */
-		yy_size_t new_size = yyg->yy_n_chars + number_to_move + (yyg->yy_n_chars >> 1);
+		int new_size = yyg->yy_n_chars + number_to_move + (yyg->yy_n_chars >> 1);
 		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
 			(void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size , yyscanner );
 		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
@@ -1406,7 +1405,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
 	if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
 		{ /* need to shift things up to make room */
 		/* +2 for EOB chars. */
-		yy_size_t number_to_move = yyg->yy_n_chars + 2;
+		int number_to_move = yyg->yy_n_chars + 2;
 		char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
 					YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
 		char *source =
@@ -1458,7 +1457,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
 
 		else
 			{ /* need more input */
-			yy_size_t offset = yyg->yy_c_buf_p - yyg->yytext_ptr;
+			int offset = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr);
 			++yyg->yy_c_buf_p;
 
 			switch ( yy_get_next_buffer( yyscanner ) )
@@ -1836,12 +1835,12 @@ YY_BUFFER_STATE yy_scan_string (const char * yystr , yyscan_t yyscanner)
  * @param yyscanner The scanner object.
  * @return the newly allocated buffer state object.
  */
-YY_BUFFER_STATE yy_scan_bytes  (const char * yybytes, yy_size_t  _yybytes_len , yyscan_t yyscanner)
+YY_BUFFER_STATE yy_scan_bytes  (const char * yybytes, int  _yybytes_len , yyscan_t yyscanner)
 {
 	YY_BUFFER_STATE b;
 	char *buf;
 	yy_size_t n;
-	yy_size_t i;
+	int i;
 
 	/* Get memory for full buffer, including space for trailing EOB's. */
 	n = (yy_size_t) (_yybytes_len + 2);
@@ -1885,7 +1884,7 @@ static void yynoreturn yy_fatal_error (const char* msg , yyscan_t yyscanner)
 	do \
 		{ \
 		/* Undo effects of setting up yytext. */ \
-        yy_size_t yyless_macro_arg = (n); \
+        int yyless_macro_arg = (n); \
         YY_LESS_LINENO(yyless_macro_arg);\
 		yytext[yyleng] = yyg->yy_hold_char; \
 		yyg->yy_c_buf_p = yytext + yyless_macro_arg; \
@@ -1953,7 +1952,7 @@ FILE *yyget_out  (yyscan_t yyscanner)
 /** Get the length of the current token.
  * @param yyscanner The scanner object.
  */
-yy_size_t yyget_leng  (yyscan_t yyscanner)
+int yyget_leng  (yyscan_t yyscanner)
 {
     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
     return yyleng;
diff --git a/Source/LexerParser/cmGccDepfileLexer.h b/Source/LexerParser/cmGccDepfileLexer.h
index ab73ebc..7d34060 100644
--- a/Source/LexerParser/cmGccDepfileLexer.h
+++ b/Source/LexerParser/cmGccDepfileLexer.h
@@ -258,7 +258,6 @@ typedef int16_t flex_int16_t;
 typedef uint16_t flex_uint16_t;
 typedef int32_t flex_int32_t;
 typedef uint32_t flex_uint32_t;
-typedef uint64_t flex_uint64_t;
 #else
 typedef signed char flex_int8_t;
 typedef short int flex_int16_t;
@@ -372,7 +371,7 @@ struct yy_buffer_state
 	/* Number of characters read into yy_ch_buf, not including EOB
 	 * characters.
 	 */
-	yy_size_t yy_n_chars;
+	int yy_n_chars;
 
 	/* Whether we "own" the buffer - i.e., we know we created it,
 	 * and can realloc() it to grow it, and should free() it to
@@ -416,7 +415,7 @@ void yypop_buffer_state ( yyscan_t yyscanner );
 
 YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size , yyscan_t yyscanner );
 YY_BUFFER_STATE yy_scan_string ( const char *yy_str , yyscan_t yyscanner );
-YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, yy_size_t len , yyscan_t yyscanner );
+YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len , yyscan_t yyscanner );
 
 void *yyalloc ( yy_size_t , yyscan_t yyscanner );
 void *yyrealloc ( void *, yy_size_t , yyscan_t yyscanner );
@@ -463,7 +462,7 @@ FILE *yyget_out ( yyscan_t yyscanner );
 
 void yyset_out  ( FILE * _out_str , yyscan_t yyscanner );
 
-			yy_size_t yyget_leng ( yyscan_t yyscanner );
+			int yyget_leng ( yyscan_t yyscanner );
 
 char *yyget_text ( yyscan_t yyscanner );
 
diff --git a/Source/cmBinUtilsMacOSMachOLinker.cxx b/Source/cmBinUtilsMacOSMachOLinker.cxx
index c064377..90e0891 100644
--- a/Source/cmBinUtilsMacOSMachOLinker.cxx
+++ b/Source/cmBinUtilsMacOSMachOLinker.cxx
@@ -5,7 +5,6 @@
 
 #include <sstream>
 #include <string>
-#include <type_traits>
 #include <utility>
 #include <vector>
 
diff --git a/Source/cmBlockCommand.cxx b/Source/cmBlockCommand.cxx
index ec79149..42f1ad3 100644
--- a/Source/cmBlockCommand.cxx
+++ b/Source/cmBlockCommand.cxx
@@ -3,7 +3,8 @@
 
 #include "cmBlockCommand.h"
 
-#include <cstdint> // IWYU pragma: keep
+#include <cstdint>
+#include <initializer_list>
 #include <utility>
 
 #include <cm/memory>
diff --git a/Source/cmCMakeHostSystemInformationCommand.cxx b/Source/cmCMakeHostSystemInformationCommand.cxx
index 81ed41f..da680ca 100644
--- a/Source/cmCMakeHostSystemInformationCommand.cxx
+++ b/Source/cmCMakeHostSystemInformationCommand.cxx
@@ -5,6 +5,7 @@
 #include <algorithm>
 #include <cassert>
 #include <cctype>
+#include <cstddef>
 #include <initializer_list>
 #include <map>
 #include <string>
diff --git a/Source/cmCMakeLanguageCommand.cxx b/Source/cmCMakeLanguageCommand.cxx
index d65543a..329427c 100644
--- a/Source/cmCMakeLanguageCommand.cxx
+++ b/Source/cmCMakeLanguageCommand.cxx
@@ -5,7 +5,6 @@
 #include <algorithm>
 #include <array>
 #include <cstddef>
-#include <memory>
 #include <string>
 #include <utility>
 
@@ -21,7 +20,7 @@
 #include "cmGlobalGenerator.h"
 #include "cmListFileCache.h"
 #include "cmMakefile.h"
-#include "cmMessageType.h"
+#include "cmMessageType.h" // IWYU pragma: keep
 #include "cmRange.h"
 #include "cmState.h"
 #include "cmStringAlgorithms.h"
diff --git a/Source/cmCMakePresetsGraph.cxx b/Source/cmCMakePresetsGraph.cxx
index 13eddbe..2707000 100644
--- a/Source/cmCMakePresetsGraph.cxx
+++ b/Source/cmCMakePresetsGraph.cxx
@@ -4,6 +4,7 @@
 
 #include <algorithm>
 #include <cassert>
+#include <cstddef>
 #include <functional>
 #include <iostream>
 #include <iterator>
diff --git a/Source/cmCMakePresetsGraph.h b/Source/cmCMakePresetsGraph.h
index 7844624..a000e7d 100644
--- a/Source/cmCMakePresetsGraph.h
+++ b/Source/cmCMakePresetsGraph.h
@@ -15,9 +15,9 @@
 #include <cm/optional>
 
 #include "cmJSONState.h"
-#include "cmStateTypes.h"
+#include "cmStateTypes.h" // IWYU pragma: keep
 
-#include "CTest/cmCTestTypes.h"
+#include "CTest/cmCTestTypes.h" // IWYU pragma: keep
 
 enum class PackageResolveMode;
 
diff --git a/Source/cmCMakePresetsGraphReadJSONConfigurePresets.cxx b/Source/cmCMakePresetsGraphReadJSONConfigurePresets.cxx
index 66ec6a4..3890cd0 100644
--- a/Source/cmCMakePresetsGraphReadJSONConfigurePresets.cxx
+++ b/Source/cmCMakePresetsGraphReadJSONConfigurePresets.cxx
@@ -16,9 +16,10 @@
 #include "cmCMakePresetsGraph.h"
 #include "cmCMakePresetsGraphInternal.h"
 #include "cmJSONHelpers.h"
-#include "cmJSONState.h"
 #include "cmStateTypes.h"
 
+class cmJSONState;
+
 namespace {
 using CacheVariable = cmCMakePresetsGraph::CacheVariable;
 using ConfigurePreset = cmCMakePresetsGraph::ConfigurePreset;
diff --git a/Source/cmCMakePresetsGraphReadJSONPackagePresets.cxx b/Source/cmCMakePresetsGraphReadJSONPackagePresets.cxx
index 7290d4d..bbd77ba 100644
--- a/Source/cmCMakePresetsGraphReadJSONPackagePresets.cxx
+++ b/Source/cmCMakePresetsGraphReadJSONPackagePresets.cxx
@@ -1,7 +1,6 @@
 /* Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include <cstddef>
-#include <functional>
 #include <map>
 #include <memory>
 #include <string>
diff --git a/Source/cmCMakePresetsGraphReadJSONTestPresets.cxx b/Source/cmCMakePresetsGraphReadJSONTestPresets.cxx
index 791be04..a7c59fa 100644
--- a/Source/cmCMakePresetsGraphReadJSONTestPresets.cxx
+++ b/Source/cmCMakePresetsGraphReadJSONTestPresets.cxx
@@ -1,7 +1,6 @@
 /* Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include <cstddef>
-#include <functional>
 #include <map>
 #include <memory>
 #include <string>
diff --git a/Source/cmCMakePresetsGraphReadJSONWorkflowPresets.cxx b/Source/cmCMakePresetsGraphReadJSONWorkflowPresets.cxx
index 7224e17..f596d6c 100644
--- a/Source/cmCMakePresetsGraphReadJSONWorkflowPresets.cxx
+++ b/Source/cmCMakePresetsGraphReadJSONWorkflowPresets.cxx
@@ -1,7 +1,6 @@
 /* Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include <cstddef>
-#include <functional>
 #include <string>
 #include <vector>
 
diff --git a/Source/cmCPackPropertiesGenerator.cxx b/Source/cmCPackPropertiesGenerator.cxx
index cc9ad01..fbf7d73 100644
--- a/Source/cmCPackPropertiesGenerator.cxx
+++ b/Source/cmCPackPropertiesGenerator.cxx
@@ -1,6 +1,7 @@
 #include "cmCPackPropertiesGenerator.h"
 
 #include <map>
+#include <memory>
 #include <ostream>
 
 #include "cmGeneratorExpression.h"
diff --git a/Source/cmCTest.cxx b/Source/cmCTest.cxx
index a311041..6ff6437 100644
--- a/Source/cmCTest.cxx
+++ b/Source/cmCTest.cxx
@@ -11,6 +11,7 @@
 #include <ctime>
 #include <iostream>
 #include <map>
+#include <ratio>
 #include <sstream>
 #include <string>
 #include <utility>
diff --git a/Source/cmCommonTargetGenerator.cxx b/Source/cmCommonTargetGenerator.cxx
index 1924235..e583daa 100644
--- a/Source/cmCommonTargetGenerator.cxx
+++ b/Source/cmCommonTargetGenerator.cxx
@@ -4,6 +4,7 @@
 
 #include <algorithm>
 #include <sstream>
+#include <type_traits>
 #include <utility>
 
 #include <cm/string_view>
diff --git a/Source/cmComputeLinkDepends.cxx b/Source/cmComputeLinkDepends.cxx
index f51a1c8..7394d86 100644
--- a/Source/cmComputeLinkDepends.cxx
+++ b/Source/cmComputeLinkDepends.cxx
@@ -8,6 +8,7 @@
 #include <cstdio>
 #include <iterator>
 #include <sstream>
+#include <type_traits>
 #include <unordered_map>
 #include <utility>
 
diff --git a/Source/cmConditionEvaluator.h b/Source/cmConditionEvaluator.h
index 9486b16..4f42206 100644
--- a/Source/cmConditionEvaluator.h
+++ b/Source/cmConditionEvaluator.h
@@ -10,7 +10,7 @@
 #include <cmext/string_view>
 
 #include "cmListFileCache.h"
-#include "cmMessageType.h"
+#include "cmMessageType.h" // IWYU pragma: keep
 #include "cmPolicies.h"
 #include "cmValue.h"
 
diff --git a/Source/cmCoreTryCompile.cxx b/Source/cmCoreTryCompile.cxx
index 0a1ed30..cddbb9b 100644
--- a/Source/cmCoreTryCompile.cxx
+++ b/Source/cmCoreTryCompile.cxx
@@ -7,7 +7,6 @@
 #include <cstring>
 #include <set>
 #include <sstream>
-#include <type_traits>
 #include <utility>
 
 #include <cm/string_view>
diff --git a/Source/cmCxxModuleMapper.h b/Source/cmCxxModuleMapper.h
index ef01e48..34111f7 100644
--- a/Source/cmCxxModuleMapper.h
+++ b/Source/cmCxxModuleMapper.h
@@ -13,7 +13,8 @@
 #include <cm/optional>
 #include <cmext/string_view>
 
-#include "cmScanDepFormat.h"
+enum class LookupMethod;
+struct cmScanDepInfo;
 
 enum class CxxModuleMapFormat
 {
diff --git a/Source/cmDebuggerAdapter.h b/Source/cmDebuggerAdapter.h
index f261d88..3403b36 100644
--- a/Source/cmDebuggerAdapter.h
+++ b/Source/cmDebuggerAdapter.h
@@ -16,7 +16,7 @@
 
 #include <cm3p/cppdap/io.h> // IWYU pragma: keep
 
-#include "cmMessageType.h"
+#include "cmMessageType.h" // IWYU pragma: keep
 
 class cmListFileFunction;
 class cmMakefile;
diff --git a/Source/cmDebuggerBreakpointManager.cxx b/Source/cmDebuggerBreakpointManager.cxx
index 4ae6728..db18c6e 100644
--- a/Source/cmDebuggerBreakpointManager.cxx
+++ b/Source/cmDebuggerBreakpointManager.cxx
@@ -5,7 +5,6 @@
 #include <algorithm>
 #include <cstddef>
 #include <cstdint>
-#include <memory>
 #include <utility>
 
 #include <cm3p/cppdap/optional.h>
diff --git a/Source/cmDebuggerBreakpointManager.h b/Source/cmDebuggerBreakpointManager.h
index 747722f..815262a 100644
--- a/Source/cmDebuggerBreakpointManager.h
+++ b/Source/cmDebuggerBreakpointManager.h
@@ -14,11 +14,9 @@
 
 #include <cm3p/cppdap/protocol.h>
 
-class cmListFileFunction;
+#include "cmDebuggerSourceBreakpoint.h"
 
-namespace cmDebugger {
-class cmDebuggerSourceBreakpoint;
-}
+class cmListFileFunction;
 
 namespace dap {
 class Session;
diff --git a/Source/cmDebuggerExceptionManager.h b/Source/cmDebuggerExceptionManager.h
index b819128..4c044d7 100644
--- a/Source/cmDebuggerExceptionManager.h
+++ b/Source/cmDebuggerExceptionManager.h
@@ -5,7 +5,6 @@
 #include "cmConfigure.h" // IWYU pragma: keep
 
 #include <cstddef>
-#include <functional>
 #include <mutex>
 #include <string>
 #include <unordered_map>
@@ -14,7 +13,7 @@
 
 #include <cm3p/cppdap/protocol.h>
 
-#include "cmMessageType.h"
+#include "cmMessageType.h" // IWYU pragma: keep
 
 namespace dap {
 class Session;
diff --git a/Source/cmDebuggerProtocol.h b/Source/cmDebuggerProtocol.h
index 4334aed..d4b1a96 100644
--- a/Source/cmDebuggerProtocol.h
+++ b/Source/cmDebuggerProtocol.h
@@ -4,7 +4,7 @@
 
 #include "cmConfigure.h" // IWYU pragma: keep
 
-#include <vector>
+#include <string>
 
 #include <cm3p/cppdap/protocol.h>
 
diff --git a/Source/cmDebuggerVariablesHelper.cxx b/Source/cmDebuggerVariablesHelper.cxx
index b2e85f2..73f9111 100644
--- a/Source/cmDebuggerVariablesHelper.cxx
+++ b/Source/cmDebuggerVariablesHelper.cxx
@@ -7,6 +7,7 @@
 #include <cstddef>
 #include <functional>
 #include <iomanip>
+#include <iterator>
 #include <map>
 #include <sstream>
 
diff --git a/Source/cmDebuggerVariablesManager.h b/Source/cmDebuggerVariablesManager.h
index c219164..9a64f10 100644
--- a/Source/cmDebuggerVariablesManager.h
+++ b/Source/cmDebuggerVariablesManager.h
@@ -7,14 +7,9 @@
 #include <cstdint>
 #include <functional>
 #include <unordered_map>
-#include <vector>
 
-#include <cm3p/cppdap/types.h> // IWYU pragma: keep
-
-namespace dap {
-struct Variable;
-struct VariablesRequest;
-}
+#include <cm3p/cppdap/protocol.h>
+#include <cm3p/cppdap/types.h>
 
 namespace cmDebugger {
 
diff --git a/Source/cmDefinitions.cxx b/Source/cmDefinitions.cxx
index a5f8aab..453c0d1 100644
--- a/Source/cmDefinitions.cxx
+++ b/Source/cmDefinitions.cxx
@@ -3,7 +3,6 @@
 #include "cmDefinitions.h"
 
 #include <cassert>
-#include <functional>
 #include <unordered_set>
 #include <utility>
 
diff --git a/Source/cmDefinitions.h b/Source/cmDefinitions.h
index 22fef80..11d8947 100644
--- a/Source/cmDefinitions.h
+++ b/Source/cmDefinitions.h
@@ -4,7 +4,6 @@
 
 #include "cmConfigure.h" // IWYU pragma: keep
 
-#include <functional>
 #include <string>
 #include <unordered_map>
 #include <vector>
diff --git a/Source/cmDependsCompiler.cxx b/Source/cmDependsCompiler.cxx
index c8061c3..27f328d 100644
--- a/Source/cmDependsCompiler.cxx
+++ b/Source/cmDependsCompiler.cxx
@@ -6,7 +6,6 @@
 #include <algorithm>
 #include <iterator>
 #include <map>
-#include <memory>
 #include <string>
 #include <unordered_set>
 #include <utility>
diff --git a/Source/cmDependsFortran.cxx b/Source/cmDependsFortran.cxx
index d038db7..2a50565 100644
--- a/Source/cmDependsFortran.cxx
+++ b/Source/cmDependsFortran.cxx
@@ -6,6 +6,7 @@
 #include <cstdlib>
 #include <iostream>
 #include <map>
+#include <type_traits>
 #include <utility>
 
 #include "cmsys/FStream.hxx"
diff --git a/Source/cmDocumentationFormatter.cxx b/Source/cmDocumentationFormatter.cxx
index 70ba1fc..b85b2f5 100644
--- a/Source/cmDocumentationFormatter.cxx
+++ b/Source/cmDocumentationFormatter.cxx
@@ -2,7 +2,7 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmDocumentationFormatter.h"
 
-#include <algorithm>
+#include <algorithm> // IWYU pragma: keep
 #include <cassert>
 #include <iomanip>
 #include <ostream>
diff --git a/Source/cmDocumentationFormatter.h b/Source/cmDocumentationFormatter.h
index e269f6a..9d35e0a 100644
--- a/Source/cmDocumentationFormatter.h
+++ b/Source/cmDocumentationFormatter.h
@@ -4,6 +4,7 @@
 
 #include "cmConfigure.h" // IWYU pragma: keep
 
+#include <cstddef>
 #include <iosfwd>
 #include <string>
 
diff --git a/Source/cmExportBuildAndroidMKGenerator.cxx b/Source/cmExportBuildAndroidMKGenerator.cxx
index 5e7008b..c54e6ac 100644
--- a/Source/cmExportBuildAndroidMKGenerator.cxx
+++ b/Source/cmExportBuildAndroidMKGenerator.cxx
@@ -2,6 +2,7 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmExportBuildAndroidMKGenerator.h"
 
+#include <map>
 #include <sstream>
 #include <utility>
 #include <vector>
diff --git a/Source/cmExportBuildAndroidMKGenerator.h b/Source/cmExportBuildAndroidMKGenerator.h
index 1a9a626..7067488 100644
--- a/Source/cmExportBuildAndroidMKGenerator.h
+++ b/Source/cmExportBuildAndroidMKGenerator.h
@@ -8,7 +8,6 @@
 #include <string>
 
 #include "cmExportBuildFileGenerator.h"
-#include "cmExportFileGenerator.h"
 #include "cmStateTypes.h"
 
 class cmGeneratorTarget;
diff --git a/Source/cmExportInstallAndroidMKGenerator.h b/Source/cmExportInstallAndroidMKGenerator.h
index c05751a..061358d 100644
--- a/Source/cmExportInstallAndroidMKGenerator.h
+++ b/Source/cmExportInstallAndroidMKGenerator.h
@@ -8,7 +8,6 @@
 #include <set>
 #include <string>
 
-#include "cmExportFileGenerator.h"
 #include "cmExportInstallFileGenerator.h"
 #include "cmStateTypes.h"
 
diff --git a/Source/cmExportLibraryDependenciesCommand.cxx b/Source/cmExportLibraryDependenciesCommand.cxx
index 8aec12b..02d0444 100644
--- a/Source/cmExportLibraryDependenciesCommand.cxx
+++ b/Source/cmExportLibraryDependenciesCommand.cxx
@@ -3,6 +3,7 @@
 #include "cmExportLibraryDependenciesCommand.h"
 
 #include <map>
+#include <unordered_map>
 #include <utility>
 
 #include <cm/memory>
diff --git a/Source/cmExportTryCompileFileGenerator.cxx b/Source/cmExportTryCompileFileGenerator.cxx
index 7e525d5..00c9173 100644
--- a/Source/cmExportTryCompileFileGenerator.cxx
+++ b/Source/cmExportTryCompileFileGenerator.cxx
@@ -2,7 +2,6 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmExportTryCompileFileGenerator.h"
 
-#include <map>
 #include <utility>
 
 #include <cm/memory>
@@ -13,7 +12,6 @@
 #include "cmGeneratorTarget.h"
 #include "cmGlobalGenerator.h"
 #include "cmList.h"
-#include "cmListFileCache.h"
 #include "cmLocalGenerator.h"
 #include "cmMakefile.h"
 #include "cmOutputConverter.h"
diff --git a/Source/cmFileAPI.cxx b/Source/cmFileAPI.cxx
index 8abb5a8..8b0f309 100644
--- a/Source/cmFileAPI.cxx
+++ b/Source/cmFileAPI.cxx
@@ -5,7 +5,6 @@
 #include <algorithm>
 #include <cassert>
 #include <chrono>
-#include <cstddef>
 #include <ctime>
 #include <iomanip>
 #include <sstream>
diff --git a/Source/cmFileAPICodemodel.cxx b/Source/cmFileAPICodemodel.cxx
index 280ebb0..812b1b5 100644
--- a/Source/cmFileAPICodemodel.cxx
+++ b/Source/cmFileAPICodemodel.cxx
@@ -5,7 +5,6 @@
 #include <algorithm>
 #include <cassert>
 #include <cstddef>
-#include <functional>
 #include <limits>
 #include <map>
 #include <memory>
diff --git a/Source/cmFileTime.cxx b/Source/cmFileTime.cxx
index 0606baf..3d103d3 100644
--- a/Source/cmFileTime.cxx
+++ b/Source/cmFileTime.cxx
@@ -2,7 +2,6 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmFileTime.h"
 
-#include <ctime>
 #include <string>
 
 // Use a platform-specific API to get file times efficiently.
diff --git a/Source/cmFindBase.cxx b/Source/cmFindBase.cxx
index 5e92dd0..9f78418 100644
--- a/Source/cmFindBase.cxx
+++ b/Source/cmFindBase.cxx
@@ -6,6 +6,7 @@
 #include <cstddef>
 #include <deque>
 #include <functional>
+#include <iterator>
 #include <map>
 #include <utility>
 
diff --git a/Source/cmFindPackageCommand.cxx b/Source/cmFindPackageCommand.cxx
index f863a51..30458cd 100644
--- a/Source/cmFindPackageCommand.cxx
+++ b/Source/cmFindPackageCommand.cxx
@@ -11,7 +11,6 @@
 #include <sstream>
 #include <utility>
 
-#include <cm/memory>
 #include <cm/optional>
 #include <cmext/string_view>
 
diff --git a/Source/cmGccDepfileLexerHelper.cxx b/Source/cmGccDepfileLexerHelper.cxx
index 87377de..a375904 100644
--- a/Source/cmGccDepfileLexerHelper.cxx
+++ b/Source/cmGccDepfileLexerHelper.cxx
@@ -4,7 +4,6 @@
 
 #include <algorithm>
 #include <cstdio>
-#include <memory>
 #include <string>
 #include <vector>
 
diff --git a/Source/cmGeneratedFileStream.cxx b/Source/cmGeneratedFileStream.cxx
index e669f68..37a2be4 100644
--- a/Source/cmGeneratedFileStream.cxx
+++ b/Source/cmGeneratedFileStream.cxx
@@ -3,6 +3,7 @@
 #include "cmGeneratedFileStream.h"
 
 #include <cstdio>
+#include <locale>
 
 #include "cmStringAlgorithms.h"
 #include "cmSystemTools.h"
diff --git a/Source/cmGeneratorExpressionParser.h b/Source/cmGeneratorExpressionParser.h
index 63273e4..490de0a 100644
--- a/Source/cmGeneratorExpressionParser.h
+++ b/Source/cmGeneratorExpressionParser.h
@@ -7,10 +7,9 @@
 #include <memory>
 #include <vector>
 
+#include "cmGeneratorExpressionEvaluator.h"
 #include "cmGeneratorExpressionLexer.h"
 
-struct cmGeneratorExpressionEvaluator;
-
 struct cmGeneratorExpressionParser
 {
   cmGeneratorExpressionParser(std::vector<cmGeneratorExpressionToken> tokens);
diff --git a/Source/cmGeneratorTarget.cxx b/Source/cmGeneratorTarget.cxx
index cff1574..3be3697 100644
--- a/Source/cmGeneratorTarget.cxx
+++ b/Source/cmGeneratorTarget.cxx
@@ -13,6 +13,7 @@
 #include <iterator>
 #include <queue>
 #include <sstream>
+#include <type_traits>
 #include <unordered_set>
 #include <utility>
 
diff --git a/Source/cmGeneratorTarget.h b/Source/cmGeneratorTarget.h
index 753d6f3..3de9b17 100644
--- a/Source/cmGeneratorTarget.h
+++ b/Source/cmGeneratorTarget.h
@@ -17,6 +17,7 @@
 #include <cm/optional>
 
 #include "cmAlgorithms.h"
+#include "cmComputeLinkInformation.h"
 #include "cmLinkItem.h"
 #include "cmListFileCache.h"
 #include "cmPolicies.h"
@@ -24,7 +25,6 @@
 #include "cmValue.h"
 
 enum class cmBuildStep;
-class cmComputeLinkInformation;
 class cmCustomCommand;
 class cmFileSet;
 class cmGlobalGenerator;
diff --git a/Source/cmGhsMultiTargetGenerator.cxx b/Source/cmGhsMultiTargetGenerator.cxx
index a1e0650..4475d88 100644
--- a/Source/cmGhsMultiTargetGenerator.cxx
+++ b/Source/cmGhsMultiTargetGenerator.cxx
@@ -6,6 +6,7 @@
 #include <memory>
 #include <ostream>
 #include <set>
+#include <type_traits>
 #include <utility>
 #include <vector>
 
diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx
index 2ee56f1..8a8d2e0 100644
--- a/Source/cmGlobalGenerator.cxx
+++ b/Source/cmGlobalGenerator.cxx
@@ -13,6 +13,7 @@
 #include <iomanip>
 #include <iterator>
 #include <sstream>
+#include <type_traits>
 #include <utility>
 
 #include <cm/memory>
@@ -24,6 +25,8 @@
 #include "cmsys/FStream.hxx"
 #include "cmsys/RegularExpression.hxx"
 
+#include "cm_codecvt_Encoding.hxx"
+
 #include "cmAlgorithms.h"
 #include "cmCPackPropertiesGenerator.h"
 #include "cmComputeTargetDepends.h"
diff --git a/Source/cmGlobalGenerator.h b/Source/cmGlobalGenerator.h
index 0815e31..563ebb6 100644
--- a/Source/cmGlobalGenerator.h
+++ b/Source/cmGlobalGenerator.h
@@ -19,18 +19,16 @@
 #include <cmext/algorithm>
 #include <cmext/string_view>
 
-#include "cm_codecvt_Encoding.hxx"
-
 #include "cmBuildOptions.h"
 #include "cmCustomCommandLines.h"
 #include "cmDuration.h"
 #include "cmExportSet.h"
+#include "cmLocalGenerator.h"
 #include "cmStateSnapshot.h"
 #include "cmStringAlgorithms.h"
 #include "cmSystemTools.h"
 #include "cmTarget.h"
 #include "cmTargetDepend.h"
-#include "cmTransformDepfile.h"
 #include "cmValue.h"
 
 #if !defined(CMAKE_BOOTSTRAP)
@@ -41,13 +39,15 @@
 
 #define CMAKE_DIRECTORY_ID_SEP "::@"
 
+enum class cmDepfileFormat;
+enum class codecvt_Encoding;
+
 class cmDirectoryId;
 class cmExportBuildFileGenerator;
 class cmExternalMakefileProjectGenerator;
 class cmGeneratorTarget;
 class cmInstallRuntimeDependencySet;
 class cmLinkLineComputer;
-class cmLocalGenerator;
 class cmMakefile;
 class cmOutputConverter;
 class cmQtAutoGenGlobalInitializer;
diff --git a/Source/cmGlobalNinjaGenerator.cxx b/Source/cmGlobalNinjaGenerator.cxx
index 71084cc..9ca1b2e 100644
--- a/Source/cmGlobalNinjaGenerator.cxx
+++ b/Source/cmGlobalNinjaGenerator.cxx
@@ -8,6 +8,7 @@
 #include <cstdio>
 #include <functional>
 #include <sstream>
+#include <type_traits>
 #include <utility>
 
 #include <cm/iterator>
diff --git a/Source/cmInstallCxxModuleBmiGenerator.cxx b/Source/cmInstallCxxModuleBmiGenerator.cxx
index 1ef1eaa..111691e 100644
--- a/Source/cmInstallCxxModuleBmiGenerator.cxx
+++ b/Source/cmInstallCxxModuleBmiGenerator.cxx
@@ -11,6 +11,7 @@
 #include "cmListFileCache.h"
 #include "cmLocalGenerator.h"
 #include "cmOutputConverter.h"
+#include "cmScriptGenerator.h"
 #include "cmStringAlgorithms.h"
 
 cmInstallCxxModuleBmiGenerator::cmInstallCxxModuleBmiGenerator(
diff --git a/Source/cmInstallCxxModuleBmiGenerator.h b/Source/cmInstallCxxModuleBmiGenerator.h
index 21edb2e..23ed02e 100644
--- a/Source/cmInstallCxxModuleBmiGenerator.h
+++ b/Source/cmInstallCxxModuleBmiGenerator.h
@@ -9,7 +9,6 @@
 #include <vector>
 
 #include "cmInstallGenerator.h"
-#include "cmScriptGenerator.h"
 
 class cmGeneratorTarget;
 class cmListFileBacktrace;
diff --git a/Source/cmInstallDirectoryGenerator.h b/Source/cmInstallDirectoryGenerator.h
index 7deb9ba..96a924f 100644
--- a/Source/cmInstallDirectoryGenerator.h
+++ b/Source/cmInstallDirectoryGenerator.h
@@ -9,7 +9,6 @@
 #include <vector>
 
 #include "cmInstallGenerator.h"
-#include "cmScriptGenerator.h"
 
 class cmListFileBacktrace;
 class cmLocalGenerator;
diff --git a/Source/cmInstallExportGenerator.cxx b/Source/cmInstallExportGenerator.cxx
index 1d81b0b..32196d3 100644
--- a/Source/cmInstallExportGenerator.cxx
+++ b/Source/cmInstallExportGenerator.cxx
@@ -16,6 +16,7 @@
 #include "cmInstallType.h"
 #include "cmListFileCache.h"
 #include "cmLocalGenerator.h"
+#include "cmScriptGenerator.h"
 #include "cmStringAlgorithms.h"
 #include "cmSystemTools.h"
 
diff --git a/Source/cmInstallExportGenerator.h b/Source/cmInstallExportGenerator.h
index 346ca67..f2d4a05 100644
--- a/Source/cmInstallExportGenerator.h
+++ b/Source/cmInstallExportGenerator.h
@@ -10,7 +10,6 @@
 #include <vector>
 
 #include "cmInstallGenerator.h"
-#include "cmScriptGenerator.h"
 
 class cmExportInstallFileGenerator;
 class cmExportSet;
diff --git a/Source/cmInstallFileSetGenerator.h b/Source/cmInstallFileSetGenerator.h
index 56341d4..708cee6 100644
--- a/Source/cmInstallFileSetGenerator.h
+++ b/Source/cmInstallFileSetGenerator.h
@@ -8,7 +8,6 @@
 #include <vector>
 
 #include "cmInstallGenerator.h"
-#include "cmScriptGenerator.h"
 
 class cmGeneratorTarget;
 class cmFileSet;
diff --git a/Source/cmInstallFilesGenerator.h b/Source/cmInstallFilesGenerator.h
index 53076b3..874bde1 100644
--- a/Source/cmInstallFilesGenerator.h
+++ b/Source/cmInstallFilesGenerator.h
@@ -9,7 +9,6 @@
 #include <vector>
 
 #include "cmInstallGenerator.h"
-#include "cmScriptGenerator.h"
 
 class cmListFileBacktrace;
 class cmLocalGenerator;
diff --git a/Source/cmInstallGetRuntimeDependenciesGenerator.cxx b/Source/cmInstallGetRuntimeDependenciesGenerator.cxx
index 3e493bc..3f8a103 100644
--- a/Source/cmInstallGetRuntimeDependenciesGenerator.cxx
+++ b/Source/cmInstallGetRuntimeDependenciesGenerator.cxx
@@ -19,6 +19,7 @@
 #include "cmLocalGenerator.h"
 #include "cmMakefile.h"
 #include "cmOutputConverter.h"
+#include "cmScriptGenerator.h"
 #include "cmStringAlgorithms.h"
 
 namespace {
diff --git a/Source/cmInstallGetRuntimeDependenciesGenerator.h b/Source/cmInstallGetRuntimeDependenciesGenerator.h
index a2d6593..8e4e8cb 100644
--- a/Source/cmInstallGetRuntimeDependenciesGenerator.h
+++ b/Source/cmInstallGetRuntimeDependenciesGenerator.h
@@ -7,7 +7,6 @@
 #include <vector>
 
 #include "cmInstallGenerator.h"
-#include "cmScriptGenerator.h"
 
 class cmListFileBacktrace;
 class cmLocalGenerator;
diff --git a/Source/cmInstallImportedRuntimeArtifactsGenerator.h b/Source/cmInstallImportedRuntimeArtifactsGenerator.h
index 9e045ee..84d3fee 100644
--- a/Source/cmInstallImportedRuntimeArtifactsGenerator.h
+++ b/Source/cmInstallImportedRuntimeArtifactsGenerator.h
@@ -8,7 +8,6 @@
 
 #include "cmInstallGenerator.h"
 #include "cmListFileCache.h"
-#include "cmScriptGenerator.h"
 
 class cmGeneratorTarget;
 class cmLocalGenerator;
diff --git a/Source/cmInstallRuntimeDependencySetGenerator.h b/Source/cmInstallRuntimeDependencySetGenerator.h
index 680361b..1a3c1e4 100644
--- a/Source/cmInstallRuntimeDependencySetGenerator.h
+++ b/Source/cmInstallRuntimeDependencySetGenerator.h
@@ -7,7 +7,6 @@
 #include <vector>
 
 #include "cmInstallGenerator.h"
-#include "cmScriptGenerator.h"
 
 class cmInstallRuntimeDependencySet;
 class cmListFileBacktrace;
diff --git a/Source/cmInstallScriptGenerator.h b/Source/cmInstallScriptGenerator.h
index c3a7058..012a4a3 100644
--- a/Source/cmInstallScriptGenerator.h
+++ b/Source/cmInstallScriptGenerator.h
@@ -9,7 +9,6 @@
 
 #include "cmInstallGenerator.h"
 #include "cmListFileCache.h"
-#include "cmScriptGenerator.h"
 
 class cmLocalGenerator;
 
diff --git a/Source/cmInstallTargetGenerator.cxx b/Source/cmInstallTargetGenerator.cxx
index 3ac100d..e7998ea 100644
--- a/Source/cmInstallTargetGenerator.cxx
+++ b/Source/cmInstallTargetGenerator.cxx
@@ -23,6 +23,7 @@
 #include "cmMessageType.h"
 #include "cmOutputConverter.h"
 #include "cmPolicies.h"
+#include "cmScriptGenerator.h"
 #include "cmStateTypes.h"
 #include "cmStringAlgorithms.h"
 #include "cmSystemTools.h"
diff --git a/Source/cmInstallTargetGenerator.h b/Source/cmInstallTargetGenerator.h
index 2f41163..11a3264 100644
--- a/Source/cmInstallTargetGenerator.h
+++ b/Source/cmInstallTargetGenerator.h
@@ -11,7 +11,6 @@
 #include "cmInstallGenerator.h"
 #include "cmInstallType.h"
 #include "cmListFileCache.h"
-#include "cmScriptGenerator.h"
 
 class cmGeneratorTarget;
 class cmLocalGenerator;
diff --git a/Source/cmInstalledFile.h b/Source/cmInstalledFile.h
index 373c349..e0d7647 100644
--- a/Source/cmInstalledFile.h
+++ b/Source/cmInstalledFile.h
@@ -9,7 +9,8 @@
 #include <string>
 #include <vector>
 
-class cmCompiledGeneratorExpression;
+#include "cmGeneratorExpression.h"
+
 class cmMakefile;
 
 /** \class cmInstalledFile
diff --git a/Source/cmJSONState.cxx b/Source/cmJSONState.cxx
index 92bde77..1abdaa6 100644
--- a/Source/cmJSONState.cxx
+++ b/Source/cmJSONState.cxx
@@ -3,10 +3,9 @@
 
 #include "cmJSONState.h"
 
+#include <iterator>
 #include <sstream>
 
-#include <cm/memory>
-
 #include <cm3p/json/reader.h>
 #include <cm3p/json/value.h>
 
diff --git a/Source/cmJSONState.h b/Source/cmJSONState.h
index 4984c81..9071268 100644
--- a/Source/cmJSONState.h
+++ b/Source/cmJSONState.h
@@ -9,7 +9,6 @@
 #include <utility>
 #include <vector>
 
-#include "cmJSONState.h"
 #include "cmStringAlgorithms.h"
 
 namespace Json {
diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx
index acefedc..186b856 100644
--- a/Source/cmLocalGenerator.cxx
+++ b/Source/cmLocalGenerator.cxx
@@ -10,6 +10,7 @@
 #include <initializer_list>
 #include <iterator>
 #include <sstream>
+#include <type_traits>
 #include <unordered_set>
 #include <utility>
 #include <vector>
@@ -40,6 +41,7 @@
 #include "cmLinkLineDeviceComputer.h"
 #include "cmList.h"
 #include "cmMakefile.h"
+#include "cmMessageType.h"
 #include "cmRange.h"
 #include "cmRulePlaceholderExpander.h"
 #include "cmSourceFile.h"
diff --git a/Source/cmLocalGenerator.h b/Source/cmLocalGenerator.h
index 7734cbe..3d2e5f6 100644
--- a/Source/cmLocalGenerator.h
+++ b/Source/cmLocalGenerator.h
@@ -19,8 +19,9 @@
 #include <cm3p/kwiml/int.h>
 
 #include "cmCustomCommandTypes.h"
+#include "cmGeneratorTarget.h"
 #include "cmListFileCache.h"
-#include "cmMessageType.h"
+#include "cmMessageType.h" // IWYU pragma: keep
 #include "cmOutputConverter.h"
 #include "cmPolicies.h"
 #include "cmStateSnapshot.h"
@@ -31,7 +32,6 @@ class cmComputeLinkInformation;
 class cmCustomCommand;
 class cmCustomCommandGenerator;
 class cmCustomCommandLines;
-class cmGeneratorTarget;
 class cmGlobalGenerator;
 class cmImplicitDependsList;
 class cmLinkLineComputer;
diff --git a/Source/cmLocalNinjaGenerator.cxx b/Source/cmLocalNinjaGenerator.cxx
index 4b0604c..2316fb3 100644
--- a/Source/cmLocalNinjaGenerator.cxx
+++ b/Source/cmLocalNinjaGenerator.cxx
@@ -14,6 +14,8 @@
 
 #include "cmsys/FStream.hxx"
 
+#include "cm_codecvt_Encoding.hxx"
+
 #include "cmCryptoHash.h"
 #include "cmCustomCommand.h"
 #include "cmCustomCommandGenerator.h"
diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx
index 16a5188..a96a36d 100644
--- a/Source/cmMakefile.cxx
+++ b/Source/cmMakefile.cxx
@@ -32,6 +32,7 @@
 #include "cmCommandArgumentParserHelper.h"
 #include "cmCustomCommand.h"
 #include "cmCustomCommandLines.h"
+#include "cmCustomCommandTypes.h"
 #include "cmExecutionStatus.h"
 #include "cmExpandedCommandArgument.h" // IWYU pragma: keep
 #include "cmExportBuildFileGenerator.h"
diff --git a/Source/cmMakefile.h b/Source/cmMakefile.h
index 79a98cd..b81af2f 100644
--- a/Source/cmMakefile.h
+++ b/Source/cmMakefile.h
@@ -25,9 +25,9 @@
 
 #include "cmAlgorithms.h"
 #include "cmCustomCommand.h"
-#include "cmCustomCommandTypes.h"
+#include "cmFunctionBlocker.h"
 #include "cmListFileCache.h"
-#include "cmMessageType.h"
+#include "cmMessageType.h" // IWYU pragma: keep
 #include "cmNewLineStyle.h"
 #include "cmPolicies.h"
 #include "cmSourceFileLocationKind.h"
@@ -43,12 +43,14 @@
 #  include "cmSourceGroup.h"
 #endif
 
+enum class cmCustomCommandType;
+enum class cmObjectLibraryCommands;
+
 class cmCompiledGeneratorExpression;
 class cmCustomCommandLines;
 class cmExecutionStatus;
 class cmExpandedCommandArgument;
 class cmExportBuildFileGenerator;
-class cmFunctionBlocker;
 class cmGeneratorExpressionEvaluationFile;
 class cmGlobalGenerator;
 class cmInstallGenerator;
diff --git a/Source/cmMakefileProfilingData.cxx b/Source/cmMakefileProfilingData.cxx
index e903ae1..9387582 100644
--- a/Source/cmMakefileProfilingData.cxx
+++ b/Source/cmMakefileProfilingData.cxx
@@ -4,7 +4,6 @@
 
 #include <chrono>
 #include <stdexcept>
-#include <type_traits>
 #include <utility>
 
 #include <cm3p/json/value.h>
diff --git a/Source/cmMessenger.cxx b/Source/cmMessenger.cxx
index 4e975d1..b4ea71c 100644
--- a/Source/cmMessenger.cxx
+++ b/Source/cmMessenger.cxx
@@ -4,6 +4,7 @@
 
 #include "cmDocumentationFormatter.h"
 #include "cmMessageMetadata.h"
+#include "cmMessageType.h"
 #include "cmStringAlgorithms.h"
 #include "cmSystemTools.h"
 
diff --git a/Source/cmMessenger.h b/Source/cmMessenger.h
index bdefb00..d9462d4 100644
--- a/Source/cmMessenger.h
+++ b/Source/cmMessenger.h
@@ -11,7 +11,7 @@
 #include <cm/optional>
 
 #include "cmListFileCache.h"
-#include "cmMessageType.h"
+#include "cmMessageType.h" // IWYU pragma: keep
 
 #ifdef CMake_ENABLE_DEBUGGER
 namespace cmDebugger {
diff --git a/Source/cmNinjaNormalTargetGenerator.cxx b/Source/cmNinjaNormalTargetGenerator.cxx
index a5280fb..e41a0c3 100644
--- a/Source/cmNinjaNormalTargetGenerator.cxx
+++ b/Source/cmNinjaNormalTargetGenerator.cxx
@@ -5,7 +5,6 @@
 #include <algorithm>
 #include <cassert>
 #include <iterator>
-#include <map>
 #include <set>
 #include <sstream>
 #include <unordered_set>
diff --git a/Source/cmNinjaTargetGenerator.cxx b/Source/cmNinjaTargetGenerator.cxx
index d712d71..6e74d9a 100644
--- a/Source/cmNinjaTargetGenerator.cxx
+++ b/Source/cmNinjaTargetGenerator.cxx
@@ -9,7 +9,6 @@
 #include <iterator>
 #include <map>
 #include <ostream>
-#include <type_traits>
 #include <unordered_map>
 #include <unordered_set>
 #include <utility>
diff --git a/Source/cmOrderDirectories.cxx b/Source/cmOrderDirectories.cxx
index 37c4afc..a46c87b 100644
--- a/Source/cmOrderDirectories.cxx
+++ b/Source/cmOrderDirectories.cxx
@@ -6,6 +6,7 @@
 #include <cassert>
 #include <functional>
 #include <sstream>
+#include <type_traits>
 #include <vector>
 
 #include <cm/memory>
diff --git a/Source/cmOutputConverter.cxx b/Source/cmOutputConverter.cxx
index 02981ae..9c30d74 100644
--- a/Source/cmOutputConverter.cxx
+++ b/Source/cmOutputConverter.cxx
@@ -6,6 +6,7 @@
 #include <cassert>
 #include <cctype>
 #include <set>
+#include <vector>
 
 #ifdef _WIN32
 #  include <unordered_map>
diff --git a/Source/cmOutputRequiredFilesCommand.cxx b/Source/cmOutputRequiredFilesCommand.cxx
index f147ed2..6a9a74c 100644
--- a/Source/cmOutputRequiredFilesCommand.cxx
+++ b/Source/cmOutputRequiredFilesCommand.cxx
@@ -5,6 +5,7 @@
 #include <cstdio>
 #include <map>
 #include <set>
+#include <unordered_map>
 #include <utility>
 
 #include <cm/memory>
diff --git a/Source/cmProjectCommand.cxx b/Source/cmProjectCommand.cxx
index 4d1ccfe..3aef299 100644
--- a/Source/cmProjectCommand.cxx
+++ b/Source/cmProjectCommand.cxx
@@ -3,7 +3,6 @@
 #include "cmProjectCommand.h"
 
 #include <array>
-#include <cstddef>
 #include <cstdio>
 #include <functional>
 #include <limits>
diff --git a/Source/cmQtAutoGenerator.cxx b/Source/cmQtAutoGenerator.cxx
index e5c7bda..c048312 100644
--- a/Source/cmQtAutoGenerator.cxx
+++ b/Source/cmQtAutoGenerator.cxx
@@ -2,6 +2,8 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmQtAutoGenerator.h"
 
+#include <iterator>
+
 #include <cm3p/json/reader.h>
 
 #include "cmsys/FStream.hxx"
diff --git a/Source/cmQtAutoMocUic.cxx b/Source/cmQtAutoMocUic.cxx
index a101a81..429b737 100644
--- a/Source/cmQtAutoMocUic.cxx
+++ b/Source/cmQtAutoMocUic.cxx
@@ -27,6 +27,7 @@
 #include "cmCryptoHash.h"
 #include "cmFileTime.h"
 #include "cmGccDepfileReader.h"
+#include "cmGccDepfileReaderTypes.h"
 #include "cmGeneratedFileStream.h"
 #include "cmQtAutoGen.h"
 #include "cmQtAutoGenerator.h"
diff --git a/Source/cmQtAutoRcc.cxx b/Source/cmQtAutoRcc.cxx
index 414a692..e288645 100644
--- a/Source/cmQtAutoRcc.cxx
+++ b/Source/cmQtAutoRcc.cxx
@@ -14,7 +14,6 @@
 #include "cmFileLockResult.h"
 #include "cmFileTime.h"
 #include "cmProcessOutput.h"
-#include "cmQtAutoGen.h"
 #include "cmQtAutoGenerator.h"
 #include "cmStringAlgorithms.h"
 #include "cmSystemTools.h"
diff --git a/Source/cmState.h b/Source/cmState.h
index 1ebd79a..b79f3e6 100644
--- a/Source/cmState.h
+++ b/Source/cmState.h
@@ -8,7 +8,6 @@
 #include <memory>
 #include <set>
 #include <string>
-#include <type_traits>
 #include <unordered_map>
 #include <unordered_set>
 #include <utility>
diff --git a/Source/cmStateSnapshot.cxx b/Source/cmStateSnapshot.cxx
index e230702..8217a9c 100644
--- a/Source/cmStateSnapshot.cxx
+++ b/Source/cmStateSnapshot.cxx
@@ -10,6 +10,7 @@
 #include <cm/iterator>
 
 #include "cmDefinitions.h"
+#include "cmLinkedTree.h"
 #include "cmListFileCache.h"
 #include "cmPropertyMap.h"
 #include "cmState.h"
diff --git a/Source/cmStateSnapshot.h b/Source/cmStateSnapshot.h
index a61ec83..1796d76 100644
--- a/Source/cmStateSnapshot.h
+++ b/Source/cmStateSnapshot.h
@@ -10,7 +10,6 @@
 
 #include <cm/string_view>
 
-#include "cmLinkedTree.h"
 #include "cmPolicies.h"
 #include "cmStateTypes.h"
 #include "cmValue.h"
diff --git a/Source/cmString.hxx b/Source/cmString.hxx
index f1e462b..86b21c8 100644
--- a/Source/cmString.hxx
+++ b/Source/cmString.hxx
@@ -6,7 +6,6 @@
 
 #include <algorithm>
 #include <cstddef>
-#include <functional>
 #include <initializer_list>
 #include <memory>
 #include <ostream>
diff --git a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx
index f014de9..bf3fcd9 100644
--- a/Source/cmSystemTools.cxx
+++ b/Source/cmSystemTools.cxx
@@ -529,7 +529,7 @@ bool cmSystemTools::SplitProgramFromArgs(std::string const& command,
   return !in_single && !in_escape && !in_double;
 }
 
-size_t cmSystemTools::CalculateCommandLineLengthLimit()
+std::size_t cmSystemTools::CalculateCommandLineLengthLimit()
 {
   size_t sz =
 #ifdef _WIN32
diff --git a/Source/cmSystemTools.h b/Source/cmSystemTools.h
index 6592f84..27d788e 100644
--- a/Source/cmSystemTools.h
+++ b/Source/cmSystemTools.h
@@ -305,7 +305,7 @@ public:
     std::vector<std::string>::const_iterator argBeg,
     std::vector<std::string>::const_iterator argEnd);
 
-  static size_t CalculateCommandLineLengthLimit();
+  static std::size_t CalculateCommandLineLengthLimit();
 
   static void DisableRunCommandOutput() { s_DisableRunCommandOutput = true; }
   static void EnableRunCommandOutput() { s_DisableRunCommandOutput = false; }
diff --git a/Source/cmTarget.h b/Source/cmTarget.h
index 2d12a70..7c10295 100644
--- a/Source/cmTarget.h
+++ b/Source/cmTarget.h
@@ -15,7 +15,7 @@
 #include <cm/optional>
 
 #include "cmAlgorithms.h"
-#include "cmFileSet.h"
+#include "cmListFileCache.h"
 #include "cmPolicies.h"
 #include "cmStateTypes.h"
 #include "cmStringAlgorithms.h"
@@ -23,20 +23,16 @@
 #include "cmValue.h"
 
 class cmCustomCommand;
+class cmFileSet;
 class cmGlobalGenerator;
 class cmInstallTargetGenerator;
-class cmListFileBacktrace;
-class cmListFileContext;
 class cmMakefile;
 class cmPropertyMap;
 class cmSourceFile;
 class cmTargetExport;
 class cmTargetInternals;
 
-template <typename T>
-class BT;
-template <typename T>
-class BTs;
+enum class cmFileSetVisibility;
 
 /** \class cmTarget
  * \brief Represent a library or executable target loaded from a makefile.
diff --git a/Source/cmTargetLinkLibrariesCommand.cxx b/Source/cmTargetLinkLibrariesCommand.cxx
index 03d7c9f..bfd3972 100644
--- a/Source/cmTargetLinkLibrariesCommand.cxx
+++ b/Source/cmTargetLinkLibrariesCommand.cxx
@@ -3,6 +3,7 @@
 #include "cmTargetLinkLibrariesCommand.h"
 
 #include <cassert>
+#include <cstddef>
 #include <memory>
 #include <sstream>
 #include <unordered_set>
diff --git a/Source/cmTransformDepfile.cxx b/Source/cmTransformDepfile.cxx
index 12c121f..914172b 100644
--- a/Source/cmTransformDepfile.cxx
+++ b/Source/cmTransformDepfile.cxx
@@ -5,7 +5,6 @@
 #include <algorithm>
 #include <functional>
 #include <string>
-#include <type_traits>
 #include <utility>
 #include <vector>
 
diff --git a/Source/cmUVHandlePtr.cxx b/Source/cmUVHandlePtr.cxx
index e05b2d52..34e6a70 100644
--- a/Source/cmUVHandlePtr.cxx
+++ b/Source/cmUVHandlePtr.cxx
@@ -11,6 +11,9 @@
 
 namespace cm {
 
+template <typename T>
+struct uv_handle_deleter;
+
 struct uv_loop_deleter
 {
   void operator()(uv_loop_t* loop) const;
diff --git a/Source/cmUVProcessChain.cxx b/Source/cmUVProcessChain.cxx
index 119851c..655e52a 100644
--- a/Source/cmUVProcessChain.cxx
+++ b/Source/cmUVProcessChain.cxx
@@ -1,14 +1,11 @@
 /* Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
    file Copyright.txt or https://cmake.org/licensing for details.  */
-#include "cmConfigure.h"
-
 #include "cmUVProcessChain.h"
 
 #include <array>
 #include <csignal>
 #include <cstdio>
 #include <istream> // IWYU pragma: keep
-#include <type_traits>
 #include <utility>
 
 #include <cm/memory>
diff --git a/Source/cmUVProcessChain.h b/Source/cmUVProcessChain.h
index 5ba1bf9..0f37e7d 100644
--- a/Source/cmUVProcessChain.h
+++ b/Source/cmUVProcessChain.h
@@ -2,6 +2,8 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #pragma once
 
+#include "cmConfigure.h" // IWYU pragma: keep
+
 #include <array>
 #include <cstddef> // IWYU pragma: keep
 #include <cstdint>
diff --git a/Source/cmValue.h b/Source/cmValue.h
index f96d2f5..c924dda 100644
--- a/Source/cmValue.h
+++ b/Source/cmValue.h
@@ -4,7 +4,6 @@
 
 #include "cmConfigure.h" // IWYU pragma: keep
 
-#include <cstddef>
 #include <iosfwd>
 #include <string>
 
diff --git a/Source/cmVisualStudio10TargetGenerator.cxx b/Source/cmVisualStudio10TargetGenerator.cxx
index 4af3ebc..90de51a 100644
--- a/Source/cmVisualStudio10TargetGenerator.cxx
+++ b/Source/cmVisualStudio10TargetGenerator.cxx
@@ -24,6 +24,7 @@
 #include "cmComputeLinkInformation.h"
 #include "cmCustomCommand.h"
 #include "cmCustomCommandGenerator.h"
+#include "cmFileSet.h"
 #include "cmGeneratedFileStream.h"
 #include "cmGeneratorExpression.h"
 #include "cmGeneratorTarget.h"
diff --git a/Source/cmWindowsRegistry.cxx b/Source/cmWindowsRegistry.cxx
index 6dba863..a4a1ad6 100644
--- a/Source/cmWindowsRegistry.cxx
+++ b/Source/cmWindowsRegistry.cxx
@@ -6,7 +6,6 @@
 
 #include <cctype>
 #include <cstddef>
-#include <functional>
 #include <type_traits>
 #include <unordered_map>
 #include <utility>
diff --git a/Source/cmWindowsRegistry.h b/Source/cmWindowsRegistry.h
index f4a0e7b..42179ed 100644
--- a/Source/cmWindowsRegistry.h
+++ b/Source/cmWindowsRegistry.h
@@ -5,6 +5,7 @@
 #include "cmConfigure.h" // IWYU pragma: keep
 
 #include <cstdint> // IWYU pragma: keep
+#include <initializer_list>
 #include <string>
 #include <vector>
 
diff --git a/Source/cmXcFramework.cxx b/Source/cmXcFramework.cxx
index c91e7f2..6435ef9 100644
--- a/Source/cmXcFramework.cxx
+++ b/Source/cmXcFramework.cxx
@@ -2,7 +2,6 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmXcFramework.h"
 
-#include <functional>
 #include <string>
 
 #include <cmext/string_view>
diff --git a/Source/cm_codecvt.cxx b/Source/cm_codecvt.cxx
index 7b3349b..60faced 100644
--- a/Source/cm_codecvt.cxx
+++ b/Source/cm_codecvt.cxx
@@ -13,6 +13,8 @@
 #  include "cm_utf8.h"
 #endif
 
+#include "cm_codecvt_Encoding.hxx"
+
 codecvt::codecvt(codecvt_Encoding e)
 #if defined(_WIN32)
   : m_codepage(0)
diff --git a/Source/cm_codecvt.hxx b/Source/cm_codecvt.hxx
index eb98e98..c25f9ef 100644
--- a/Source/cm_codecvt.hxx
+++ b/Source/cm_codecvt.hxx
@@ -7,7 +7,7 @@
 #include <cwchar>
 #include <locale>
 
-#include "cm_codecvt_Encoding.hxx"
+enum class codecvt_Encoding;
 
 class codecvt : public std::codecvt<char, char, mbstate_t>
 {
diff --git a/Source/cmake.h b/Source/cmake.h
index 156d061..58f90c9 100644
--- a/Source/cmake.h
+++ b/Source/cmake.h
@@ -17,8 +17,9 @@
 #include <cm/string_view>
 #include <cmext/string_view>
 
-#include "cmDocumentationEntry.h"
+#include "cmDocumentationEntry.h" // IWYU pragma: keep
 #include "cmGeneratedFileStream.h"
+#include "cmGlobalGeneratorFactory.h"
 #include "cmInstalledFile.h"
 #include "cmListFileCache.h"
 #include "cmMessageType.h"
@@ -48,7 +49,6 @@ class cmExternalMakefileProjectGeneratorFactory;
 class cmFileAPI;
 class cmFileTimeCache;
 class cmGlobalGenerator;
-class cmGlobalGeneratorFactory;
 class cmMakefile;
 class cmMessenger;
 class cmVariableWatch;
diff --git a/Tests/CMakeLib/testCMExtAlgorithm.cxx b/Tests/CMakeLib/testCMExtAlgorithm.cxx
index c909f24..53b0302 100644
--- a/Tests/CMakeLib/testCMExtAlgorithm.cxx
+++ b/Tests/CMakeLib/testCMExtAlgorithm.cxx
@@ -1,6 +1,5 @@
 #include <iostream>
 #include <memory>
-#include <type_traits>
 #include <utility>
 #include <vector>
 
diff --git a/Tests/CMakeLib/testEncoding.cxx b/Tests/CMakeLib/testEncoding.cxx
index 4936898..460d845 100644
--- a/Tests/CMakeLib/testEncoding.cxx
+++ b/Tests/CMakeLib/testEncoding.cxx
@@ -1,4 +1,5 @@
 #include <iostream>
+#include <iterator>
 #include <string>
 
 #include "cmsys/FStream.hxx"
diff --git a/Tests/CMakeLib/testGccDepfileReader.cxx b/Tests/CMakeLib/testGccDepfileReader.cxx
index d46e8f3..fb19c14 100644
--- a/Tests/CMakeLib/testGccDepfileReader.cxx
+++ b/Tests/CMakeLib/testGccDepfileReader.cxx
@@ -1,6 +1,5 @@
 #include <cstddef> // IWYU pragma: keep
 #include <iostream>
-#include <memory>
 #include <string>
 #include <utility>
 #include <vector>
diff --git a/Tests/CMakeLib/testList.cxx b/Tests/CMakeLib/testList.cxx
index f6ec720..3e99ae8 100644
--- a/Tests/CMakeLib/testList.cxx
+++ b/Tests/CMakeLib/testList.cxx
@@ -4,7 +4,6 @@
 #include <iostream>
 #include <stdexcept>
 #include <string>
-#include <type_traits>
 #include <utility>
 #include <vector>
 
diff --git a/Tests/CMakeLib/testOptional.cxx b/Tests/CMakeLib/testOptional.cxx
index 785f031..933ab70 100644
--- a/Tests/CMakeLib/testOptional.cxx
+++ b/Tests/CMakeLib/testOptional.cxx
@@ -1,5 +1,4 @@
 #include <iostream>
-#include <type_traits>
 #include <vector>
 
 #include <cm/optional>
diff --git a/Tests/CMakeLib/testString.cxx b/Tests/CMakeLib/testString.cxx
index af34a2f..3509266 100644
--- a/Tests/CMakeLib/testString.cxx
+++ b/Tests/CMakeLib/testString.cxx
@@ -1,14 +1,12 @@
 /* Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
    file Copyright.txt or https://cmake.org/licensing for details.  */
 
-#include <cstddef> // IWYU pragma: keep
 #include <cstring>
 #include <iostream>
 #include <iterator>
 #include <sstream>
 #include <stdexcept>
 #include <string>
-#include <type_traits>
 #include <utility>
 
 #include <cm/string_view>
diff --git a/Tests/CMakeLib/testUVProcessChain.cxx b/Tests/CMakeLib/testUVProcessChain.cxx
index 22373ef..fc84bb0 100644
--- a/Tests/CMakeLib/testUVProcessChain.cxx
+++ b/Tests/CMakeLib/testUVProcessChain.cxx
@@ -5,7 +5,6 @@
 #include <iostream>
 #include <sstream>
 #include <string>
-#include <type_traits>
 #include <utility>
 #include <vector>
 
diff --git a/Utilities/IWYU/mapping.imp b/Utilities/IWYU/mapping.imp
index 0f03c33..e45970d 100644
--- a/Utilities/IWYU/mapping.imp
+++ b/Utilities/IWYU/mapping.imp
@@ -1,4 +1,6 @@
 [
+  # https://github.com/include-what-you-use/include-what-you-use/blob/master/docs/IWYUMappings.md
+
   # C++ alternatives to C standard headers
   { include: [ "<assert.h>", public, "<cassert>", public ] },
   { include: [ "<complex.h>", public, "<ccomplex>", public ] },
@@ -30,7 +32,7 @@
   { include: [ "<bits/std_abs.h>", private, "<stdlib.h>", public ] },
   { include: [ "<bits/stdint-intn.h>", private, "<stdint.h>", public ] },
   { include: [ "<bits/stdint-uintn.h>", private, "<stdint.h>", public ] },
-  { include: [ "<bits/string_view.tcc>", private, "<string_view>", private ] },
+  { include: [ "<bits/string_view.tcc>", private, "<string_view>", public ] },
   { include: [ "<bits/time.h>", private, "<time.h>", public ] },
   { include: [ "<bits/types/clock_t.h>", private, "<time.h>", public ] },
   { include: [ "<bits/types/mbstate_t.h>", private, "<wchar.h>", public ] },
@@ -41,70 +43,16 @@
 
   # HACK: check whether this can be removed with next iwyu release.
   { symbol: [ "__GLIBC__", private, "<stdlib.h>", public ] },
-  { symbol: [ "_Noreturn", private, "<stdlib.h>", public ] },
 
   # HACK: iwyu wrongly thinks that including <iosfwd> is sufficient.
   { symbol: [ "std::stringstream", private, "<sstream>", public ] },
   { symbol: [ "std::istringstream", private, "<sstream>", public ] },
   { symbol: [ "std::ostringstream", private, "<sstream>", public ] },
 
-  # HACK: iwyu suggests <ext/alloc_traits.h> and <memory> each time vector[] is used.
-  # https://github.com/include-what-you-use/include-what-you-use/issues/166
-  { include: [ "<ext/alloc_traits.h>", private, "<vector>", public ] },
-  { symbol: [ "std::allocator_traits<std::allocator<cmFileLock> >::value_type", private, "<vector>", public ] },
-  { symbol: [ "std::allocator_traits<std::allocator<cmFileLockPool::ScopePool> >::value_type", private, "<vector>", public ] },
-  { symbol: [ "std::allocator_traits<std::allocator<cmComputeComponentGraph::TarjanEntry> >::value_type", private, "<vector>", public ] },
-  { symbol: [ "std::allocator_traits<std::allocator<cmFortranFile> >::value_type", private, "<vector>", public ] },
-  { symbol: [ "std::allocator_traits<std::allocator<cmGraphEdgeList> >::value_type", private, "<vector>", public ] },
-  { symbol: [ "std::allocator_traits<std::allocator<cmOrderDirectories::ConflictList> >::value_type", private, "<vector>", public ] },
-  { symbol: [ "std::allocator_traits<std::allocator<cmStateSnapshot> >::value_type", private, "<vector>", public ] },
-  { symbol: [ "std::allocator_traits<std::allocator<std::basic_string<char> > >::value_type", private, "<vector>", public ] },
-  { symbol: [ "std::allocator_traits<std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_type", private, "<vector>", public ] },
-  { symbol: [ "std::allocator_traits<std::allocator<std::vector<std::basic_string<char>, std::allocator<std::basic_string<char> > > > >::value_type", private, "<vector>", public ] },
-  { symbol: [ "std::allocator_traits<std::allocator<std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >::value_type", private, "<vector>", public ] },
-  { symbol: [ "std::allocator_traits<std::allocator<uv_stdio_container_s> >::value_type", private, "<vector>", public ] },
-
-  # TODO: enable this block and remove some <utility> includes?
-  #{ symbol: [ "std::pair", private, "<utility>", public ] },
-  #{ symbol: [ "std::pair", private, "<map>", public ] },
-  #{ symbol: [ "std::pair", private, "<set>", public ] },
-
-  # HACK: iwyu wrongly thinks that <system_error> is needed for std::hash
-  { symbol: [ "std::hash", private, "<functional>", public ] },
-
-  # HACK: iwyu thinks we use a libstdc++ private type
-  { symbol: [ "__gnu_cxx::size_t", private, "<cstddef>", public ] },
-
-  # __decay_and_strip is used internally in the C++11 standard library.
-  # IWYU does not classify it as internal and suggests to add <type_traits>.
-  # To ignore it, we simply map it to a file that is included anyway.
-  # Use 'CMake_IWYU_VERBOSE' to see the fully qualified names that need this.
-  # TODO: Can this be simplified with an @-expression?
-  #{ symbol: [ "@std::__decay_and_strip<.*>::__type", private, "\"cmConfigure.h\"", public ] },
-  { symbol: [ "std::__decay_and_strip<int>::__type", private, "\"cmConfigure.h\"", public ] },
-  { symbol: [ "std::__decay_and_strip<bool>::__type", private, "\"cmConfigure.h\"", public ] },
-  { symbol: [ "std::__decay_and_strip<char const (&)[1]>::__type", private, "\"cmConfigure.h\"", public ] },
-  { symbol: [ "std::__decay_and_strip<cmCommand *&>::__type", private, "\"cmConfigure.h\"", public ] },
-  { symbol: [ "std::__decay_and_strip<cmGeneratorTarget *&>::__type", private, "\"cmConfigure.h\"", public ] },
-  { symbol: [ "std::__decay_and_strip<cmFindCommon::PathLabel &>::__type", private, "\"cmConfigure.h\"", public ] },
-  { symbol: [ "std::__decay_and_strip<cmSearchPath>::__type", private, "\"cmConfigure.h\"", public ] },
-  { symbol: [ "std::__decay_and_strip<cm::string_view>::__type", private, "\"cmConfigure.h\"", public ] },
-  { symbol: [ "std::__decay_and_strip<std::basic_string<char> &>::__type", private, "\"cmConfigure.h\"", public ] },
-  { symbol: [ "std::__decay_and_strip<const std::basic_string<char> &>::__type", private, "\"cmConfigure.h\"", public ] },
-  { symbol: [ "std::__decay_and_strip<cmFindPackageCommand::PathLabel &>::__type", private, "\"cmConfigure.h\"", public ] },
-  { symbol: [ "std::__decay_and_strip<cmGlobalNinjaGenerator::TargetAlias &>::__type", private, "\"cmConfigure.h\"", public ] },
-  { symbol: [ "std::__decay_and_strip<__gnu_cxx::__normal_iterator<const cmCTestTestHandler::cmCTestTestProperties *, std::vector<cmCTestTestHandler::cmCTestTestProperties, std::allocator<cmCTestTestHandler::cmCTestTestProperties> > > &>::__type", private, "\"cmConfigure.h\"", public ] },
-  { symbol: [ "std::__decay_and_strip<const __gnu_cxx::__normal_iterator<std::pair<cm::string_view, std::function<void (ArgumentParser::Instance &)> > *, std::vector<std::pair<cm::string_view, std::function<void (ArgumentParser::Instance &)> >, std::allocator<std::pair<cm::string_view, std::function<void (ArgumentParser::Instance &)> > > > > &>::__type", private, "\"cmConfigure.h\"", public ] },
-  { symbol: [ "std::__success_type<std::chrono::duration<double, std::ratio<1, 1> > >::type", private, "\"cmConfigure.h\"", public ] },
-  { symbol: [ "std::__success_type<std::chrono::duration<long, std::ratio<1, 1000000000> > >::type", private, "\"cmConfigure.h\"", public ] },
-  { symbol: [ "std::enable_if<true, std::chrono::duration<long, std::ratio<1, 1> > >::type", private, "\"cmConfigure.h\"", public ] },
-  { symbol: [ "std::enable_if<true, std::chrono::duration<long, std::ratio<60, 1> > >::type", private, "\"cmConfigure.h\"", public ] },
-  { symbol: [ "std::enable_if<true, std::chrono::duration<long, std::ratio<1, 1000> > >::type", private, "\"cmConfigure.h\"", public ] },
-  { symbol: [ "__gnu_cxx::__enable_if<true, bool>::__type", private, "\"cmConfigure.h\"", public ] },
-  { symbol: [ "std::remove_reference<std::basic_string<char, std::char_traits<char>, std::allocator<char> > &>::type", private, "\"cmConfigure.h\"", public ] },
-  { symbol: [ "std::remove_reference<cmCTestTestHandler::Signal &>::type", private, "\"cmConfigure.h\"", public ] },
-  { symbol: [ "std::remove_reference<Defer &>::type", private, "\"cmConfigure.h\"", public ] },
-  { symbol: [ "std::remove_reference<dap::StoppedEvent &>::type", private, "\"cmConfigure.h\"", public ] },
+  # HACK: iwyu attributes vector's usage of std::max to its caller.
+  # https://github.com/include-what-you-use/include-what-you-use/issues/908
+  { symbol: ["std::max", "private", "<algorithm>", "public" ] },
+  { symbol: ["std::max", "private", "<vector>", "public" ] },
 
   # Wrappers for 3rd-party libraries
   { include: [ "@<.*curl/curlver.h>", private, "<cm3p/curl/curl.h>", public ] },
@@ -127,10 +75,10 @@
   { include: [ "<ostream>", public, "\"cmsys/FStream.hxx\"", public ] },
   { include: [ "<fstream>", public, "\"cmsys/FStream.hxx\"", public ] },
 
-  { include: [ "<filesystem>", private, "<cm/filesystem>", public ] },
-  { include: [ "<optional>", private, "<cm/optional>", public ] },
-  { include: [ "<shared_mutex>", private, "<cm/shared_mutex>", public ] },
-  { include: [ "<string_view>", private, "<cm/string_view>", public ] },
+  { include: [ "<filesystem>", public, "<cm/filesystem>", public ] },
+  { include: [ "<optional>", public, "<cm/optional>", public ] },
+  { include: [ "<shared_mutex>", public, "<cm/shared_mutex>", public ] },
+  { include: [ "<string_view>", public, "<cm/string_view>", public ] },
 
   # major and minor are used as macro arguments. Those are false matches.
   { symbol: [ "major", private, "\"cmVersion.h\"", public ] },
-- 
cgit v0.12