--- /srv/reproducible-results/rbuild-debian/r-b-build.NjC5gXgV/b1/libxtc-rats-java_1.15.0-2_i386.changes +++ /srv/reproducible-results/rbuild-debian/r-b-build.NjC5gXgV/b2/libxtc-rats-java_1.15.0-2_i386.changes ├── Files │ @@ -1,2 +1,2 @@ │ │ - 60a8ad120f4ced6a4876d6f040ea49ce 493932 java optional libxtc-rats-java_1.15.0-2_all.deb │ + 36279eb38da7e1de2c385f5372266290 496924 java optional libxtc-rats-java_1.15.0-2_all.deb ├── libxtc-rats-java_1.15.0-2_all.deb │ ├── file list │ │ @@ -1,3 +1,3 @@ │ │ -rw-r--r-- 0 0 0 4 2021-10-25 09:54:06.000000 debian-binary │ │ -rw-r--r-- 0 0 0 920 2021-10-25 09:54:06.000000 control.tar.xz │ │ --rw-r--r-- 0 0 0 492820 2021-10-25 09:54:06.000000 data.tar.xz │ │ +-rw-r--r-- 0 0 0 495812 2021-10-25 09:54:06.000000 data.tar.xz │ ├── control.tar.xz │ │ ├── control.tar │ │ │ ├── ./control │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ Package: libxtc-rats-java │ │ │ │ Version: 1.15.0-2 │ │ │ │ Architecture: all │ │ │ │ Maintainer: Debian Java Maintainers │ │ │ │ -Installed-Size: 594 │ │ │ │ +Installed-Size: 597 │ │ │ │ Depends: libantlr-java │ │ │ │ Section: java │ │ │ │ Priority: optional │ │ │ │ Homepage: https://cs.nyu.edu/rgrimm/xtc/ │ │ │ │ Description: parser generator written in Java │ │ │ │ The xtc (eXTensible Compiler) project is exploring novel programming languages │ │ │ │ and tools to improve the expressiveness, safety, and efficiency of complex │ │ │ ├── ./md5sums │ │ │ │ ├── ./md5sums │ │ │ │ │┄ Files differ │ ├── data.tar.xz │ │ ├── data.tar │ │ │ ├── file list │ │ │ │ @@ -2,16 +2,16 @@ │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2021-10-25 09:54:06.000000 ./usr/ │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2021-10-25 09:54:06.000000 ./usr/share/ │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2021-10-25 09:54:06.000000 ./usr/share/doc/ │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2021-10-25 09:54:06.000000 ./usr/share/doc/libxtc-rats-java/ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 243 2021-10-25 09:54:06.000000 ./usr/share/doc/libxtc-rats-java/changelog.Debian.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 6742 2021-10-25 09:54:06.000000 ./usr/share/doc/libxtc-rats-java/copyright │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2021-10-25 09:54:06.000000 ./usr/share/java/ │ │ │ │ --rw-r--r-- 0 root (0) root (0) 520374 2021-10-25 09:54:06.000000 ./usr/share/java/rats-1.15.0.jar │ │ │ │ --rw-r--r-- 0 root (0) root (0) 44055 2021-10-25 09:54:06.000000 ./usr/share/java/rats-runtime-1.15.0.jar │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 523173 2021-10-25 09:54:06.000000 ./usr/share/java/rats-1.15.0.jar │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 45592 2021-10-25 09:54:06.000000 ./usr/share/java/rats-runtime-1.15.0.jar │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2021-10-25 09:54:06.000000 ./usr/share/maven-repo/ │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2021-10-25 09:54:06.000000 ./usr/share/maven-repo/xtc/ │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2021-10-25 09:54:06.000000 ./usr/share/maven-repo/xtc/rats/ │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2021-10-25 09:54:06.000000 ./usr/share/maven-repo/xtc/rats/1.15.0/ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 2195 2021-10-25 09:54:06.000000 ./usr/share/maven-repo/xtc/rats/1.15.0/rats-1.15.0.pom │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2021-10-25 09:54:06.000000 ./usr/share/maven-repo/xtc/rats/debian/ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 2195 2021-10-25 09:54:06.000000 ./usr/share/maven-repo/xtc/rats/debian/rats-debian.pom │ │ │ ├── ./usr/share/java/rats-1.15.0.jar │ │ │ │ ├── zipinfo {} │ │ │ │ │ @@ -1,13 +1,13 @@ │ │ │ │ │ -Zip file size: 520374 bytes, number of entries: 309 │ │ │ │ │ +Zip file size: 523173 bytes, number of entries: 309 │ │ │ │ │ -rw---- 2.0 fat 0 bx stor 21-Oct-25 09:54 META-INF/ │ │ │ │ │ -rw-r--r-- 2.0 unx 145 b- defN 21-Oct-25 09:54 META-INF/MANIFEST.MF │ │ │ │ │ -rw---- 1.0 fat 0 b- stor 21-Oct-25 09:54 xtc/ │ │ │ │ │ --rw---- 2.0 fat 1056 bl defN 21-Oct-25 09:54 xtc/Constants$FuzzyBoolean.class │ │ │ │ │ --rw---- 2.0 fat 5170 bl defN 21-Oct-25 09:54 xtc/Constants.class │ │ │ │ │ +-rw---- 2.0 fat 1075 bl defN 21-Oct-25 09:54 xtc/Constants$FuzzyBoolean.class │ │ │ │ │ +-rw---- 2.0 fat 5194 bl defN 21-Oct-25 09:54 xtc/Constants.class │ │ │ │ │ -rw---- 2.0 fat 5676 bl defN 21-Oct-25 09:54 xtc/Limits.class │ │ │ │ │ -rw---- 2.0 fat 878 bl defN 21-Oct-25 09:54 xtc/Platform.class │ │ │ │ │ -rw---- 1.0 fat 0 b- stor 21-Oct-25 09:54 xtc/parser/ │ │ │ │ │ -rw---- 2.0 fat 2733 bl defN 21-Oct-25 09:54 xtc/parser/Action.class │ │ │ │ │ -rw---- 2.0 fat 872 bl defN 21-Oct-25 09:54 xtc/parser/ActionBaseValue.class │ │ │ │ │ -rw---- 2.0 fat 1091 bl defN 21-Oct-25 09:54 xtc/parser/AlternativeAddition.class │ │ │ │ │ -rw---- 2.0 fat 1129 bl defN 21-Oct-25 09:54 xtc/parser/AlternativeRemoval.class │ │ │ │ │ @@ -82,26 +82,26 @@ │ │ │ │ │ -rw---- 2.0 fat 1009 bl defN 21-Oct-25 09:54 xtc/parser/NodeMarker.class │ │ │ │ │ -rw---- 2.0 fat 2390 bl defN 21-Oct-25 09:54 xtc/parser/NonTerminal.class │ │ │ │ │ -rw---- 2.0 fat 976 bl defN 21-Oct-25 09:54 xtc/parser/NotFollowedBy.class │ │ │ │ │ -rw---- 2.0 fat 905 bl defN 21-Oct-25 09:54 xtc/parser/NullLiteral.class │ │ │ │ │ -rw---- 2.0 fat 713 bl defN 21-Oct-25 09:54 xtc/parser/NullValue.class │ │ │ │ │ -rw---- 2.0 fat 958 bl defN 21-Oct-25 09:54 xtc/parser/Option.class │ │ │ │ │ -rw---- 2.0 fat 1227 bl defN 21-Oct-25 09:54 xtc/parser/OrderedChoice.class │ │ │ │ │ --rw---- 2.0 fat 535 bl defN 21-Oct-25 09:54 xtc/parser/PParser$Chunk1.class │ │ │ │ │ --rw---- 2.0 fat 523 bl defN 21-Oct-25 09:54 xtc/parser/PParser$Chunk2.class │ │ │ │ │ --rw---- 2.0 fat 565 bl defN 21-Oct-25 09:54 xtc/parser/PParser$Chunk3.class │ │ │ │ │ --rw---- 2.0 fat 310 bl defN 21-Oct-25 09:54 xtc/parser/PParser$Chunk4.class │ │ │ │ │ --rw---- 2.0 fat 665 bl defN 21-Oct-25 09:54 xtc/parser/PParser$PParserColumn.class │ │ │ │ │ --rw---- 2.0 fat 46398 bl defN 21-Oct-25 09:54 xtc/parser/PParser.class │ │ │ │ │ +-rw---- 2.0 fat 554 bl defN 21-Oct-25 09:54 xtc/parser/PParser$Chunk1.class │ │ │ │ │ +-rw---- 2.0 fat 542 bl defN 21-Oct-25 09:54 xtc/parser/PParser$Chunk2.class │ │ │ │ │ +-rw---- 2.0 fat 584 bl defN 21-Oct-25 09:54 xtc/parser/PParser$Chunk3.class │ │ │ │ │ +-rw---- 2.0 fat 329 bl defN 21-Oct-25 09:54 xtc/parser/PParser$Chunk4.class │ │ │ │ │ +-rw---- 2.0 fat 684 bl defN 21-Oct-25 09:54 xtc/parser/PParser$PParserColumn.class │ │ │ │ │ +-rw---- 2.0 fat 46430 bl defN 21-Oct-25 09:54 xtc/parser/PParser.class │ │ │ │ │ -rw---- 2.0 fat 1564 bl defN 21-Oct-25 09:54 xtc/parser/PParserState.class │ │ │ │ │ -rw---- 2.0 fat 1554 bl defN 21-Oct-25 09:54 xtc/parser/ParseError.class │ │ │ │ │ -rw---- 2.0 fat 239 bl defN 21-Oct-25 09:54 xtc/parser/ParseException.class │ │ │ │ │ -rw---- 2.0 fat 2056 bl defN 21-Oct-25 09:54 xtc/parser/ParseTreeNode.class │ │ │ │ │ -rw---- 2.0 fat 770 bl defN 21-Oct-25 09:54 xtc/parser/ParserAction.class │ │ │ │ │ --rw---- 2.0 fat 7016 bl defN 21-Oct-25 09:54 xtc/parser/ParserBase.class │ │ │ │ │ +-rw---- 2.0 fat 7305 bl defN 21-Oct-25 09:54 xtc/parser/ParserBase.class │ │ │ │ │ -rw---- 2.0 fat 622 bl defN 21-Oct-25 09:54 xtc/parser/PartialProduction.class │ │ │ │ │ -rw---- 2.0 fat 236 bl defN 21-Oct-25 09:54 xtc/parser/Predicate.class │ │ │ │ │ -rw---- 2.0 fat 2473 bl defN 21-Oct-25 09:54 xtc/parser/PrefixFolder.class │ │ │ │ │ -rw---- 2.0 fat 953 bl defN 21-Oct-25 09:54 xtc/parser/PrettyPrinter$1.class │ │ │ │ │ -rw---- 2.0 fat 20265 bl defN 21-Oct-25 09:54 xtc/parser/PrettyPrinter.class │ │ │ │ │ -rw---- 2.0 fat 2132 bl defN 21-Oct-25 09:54 xtc/parser/Production.class │ │ │ │ │ -rw---- 2.0 fat 1448 bl defN 21-Oct-25 09:54 xtc/parser/ProductionOverride.class │ │ │ │ │ @@ -151,67 +151,67 @@ │ │ │ │ │ -rw---- 2.0 fat 1193 bl defN 21-Oct-25 09:54 xtc/parser/VariantSorter$1.class │ │ │ │ │ -rw---- 2.0 fat 2786 bl defN 21-Oct-25 09:54 xtc/parser/VariantSorter$Registrar.class │ │ │ │ │ -rw---- 2.0 fat 4400 bl defN 21-Oct-25 09:54 xtc/parser/VariantSorter$Typer.class │ │ │ │ │ -rw---- 2.0 fat 11935 bl defN 21-Oct-25 09:54 xtc/parser/VariantSorter.class │ │ │ │ │ -rw---- 2.0 fat 1011 bl defN 21-Oct-25 09:54 xtc/parser/VoidedElement.class │ │ │ │ │ -rw---- 1.0 fat 0 b- stor 21-Oct-25 09:54 xtc/tree/ │ │ │ │ │ -rw---- 2.0 fat 907 bl defN 21-Oct-25 09:54 xtc/tree/Annotation.class │ │ │ │ │ --rw---- 2.0 fat 3037 bl defN 21-Oct-25 09:54 xtc/tree/Attribute.class │ │ │ │ │ --rw---- 2.0 fat 1043 bl defN 21-Oct-25 09:54 xtc/tree/Comment$Kind.class │ │ │ │ │ --rw---- 2.0 fat 2165 bl defN 21-Oct-25 09:54 xtc/tree/Comment.class │ │ │ │ │ +-rw---- 2.0 fat 3294 bl defN 21-Oct-25 09:54 xtc/tree/Attribute.class │ │ │ │ │ +-rw---- 2.0 fat 1062 bl defN 21-Oct-25 09:54 xtc/tree/Comment$Kind.class │ │ │ │ │ +-rw---- 2.0 fat 2189 bl defN 21-Oct-25 09:54 xtc/tree/Comment.class │ │ │ │ │ -rw---- 2.0 fat 1161 bl defN 21-Oct-25 09:54 xtc/tree/Formatting$After1.class │ │ │ │ │ -rw---- 2.0 fat 1163 bl defN 21-Oct-25 09:54 xtc/tree/Formatting$Before1.class │ │ │ │ │ -rw---- 2.0 fat 1246 bl defN 21-Oct-25 09:54 xtc/tree/Formatting$Round1.class │ │ │ │ │ -rw---- 2.0 fat 3224 bl defN 21-Oct-25 09:54 xtc/tree/Formatting$RoundN.class │ │ │ │ │ -rw---- 2.0 fat 1221 bl defN 21-Oct-25 09:54 xtc/tree/Formatting.class │ │ │ │ │ --rw---- 2.0 fat 1188 bl defN 21-Oct-25 09:54 xtc/tree/GNode$Fixed.class │ │ │ │ │ --rw---- 2.0 fat 1109 bl defN 21-Oct-25 09:54 xtc/tree/GNode$Fixed0.class │ │ │ │ │ --rw---- 2.0 fat 1384 bl defN 21-Oct-25 09:54 xtc/tree/GNode$Fixed1.class │ │ │ │ │ --rw---- 2.0 fat 1536 bl defN 21-Oct-25 09:54 xtc/tree/GNode$Fixed2.class │ │ │ │ │ --rw---- 2.0 fat 1641 bl defN 21-Oct-25 09:54 xtc/tree/GNode$Fixed3.class │ │ │ │ │ --rw---- 2.0 fat 1754 bl defN 21-Oct-25 09:54 xtc/tree/GNode$Fixed4.class │ │ │ │ │ --rw---- 2.0 fat 1867 bl defN 21-Oct-25 09:54 xtc/tree/GNode$Fixed5.class │ │ │ │ │ --rw---- 2.0 fat 1981 bl defN 21-Oct-25 09:54 xtc/tree/GNode$Fixed6.class │ │ │ │ │ --rw---- 2.0 fat 2094 bl defN 21-Oct-25 09:54 xtc/tree/GNode$Fixed7.class │ │ │ │ │ --rw---- 2.0 fat 2207 bl defN 21-Oct-25 09:54 xtc/tree/GNode$Fixed8.class │ │ │ │ │ --rw---- 2.0 fat 2599 bl defN 21-Oct-25 09:54 xtc/tree/GNode$Variable.class │ │ │ │ │ --rw---- 2.0 fat 7328 bl defN 21-Oct-25 09:54 xtc/tree/GNode.class │ │ │ │ │ +-rw---- 2.0 fat 1207 bl defN 21-Oct-25 09:54 xtc/tree/GNode$Fixed.class │ │ │ │ │ +-rw---- 2.0 fat 1290 bl defN 21-Oct-25 09:54 xtc/tree/GNode$Fixed0.class │ │ │ │ │ +-rw---- 2.0 fat 1565 bl defN 21-Oct-25 09:54 xtc/tree/GNode$Fixed1.class │ │ │ │ │ +-rw---- 2.0 fat 1717 bl defN 21-Oct-25 09:54 xtc/tree/GNode$Fixed2.class │ │ │ │ │ +-rw---- 2.0 fat 1822 bl defN 21-Oct-25 09:54 xtc/tree/GNode$Fixed3.class │ │ │ │ │ +-rw---- 2.0 fat 1935 bl defN 21-Oct-25 09:54 xtc/tree/GNode$Fixed4.class │ │ │ │ │ +-rw---- 2.0 fat 2048 bl defN 21-Oct-25 09:54 xtc/tree/GNode$Fixed5.class │ │ │ │ │ +-rw---- 2.0 fat 2162 bl defN 21-Oct-25 09:54 xtc/tree/GNode$Fixed6.class │ │ │ │ │ +-rw---- 2.0 fat 2275 bl defN 21-Oct-25 09:54 xtc/tree/GNode$Fixed7.class │ │ │ │ │ +-rw---- 2.0 fat 2388 bl defN 21-Oct-25 09:54 xtc/tree/GNode$Fixed8.class │ │ │ │ │ +-rw---- 2.0 fat 2618 bl defN 21-Oct-25 09:54 xtc/tree/GNode$Variable.class │ │ │ │ │ +-rw---- 2.0 fat 7372 bl defN 21-Oct-25 09:54 xtc/tree/GNode.class │ │ │ │ │ -rw---- 2.0 fat 2007 bl defN 21-Oct-25 09:54 xtc/tree/LineMarker.class │ │ │ │ │ -rw---- 2.0 fat 5102 bl defN 21-Oct-25 09:54 xtc/tree/LineupPrinter.class │ │ │ │ │ -rw---- 2.0 fat 263 bl defN 21-Oct-25 09:54 xtc/tree/Locatable.class │ │ │ │ │ -rw---- 2.0 fat 1664 bl defN 21-Oct-25 09:54 xtc/tree/Location.class │ │ │ │ │ --rw---- 2.0 fat 1046 bl defN 21-Oct-25 09:54 xtc/tree/Node$1.class │ │ │ │ │ --rw---- 2.0 fat 7769 bl defN 21-Oct-25 09:54 xtc/tree/Node.class │ │ │ │ │ +-rw---- 2.0 fat 1065 bl defN 21-Oct-25 09:54 xtc/tree/Node$1.class │ │ │ │ │ +-rw---- 2.0 fat 8082 bl defN 21-Oct-25 09:54 xtc/tree/Node.class │ │ │ │ │ -rw---- 2.0 fat 1132 bl defN 21-Oct-25 09:54 xtc/tree/ParseTreePrinter.class │ │ │ │ │ -rw---- 2.0 fat 1246 bl defN 21-Oct-25 09:54 xtc/tree/ParseTreeStripper.class │ │ │ │ │ -rw---- 2.0 fat 1485 bl defN 21-Oct-25 09:54 xtc/tree/Pragma.class │ │ │ │ │ --rw---- 2.0 fat 9802 bl defN 21-Oct-25 09:54 xtc/tree/Printer.class │ │ │ │ │ +-rw---- 2.0 fat 10006 bl defN 21-Oct-25 09:54 xtc/tree/Printer.class │ │ │ │ │ -rw---- 2.0 fat 1741 bl defN 21-Oct-25 09:54 xtc/tree/Relocator.class │ │ │ │ │ -rw---- 2.0 fat 1497 bl defN 21-Oct-25 09:54 xtc/tree/SourceIdentity.class │ │ │ │ │ --rw---- 2.0 fat 1473 bl defN 21-Oct-25 09:54 xtc/tree/Token.class │ │ │ │ │ +-rw---- 2.0 fat 1710 bl defN 21-Oct-25 09:54 xtc/tree/Token.class │ │ │ │ │ -rw---- 2.0 fat 1504 bl defN 21-Oct-25 09:54 xtc/tree/Transducer$1.class │ │ │ │ │ -rw---- 2.0 fat 7173 bl defN 21-Oct-25 09:54 xtc/tree/Transducer.class │ │ │ │ │ -rw---- 2.0 fat 2017 bl defN 21-Oct-25 09:54 xtc/tree/TraversalException.class │ │ │ │ │ -rw---- 2.0 fat 395 bl defN 21-Oct-25 09:54 xtc/tree/Utility.class │ │ │ │ │ -rw---- 2.0 fat 273 bl defN 21-Oct-25 09:54 xtc/tree/VisitingException.class │ │ │ │ │ --rw---- 2.0 fat 657 bl defN 21-Oct-25 09:54 xtc/tree/Visitor$1.class │ │ │ │ │ --rw---- 2.0 fat 689 bl defN 21-Oct-25 09:54 xtc/tree/Visitor$CacheKey.class │ │ │ │ │ --rw---- 2.0 fat 5438 bl defN 21-Oct-25 09:54 xtc/tree/Visitor.class │ │ │ │ │ +-rw---- 2.0 fat 676 bl defN 21-Oct-25 09:54 xtc/tree/Visitor$1.class │ │ │ │ │ +-rw---- 2.0 fat 708 bl defN 21-Oct-25 09:54 xtc/tree/Visitor$CacheKey.class │ │ │ │ │ +-rw---- 2.0 fat 5929 bl defN 21-Oct-25 09:54 xtc/tree/Visitor.class │ │ │ │ │ -rw---- 2.0 fat 353 bl defN 21-Oct-25 09:54 xtc/tree/VisitorException.class │ │ │ │ │ -rw---- 1.0 fat 0 b- stor 21-Oct-25 09:54 xtc/type/ │ │ │ │ │ -rw---- 2.0 fat 989 bl defN 21-Oct-25 09:54 xtc/type/AST$1.class │ │ │ │ │ -rw---- 2.0 fat 474 bl defN 21-Oct-25 09:54 xtc/type/AST$MetaData.class │ │ │ │ │ -rw---- 2.0 fat 20554 bl defN 21-Oct-25 09:54 xtc/type/AST.class │ │ │ │ │ -rw---- 2.0 fat 1683 bl defN 21-Oct-25 09:54 xtc/type/AliasT.class │ │ │ │ │ -rw---- 2.0 fat 1145 bl defN 21-Oct-25 09:54 xtc/type/AnnotatedT.class │ │ │ │ │ -rw---- 2.0 fat 2558 bl defN 21-Oct-25 09:54 xtc/type/ArrayT.class │ │ │ │ │ -rw---- 2.0 fat 1426 bl defN 21-Oct-25 09:54 xtc/type/BooleanT.class │ │ │ │ │ -rw---- 2.0 fat 2435 bl defN 21-Oct-25 09:54 xtc/type/C$1.class │ │ │ │ │ -rw---- 2.0 fat 23184 bl defN 21-Oct-25 09:54 xtc/type/C.class │ │ │ │ │ --rw---- 2.0 fat 4921 bl defN 21-Oct-25 09:54 xtc/type/CFactory.class │ │ │ │ │ +-rw---- 2.0 fat 5208 bl defN 21-Oct-25 09:54 xtc/type/CFactory.class │ │ │ │ │ -rw---- 2.0 fat 1202 bl defN 21-Oct-25 09:54 xtc/type/CastReference.class │ │ │ │ │ -rw---- 2.0 fat 1913 bl defN 21-Oct-25 09:54 xtc/type/ClassOrInterfaceT.class │ │ │ │ │ -rw---- 2.0 fat 1910 bl defN 21-Oct-25 09:54 xtc/type/ClassT.class │ │ │ │ │ -rw---- 2.0 fat 854 bl defN 21-Oct-25 09:54 xtc/type/Constant$1.class │ │ │ │ │ -rw---- 2.0 fat 1222 bl defN 21-Oct-25 09:54 xtc/type/Constant$Kind.class │ │ │ │ │ -rw---- 2.0 fat 3984 bl defN 21-Oct-25 09:54 xtc/type/Constant.class │ │ │ │ │ -rw---- 2.0 fat 337 bl defN 21-Oct-25 09:54 xtc/type/DerivedT.class │ │ │ │ │ @@ -289,23 +289,23 @@ │ │ │ │ │ -rw---- 2.0 fat 592 bl defN 21-Oct-25 09:54 xtc/util/Function$F7.class │ │ │ │ │ -rw---- 2.0 fat 633 bl defN 21-Oct-25 09:54 xtc/util/Function$F8.class │ │ │ │ │ -rw---- 2.0 fat 633 bl defN 21-Oct-25 09:54 xtc/util/Function$F9.class │ │ │ │ │ -rw---- 2.0 fat 2570 bl defN 21-Oct-25 09:54 xtc/util/Function.class │ │ │ │ │ -rw---- 2.0 fat 254 bl defN 21-Oct-25 09:54 xtc/util/NestedReader$EOFListener.class │ │ │ │ │ -rw---- 2.0 fat 2499 bl defN 21-Oct-25 09:54 xtc/util/NestedReader.class │ │ │ │ │ -rw---- 2.0 fat 1140 bl defN 21-Oct-25 09:54 xtc/util/Nonce.class │ │ │ │ │ --rw---- 2.0 fat 1155 bl defN 21-Oct-25 09:54 xtc/util/Option$Kind.class │ │ │ │ │ --rw---- 2.0 fat 662 bl defN 21-Oct-25 09:54 xtc/util/Option.class │ │ │ │ │ --rw---- 2.0 fat 1009 bl defN 21-Oct-25 09:54 xtc/util/Pair$1.class │ │ │ │ │ --rw---- 2.0 fat 7341 bl defN 21-Oct-25 09:54 xtc/util/Pair.class │ │ │ │ │ --rw---- 2.0 fat 837 bl defN 21-Oct-25 09:54 xtc/util/Runtime$1.class │ │ │ │ │ --rw---- 2.0 fat 14085 bl defN 21-Oct-25 09:54 xtc/util/Runtime.class │ │ │ │ │ +-rw---- 2.0 fat 1174 bl defN 21-Oct-25 09:54 xtc/util/Option$Kind.class │ │ │ │ │ +-rw---- 2.0 fat 686 bl defN 21-Oct-25 09:54 xtc/util/Option.class │ │ │ │ │ +-rw---- 2.0 fat 1028 bl defN 21-Oct-25 09:54 xtc/util/Pair$1.class │ │ │ │ │ +-rw---- 2.0 fat 7637 bl defN 21-Oct-25 09:54 xtc/util/Pair.class │ │ │ │ │ +-rw---- 2.0 fat 856 bl defN 21-Oct-25 09:54 xtc/util/Runtime$1.class │ │ │ │ │ +-rw---- 2.0 fat 14406 bl defN 21-Oct-25 09:54 xtc/util/Runtime.class │ │ │ │ │ -rw---- 2.0 fat 844 bl defN 21-Oct-25 09:54 xtc/util/SingletonIterator.class │ │ │ │ │ -rw---- 2.0 fat 195 bl defN 21-Oct-25 09:54 xtc/util/State.class │ │ │ │ │ -rw---- 2.0 fat 2216 bl defN 21-Oct-25 09:54 xtc/util/Statistics.class │ │ │ │ │ --rw---- 2.0 fat 6451 bl defN 21-Oct-25 09:54 xtc/util/SymbolTable$Scope.class │ │ │ │ │ --rw---- 2.0 fat 5940 bl defN 21-Oct-25 09:54 xtc/util/SymbolTable.class │ │ │ │ │ +-rw---- 2.0 fat 6717 bl defN 21-Oct-25 09:54 xtc/util/SymbolTable$Scope.class │ │ │ │ │ +-rw---- 2.0 fat 6315 bl defN 21-Oct-25 09:54 xtc/util/SymbolTable.class │ │ │ │ │ -rw---- 2.0 fat 1539 bl defN 21-Oct-25 09:54 xtc/util/Throughput.class │ │ │ │ │ --rw---- 2.0 fat 9448 bl defN 21-Oct-25 09:54 xtc/util/Tool.class │ │ │ │ │ --rw---- 2.0 fat 9911 bl defN 21-Oct-25 09:54 xtc/util/Utilities.class │ │ │ │ │ +-rw---- 2.0 fat 9780 bl defN 21-Oct-25 09:54 xtc/util/Tool.class │ │ │ │ │ +-rw---- 2.0 fat 10303 bl defN 21-Oct-25 09:54 xtc/util/Utilities.class │ │ │ │ │ -rw---- 2.0 fat 4448 bl defN 21-Oct-25 09:54 xtc/util/UtilitiesTest.class │ │ │ │ │ -309 files, 957810 bytes uncompressed, 475358 bytes compressed: 50.4% │ │ │ │ │ +309 files, 963932 bytes uncompressed, 478157 bytes compressed: 50.4% │ │ │ │ ├── xtc/Constants$FuzzyBoolean.class │ │ │ │ │ ├── javap -verbose -constants -s -l -private {} │ │ │ │ │ │ @@ -1,16 +1,16 @@ │ │ │ │ │ │ - SHA-256 checksum c118ba81a9c26bc647b8d3573e90c37a9eeb420a4b122acf8b834104fbc6ce13 │ │ │ │ │ │ + SHA-256 checksum a8610a766e8b2c7062bb54cb9c6ad0ef85eea2b6309c2e3e775b6956e5d2ec59 │ │ │ │ │ │ Compiled from "Constants.java" │ │ │ │ │ │ public final class xtc.Constants$FuzzyBoolean extends java.lang.Enum │ │ │ │ │ │ minor version: 0 │ │ │ │ │ │ - major version: 52 │ │ │ │ │ │ + major version: 61 │ │ │ │ │ │ flags: (0x4031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER, ACC_ENUM │ │ │ │ │ │ this_class: #1 // xtc/Constants$FuzzyBoolean │ │ │ │ │ │ super_class: #23 // java/lang/Enum │ │ │ │ │ │ - interfaces: 0, fields: 4, methods: 5, attributes: 3 │ │ │ │ │ │ + interfaces: 0, fields: 4, methods: 5, attributes: 4 │ │ │ │ │ │ Constant pool: │ │ │ │ │ │ #1 = Class #2 // xtc/Constants$FuzzyBoolean │ │ │ │ │ │ #2 = Utf8 xtc/Constants$FuzzyBoolean │ │ │ │ │ │ #3 = Fieldref #1.#4 // xtc/Constants$FuzzyBoolean.TRUE:Lxtc/Constants$FuzzyBoolean; │ │ │ │ │ │ #4 = NameAndType #5:#6 // TRUE:Lxtc/Constants$FuzzyBoolean; │ │ │ │ │ │ #5 = Utf8 TRUE │ │ │ │ │ │ #6 = Utf8 Lxtc/Constants$FuzzyBoolean; │ │ │ │ │ │ @@ -53,18 +53,19 @@ │ │ │ │ │ │ #43 = Utf8 (Ljava/lang/String;)Lxtc/Constants$FuzzyBoolean; │ │ │ │ │ │ #44 = Utf8 Signature │ │ │ │ │ │ #45 = Utf8 ()V │ │ │ │ │ │ #46 = Utf8 │ │ │ │ │ │ #47 = Utf8 Ljava/lang/Enum; │ │ │ │ │ │ #48 = Utf8 SourceFile │ │ │ │ │ │ #49 = Utf8 Constants.java │ │ │ │ │ │ - #50 = Utf8 InnerClasses │ │ │ │ │ │ + #50 = Utf8 NestHost │ │ │ │ │ │ #51 = Class #52 // xtc/Constants │ │ │ │ │ │ #52 = Utf8 xtc/Constants │ │ │ │ │ │ - #53 = Utf8 FuzzyBoolean │ │ │ │ │ │ + #53 = Utf8 InnerClasses │ │ │ │ │ │ + #54 = Utf8 FuzzyBoolean │ │ │ │ │ │ { │ │ │ │ │ │ public static final xtc.Constants$FuzzyBoolean TRUE; │ │ │ │ │ │ descriptor: Lxtc/Constants$FuzzyBoolean; │ │ │ │ │ │ flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ENUM │ │ │ │ │ │ │ │ │ │ │ │ public static final xtc.Constants$FuzzyBoolean FALSE; │ │ │ │ │ │ descriptor: Lxtc/Constants$FuzzyBoolean; │ │ │ │ │ │ @@ -170,9 +171,10 @@ │ │ │ │ │ │ line 90: 0 │ │ │ │ │ │ line 91: 13 │ │ │ │ │ │ line 92: 26 │ │ │ │ │ │ line 89: 39 │ │ │ │ │ │ } │ │ │ │ │ │ Signature: #47 // Ljava/lang/Enum; │ │ │ │ │ │ SourceFile: "Constants.java" │ │ │ │ │ │ +NestHost: class xtc/Constants │ │ │ │ │ │ InnerClasses: │ │ │ │ │ │ - public static final #53= #1 of #51; // FuzzyBoolean=class xtc/Constants$FuzzyBoolean of class xtc/Constants │ │ │ │ │ │ + public static final #54= #1 of #51; // FuzzyBoolean=class xtc/Constants$FuzzyBoolean of class xtc/Constants │ │ │ │ ├── xtc/Constants.class │ │ │ │ │ ├── javap -verbose -constants -s -l -private {} │ │ │ │ │ │ @@ -1,16 +1,16 @@ │ │ │ │ │ │ - SHA-256 checksum 2bc35a54dcc35f65ee10993b7482979fe0be7e980d934c59f20626e1b526a03a │ │ │ │ │ │ + SHA-256 checksum 1b77e1cd2f3eb4e74fc90690de2a06a37cac5ebd3e15df8c7fd46768677126cc │ │ │ │ │ │ Compiled from "Constants.java" │ │ │ │ │ │ public interface xtc.Constants │ │ │ │ │ │ minor version: 0 │ │ │ │ │ │ - major version: 52 │ │ │ │ │ │ + major version: 61 │ │ │ │ │ │ flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT │ │ │ │ │ │ this_class: #1 // xtc/Constants │ │ │ │ │ │ super_class: #281 // java/lang/Object │ │ │ │ │ │ - interfaces: 0, fields: 84, methods: 1, attributes: 2 │ │ │ │ │ │ + interfaces: 0, fields: 84, methods: 1, attributes: 3 │ │ │ │ │ │ Constant pool: │ │ │ │ │ │ #1 = Class #2 // xtc/Constants │ │ │ │ │ │ #2 = Utf8 xtc/Constants │ │ │ │ │ │ #3 = String #4 // line.separator │ │ │ │ │ │ #4 = Utf8 line.separator │ │ │ │ │ │ #5 = Methodref #6.#7 // java/lang/System.getProperty:(Ljava/lang/String;)Ljava/lang/String; │ │ │ │ │ │ #6 = Class #8 // java/lang/System │ │ │ │ │ │ @@ -369,18 +369,19 @@ │ │ │ │ │ │ #359 = Utf8 VALUE_PRIVATE │ │ │ │ │ │ #360 = Utf8 │ │ │ │ │ │ #361 = Utf8 ()V │ │ │ │ │ │ #362 = Utf8 Code │ │ │ │ │ │ #363 = Utf8 LineNumberTable │ │ │ │ │ │ #364 = Utf8 SourceFile │ │ │ │ │ │ #365 = Utf8 Constants.java │ │ │ │ │ │ - #366 = Utf8 InnerClasses │ │ │ │ │ │ + #366 = Utf8 NestMembers │ │ │ │ │ │ #367 = Class #368 // xtc/Constants$FuzzyBoolean │ │ │ │ │ │ #368 = Utf8 xtc/Constants$FuzzyBoolean │ │ │ │ │ │ - #369 = Utf8 FuzzyBoolean │ │ │ │ │ │ + #369 = Utf8 InnerClasses │ │ │ │ │ │ + #370 = Utf8 FuzzyBoolean │ │ │ │ │ │ { │ │ │ │ │ │ public static final boolean DEBUG = false; │ │ │ │ │ │ descriptor: Z │ │ │ │ │ │ flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL │ │ │ │ │ │ ConstantValue: int 0 │ │ │ │ │ │ │ │ │ │ │ │ public static final int MAJOR = 1; │ │ │ │ │ │ @@ -1068,9 +1069,11 @@ │ │ │ │ │ │ line 334: 570 │ │ │ │ │ │ line 337: 583 │ │ │ │ │ │ line 340: 596 │ │ │ │ │ │ line 343: 609 │ │ │ │ │ │ line 346: 622 │ │ │ │ │ │ } │ │ │ │ │ │ SourceFile: "Constants.java" │ │ │ │ │ │ +NestMembers: │ │ │ │ │ │ + xtc/Constants$FuzzyBoolean │ │ │ │ │ │ InnerClasses: │ │ │ │ │ │ - public static final #369= #367 of #1; // FuzzyBoolean=class xtc/Constants$FuzzyBoolean of class xtc/Constants │ │ │ │ │ │ + public static final #370= #367 of #1; // FuzzyBoolean=class xtc/Constants$FuzzyBoolean of class xtc/Constants │ │ │ │ ├── xtc/parser/Column.class │ │ │ │ │ ├── javap -verbose -constants -s -l -private {} │ │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ - SHA-256 checksum e046499fa3458dcf75a1ec8ed09726dd1613205db813bd758a02225d5ed6c59b │ │ │ │ │ │ + SHA-256 checksum ab64fbb89692bf784a29ac10d42a7f4a3277983b7a6d753aada0198e44a7df96 │ │ │ │ │ │ Compiled from "Column.java" │ │ │ │ │ │ public abstract class xtc.parser.Column │ │ │ │ │ │ minor version: 0 │ │ │ │ │ │ - major version: 52 │ │ │ │ │ │ + major version: 61 │ │ │ │ │ │ flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT │ │ │ │ │ │ this_class: #7 // xtc/parser/Column │ │ │ │ │ │ super_class: #2 // java/lang/Object │ │ │ │ │ │ interfaces: 0, fields: 4, methods: 1, attributes: 1 │ │ │ │ │ │ Constant pool: │ │ │ │ │ │ #1 = Methodref #2.#3 // java/lang/Object."":()V │ │ │ │ │ │ #2 = Class #4 // java/lang/Object │ │ │ │ ├── xtc/parser/PParser$Chunk1.class │ │ │ │ │ ├── javap -verbose -constants -s -l -private {} │ │ │ │ │ │ @@ -1,16 +1,16 @@ │ │ │ │ │ │ - SHA-256 checksum 5fc5b1d0209fb9e0c144e8f536cc82f6497eb093e7055a022f232c48edaa41a8 │ │ │ │ │ │ + SHA-256 checksum 7df369807712bfe7fd8bd8b347dd66fced5db41d53001f28afd193ebd3467ec0 │ │ │ │ │ │ Compiled from "PParser.java" │ │ │ │ │ │ final class xtc.parser.PParser$Chunk1 │ │ │ │ │ │ minor version: 0 │ │ │ │ │ │ - major version: 52 │ │ │ │ │ │ + major version: 61 │ │ │ │ │ │ flags: (0x0030) ACC_FINAL, ACC_SUPER │ │ │ │ │ │ this_class: #7 // xtc/parser/PParser$Chunk1 │ │ │ │ │ │ super_class: #2 // java/lang/Object │ │ │ │ │ │ - interfaces: 0, fields: 10, methods: 1, attributes: 2 │ │ │ │ │ │ + interfaces: 0, fields: 10, methods: 1, attributes: 3 │ │ │ │ │ │ Constant pool: │ │ │ │ │ │ #1 = Methodref #2.#3 // java/lang/Object."":()V │ │ │ │ │ │ #2 = Class #4 // java/lang/Object │ │ │ │ │ │ #3 = NameAndType #5:#6 // "":()V │ │ │ │ │ │ #4 = Utf8 java/lang/Object │ │ │ │ │ │ #5 = Utf8 │ │ │ │ │ │ #6 = Utf8 ()V │ │ │ │ │ │ @@ -27,18 +27,19 @@ │ │ │ │ │ │ #17 = Utf8 fSequence │ │ │ │ │ │ #18 = Utf8 fSequence$$Star1 │ │ │ │ │ │ #19 = Utf8 fSequenceName │ │ │ │ │ │ #20 = Utf8 Code │ │ │ │ │ │ #21 = Utf8 LineNumberTable │ │ │ │ │ │ #22 = Utf8 SourceFile │ │ │ │ │ │ #23 = Utf8 PParser.java │ │ │ │ │ │ - #24 = Utf8 InnerClasses │ │ │ │ │ │ + #24 = Utf8 NestHost │ │ │ │ │ │ #25 = Class #26 // xtc/parser/PParser │ │ │ │ │ │ #26 = Utf8 xtc/parser/PParser │ │ │ │ │ │ - #27 = Utf8 Chunk1 │ │ │ │ │ │ + #27 = Utf8 InnerClasses │ │ │ │ │ │ + #28 = Utf8 Chunk1 │ │ │ │ │ │ { │ │ │ │ │ │ xtc.parser.Result fModuleList; │ │ │ │ │ │ descriptor: Lxtc/parser/Result; │ │ │ │ │ │ flags: (0x0000) │ │ │ │ │ │ │ │ │ │ │ │ xtc.parser.Result fModuleList$$Star1; │ │ │ │ │ │ descriptor: Lxtc/parser/Result; │ │ │ │ │ │ @@ -84,9 +85,10 @@ │ │ │ │ │ │ 0: aload_0 │ │ │ │ │ │ 1: invokespecial #1 // Method java/lang/Object."":()V │ │ │ │ │ │ 4: return │ │ │ │ │ │ LineNumberTable: │ │ │ │ │ │ line 45: 0 │ │ │ │ │ │ } │ │ │ │ │ │ SourceFile: "PParser.java" │ │ │ │ │ │ +NestHost: class xtc/parser/PParser │ │ │ │ │ │ InnerClasses: │ │ │ │ │ │ - static final #27= #7 of #25; // Chunk1=class xtc/parser/PParser$Chunk1 of class xtc/parser/PParser │ │ │ │ │ │ + static final #28= #7 of #25; // Chunk1=class xtc/parser/PParser$Chunk1 of class xtc/parser/PParser │ │ │ │ ├── xtc/parser/PParser$Chunk2.class │ │ │ │ │ ├── javap -verbose -constants -s -l -private {} │ │ │ │ │ │ @@ -1,16 +1,16 @@ │ │ │ │ │ │ - SHA-256 checksum 4866d40e0626a33eda876f316ef49d3ebab9dae879ec3728098093785780e1fc │ │ │ │ │ │ + SHA-256 checksum a0623ccd9e3c216c83623b182002b702e6a558b6f6114ccf3e8ca997c51a7d0d │ │ │ │ │ │ Compiled from "PParser.java" │ │ │ │ │ │ final class xtc.parser.PParser$Chunk2 │ │ │ │ │ │ minor version: 0 │ │ │ │ │ │ - major version: 52 │ │ │ │ │ │ + major version: 61 │ │ │ │ │ │ flags: (0x0030) ACC_FINAL, ACC_SUPER │ │ │ │ │ │ this_class: #7 // xtc/parser/PParser$Chunk2 │ │ │ │ │ │ super_class: #2 // java/lang/Object │ │ │ │ │ │ - interfaces: 0, fields: 10, methods: 1, attributes: 2 │ │ │ │ │ │ + interfaces: 0, fields: 10, methods: 1, attributes: 3 │ │ │ │ │ │ Constant pool: │ │ │ │ │ │ #1 = Methodref #2.#3 // java/lang/Object."":()V │ │ │ │ │ │ #2 = Class #4 // java/lang/Object │ │ │ │ │ │ #3 = NameAndType #5:#6 // "":()V │ │ │ │ │ │ #4 = Utf8 java/lang/Object │ │ │ │ │ │ #5 = Utf8 │ │ │ │ │ │ #6 = Utf8 ()V │ │ │ │ │ │ @@ -27,18 +27,19 @@ │ │ │ │ │ │ #17 = Utf8 fTypeNameCharacters │ │ │ │ │ │ #18 = Utf8 fTypeNameCharacters$$Star1 │ │ │ │ │ │ #19 = Utf8 fName │ │ │ │ │ │ #20 = Utf8 Code │ │ │ │ │ │ #21 = Utf8 LineNumberTable │ │ │ │ │ │ #22 = Utf8 SourceFile │ │ │ │ │ │ #23 = Utf8 PParser.java │ │ │ │ │ │ - #24 = Utf8 InnerClasses │ │ │ │ │ │ + #24 = Utf8 NestHost │ │ │ │ │ │ #25 = Class #26 // xtc/parser/PParser │ │ │ │ │ │ #26 = Utf8 xtc/parser/PParser │ │ │ │ │ │ - #27 = Utf8 Chunk2 │ │ │ │ │ │ + #27 = Utf8 InnerClasses │ │ │ │ │ │ + #28 = Utf8 Chunk2 │ │ │ │ │ │ { │ │ │ │ │ │ xtc.parser.Result fVoided; │ │ │ │ │ │ descriptor: Lxtc/parser/Result; │ │ │ │ │ │ flags: (0x0000) │ │ │ │ │ │ │ │ │ │ │ │ xtc.parser.Result fSuffix; │ │ │ │ │ │ descriptor: Lxtc/parser/Result; │ │ │ │ │ │ @@ -84,9 +85,10 @@ │ │ │ │ │ │ 0: aload_0 │ │ │ │ │ │ 1: invokespecial #1 // Method java/lang/Object."":()V │ │ │ │ │ │ 4: return │ │ │ │ │ │ LineNumberTable: │ │ │ │ │ │ line 59: 0 │ │ │ │ │ │ } │ │ │ │ │ │ SourceFile: "PParser.java" │ │ │ │ │ │ +NestHost: class xtc/parser/PParser │ │ │ │ │ │ InnerClasses: │ │ │ │ │ │ - static final #27= #7 of #25; // Chunk2=class xtc/parser/PParser$Chunk2 of class xtc/parser/PParser │ │ │ │ │ │ + static final #28= #7 of #25; // Chunk2=class xtc/parser/PParser$Chunk2 of class xtc/parser/PParser │ │ │ │ ├── xtc/parser/PParser$Chunk3.class │ │ │ │ │ ├── javap -verbose -constants -s -l -private {} │ │ │ │ │ │ @@ -1,16 +1,16 @@ │ │ │ │ │ │ - SHA-256 checksum 5422c200eb16afdf36b0efba7a6bea2f685bbf93731534ec1d508e5f6cededa7 │ │ │ │ │ │ + SHA-256 checksum a34eb1a1c13e6a845fe307f0dab91846f7eda37b4c720504c420e558b501cbad │ │ │ │ │ │ Compiled from "PParser.java" │ │ │ │ │ │ final class xtc.parser.PParser$Chunk3 │ │ │ │ │ │ minor version: 0 │ │ │ │ │ │ - major version: 52 │ │ │ │ │ │ + major version: 61 │ │ │ │ │ │ flags: (0x0030) ACC_FINAL, ACC_SUPER │ │ │ │ │ │ this_class: #7 // xtc/parser/PParser$Chunk3 │ │ │ │ │ │ super_class: #2 // java/lang/Object │ │ │ │ │ │ - interfaces: 0, fields: 10, methods: 1, attributes: 2 │ │ │ │ │ │ + interfaces: 0, fields: 10, methods: 1, attributes: 3 │ │ │ │ │ │ Constant pool: │ │ │ │ │ │ #1 = Methodref #2.#3 // java/lang/Object."":()V │ │ │ │ │ │ #2 = Class #4 // java/lang/Object │ │ │ │ │ │ #3 = NameAndType #5:#6 // "":()V │ │ │ │ │ │ #4 = Utf8 java/lang/Object │ │ │ │ │ │ #5 = Utf8 │ │ │ │ │ │ #6 = Utf8 ()V │ │ │ │ │ │ @@ -27,18 +27,19 @@ │ │ │ │ │ │ #17 = Utf8 fStringLiteral │ │ │ │ │ │ #18 = Utf8 fStringLiteral$$Star1 │ │ │ │ │ │ #19 = Utf8 fClassChar │ │ │ │ │ │ #20 = Utf8 Code │ │ │ │ │ │ #21 = Utf8 LineNumberTable │ │ │ │ │ │ #22 = Utf8 SourceFile │ │ │ │ │ │ #23 = Utf8 PParser.java │ │ │ │ │ │ - #24 = Utf8 InnerClasses │ │ │ │ │ │ + #24 = Utf8 NestHost │ │ │ │ │ │ #25 = Class #26 // xtc/parser/PParser │ │ │ │ │ │ #26 = Utf8 xtc/parser/PParser │ │ │ │ │ │ - #27 = Utf8 Chunk3 │ │ │ │ │ │ + #27 = Utf8 InnerClasses │ │ │ │ │ │ + #28 = Utf8 Chunk3 │ │ │ │ │ │ { │ │ │ │ │ │ xtc.parser.Result fWord; │ │ │ │ │ │ descriptor: Lxtc/parser/Result; │ │ │ │ │ │ flags: (0x0000) │ │ │ │ │ │ │ │ │ │ │ │ xtc.parser.Result fNameCharacters; │ │ │ │ │ │ descriptor: Lxtc/parser/Result; │ │ │ │ │ │ @@ -84,9 +85,10 @@ │ │ │ │ │ │ 0: aload_0 │ │ │ │ │ │ 1: invokespecial #1 // Method java/lang/Object."":()V │ │ │ │ │ │ 4: return │ │ │ │ │ │ LineNumberTable: │ │ │ │ │ │ line 73: 0 │ │ │ │ │ │ } │ │ │ │ │ │ SourceFile: "PParser.java" │ │ │ │ │ │ +NestHost: class xtc/parser/PParser │ │ │ │ │ │ InnerClasses: │ │ │ │ │ │ - static final #27= #7 of #25; // Chunk3=class xtc/parser/PParser$Chunk3 of class xtc/parser/PParser │ │ │ │ │ │ + static final #28= #7 of #25; // Chunk3=class xtc/parser/PParser$Chunk3 of class xtc/parser/PParser │ │ │ │ ├── xtc/parser/PParser$Chunk4.class │ │ │ │ │ ├── javap -verbose -constants -s -l -private {} │ │ │ │ │ │ @@ -1,16 +1,16 @@ │ │ │ │ │ │ - SHA-256 checksum 5d920639aba8deaf04a0c3bd4d01192a09461b76733d4fb16ad64d9dd949921b │ │ │ │ │ │ + SHA-256 checksum adbe86334ab8fc18bd71225174a663b4f141bd55caa03c18921aa3a6ba2f3126 │ │ │ │ │ │ Compiled from "PParser.java" │ │ │ │ │ │ final class xtc.parser.PParser$Chunk4 │ │ │ │ │ │ minor version: 0 │ │ │ │ │ │ - major version: 52 │ │ │ │ │ │ + major version: 61 │ │ │ │ │ │ flags: (0x0030) ACC_FINAL, ACC_SUPER │ │ │ │ │ │ this_class: #7 // xtc/parser/PParser$Chunk4 │ │ │ │ │ │ super_class: #2 // java/lang/Object │ │ │ │ │ │ - interfaces: 0, fields: 1, methods: 1, attributes: 2 │ │ │ │ │ │ + interfaces: 0, fields: 1, methods: 1, attributes: 3 │ │ │ │ │ │ Constant pool: │ │ │ │ │ │ #1 = Methodref #2.#3 // java/lang/Object."":()V │ │ │ │ │ │ #2 = Class #4 // java/lang/Object │ │ │ │ │ │ #3 = NameAndType #5:#6 // "":()V │ │ │ │ │ │ #4 = Utf8 java/lang/Object │ │ │ │ │ │ #5 = Utf8 │ │ │ │ │ │ #6 = Utf8 ()V │ │ │ │ │ │ @@ -18,18 +18,19 @@ │ │ │ │ │ │ #8 = Utf8 xtc/parser/PParser$Chunk4 │ │ │ │ │ │ #9 = Utf8 fSymbol │ │ │ │ │ │ #10 = Utf8 Lxtc/parser/Result; │ │ │ │ │ │ #11 = Utf8 Code │ │ │ │ │ │ #12 = Utf8 LineNumberTable │ │ │ │ │ │ #13 = Utf8 SourceFile │ │ │ │ │ │ #14 = Utf8 PParser.java │ │ │ │ │ │ - #15 = Utf8 InnerClasses │ │ │ │ │ │ + #15 = Utf8 NestHost │ │ │ │ │ │ #16 = Class #17 // xtc/parser/PParser │ │ │ │ │ │ #17 = Utf8 xtc/parser/PParser │ │ │ │ │ │ - #18 = Utf8 Chunk4 │ │ │ │ │ │ + #18 = Utf8 InnerClasses │ │ │ │ │ │ + #19 = Utf8 Chunk4 │ │ │ │ │ │ { │ │ │ │ │ │ xtc.parser.Result fSymbol; │ │ │ │ │ │ descriptor: Lxtc/parser/Result; │ │ │ │ │ │ flags: (0x0000) │ │ │ │ │ │ │ │ │ │ │ │ xtc.parser.PParser$Chunk4(); │ │ │ │ │ │ descriptor: ()V │ │ │ │ │ │ @@ -39,9 +40,10 @@ │ │ │ │ │ │ 0: aload_0 │ │ │ │ │ │ 1: invokespecial #1 // Method java/lang/Object."":()V │ │ │ │ │ │ 4: return │ │ │ │ │ │ LineNumberTable: │ │ │ │ │ │ line 87: 0 │ │ │ │ │ │ } │ │ │ │ │ │ SourceFile: "PParser.java" │ │ │ │ │ │ +NestHost: class xtc/parser/PParser │ │ │ │ │ │ InnerClasses: │ │ │ │ │ │ - static final #18= #7 of #16; // Chunk4=class xtc/parser/PParser$Chunk4 of class xtc/parser/PParser │ │ │ │ │ │ + static final #19= #7 of #16; // Chunk4=class xtc/parser/PParser$Chunk4 of class xtc/parser/PParser │ │ │ │ ├── xtc/parser/PParser$PParserColumn.class │ │ │ │ │ ├── javap -verbose -constants -s -l -private {} │ │ │ │ │ │ @@ -1,16 +1,16 @@ │ │ │ │ │ │ - SHA-256 checksum f69edbfb3fb08577519b25a79862a8adb3e216eb44d5e8874b7a7567d9aaf8b6 │ │ │ │ │ │ + SHA-256 checksum 0600dc4ea27c977db6379d477163fef8f84c3f512f5d99093535b27372247d7a │ │ │ │ │ │ Compiled from "PParser.java" │ │ │ │ │ │ final class xtc.parser.PParser$PParserColumn extends xtc.parser.Column │ │ │ │ │ │ minor version: 0 │ │ │ │ │ │ - major version: 52 │ │ │ │ │ │ + major version: 61 │ │ │ │ │ │ flags: (0x0030) ACC_FINAL, ACC_SUPER │ │ │ │ │ │ this_class: #7 // xtc/parser/PParser$PParserColumn │ │ │ │ │ │ super_class: #2 // xtc/parser/Column │ │ │ │ │ │ - interfaces: 0, fields: 4, methods: 1, attributes: 2 │ │ │ │ │ │ + interfaces: 0, fields: 4, methods: 1, attributes: 3 │ │ │ │ │ │ Constant pool: │ │ │ │ │ │ #1 = Methodref #2.#3 // xtc/parser/Column."":()V │ │ │ │ │ │ #2 = Class #4 // xtc/parser/Column │ │ │ │ │ │ #3 = NameAndType #5:#6 // "":()V │ │ │ │ │ │ #4 = Utf8 xtc/parser/Column │ │ │ │ │ │ #5 = Utf8 │ │ │ │ │ │ #6 = Utf8 ()V │ │ │ │ │ │ @@ -24,30 +24,31 @@ │ │ │ │ │ │ #14 = Utf8 Lxtc/parser/PParser$Chunk3; │ │ │ │ │ │ #15 = Utf8 chunk4 │ │ │ │ │ │ #16 = Utf8 Lxtc/parser/PParser$Chunk4; │ │ │ │ │ │ #17 = Utf8 Code │ │ │ │ │ │ #18 = Utf8 LineNumberTable │ │ │ │ │ │ #19 = Utf8 SourceFile │ │ │ │ │ │ #20 = Utf8 PParser.java │ │ │ │ │ │ - #21 = Utf8 InnerClasses │ │ │ │ │ │ + #21 = Utf8 NestHost │ │ │ │ │ │ #22 = Class #23 // xtc/parser/PParser │ │ │ │ │ │ #23 = Utf8 xtc/parser/PParser │ │ │ │ │ │ - #24 = Utf8 PParserColumn │ │ │ │ │ │ - #25 = Class #26 // xtc/parser/PParser$Chunk1 │ │ │ │ │ │ - #26 = Utf8 xtc/parser/PParser$Chunk1 │ │ │ │ │ │ - #27 = Utf8 Chunk1 │ │ │ │ │ │ - #28 = Class #29 // xtc/parser/PParser$Chunk2 │ │ │ │ │ │ - #29 = Utf8 xtc/parser/PParser$Chunk2 │ │ │ │ │ │ - #30 = Utf8 Chunk2 │ │ │ │ │ │ - #31 = Class #32 // xtc/parser/PParser$Chunk3 │ │ │ │ │ │ - #32 = Utf8 xtc/parser/PParser$Chunk3 │ │ │ │ │ │ - #33 = Utf8 Chunk3 │ │ │ │ │ │ - #34 = Class #35 // xtc/parser/PParser$Chunk4 │ │ │ │ │ │ - #35 = Utf8 xtc/parser/PParser$Chunk4 │ │ │ │ │ │ - #36 = Utf8 Chunk4 │ │ │ │ │ │ + #24 = Utf8 InnerClasses │ │ │ │ │ │ + #25 = Utf8 PParserColumn │ │ │ │ │ │ + #26 = Class #27 // xtc/parser/PParser$Chunk1 │ │ │ │ │ │ + #27 = Utf8 xtc/parser/PParser$Chunk1 │ │ │ │ │ │ + #28 = Utf8 Chunk1 │ │ │ │ │ │ + #29 = Class #30 // xtc/parser/PParser$Chunk2 │ │ │ │ │ │ + #30 = Utf8 xtc/parser/PParser$Chunk2 │ │ │ │ │ │ + #31 = Utf8 Chunk2 │ │ │ │ │ │ + #32 = Class #33 // xtc/parser/PParser$Chunk3 │ │ │ │ │ │ + #33 = Utf8 xtc/parser/PParser$Chunk3 │ │ │ │ │ │ + #34 = Utf8 Chunk3 │ │ │ │ │ │ + #35 = Class #36 // xtc/parser/PParser$Chunk4 │ │ │ │ │ │ + #36 = Utf8 xtc/parser/PParser$Chunk4 │ │ │ │ │ │ + #37 = Utf8 Chunk4 │ │ │ │ │ │ { │ │ │ │ │ │ xtc.parser.PParser$Chunk1 chunk1; │ │ │ │ │ │ descriptor: Lxtc/parser/PParser$Chunk1; │ │ │ │ │ │ flags: (0x0000) │ │ │ │ │ │ │ │ │ │ │ │ xtc.parser.PParser$Chunk2 chunk2; │ │ │ │ │ │ descriptor: Lxtc/parser/PParser$Chunk2; │ │ │ │ │ │ @@ -69,13 +70,14 @@ │ │ │ │ │ │ 0: aload_0 │ │ │ │ │ │ 1: invokespecial #1 // Method xtc/parser/Column."":()V │ │ │ │ │ │ 4: return │ │ │ │ │ │ LineNumberTable: │ │ │ │ │ │ line 94: 0 │ │ │ │ │ │ } │ │ │ │ │ │ SourceFile: "PParser.java" │ │ │ │ │ │ +NestHost: class xtc/parser/PParser │ │ │ │ │ │ InnerClasses: │ │ │ │ │ │ - static final #24= #7 of #22; // PParserColumn=class xtc/parser/PParser$PParserColumn of class xtc/parser/PParser │ │ │ │ │ │ - static final #27= #25 of #22; // Chunk1=class xtc/parser/PParser$Chunk1 of class xtc/parser/PParser │ │ │ │ │ │ - static final #30= #28 of #22; // Chunk2=class xtc/parser/PParser$Chunk2 of class xtc/parser/PParser │ │ │ │ │ │ - static final #33= #31 of #22; // Chunk3=class xtc/parser/PParser$Chunk3 of class xtc/parser/PParser │ │ │ │ │ │ - static final #36= #34 of #22; // Chunk4=class xtc/parser/PParser$Chunk4 of class xtc/parser/PParser │ │ │ │ │ │ + static final #25= #7 of #22; // PParserColumn=class xtc/parser/PParser$PParserColumn of class xtc/parser/PParser │ │ │ │ │ │ + static final #28= #26 of #22; // Chunk1=class xtc/parser/PParser$Chunk1 of class xtc/parser/PParser │ │ │ │ │ │ + static final #31= #29 of #22; // Chunk2=class xtc/parser/PParser$Chunk2 of class xtc/parser/PParser │ │ │ │ │ │ + static final #34= #32 of #22; // Chunk3=class xtc/parser/PParser$Chunk3 of class xtc/parser/PParser │ │ │ │ │ │ + static final #37= #35 of #22; // Chunk4=class xtc/parser/PParser$Chunk4 of class xtc/parser/PParser │ │ │ │ ├── xtc/parser/PParser.class │ │ │ │ │ ├── procyon -ec {} │ │ │ │ │ │ @@ -1092,16 +1092,16 @@ │ │ │ │ │ │ final Result pSymbol = this.pSymbol(n); │ │ │ │ │ │ if (pSymbol.hasValue("&")) { │ │ │ │ │ │ final Result pSuffix = this.pSuffix(pSymbol.index); │ │ │ │ │ │ parseError = pSuffix.select(parseError); │ │ │ │ │ │ if (pSuffix.hasValue()) { │ │ │ │ │ │ final Element element = (Element)pSuffix.semanticValue(); │ │ │ │ │ │ Object o; │ │ │ │ │ │ - if (element instanceof Action) { │ │ │ │ │ │ - o = new SemanticPredicate((Action)element); │ │ │ │ │ │ + if (element instanceof final Action action) { │ │ │ │ │ │ + o = new SemanticPredicate(action); │ │ │ │ │ │ } │ │ │ │ │ │ else { │ │ │ │ │ │ o = new FollowedBy(element); │ │ │ │ │ │ } │ │ │ │ │ │ this.setLocation((Locatable)o, n); │ │ │ │ │ │ return (Result)pSuffix.createValue(o, parseError); │ │ │ │ │ │ } │ │ │ │ │ │ @@ -1118,16 +1118,16 @@ │ │ │ │ │ │ } │ │ │ │ │ │ final Result pSymbol3 = this.pSymbol(n); │ │ │ │ │ │ if (pSymbol3.hasValue("^")) { │ │ │ │ │ │ final Result pSuffix3 = this.pSuffix(pSymbol3.index); │ │ │ │ │ │ parseError = pSuffix3.select(parseError); │ │ │ │ │ │ if (pSuffix3.hasValue()) { │ │ │ │ │ │ final Element element2 = (Element)pSuffix3.semanticValue(); │ │ │ │ │ │ - if (element2 instanceof Action) { │ │ │ │ │ │ - final ParserAction parserAction = new ParserAction((Action)element2); │ │ │ │ │ │ + if (element2 instanceof final Action action2) { │ │ │ │ │ │ + final ParserAction parserAction = new ParserAction(action2); │ │ │ │ │ │ this.setLocation((Locatable)parserAction, n); │ │ │ │ │ │ return (Result)pSuffix3.createValue((Object)parserAction, parseError); │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ final Result pWord = this.pWord(n); │ │ │ │ │ │ ParseError parseError2 = pWord.select(parseError); │ │ │ │ │ │ @@ -1700,16 +1700,16 @@ │ │ │ │ │ │ Object decode; │ │ │ │ │ │ try { │ │ │ │ │ │ decode = Integer.decode(nm); │ │ │ │ │ │ } │ │ │ │ │ │ catch (final NumberFormatException ex) { │ │ │ │ │ │ decode = null; │ │ │ │ │ │ } │ │ │ │ │ │ - if (decode instanceof Locatable) { │ │ │ │ │ │ - this.setLocation((Locatable)decode, n); │ │ │ │ │ │ + if (decode instanceof final Locatable locatable) { │ │ │ │ │ │ + this.setLocation(locatable, n); │ │ │ │ │ │ } │ │ │ │ │ │ return (Result)pSpacing.createValue(decode, parseError); │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ final Result pName = this.pName(n); │ │ │ │ │ │ final ParseError select = pName.select(parseError); │ │ │ │ │ │ if (pName.hasValue()) { │ │ │ │ ├── xtc/parser/PParserState.class │ │ │ │ │ ├── javap -verbose -constants -s -l -private {} │ │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ - SHA-256 checksum 80dc6cb305f75d571b45dd68efe9ba0be0e60239828b91a7b77bc08b611bfda2 │ │ │ │ │ │ + SHA-256 checksum 429c28ae36617f22740ba62a3cbcb46451f7e652182f157538e930fabbb60725 │ │ │ │ │ │ Compiled from "PParserState.java" │ │ │ │ │ │ public class xtc.parser.PParserState implements xtc.util.State │ │ │ │ │ │ minor version: 0 │ │ │ │ │ │ - major version: 52 │ │ │ │ │ │ + major version: 61 │ │ │ │ │ │ flags: (0x0021) ACC_PUBLIC, ACC_SUPER │ │ │ │ │ │ this_class: #8 // xtc/parser/PParserState │ │ │ │ │ │ super_class: #2 // java/lang/Object │ │ │ │ │ │ interfaces: 1, fields: 3, methods: 10, attributes: 1 │ │ │ │ │ │ Constant pool: │ │ │ │ │ │ #1 = Methodref #2.#3 // java/lang/Object."":()V │ │ │ │ │ │ #2 = Class #4 // java/lang/Object │ │ │ │ ├── xtc/parser/ParseError.class │ │ │ │ │ ├── javap -verbose -constants -s -l -private {} │ │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ - SHA-256 checksum 732e116fc2203a459a0a34bde147e9bb245a95b3ccb9ac3ccc5c402ceb4387e8 │ │ │ │ │ │ + SHA-256 checksum e3be7055bc3635b75407ebad2990c454400f750b6bf2e14362be8fe83ce02063 │ │ │ │ │ │ Compiled from "ParseError.java" │ │ │ │ │ │ public final class xtc.parser.ParseError extends xtc.parser.Result │ │ │ │ │ │ minor version: 0 │ │ │ │ │ │ - major version: 52 │ │ │ │ │ │ + major version: 61 │ │ │ │ │ │ flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER │ │ │ │ │ │ this_class: #8 // xtc/parser/ParseError │ │ │ │ │ │ super_class: #2 // xtc/parser/Result │ │ │ │ │ │ interfaces: 0, fields: 2, methods: 11, attributes: 1 │ │ │ │ │ │ Constant pool: │ │ │ │ │ │ #1 = Methodref #2.#3 // xtc/parser/Result."":(I)V │ │ │ │ │ │ #2 = Class #4 // xtc/parser/Result │ │ │ │ ├── xtc/parser/ParseException.class │ │ │ │ │ ├── javap -verbose -constants -s -l -private {} │ │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ - SHA-256 checksum d27cfcb61a779857a2fccb51d56562448f4a3842bc544b101a69dcb1e6f0d341 │ │ │ │ │ │ + SHA-256 checksum b502108310b5040130348a1f2d401a04c6f2f7cb86b18a71cf5cae839b7ed790 │ │ │ │ │ │ Compiled from "ParseException.java" │ │ │ │ │ │ public class xtc.parser.ParseException extends java.lang.Exception │ │ │ │ │ │ minor version: 0 │ │ │ │ │ │ - major version: 52 │ │ │ │ │ │ + major version: 61 │ │ │ │ │ │ flags: (0x0021) ACC_PUBLIC, ACC_SUPER │ │ │ │ │ │ this_class: #7 // xtc/parser/ParseException │ │ │ │ │ │ super_class: #2 // java/lang/Exception │ │ │ │ │ │ interfaces: 0, fields: 0, methods: 1, attributes: 1 │ │ │ │ │ │ Constant pool: │ │ │ │ │ │ #1 = Methodref #2.#3 // java/lang/Exception."":(Ljava/lang/String;)V │ │ │ │ │ │ #2 = Class #4 // java/lang/Exception │ │ │ │ ├── xtc/parser/ParserBase.class │ │ │ │ │ ├── procyon -ec {} │ │ │ │ │ │ @@ -21,26 +21,26 @@ │ │ │ │ │ │ protected char[] yyData; │ │ │ │ │ │ protected Column[] yyColumns; │ │ │ │ │ │ │ │ │ │ │ │ public ParserBase(final Reader reader, final String s) { │ │ │ │ │ │ this(reader, s, 4095); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public ParserBase(final Reader yyReader, final String file, final int i) { │ │ │ │ │ │ + public ParserBase(final Reader yyReader, final String file, final int n) { │ │ │ │ │ │ if (null == file) { │ │ │ │ │ │ throw new NullPointerException("Null file"); │ │ │ │ │ │ } │ │ │ │ │ │ - if (i < 0) { │ │ │ │ │ │ - throw new IllegalArgumentException("Negative size: " + i); │ │ │ │ │ │ + if (n < 0) { │ │ │ │ │ │ + throw new IllegalArgumentException("Negative size: " + n); │ │ │ │ │ │ } │ │ │ │ │ │ this.yyReader = yyReader; │ │ │ │ │ │ this.yyCount = 0; │ │ │ │ │ │ this.yyEOF = false; │ │ │ │ │ │ - this.yyData = new char[i + 1]; │ │ │ │ │ │ - this.yyColumns = new Column[i + 1]; │ │ │ │ │ │ + this.yyData = new char[n + 1]; │ │ │ │ │ │ + this.yyColumns = new Column[n + 1]; │ │ │ │ │ │ final Column column = this.newColumn(); │ │ │ │ │ │ column.file = file; │ │ │ │ │ │ column.seenCR = false; │ │ │ │ │ │ column.line = 1; │ │ │ │ │ │ column.column = 1; │ │ │ │ │ │ this.yyColumns[0] = column; │ │ │ │ │ │ } │ │ │ │ │ │ @@ -174,75 +174,75 @@ │ │ │ │ │ │ return (offset == n) ? "" : new String(this.yyData, offset, n - offset); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public final boolean isEOF(final int n) { │ │ │ │ │ │ return this.yyEOF && n == this.yyCount - 1; │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public final String lineAt(int i) throws IOException { │ │ │ │ │ │ - if (0 > i) { │ │ │ │ │ │ - throw new IndexOutOfBoundsException("Parser index: " + i); │ │ │ │ │ │ - } │ │ │ │ │ │ - if (0 < i && 10 == this.character(i) && 13 == this.character(i - 1)) { │ │ │ │ │ │ - --i; │ │ │ │ │ │ - } │ │ │ │ │ │ - int n = i; │ │ │ │ │ │ - int n2 = i; │ │ │ │ │ │ - for (int n3 = this.character(n2); -1 != n3 && 13 != n3 && 10 != n3; n3 = this.character(n2)) { │ │ │ │ │ │ - ++n2; │ │ │ │ │ │ + public final String lineAt(int n) throws IOException { │ │ │ │ │ │ + if (0 > n) { │ │ │ │ │ │ + throw new IndexOutOfBoundsException("Parser index: " + n); │ │ │ │ │ │ + } │ │ │ │ │ │ + if (0 < n && 10 == this.character(n) && 13 == this.character(n - 1)) { │ │ │ │ │ │ + --n; │ │ │ │ │ │ + } │ │ │ │ │ │ + int n2 = n; │ │ │ │ │ │ + int n3 = n; │ │ │ │ │ │ + for (int n4 = this.character(n3); -1 != n4 && 13 != n4 && 10 != n4; n4 = this.character(n3)) { │ │ │ │ │ │ + ++n3; │ │ │ │ │ │ } │ │ │ │ │ │ - while (n) { │ │ │ │ │ │ - final int character = this.character(n - 1); │ │ │ │ │ │ + while (n2) { │ │ │ │ │ │ + final int character = this.character(n2 - 1); │ │ │ │ │ │ if (13 != character) { │ │ │ │ │ │ if (10 != character) { │ │ │ │ │ │ - --n; │ │ │ │ │ │ + --n2; │ │ │ │ │ │ continue; │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ - return this.difference(n, n2); │ │ │ │ │ │ + return this.difference(n2, n3); │ │ │ │ │ │ } │ │ │ │ │ │ - return this.difference(n, n2); │ │ │ │ │ │ + return this.difference(n2, n3); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public final Location location(final int n) { │ │ │ │ │ │ final Column column = this.column(n); │ │ │ │ │ │ return new Location(column.file, column.line, column.column); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - protected final void setLocation(final int i, final String file, final int n, final int n2) { │ │ │ │ │ │ + protected final void setLocation(final int n, final String file, final int line, final int column) { │ │ │ │ │ │ if (null == file) { │ │ │ │ │ │ throw new NullPointerException("Null file"); │ │ │ │ │ │ } │ │ │ │ │ │ - if (0 > n) { │ │ │ │ │ │ - throw new IllegalArgumentException("Invalid line number: " + n); │ │ │ │ │ │ + if (0 > line) { │ │ │ │ │ │ + throw new IllegalArgumentException("Invalid line number: " + line); │ │ │ │ │ │ } │ │ │ │ │ │ - if (1 > n2) { │ │ │ │ │ │ - throw new IllegalArgumentException("Invalid column number: " + n2); │ │ │ │ │ │ + if (1 > column) { │ │ │ │ │ │ + throw new IllegalArgumentException("Invalid column number: " + column); │ │ │ │ │ │ } │ │ │ │ │ │ - if (i < 0 || this.yyCount <= i) { │ │ │ │ │ │ - throw new IndexOutOfBoundsException("Parser index: " + i); │ │ │ │ │ │ + if (n < 0 || this.yyCount <= n) { │ │ │ │ │ │ + throw new IndexOutOfBoundsException("Parser index: " + n); │ │ │ │ │ │ } │ │ │ │ │ │ - final Column column = this.yyColumns[i]; │ │ │ │ │ │ - if (null != column) { │ │ │ │ │ │ - if (file.equals(column.file) && n == column.line && n2 == column.column) { │ │ │ │ │ │ + final Column column2 = this.yyColumns[n]; │ │ │ │ │ │ + if (null != column2) { │ │ │ │ │ │ + if (file.equals(column2.file) && line == column2.line && column == column2.column) { │ │ │ │ │ │ return; │ │ │ │ │ │ } │ │ │ │ │ │ - if (0 != i) { │ │ │ │ │ │ - throw new IllegalStateException("Location at index " + i + " is already committed"); │ │ │ │ │ │ + if (0 != n) { │ │ │ │ │ │ + throw new IllegalStateException("Location at index " + n + " is already committed"); │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ - for (int j = i + 1; j < this.yyCount; ++j) { │ │ │ │ │ │ - if (null != this.yyColumns[j]) { │ │ │ │ │ │ - throw new IllegalStateException("Location at index " + i + " is already committed"); │ │ │ │ │ │ + for (int i = n + 1; i < this.yyCount; ++i) { │ │ │ │ │ │ + if (null != this.yyColumns[i]) { │ │ │ │ │ │ + throw new IllegalStateException("Location at index " + n + " is already committed"); │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ - final Column column2 = this.column(i); │ │ │ │ │ │ - column2.file = file; │ │ │ │ │ │ - column2.line = n; │ │ │ │ │ │ - column2.column = n2; │ │ │ │ │ │ + final Column column3 = this.column(n); │ │ │ │ │ │ + column3.file = file; │ │ │ │ │ │ + column3.line = line; │ │ │ │ │ │ + column3.column = column; │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public final void setLocation(final Locatable locatable, final int n) { │ │ │ │ │ │ if (null != locatable && !locatable.hasLocation()) { │ │ │ │ │ │ final Column column = this.column(n); │ │ │ │ │ │ locatable.setLocation(new Location(column.file, column.line, column.column)); │ │ │ │ │ │ } │ │ │ │ ├── xtc/parser/Result.class │ │ │ │ │ ├── javap -verbose -constants -s -l -private {} │ │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ - SHA-256 checksum 876584179a9e41990db16a7815e1448baccb64ce55b3fd14a3755cdaac69e246 │ │ │ │ │ │ + SHA-256 checksum 9043dc1c962cf313c6912ee96a64531370fa0ad8582de5cc82e2e3688440b9a6 │ │ │ │ │ │ Compiled from "Result.java" │ │ │ │ │ │ public abstract class xtc.parser.Result │ │ │ │ │ │ minor version: 0 │ │ │ │ │ │ - major version: 52 │ │ │ │ │ │ + major version: 61 │ │ │ │ │ │ flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT │ │ │ │ │ │ this_class: #8 // xtc/parser/Result │ │ │ │ │ │ super_class: #2 // java/lang/Object │ │ │ │ │ │ interfaces: 0, fields: 1, methods: 9, attributes: 1 │ │ │ │ │ │ Constant pool: │ │ │ │ │ │ #1 = Methodref #2.#3 // java/lang/Object."":()V │ │ │ │ │ │ #2 = Class #4 // java/lang/Object │ │ │ │ ├── xtc/parser/SemanticValue.class │ │ │ │ │ ├── javap -verbose -constants -s -l -private {} │ │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ - SHA-256 checksum 2037cdafe4d363a594344ee0f982a3eeaa03ee03fdc6366918e21a5d32edf643 │ │ │ │ │ │ + SHA-256 checksum 2c0d4740fae1deae7c4c03d40fbbe6d2c5612fad418199c7bcb570495811aa15 │ │ │ │ │ │ Compiled from "SemanticValue.java" │ │ │ │ │ │ public final class xtc.parser.SemanticValue extends xtc.parser.Result │ │ │ │ │ │ minor version: 0 │ │ │ │ │ │ - major version: 52 │ │ │ │ │ │ + major version: 61 │ │ │ │ │ │ flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER │ │ │ │ │ │ this_class: #8 // xtc/parser/SemanticValue │ │ │ │ │ │ super_class: #14 // xtc/parser/Result │ │ │ │ │ │ interfaces: 0, fields: 2, methods: 10, attributes: 1 │ │ │ │ │ │ Constant pool: │ │ │ │ │ │ #1 = Fieldref #2.#3 // xtc/parser/ParseError.DUMMY:Lxtc/parser/ParseError; │ │ │ │ │ │ #2 = Class #4 // xtc/parser/ParseError │ │ │ │ ├── xtc/tree/Annotation.class │ │ │ │ │ ├── javap -verbose -constants -s -l -private {} │ │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ - SHA-256 checksum 5d5adf4a6831e6f7207ae0e108b8cba003ef8e3421358b2feee546ff7d4630dd │ │ │ │ │ │ + SHA-256 checksum 509ce7bcfb00469e329e4c6a218c3f92e092fd54ae192d563345220ba9623cf8 │ │ │ │ │ │ Compiled from "Annotation.java" │ │ │ │ │ │ public abstract class xtc.tree.Annotation extends xtc.tree.Node │ │ │ │ │ │ minor version: 0 │ │ │ │ │ │ - major version: 52 │ │ │ │ │ │ + major version: 61 │ │ │ │ │ │ flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT │ │ │ │ │ │ this_class: #8 // xtc/tree/Annotation │ │ │ │ │ │ super_class: #2 // xtc/tree/Node │ │ │ │ │ │ interfaces: 0, fields: 1, methods: 9, attributes: 1 │ │ │ │ │ │ Constant pool: │ │ │ │ │ │ #1 = Methodref #2.#3 // xtc/tree/Node."":()V │ │ │ │ │ │ #2 = Class #4 // xtc/tree/Node │ │ │ │ ├── xtc/tree/Attribute.class │ │ │ │ │ ├── procyon -ec {} │ │ │ │ │ │ @@ -25,22 +25,22 @@ │ │ │ │ │ │ return true; │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public int size() { │ │ │ │ │ │ return (null == this.value) ? 1 : 2; │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public Object get(final int i) { │ │ │ │ │ │ - if (0 == i) { │ │ │ │ │ │ + public Object get(final int n) { │ │ │ │ │ │ + if (0 == n) { │ │ │ │ │ │ return this.name; │ │ │ │ │ │ } │ │ │ │ │ │ - if (null != this.value && 1 == i) { │ │ │ │ │ │ + if (null != this.value && 1 == n) { │ │ │ │ │ │ return this.value; │ │ │ │ │ │ } │ │ │ │ │ │ - throw new IndexOutOfBoundsException("Index : " + i + ", Size: " + ((null == this.value) ? 1 : 2)); │ │ │ │ │ │ + throw new IndexOutOfBoundsException("Index : " + n + ", Size: " + ((null == this.value) ? 1 : 2)); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public Object set(final int n, final Object o) { │ │ │ │ │ │ throw new IllegalStateException("Attributes are immutable"); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public String getName() { │ │ │ │ │ │ @@ -81,24 +81,24 @@ │ │ │ │ │ │ for (final Object next : (Iterable)this.value) { │ │ │ │ │ │ if (n != 0) { │ │ │ │ │ │ n = 0; │ │ │ │ │ │ } │ │ │ │ │ │ else { │ │ │ │ │ │ appendable.append(", "); │ │ │ │ │ │ } │ │ │ │ │ │ - if (next instanceof Node) { │ │ │ │ │ │ - ((Node)next).write(appendable); │ │ │ │ │ │ + if (next instanceof final Node node) { │ │ │ │ │ │ + node.write(appendable); │ │ │ │ │ │ } │ │ │ │ │ │ else { │ │ │ │ │ │ appendable.append(next.toString()); │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ - else if (this.value instanceof Node) { │ │ │ │ │ │ - ((Node)this.value).write(appendable); │ │ │ │ │ │ + else if (this.value instanceof final Node node2) { │ │ │ │ │ │ + node2.write(appendable); │ │ │ │ │ │ } │ │ │ │ │ │ else { │ │ │ │ │ │ appendable.append(this.value.toString()); │ │ │ │ │ │ } │ │ │ │ │ │ appendable.append(')'); │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ ├── xtc/tree/Comment$Kind.class │ │ │ │ │ ├── javap -verbose -constants -s -l -private {} │ │ │ │ │ │ @@ -1,16 +1,16 @@ │ │ │ │ │ │ - SHA-256 checksum c48b0b9fb9f55782541d55cb0b5bef69c4b33f8605df431477b2cf734644fe5d │ │ │ │ │ │ + SHA-256 checksum 26a1f48d98d02a43c23dc7fd1cd41eb4e8574553cca4a4ecf2aa55ffc137d46f │ │ │ │ │ │ Compiled from "Comment.java" │ │ │ │ │ │ public final class xtc.tree.Comment$Kind extends java.lang.Enum │ │ │ │ │ │ minor version: 0 │ │ │ │ │ │ - major version: 52 │ │ │ │ │ │ + major version: 61 │ │ │ │ │ │ flags: (0x4031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER, ACC_ENUM │ │ │ │ │ │ this_class: #1 // xtc/tree/Comment$Kind │ │ │ │ │ │ super_class: #23 // java/lang/Enum │ │ │ │ │ │ - interfaces: 0, fields: 4, methods: 5, attributes: 3 │ │ │ │ │ │ + interfaces: 0, fields: 4, methods: 5, attributes: 4 │ │ │ │ │ │ Constant pool: │ │ │ │ │ │ #1 = Class #2 // xtc/tree/Comment$Kind │ │ │ │ │ │ #2 = Utf8 xtc/tree/Comment$Kind │ │ │ │ │ │ #3 = Fieldref #1.#4 // xtc/tree/Comment$Kind.SINGLE_LINE:Lxtc/tree/Comment$Kind; │ │ │ │ │ │ #4 = NameAndType #5:#6 // SINGLE_LINE:Lxtc/tree/Comment$Kind; │ │ │ │ │ │ #5 = Utf8 SINGLE_LINE │ │ │ │ │ │ #6 = Utf8 Lxtc/tree/Comment$Kind; │ │ │ │ │ │ @@ -53,18 +53,19 @@ │ │ │ │ │ │ #43 = Utf8 (Ljava/lang/String;)Lxtc/tree/Comment$Kind; │ │ │ │ │ │ #44 = Utf8 Signature │ │ │ │ │ │ #45 = Utf8 ()V │ │ │ │ │ │ #46 = Utf8 │ │ │ │ │ │ #47 = Utf8 Ljava/lang/Enum; │ │ │ │ │ │ #48 = Utf8 SourceFile │ │ │ │ │ │ #49 = Utf8 Comment.java │ │ │ │ │ │ - #50 = Utf8 InnerClasses │ │ │ │ │ │ + #50 = Utf8 NestHost │ │ │ │ │ │ #51 = Class #52 // xtc/tree/Comment │ │ │ │ │ │ #52 = Utf8 xtc/tree/Comment │ │ │ │ │ │ - #53 = Utf8 Kind │ │ │ │ │ │ + #53 = Utf8 InnerClasses │ │ │ │ │ │ + #54 = Utf8 Kind │ │ │ │ │ │ { │ │ │ │ │ │ public static final xtc.tree.Comment$Kind SINGLE_LINE; │ │ │ │ │ │ descriptor: Lxtc/tree/Comment$Kind; │ │ │ │ │ │ flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ENUM │ │ │ │ │ │ │ │ │ │ │ │ public static final xtc.tree.Comment$Kind MULTIPLE_LINES; │ │ │ │ │ │ descriptor: Lxtc/tree/Comment$Kind; │ │ │ │ │ │ @@ -170,9 +171,10 @@ │ │ │ │ │ │ line 36: 0 │ │ │ │ │ │ line 37: 13 │ │ │ │ │ │ line 38: 26 │ │ │ │ │ │ line 35: 39 │ │ │ │ │ │ } │ │ │ │ │ │ Signature: #47 // Ljava/lang/Enum; │ │ │ │ │ │ SourceFile: "Comment.java" │ │ │ │ │ │ +NestHost: class xtc/tree/Comment │ │ │ │ │ │ InnerClasses: │ │ │ │ │ │ - public static final #53= #1 of #51; // Kind=class xtc/tree/Comment$Kind of class xtc/tree/Comment │ │ │ │ │ │ + public static final #54= #1 of #51; // Kind=class xtc/tree/Comment$Kind of class xtc/tree/Comment │ │ │ │ ├── xtc/tree/Comment.class │ │ │ │ │ ├── javap -verbose -constants -s -l -private {} │ │ │ │ │ │ @@ -1,16 +1,16 @@ │ │ │ │ │ │ - SHA-256 checksum 3180363cd284345c626d55b3e65862dc228e0bb8c8fbcb9349886e858a9d44a7 │ │ │ │ │ │ + SHA-256 checksum f48de41f058ae802c07b5329cc74a424a4a9789c007e937873afbf45e1095f60 │ │ │ │ │ │ Compiled from "Comment.java" │ │ │ │ │ │ public class xtc.tree.Comment extends xtc.tree.Annotation │ │ │ │ │ │ minor version: 0 │ │ │ │ │ │ - major version: 52 │ │ │ │ │ │ + major version: 61 │ │ │ │ │ │ flags: (0x0021) ACC_PUBLIC, ACC_SUPER │ │ │ │ │ │ this_class: #2 // xtc/tree/Comment │ │ │ │ │ │ super_class: #8 // xtc/tree/Annotation │ │ │ │ │ │ - interfaces: 0, fields: 2, methods: 5, attributes: 2 │ │ │ │ │ │ + interfaces: 0, fields: 2, methods: 5, attributes: 3 │ │ │ │ │ │ Constant pool: │ │ │ │ │ │ #1 = Methodref #2.#3 // xtc/tree/Comment."":(Lxtc/tree/Comment$Kind;Ljava/util/List;Lxtc/tree/Node;)V │ │ │ │ │ │ #2 = Class #4 // xtc/tree/Comment │ │ │ │ │ │ #3 = NameAndType #5:#6 // "":(Lxtc/tree/Comment$Kind;Ljava/util/List;Lxtc/tree/Node;)V │ │ │ │ │ │ #4 = Utf8 xtc/tree/Comment │ │ │ │ │ │ #5 = Utf8 │ │ │ │ │ │ #6 = Utf8 (Lxtc/tree/Comment$Kind;Ljava/util/List;Lxtc/tree/Node;)V │ │ │ │ │ │ @@ -104,16 +104,17 @@ │ │ │ │ │ │ #94 = Utf8 StackMapTable │ │ │ │ │ │ #95 = Utf8 documentation │ │ │ │ │ │ #96 = Utf8 (Ljava/lang/String;)Lxtc/tree/Comment; │ │ │ │ │ │ #97 = Class #98 // "[Ljava/lang/String;" │ │ │ │ │ │ #98 = Utf8 [Ljava/lang/String; │ │ │ │ │ │ #99 = Utf8 SourceFile │ │ │ │ │ │ #100 = Utf8 Comment.java │ │ │ │ │ │ - #101 = Utf8 InnerClasses │ │ │ │ │ │ - #102 = Utf8 Kind │ │ │ │ │ │ + #101 = Utf8 NestMembers │ │ │ │ │ │ + #102 = Utf8 InnerClasses │ │ │ │ │ │ + #103 = Utf8 Kind │ │ │ │ │ │ { │ │ │ │ │ │ public xtc.tree.Comment$Kind kind; │ │ │ │ │ │ descriptor: Lxtc/tree/Comment$Kind; │ │ │ │ │ │ flags: (0x0001) ACC_PUBLIC │ │ │ │ │ │ │ │ │ │ │ │ public java.util.List text; │ │ │ │ │ │ descriptor: Ljava/util/List; │ │ │ │ │ │ @@ -420,9 +421,11 @@ │ │ │ │ │ │ frame_type = 253 /* append */ │ │ │ │ │ │ offset_delta = 16 │ │ │ │ │ │ locals = [ class java/util/List, int ] │ │ │ │ │ │ frame_type = 250 /* chop */ │ │ │ │ │ │ offset_delta = 23 │ │ │ │ │ │ } │ │ │ │ │ │ SourceFile: "Comment.java" │ │ │ │ │ │ +NestMembers: │ │ │ │ │ │ + xtc/tree/Comment$Kind │ │ │ │ │ │ InnerClasses: │ │ │ │ │ │ - public static final #102= #81 of #2; // Kind=class xtc/tree/Comment$Kind of class xtc/tree/Comment │ │ │ │ │ │ + public static final #103= #81 of #2; // Kind=class xtc/tree/Comment$Kind of class xtc/tree/Comment │ │ │ │ ├── xtc/tree/GNode$Fixed.class │ │ │ │ │ ├── javap -verbose -constants -s -l -private {} │ │ │ │ │ │ @@ -1,16 +1,16 @@ │ │ │ │ │ │ - SHA-256 checksum cf26b93b3739f7c248577e2b346b356fcec141e03bad6845b2fe40e8bde72fd3 │ │ │ │ │ │ + SHA-256 checksum fc9aaf623682f5c10aaac54bd2ad428fe8c9e3afd2dbdb0fb79b3976a58dd7c7 │ │ │ │ │ │ Compiled from "GNode.java" │ │ │ │ │ │ abstract class xtc.tree.GNode$Fixed extends xtc.tree.GNode │ │ │ │ │ │ minor version: 0 │ │ │ │ │ │ - major version: 52 │ │ │ │ │ │ + major version: 61 │ │ │ │ │ │ flags: (0x0420) ACC_SUPER, ACC_ABSTRACT │ │ │ │ │ │ this_class: #12 // xtc/tree/GNode$Fixed │ │ │ │ │ │ super_class: #2 // xtc/tree/GNode │ │ │ │ │ │ - interfaces: 0, fields: 0, methods: 8, attributes: 2 │ │ │ │ │ │ + interfaces: 0, fields: 0, methods: 8, attributes: 3 │ │ │ │ │ │ Constant pool: │ │ │ │ │ │ #1 = Methodref #2.#3 // xtc/tree/GNode."":(Ljava/lang/String;)V │ │ │ │ │ │ #2 = Class #4 // xtc/tree/GNode │ │ │ │ │ │ #3 = NameAndType #5:#6 // "":(Ljava/lang/String;)V │ │ │ │ │ │ #4 = Utf8 xtc/tree/GNode │ │ │ │ │ │ #5 = Utf8 │ │ │ │ │ │ #6 = Utf8 (Ljava/lang/String;)V │ │ │ │ │ │ @@ -36,16 +36,17 @@ │ │ │ │ │ │ #26 = Utf8 (Ljava/util/Collection<*>;)Lxtc/tree/Node; │ │ │ │ │ │ #27 = Utf8 (ILjava/util/Collection;)Lxtc/tree/Node; │ │ │ │ │ │ #28 = Utf8 (ILjava/util/Collection<*>;)Lxtc/tree/Node; │ │ │ │ │ │ #29 = Utf8 remove │ │ │ │ │ │ #30 = Utf8 (I)Ljava/lang/Object; │ │ │ │ │ │ #31 = Utf8 SourceFile │ │ │ │ │ │ #32 = Utf8 GNode.java │ │ │ │ │ │ - #33 = Utf8 InnerClasses │ │ │ │ │ │ - #34 = Utf8 Fixed │ │ │ │ │ │ + #33 = Utf8 NestHost │ │ │ │ │ │ + #34 = Utf8 InnerClasses │ │ │ │ │ │ + #35 = Utf8 Fixed │ │ │ │ │ │ { │ │ │ │ │ │ xtc.tree.GNode$Fixed(java.lang.String); │ │ │ │ │ │ descriptor: (Ljava/lang/String;)V │ │ │ │ │ │ flags: (0x0000) │ │ │ │ │ │ Code: │ │ │ │ │ │ stack=2, locals=2, args_size=2 │ │ │ │ │ │ 0: aload_0 │ │ │ │ │ │ @@ -148,9 +149,10 @@ │ │ │ │ │ │ 4: ldc #9 // String Generic node with a fixed number of children │ │ │ │ │ │ 6: invokespecial #11 // Method java/lang/UnsupportedOperationException."":(Ljava/lang/String;)V │ │ │ │ │ │ 9: athrow │ │ │ │ │ │ LineNumberTable: │ │ │ │ │ │ line 91: 0 │ │ │ │ │ │ } │ │ │ │ │ │ SourceFile: "GNode.java" │ │ │ │ │ │ +NestHost: class xtc/tree/GNode │ │ │ │ │ │ InnerClasses: │ │ │ │ │ │ - static abstract #34= #12 of #2; // Fixed=class xtc/tree/GNode$Fixed of class xtc/tree/GNode │ │ │ │ │ │ + static abstract #35= #12 of #2; // Fixed=class xtc/tree/GNode$Fixed of class xtc/tree/GNode │ │ │ │ ├── xtc/tree/GNode$Fixed0.class │ │ │ │ │ ├── procyon -ec {} │ │ │ │ │ │ @@ -13,18 +13,18 @@ │ │ │ │ │ │ super(fixed0.name); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public int size() { │ │ │ │ │ │ return 0; │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public Object get(final int i) { │ │ │ │ │ │ - throw new IndexOutOfBoundsException("Index: " + i + ", Size: 0"); │ │ │ │ │ │ + public Object get(final int n) { │ │ │ │ │ │ + throw new IndexOutOfBoundsException("Index: " + n + ", Size: 0"); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public Object set(final int i, final Object o) { │ │ │ │ │ │ - throw new IndexOutOfBoundsException("Index: " + i + ", Size: 0"); │ │ │ │ │ │ + public Object set(final int n, final Object o) { │ │ │ │ │ │ + throw new IndexOutOfBoundsException("Index: " + n + ", Size: 0"); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public void addAllTo(final Collection collection) { │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ ├── xtc/tree/GNode$Fixed1.class │ │ │ │ │ ├── procyon -ec {} │ │ │ │ │ │ @@ -16,27 +16,27 @@ │ │ │ │ │ │ this(fixed1.name, fixed1.c1); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public int size() { │ │ │ │ │ │ return 1; │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public Object get(final int i) { │ │ │ │ │ │ - if (0 == i) { │ │ │ │ │ │ + public Object get(final int n) { │ │ │ │ │ │ + if (0 == n) { │ │ │ │ │ │ return this.c1; │ │ │ │ │ │ } │ │ │ │ │ │ - throw new IndexOutOfBoundsException("Index: " + i + ", Size: 1"); │ │ │ │ │ │ + throw new IndexOutOfBoundsException("Index: " + n + ", Size: 1"); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public Object set(final int i, final Object c1) { │ │ │ │ │ │ - if (0 == i) { │ │ │ │ │ │ + public Object set(final int n, final Object c1) { │ │ │ │ │ │ + if (0 == n) { │ │ │ │ │ │ final Object c2 = this.c1; │ │ │ │ │ │ this.c1 = c1; │ │ │ │ │ │ return c2; │ │ │ │ │ │ } │ │ │ │ │ │ - throw new IndexOutOfBoundsException("Index: " + i + ", Size: 1"); │ │ │ │ │ │ + throw new IndexOutOfBoundsException("Index: " + n + ", Size: 1"); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public void addAllTo(final Collection collection) { │ │ │ │ │ │ collection.add(this.c1); │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ ├── xtc/tree/GNode$Fixed2.class │ │ │ │ │ ├── procyon -ec {} │ │ │ │ │ │ @@ -18,42 +18,42 @@ │ │ │ │ │ │ this(fixed2.name, fixed2.c1, fixed2.c2); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public int size() { │ │ │ │ │ │ return 2; │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public Object get(final int i) { │ │ │ │ │ │ - switch (i) { │ │ │ │ │ │ + public Object get(final int n) { │ │ │ │ │ │ + switch (n) { │ │ │ │ │ │ case 0: { │ │ │ │ │ │ return this.c1; │ │ │ │ │ │ } │ │ │ │ │ │ case 1: { │ │ │ │ │ │ return this.c2; │ │ │ │ │ │ } │ │ │ │ │ │ default: { │ │ │ │ │ │ - throw new IndexOutOfBoundsException("Index: " + i + ", Size: 2"); │ │ │ │ │ │ + throw new IndexOutOfBoundsException("Index: " + n + ", Size: 2"); │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public Object set(final int i, final Object o) { │ │ │ │ │ │ - switch (i) { │ │ │ │ │ │ + public Object set(final int n, final Object o) { │ │ │ │ │ │ + switch (n) { │ │ │ │ │ │ case 0: { │ │ │ │ │ │ final Object c1 = this.c1; │ │ │ │ │ │ this.c1 = o; │ │ │ │ │ │ return c1; │ │ │ │ │ │ } │ │ │ │ │ │ case 1: { │ │ │ │ │ │ final Object c2 = this.c2; │ │ │ │ │ │ this.c2 = o; │ │ │ │ │ │ return c2; │ │ │ │ │ │ } │ │ │ │ │ │ default: { │ │ │ │ │ │ - throw new IndexOutOfBoundsException("Index: " + i + ", Size: 2"); │ │ │ │ │ │ + throw new IndexOutOfBoundsException("Index: " + n + ", Size: 2"); │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public void addAllTo(final Collection collection) { │ │ │ │ │ │ collection.add(this.c1); │ │ │ │ │ │ collection.add(this.c2); │ │ │ │ ├── xtc/tree/GNode$Fixed3.class │ │ │ │ │ ├── procyon -ec {} │ │ │ │ │ │ @@ -20,33 +20,33 @@ │ │ │ │ │ │ this(fixed3.name, fixed3.c1, fixed3.c2, fixed3.c3); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public int size() { │ │ │ │ │ │ return 3; │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public Object get(final int i) { │ │ │ │ │ │ - switch (i) { │ │ │ │ │ │ + public Object get(final int n) { │ │ │ │ │ │ + switch (n) { │ │ │ │ │ │ case 0: { │ │ │ │ │ │ return this.c1; │ │ │ │ │ │ } │ │ │ │ │ │ case 1: { │ │ │ │ │ │ return this.c2; │ │ │ │ │ │ } │ │ │ │ │ │ case 2: { │ │ │ │ │ │ return this.c3; │ │ │ │ │ │ } │ │ │ │ │ │ default: { │ │ │ │ │ │ - throw new IndexOutOfBoundsException("Index: " + i + ", Size: 3"); │ │ │ │ │ │ + throw new IndexOutOfBoundsException("Index: " + n + ", Size: 3"); │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public Object set(final int i, final Object c3) { │ │ │ │ │ │ - switch (i) { │ │ │ │ │ │ + public Object set(final int n, final Object c3) { │ │ │ │ │ │ + switch (n) { │ │ │ │ │ │ case 0: { │ │ │ │ │ │ final Object c4 = this.c1; │ │ │ │ │ │ this.c1 = c3; │ │ │ │ │ │ return c4; │ │ │ │ │ │ } │ │ │ │ │ │ case 1: { │ │ │ │ │ │ final Object c5 = this.c2; │ │ │ │ │ │ @@ -55,15 +55,15 @@ │ │ │ │ │ │ } │ │ │ │ │ │ case 2: { │ │ │ │ │ │ final Object c6 = this.c3; │ │ │ │ │ │ this.c3 = c3; │ │ │ │ │ │ return c6; │ │ │ │ │ │ } │ │ │ │ │ │ default: { │ │ │ │ │ │ - throw new IndexOutOfBoundsException("Index: " + i + ", Size: 3"); │ │ │ │ │ │ + throw new IndexOutOfBoundsException("Index: " + n + ", Size: 3"); │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public void addAllTo(final Collection collection) { │ │ │ │ │ │ collection.add(this.c1); │ │ │ │ │ │ collection.add(this.c2); │ │ │ │ ├── xtc/tree/GNode$Fixed4.class │ │ │ │ │ ├── procyon -ec {} │ │ │ │ │ │ @@ -22,36 +22,36 @@ │ │ │ │ │ │ this(fixed4.name, fixed4.c1, fixed4.c2, fixed4.c3, fixed4.c4); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public int size() { │ │ │ │ │ │ return 4; │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public Object get(final int i) { │ │ │ │ │ │ - switch (i) { │ │ │ │ │ │ + public Object get(final int n) { │ │ │ │ │ │ + switch (n) { │ │ │ │ │ │ case 0: { │ │ │ │ │ │ return this.c1; │ │ │ │ │ │ } │ │ │ │ │ │ case 1: { │ │ │ │ │ │ return this.c2; │ │ │ │ │ │ } │ │ │ │ │ │ case 2: { │ │ │ │ │ │ return this.c3; │ │ │ │ │ │ } │ │ │ │ │ │ case 3: { │ │ │ │ │ │ return this.c4; │ │ │ │ │ │ } │ │ │ │ │ │ default: { │ │ │ │ │ │ - throw new IndexOutOfBoundsException("Index: " + i + ", Size: 4"); │ │ │ │ │ │ + throw new IndexOutOfBoundsException("Index: " + n + ", Size: 4"); │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public Object set(final int i, final Object o) { │ │ │ │ │ │ - switch (i) { │ │ │ │ │ │ + public Object set(final int n, final Object o) { │ │ │ │ │ │ + switch (n) { │ │ │ │ │ │ case 0: { │ │ │ │ │ │ final Object c1 = this.c1; │ │ │ │ │ │ this.c1 = o; │ │ │ │ │ │ return c1; │ │ │ │ │ │ } │ │ │ │ │ │ case 1: { │ │ │ │ │ │ final Object c2 = this.c2; │ │ │ │ │ │ @@ -65,15 +65,15 @@ │ │ │ │ │ │ } │ │ │ │ │ │ case 3: { │ │ │ │ │ │ final Object c4 = this.c4; │ │ │ │ │ │ this.c4 = o; │ │ │ │ │ │ return c4; │ │ │ │ │ │ } │ │ │ │ │ │ default: { │ │ │ │ │ │ - throw new IndexOutOfBoundsException("Index: " + i + ", Size: 4"); │ │ │ │ │ │ + throw new IndexOutOfBoundsException("Index: " + n + ", Size: 4"); │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public void addAllTo(final Collection collection) { │ │ │ │ │ │ collection.add(this.c1); │ │ │ │ │ │ collection.add(this.c2); │ │ │ │ ├── xtc/tree/GNode$Fixed5.class │ │ │ │ │ ├── procyon -ec {} │ │ │ │ │ │ @@ -24,16 +24,16 @@ │ │ │ │ │ │ this(fixed5.name, fixed5.c1, fixed5.c2, fixed5.c3, fixed5.c4, fixed5.c5); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public int size() { │ │ │ │ │ │ return 5; │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public Object get(final int i) { │ │ │ │ │ │ - switch (i) { │ │ │ │ │ │ + public Object get(final int n) { │ │ │ │ │ │ + switch (n) { │ │ │ │ │ │ case 0: { │ │ │ │ │ │ return this.c1; │ │ │ │ │ │ } │ │ │ │ │ │ case 1: { │ │ │ │ │ │ return this.c2; │ │ │ │ │ │ } │ │ │ │ │ │ case 2: { │ │ │ │ │ │ @@ -42,21 +42,21 @@ │ │ │ │ │ │ case 3: { │ │ │ │ │ │ return this.c4; │ │ │ │ │ │ } │ │ │ │ │ │ case 4: { │ │ │ │ │ │ return this.c5; │ │ │ │ │ │ } │ │ │ │ │ │ default: { │ │ │ │ │ │ - throw new IndexOutOfBoundsException("Index: " + i + ", Size: 5"); │ │ │ │ │ │ + throw new IndexOutOfBoundsException("Index: " + n + ", Size: 5"); │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public Object set(final int i, final Object c5) { │ │ │ │ │ │ - switch (i) { │ │ │ │ │ │ + public Object set(final int n, final Object c5) { │ │ │ │ │ │ + switch (n) { │ │ │ │ │ │ case 0: { │ │ │ │ │ │ final Object c6 = this.c1; │ │ │ │ │ │ this.c1 = c5; │ │ │ │ │ │ return c6; │ │ │ │ │ │ } │ │ │ │ │ │ case 1: { │ │ │ │ │ │ final Object c7 = this.c2; │ │ │ │ │ │ @@ -75,15 +75,15 @@ │ │ │ │ │ │ } │ │ │ │ │ │ case 4: { │ │ │ │ │ │ final Object c10 = this.c5; │ │ │ │ │ │ this.c5 = c5; │ │ │ │ │ │ return c10; │ │ │ │ │ │ } │ │ │ │ │ │ default: { │ │ │ │ │ │ - throw new IndexOutOfBoundsException("Index: " + i + ", Size: 5"); │ │ │ │ │ │ + throw new IndexOutOfBoundsException("Index: " + n + ", Size: 5"); │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public void addAllTo(final Collection collection) { │ │ │ │ │ │ collection.add(this.c1); │ │ │ │ │ │ collection.add(this.c2); │ │ │ │ ├── xtc/tree/GNode$Fixed6.class │ │ │ │ │ ├── procyon -ec {} │ │ │ │ │ │ @@ -26,16 +26,16 @@ │ │ │ │ │ │ this(fixed6.name, fixed6.c1, fixed6.c2, fixed6.c3, fixed6.c4, fixed6.c5, fixed6.c6); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public int size() { │ │ │ │ │ │ return 6; │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public Object get(final int i) { │ │ │ │ │ │ - switch (i) { │ │ │ │ │ │ + public Object get(final int n) { │ │ │ │ │ │ + switch (n) { │ │ │ │ │ │ case 0: { │ │ │ │ │ │ return this.c1; │ │ │ │ │ │ } │ │ │ │ │ │ case 1: { │ │ │ │ │ │ return this.c2; │ │ │ │ │ │ } │ │ │ │ │ │ case 2: { │ │ │ │ │ │ @@ -47,21 +47,21 @@ │ │ │ │ │ │ case 4: { │ │ │ │ │ │ return this.c5; │ │ │ │ │ │ } │ │ │ │ │ │ case 5: { │ │ │ │ │ │ return this.c6; │ │ │ │ │ │ } │ │ │ │ │ │ default: { │ │ │ │ │ │ - throw new IndexOutOfBoundsException("Index: " + i + ", Size: 6"); │ │ │ │ │ │ + throw new IndexOutOfBoundsException("Index: " + n + ", Size: 6"); │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public Object set(final int i, final Object o) { │ │ │ │ │ │ - switch (i) { │ │ │ │ │ │ + public Object set(final int n, final Object o) { │ │ │ │ │ │ + switch (n) { │ │ │ │ │ │ case 0: { │ │ │ │ │ │ final Object c1 = this.c1; │ │ │ │ │ │ this.c1 = o; │ │ │ │ │ │ return c1; │ │ │ │ │ │ } │ │ │ │ │ │ case 1: { │ │ │ │ │ │ final Object c2 = this.c2; │ │ │ │ │ │ @@ -85,15 +85,15 @@ │ │ │ │ │ │ } │ │ │ │ │ │ case 5: { │ │ │ │ │ │ final Object c6 = this.c6; │ │ │ │ │ │ this.c6 = o; │ │ │ │ │ │ return c6; │ │ │ │ │ │ } │ │ │ │ │ │ default: { │ │ │ │ │ │ - throw new IndexOutOfBoundsException("Index: " + i + ", Size: 6"); │ │ │ │ │ │ + throw new IndexOutOfBoundsException("Index: " + n + ", Size: 6"); │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public void addAllTo(final Collection collection) { │ │ │ │ │ │ collection.add(this.c1); │ │ │ │ │ │ collection.add(this.c2); │ │ │ │ ├── xtc/tree/GNode$Fixed7.class │ │ │ │ │ ├── procyon -ec {} │ │ │ │ │ │ @@ -28,16 +28,16 @@ │ │ │ │ │ │ this(fixed7.name, fixed7.c1, fixed7.c2, fixed7.c3, fixed7.c4, fixed7.c5, fixed7.c6, fixed7.c7); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public int size() { │ │ │ │ │ │ return 7; │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public Object get(final int i) { │ │ │ │ │ │ - switch (i) { │ │ │ │ │ │ + public Object get(final int n) { │ │ │ │ │ │ + switch (n) { │ │ │ │ │ │ case 0: { │ │ │ │ │ │ return this.c1; │ │ │ │ │ │ } │ │ │ │ │ │ case 1: { │ │ │ │ │ │ return this.c2; │ │ │ │ │ │ } │ │ │ │ │ │ case 2: { │ │ │ │ │ │ @@ -52,21 +52,21 @@ │ │ │ │ │ │ case 5: { │ │ │ │ │ │ return this.c6; │ │ │ │ │ │ } │ │ │ │ │ │ case 6: { │ │ │ │ │ │ return this.c7; │ │ │ │ │ │ } │ │ │ │ │ │ default: { │ │ │ │ │ │ - throw new IndexOutOfBoundsException("Index: " + i + ", Size: 7"); │ │ │ │ │ │ + throw new IndexOutOfBoundsException("Index: " + n + ", Size: 7"); │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public Object set(final int i, final Object c7) { │ │ │ │ │ │ - switch (i) { │ │ │ │ │ │ + public Object set(final int n, final Object c7) { │ │ │ │ │ │ + switch (n) { │ │ │ │ │ │ case 0: { │ │ │ │ │ │ final Object c8 = this.c1; │ │ │ │ │ │ this.c1 = c7; │ │ │ │ │ │ return c8; │ │ │ │ │ │ } │ │ │ │ │ │ case 1: { │ │ │ │ │ │ final Object c9 = this.c2; │ │ │ │ │ │ @@ -95,15 +95,15 @@ │ │ │ │ │ │ } │ │ │ │ │ │ case 6: { │ │ │ │ │ │ final Object c14 = this.c7; │ │ │ │ │ │ this.c7 = c7; │ │ │ │ │ │ return c14; │ │ │ │ │ │ } │ │ │ │ │ │ default: { │ │ │ │ │ │ - throw new IndexOutOfBoundsException("Index: " + i + ", Size: 7"); │ │ │ │ │ │ + throw new IndexOutOfBoundsException("Index: " + n + ", Size: 7"); │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public void addAllTo(final Collection collection) { │ │ │ │ │ │ collection.add(this.c1); │ │ │ │ │ │ collection.add(this.c2); │ │ │ │ ├── xtc/tree/GNode$Fixed8.class │ │ │ │ │ ├── procyon -ec {} │ │ │ │ │ │ @@ -30,16 +30,16 @@ │ │ │ │ │ │ this(fixed8.name, fixed8.c1, fixed8.c2, fixed8.c3, fixed8.c4, fixed8.c5, fixed8.c6, fixed8.c7, fixed8.c8); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public int size() { │ │ │ │ │ │ return 8; │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public Object get(final int i) { │ │ │ │ │ │ - switch (i) { │ │ │ │ │ │ + public Object get(final int n) { │ │ │ │ │ │ + switch (n) { │ │ │ │ │ │ case 0: { │ │ │ │ │ │ return this.c1; │ │ │ │ │ │ } │ │ │ │ │ │ case 1: { │ │ │ │ │ │ return this.c2; │ │ │ │ │ │ } │ │ │ │ │ │ case 2: { │ │ │ │ │ │ @@ -57,21 +57,21 @@ │ │ │ │ │ │ case 6: { │ │ │ │ │ │ return this.c7; │ │ │ │ │ │ } │ │ │ │ │ │ case 7: { │ │ │ │ │ │ return this.c8; │ │ │ │ │ │ } │ │ │ │ │ │ default: { │ │ │ │ │ │ - throw new IndexOutOfBoundsException("Index: " + i + ", Size: 8"); │ │ │ │ │ │ + throw new IndexOutOfBoundsException("Index: " + n + ", Size: 8"); │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public Object set(final int i, final Object o) { │ │ │ │ │ │ - switch (i) { │ │ │ │ │ │ + public Object set(final int n, final Object o) { │ │ │ │ │ │ + switch (n) { │ │ │ │ │ │ case 0: { │ │ │ │ │ │ final Object c1 = this.c1; │ │ │ │ │ │ this.c1 = o; │ │ │ │ │ │ return c1; │ │ │ │ │ │ } │ │ │ │ │ │ case 1: { │ │ │ │ │ │ final Object c2 = this.c2; │ │ │ │ │ │ @@ -105,15 +105,15 @@ │ │ │ │ │ │ } │ │ │ │ │ │ case 7: { │ │ │ │ │ │ final Object c8 = this.c8; │ │ │ │ │ │ this.c8 = o; │ │ │ │ │ │ return c8; │ │ │ │ │ │ } │ │ │ │ │ │ default: { │ │ │ │ │ │ - throw new IndexOutOfBoundsException("Index: " + i + ", Size: 8"); │ │ │ │ │ │ + throw new IndexOutOfBoundsException("Index: " + n + ", Size: 8"); │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public void addAllTo(final Collection collection) { │ │ │ │ │ │ collection.add(this.c1); │ │ │ │ │ │ collection.add(this.c2); │ │ │ │ ├── xtc/tree/GNode$Variable.class │ │ │ │ │ ├── javap -verbose -constants -s -l -private {} │ │ │ │ │ │ @@ -1,16 +1,16 @@ │ │ │ │ │ │ - SHA-256 checksum 7b8a1ea2e021d61ceea3aaae0ec0f82c36c638f12f24a9ebb9432d86494a884b │ │ │ │ │ │ + SHA-256 checksum 8814800cc43c013fb30dcb37f40f73db8c8212021ae66468cf17d58187448927 │ │ │ │ │ │ Compiled from "GNode.java" │ │ │ │ │ │ class xtc.tree.GNode$Variable extends xtc.tree.GNode │ │ │ │ │ │ minor version: 0 │ │ │ │ │ │ - major version: 52 │ │ │ │ │ │ + major version: 61 │ │ │ │ │ │ flags: (0x0020) ACC_SUPER │ │ │ │ │ │ this_class: #13 // xtc/tree/GNode$Variable │ │ │ │ │ │ super_class: #2 // xtc/tree/GNode │ │ │ │ │ │ - interfaces: 0, fields: 1, methods: 17, attributes: 2 │ │ │ │ │ │ + interfaces: 0, fields: 1, methods: 17, attributes: 3 │ │ │ │ │ │ Constant pool: │ │ │ │ │ │ #1 = Methodref #2.#3 // xtc/tree/GNode."":(Ljava/lang/String;)V │ │ │ │ │ │ #2 = Class #4 // xtc/tree/GNode │ │ │ │ │ │ #3 = NameAndType #5:#6 // "":(Ljava/lang/String;)V │ │ │ │ │ │ #4 = Utf8 xtc/tree/GNode │ │ │ │ │ │ #5 = Utf8 │ │ │ │ │ │ #6 = Utf8 (Ljava/lang/String;)V │ │ │ │ │ │ @@ -102,16 +102,17 @@ │ │ │ │ │ │ #92 = Utf8 (ILjava/util/Collection;)Lxtc/tree/Node; │ │ │ │ │ │ #93 = Utf8 (ILjava/util/Collection<*>;)Lxtc/tree/Node; │ │ │ │ │ │ #94 = Utf8 addAllTo │ │ │ │ │ │ #95 = Utf8 (Ljava/util/Collection;)V │ │ │ │ │ │ #96 = Utf8 ()Ljava/util/Iterator; │ │ │ │ │ │ #97 = Utf8 SourceFile │ │ │ │ │ │ #98 = Utf8 GNode.java │ │ │ │ │ │ - #99 = Utf8 InnerClasses │ │ │ │ │ │ - #100 = Utf8 Variable │ │ │ │ │ │ + #99 = Utf8 NestHost │ │ │ │ │ │ + #100 = Utf8 InnerClasses │ │ │ │ │ │ + #101 = Utf8 Variable │ │ │ │ │ │ { │ │ │ │ │ │ private java.util.ArrayList children; │ │ │ │ │ │ descriptor: Ljava/util/ArrayList; │ │ │ │ │ │ flags: (0x0002) ACC_PRIVATE │ │ │ │ │ │ Signature: #75 // Ljava/util/ArrayList; │ │ │ │ │ │ │ │ │ │ │ │ xtc.tree.GNode$Variable(java.lang.String); │ │ │ │ │ │ @@ -383,9 +384,10 @@ │ │ │ │ │ │ 4: iload_1 │ │ │ │ │ │ 5: invokevirtual #71 // Method java/util/ArrayList.remove:(I)Ljava/lang/Object; │ │ │ │ │ │ 8: areturn │ │ │ │ │ │ LineNumberTable: │ │ │ │ │ │ line 852: 0 │ │ │ │ │ │ } │ │ │ │ │ │ SourceFile: "GNode.java" │ │ │ │ │ │ +NestHost: class xtc/tree/GNode │ │ │ │ │ │ InnerClasses: │ │ │ │ │ │ - static #100= #13 of #2; // Variable=class xtc/tree/GNode$Variable of class xtc/tree/GNode │ │ │ │ │ │ + static #101= #13 of #2; // Variable=class xtc/tree/GNode$Variable of class xtc/tree/GNode │ │ │ │ ├── xtc/tree/GNode.class │ │ │ │ │ ├── procyon -ec {} │ │ │ │ │ │ @@ -277,16 +277,16 @@ │ │ │ │ │ │ variable.addAll(pair); │ │ │ │ │ │ return (GNode)variable; │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public static GNode create(final GNode gNode) { │ │ │ │ │ │ - if (gNode instanceof GNode.Variable) { │ │ │ │ │ │ - return (GNode)new GNode.Variable((GNode.Variable)gNode); │ │ │ │ │ │ + if (gNode instanceof final GNode.Variable variable) { │ │ │ │ │ │ + return (GNode)new GNode.Variable(variable); │ │ │ │ │ │ } │ │ │ │ │ │ switch (gNode.size()) { │ │ │ │ │ │ case 0: { │ │ │ │ │ │ return (GNode)new GNode.Fixed0((GNode.Fixed0)gNode); │ │ │ │ │ │ } │ │ │ │ │ │ case 1: { │ │ │ │ │ │ return (GNode)new GNode.Fixed1((GNode.Fixed1)gNode); │ │ │ │ ├── xtc/tree/Locatable.class │ │ │ │ │ ├── javap -verbose -constants -s -l -private {} │ │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ - SHA-256 checksum 7fcd71194acbd15eacee544c7e631a1ce82af0bf4fbde2c9ba28abf704d22576 │ │ │ │ │ │ + SHA-256 checksum 06c6c87368c1ae736ee8adfa50704590c057364c3ff9e33a69cd4848853d25b3 │ │ │ │ │ │ Compiled from "Locatable.java" │ │ │ │ │ │ public interface xtc.tree.Locatable │ │ │ │ │ │ minor version: 0 │ │ │ │ │ │ - major version: 52 │ │ │ │ │ │ + major version: 61 │ │ │ │ │ │ flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT │ │ │ │ │ │ this_class: #1 // xtc/tree/Locatable │ │ │ │ │ │ super_class: #3 // java/lang/Object │ │ │ │ │ │ interfaces: 0, fields: 0, methods: 4, attributes: 1 │ │ │ │ │ │ Constant pool: │ │ │ │ │ │ #1 = Class #2 // xtc/tree/Locatable │ │ │ │ │ │ #2 = Utf8 xtc/tree/Locatable │ │ │ │ ├── xtc/tree/Location.class │ │ │ │ │ ├── javap -verbose -constants -s -l -private {} │ │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ - SHA-256 checksum a6005c1da05f1f225ad71566d5b289a264ff1c5ec7fb516f87c68766b5ab7220 │ │ │ │ │ │ + SHA-256 checksum 1bb8e202b5b626259011e07c53657a987c93918f20fede13381202affabd31d5 │ │ │ │ │ │ Compiled from "Location.java" │ │ │ │ │ │ public class xtc.tree.Location implements java.lang.Comparable │ │ │ │ │ │ minor version: 0 │ │ │ │ │ │ - major version: 52 │ │ │ │ │ │ + major version: 61 │ │ │ │ │ │ flags: (0x0021) ACC_PUBLIC, ACC_SUPER │ │ │ │ │ │ this_class: #8 // xtc/tree/Location │ │ │ │ │ │ super_class: #2 // java/lang/Object │ │ │ │ │ │ interfaces: 1, fields: 3, methods: 6, attributes: 1 │ │ │ │ │ │ Constant pool: │ │ │ │ │ │ #1 = Methodref #2.#3 // java/lang/Object."":()V │ │ │ │ │ │ #2 = Class #4 // java/lang/Object │ │ │ │ ├── xtc/tree/Node$1.class │ │ │ │ │ ├── javap -verbose -constants -s -l -private {} │ │ │ │ │ │ @@ -1,16 +1,16 @@ │ │ │ │ │ │ - SHA-256 checksum a929940c42fe6d7ec052b2b0cc05744ef99ec189d053894ac10d35bd8e906c8b │ │ │ │ │ │ + SHA-256 checksum 6f30b54e8c28608018a12565255ff73c56d3c67126e7ed6b66f9a5379bdb5b36 │ │ │ │ │ │ Compiled from "Node.java" │ │ │ │ │ │ class xtc.tree.Node$1 extends java.lang.Object implements java.util.Iterator │ │ │ │ │ │ minor version: 0 │ │ │ │ │ │ - major version: 52 │ │ │ │ │ │ + major version: 61 │ │ │ │ │ │ flags: (0x0020) ACC_SUPER │ │ │ │ │ │ this_class: #2 // xtc/tree/Node$1 │ │ │ │ │ │ super_class: #12 // java/lang/Object │ │ │ │ │ │ - interfaces: 1, fields: 3, methods: 4, attributes: 4 │ │ │ │ │ │ + interfaces: 1, fields: 3, methods: 4, attributes: 5 │ │ │ │ │ │ Constant pool: │ │ │ │ │ │ #1 = Fieldref #2.#3 // xtc/tree/Node$1.this$0:Lxtc/tree/Node; │ │ │ │ │ │ #2 = Class #4 // xtc/tree/Node$1 │ │ │ │ │ │ #3 = NameAndType #5:#6 // this$0:Lxtc/tree/Node; │ │ │ │ │ │ #4 = Utf8 xtc/tree/Node$1 │ │ │ │ │ │ #5 = Utf8 this$0 │ │ │ │ │ │ #6 = Utf8 Lxtc/tree/Node; │ │ │ │ │ │ @@ -58,15 +58,16 @@ │ │ │ │ │ │ #48 = Utf8 Ljava/lang/Object;Ljava/util/Iterator; │ │ │ │ │ │ #49 = Utf8 SourceFile │ │ │ │ │ │ #50 = Utf8 Node.java │ │ │ │ │ │ #51 = Utf8 EnclosingMethod │ │ │ │ │ │ #52 = NameAndType #53:#54 // iterator:()Ljava/util/Iterator; │ │ │ │ │ │ #53 = Utf8 iterator │ │ │ │ │ │ #54 = Utf8 ()Ljava/util/Iterator; │ │ │ │ │ │ - #55 = Utf8 InnerClasses │ │ │ │ │ │ + #55 = Utf8 NestHost │ │ │ │ │ │ + #56 = Utf8 InnerClasses │ │ │ │ │ │ { │ │ │ │ │ │ int cursor; │ │ │ │ │ │ descriptor: I │ │ │ │ │ │ flags: (0x0000) │ │ │ │ │ │ │ │ │ │ │ │ final int val$size; │ │ │ │ │ │ descriptor: I │ │ │ │ │ │ @@ -163,9 +164,10 @@ │ │ │ │ │ │ 9: athrow │ │ │ │ │ │ LineNumberTable: │ │ │ │ │ │ line 365: 0 │ │ │ │ │ │ } │ │ │ │ │ │ Signature: #48 // Ljava/lang/Object;Ljava/util/Iterator; │ │ │ │ │ │ SourceFile: "Node.java" │ │ │ │ │ │ EnclosingMethod: #21.#52 // xtc.tree.Node.iterator │ │ │ │ │ │ +NestHost: class xtc/tree/Node │ │ │ │ │ │ InnerClasses: │ │ │ │ │ │ #2; // class xtc/tree/Node$1 │ │ │ │ ├── xtc/tree/Node.class │ │ │ │ │ ├── procyon -ec {} │ │ │ │ │ │ @@ -146,16 +146,16 @@ │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public String getString(final int n) { │ │ │ │ │ │ final Object value = this.get(n); │ │ │ │ │ │ if (null == value) { │ │ │ │ │ │ return null; │ │ │ │ │ │ } │ │ │ │ │ │ - if (value instanceof String) { │ │ │ │ │ │ - return (String)value; │ │ │ │ │ │ + if (value instanceof final String s) { │ │ │ │ │ │ + return s; │ │ │ │ │ │ } │ │ │ │ │ │ return ((Node)value).getTokenText(); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public Node getNode(final int n) { │ │ │ │ │ │ return (Node)this.get(n); │ │ │ │ │ │ } │ │ │ │ │ │ @@ -288,16 +288,16 @@ │ │ │ │ │ │ appendable.append("null"); │ │ │ │ │ │ } │ │ │ │ │ │ else if (next instanceof String) { │ │ │ │ │ │ appendable.append('\"'); │ │ │ │ │ │ Utilities.escape((String)next, appendable, 8); │ │ │ │ │ │ appendable.append('\"'); │ │ │ │ │ │ } │ │ │ │ │ │ - else if (next instanceof Node) { │ │ │ │ │ │ - ((Node)next).write(appendable); │ │ │ │ │ │ + else if (next instanceof final Node node) { │ │ │ │ │ │ + node.write(appendable); │ │ │ │ │ │ } │ │ │ │ │ │ else { │ │ │ │ │ │ appendable.append(next.toString()); │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ appendable.append(')'); │ │ │ │ │ │ } │ │ │ │ │ │ @@ -315,14 +315,14 @@ │ │ │ │ │ │ return sb.toString(); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public static final boolean isList(final Object o) { │ │ │ │ │ │ return o instanceof Pair && (Pair.EMPTY == o || ((Pair)o).head() instanceof Node); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public static final Pair toList(final Object obj) { │ │ │ │ │ │ - if (isList(obj)) { │ │ │ │ │ │ - return (Pair)obj; │ │ │ │ │ │ + public static final Pair toList(final Object o) { │ │ │ │ │ │ + if (isList(o)) { │ │ │ │ │ │ + return (Pair)o; │ │ │ │ │ │ } │ │ │ │ │ │ - throw new ClassCastException("Not a list of nodes " + obj); │ │ │ │ │ │ + throw new ClassCastException("Not a list of nodes " + o); │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ ├── xtc/tree/Printer.class │ │ │ │ │ ├── procyon -ec {} │ │ │ │ │ │ @@ -424,16 +424,15 @@ │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ private Printer format1(final Object o, final boolean b) { │ │ │ │ │ │ this.indent(); │ │ │ │ │ │ if (null == o) { │ │ │ │ │ │ this.p("null"); │ │ │ │ │ │ } │ │ │ │ │ │ - else if (o instanceof Node) { │ │ │ │ │ │ - final Node node = (Node)o; │ │ │ │ │ │ + else if (o instanceof final Node node) { │ │ │ │ │ │ this.p(node.getName()); │ │ │ │ │ │ if (b && node.hasLocation()) { │ │ │ │ │ │ final Location location = node.getLocation(); │ │ │ │ │ │ this.p('@'); │ │ │ │ │ │ if (!location.file.equals(this.formatFile)) { │ │ │ │ │ │ this.p(location.file).p(':'); │ │ │ │ │ │ this.formatFile = location.file; │ │ │ │ │ │ @@ -444,16 +443,15 @@ │ │ │ │ │ │ if (node.isEmpty()) { │ │ │ │ │ │ this.p(')'); │ │ │ │ │ │ } │ │ │ │ │ │ else { │ │ │ │ │ │ this.pln().incr().formatElements((Iterable)node, b).decr().indent().p(')'); │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ - else if (o instanceof Pair) { │ │ │ │ │ │ - final Pair pair = (Pair)o; │ │ │ │ │ │ + else if (o instanceof final Pair pair) { │ │ │ │ │ │ if (pair.isEmpty()) { │ │ │ │ │ │ this.p("[]"); │ │ │ │ │ │ } │ │ │ │ │ │ else { │ │ │ │ │ │ this.pln('[').incr().formatElements((Iterable)pair, b).decr().indent().p(']'); │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ @@ -475,16 +473,15 @@ │ │ │ │ │ │ } │ │ │ │ │ │ this.pln(); │ │ │ │ │ │ } │ │ │ │ │ │ return this; │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public Printer loc(Locatable locatable) { │ │ │ │ │ │ - if (locatable instanceof Node) { │ │ │ │ │ │ - final Node node = (Node)locatable; │ │ │ │ │ │ + if (locatable instanceof final Node node) { │ │ │ │ │ │ if (node.hasProperty("xtc.Constants.Original")) { │ │ │ │ │ │ locatable = (Locatable)node.getProperty("xtc.Constants.Original"); │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ if (locatable.hasLocation()) { │ │ │ │ │ │ final Location location = locatable.getLocation(); │ │ │ │ │ │ this.p(location.file).p(':').p(location.line).p(':').p(location.column); │ │ │ │ │ │ @@ -492,32 +489,32 @@ │ │ │ │ │ │ return this; │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public Printer lineUp(final Locatable locatable) { │ │ │ │ │ │ return this.lineUp(locatable, 0); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public Printer lineUp(final Locatable obj, final int i) { │ │ │ │ │ │ - if (!obj.hasLocation()) { │ │ │ │ │ │ - throw new IllegalArgumentException("Locatable without location " + obj); │ │ │ │ │ │ - } │ │ │ │ │ │ - final Location location = obj.getLocation(); │ │ │ │ │ │ - if (0 > location.column - i) { │ │ │ │ │ │ - throw new IllegalArgumentException("Invalid character distance " + i); │ │ │ │ │ │ + public Printer lineUp(final Locatable locatable, final int n) { │ │ │ │ │ │ + if (!locatable.hasLocation()) { │ │ │ │ │ │ + throw new IllegalArgumentException("Locatable without location " + locatable); │ │ │ │ │ │ + } │ │ │ │ │ │ + final Location location = locatable.getLocation(); │ │ │ │ │ │ + if (0 > location.column - n) { │ │ │ │ │ │ + throw new IllegalArgumentException("Invalid character distance " + n); │ │ │ │ │ │ } │ │ │ │ │ │ if (location.line > this.line) { │ │ │ │ │ │ - for (int n = 0; n < location.line - this.line; ++n) { │ │ │ │ │ │ + for (int n2 = 0; n2 < location.line - this.line; ++n2) { │ │ │ │ │ │ this.pln(); │ │ │ │ │ │ } │ │ │ │ │ │ - for (int j = 0; j < location.column - i; ++j) { │ │ │ │ │ │ + for (int i = 0; i < location.column - n; ++i) { │ │ │ │ │ │ this.p(' '); │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ - else if (location.line == this.line && location.column - i >= this.column) { │ │ │ │ │ │ - for (int k = 0; k < location.column - i - this.column; ++k) { │ │ │ │ │ │ + else if (location.line == this.line && location.column - n >= this.column) { │ │ │ │ │ │ + for (int j = 0; j < location.column - n - this.column; ++j) { │ │ │ │ │ │ this.p(' '); │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ else { │ │ │ │ │ │ this.p(' '); │ │ │ │ │ │ } │ │ │ │ │ │ return this; │ │ │ │ ├── xtc/tree/Token.class │ │ │ │ │ ├── procyon -ec {} │ │ │ │ │ │ @@ -25,32 +25,32 @@ │ │ │ │ │ │ return true; │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public int size() { │ │ │ │ │ │ return 1; │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public Object get(final int i) { │ │ │ │ │ │ - if (0 == i) { │ │ │ │ │ │ + public Object get(final int n) { │ │ │ │ │ │ + if (0 == n) { │ │ │ │ │ │ return this.text; │ │ │ │ │ │ } │ │ │ │ │ │ - throw new IndexOutOfBoundsException("Index: " + i + ", Size: 1"); │ │ │ │ │ │ + throw new IndexOutOfBoundsException("Index: " + n + ", Size: 1"); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public Object set(final int n, final Object o) { │ │ │ │ │ │ throw new IllegalStateException("Not modifiable"); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public static final boolean test(final Object o) { │ │ │ │ │ │ return o instanceof String || (o instanceof Node && ((Node)o).strip().isToken()); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public static final String cast(final Object o) { │ │ │ │ │ │ if (null == o) { │ │ │ │ │ │ return null; │ │ │ │ │ │ } │ │ │ │ │ │ - if (o instanceof String) { │ │ │ │ │ │ - return (String)o; │ │ │ │ │ │ + if (o instanceof final String s) { │ │ │ │ │ │ + return s; │ │ │ │ │ │ } │ │ │ │ │ │ return ((Node)o).getTokenText(); │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ ├── xtc/tree/TraversalException.class │ │ │ │ │ ├── javap -verbose -constants -s -l -private {} │ │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ - SHA-256 checksum 7224c485113e3c8495dd02fc85f04871cc065e42cf134f23af924cdab64b4e83 │ │ │ │ │ │ + SHA-256 checksum 588338573f8ba742e09d232835ecfbb1ba14ab09fe958c5e397a7ef4e927892c │ │ │ │ │ │ Compiled from "TraversalException.java" │ │ │ │ │ │ public class xtc.tree.TraversalException extends java.lang.RuntimeException │ │ │ │ │ │ minor version: 0 │ │ │ │ │ │ - major version: 52 │ │ │ │ │ │ + major version: 61 │ │ │ │ │ │ flags: (0x0021) ACC_PUBLIC, ACC_SUPER │ │ │ │ │ │ this_class: #15 // xtc/tree/TraversalException │ │ │ │ │ │ super_class: #2 // java/lang/RuntimeException │ │ │ │ │ │ interfaces: 0, fields: 0, methods: 7, attributes: 1 │ │ │ │ │ │ Constant pool: │ │ │ │ │ │ #1 = Methodref #2.#3 // java/lang/RuntimeException."":(Ljava/lang/String;)V │ │ │ │ │ │ #2 = Class #4 // java/lang/RuntimeException │ │ │ │ ├── xtc/tree/Utility.class │ │ │ │ │ ├── javap -verbose -constants -s -l -private {} │ │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ - SHA-256 checksum e629cac0785c1c0a78417c1f0e2370a42dbfa91081d8b247aa64b8d51d2be0a5 │ │ │ │ │ │ + SHA-256 checksum 1a718efd43e0c9a22b55affd25e2ad3b3542f51b152824a44d47ffa7c468e95a │ │ │ │ │ │ Compiled from "Utility.java" │ │ │ │ │ │ public abstract class xtc.tree.Utility │ │ │ │ │ │ minor version: 0 │ │ │ │ │ │ - major version: 52 │ │ │ │ │ │ + major version: 61 │ │ │ │ │ │ flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT │ │ │ │ │ │ this_class: #8 // xtc/tree/Utility │ │ │ │ │ │ super_class: #2 // java/lang/Object │ │ │ │ │ │ interfaces: 0, fields: 1, methods: 3, attributes: 1 │ │ │ │ │ │ Constant pool: │ │ │ │ │ │ #1 = Methodref #2.#3 // java/lang/Object."":()V │ │ │ │ │ │ #2 = Class #4 // java/lang/Object │ │ │ │ ├── xtc/tree/VisitingException.class │ │ │ │ │ ├── javap -verbose -constants -s -l -private {} │ │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ - SHA-256 checksum bd90707ed15e51b8a8ffbdb6ca7af6124edf9874fa7258f68ff08aeb7905fad0 │ │ │ │ │ │ + SHA-256 checksum 58b4accf2a9f3373b855fcd14606e6d592ff24c49aadd7d5bc6e40b41a18e10c │ │ │ │ │ │ Compiled from "VisitingException.java" │ │ │ │ │ │ public class xtc.tree.VisitingException extends xtc.tree.TraversalException │ │ │ │ │ │ minor version: 0 │ │ │ │ │ │ - major version: 52 │ │ │ │ │ │ + major version: 61 │ │ │ │ │ │ flags: (0x0021) ACC_PUBLIC, ACC_SUPER │ │ │ │ │ │ this_class: #7 // xtc/tree/VisitingException │ │ │ │ │ │ super_class: #2 // xtc/tree/TraversalException │ │ │ │ │ │ interfaces: 0, fields: 0, methods: 1, attributes: 1 │ │ │ │ │ │ Constant pool: │ │ │ │ │ │ #1 = Methodref #2.#3 // xtc/tree/TraversalException."":(Ljava/lang/String;Ljava/lang/Throwable;)V │ │ │ │ │ │ #2 = Class #4 // xtc/tree/TraversalException │ │ │ │ ├── xtc/tree/Visitor$1.class │ │ │ │ │ ├── javap -verbose -constants -s -l -private {} │ │ │ │ │ │ @@ -1,16 +1,16 @@ │ │ │ │ │ │ - SHA-256 checksum 309a3011c2a3457042fd8c85a3156409e43363e52a5d7f51a8e329a9e0b2d390 │ │ │ │ │ │ + SHA-256 checksum e81b57dbaa9bdaaa04226f8ae86640bf751c00e38008f36fc5b6bc05c5f56cab │ │ │ │ │ │ Compiled from "Visitor.java" │ │ │ │ │ │ class xtc.tree.Visitor$1 extends java.util.LinkedHashMap │ │ │ │ │ │ minor version: 0 │ │ │ │ │ │ - major version: 52 │ │ │ │ │ │ + major version: 61 │ │ │ │ │ │ flags: (0x0020) ACC_SUPER │ │ │ │ │ │ this_class: #10 // xtc/tree/Visitor$1 │ │ │ │ │ │ super_class: #4 // java/util/LinkedHashMap │ │ │ │ │ │ - interfaces: 0, fields: 0, methods: 2, attributes: 4 │ │ │ │ │ │ + interfaces: 0, fields: 0, methods: 2, attributes: 5 │ │ │ │ │ │ Constant pool: │ │ │ │ │ │ #1 = Class #2 // xtc/tree/Visitor │ │ │ │ │ │ #2 = Utf8 xtc/tree/Visitor │ │ │ │ │ │ #3 = Methodref #4.#5 // java/util/LinkedHashMap."":(IFZ)V │ │ │ │ │ │ #4 = Class #6 // java/util/LinkedHashMap │ │ │ │ │ │ #5 = NameAndType #7:#8 // "":(IFZ)V │ │ │ │ │ │ #6 = Utf8 java/util/LinkedHashMap │ │ │ │ │ │ @@ -28,23 +28,24 @@ │ │ │ │ │ │ #18 = Utf8 (Ljava/util/Map$Entry;)Z │ │ │ │ │ │ #19 = Utf8 StackMapTable │ │ │ │ │ │ #20 = Utf8 Signature │ │ │ │ │ │ #21 = Utf8 Ljava/util/LinkedHashMap; │ │ │ │ │ │ #22 = Utf8 SourceFile │ │ │ │ │ │ #23 = Utf8 Visitor.java │ │ │ │ │ │ #24 = Utf8 EnclosingMethod │ │ │ │ │ │ - #25 = Utf8 InnerClasses │ │ │ │ │ │ - #26 = Class #27 // java/util/Map$Entry │ │ │ │ │ │ - #27 = Utf8 java/util/Map$Entry │ │ │ │ │ │ - #28 = Class #29 // java/util/Map │ │ │ │ │ │ - #29 = Utf8 java/util/Map │ │ │ │ │ │ - #30 = Utf8 Entry │ │ │ │ │ │ - #31 = Class #32 // xtc/tree/Visitor$CacheKey │ │ │ │ │ │ - #32 = Utf8 xtc/tree/Visitor$CacheKey │ │ │ │ │ │ - #33 = Utf8 CacheKey │ │ │ │ │ │ + #25 = Utf8 NestHost │ │ │ │ │ │ + #26 = Utf8 InnerClasses │ │ │ │ │ │ + #27 = Class #28 // java/util/Map$Entry │ │ │ │ │ │ + #28 = Utf8 java/util/Map$Entry │ │ │ │ │ │ + #29 = Class #30 // java/util/Map │ │ │ │ │ │ + #30 = Utf8 java/util/Map │ │ │ │ │ │ + #31 = Utf8 Entry │ │ │ │ │ │ + #32 = Class #33 // xtc/tree/Visitor$CacheKey │ │ │ │ │ │ + #33 = Utf8 xtc/tree/Visitor$CacheKey │ │ │ │ │ │ + #34 = Utf8 CacheKey │ │ │ │ │ │ { │ │ │ │ │ │ xtc.tree.Visitor$1(int, float, boolean); │ │ │ │ │ │ descriptor: (IFZ)V │ │ │ │ │ │ flags: (0x0000) │ │ │ │ │ │ Code: │ │ │ │ │ │ stack=4, locals=4, args_size=4 │ │ │ │ │ │ 0: aload_0 │ │ │ │ │ │ @@ -75,11 +76,12 @@ │ │ │ │ │ │ frame_type = 14 /* same */ │ │ │ │ │ │ frame_type = 64 /* same_locals_1_stack_item */ │ │ │ │ │ │ stack = [ int ] │ │ │ │ │ │ } │ │ │ │ │ │ Signature: #21 // Ljava/util/LinkedHashMap; │ │ │ │ │ │ SourceFile: "Visitor.java" │ │ │ │ │ │ EnclosingMethod: #1.#0 // xtc.tree.Visitor │ │ │ │ │ │ +NestHost: class xtc/tree/Visitor │ │ │ │ │ │ InnerClasses: │ │ │ │ │ │ #10; // class xtc/tree/Visitor$1 │ │ │ │ │ │ - public static #30= #26 of #28; // Entry=class java/util/Map$Entry of class java/util/Map │ │ │ │ │ │ - static final #33= #31 of #1; // CacheKey=class xtc/tree/Visitor$CacheKey of class xtc/tree/Visitor │ │ │ │ │ │ + public static #31= #27 of #29; // Entry=class java/util/Map$Entry of class java/util/Map │ │ │ │ │ │ + static final #34= #32 of #1; // CacheKey=class xtc/tree/Visitor$CacheKey of class xtc/tree/Visitor │ │ │ │ ├── xtc/tree/Visitor$CacheKey.class │ │ │ │ │ ├── javap -verbose -constants -s -l -private {} │ │ │ │ │ │ @@ -1,16 +1,16 @@ │ │ │ │ │ │ - SHA-256 checksum 7221af55629929edc7cc96ff43681453bc0d23518f4ae142c14365b5dda49504 │ │ │ │ │ │ + SHA-256 checksum be852beead24521f6c3b1fe5d7bc9a976655856230b842354a2c68450a986bd4 │ │ │ │ │ │ Compiled from "Visitor.java" │ │ │ │ │ │ final class xtc.tree.Visitor$CacheKey │ │ │ │ │ │ minor version: 0 │ │ │ │ │ │ - major version: 52 │ │ │ │ │ │ + major version: 61 │ │ │ │ │ │ flags: (0x0030) ACC_FINAL, ACC_SUPER │ │ │ │ │ │ this_class: #8 // xtc/tree/Visitor$CacheKey │ │ │ │ │ │ super_class: #2 // java/lang/Object │ │ │ │ │ │ - interfaces: 0, fields: 2, methods: 3, attributes: 2 │ │ │ │ │ │ + interfaces: 0, fields: 2, methods: 3, attributes: 3 │ │ │ │ │ │ Constant pool: │ │ │ │ │ │ #1 = Methodref #2.#3 // java/lang/Object."":()V │ │ │ │ │ │ #2 = Class #4 // java/lang/Object │ │ │ │ │ │ #3 = NameAndType #5:#6 // "":()V │ │ │ │ │ │ #4 = Utf8 java/lang/Object │ │ │ │ │ │ #5 = Utf8 │ │ │ │ │ │ #6 = Utf8 ()V │ │ │ │ │ │ @@ -38,16 +38,17 @@ │ │ │ │ │ │ #28 = Methodref #2.#25 // java/lang/Object.equals:(Ljava/lang/Object;)Z │ │ │ │ │ │ #29 = Utf8 (Lxtc/tree/Visitor;Ljava/lang/Object;)V │ │ │ │ │ │ #30 = Utf8 Code │ │ │ │ │ │ #31 = Utf8 LineNumberTable │ │ │ │ │ │ #32 = Utf8 StackMapTable │ │ │ │ │ │ #33 = Utf8 SourceFile │ │ │ │ │ │ #34 = Utf8 Visitor.java │ │ │ │ │ │ - #35 = Utf8 InnerClasses │ │ │ │ │ │ - #36 = Utf8 CacheKey │ │ │ │ │ │ + #35 = Utf8 NestHost │ │ │ │ │ │ + #36 = Utf8 InnerClasses │ │ │ │ │ │ + #37 = Utf8 CacheKey │ │ │ │ │ │ { │ │ │ │ │ │ public xtc.tree.Visitor visitor; │ │ │ │ │ │ descriptor: Lxtc/tree/Visitor; │ │ │ │ │ │ flags: (0x0001) ACC_PUBLIC │ │ │ │ │ │ │ │ │ │ │ │ public java.lang.Object node; │ │ │ │ │ │ descriptor: Ljava/lang/Object; │ │ │ │ │ │ @@ -126,9 +127,10 @@ │ │ │ │ │ │ StackMapTable: number_of_entries = 2 │ │ │ │ │ │ frame_type = 9 /* same */ │ │ │ │ │ │ frame_type = 252 /* append */ │ │ │ │ │ │ offset_delta = 20 │ │ │ │ │ │ locals = [ class xtc/tree/Visitor$CacheKey ] │ │ │ │ │ │ } │ │ │ │ │ │ SourceFile: "Visitor.java" │ │ │ │ │ │ +NestHost: class xtc/tree/Visitor │ │ │ │ │ │ InnerClasses: │ │ │ │ │ │ - static final #36= #8 of #18; // CacheKey=class xtc/tree/Visitor$CacheKey of class xtc/tree/Visitor │ │ │ │ │ │ + static final #37= #8 of #18; // CacheKey=class xtc/tree/Visitor$CacheKey of class xtc/tree/Visitor │ │ │ │ ├── xtc/tree/Visitor.class │ │ │ │ │ ├── procyon -ec {} │ │ │ │ │ │ @@ -26,52 +26,52 @@ │ │ │ │ │ │ return this == o; │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public Object visit(final Annotation annotation) { │ │ │ │ │ │ return this.dispatch(annotation.node); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public final Object dispatch(final Node obj) { │ │ │ │ │ │ - if (null == obj) { │ │ │ │ │ │ + public final Object dispatch(final Node node) { │ │ │ │ │ │ + if (null == node) { │ │ │ │ │ │ return null; │ │ │ │ │ │ } │ │ │ │ │ │ Visitor.key.visitor = this; │ │ │ │ │ │ - if (obj.isGeneric()) { │ │ │ │ │ │ - Visitor.key.node = obj.getName(); │ │ │ │ │ │ + if (node.isGeneric()) { │ │ │ │ │ │ + Visitor.key.node = node.getName(); │ │ │ │ │ │ } │ │ │ │ │ │ else { │ │ │ │ │ │ - Visitor.key.node = obj.getClass(); │ │ │ │ │ │ + Visitor.key.node = node.getClass(); │ │ │ │ │ │ } │ │ │ │ │ │ Method method = (Method)Visitor.cache.get(Visitor.key); │ │ │ │ │ │ if (null == method) { │ │ │ │ │ │ - method = this.findMethod(obj); │ │ │ │ │ │ + method = this.findMethod(node); │ │ │ │ │ │ Visitor.cache.put(new Visitor.CacheKey(this, Visitor.key.node), method); │ │ │ │ │ │ } │ │ │ │ │ │ - Visitor.arguments[0] = obj; │ │ │ │ │ │ + Visitor.arguments[0] = node; │ │ │ │ │ │ try { │ │ │ │ │ │ return method.invoke(this, Visitor.arguments); │ │ │ │ │ │ } │ │ │ │ │ │ catch (final IllegalAccessException ex) { │ │ │ │ │ │ throw new VisitorException("Unable to invoke " + method + " on " + Visitor.arguments[0]); │ │ │ │ │ │ } │ │ │ │ │ │ catch (final IllegalArgumentException ex2) { │ │ │ │ │ │ - throw new VisitorException("Internal error while visiting node " + obj + " with visitor " + this); │ │ │ │ │ │ + throw new VisitorException("Internal error while visiting node " + node + " with visitor " + this); │ │ │ │ │ │ } │ │ │ │ │ │ catch (final InvocationTargetException ex3) { │ │ │ │ │ │ final Throwable cause = ex3.getCause(); │ │ │ │ │ │ - if (cause instanceof VisitingException) { │ │ │ │ │ │ - throw (VisitingException)cause; │ │ │ │ │ │ + if (cause instanceof final VisitingException ex5) { │ │ │ │ │ │ + throw ex5; │ │ │ │ │ │ } │ │ │ │ │ │ - if (cause instanceof VisitorException) { │ │ │ │ │ │ - throw (VisitorException)cause; │ │ │ │ │ │ + if (cause instanceof final VisitorException ex6) { │ │ │ │ │ │ + throw ex6; │ │ │ │ │ │ } │ │ │ │ │ │ - throw new VisitingException("Error visiting node " + obj + " with visitor " + this, cause); │ │ │ │ │ │ + throw new VisitingException("Error visiting node " + node + " with visitor " + this, cause); │ │ │ │ │ │ } │ │ │ │ │ │ catch (final NullPointerException ex4) { │ │ │ │ │ │ - throw new VisitorException("Internal error while visiting node " + obj + " with visitor " + this); │ │ │ │ │ │ + throw new VisitorException("Internal error while visiting node " + node + " with visitor " + this); │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ private Method findMethod(final Node node) { │ │ │ │ │ │ final Class class1 = this.getClass(); │ │ │ │ │ │ Method method = null; │ │ │ │ │ │ if (node.isGeneric()) { │ │ │ │ ├── xtc/type/CFactory.class │ │ │ │ │ ├── procyon -ec {} │ │ │ │ │ │ @@ -120,19 +120,19 @@ │ │ │ │ │ │ return type.attribute(Constants.ATT_CONSTANT); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public Type builtin(final Type type) { │ │ │ │ │ │ return type.attribute(Constants.ATT_BUILTIN); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public CFactory decl(final boolean b, final String str, final Type type) { │ │ │ │ │ │ + public CFactory decl(final boolean b, final String s, final Type type) { │ │ │ │ │ │ if (b) { │ │ │ │ │ │ - this.scope.define(str, (Object)this.builtin(type)); │ │ │ │ │ │ + this.scope.define(s, (Object)this.builtin(type)); │ │ │ │ │ │ } │ │ │ │ │ │ - this.scope.define(this.prefix + str, (Object)this.builtin(type)); │ │ │ │ │ │ + this.scope.define(this.prefix + s, (Object)this.builtin(type)); │ │ │ │ │ │ return this; │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public void declareBuiltIns(final boolean b) { │ │ │ │ │ │ this.decl(b, "calloc", this.f(this.p2v(), this.size(), this.size())); │ │ │ │ │ │ this.decl(b, "free", this.f(this.v(), this.p2v())); │ │ │ │ │ │ this.decl(b, "malloc", this.f(this.p2v(), this.size())); │ │ │ │ ├── xtc/util/Action.class │ │ │ │ │ ├── javap -verbose -constants -s -l -private {} │ │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ - SHA-256 checksum 015465bd28a8afc22dc32e5a5a05647a25c1427a169af7277a30bd532f709704 │ │ │ │ │ │ + SHA-256 checksum a714ed2b19890ac8885e4e88f7807881403fe9d4bc0974fa84f959152ac338de │ │ │ │ │ │ Compiled from "Action.java" │ │ │ │ │ │ public interface xtc.util.Action │ │ │ │ │ │ minor version: 0 │ │ │ │ │ │ - major version: 52 │ │ │ │ │ │ + major version: 61 │ │ │ │ │ │ flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT │ │ │ │ │ │ this_class: #1 // xtc/util/Action │ │ │ │ │ │ super_class: #3 // java/lang/Object │ │ │ │ │ │ interfaces: 0, fields: 0, methods: 1, attributes: 2 │ │ │ │ │ │ Constant pool: │ │ │ │ │ │ #1 = Class #2 // xtc/util/Action │ │ │ │ │ │ #2 = Utf8 xtc/util/Action │ │ │ │ ├── xtc/util/Option$Kind.class │ │ │ │ │ ├── javap -verbose -constants -s -l -private {} │ │ │ │ │ │ @@ -1,16 +1,16 @@ │ │ │ │ │ │ - SHA-256 checksum 04b43a28f6a40202a139d1afc66b12cb80a9308961189c2acb4f20d2b59fb588 │ │ │ │ │ │ + SHA-256 checksum 6e71a4ac914455d557ae4ca886a5f02c223a989cd5ed504a16a3a291b59ba2d9 │ │ │ │ │ │ Compiled from "Option.java" │ │ │ │ │ │ public final class xtc.util.Option$Kind extends java.lang.Enum │ │ │ │ │ │ minor version: 0 │ │ │ │ │ │ - major version: 52 │ │ │ │ │ │ + major version: 61 │ │ │ │ │ │ flags: (0x4031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER, ACC_ENUM │ │ │ │ │ │ this_class: #1 // xtc/util/Option$Kind │ │ │ │ │ │ super_class: #32 // java/lang/Enum │ │ │ │ │ │ - interfaces: 0, fields: 7, methods: 5, attributes: 3 │ │ │ │ │ │ + interfaces: 0, fields: 7, methods: 5, attributes: 4 │ │ │ │ │ │ Constant pool: │ │ │ │ │ │ #1 = Class #2 // xtc/util/Option$Kind │ │ │ │ │ │ #2 = Utf8 xtc/util/Option$Kind │ │ │ │ │ │ #3 = Fieldref #1.#4 // xtc/util/Option$Kind.BOOLEAN:Lxtc/util/Option$Kind; │ │ │ │ │ │ #4 = NameAndType #5:#6 // BOOLEAN:Lxtc/util/Option$Kind; │ │ │ │ │ │ #5 = Utf8 BOOLEAN │ │ │ │ │ │ #6 = Utf8 Lxtc/util/Option$Kind; │ │ │ │ │ │ @@ -65,18 +65,19 @@ │ │ │ │ │ │ #55 = Utf8 (Ljava/lang/String;)Lxtc/util/Option$Kind; │ │ │ │ │ │ #56 = Utf8 Signature │ │ │ │ │ │ #57 = Utf8 ()V │ │ │ │ │ │ #58 = Utf8 │ │ │ │ │ │ #59 = Utf8 Ljava/lang/Enum; │ │ │ │ │ │ #60 = Utf8 SourceFile │ │ │ │ │ │ #61 = Utf8 Option.java │ │ │ │ │ │ - #62 = Utf8 InnerClasses │ │ │ │ │ │ + #62 = Utf8 NestHost │ │ │ │ │ │ #63 = Class #64 // xtc/util/Option │ │ │ │ │ │ #64 = Utf8 xtc/util/Option │ │ │ │ │ │ - #65 = Utf8 Kind │ │ │ │ │ │ + #65 = Utf8 InnerClasses │ │ │ │ │ │ + #66 = Utf8 Kind │ │ │ │ │ │ { │ │ │ │ │ │ public static final xtc.util.Option$Kind BOOLEAN; │ │ │ │ │ │ descriptor: Lxtc/util/Option$Kind; │ │ │ │ │ │ flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ENUM │ │ │ │ │ │ │ │ │ │ │ │ public static final xtc.util.Option$Kind WORD; │ │ │ │ │ │ descriptor: Lxtc/util/Option$Kind; │ │ │ │ │ │ @@ -221,9 +222,10 @@ │ │ │ │ │ │ 81: putstatic #22 // Field $VALUES:[Lxtc/util/Option$Kind; │ │ │ │ │ │ 84: return │ │ │ │ │ │ LineNumberTable: │ │ │ │ │ │ line 30: 0 │ │ │ │ │ │ } │ │ │ │ │ │ Signature: #59 // Ljava/lang/Enum; │ │ │ │ │ │ SourceFile: "Option.java" │ │ │ │ │ │ +NestHost: class xtc/util/Option │ │ │ │ │ │ InnerClasses: │ │ │ │ │ │ - public static final #65= #1 of #63; // Kind=class xtc/util/Option$Kind of class xtc/util/Option │ │ │ │ │ │ + public static final #66= #1 of #63; // Kind=class xtc/util/Option$Kind of class xtc/util/Option │ │ │ │ ├── xtc/util/Option.class │ │ │ │ │ ├── javap -verbose -constants -s -l -private {} │ │ │ │ │ │ @@ -1,16 +1,16 @@ │ │ │ │ │ │ - SHA-256 checksum 3ee4b8b5aa776db0eca4455da29b6ccf66b60400cba83d23ad8b08ac62c005a0 │ │ │ │ │ │ + SHA-256 checksum f004f5de8aaf0b4ff9d7a64064b37ca0a42e8a8fd826c84d468bcbc455b265c0 │ │ │ │ │ │ Compiled from "Option.java" │ │ │ │ │ │ class xtc.util.Option │ │ │ │ │ │ minor version: 0 │ │ │ │ │ │ - major version: 52 │ │ │ │ │ │ + major version: 61 │ │ │ │ │ │ flags: (0x0020) ACC_SUPER │ │ │ │ │ │ this_class: #8 // xtc/util/Option │ │ │ │ │ │ super_class: #2 // java/lang/Object │ │ │ │ │ │ - interfaces: 0, fields: 6, methods: 1, attributes: 2 │ │ │ │ │ │ + interfaces: 0, fields: 6, methods: 1, attributes: 3 │ │ │ │ │ │ Constant pool: │ │ │ │ │ │ #1 = Methodref #2.#3 // java/lang/Object."":()V │ │ │ │ │ │ #2 = Class #4 // java/lang/Object │ │ │ │ │ │ #3 = NameAndType #5:#6 // "":()V │ │ │ │ │ │ #4 = Utf8 java/lang/Object │ │ │ │ │ │ #5 = Utf8 │ │ │ │ │ │ #6 = Utf8 ()V │ │ │ │ │ │ @@ -39,18 +39,19 @@ │ │ │ │ │ │ #29 = NameAndType #30:#16 // description:Ljava/lang/String; │ │ │ │ │ │ #30 = Utf8 description │ │ │ │ │ │ #31 = Utf8 (Lxtc/util/Option$Kind;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;ZLjava/lang/String;)V │ │ │ │ │ │ #32 = Utf8 Code │ │ │ │ │ │ #33 = Utf8 LineNumberTable │ │ │ │ │ │ #34 = Utf8 SourceFile │ │ │ │ │ │ #35 = Utf8 Option.java │ │ │ │ │ │ - #36 = Utf8 InnerClasses │ │ │ │ │ │ + #36 = Utf8 NestMembers │ │ │ │ │ │ #37 = Class #38 // xtc/util/Option$Kind │ │ │ │ │ │ #38 = Utf8 xtc/util/Option$Kind │ │ │ │ │ │ - #39 = Utf8 Kind │ │ │ │ │ │ + #39 = Utf8 InnerClasses │ │ │ │ │ │ + #40 = Utf8 Kind │ │ │ │ │ │ { │ │ │ │ │ │ public final xtc.util.Option$Kind kind; │ │ │ │ │ │ descriptor: Lxtc/util/Option$Kind; │ │ │ │ │ │ flags: (0x0011) ACC_PUBLIC, ACC_FINAL │ │ │ │ │ │ │ │ │ │ │ │ public final java.lang.String external; │ │ │ │ │ │ descriptor: Ljava/lang/String; │ │ │ │ │ │ @@ -105,9 +106,11 @@ │ │ │ │ │ │ line 64: 14 │ │ │ │ │ │ line 65: 19 │ │ │ │ │ │ line 66: 25 │ │ │ │ │ │ line 67: 31 │ │ │ │ │ │ line 68: 37 │ │ │ │ │ │ } │ │ │ │ │ │ SourceFile: "Option.java" │ │ │ │ │ │ +NestMembers: │ │ │ │ │ │ + xtc/util/Option$Kind │ │ │ │ │ │ InnerClasses: │ │ │ │ │ │ - public static final #39= #37 of #8; // Kind=class xtc/util/Option$Kind of class xtc/util/Option │ │ │ │ │ │ + public static final #40= #37 of #8; // Kind=class xtc/util/Option$Kind of class xtc/util/Option │ │ │ │ ├── xtc/util/Pair$1.class │ │ │ │ │ ├── javap -verbose -constants -s -l -private {} │ │ │ │ │ │ @@ -1,16 +1,16 @@ │ │ │ │ │ │ - SHA-256 checksum a65204d2f9f7f939d3d0ee60de4186b52b19229dfc7ca4c9a544b3d95063a298 │ │ │ │ │ │ + SHA-256 checksum 66feb1585eec6bfac903197331e6cca568384bcdca63d8abf79561c9e95d60b5 │ │ │ │ │ │ Compiled from "Pair.java" │ │ │ │ │ │ class xtc.util.Pair$1 extends java.lang.Object implements java.util.Iterator │ │ │ │ │ │ minor version: 0 │ │ │ │ │ │ - major version: 52 │ │ │ │ │ │ + major version: 61 │ │ │ │ │ │ flags: (0x0020) ACC_SUPER │ │ │ │ │ │ this_class: #2 // xtc/util/Pair$1 │ │ │ │ │ │ super_class: #8 // java/lang/Object │ │ │ │ │ │ - interfaces: 1, fields: 2, methods: 4, attributes: 4 │ │ │ │ │ │ + interfaces: 1, fields: 2, methods: 4, attributes: 5 │ │ │ │ │ │ Constant pool: │ │ │ │ │ │ #1 = Fieldref #2.#3 // xtc/util/Pair$1.this$0:Lxtc/util/Pair; │ │ │ │ │ │ #2 = Class #4 // xtc/util/Pair$1 │ │ │ │ │ │ #3 = NameAndType #5:#6 // this$0:Lxtc/util/Pair; │ │ │ │ │ │ #4 = Utf8 xtc/util/Pair$1 │ │ │ │ │ │ #5 = Utf8 this$0 │ │ │ │ │ │ #6 = Utf8 Lxtc/util/Pair; │ │ │ │ │ │ @@ -58,15 +58,16 @@ │ │ │ │ │ │ #48 = Utf8 Ljava/lang/Object;Ljava/util/Iterator; │ │ │ │ │ │ #49 = Utf8 SourceFile │ │ │ │ │ │ #50 = Utf8 Pair.java │ │ │ │ │ │ #51 = Utf8 EnclosingMethod │ │ │ │ │ │ #52 = NameAndType #53:#54 // iterator:()Ljava/util/Iterator; │ │ │ │ │ │ #53 = Utf8 iterator │ │ │ │ │ │ #54 = Utf8 ()Ljava/util/Iterator; │ │ │ │ │ │ - #55 = Utf8 InnerClasses │ │ │ │ │ │ + #55 = Utf8 NestHost │ │ │ │ │ │ + #56 = Utf8 InnerClasses │ │ │ │ │ │ { │ │ │ │ │ │ private xtc.util.Pair pair; │ │ │ │ │ │ descriptor: Lxtc/util/Pair; │ │ │ │ │ │ flags: (0x0002) ACC_PRIVATE │ │ │ │ │ │ Signature: #37 // Lxtc/util/Pair; │ │ │ │ │ │ │ │ │ │ │ │ final xtc.util.Pair this$0; │ │ │ │ │ │ @@ -157,9 +158,10 @@ │ │ │ │ │ │ 7: athrow │ │ │ │ │ │ LineNumberTable: │ │ │ │ │ │ line 537: 0 │ │ │ │ │ │ } │ │ │ │ │ │ Signature: #48 // Ljava/lang/Object;Ljava/util/Iterator; │ │ │ │ │ │ SourceFile: "Pair.java" │ │ │ │ │ │ EnclosingMethod: #17.#52 // xtc.util.Pair.iterator │ │ │ │ │ │ +NestHost: class xtc/util/Pair │ │ │ │ │ │ InnerClasses: │ │ │ │ │ │ #2; // class xtc/util/Pair$1 │ │ │ │ ├── xtc/util/Pair.class │ │ │ │ │ ├── procyon -ec {} │ │ │ │ │ │ @@ -106,41 +106,41 @@ │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public T get(final int n) { │ │ │ │ │ │ if (0 > n) { │ │ │ │ │ │ throw new IndexOutOfBoundsException("Index: " + n + ", Size: " + this.size()); │ │ │ │ │ │ } │ │ │ │ │ │ Pair tail = this; │ │ │ │ │ │ - int i = 0; │ │ │ │ │ │ + int n2 = 0; │ │ │ │ │ │ while (Pair.EMPTY != tail) { │ │ │ │ │ │ - if (n == i) { │ │ │ │ │ │ + if (n == n2) { │ │ │ │ │ │ return tail.head; │ │ │ │ │ │ } │ │ │ │ │ │ - ++i; │ │ │ │ │ │ + ++n2; │ │ │ │ │ │ tail = tail.tail; │ │ │ │ │ │ } │ │ │ │ │ │ - throw new IndexOutOfBoundsException("Index: " + n + ", Size: " + i); │ │ │ │ │ │ + throw new IndexOutOfBoundsException("Index: " + n + ", Size: " + n2); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public T set(final int n, final T head) { │ │ │ │ │ │ if (0 > n) { │ │ │ │ │ │ throw new IndexOutOfBoundsException("Index: " + n + ", Size: " + this.size()); │ │ │ │ │ │ } │ │ │ │ │ │ Pair tail = this; │ │ │ │ │ │ - int i = 0; │ │ │ │ │ │ + int n2 = 0; │ │ │ │ │ │ while (Pair.EMPTY != tail) { │ │ │ │ │ │ - if (n == i) { │ │ │ │ │ │ + if (n == n2) { │ │ │ │ │ │ final T head2 = tail.head; │ │ │ │ │ │ tail.head = head; │ │ │ │ │ │ return head2; │ │ │ │ │ │ } │ │ │ │ │ │ - ++i; │ │ │ │ │ │ + ++n2; │ │ │ │ │ │ tail = tail.tail; │ │ │ │ │ │ } │ │ │ │ │ │ - throw new IndexOutOfBoundsException("Index: " + n + ", Size: " + i); │ │ │ │ │ │ + throw new IndexOutOfBoundsException("Index: " + n + ", Size: " + n2); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public int size() { │ │ │ │ │ │ Pair tail = this; │ │ │ │ │ │ int n = 0; │ │ │ │ │ │ while (tail != Pair.EMPTY) { │ │ │ │ │ │ ++n; │ │ │ │ ├── xtc/util/Runtime$1.class │ │ │ │ │ ├── javap -verbose -constants -s -l -private {} │ │ │ │ │ │ @@ -1,16 +1,16 @@ │ │ │ │ │ │ - SHA-256 checksum 993faa40ee5d6ea15aaa7a670a0c1c365925860f28803ec4c4cbf34072d90fb1 │ │ │ │ │ │ + SHA-256 checksum 41d2a72b79f9dc737c4d34ca27dd48140fa997c5cf0914a3583fd1bde25ad111 │ │ │ │ │ │ Compiled from "Runtime.java" │ │ │ │ │ │ class xtc.util.Runtime$1 │ │ │ │ │ │ minor version: 0 │ │ │ │ │ │ - major version: 52 │ │ │ │ │ │ + major version: 61 │ │ │ │ │ │ flags: (0x1020) ACC_SUPER, ACC_SYNTHETIC │ │ │ │ │ │ this_class: #8 // xtc/util/Runtime$1 │ │ │ │ │ │ super_class: #38 // java/lang/Object │ │ │ │ │ │ - interfaces: 0, fields: 1, methods: 1, attributes: 3 │ │ │ │ │ │ + interfaces: 0, fields: 1, methods: 1, attributes: 4 │ │ │ │ │ │ Constant pool: │ │ │ │ │ │ #1 = Methodref #2.#3 // xtc/util/Option$Kind.values:()[Lxtc/util/Option$Kind; │ │ │ │ │ │ #2 = Class #4 // xtc/util/Option$Kind │ │ │ │ │ │ #3 = NameAndType #5:#6 // values:()[Lxtc/util/Option$Kind; │ │ │ │ │ │ #4 = Utf8 xtc/util/Option$Kind │ │ │ │ │ │ #5 = Utf8 values │ │ │ │ │ │ #6 = Utf8 ()[Lxtc/util/Option$Kind; │ │ │ │ │ │ @@ -53,18 +53,19 @@ │ │ │ │ │ │ #43 = Utf8 LineNumberTable │ │ │ │ │ │ #44 = Utf8 StackMapTable │ │ │ │ │ │ #45 = Utf8 SourceFile │ │ │ │ │ │ #46 = Utf8 Runtime.java │ │ │ │ │ │ #47 = Utf8 EnclosingMethod │ │ │ │ │ │ #48 = Class #49 // xtc/util/Runtime │ │ │ │ │ │ #49 = Utf8 xtc/util/Runtime │ │ │ │ │ │ - #50 = Utf8 InnerClasses │ │ │ │ │ │ - #51 = Class #52 // xtc/util/Option │ │ │ │ │ │ - #52 = Utf8 xtc/util/Option │ │ │ │ │ │ - #53 = Utf8 Kind │ │ │ │ │ │ + #50 = Utf8 NestHost │ │ │ │ │ │ + #51 = Utf8 InnerClasses │ │ │ │ │ │ + #52 = Class #53 // xtc/util/Option │ │ │ │ │ │ + #53 = Utf8 xtc/util/Option │ │ │ │ │ │ + #54 = Utf8 Kind │ │ │ │ │ │ { │ │ │ │ │ │ static final int[] $SwitchMap$xtc$util$Option$Kind; │ │ │ │ │ │ descriptor: [I │ │ │ │ │ │ flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC │ │ │ │ │ │ │ │ │ │ │ │ static {}; │ │ │ │ │ │ descriptor: ()V │ │ │ │ │ │ @@ -146,10 +147,11 @@ │ │ │ │ │ │ frame_type = 0 /* same */ │ │ │ │ │ │ frame_type = 78 /* same_locals_1_stack_item */ │ │ │ │ │ │ stack = [ class java/lang/NoSuchFieldError ] │ │ │ │ │ │ frame_type = 0 /* same */ │ │ │ │ │ │ } │ │ │ │ │ │ SourceFile: "Runtime.java" │ │ │ │ │ │ EnclosingMethod: #48.#0 // xtc.util.Runtime │ │ │ │ │ │ +NestHost: class xtc/util/Runtime │ │ │ │ │ │ InnerClasses: │ │ │ │ │ │ - public static final #53= #2 of #51; // Kind=class xtc/util/Option$Kind of class xtc/util/Option │ │ │ │ │ │ + public static final #54= #2 of #52; // Kind=class xtc/util/Option$Kind of class xtc/util/Option │ │ │ │ │ │ static #8; // class xtc/util/Runtime$1 │ │ │ │ ├── xtc/util/Runtime.class │ │ │ │ │ ├── procyon -ec {} │ │ │ │ │ │ @@ -72,20 +72,20 @@ │ │ │ │ │ │ this.errConsole = errConsole; │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public long freeMemory() { │ │ │ │ │ │ return java.lang.Runtime.getRuntime().freeMemory(); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - protected void check(final String str, final String str2) { │ │ │ │ │ │ - if (this.externalMap.containsKey(str)) { │ │ │ │ │ │ - throw new IllegalArgumentException("Option with external name " + str + " already exists"); │ │ │ │ │ │ + protected void check(final String s, final String s2) { │ │ │ │ │ │ + if (this.externalMap.containsKey(s)) { │ │ │ │ │ │ + throw new IllegalArgumentException("Option with external name " + s + " already exists"); │ │ │ │ │ │ } │ │ │ │ │ │ - if (this.internalMap.containsKey(str2)) { │ │ │ │ │ │ - throw new IllegalArgumentException("Option with internal name " + str2 + " already exists"); │ │ │ │ │ │ + if (this.internalMap.containsKey(s2)) { │ │ │ │ │ │ + throw new IllegalArgumentException("Option with internal name " + s2 + " already exists"); │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ protected void add(final Option option) { │ │ │ │ │ │ this.optionList.add(option); │ │ │ │ │ │ this.externalMap.put(option.external, option); │ │ │ │ │ │ this.internalMap.put(option.internal, option); │ │ │ │ │ │ @@ -125,40 +125,40 @@ │ │ │ │ │ │ this.check(s, s2); │ │ │ │ │ │ this.add(new Option(Option.Kind.ATTRIBUTE, s, s2, (Object)null, b, s3)); │ │ │ │ │ │ return this; │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public void printOptions() { │ │ │ │ │ │ int a = 0; │ │ │ │ │ │ - for (final Option obj : this.optionList) { │ │ │ │ │ │ - switch (Runtime.Runtime$1.$SwitchMap$xtc$util$Option$Kind[obj.kind.ordinal()]) { │ │ │ │ │ │ + for (Option option : this.optionList) { │ │ │ │ │ │ + switch (Runtime.Runtime$1.$SwitchMap$xtc$util$Option$Kind[option.kind.ordinal()]) { │ │ │ │ │ │ case 1: { │ │ │ │ │ │ - a = Math.max(a, obj.external.length() + 5); │ │ │ │ │ │ + a = Math.max(a, option.external.length() + 5); │ │ │ │ │ │ continue; │ │ │ │ │ │ } │ │ │ │ │ │ case 2: │ │ │ │ │ │ case 3: { │ │ │ │ │ │ - a = Math.max(a, obj.external.length() + 5 + 7); │ │ │ │ │ │ + a = Math.max(a, option.external.length() + 5 + 7); │ │ │ │ │ │ continue; │ │ │ │ │ │ } │ │ │ │ │ │ case 4: │ │ │ │ │ │ case 5: │ │ │ │ │ │ case 6: { │ │ │ │ │ │ - a = Math.max(a, obj.external.length() + 5 + 6); │ │ │ │ │ │ + a = Math.max(a, option.external.length() + 5 + 6); │ │ │ │ │ │ continue; │ │ │ │ │ │ } │ │ │ │ │ │ default: { │ │ │ │ │ │ - assert false : "Invalid option " + obj; │ │ │ │ │ │ + assert false : "Invalid option " + option; │ │ │ │ │ │ continue; │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ - for (final Option obj2 : this.optionList) { │ │ │ │ │ │ - this.console.p(" -").p(obj2.external); │ │ │ │ │ │ - switch (Runtime.Runtime$1.$SwitchMap$xtc$util$Option$Kind[obj2.kind.ordinal()]) { │ │ │ │ │ │ + for (Option option2 : this.optionList) { │ │ │ │ │ │ + this.console.p(" -").p(option2.external); │ │ │ │ │ │ + switch (Runtime.Runtime$1.$SwitchMap$xtc$util$Option$Kind[option2.kind.ordinal()]) { │ │ │ │ │ │ case 1: { │ │ │ │ │ │ break; │ │ │ │ │ │ } │ │ │ │ │ │ case 2: { │ │ │ │ │ │ this.console.p(" "); │ │ │ │ │ │ break; │ │ │ │ │ │ } │ │ │ │ │ │ @@ -175,49 +175,49 @@ │ │ │ │ │ │ break; │ │ │ │ │ │ } │ │ │ │ │ │ case 6: { │ │ │ │ │ │ this.console.p(" "); │ │ │ │ │ │ break; │ │ │ │ │ │ } │ │ │ │ │ │ default: { │ │ │ │ │ │ - assert false : "Invalid option " + obj2; │ │ │ │ │ │ + assert false : "Invalid option " + option2; │ │ │ │ │ │ break; │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ - this.console.align(a).wrap(a, obj2.description).pln(); │ │ │ │ │ │ + this.console.align(a).wrap(a, option2.description).pln(); │ │ │ │ │ │ } │ │ │ │ │ │ this.console.flush(); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public int process(final String[] array) { │ │ │ │ │ │ int n = 0; │ │ │ │ │ │ this.options.clear(); │ │ │ │ │ │ while (n < array.length && array[n].startsWith("-")) { │ │ │ │ │ │ if (1 >= array[n].length()) { │ │ │ │ │ │ this.error("empty command line option"); │ │ │ │ │ │ } │ │ │ │ │ │ else { │ │ │ │ │ │ final String substring = array[n].substring(1); │ │ │ │ │ │ - final Option obj = (Option)this.externalMap.get(substring); │ │ │ │ │ │ - if (null == obj) { │ │ │ │ │ │ + final Option option = (Option)this.externalMap.get(substring); │ │ │ │ │ │ + if (null == option) { │ │ │ │ │ │ this.error("unrecognized command line option " + substring); │ │ │ │ │ │ } │ │ │ │ │ │ - else if (!obj.multiple && this.options.containsKey(obj.internal)) { │ │ │ │ │ │ + else if (!option.multiple && this.options.containsKey(option.internal)) { │ │ │ │ │ │ this.error("repeated " + substring + " option"); │ │ │ │ │ │ } │ │ │ │ │ │ - else if (Option.Kind.BOOLEAN == obj.kind) { │ │ │ │ │ │ - this.options.put(obj.internal, Boolean.TRUE); │ │ │ │ │ │ + else if (Option.Kind.BOOLEAN == option.kind) { │ │ │ │ │ │ + this.options.put(option.internal, Boolean.TRUE); │ │ │ │ │ │ } │ │ │ │ │ │ else if (array.length == n + 1) { │ │ │ │ │ │ this.error(substring + " option without argument"); │ │ │ │ │ │ } │ │ │ │ │ │ else { │ │ │ │ │ │ Object value = null; │ │ │ │ │ │ ++n; │ │ │ │ │ │ - switch (Runtime.Runtime$1.$SwitchMap$xtc$util$Option$Kind[obj.kind.ordinal()]) { │ │ │ │ │ │ + switch (Runtime.Runtime$1.$SwitchMap$xtc$util$Option$Kind[option.kind.ordinal()]) { │ │ │ │ │ │ case 2: { │ │ │ │ │ │ value = array[n]; │ │ │ │ │ │ break; │ │ │ │ │ │ } │ │ │ │ │ │ case 4: { │ │ │ │ │ │ try { │ │ │ │ │ │ value = new Integer(array[n]); │ │ │ │ │ │ @@ -251,46 +251,46 @@ │ │ │ │ │ │ } │ │ │ │ │ │ case 6: { │ │ │ │ │ │ final PParser pParser = new PParser((Reader)new StringReader(array[n]), "", array[n].length()); │ │ │ │ │ │ Object pAttribute = null; │ │ │ │ │ │ try { │ │ │ │ │ │ pAttribute = pParser.pAttribute(0); │ │ │ │ │ │ } │ │ │ │ │ │ - catch (final IOException obj2) { │ │ │ │ │ │ - this.error("internal error: " + obj2); │ │ │ │ │ │ + catch (final IOException ex2) { │ │ │ │ │ │ + this.error("internal error: " + ex2); │ │ │ │ │ │ } │ │ │ │ │ │ if (!((Result)pAttribute).hasValue()) { │ │ │ │ │ │ this.error("malformed attribute " + array[n] + ": " + ((ParseError)pAttribute).msg); │ │ │ │ │ │ break; │ │ │ │ │ │ } │ │ │ │ │ │ if (((Result)pAttribute).index != array[n].length()) { │ │ │ │ │ │ this.error("extra characters after " + array[n].substring(0, ((Result)pAttribute).index)); │ │ │ │ │ │ break; │ │ │ │ │ │ } │ │ │ │ │ │ value = ((SemanticValue)pAttribute).value; │ │ │ │ │ │ break; │ │ │ │ │ │ } │ │ │ │ │ │ default: { │ │ │ │ │ │ - assert false : "Unrecognized option " + obj; │ │ │ │ │ │ + assert false : "Unrecognized option " + option; │ │ │ │ │ │ break; │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ if (null != value) { │ │ │ │ │ │ - if (obj.multiple) { │ │ │ │ │ │ - if (this.options.containsKey(obj.internal)) { │ │ │ │ │ │ - ((List)this.options.get(obj.internal)).add(value); │ │ │ │ │ │ + if (option.multiple) { │ │ │ │ │ │ + if (this.options.containsKey(option.internal)) { │ │ │ │ │ │ + ((List)this.options.get(option.internal)).add(value); │ │ │ │ │ │ } │ │ │ │ │ │ else { │ │ │ │ │ │ final ArrayList list = new ArrayList(); │ │ │ │ │ │ list.add(value); │ │ │ │ │ │ - this.options.put(obj.internal, list); │ │ │ │ │ │ + this.options.put(option.internal, list); │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ else { │ │ │ │ │ │ - this.options.put(obj.internal, value); │ │ │ │ │ │ + this.options.put(option.internal, value); │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ ++n; │ │ │ │ │ │ } │ │ │ │ │ │ return n; │ │ │ │ │ │ @@ -344,54 +344,54 @@ │ │ │ │ │ │ if (((String)iterator.next()).startsWith(prefix)) { │ │ │ │ │ │ return true; │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ return false; │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public Object getValue(final String str) { │ │ │ │ │ │ - if (this.options.containsKey(str)) { │ │ │ │ │ │ - return this.options.get(str); │ │ │ │ │ │ + public Object getValue(final String s) { │ │ │ │ │ │ + if (this.options.containsKey(s)) { │ │ │ │ │ │ + return this.options.get(s); │ │ │ │ │ │ } │ │ │ │ │ │ - throw new IllegalArgumentException("Undefined internal option " + str); │ │ │ │ │ │ + throw new IllegalArgumentException("Undefined internal option " + s); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public boolean test(final String str) { │ │ │ │ │ │ - if (this.options.containsKey(str)) { │ │ │ │ │ │ - return Boolean.valueOf(this.options.get((Object)str)); │ │ │ │ │ │ + public boolean test(final String s) { │ │ │ │ │ │ + if (this.options.containsKey(s)) { │ │ │ │ │ │ + return Boolean.valueOf(this.options.get((Object)s)); │ │ │ │ │ │ } │ │ │ │ │ │ - throw new IllegalArgumentException("Undefined boolean option " + str); │ │ │ │ │ │ + throw new IllegalArgumentException("Undefined boolean option " + s); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public int getInt(final String str) { │ │ │ │ │ │ - if (this.options.containsKey(str)) { │ │ │ │ │ │ - return Integer.valueOf(this.options.get((Object)str)); │ │ │ │ │ │ + public int getInt(final String s) { │ │ │ │ │ │ + if (this.options.containsKey(s)) { │ │ │ │ │ │ + return Integer.valueOf(this.options.get((Object)s)); │ │ │ │ │ │ } │ │ │ │ │ │ - throw new IllegalArgumentException("Undefined integer option " + str); │ │ │ │ │ │ + throw new IllegalArgumentException("Undefined integer option " + s); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public String getString(final String str) { │ │ │ │ │ │ - if (this.options.containsKey(str)) { │ │ │ │ │ │ - return this.options.get(str); │ │ │ │ │ │ + public String getString(final String s) { │ │ │ │ │ │ + if (this.options.containsKey(s)) { │ │ │ │ │ │ + return this.options.get(s); │ │ │ │ │ │ } │ │ │ │ │ │ - throw new IllegalArgumentException("Undefined word option " + str); │ │ │ │ │ │ + throw new IllegalArgumentException("Undefined word option " + s); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public File getFile(final String str) { │ │ │ │ │ │ - if (this.options.containsKey(str)) { │ │ │ │ │ │ - return this.options.get(str); │ │ │ │ │ │ + public File getFile(final String s) { │ │ │ │ │ │ + if (this.options.containsKey(s)) { │ │ │ │ │ │ + return this.options.get(s); │ │ │ │ │ │ } │ │ │ │ │ │ - throw new IllegalArgumentException("Undefined file/directory option " + str); │ │ │ │ │ │ + throw new IllegalArgumentException("Undefined file/directory option " + s); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public List getList(final String str) { │ │ │ │ │ │ - if (this.options.containsKey(str)) { │ │ │ │ │ │ - return this.options.get(str); │ │ │ │ │ │ + public List getList(final String s) { │ │ │ │ │ │ + if (this.options.containsKey(s)) { │ │ │ │ │ │ + return this.options.get(s); │ │ │ │ │ │ } │ │ │ │ │ │ - throw new IllegalArgumentException("Undefined option " + str + " with multiple values"); │ │ │ │ │ │ + throw new IllegalArgumentException("Undefined option " + s + " with multiple values"); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public List getAttributeList(final String s) { │ │ │ │ │ │ final List list = this.getList(s); │ │ │ │ │ │ if (0 < list.size()) { │ │ │ │ │ │ final Attribute attribute = (Attribute)list.get(0); │ │ │ │ │ │ } │ │ │ │ │ │ @@ -402,96 +402,96 @@ │ │ │ │ │ │ final List list = this.getList(s); │ │ │ │ │ │ if (0 < list.size()) { │ │ │ │ │ │ final File file = (File)list.get(0); │ │ │ │ │ │ } │ │ │ │ │ │ return (List)list; │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - protected void check(final Option obj, final Object o) { │ │ │ │ │ │ - switch (Runtime.Runtime$1.$SwitchMap$xtc$util$Option$Kind[obj.kind.ordinal()]) { │ │ │ │ │ │ + protected void check(final Option option, final Object o) { │ │ │ │ │ │ + switch (Runtime.Runtime$1.$SwitchMap$xtc$util$Option$Kind[option.kind.ordinal()]) { │ │ │ │ │ │ case 1: { │ │ │ │ │ │ if (!(o instanceof Boolean)) { │ │ │ │ │ │ - throw new IllegalArgumentException("Invalid value " + o + " for boolean option " + obj.internal); │ │ │ │ │ │ + throw new IllegalArgumentException("Invalid value " + o + " for boolean option " + option.internal); │ │ │ │ │ │ } │ │ │ │ │ │ break; │ │ │ │ │ │ } │ │ │ │ │ │ case 2: { │ │ │ │ │ │ if (!(o instanceof String)) { │ │ │ │ │ │ - throw new IllegalArgumentException("Invalid value " + o + " for word option " + obj.internal); │ │ │ │ │ │ + throw new IllegalArgumentException("Invalid value " + o + " for word option " + option.internal); │ │ │ │ │ │ } │ │ │ │ │ │ break; │ │ │ │ │ │ } │ │ │ │ │ │ case 4: { │ │ │ │ │ │ if (!(o instanceof Integer)) { │ │ │ │ │ │ - throw new IllegalArgumentException("Invalid value " + o + " for number option " + obj.internal); │ │ │ │ │ │ + throw new IllegalArgumentException("Invalid value " + o + " for number option " + option.internal); │ │ │ │ │ │ } │ │ │ │ │ │ break; │ │ │ │ │ │ } │ │ │ │ │ │ case 3: { │ │ │ │ │ │ if (!(o instanceof File) || !((File)o).exists()) { │ │ │ │ │ │ - throw new IllegalArgumentException("Invalid value " + o + " for file option " + obj.internal); │ │ │ │ │ │ + throw new IllegalArgumentException("Invalid value " + o + " for file option " + option.internal); │ │ │ │ │ │ } │ │ │ │ │ │ break; │ │ │ │ │ │ } │ │ │ │ │ │ case 5: { │ │ │ │ │ │ if (!(o instanceof File) || !((File)o).isDirectory()) { │ │ │ │ │ │ - throw new IllegalArgumentException("Invalid value " + o + " for directory option " + obj.internal); │ │ │ │ │ │ + throw new IllegalArgumentException("Invalid value " + o + " for directory option " + option.internal); │ │ │ │ │ │ } │ │ │ │ │ │ break; │ │ │ │ │ │ } │ │ │ │ │ │ case 6: { │ │ │ │ │ │ if (!(o instanceof Attribute)) { │ │ │ │ │ │ - throw new IllegalArgumentException("Invalid value " + o + " for attribute option " + obj.internal); │ │ │ │ │ │ + throw new IllegalArgumentException("Invalid value " + o + " for attribute option " + option.internal); │ │ │ │ │ │ } │ │ │ │ │ │ break; │ │ │ │ │ │ } │ │ │ │ │ │ default: { │ │ │ │ │ │ - assert false : "Invalid option " + obj; │ │ │ │ │ │ + assert false : "Invalid option " + option; │ │ │ │ │ │ break; │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public void setValue(final String str, Object o) { │ │ │ │ │ │ - final Option option = (Option)this.internalMap.get(str); │ │ │ │ │ │ + public void setValue(final String s, Object o) { │ │ │ │ │ │ + final Option option = (Option)this.internalMap.get(s); │ │ │ │ │ │ if (null == option) { │ │ │ │ │ │ - throw new IllegalArgumentException("Undefined option " + str); │ │ │ │ │ │ + throw new IllegalArgumentException("Undefined option " + s); │ │ │ │ │ │ } │ │ │ │ │ │ this.check(option, o); │ │ │ │ │ │ if (option.multiple) { │ │ │ │ │ │ final ArrayList list = new ArrayList(1); │ │ │ │ │ │ list.add(o); │ │ │ │ │ │ o = list; │ │ │ │ │ │ } │ │ │ │ │ │ - this.options.put(str, o); │ │ │ │ │ │ + this.options.put(s, o); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public void setValue(final String s, final boolean b) { │ │ │ │ │ │ final Option option = (Option)this.internalMap.get(s); │ │ │ │ │ │ if (null == option) { │ │ │ │ │ │ throw new IllegalArgumentException("Undefined option " + s); │ │ │ │ │ │ } │ │ │ │ │ │ if (Option.Kind.BOOLEAN != option.kind) { │ │ │ │ │ │ throw new IllegalArgumentException("Not a boolean-valued option " + s); │ │ │ │ │ │ } │ │ │ │ │ │ this.options.put(s, Boolean.valueOf(b)); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public File locate(final String s) throws FileNotFoundException { │ │ │ │ │ │ + public File locate(final String child) throws FileNotFoundException { │ │ │ │ │ │ final List fileList = this.getFileList("inputDirectory"); │ │ │ │ │ │ if (null != fileList) { │ │ │ │ │ │ final Iterator iterator = fileList.iterator(); │ │ │ │ │ │ while (iterator.hasNext()) { │ │ │ │ │ │ - final File file = new File(iterator.next(), s); │ │ │ │ │ │ + final File file = new File(iterator.next(), child); │ │ │ │ │ │ if (file.exists() && file.isFile()) { │ │ │ │ │ │ return file; │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ - throw new FileNotFoundException(s + " not found"); │ │ │ │ │ │ + throw new FileNotFoundException(child + " not found"); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public Reader getReader(final File file) throws IOException { │ │ │ │ │ │ return this.getReader(new FileInputStream(file)); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public Reader getReader(final InputStream inputStream) throws UnsupportedEncodingException { │ │ │ │ ├── xtc/util/State.class │ │ │ │ │ ├── javap -verbose -constants -s -l -private {} │ │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ - SHA-256 checksum 786111e39f19c13592b14595e97751bc538dfe9cfdbaad230395156162674002 │ │ │ │ │ │ + SHA-256 checksum 73aa8077e33febe72a9a25ef778274ac45d1d23b17e0463d6ac5437bd80fea75 │ │ │ │ │ │ Compiled from "State.java" │ │ │ │ │ │ public interface xtc.util.State │ │ │ │ │ │ minor version: 0 │ │ │ │ │ │ - major version: 52 │ │ │ │ │ │ + major version: 61 │ │ │ │ │ │ flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT │ │ │ │ │ │ this_class: #1 // xtc/util/State │ │ │ │ │ │ super_class: #3 // java/lang/Object │ │ │ │ │ │ interfaces: 0, fields: 0, methods: 4, attributes: 1 │ │ │ │ │ │ Constant pool: │ │ │ │ │ │ #1 = Class #2 // xtc/util/State │ │ │ │ │ │ #2 = Utf8 xtc/util/State │ │ │ │ ├── xtc/util/Statistics.class │ │ │ │ │ ├── javap -verbose -constants -s -l -private {} │ │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ - SHA-256 checksum 583ec6823f887247aaacea0ed9954d33cda77f71b2723e4222b8ca6aa52b2670 │ │ │ │ │ │ + SHA-256 checksum 1d79794fbf0e73eb60ba0d74366d90a30e8c75bbbd8bbf085899fd8446330e33 │ │ │ │ │ │ Compiled from "Statistics.java" │ │ │ │ │ │ public class xtc.util.Statistics │ │ │ │ │ │ minor version: 0 │ │ │ │ │ │ - major version: 52 │ │ │ │ │ │ + major version: 61 │ │ │ │ │ │ flags: (0x0021) ACC_PUBLIC, ACC_SUPER │ │ │ │ │ │ this_class: #11 // xtc/util/Statistics │ │ │ │ │ │ super_class: #2 // java/lang/Object │ │ │ │ │ │ interfaces: 0, fields: 1, methods: 11, attributes: 1 │ │ │ │ │ │ Constant pool: │ │ │ │ │ │ #1 = Methodref #2.#3 // java/lang/Object."":()V │ │ │ │ │ │ #2 = Class #4 // java/lang/Object │ │ │ │ ├── xtc/util/SymbolTable$Scope.class │ │ │ │ │ ├── procyon -ec {} │ │ │ │ │ │ @@ -18,25 +18,25 @@ │ │ │ │ │ │ Map symbols; │ │ │ │ │ │ │ │ │ │ │ │ Scope(final String s) { │ │ │ │ │ │ this.name = s; │ │ │ │ │ │ this.qName = s; │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - Scope(final String s, final Scope parent) { │ │ │ │ │ │ - if (null != parent.scopes && parent.scopes.containsKey(s)) { │ │ │ │ │ │ - throw new IllegalArgumentException("Scope " + parent.qName + " already contains scope " + s); │ │ │ │ │ │ + Scope(final String name, final Scope parent) { │ │ │ │ │ │ + if (null != parent.scopes && parent.scopes.containsKey(name)) { │ │ │ │ │ │ + throw new IllegalArgumentException("Scope " + parent.qName + " already contains scope " + name); │ │ │ │ │ │ } │ │ │ │ │ │ - this.name = s; │ │ │ │ │ │ - this.qName = Utilities.qualify(parent.qName, s); │ │ │ │ │ │ + this.name = name; │ │ │ │ │ │ + this.qName = Utilities.qualify(parent.qName, name); │ │ │ │ │ │ this.parent = parent; │ │ │ │ │ │ if (null == parent.scopes) { │ │ │ │ │ │ parent.scopes = new HashMap(); │ │ │ │ │ │ } │ │ │ │ │ │ - parent.scopes.put(s, this); │ │ │ │ │ │ + parent.scopes.put(name, this); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public String getName() { │ │ │ │ │ │ return this.name; │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public String getQualifiedName() { │ │ │ │ │ │ @@ -76,22 +76,22 @@ │ │ │ │ │ │ return null != this.getNested(s); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public Scope getNested(final String s) { │ │ │ │ │ │ return (null == this.scopes) ? null : ((Scope)this.scopes.get(s)); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public boolean isMergeable(final String s) { │ │ │ │ │ │ - final Scope nested = this.getNested(s); │ │ │ │ │ │ + public boolean isMergeable(final String anObject) { │ │ │ │ │ │ + final Scope nested = this.getNested(anObject); │ │ │ │ │ │ if (null == nested) { │ │ │ │ │ │ - throw new IllegalArgumentException("Scope " + this.qName + " does not contain scope " + s); │ │ │ │ │ │ + throw new IllegalArgumentException("Scope " + this.qName + " does not contain scope " + anObject); │ │ │ │ │ │ } │ │ │ │ │ │ if (null != nested.scopes) { │ │ │ │ │ │ - for (final String s2 : nested.scopes.keySet()) { │ │ │ │ │ │ - if (!s2.equals(s) && this.scopes.containsKey(s2)) { │ │ │ │ │ │ + for (final String s : nested.scopes.keySet()) { │ │ │ │ │ │ + if (!s.equals(anObject) && this.scopes.containsKey(s)) { │ │ │ │ │ │ return false; │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ if (null != this.symbols && null != nested.symbols) { │ │ │ │ │ │ final Iterator iterator2 = nested.symbols.keySet().iterator(); │ │ │ │ │ │ while (iterator2.hasNext()) { │ │ │ │ │ │ @@ -189,16 +189,16 @@ │ │ │ │ │ │ │ │ │ │ │ │ public void addDefinition(final String s, final Object o) { │ │ │ │ │ │ if (null == this.symbols) { │ │ │ │ │ │ this.symbols = new HashMap(); │ │ │ │ │ │ } │ │ │ │ │ │ if (this.symbols.containsKey(s)) { │ │ │ │ │ │ final List value = this.symbols.get(s); │ │ │ │ │ │ - if (value instanceof List) { │ │ │ │ │ │ - ((List)value).add(o); │ │ │ │ │ │ + if (value instanceof final List list2) { │ │ │ │ │ │ + list2.add(o); │ │ │ │ │ │ } │ │ │ │ │ │ else { │ │ │ │ │ │ final ArrayList list = new ArrayList(); │ │ │ │ │ │ list.add(value); │ │ │ │ │ │ list.add(o); │ │ │ │ │ │ this.symbols.put(s, list); │ │ │ │ │ │ } │ │ │ │ │ │ @@ -218,26 +218,26 @@ │ │ │ │ │ │ return Utilities.qualify(this.qName, s); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public void dump(final Printer printer) { │ │ │ │ │ │ final boolean b = null != printer.visitor(); │ │ │ │ │ │ printer.indent().p('.').p(this.name).pln(" = {").incr(); │ │ │ │ │ │ if (null != this.symbols) { │ │ │ │ │ │ - for (final Map.Entry entry : this.symbols.entrySet()) { │ │ │ │ │ │ + for (Map.Entry entry : this.symbols.entrySet()) { │ │ │ │ │ │ final String s = (String)entry.getKey(); │ │ │ │ │ │ final Object value = entry.getValue(); │ │ │ │ │ │ printer.indent().p(s).p(" = "); │ │ │ │ │ │ if (null == value) { │ │ │ │ │ │ printer.p("null"); │ │ │ │ │ │ } │ │ │ │ │ │ else if (b && value instanceof Node) { │ │ │ │ │ │ printer.p((Node)value); │ │ │ │ │ │ } │ │ │ │ │ │ - else if (value instanceof String) { │ │ │ │ │ │ - printer.p('\"').escape((String)value, 8).p('\"'); │ │ │ │ │ │ + else if (value instanceof final String s2) { │ │ │ │ │ │ + printer.p('\"').escape(s2, 8).p('\"'); │ │ │ │ │ │ } │ │ │ │ │ │ else { │ │ │ │ │ │ try { │ │ │ │ │ │ printer.p(value.toString()); │ │ │ │ │ │ } │ │ │ │ │ │ catch (final Exception ex) { │ │ │ │ │ │ printer.p(((String)value).getClass().getName() + "@?"); │ │ │ │ ├── xtc/util/SymbolTable.class │ │ │ │ │ ├── procyon -ec {} │ │ │ │ │ │ @@ -170,34 +170,34 @@ │ │ │ │ │ │ final StringBuilder sb = new StringBuilder(); │ │ │ │ │ │ sb.append(str); │ │ │ │ │ │ sb.append('$'); │ │ │ │ │ │ sb.append(this.freshIdCount++); │ │ │ │ │ │ return sb.toString(); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public static String toNameSpace(final String str, final String str2) { │ │ │ │ │ │ - return str2 + '(' + str + ')'; │ │ │ │ │ │ + public static String toNameSpace(final String s, final String s2) { │ │ │ │ │ │ + return s2 + "(" + s; │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public static boolean isInNameSpace(final String s, final String prefix) { │ │ │ │ │ │ try { │ │ │ │ │ │ return s.startsWith(prefix) && '(' == s.charAt(prefix.length()) && s.endsWith(SymbolTable.END_OPAQUE); │ │ │ │ │ │ } │ │ │ │ │ │ catch (final IndexOutOfBoundsException ex) { │ │ │ │ │ │ return false; │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public static String fromNameSpace(final String str) { │ │ │ │ │ │ - final int index = str.indexOf(40); │ │ │ │ │ │ - final int n = str.length() - 1; │ │ │ │ │ │ - if (0 < index && ')' == str.charAt(n)) { │ │ │ │ │ │ - return str.substring(index + 1, n); │ │ │ │ │ │ + public static String fromNameSpace(final String s) { │ │ │ │ │ │ + final int index = s.indexOf(40); │ │ │ │ │ │ + final int n = s.length() - 1; │ │ │ │ │ │ + if (0 < index && ')' == s.charAt(n)) { │ │ │ │ │ │ + return s.substring(index + 1, n); │ │ │ │ │ │ } │ │ │ │ │ │ - throw new IllegalArgumentException("Not a mangled symbol '" + str + "'"); │ │ │ │ │ │ + throw new IllegalArgumentException("Not a mangled symbol '" + s); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public static String toMacroScopeName(final String s) { │ │ │ │ │ │ return toNameSpace(s, "macro"); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public static boolean isMacroScopeName(final String s) { │ │ │ │ ├── xtc/util/Tool.class │ │ │ │ │ ├── procyon -ec {} │ │ │ │ │ │ @@ -54,18 +54,18 @@ │ │ │ │ │ │ this.runtime.setValue("optionPerformance", true); │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public void diagnose() { │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public File locate(final String s) throws IOException { │ │ │ │ │ │ - final File file = new File(s); │ │ │ │ │ │ + public File locate(final String pathname) throws IOException { │ │ │ │ │ │ + final File file = new File(pathname); │ │ │ │ │ │ if (!file.exists()) { │ │ │ │ │ │ - throw new FileNotFoundException(s + ": not found"); │ │ │ │ │ │ + throw new FileNotFoundException(pathname + ": not found"); │ │ │ │ │ │ } │ │ │ │ │ │ return file; │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public abstract Node parse(final Reader p0, final File p1) throws IOException, ParseException; │ │ │ │ │ │ │ │ │ │ │ │ public void process(final Node node) { │ │ │ │ ├── xtc/util/Utilities.class │ │ │ │ │ ├── procyon -ec {} │ │ │ │ │ │ @@ -95,16 +95,16 @@ │ │ │ │ │ │ return s; │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public static String unqualify(final String s) { │ │ │ │ │ │ return isQualified(s) ? getName(s) : s; │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public static String qualify(final String str, final String str2) { │ │ │ │ │ │ - return (null == str) ? str2 : (str + '.' + str2); │ │ │ │ │ │ + public static String qualify(final String s, final String s2) { │ │ │ │ │ │ + return (null == s) ? s2 : (s + "." + s2); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public static String[] toComponents(final String s) { │ │ │ │ │ │ final int length = s.length(); │ │ │ │ │ │ int n = 1; │ │ │ │ │ │ int n2 = 0; │ │ │ │ │ │ for (int i = 0; i < length; ++i) { │ │ │ │ │ │ @@ -178,27 +178,27 @@ │ │ │ │ │ │ return requalify(s, '$'); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public static String toPath(final String s) { │ │ │ │ │ │ return requalify(s, File.separatorChar); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public static String toPath(final String s, final String str) { │ │ │ │ │ │ - return toPath(s) + '.' + str; │ │ │ │ │ │ + public static String toPath(final String s, final String s2) { │ │ │ │ │ │ + return toPath(s) + "." + s2; │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public static File locate(final List list, final String s) throws FileNotFoundException { │ │ │ │ │ │ + public static File locate(final List list, final String child) throws FileNotFoundException { │ │ │ │ │ │ final Iterator iterator = list.iterator(); │ │ │ │ │ │ while (iterator.hasNext()) { │ │ │ │ │ │ - final File file = new File(iterator.next(), s); │ │ │ │ │ │ + final File file = new File(iterator.next(), child); │ │ │ │ │ │ if (file.exists() && file.isFile()) { │ │ │ │ │ │ return file; │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ - throw new FileNotFoundException(s + " not found"); │ │ │ │ │ │ + throw new FileNotFoundException(child + " not found"); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public static void pump(final Reader reader, final Writer writer) throws IOException { │ │ │ │ │ │ if (null == Utilities.charBuffer) { │ │ │ │ │ │ Utilities.charBuffer = new char[4096]; │ │ │ │ │ │ } │ │ │ │ │ │ for (int n = reader.read(Utilities.charBuffer); -1 != n; n = reader.read(Utilities.charBuffer)) { │ │ │ │ │ │ @@ -561,15 +561,15 @@ │ │ │ │ │ │ break; │ │ │ │ │ │ } │ │ │ │ │ │ case 118: { │ │ │ │ │ │ sb.append('\u000b'); │ │ │ │ │ │ break; │ │ │ │ │ │ } │ │ │ │ │ │ default: { │ │ │ │ │ │ - throw new IllegalArgumentException("illegal escaped character '\\" + char2 + "'"); │ │ │ │ │ │ + throw new IllegalArgumentException("illegal escaped character '\\" + char2); │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ return sb.toString(); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ @@ -637,11 +637,17 @@ │ │ │ │ │ │ } │ │ │ │ │ │ return "a"; │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ static { │ │ │ │ │ │ Utilities.charBuffer = null; │ │ │ │ │ │ WHITE_SPACE = Pattern.compile("\\s+"); │ │ │ │ │ │ - SPACE_NEWLINE_SPACE = Pattern.compile("[ \t\f]*(?:\r\n|\r|\n)[ \t\f]*"); │ │ │ │ │ │ - COMMENT_NEWLINE = Pattern.compile("[ \t\f]*(?:\r\n|\r|\n)[ \t\f]*\\**[ \t\f]*"); │ │ │ │ │ │ + SPACE_NEWLINE_SPACE = Pattern.compile(""" │ │ │ │ │ │ + [ \f]*(?:\r │ │ │ │ │ │ + |\r| │ │ │ │ │ │ + )[ \f]*"""); │ │ │ │ │ │ + COMMENT_NEWLINE = Pattern.compile(""" │ │ │ │ │ │ + [ \f]*(?:\r │ │ │ │ │ │ + |\r| │ │ │ │ │ │ + )[ \f]*\**[ \f]*"""); │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ ├── ./usr/share/java/rats-runtime-1.15.0.jar │ │ │ │ ├── zipinfo {} │ │ │ │ │ @@ -1,42 +1,42 @@ │ │ │ │ │ -Zip file size: 44055 bytes, number of entries: 40 │ │ │ │ │ +Zip file size: 45592 bytes, number of entries: 40 │ │ │ │ │ -rw---- 2.0 fat 0 bx stor 21-Oct-25 09:54 META-INF/ │ │ │ │ │ -rw-r--r-- 2.0 unx 117 b- defN 21-Oct-25 09:54 META-INF/MANIFEST.MF │ │ │ │ │ -rw---- 1.0 fat 0 b- stor 21-Oct-25 09:54 xtc/ │ │ │ │ │ -rw---- 1.0 fat 0 b- stor 21-Oct-25 09:54 xtc/parser/ │ │ │ │ │ -rw---- 2.0 fat 290 bl defN 21-Oct-25 09:54 xtc/parser/Column.class │ │ │ │ │ -rw---- 2.0 fat 1554 bl defN 21-Oct-25 09:54 xtc/parser/ParseError.class │ │ │ │ │ -rw---- 2.0 fat 239 bl defN 21-Oct-25 09:54 xtc/parser/ParseException.class │ │ │ │ │ --rw---- 2.0 fat 7016 bl defN 21-Oct-25 09:54 xtc/parser/ParserBase.class │ │ │ │ │ +-rw---- 2.0 fat 7305 bl defN 21-Oct-25 09:54 xtc/parser/ParserBase.class │ │ │ │ │ -rw---- 2.0 fat 701 bl defN 21-Oct-25 09:54 xtc/parser/Result.class │ │ │ │ │ -rw---- 2.0 fat 1592 bl defN 21-Oct-25 09:54 xtc/parser/SemanticValue.class │ │ │ │ │ -rw---- 1.0 fat 0 b- stor 21-Oct-25 09:54 xtc/tree/ │ │ │ │ │ -rw---- 2.0 fat 907 bl defN 21-Oct-25 09:54 xtc/tree/Annotation.class │ │ │ │ │ -rw---- 2.0 fat 1161 bl defN 21-Oct-25 09:54 xtc/tree/Formatting$After1.class │ │ │ │ │ -rw---- 2.0 fat 1163 bl defN 21-Oct-25 09:54 xtc/tree/Formatting$Before1.class │ │ │ │ │ -rw---- 2.0 fat 1246 bl defN 21-Oct-25 09:54 xtc/tree/Formatting$Round1.class │ │ │ │ │ -rw---- 2.0 fat 3224 bl defN 21-Oct-25 09:54 xtc/tree/Formatting$RoundN.class │ │ │ │ │ -rw---- 2.0 fat 1221 bl defN 21-Oct-25 09:54 xtc/tree/Formatting.class │ │ │ │ │ --rw---- 2.0 fat 1188 bl defN 21-Oct-25 09:54 xtc/tree/GNode$Fixed.class │ │ │ │ │ --rw---- 2.0 fat 1109 bl defN 21-Oct-25 09:54 xtc/tree/GNode$Fixed0.class │ │ │ │ │ --rw---- 2.0 fat 1384 bl defN 21-Oct-25 09:54 xtc/tree/GNode$Fixed1.class │ │ │ │ │ --rw---- 2.0 fat 1536 bl defN 21-Oct-25 09:54 xtc/tree/GNode$Fixed2.class │ │ │ │ │ --rw---- 2.0 fat 1641 bl defN 21-Oct-25 09:54 xtc/tree/GNode$Fixed3.class │ │ │ │ │ --rw---- 2.0 fat 1754 bl defN 21-Oct-25 09:54 xtc/tree/GNode$Fixed4.class │ │ │ │ │ --rw---- 2.0 fat 1867 bl defN 21-Oct-25 09:54 xtc/tree/GNode$Fixed5.class │ │ │ │ │ --rw---- 2.0 fat 1981 bl defN 21-Oct-25 09:54 xtc/tree/GNode$Fixed6.class │ │ │ │ │ --rw---- 2.0 fat 2094 bl defN 21-Oct-25 09:54 xtc/tree/GNode$Fixed7.class │ │ │ │ │ --rw---- 2.0 fat 2207 bl defN 21-Oct-25 09:54 xtc/tree/GNode$Fixed8.class │ │ │ │ │ --rw---- 2.0 fat 2599 bl defN 21-Oct-25 09:54 xtc/tree/GNode$Variable.class │ │ │ │ │ --rw---- 2.0 fat 7328 bl defN 21-Oct-25 09:54 xtc/tree/GNode.class │ │ │ │ │ +-rw---- 2.0 fat 1207 bl defN 21-Oct-25 09:54 xtc/tree/GNode$Fixed.class │ │ │ │ │ +-rw---- 2.0 fat 1290 bl defN 21-Oct-25 09:54 xtc/tree/GNode$Fixed0.class │ │ │ │ │ +-rw---- 2.0 fat 1565 bl defN 21-Oct-25 09:54 xtc/tree/GNode$Fixed1.class │ │ │ │ │ +-rw---- 2.0 fat 1717 bl defN 21-Oct-25 09:54 xtc/tree/GNode$Fixed2.class │ │ │ │ │ +-rw---- 2.0 fat 1822 bl defN 21-Oct-25 09:54 xtc/tree/GNode$Fixed3.class │ │ │ │ │ +-rw---- 2.0 fat 1935 bl defN 21-Oct-25 09:54 xtc/tree/GNode$Fixed4.class │ │ │ │ │ +-rw---- 2.0 fat 2048 bl defN 21-Oct-25 09:54 xtc/tree/GNode$Fixed5.class │ │ │ │ │ +-rw---- 2.0 fat 2162 bl defN 21-Oct-25 09:54 xtc/tree/GNode$Fixed6.class │ │ │ │ │ +-rw---- 2.0 fat 2275 bl defN 21-Oct-25 09:54 xtc/tree/GNode$Fixed7.class │ │ │ │ │ +-rw---- 2.0 fat 2388 bl defN 21-Oct-25 09:54 xtc/tree/GNode$Fixed8.class │ │ │ │ │ +-rw---- 2.0 fat 2618 bl defN 21-Oct-25 09:54 xtc/tree/GNode$Variable.class │ │ │ │ │ +-rw---- 2.0 fat 7372 bl defN 21-Oct-25 09:54 xtc/tree/GNode.class │ │ │ │ │ -rw---- 2.0 fat 263 bl defN 21-Oct-25 09:54 xtc/tree/Locatable.class │ │ │ │ │ -rw---- 2.0 fat 1664 bl defN 21-Oct-25 09:54 xtc/tree/Location.class │ │ │ │ │ --rw---- 2.0 fat 1046 bl defN 21-Oct-25 09:54 xtc/tree/Node$1.class │ │ │ │ │ --rw---- 2.0 fat 7769 bl defN 21-Oct-25 09:54 xtc/tree/Node.class │ │ │ │ │ --rw---- 2.0 fat 1473 bl defN 21-Oct-25 09:54 xtc/tree/Token.class │ │ │ │ │ +-rw---- 2.0 fat 1065 bl defN 21-Oct-25 09:54 xtc/tree/Node$1.class │ │ │ │ │ +-rw---- 2.0 fat 8082 bl defN 21-Oct-25 09:54 xtc/tree/Node.class │ │ │ │ │ +-rw---- 2.0 fat 1710 bl defN 21-Oct-25 09:54 xtc/tree/Token.class │ │ │ │ │ -rw---- 1.0 fat 0 b- stor 21-Oct-25 09:54 xtc/util/ │ │ │ │ │ -rw---- 2.0 fat 239 bl defN 21-Oct-25 09:54 xtc/util/Action.class │ │ │ │ │ --rw---- 2.0 fat 1009 bl defN 21-Oct-25 09:54 xtc/util/Pair$1.class │ │ │ │ │ --rw---- 2.0 fat 7341 bl defN 21-Oct-25 09:54 xtc/util/Pair.class │ │ │ │ │ +-rw---- 2.0 fat 1028 bl defN 21-Oct-25 09:54 xtc/util/Pair$1.class │ │ │ │ │ +-rw---- 2.0 fat 7637 bl defN 21-Oct-25 09:54 xtc/util/Pair.class │ │ │ │ │ -rw---- 2.0 fat 195 bl defN 21-Oct-25 09:54 xtc/util/State.class │ │ │ │ │ --rw---- 2.0 fat 9911 bl defN 21-Oct-25 09:54 xtc/util/Utilities.class │ │ │ │ │ -40 files, 78029 bytes uncompressed, 38577 bytes compressed: 50.6% │ │ │ │ │ +-rw---- 2.0 fat 10303 bl defN 21-Oct-25 09:54 xtc/util/Utilities.class │ │ │ │ │ +40 files, 81305 bytes uncompressed, 40114 bytes compressed: 50.7% │ │ │ │ ├── xtc/parser/Column.class │ │ │ │ │ ├── javap -verbose -constants -s -l -private {} │ │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ - SHA-256 checksum e046499fa3458dcf75a1ec8ed09726dd1613205db813bd758a02225d5ed6c59b │ │ │ │ │ │ + SHA-256 checksum ab64fbb89692bf784a29ac10d42a7f4a3277983b7a6d753aada0198e44a7df96 │ │ │ │ │ │ Compiled from "Column.java" │ │ │ │ │ │ public abstract class xtc.parser.Column │ │ │ │ │ │ minor version: 0 │ │ │ │ │ │ - major version: 52 │ │ │ │ │ │ + major version: 61 │ │ │ │ │ │ flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT │ │ │ │ │ │ this_class: #7 // xtc/parser/Column │ │ │ │ │ │ super_class: #2 // java/lang/Object │ │ │ │ │ │ interfaces: 0, fields: 4, methods: 1, attributes: 1 │ │ │ │ │ │ Constant pool: │ │ │ │ │ │ #1 = Methodref #2.#3 // java/lang/Object."":()V │ │ │ │ │ │ #2 = Class #4 // java/lang/Object │ │ │ │ ├── xtc/parser/ParseError.class │ │ │ │ │ ├── javap -verbose -constants -s -l -private {} │ │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ - SHA-256 checksum 732e116fc2203a459a0a34bde147e9bb245a95b3ccb9ac3ccc5c402ceb4387e8 │ │ │ │ │ │ + SHA-256 checksum e3be7055bc3635b75407ebad2990c454400f750b6bf2e14362be8fe83ce02063 │ │ │ │ │ │ Compiled from "ParseError.java" │ │ │ │ │ │ public final class xtc.parser.ParseError extends xtc.parser.Result │ │ │ │ │ │ minor version: 0 │ │ │ │ │ │ - major version: 52 │ │ │ │ │ │ + major version: 61 │ │ │ │ │ │ flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER │ │ │ │ │ │ this_class: #8 // xtc/parser/ParseError │ │ │ │ │ │ super_class: #2 // xtc/parser/Result │ │ │ │ │ │ interfaces: 0, fields: 2, methods: 11, attributes: 1 │ │ │ │ │ │ Constant pool: │ │ │ │ │ │ #1 = Methodref #2.#3 // xtc/parser/Result."":(I)V │ │ │ │ │ │ #2 = Class #4 // xtc/parser/Result │ │ │ │ ├── xtc/parser/ParseException.class │ │ │ │ │ ├── javap -verbose -constants -s -l -private {} │ │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ - SHA-256 checksum d27cfcb61a779857a2fccb51d56562448f4a3842bc544b101a69dcb1e6f0d341 │ │ │ │ │ │ + SHA-256 checksum b502108310b5040130348a1f2d401a04c6f2f7cb86b18a71cf5cae839b7ed790 │ │ │ │ │ │ Compiled from "ParseException.java" │ │ │ │ │ │ public class xtc.parser.ParseException extends java.lang.Exception │ │ │ │ │ │ minor version: 0 │ │ │ │ │ │ - major version: 52 │ │ │ │ │ │ + major version: 61 │ │ │ │ │ │ flags: (0x0021) ACC_PUBLIC, ACC_SUPER │ │ │ │ │ │ this_class: #7 // xtc/parser/ParseException │ │ │ │ │ │ super_class: #2 // java/lang/Exception │ │ │ │ │ │ interfaces: 0, fields: 0, methods: 1, attributes: 1 │ │ │ │ │ │ Constant pool: │ │ │ │ │ │ #1 = Methodref #2.#3 // java/lang/Exception."":(Ljava/lang/String;)V │ │ │ │ │ │ #2 = Class #4 // java/lang/Exception │ │ │ │ ├── xtc/parser/ParserBase.class │ │ │ │ │ ├── procyon -ec {} │ │ │ │ │ │ @@ -21,26 +21,26 @@ │ │ │ │ │ │ protected char[] yyData; │ │ │ │ │ │ protected Column[] yyColumns; │ │ │ │ │ │ │ │ │ │ │ │ public ParserBase(final Reader reader, final String s) { │ │ │ │ │ │ this(reader, s, 4095); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public ParserBase(final Reader yyReader, final String file, final int i) { │ │ │ │ │ │ + public ParserBase(final Reader yyReader, final String file, final int n) { │ │ │ │ │ │ if (null == file) { │ │ │ │ │ │ throw new NullPointerException("Null file"); │ │ │ │ │ │ } │ │ │ │ │ │ - if (i < 0) { │ │ │ │ │ │ - throw new IllegalArgumentException("Negative size: " + i); │ │ │ │ │ │ + if (n < 0) { │ │ │ │ │ │ + throw new IllegalArgumentException("Negative size: " + n); │ │ │ │ │ │ } │ │ │ │ │ │ this.yyReader = yyReader; │ │ │ │ │ │ this.yyCount = 0; │ │ │ │ │ │ this.yyEOF = false; │ │ │ │ │ │ - this.yyData = new char[i + 1]; │ │ │ │ │ │ - this.yyColumns = new Column[i + 1]; │ │ │ │ │ │ + this.yyData = new char[n + 1]; │ │ │ │ │ │ + this.yyColumns = new Column[n + 1]; │ │ │ │ │ │ final Column column = this.newColumn(); │ │ │ │ │ │ column.file = file; │ │ │ │ │ │ column.seenCR = false; │ │ │ │ │ │ column.line = 1; │ │ │ │ │ │ column.column = 1; │ │ │ │ │ │ this.yyColumns[0] = column; │ │ │ │ │ │ } │ │ │ │ │ │ @@ -174,75 +174,75 @@ │ │ │ │ │ │ return (offset == n) ? "" : new String(this.yyData, offset, n - offset); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public final boolean isEOF(final int n) { │ │ │ │ │ │ return this.yyEOF && n == this.yyCount - 1; │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public final String lineAt(int i) throws IOException { │ │ │ │ │ │ - if (0 > i) { │ │ │ │ │ │ - throw new IndexOutOfBoundsException("Parser index: " + i); │ │ │ │ │ │ - } │ │ │ │ │ │ - if (0 < i && 10 == this.character(i) && 13 == this.character(i - 1)) { │ │ │ │ │ │ - --i; │ │ │ │ │ │ - } │ │ │ │ │ │ - int n = i; │ │ │ │ │ │ - int n2 = i; │ │ │ │ │ │ - for (int n3 = this.character(n2); -1 != n3 && 13 != n3 && 10 != n3; n3 = this.character(n2)) { │ │ │ │ │ │ - ++n2; │ │ │ │ │ │ + public final String lineAt(int n) throws IOException { │ │ │ │ │ │ + if (0 > n) { │ │ │ │ │ │ + throw new IndexOutOfBoundsException("Parser index: " + n); │ │ │ │ │ │ + } │ │ │ │ │ │ + if (0 < n && 10 == this.character(n) && 13 == this.character(n - 1)) { │ │ │ │ │ │ + --n; │ │ │ │ │ │ + } │ │ │ │ │ │ + int n2 = n; │ │ │ │ │ │ + int n3 = n; │ │ │ │ │ │ + for (int n4 = this.character(n3); -1 != n4 && 13 != n4 && 10 != n4; n4 = this.character(n3)) { │ │ │ │ │ │ + ++n3; │ │ │ │ │ │ } │ │ │ │ │ │ - while (n) { │ │ │ │ │ │ - final int character = this.character(n - 1); │ │ │ │ │ │ + while (n2) { │ │ │ │ │ │ + final int character = this.character(n2 - 1); │ │ │ │ │ │ if (13 != character) { │ │ │ │ │ │ if (10 != character) { │ │ │ │ │ │ - --n; │ │ │ │ │ │ + --n2; │ │ │ │ │ │ continue; │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ - return this.difference(n, n2); │ │ │ │ │ │ + return this.difference(n2, n3); │ │ │ │ │ │ } │ │ │ │ │ │ - return this.difference(n, n2); │ │ │ │ │ │ + return this.difference(n2, n3); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public final Location location(final int n) { │ │ │ │ │ │ final Column column = this.column(n); │ │ │ │ │ │ return new Location(column.file, column.line, column.column); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - protected final void setLocation(final int i, final String file, final int n, final int n2) { │ │ │ │ │ │ + protected final void setLocation(final int n, final String file, final int line, final int column) { │ │ │ │ │ │ if (null == file) { │ │ │ │ │ │ throw new NullPointerException("Null file"); │ │ │ │ │ │ } │ │ │ │ │ │ - if (0 > n) { │ │ │ │ │ │ - throw new IllegalArgumentException("Invalid line number: " + n); │ │ │ │ │ │ + if (0 > line) { │ │ │ │ │ │ + throw new IllegalArgumentException("Invalid line number: " + line); │ │ │ │ │ │ } │ │ │ │ │ │ - if (1 > n2) { │ │ │ │ │ │ - throw new IllegalArgumentException("Invalid column number: " + n2); │ │ │ │ │ │ + if (1 > column) { │ │ │ │ │ │ + throw new IllegalArgumentException("Invalid column number: " + column); │ │ │ │ │ │ } │ │ │ │ │ │ - if (i < 0 || this.yyCount <= i) { │ │ │ │ │ │ - throw new IndexOutOfBoundsException("Parser index: " + i); │ │ │ │ │ │ + if (n < 0 || this.yyCount <= n) { │ │ │ │ │ │ + throw new IndexOutOfBoundsException("Parser index: " + n); │ │ │ │ │ │ } │ │ │ │ │ │ - final Column column = this.yyColumns[i]; │ │ │ │ │ │ - if (null != column) { │ │ │ │ │ │ - if (file.equals(column.file) && n == column.line && n2 == column.column) { │ │ │ │ │ │ + final Column column2 = this.yyColumns[n]; │ │ │ │ │ │ + if (null != column2) { │ │ │ │ │ │ + if (file.equals(column2.file) && line == column2.line && column == column2.column) { │ │ │ │ │ │ return; │ │ │ │ │ │ } │ │ │ │ │ │ - if (0 != i) { │ │ │ │ │ │ - throw new IllegalStateException("Location at index " + i + " is already committed"); │ │ │ │ │ │ + if (0 != n) { │ │ │ │ │ │ + throw new IllegalStateException("Location at index " + n + " is already committed"); │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ - for (int j = i + 1; j < this.yyCount; ++j) { │ │ │ │ │ │ - if (null != this.yyColumns[j]) { │ │ │ │ │ │ - throw new IllegalStateException("Location at index " + i + " is already committed"); │ │ │ │ │ │ + for (int i = n + 1; i < this.yyCount; ++i) { │ │ │ │ │ │ + if (null != this.yyColumns[i]) { │ │ │ │ │ │ + throw new IllegalStateException("Location at index " + n + " is already committed"); │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ - final Column column2 = this.column(i); │ │ │ │ │ │ - column2.file = file; │ │ │ │ │ │ - column2.line = n; │ │ │ │ │ │ - column2.column = n2; │ │ │ │ │ │ + final Column column3 = this.column(n); │ │ │ │ │ │ + column3.file = file; │ │ │ │ │ │ + column3.line = line; │ │ │ │ │ │ + column3.column = column; │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public final void setLocation(final Locatable locatable, final int n) { │ │ │ │ │ │ if (null != locatable && !locatable.hasLocation()) { │ │ │ │ │ │ final Column column = this.column(n); │ │ │ │ │ │ locatable.setLocation(new Location(column.file, column.line, column.column)); │ │ │ │ │ │ } │ │ │ │ ├── xtc/parser/Result.class │ │ │ │ │ ├── javap -verbose -constants -s -l -private {} │ │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ - SHA-256 checksum 876584179a9e41990db16a7815e1448baccb64ce55b3fd14a3755cdaac69e246 │ │ │ │ │ │ + SHA-256 checksum 9043dc1c962cf313c6912ee96a64531370fa0ad8582de5cc82e2e3688440b9a6 │ │ │ │ │ │ Compiled from "Result.java" │ │ │ │ │ │ public abstract class xtc.parser.Result │ │ │ │ │ │ minor version: 0 │ │ │ │ │ │ - major version: 52 │ │ │ │ │ │ + major version: 61 │ │ │ │ │ │ flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT │ │ │ │ │ │ this_class: #8 // xtc/parser/Result │ │ │ │ │ │ super_class: #2 // java/lang/Object │ │ │ │ │ │ interfaces: 0, fields: 1, methods: 9, attributes: 1 │ │ │ │ │ │ Constant pool: │ │ │ │ │ │ #1 = Methodref #2.#3 // java/lang/Object."":()V │ │ │ │ │ │ #2 = Class #4 // java/lang/Object │ │ │ │ ├── xtc/parser/SemanticValue.class │ │ │ │ │ ├── javap -verbose -constants -s -l -private {} │ │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ - SHA-256 checksum 2037cdafe4d363a594344ee0f982a3eeaa03ee03fdc6366918e21a5d32edf643 │ │ │ │ │ │ + SHA-256 checksum 2c0d4740fae1deae7c4c03d40fbbe6d2c5612fad418199c7bcb570495811aa15 │ │ │ │ │ │ Compiled from "SemanticValue.java" │ │ │ │ │ │ public final class xtc.parser.SemanticValue extends xtc.parser.Result │ │ │ │ │ │ minor version: 0 │ │ │ │ │ │ - major version: 52 │ │ │ │ │ │ + major version: 61 │ │ │ │ │ │ flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER │ │ │ │ │ │ this_class: #8 // xtc/parser/SemanticValue │ │ │ │ │ │ super_class: #14 // xtc/parser/Result │ │ │ │ │ │ interfaces: 0, fields: 2, methods: 10, attributes: 1 │ │ │ │ │ │ Constant pool: │ │ │ │ │ │ #1 = Fieldref #2.#3 // xtc/parser/ParseError.DUMMY:Lxtc/parser/ParseError; │ │ │ │ │ │ #2 = Class #4 // xtc/parser/ParseError │ │ │ │ ├── xtc/tree/Annotation.class │ │ │ │ │ ├── javap -verbose -constants -s -l -private {} │ │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ - SHA-256 checksum 5d5adf4a6831e6f7207ae0e108b8cba003ef8e3421358b2feee546ff7d4630dd │ │ │ │ │ │ + SHA-256 checksum 509ce7bcfb00469e329e4c6a218c3f92e092fd54ae192d563345220ba9623cf8 │ │ │ │ │ │ Compiled from "Annotation.java" │ │ │ │ │ │ public abstract class xtc.tree.Annotation extends xtc.tree.Node │ │ │ │ │ │ minor version: 0 │ │ │ │ │ │ - major version: 52 │ │ │ │ │ │ + major version: 61 │ │ │ │ │ │ flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT │ │ │ │ │ │ this_class: #8 // xtc/tree/Annotation │ │ │ │ │ │ super_class: #2 // xtc/tree/Node │ │ │ │ │ │ interfaces: 0, fields: 1, methods: 9, attributes: 1 │ │ │ │ │ │ Constant pool: │ │ │ │ │ │ #1 = Methodref #2.#3 // xtc/tree/Node."":()V │ │ │ │ │ │ #2 = Class #4 // xtc/tree/Node │ │ │ │ ├── xtc/tree/GNode$Fixed.class │ │ │ │ │ ├── javap -verbose -constants -s -l -private {} │ │ │ │ │ │ @@ -1,16 +1,16 @@ │ │ │ │ │ │ - SHA-256 checksum cf26b93b3739f7c248577e2b346b356fcec141e03bad6845b2fe40e8bde72fd3 │ │ │ │ │ │ + SHA-256 checksum fc9aaf623682f5c10aaac54bd2ad428fe8c9e3afd2dbdb0fb79b3976a58dd7c7 │ │ │ │ │ │ Compiled from "GNode.java" │ │ │ │ │ │ abstract class xtc.tree.GNode$Fixed extends xtc.tree.GNode │ │ │ │ │ │ minor version: 0 │ │ │ │ │ │ - major version: 52 │ │ │ │ │ │ + major version: 61 │ │ │ │ │ │ flags: (0x0420) ACC_SUPER, ACC_ABSTRACT │ │ │ │ │ │ this_class: #12 // xtc/tree/GNode$Fixed │ │ │ │ │ │ super_class: #2 // xtc/tree/GNode │ │ │ │ │ │ - interfaces: 0, fields: 0, methods: 8, attributes: 2 │ │ │ │ │ │ + interfaces: 0, fields: 0, methods: 8, attributes: 3 │ │ │ │ │ │ Constant pool: │ │ │ │ │ │ #1 = Methodref #2.#3 // xtc/tree/GNode."":(Ljava/lang/String;)V │ │ │ │ │ │ #2 = Class #4 // xtc/tree/GNode │ │ │ │ │ │ #3 = NameAndType #5:#6 // "":(Ljava/lang/String;)V │ │ │ │ │ │ #4 = Utf8 xtc/tree/GNode │ │ │ │ │ │ #5 = Utf8 │ │ │ │ │ │ #6 = Utf8 (Ljava/lang/String;)V │ │ │ │ │ │ @@ -36,16 +36,17 @@ │ │ │ │ │ │ #26 = Utf8 (Ljava/util/Collection<*>;)Lxtc/tree/Node; │ │ │ │ │ │ #27 = Utf8 (ILjava/util/Collection;)Lxtc/tree/Node; │ │ │ │ │ │ #28 = Utf8 (ILjava/util/Collection<*>;)Lxtc/tree/Node; │ │ │ │ │ │ #29 = Utf8 remove │ │ │ │ │ │ #30 = Utf8 (I)Ljava/lang/Object; │ │ │ │ │ │ #31 = Utf8 SourceFile │ │ │ │ │ │ #32 = Utf8 GNode.java │ │ │ │ │ │ - #33 = Utf8 InnerClasses │ │ │ │ │ │ - #34 = Utf8 Fixed │ │ │ │ │ │ + #33 = Utf8 NestHost │ │ │ │ │ │ + #34 = Utf8 InnerClasses │ │ │ │ │ │ + #35 = Utf8 Fixed │ │ │ │ │ │ { │ │ │ │ │ │ xtc.tree.GNode$Fixed(java.lang.String); │ │ │ │ │ │ descriptor: (Ljava/lang/String;)V │ │ │ │ │ │ flags: (0x0000) │ │ │ │ │ │ Code: │ │ │ │ │ │ stack=2, locals=2, args_size=2 │ │ │ │ │ │ 0: aload_0 │ │ │ │ │ │ @@ -148,9 +149,10 @@ │ │ │ │ │ │ 4: ldc #9 // String Generic node with a fixed number of children │ │ │ │ │ │ 6: invokespecial #11 // Method java/lang/UnsupportedOperationException."":(Ljava/lang/String;)V │ │ │ │ │ │ 9: athrow │ │ │ │ │ │ LineNumberTable: │ │ │ │ │ │ line 91: 0 │ │ │ │ │ │ } │ │ │ │ │ │ SourceFile: "GNode.java" │ │ │ │ │ │ +NestHost: class xtc/tree/GNode │ │ │ │ │ │ InnerClasses: │ │ │ │ │ │ - static abstract #34= #12 of #2; // Fixed=class xtc/tree/GNode$Fixed of class xtc/tree/GNode │ │ │ │ │ │ + static abstract #35= #12 of #2; // Fixed=class xtc/tree/GNode$Fixed of class xtc/tree/GNode │ │ │ │ ├── xtc/tree/GNode$Fixed0.class │ │ │ │ │ ├── procyon -ec {} │ │ │ │ │ │ @@ -13,18 +13,18 @@ │ │ │ │ │ │ super(fixed0.name); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public int size() { │ │ │ │ │ │ return 0; │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public Object get(final int i) { │ │ │ │ │ │ - throw new IndexOutOfBoundsException("Index: " + i + ", Size: 0"); │ │ │ │ │ │ + public Object get(final int n) { │ │ │ │ │ │ + throw new IndexOutOfBoundsException("Index: " + n + ", Size: 0"); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public Object set(final int i, final Object o) { │ │ │ │ │ │ - throw new IndexOutOfBoundsException("Index: " + i + ", Size: 0"); │ │ │ │ │ │ + public Object set(final int n, final Object o) { │ │ │ │ │ │ + throw new IndexOutOfBoundsException("Index: " + n + ", Size: 0"); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public void addAllTo(final Collection collection) { │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ ├── xtc/tree/GNode$Fixed1.class │ │ │ │ │ ├── procyon -ec {} │ │ │ │ │ │ @@ -16,27 +16,27 @@ │ │ │ │ │ │ this(fixed1.name, fixed1.c1); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public int size() { │ │ │ │ │ │ return 1; │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public Object get(final int i) { │ │ │ │ │ │ - if (0 == i) { │ │ │ │ │ │ + public Object get(final int n) { │ │ │ │ │ │ + if (0 == n) { │ │ │ │ │ │ return this.c1; │ │ │ │ │ │ } │ │ │ │ │ │ - throw new IndexOutOfBoundsException("Index: " + i + ", Size: 1"); │ │ │ │ │ │ + throw new IndexOutOfBoundsException("Index: " + n + ", Size: 1"); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public Object set(final int i, final Object c1) { │ │ │ │ │ │ - if (0 == i) { │ │ │ │ │ │ + public Object set(final int n, final Object c1) { │ │ │ │ │ │ + if (0 == n) { │ │ │ │ │ │ final Object c2 = this.c1; │ │ │ │ │ │ this.c1 = c1; │ │ │ │ │ │ return c2; │ │ │ │ │ │ } │ │ │ │ │ │ - throw new IndexOutOfBoundsException("Index: " + i + ", Size: 1"); │ │ │ │ │ │ + throw new IndexOutOfBoundsException("Index: " + n + ", Size: 1"); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public void addAllTo(final Collection collection) { │ │ │ │ │ │ collection.add(this.c1); │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ ├── xtc/tree/GNode$Fixed2.class │ │ │ │ │ ├── procyon -ec {} │ │ │ │ │ │ @@ -18,42 +18,42 @@ │ │ │ │ │ │ this(fixed2.name, fixed2.c1, fixed2.c2); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public int size() { │ │ │ │ │ │ return 2; │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public Object get(final int i) { │ │ │ │ │ │ - switch (i) { │ │ │ │ │ │ + public Object get(final int n) { │ │ │ │ │ │ + switch (n) { │ │ │ │ │ │ case 0: { │ │ │ │ │ │ return this.c1; │ │ │ │ │ │ } │ │ │ │ │ │ case 1: { │ │ │ │ │ │ return this.c2; │ │ │ │ │ │ } │ │ │ │ │ │ default: { │ │ │ │ │ │ - throw new IndexOutOfBoundsException("Index: " + i + ", Size: 2"); │ │ │ │ │ │ + throw new IndexOutOfBoundsException("Index: " + n + ", Size: 2"); │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public Object set(final int i, final Object o) { │ │ │ │ │ │ - switch (i) { │ │ │ │ │ │ + public Object set(final int n, final Object o) { │ │ │ │ │ │ + switch (n) { │ │ │ │ │ │ case 0: { │ │ │ │ │ │ final Object c1 = this.c1; │ │ │ │ │ │ this.c1 = o; │ │ │ │ │ │ return c1; │ │ │ │ │ │ } │ │ │ │ │ │ case 1: { │ │ │ │ │ │ final Object c2 = this.c2; │ │ │ │ │ │ this.c2 = o; │ │ │ │ │ │ return c2; │ │ │ │ │ │ } │ │ │ │ │ │ default: { │ │ │ │ │ │ - throw new IndexOutOfBoundsException("Index: " + i + ", Size: 2"); │ │ │ │ │ │ + throw new IndexOutOfBoundsException("Index: " + n + ", Size: 2"); │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public void addAllTo(final Collection collection) { │ │ │ │ │ │ collection.add(this.c1); │ │ │ │ │ │ collection.add(this.c2); │ │ │ │ ├── xtc/tree/GNode$Fixed3.class │ │ │ │ │ ├── procyon -ec {} │ │ │ │ │ │ @@ -20,33 +20,33 @@ │ │ │ │ │ │ this(fixed3.name, fixed3.c1, fixed3.c2, fixed3.c3); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public int size() { │ │ │ │ │ │ return 3; │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public Object get(final int i) { │ │ │ │ │ │ - switch (i) { │ │ │ │ │ │ + public Object get(final int n) { │ │ │ │ │ │ + switch (n) { │ │ │ │ │ │ case 0: { │ │ │ │ │ │ return this.c1; │ │ │ │ │ │ } │ │ │ │ │ │ case 1: { │ │ │ │ │ │ return this.c2; │ │ │ │ │ │ } │ │ │ │ │ │ case 2: { │ │ │ │ │ │ return this.c3; │ │ │ │ │ │ } │ │ │ │ │ │ default: { │ │ │ │ │ │ - throw new IndexOutOfBoundsException("Index: " + i + ", Size: 3"); │ │ │ │ │ │ + throw new IndexOutOfBoundsException("Index: " + n + ", Size: 3"); │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public Object set(final int i, final Object c3) { │ │ │ │ │ │ - switch (i) { │ │ │ │ │ │ + public Object set(final int n, final Object c3) { │ │ │ │ │ │ + switch (n) { │ │ │ │ │ │ case 0: { │ │ │ │ │ │ final Object c4 = this.c1; │ │ │ │ │ │ this.c1 = c3; │ │ │ │ │ │ return c4; │ │ │ │ │ │ } │ │ │ │ │ │ case 1: { │ │ │ │ │ │ final Object c5 = this.c2; │ │ │ │ │ │ @@ -55,15 +55,15 @@ │ │ │ │ │ │ } │ │ │ │ │ │ case 2: { │ │ │ │ │ │ final Object c6 = this.c3; │ │ │ │ │ │ this.c3 = c3; │ │ │ │ │ │ return c6; │ │ │ │ │ │ } │ │ │ │ │ │ default: { │ │ │ │ │ │ - throw new IndexOutOfBoundsException("Index: " + i + ", Size: 3"); │ │ │ │ │ │ + throw new IndexOutOfBoundsException("Index: " + n + ", Size: 3"); │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public void addAllTo(final Collection collection) { │ │ │ │ │ │ collection.add(this.c1); │ │ │ │ │ │ collection.add(this.c2); │ │ │ │ ├── xtc/tree/GNode$Fixed4.class │ │ │ │ │ ├── procyon -ec {} │ │ │ │ │ │ @@ -22,36 +22,36 @@ │ │ │ │ │ │ this(fixed4.name, fixed4.c1, fixed4.c2, fixed4.c3, fixed4.c4); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public int size() { │ │ │ │ │ │ return 4; │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public Object get(final int i) { │ │ │ │ │ │ - switch (i) { │ │ │ │ │ │ + public Object get(final int n) { │ │ │ │ │ │ + switch (n) { │ │ │ │ │ │ case 0: { │ │ │ │ │ │ return this.c1; │ │ │ │ │ │ } │ │ │ │ │ │ case 1: { │ │ │ │ │ │ return this.c2; │ │ │ │ │ │ } │ │ │ │ │ │ case 2: { │ │ │ │ │ │ return this.c3; │ │ │ │ │ │ } │ │ │ │ │ │ case 3: { │ │ │ │ │ │ return this.c4; │ │ │ │ │ │ } │ │ │ │ │ │ default: { │ │ │ │ │ │ - throw new IndexOutOfBoundsException("Index: " + i + ", Size: 4"); │ │ │ │ │ │ + throw new IndexOutOfBoundsException("Index: " + n + ", Size: 4"); │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public Object set(final int i, final Object o) { │ │ │ │ │ │ - switch (i) { │ │ │ │ │ │ + public Object set(final int n, final Object o) { │ │ │ │ │ │ + switch (n) { │ │ │ │ │ │ case 0: { │ │ │ │ │ │ final Object c1 = this.c1; │ │ │ │ │ │ this.c1 = o; │ │ │ │ │ │ return c1; │ │ │ │ │ │ } │ │ │ │ │ │ case 1: { │ │ │ │ │ │ final Object c2 = this.c2; │ │ │ │ │ │ @@ -65,15 +65,15 @@ │ │ │ │ │ │ } │ │ │ │ │ │ case 3: { │ │ │ │ │ │ final Object c4 = this.c4; │ │ │ │ │ │ this.c4 = o; │ │ │ │ │ │ return c4; │ │ │ │ │ │ } │ │ │ │ │ │ default: { │ │ │ │ │ │ - throw new IndexOutOfBoundsException("Index: " + i + ", Size: 4"); │ │ │ │ │ │ + throw new IndexOutOfBoundsException("Index: " + n + ", Size: 4"); │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public void addAllTo(final Collection collection) { │ │ │ │ │ │ collection.add(this.c1); │ │ │ │ │ │ collection.add(this.c2); │ │ │ │ ├── xtc/tree/GNode$Fixed5.class │ │ │ │ │ ├── procyon -ec {} │ │ │ │ │ │ @@ -24,16 +24,16 @@ │ │ │ │ │ │ this(fixed5.name, fixed5.c1, fixed5.c2, fixed5.c3, fixed5.c4, fixed5.c5); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public int size() { │ │ │ │ │ │ return 5; │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public Object get(final int i) { │ │ │ │ │ │ - switch (i) { │ │ │ │ │ │ + public Object get(final int n) { │ │ │ │ │ │ + switch (n) { │ │ │ │ │ │ case 0: { │ │ │ │ │ │ return this.c1; │ │ │ │ │ │ } │ │ │ │ │ │ case 1: { │ │ │ │ │ │ return this.c2; │ │ │ │ │ │ } │ │ │ │ │ │ case 2: { │ │ │ │ │ │ @@ -42,21 +42,21 @@ │ │ │ │ │ │ case 3: { │ │ │ │ │ │ return this.c4; │ │ │ │ │ │ } │ │ │ │ │ │ case 4: { │ │ │ │ │ │ return this.c5; │ │ │ │ │ │ } │ │ │ │ │ │ default: { │ │ │ │ │ │ - throw new IndexOutOfBoundsException("Index: " + i + ", Size: 5"); │ │ │ │ │ │ + throw new IndexOutOfBoundsException("Index: " + n + ", Size: 5"); │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public Object set(final int i, final Object c5) { │ │ │ │ │ │ - switch (i) { │ │ │ │ │ │ + public Object set(final int n, final Object c5) { │ │ │ │ │ │ + switch (n) { │ │ │ │ │ │ case 0: { │ │ │ │ │ │ final Object c6 = this.c1; │ │ │ │ │ │ this.c1 = c5; │ │ │ │ │ │ return c6; │ │ │ │ │ │ } │ │ │ │ │ │ case 1: { │ │ │ │ │ │ final Object c7 = this.c2; │ │ │ │ │ │ @@ -75,15 +75,15 @@ │ │ │ │ │ │ } │ │ │ │ │ │ case 4: { │ │ │ │ │ │ final Object c10 = this.c5; │ │ │ │ │ │ this.c5 = c5; │ │ │ │ │ │ return c10; │ │ │ │ │ │ } │ │ │ │ │ │ default: { │ │ │ │ │ │ - throw new IndexOutOfBoundsException("Index: " + i + ", Size: 5"); │ │ │ │ │ │ + throw new IndexOutOfBoundsException("Index: " + n + ", Size: 5"); │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public void addAllTo(final Collection collection) { │ │ │ │ │ │ collection.add(this.c1); │ │ │ │ │ │ collection.add(this.c2); │ │ │ │ ├── xtc/tree/GNode$Fixed6.class │ │ │ │ │ ├── procyon -ec {} │ │ │ │ │ │ @@ -26,16 +26,16 @@ │ │ │ │ │ │ this(fixed6.name, fixed6.c1, fixed6.c2, fixed6.c3, fixed6.c4, fixed6.c5, fixed6.c6); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public int size() { │ │ │ │ │ │ return 6; │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public Object get(final int i) { │ │ │ │ │ │ - switch (i) { │ │ │ │ │ │ + public Object get(final int n) { │ │ │ │ │ │ + switch (n) { │ │ │ │ │ │ case 0: { │ │ │ │ │ │ return this.c1; │ │ │ │ │ │ } │ │ │ │ │ │ case 1: { │ │ │ │ │ │ return this.c2; │ │ │ │ │ │ } │ │ │ │ │ │ case 2: { │ │ │ │ │ │ @@ -47,21 +47,21 @@ │ │ │ │ │ │ case 4: { │ │ │ │ │ │ return this.c5; │ │ │ │ │ │ } │ │ │ │ │ │ case 5: { │ │ │ │ │ │ return this.c6; │ │ │ │ │ │ } │ │ │ │ │ │ default: { │ │ │ │ │ │ - throw new IndexOutOfBoundsException("Index: " + i + ", Size: 6"); │ │ │ │ │ │ + throw new IndexOutOfBoundsException("Index: " + n + ", Size: 6"); │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public Object set(final int i, final Object o) { │ │ │ │ │ │ - switch (i) { │ │ │ │ │ │ + public Object set(final int n, final Object o) { │ │ │ │ │ │ + switch (n) { │ │ │ │ │ │ case 0: { │ │ │ │ │ │ final Object c1 = this.c1; │ │ │ │ │ │ this.c1 = o; │ │ │ │ │ │ return c1; │ │ │ │ │ │ } │ │ │ │ │ │ case 1: { │ │ │ │ │ │ final Object c2 = this.c2; │ │ │ │ │ │ @@ -85,15 +85,15 @@ │ │ │ │ │ │ } │ │ │ │ │ │ case 5: { │ │ │ │ │ │ final Object c6 = this.c6; │ │ │ │ │ │ this.c6 = o; │ │ │ │ │ │ return c6; │ │ │ │ │ │ } │ │ │ │ │ │ default: { │ │ │ │ │ │ - throw new IndexOutOfBoundsException("Index: " + i + ", Size: 6"); │ │ │ │ │ │ + throw new IndexOutOfBoundsException("Index: " + n + ", Size: 6"); │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public void addAllTo(final Collection collection) { │ │ │ │ │ │ collection.add(this.c1); │ │ │ │ │ │ collection.add(this.c2); │ │ │ │ ├── xtc/tree/GNode$Fixed7.class │ │ │ │ │ ├── procyon -ec {} │ │ │ │ │ │ @@ -28,16 +28,16 @@ │ │ │ │ │ │ this(fixed7.name, fixed7.c1, fixed7.c2, fixed7.c3, fixed7.c4, fixed7.c5, fixed7.c6, fixed7.c7); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public int size() { │ │ │ │ │ │ return 7; │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public Object get(final int i) { │ │ │ │ │ │ - switch (i) { │ │ │ │ │ │ + public Object get(final int n) { │ │ │ │ │ │ + switch (n) { │ │ │ │ │ │ case 0: { │ │ │ │ │ │ return this.c1; │ │ │ │ │ │ } │ │ │ │ │ │ case 1: { │ │ │ │ │ │ return this.c2; │ │ │ │ │ │ } │ │ │ │ │ │ case 2: { │ │ │ │ │ │ @@ -52,21 +52,21 @@ │ │ │ │ │ │ case 5: { │ │ │ │ │ │ return this.c6; │ │ │ │ │ │ } │ │ │ │ │ │ case 6: { │ │ │ │ │ │ return this.c7; │ │ │ │ │ │ } │ │ │ │ │ │ default: { │ │ │ │ │ │ - throw new IndexOutOfBoundsException("Index: " + i + ", Size: 7"); │ │ │ │ │ │ + throw new IndexOutOfBoundsException("Index: " + n + ", Size: 7"); │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public Object set(final int i, final Object c7) { │ │ │ │ │ │ - switch (i) { │ │ │ │ │ │ + public Object set(final int n, final Object c7) { │ │ │ │ │ │ + switch (n) { │ │ │ │ │ │ case 0: { │ │ │ │ │ │ final Object c8 = this.c1; │ │ │ │ │ │ this.c1 = c7; │ │ │ │ │ │ return c8; │ │ │ │ │ │ } │ │ │ │ │ │ case 1: { │ │ │ │ │ │ final Object c9 = this.c2; │ │ │ │ │ │ @@ -95,15 +95,15 @@ │ │ │ │ │ │ } │ │ │ │ │ │ case 6: { │ │ │ │ │ │ final Object c14 = this.c7; │ │ │ │ │ │ this.c7 = c7; │ │ │ │ │ │ return c14; │ │ │ │ │ │ } │ │ │ │ │ │ default: { │ │ │ │ │ │ - throw new IndexOutOfBoundsException("Index: " + i + ", Size: 7"); │ │ │ │ │ │ + throw new IndexOutOfBoundsException("Index: " + n + ", Size: 7"); │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public void addAllTo(final Collection collection) { │ │ │ │ │ │ collection.add(this.c1); │ │ │ │ │ │ collection.add(this.c2); │ │ │ │ ├── xtc/tree/GNode$Fixed8.class │ │ │ │ │ ├── procyon -ec {} │ │ │ │ │ │ @@ -30,16 +30,16 @@ │ │ │ │ │ │ this(fixed8.name, fixed8.c1, fixed8.c2, fixed8.c3, fixed8.c4, fixed8.c5, fixed8.c6, fixed8.c7, fixed8.c8); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public int size() { │ │ │ │ │ │ return 8; │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public Object get(final int i) { │ │ │ │ │ │ - switch (i) { │ │ │ │ │ │ + public Object get(final int n) { │ │ │ │ │ │ + switch (n) { │ │ │ │ │ │ case 0: { │ │ │ │ │ │ return this.c1; │ │ │ │ │ │ } │ │ │ │ │ │ case 1: { │ │ │ │ │ │ return this.c2; │ │ │ │ │ │ } │ │ │ │ │ │ case 2: { │ │ │ │ │ │ @@ -57,21 +57,21 @@ │ │ │ │ │ │ case 6: { │ │ │ │ │ │ return this.c7; │ │ │ │ │ │ } │ │ │ │ │ │ case 7: { │ │ │ │ │ │ return this.c8; │ │ │ │ │ │ } │ │ │ │ │ │ default: { │ │ │ │ │ │ - throw new IndexOutOfBoundsException("Index: " + i + ", Size: 8"); │ │ │ │ │ │ + throw new IndexOutOfBoundsException("Index: " + n + ", Size: 8"); │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public Object set(final int i, final Object o) { │ │ │ │ │ │ - switch (i) { │ │ │ │ │ │ + public Object set(final int n, final Object o) { │ │ │ │ │ │ + switch (n) { │ │ │ │ │ │ case 0: { │ │ │ │ │ │ final Object c1 = this.c1; │ │ │ │ │ │ this.c1 = o; │ │ │ │ │ │ return c1; │ │ │ │ │ │ } │ │ │ │ │ │ case 1: { │ │ │ │ │ │ final Object c2 = this.c2; │ │ │ │ │ │ @@ -105,15 +105,15 @@ │ │ │ │ │ │ } │ │ │ │ │ │ case 7: { │ │ │ │ │ │ final Object c8 = this.c8; │ │ │ │ │ │ this.c8 = o; │ │ │ │ │ │ return c8; │ │ │ │ │ │ } │ │ │ │ │ │ default: { │ │ │ │ │ │ - throw new IndexOutOfBoundsException("Index: " + i + ", Size: 8"); │ │ │ │ │ │ + throw new IndexOutOfBoundsException("Index: " + n + ", Size: 8"); │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public void addAllTo(final Collection collection) { │ │ │ │ │ │ collection.add(this.c1); │ │ │ │ │ │ collection.add(this.c2); │ │ │ │ ├── xtc/tree/GNode$Variable.class │ │ │ │ │ ├── javap -verbose -constants -s -l -private {} │ │ │ │ │ │ @@ -1,16 +1,16 @@ │ │ │ │ │ │ - SHA-256 checksum 7b8a1ea2e021d61ceea3aaae0ec0f82c36c638f12f24a9ebb9432d86494a884b │ │ │ │ │ │ + SHA-256 checksum 8814800cc43c013fb30dcb37f40f73db8c8212021ae66468cf17d58187448927 │ │ │ │ │ │ Compiled from "GNode.java" │ │ │ │ │ │ class xtc.tree.GNode$Variable extends xtc.tree.GNode │ │ │ │ │ │ minor version: 0 │ │ │ │ │ │ - major version: 52 │ │ │ │ │ │ + major version: 61 │ │ │ │ │ │ flags: (0x0020) ACC_SUPER │ │ │ │ │ │ this_class: #13 // xtc/tree/GNode$Variable │ │ │ │ │ │ super_class: #2 // xtc/tree/GNode │ │ │ │ │ │ - interfaces: 0, fields: 1, methods: 17, attributes: 2 │ │ │ │ │ │ + interfaces: 0, fields: 1, methods: 17, attributes: 3 │ │ │ │ │ │ Constant pool: │ │ │ │ │ │ #1 = Methodref #2.#3 // xtc/tree/GNode."":(Ljava/lang/String;)V │ │ │ │ │ │ #2 = Class #4 // xtc/tree/GNode │ │ │ │ │ │ #3 = NameAndType #5:#6 // "":(Ljava/lang/String;)V │ │ │ │ │ │ #4 = Utf8 xtc/tree/GNode │ │ │ │ │ │ #5 = Utf8 │ │ │ │ │ │ #6 = Utf8 (Ljava/lang/String;)V │ │ │ │ │ │ @@ -102,16 +102,17 @@ │ │ │ │ │ │ #92 = Utf8 (ILjava/util/Collection;)Lxtc/tree/Node; │ │ │ │ │ │ #93 = Utf8 (ILjava/util/Collection<*>;)Lxtc/tree/Node; │ │ │ │ │ │ #94 = Utf8 addAllTo │ │ │ │ │ │ #95 = Utf8 (Ljava/util/Collection;)V │ │ │ │ │ │ #96 = Utf8 ()Ljava/util/Iterator; │ │ │ │ │ │ #97 = Utf8 SourceFile │ │ │ │ │ │ #98 = Utf8 GNode.java │ │ │ │ │ │ - #99 = Utf8 InnerClasses │ │ │ │ │ │ - #100 = Utf8 Variable │ │ │ │ │ │ + #99 = Utf8 NestHost │ │ │ │ │ │ + #100 = Utf8 InnerClasses │ │ │ │ │ │ + #101 = Utf8 Variable │ │ │ │ │ │ { │ │ │ │ │ │ private java.util.ArrayList children; │ │ │ │ │ │ descriptor: Ljava/util/ArrayList; │ │ │ │ │ │ flags: (0x0002) ACC_PRIVATE │ │ │ │ │ │ Signature: #75 // Ljava/util/ArrayList; │ │ │ │ │ │ │ │ │ │ │ │ xtc.tree.GNode$Variable(java.lang.String); │ │ │ │ │ │ @@ -383,9 +384,10 @@ │ │ │ │ │ │ 4: iload_1 │ │ │ │ │ │ 5: invokevirtual #71 // Method java/util/ArrayList.remove:(I)Ljava/lang/Object; │ │ │ │ │ │ 8: areturn │ │ │ │ │ │ LineNumberTable: │ │ │ │ │ │ line 852: 0 │ │ │ │ │ │ } │ │ │ │ │ │ SourceFile: "GNode.java" │ │ │ │ │ │ +NestHost: class xtc/tree/GNode │ │ │ │ │ │ InnerClasses: │ │ │ │ │ │ - static #100= #13 of #2; // Variable=class xtc/tree/GNode$Variable of class xtc/tree/GNode │ │ │ │ │ │ + static #101= #13 of #2; // Variable=class xtc/tree/GNode$Variable of class xtc/tree/GNode │ │ │ │ ├── xtc/tree/GNode.class │ │ │ │ │ ├── procyon -ec {} │ │ │ │ │ │ @@ -277,16 +277,16 @@ │ │ │ │ │ │ variable.addAll(pair); │ │ │ │ │ │ return (GNode)variable; │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public static GNode create(final GNode gNode) { │ │ │ │ │ │ - if (gNode instanceof GNode.Variable) { │ │ │ │ │ │ - return (GNode)new GNode.Variable((GNode.Variable)gNode); │ │ │ │ │ │ + if (gNode instanceof final GNode.Variable variable) { │ │ │ │ │ │ + return (GNode)new GNode.Variable(variable); │ │ │ │ │ │ } │ │ │ │ │ │ switch (gNode.size()) { │ │ │ │ │ │ case 0: { │ │ │ │ │ │ return (GNode)new GNode.Fixed0((GNode.Fixed0)gNode); │ │ │ │ │ │ } │ │ │ │ │ │ case 1: { │ │ │ │ │ │ return (GNode)new GNode.Fixed1((GNode.Fixed1)gNode); │ │ │ │ ├── xtc/tree/Locatable.class │ │ │ │ │ ├── javap -verbose -constants -s -l -private {} │ │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ - SHA-256 checksum 7fcd71194acbd15eacee544c7e631a1ce82af0bf4fbde2c9ba28abf704d22576 │ │ │ │ │ │ + SHA-256 checksum 06c6c87368c1ae736ee8adfa50704590c057364c3ff9e33a69cd4848853d25b3 │ │ │ │ │ │ Compiled from "Locatable.java" │ │ │ │ │ │ public interface xtc.tree.Locatable │ │ │ │ │ │ minor version: 0 │ │ │ │ │ │ - major version: 52 │ │ │ │ │ │ + major version: 61 │ │ │ │ │ │ flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT │ │ │ │ │ │ this_class: #1 // xtc/tree/Locatable │ │ │ │ │ │ super_class: #3 // java/lang/Object │ │ │ │ │ │ interfaces: 0, fields: 0, methods: 4, attributes: 1 │ │ │ │ │ │ Constant pool: │ │ │ │ │ │ #1 = Class #2 // xtc/tree/Locatable │ │ │ │ │ │ #2 = Utf8 xtc/tree/Locatable │ │ │ │ ├── xtc/tree/Location.class │ │ │ │ │ ├── javap -verbose -constants -s -l -private {} │ │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ - SHA-256 checksum a6005c1da05f1f225ad71566d5b289a264ff1c5ec7fb516f87c68766b5ab7220 │ │ │ │ │ │ + SHA-256 checksum 1bb8e202b5b626259011e07c53657a987c93918f20fede13381202affabd31d5 │ │ │ │ │ │ Compiled from "Location.java" │ │ │ │ │ │ public class xtc.tree.Location implements java.lang.Comparable │ │ │ │ │ │ minor version: 0 │ │ │ │ │ │ - major version: 52 │ │ │ │ │ │ + major version: 61 │ │ │ │ │ │ flags: (0x0021) ACC_PUBLIC, ACC_SUPER │ │ │ │ │ │ this_class: #8 // xtc/tree/Location │ │ │ │ │ │ super_class: #2 // java/lang/Object │ │ │ │ │ │ interfaces: 1, fields: 3, methods: 6, attributes: 1 │ │ │ │ │ │ Constant pool: │ │ │ │ │ │ #1 = Methodref #2.#3 // java/lang/Object."":()V │ │ │ │ │ │ #2 = Class #4 // java/lang/Object │ │ │ │ ├── xtc/tree/Node$1.class │ │ │ │ │ ├── javap -verbose -constants -s -l -private {} │ │ │ │ │ │ @@ -1,16 +1,16 @@ │ │ │ │ │ │ - SHA-256 checksum a929940c42fe6d7ec052b2b0cc05744ef99ec189d053894ac10d35bd8e906c8b │ │ │ │ │ │ + SHA-256 checksum 6f30b54e8c28608018a12565255ff73c56d3c67126e7ed6b66f9a5379bdb5b36 │ │ │ │ │ │ Compiled from "Node.java" │ │ │ │ │ │ class xtc.tree.Node$1 extends java.lang.Object implements java.util.Iterator │ │ │ │ │ │ minor version: 0 │ │ │ │ │ │ - major version: 52 │ │ │ │ │ │ + major version: 61 │ │ │ │ │ │ flags: (0x0020) ACC_SUPER │ │ │ │ │ │ this_class: #2 // xtc/tree/Node$1 │ │ │ │ │ │ super_class: #12 // java/lang/Object │ │ │ │ │ │ - interfaces: 1, fields: 3, methods: 4, attributes: 4 │ │ │ │ │ │ + interfaces: 1, fields: 3, methods: 4, attributes: 5 │ │ │ │ │ │ Constant pool: │ │ │ │ │ │ #1 = Fieldref #2.#3 // xtc/tree/Node$1.this$0:Lxtc/tree/Node; │ │ │ │ │ │ #2 = Class #4 // xtc/tree/Node$1 │ │ │ │ │ │ #3 = NameAndType #5:#6 // this$0:Lxtc/tree/Node; │ │ │ │ │ │ #4 = Utf8 xtc/tree/Node$1 │ │ │ │ │ │ #5 = Utf8 this$0 │ │ │ │ │ │ #6 = Utf8 Lxtc/tree/Node; │ │ │ │ │ │ @@ -58,15 +58,16 @@ │ │ │ │ │ │ #48 = Utf8 Ljava/lang/Object;Ljava/util/Iterator; │ │ │ │ │ │ #49 = Utf8 SourceFile │ │ │ │ │ │ #50 = Utf8 Node.java │ │ │ │ │ │ #51 = Utf8 EnclosingMethod │ │ │ │ │ │ #52 = NameAndType #53:#54 // iterator:()Ljava/util/Iterator; │ │ │ │ │ │ #53 = Utf8 iterator │ │ │ │ │ │ #54 = Utf8 ()Ljava/util/Iterator; │ │ │ │ │ │ - #55 = Utf8 InnerClasses │ │ │ │ │ │ + #55 = Utf8 NestHost │ │ │ │ │ │ + #56 = Utf8 InnerClasses │ │ │ │ │ │ { │ │ │ │ │ │ int cursor; │ │ │ │ │ │ descriptor: I │ │ │ │ │ │ flags: (0x0000) │ │ │ │ │ │ │ │ │ │ │ │ final int val$size; │ │ │ │ │ │ descriptor: I │ │ │ │ │ │ @@ -163,9 +164,10 @@ │ │ │ │ │ │ 9: athrow │ │ │ │ │ │ LineNumberTable: │ │ │ │ │ │ line 365: 0 │ │ │ │ │ │ } │ │ │ │ │ │ Signature: #48 // Ljava/lang/Object;Ljava/util/Iterator; │ │ │ │ │ │ SourceFile: "Node.java" │ │ │ │ │ │ EnclosingMethod: #21.#52 // xtc.tree.Node.iterator │ │ │ │ │ │ +NestHost: class xtc/tree/Node │ │ │ │ │ │ InnerClasses: │ │ │ │ │ │ #2; // class xtc/tree/Node$1 │ │ │ │ ├── xtc/tree/Node.class │ │ │ │ │ ├── procyon -ec {} │ │ │ │ │ │ @@ -146,16 +146,16 @@ │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public String getString(final int n) { │ │ │ │ │ │ final Object value = this.get(n); │ │ │ │ │ │ if (null == value) { │ │ │ │ │ │ return null; │ │ │ │ │ │ } │ │ │ │ │ │ - if (value instanceof String) { │ │ │ │ │ │ - return (String)value; │ │ │ │ │ │ + if (value instanceof final String s) { │ │ │ │ │ │ + return s; │ │ │ │ │ │ } │ │ │ │ │ │ return ((Node)value).getTokenText(); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public Node getNode(final int n) { │ │ │ │ │ │ return (Node)this.get(n); │ │ │ │ │ │ } │ │ │ │ │ │ @@ -288,16 +288,16 @@ │ │ │ │ │ │ appendable.append("null"); │ │ │ │ │ │ } │ │ │ │ │ │ else if (next instanceof String) { │ │ │ │ │ │ appendable.append('\"'); │ │ │ │ │ │ Utilities.escape((String)next, appendable, 8); │ │ │ │ │ │ appendable.append('\"'); │ │ │ │ │ │ } │ │ │ │ │ │ - else if (next instanceof Node) { │ │ │ │ │ │ - ((Node)next).write(appendable); │ │ │ │ │ │ + else if (next instanceof final Node node) { │ │ │ │ │ │ + node.write(appendable); │ │ │ │ │ │ } │ │ │ │ │ │ else { │ │ │ │ │ │ appendable.append(next.toString()); │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ appendable.append(')'); │ │ │ │ │ │ } │ │ │ │ │ │ @@ -315,14 +315,14 @@ │ │ │ │ │ │ return sb.toString(); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public static final boolean isList(final Object o) { │ │ │ │ │ │ return o instanceof Pair && (Pair.EMPTY == o || ((Pair)o).head() instanceof Node); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public static final Pair toList(final Object obj) { │ │ │ │ │ │ - if (isList(obj)) { │ │ │ │ │ │ - return (Pair)obj; │ │ │ │ │ │ + public static final Pair toList(final Object o) { │ │ │ │ │ │ + if (isList(o)) { │ │ │ │ │ │ + return (Pair)o; │ │ │ │ │ │ } │ │ │ │ │ │ - throw new ClassCastException("Not a list of nodes " + obj); │ │ │ │ │ │ + throw new ClassCastException("Not a list of nodes " + o); │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ ├── xtc/tree/Token.class │ │ │ │ │ ├── procyon -ec {} │ │ │ │ │ │ @@ -25,32 +25,32 @@ │ │ │ │ │ │ return true; │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public int size() { │ │ │ │ │ │ return 1; │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public Object get(final int i) { │ │ │ │ │ │ - if (0 == i) { │ │ │ │ │ │ + public Object get(final int n) { │ │ │ │ │ │ + if (0 == n) { │ │ │ │ │ │ return this.text; │ │ │ │ │ │ } │ │ │ │ │ │ - throw new IndexOutOfBoundsException("Index: " + i + ", Size: 1"); │ │ │ │ │ │ + throw new IndexOutOfBoundsException("Index: " + n + ", Size: 1"); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public Object set(final int n, final Object o) { │ │ │ │ │ │ throw new IllegalStateException("Not modifiable"); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public static final boolean test(final Object o) { │ │ │ │ │ │ return o instanceof String || (o instanceof Node && ((Node)o).strip().isToken()); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public static final String cast(final Object o) { │ │ │ │ │ │ if (null == o) { │ │ │ │ │ │ return null; │ │ │ │ │ │ } │ │ │ │ │ │ - if (o instanceof String) { │ │ │ │ │ │ - return (String)o; │ │ │ │ │ │ + if (o instanceof final String s) { │ │ │ │ │ │ + return s; │ │ │ │ │ │ } │ │ │ │ │ │ return ((Node)o).getTokenText(); │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ ├── xtc/util/Action.class │ │ │ │ │ ├── javap -verbose -constants -s -l -private {} │ │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ - SHA-256 checksum 015465bd28a8afc22dc32e5a5a05647a25c1427a169af7277a30bd532f709704 │ │ │ │ │ │ + SHA-256 checksum a714ed2b19890ac8885e4e88f7807881403fe9d4bc0974fa84f959152ac338de │ │ │ │ │ │ Compiled from "Action.java" │ │ │ │ │ │ public interface xtc.util.Action │ │ │ │ │ │ minor version: 0 │ │ │ │ │ │ - major version: 52 │ │ │ │ │ │ + major version: 61 │ │ │ │ │ │ flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT │ │ │ │ │ │ this_class: #1 // xtc/util/Action │ │ │ │ │ │ super_class: #3 // java/lang/Object │ │ │ │ │ │ interfaces: 0, fields: 0, methods: 1, attributes: 2 │ │ │ │ │ │ Constant pool: │ │ │ │ │ │ #1 = Class #2 // xtc/util/Action │ │ │ │ │ │ #2 = Utf8 xtc/util/Action │ │ │ │ ├── xtc/util/Pair$1.class │ │ │ │ │ ├── javap -verbose -constants -s -l -private {} │ │ │ │ │ │ @@ -1,16 +1,16 @@ │ │ │ │ │ │ - SHA-256 checksum a65204d2f9f7f939d3d0ee60de4186b52b19229dfc7ca4c9a544b3d95063a298 │ │ │ │ │ │ + SHA-256 checksum 66feb1585eec6bfac903197331e6cca568384bcdca63d8abf79561c9e95d60b5 │ │ │ │ │ │ Compiled from "Pair.java" │ │ │ │ │ │ class xtc.util.Pair$1 extends java.lang.Object implements java.util.Iterator │ │ │ │ │ │ minor version: 0 │ │ │ │ │ │ - major version: 52 │ │ │ │ │ │ + major version: 61 │ │ │ │ │ │ flags: (0x0020) ACC_SUPER │ │ │ │ │ │ this_class: #2 // xtc/util/Pair$1 │ │ │ │ │ │ super_class: #8 // java/lang/Object │ │ │ │ │ │ - interfaces: 1, fields: 2, methods: 4, attributes: 4 │ │ │ │ │ │ + interfaces: 1, fields: 2, methods: 4, attributes: 5 │ │ │ │ │ │ Constant pool: │ │ │ │ │ │ #1 = Fieldref #2.#3 // xtc/util/Pair$1.this$0:Lxtc/util/Pair; │ │ │ │ │ │ #2 = Class #4 // xtc/util/Pair$1 │ │ │ │ │ │ #3 = NameAndType #5:#6 // this$0:Lxtc/util/Pair; │ │ │ │ │ │ #4 = Utf8 xtc/util/Pair$1 │ │ │ │ │ │ #5 = Utf8 this$0 │ │ │ │ │ │ #6 = Utf8 Lxtc/util/Pair; │ │ │ │ │ │ @@ -58,15 +58,16 @@ │ │ │ │ │ │ #48 = Utf8 Ljava/lang/Object;Ljava/util/Iterator; │ │ │ │ │ │ #49 = Utf8 SourceFile │ │ │ │ │ │ #50 = Utf8 Pair.java │ │ │ │ │ │ #51 = Utf8 EnclosingMethod │ │ │ │ │ │ #52 = NameAndType #53:#54 // iterator:()Ljava/util/Iterator; │ │ │ │ │ │ #53 = Utf8 iterator │ │ │ │ │ │ #54 = Utf8 ()Ljava/util/Iterator; │ │ │ │ │ │ - #55 = Utf8 InnerClasses │ │ │ │ │ │ + #55 = Utf8 NestHost │ │ │ │ │ │ + #56 = Utf8 InnerClasses │ │ │ │ │ │ { │ │ │ │ │ │ private xtc.util.Pair pair; │ │ │ │ │ │ descriptor: Lxtc/util/Pair; │ │ │ │ │ │ flags: (0x0002) ACC_PRIVATE │ │ │ │ │ │ Signature: #37 // Lxtc/util/Pair; │ │ │ │ │ │ │ │ │ │ │ │ final xtc.util.Pair this$0; │ │ │ │ │ │ @@ -157,9 +158,10 @@ │ │ │ │ │ │ 7: athrow │ │ │ │ │ │ LineNumberTable: │ │ │ │ │ │ line 537: 0 │ │ │ │ │ │ } │ │ │ │ │ │ Signature: #48 // Ljava/lang/Object;Ljava/util/Iterator; │ │ │ │ │ │ SourceFile: "Pair.java" │ │ │ │ │ │ EnclosingMethod: #17.#52 // xtc.util.Pair.iterator │ │ │ │ │ │ +NestHost: class xtc/util/Pair │ │ │ │ │ │ InnerClasses: │ │ │ │ │ │ #2; // class xtc/util/Pair$1 │ │ │ │ ├── xtc/util/Pair.class │ │ │ │ │ ├── procyon -ec {} │ │ │ │ │ │ @@ -106,41 +106,41 @@ │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public T get(final int n) { │ │ │ │ │ │ if (0 > n) { │ │ │ │ │ │ throw new IndexOutOfBoundsException("Index: " + n + ", Size: " + this.size()); │ │ │ │ │ │ } │ │ │ │ │ │ Pair tail = this; │ │ │ │ │ │ - int i = 0; │ │ │ │ │ │ + int n2 = 0; │ │ │ │ │ │ while (Pair.EMPTY != tail) { │ │ │ │ │ │ - if (n == i) { │ │ │ │ │ │ + if (n == n2) { │ │ │ │ │ │ return tail.head; │ │ │ │ │ │ } │ │ │ │ │ │ - ++i; │ │ │ │ │ │ + ++n2; │ │ │ │ │ │ tail = tail.tail; │ │ │ │ │ │ } │ │ │ │ │ │ - throw new IndexOutOfBoundsException("Index: " + n + ", Size: " + i); │ │ │ │ │ │ + throw new IndexOutOfBoundsException("Index: " + n + ", Size: " + n2); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public T set(final int n, final T head) { │ │ │ │ │ │ if (0 > n) { │ │ │ │ │ │ throw new IndexOutOfBoundsException("Index: " + n + ", Size: " + this.size()); │ │ │ │ │ │ } │ │ │ │ │ │ Pair tail = this; │ │ │ │ │ │ - int i = 0; │ │ │ │ │ │ + int n2 = 0; │ │ │ │ │ │ while (Pair.EMPTY != tail) { │ │ │ │ │ │ - if (n == i) { │ │ │ │ │ │ + if (n == n2) { │ │ │ │ │ │ final T head2 = tail.head; │ │ │ │ │ │ tail.head = head; │ │ │ │ │ │ return head2; │ │ │ │ │ │ } │ │ │ │ │ │ - ++i; │ │ │ │ │ │ + ++n2; │ │ │ │ │ │ tail = tail.tail; │ │ │ │ │ │ } │ │ │ │ │ │ - throw new IndexOutOfBoundsException("Index: " + n + ", Size: " + i); │ │ │ │ │ │ + throw new IndexOutOfBoundsException("Index: " + n + ", Size: " + n2); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public int size() { │ │ │ │ │ │ Pair tail = this; │ │ │ │ │ │ int n = 0; │ │ │ │ │ │ while (tail != Pair.EMPTY) { │ │ │ │ │ │ ++n; │ │ │ │ ├── xtc/util/State.class │ │ │ │ │ ├── javap -verbose -constants -s -l -private {} │ │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ │ - SHA-256 checksum 786111e39f19c13592b14595e97751bc538dfe9cfdbaad230395156162674002 │ │ │ │ │ │ + SHA-256 checksum 73aa8077e33febe72a9a25ef778274ac45d1d23b17e0463d6ac5437bd80fea75 │ │ │ │ │ │ Compiled from "State.java" │ │ │ │ │ │ public interface xtc.util.State │ │ │ │ │ │ minor version: 0 │ │ │ │ │ │ - major version: 52 │ │ │ │ │ │ + major version: 61 │ │ │ │ │ │ flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT │ │ │ │ │ │ this_class: #1 // xtc/util/State │ │ │ │ │ │ super_class: #3 // java/lang/Object │ │ │ │ │ │ interfaces: 0, fields: 0, methods: 4, attributes: 1 │ │ │ │ │ │ Constant pool: │ │ │ │ │ │ #1 = Class #2 // xtc/util/State │ │ │ │ │ │ #2 = Utf8 xtc/util/State │ │ │ │ ├── xtc/util/Utilities.class │ │ │ │ │ ├── procyon -ec {} │ │ │ │ │ │ @@ -95,16 +95,16 @@ │ │ │ │ │ │ return s; │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public static String unqualify(final String s) { │ │ │ │ │ │ return isQualified(s) ? getName(s) : s; │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public static String qualify(final String str, final String str2) { │ │ │ │ │ │ - return (null == str) ? str2 : (str + '.' + str2); │ │ │ │ │ │ + public static String qualify(final String s, final String s2) { │ │ │ │ │ │ + return (null == s) ? s2 : (s + "." + s2); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public static String[] toComponents(final String s) { │ │ │ │ │ │ final int length = s.length(); │ │ │ │ │ │ int n = 1; │ │ │ │ │ │ int n2 = 0; │ │ │ │ │ │ for (int i = 0; i < length; ++i) { │ │ │ │ │ │ @@ -178,27 +178,27 @@ │ │ │ │ │ │ return requalify(s, '$'); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public static String toPath(final String s) { │ │ │ │ │ │ return requalify(s, File.separatorChar); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public static String toPath(final String s, final String str) { │ │ │ │ │ │ - return toPath(s) + '.' + str; │ │ │ │ │ │ + public static String toPath(final String s, final String s2) { │ │ │ │ │ │ + return toPath(s) + "." + s2; │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ - public static File locate(final List list, final String s) throws FileNotFoundException { │ │ │ │ │ │ + public static File locate(final List list, final String child) throws FileNotFoundException { │ │ │ │ │ │ final Iterator iterator = list.iterator(); │ │ │ │ │ │ while (iterator.hasNext()) { │ │ │ │ │ │ - final File file = new File(iterator.next(), s); │ │ │ │ │ │ + final File file = new File(iterator.next(), child); │ │ │ │ │ │ if (file.exists() && file.isFile()) { │ │ │ │ │ │ return file; │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ - throw new FileNotFoundException(s + " not found"); │ │ │ │ │ │ + throw new FileNotFoundException(child + " not found"); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ public static void pump(final Reader reader, final Writer writer) throws IOException { │ │ │ │ │ │ if (null == Utilities.charBuffer) { │ │ │ │ │ │ Utilities.charBuffer = new char[4096]; │ │ │ │ │ │ } │ │ │ │ │ │ for (int n = reader.read(Utilities.charBuffer); -1 != n; n = reader.read(Utilities.charBuffer)) { │ │ │ │ │ │ @@ -561,15 +561,15 @@ │ │ │ │ │ │ break; │ │ │ │ │ │ } │ │ │ │ │ │ case 118: { │ │ │ │ │ │ sb.append('\u000b'); │ │ │ │ │ │ break; │ │ │ │ │ │ } │ │ │ │ │ │ default: { │ │ │ │ │ │ - throw new IllegalArgumentException("illegal escaped character '\\" + char2 + "'"); │ │ │ │ │ │ + throw new IllegalArgumentException("illegal escaped character '\\" + char2); │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ } │ │ │ │ │ │ return sb.toString(); │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ @@ -637,11 +637,17 @@ │ │ │ │ │ │ } │ │ │ │ │ │ return "a"; │ │ │ │ │ │ } │ │ │ │ │ │ │ │ │ │ │ │ static { │ │ │ │ │ │ Utilities.charBuffer = null; │ │ │ │ │ │ WHITE_SPACE = Pattern.compile("\\s+"); │ │ │ │ │ │ - SPACE_NEWLINE_SPACE = Pattern.compile("[ \t\f]*(?:\r\n|\r|\n)[ \t\f]*"); │ │ │ │ │ │ - COMMENT_NEWLINE = Pattern.compile("[ \t\f]*(?:\r\n|\r|\n)[ \t\f]*\\**[ \t\f]*"); │ │ │ │ │ │ + SPACE_NEWLINE_SPACE = Pattern.compile(""" │ │ │ │ │ │ + [ \f]*(?:\r │ │ │ │ │ │ + |\r| │ │ │ │ │ │ + )[ \f]*"""); │ │ │ │ │ │ + COMMENT_NEWLINE = Pattern.compile(""" │ │ │ │ │ │ + [ \f]*(?:\r │ │ │ │ │ │ + |\r| │ │ │ │ │ │ + )[ \f]*\**[ \f]*"""); │ │ │ │ │ │ } │ │ │ │ │ │ }