Full Code of apple/pkl for AI

main 3f3271d3b156 cached
4780 files
19.9 MB
5.5M tokens
9626 symbols
1 requests
Copy disabled (too large) Download .txt
Showing preview only (22,080K chars total). Download the full file to get everything.
Repository: apple/pkl
Branch: main
Commit: 3f3271d3b156
Files: 4780
Total size: 19.9 MB

Directory structure:
gitextract_j18pm444/

├── .editorconfig
├── .git-blame-ignore-revs
├── .gitattributes
├── .githooks/
│   └── pre-commit
├── .github/
│   ├── PklProject
│   ├── PklProject.deps.json
│   ├── dependabot.yml
│   ├── index.pkl
│   ├── jobs/
│   │   ├── BuildJavaExecutableJob.pkl
│   │   ├── BuildNativeJob.pkl
│   │   ├── DeployJob.pkl
│   │   ├── GithubRelease.pkl
│   │   ├── GradleJob.pkl
│   │   ├── PklJob.pkl
│   │   └── SimpleGradleJob.pkl
│   ├── scripts/
│   │   ├── cc_macos_amd64.sh
│   │   └── install_musl.sh
│   └── workflows/
│       ├── __lockfile__.yml
│       ├── build.yml
│       ├── main.yml
│       ├── prb.yml
│       ├── release-branch.yml
│       ├── release.yml
│       └── test_report.yml
├── .gitignore
├── .idea/
│   └── vcs.xml
├── .java-version
├── .mailmap
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.adoc
├── DEVELOPMENT.adoc
├── LICENSE.txt
├── MAINTAINERS.adoc
├── NOTICE.txt
├── README.adoc
├── SECURITY.md
├── THIRD-PARTY-NOTICES.txt
├── bench/
│   ├── bench.gradle.kts
│   ├── gradle.lockfile
│   └── src/
│       └── jmh/
│           ├── java/
│           │   └── org/
│           │       └── pkl/
│           │           └── core/
│           │               ├── Fibonacci.java
│           │               ├── ListSort.java
│           │               └── parser/
│           │                   └── ParserBenchmark.java
│           └── resources/
│               └── org/
│                   └── pkl/
│                       └── core/
│                           ├── fib_class.pkl
│                           ├── fib_class_constrained1.pkl
│                           ├── fib_class_constrained2.pkl
│                           ├── fib_class_explicitThis.pkl
│                           ├── fib_class_typed.pkl
│                           ├── fib_lambda.pkl
│                           ├── fib_module.pkl
│                           └── fib_module_explicitThis.pkl
├── build.gradle.kts
├── buildSrc/
│   ├── build.gradle.kts
│   ├── settings.gradle.kts
│   └── src/
│       └── main/
│           ├── kotlin/
│           │   ├── BuildInfo.kt
│           │   ├── ExecutableJar.kt
│           │   ├── ExecutableSpec.kt
│           │   ├── GradlePluginTests.kt
│           │   ├── GradleVersionInfo.kt
│           │   ├── HtmlValidator.kt
│           │   ├── InstallGraalVm.kt
│           │   ├── JavaVersionRange.kt
│           │   ├── MergeSourcesJars.kt
│           │   ├── NativeImageBuild.kt
│           │   ├── PklFormatterSpotless.kt
│           │   ├── PklPublishing.kt
│           │   ├── ResolveSourcesJars.kt
│           │   ├── pklAllProjects.gradle.kts
│           │   ├── pklFatJar.gradle.kts
│           │   ├── pklGraalVm.gradle.kts
│           │   ├── pklGradlePluginTest.gradle.kts
│           │   ├── pklHtmlValidator.gradle.kts
│           │   ├── pklJavaExecutable.gradle.kts
│           │   ├── pklJavaLibrary.gradle.kts
│           │   ├── pklKotlinLibrary.gradle.kts
│           │   ├── pklKotlinTest.gradle.kts
│           │   ├── pklNativeExecutable.gradle.kts
│           │   ├── pklNativeLifecycle.gradle.kts
│           │   ├── pklPublishLibrary.gradle.kts
│           │   └── pklSpotlessFormat.gradle.kts
│           └── resources/
│               ├── license-header.line-comment.txt
│               └── license-header.star-block.txt
├── docs/
│   ├── antora.yml
│   ├── docs.gradle.kts
│   ├── gradle.lockfile
│   ├── modules/
│   │   ├── ROOT/
│   │   │   ├── pages/
│   │   │   │   ├── community.adoc
│   │   │   │   ├── evolution-and-roadmap.adoc
│   │   │   │   ├── examples.adoc
│   │   │   │   ├── index.adoc
│   │   │   │   ├── integrations.adoc
│   │   │   │   ├── language-bindings.adoc
│   │   │   │   ├── language.adoc
│   │   │   │   ├── resources.adoc
│   │   │   │   ├── standard-library.adoc
│   │   │   │   └── tools.adoc
│   │   │   └── partials/
│   │   │       └── component-attributes.adoc
│   │   ├── bindings-specification/
│   │   │   ├── pages/
│   │   │   │   ├── binary-encoding.adoc
│   │   │   │   ├── index.adoc
│   │   │   │   └── message-passing-api.adoc
│   │   │   └── partials/
│   │   │       └── component-attributes.adoc
│   │   ├── introduction/
│   │   │   └── pages/
│   │   │       ├── comparison.adoc
│   │   │       ├── concepts.adoc
│   │   │       ├── index.adoc
│   │   │       └── use-cases.adoc
│   │   ├── java-binding/
│   │   │   ├── examples/
│   │   │   │   └── JavaConfigExample.java
│   │   │   ├── pages/
│   │   │   │   ├── codegen.adoc
│   │   │   │   ├── index.adoc
│   │   │   │   └── pkl-config-java.adoc
│   │   │   └── partials/
│   │   │       └── cli-codegen-options.adoc
│   │   ├── kotlin-binding/
│   │   │   ├── examples/
│   │   │   │   └── KotlinConfigExample.kt
│   │   │   └── pages/
│   │   │       ├── codegen.adoc
│   │   │       ├── index.adoc
│   │   │       └── pkl-config-kotlin.adoc
│   │   ├── language-reference/
│   │   │   └── pages/
│   │   │       └── index.adoc
│   │   ├── language-tutorial/
│   │   │   └── pages/
│   │   │       ├── 01_basic_config.adoc
│   │   │       ├── 02_filling_out_a_template.adoc
│   │   │       ├── 03_writing_a_template.adoc
│   │   │       └── index.adoc
│   │   ├── pkl-cli/
│   │   │   ├── pages/
│   │   │   │   └── index.adoc
│   │   │   └── partials/
│   │   │       ├── cli-common-options.adoc
│   │   │       └── cli-project-options.adoc
│   │   ├── pkl-core/
│   │   │   ├── examples/
│   │   │   │   └── CoreEvaluatorExample.java
│   │   │   └── pages/
│   │   │       └── index.adoc
│   │   ├── pkl-doc/
│   │   │   └── pages/
│   │   │       └── index.adoc
│   │   ├── pkl-gradle/
│   │   │   ├── pages/
│   │   │   │   └── index.adoc
│   │   │   └── partials/
│   │   │       ├── gradle-codegen-properties.adoc
│   │   │       ├── gradle-common-properties.adoc
│   │   │       └── gradle-modules-properties.adoc
│   │   ├── release-notes/
│   │   │   ├── pages/
│   │   │   │   ├── 0.25.adoc
│   │   │   │   ├── 0.26.adoc
│   │   │   │   ├── 0.27.adoc
│   │   │   │   ├── 0.28.adoc
│   │   │   │   ├── 0.29.adoc
│   │   │   │   ├── 0.30.adoc
│   │   │   │   ├── 0.31.adoc
│   │   │   │   ├── 0.32.adoc
│   │   │   │   ├── changelog.adoc
│   │   │   │   └── index.adoc
│   │   │   ├── partials/
│   │   │   │   └── intro.adoc
│   │   │   └── template.adoc
│   │   └── style-guide/
│   │       └── pages/
│   │           └── index.adoc
│   ├── nav.adoc
│   └── src/
│       └── test/
│           ├── kotlin/
│           │   └── DocSnippetTests.kt
│           └── resources/
│               └── META-INF/
│                   └── services/
│                       └── org.junit.platform.engine.TestEngine
├── gradle/
│   ├── libs.versions.toml
│   └── wrapper/
│       ├── gradle-wrapper.jar
│       └── gradle-wrapper.properties
├── gradle.properties
├── gradlew
├── gradlew.bat
├── jbang-catalog.json
├── pkl-bom/
│   └── pkl-bom.gradle.kts
├── pkl-cli/
│   ├── README.adoc
│   ├── gradle.lockfile
│   ├── pkl-cli.gradle.kts
│   └── src/
│       ├── main/
│       │   └── kotlin/
│       │       └── org/
│       │           └── pkl/
│       │               └── cli/
│       │                   ├── CliCommandRunner.kt
│       │                   ├── CliEvaluator.kt
│       │                   ├── CliEvaluatorOptions.kt
│       │                   ├── CliFormatterCommand.kt
│       │                   ├── CliImportAnalyzer.kt
│       │                   ├── CliImportAnalyzerOptions.kt
│       │                   ├── CliPackageDownloader.kt
│       │                   ├── CliProjectCommand.kt
│       │                   ├── CliProjectPackager.kt
│       │                   ├── CliProjectResolver.kt
│       │                   ├── CliRepl.kt
│       │                   ├── CliServer.kt
│       │                   ├── CliTestRunner.kt
│       │                   ├── Main.kt
│       │                   ├── OutputUtils.kt
│       │                   ├── commands/
│       │                   │   ├── AnalyzeCommand.kt
│       │                   │   ├── DownloadPackageCommand.kt
│       │                   │   ├── EvalCommand.kt
│       │                   │   ├── FormatterCommand.kt
│       │                   │   ├── ProjectCommand.kt
│       │                   │   ├── ReplCommand.kt
│       │                   │   ├── RootCommand.kt
│       │                   │   ├── RunCommand.kt
│       │                   │   ├── ServerCommand.kt
│       │                   │   ├── TestCommand.kt
│       │                   │   └── Utils.kt
│       │                   └── repl/
│       │                       ├── Repl.kt
│       │                       ├── ReplCommands.kt
│       │                       ├── ReplCompleters.kt
│       │                       ├── ReplMessages.kt
│       │                       └── package-info.java
│       └── test/
│           ├── files/
│           │   └── projects/
│           │       └── project1/
│           │           └── PklProject
│           └── kotlin/
│               └── org/
│                   └── pkl/
│                       └── cli/
│                           ├── CliCommandRunnerTest.kt
│                           ├── CliEvaluatorTest.kt
│                           ├── CliFormatterTest.kt
│                           ├── CliImportAnalyzerTest.kt
│                           ├── CliMainTest.kt
│                           ├── CliPackageDownloaderTest.kt
│                           ├── CliProjectPackagerTest.kt
│                           ├── CliProjectResolverTest.kt
│                           ├── CliShellCompletionTest.kt
│                           ├── CliTestRunnerTest.kt
│                           ├── repl/
│                           │   └── ReplMessagesTest.kt
│                           └── testExtensions.kt
├── pkl-codegen-java/
│   ├── gradle.lockfile
│   ├── pkl-codegen-java.gradle.kts
│   └── src/
│       ├── main/
│       │   └── kotlin/
│       │       └── org/
│       │           └── pkl/
│       │               └── codegen/
│       │                   └── java/
│       │                       ├── CliJavaCodeGenerator.kt
│       │                       ├── CliJavaCodeGeneratorOptions.kt
│       │                       ├── JavaCodeGenerator.kt
│       │                       └── Main.kt
│       └── test/
│           ├── kotlin/
│           │   └── org/
│           │       └── pkl/
│           │           └── codegen/
│           │               └── java/
│           │                   ├── CliJavaCodeGeneratorTest.kt
│           │                   ├── InMemoryJavaCompiler.kt
│           │                   ├── JavaCodeGeneratorTest.kt
│           │                   └── PklModule.kt
│           └── resources/
│               └── org/
│                   └── pkl/
│                       └── codegen/
│                           └── java/
│                               ├── GenerateGetters.jva
│                               ├── GeneratedAnnotation.jva
│                               ├── Inheritance.jva
│                               ├── Javadoc.jva
│                               └── PropertyTypes.jva
├── pkl-codegen-kotlin/
│   ├── gradle.lockfile
│   ├── pkl-codegen-kotlin.gradle.kts
│   └── src/
│       ├── main/
│       │   └── kotlin/
│       │       └── org/
│       │           └── pkl/
│       │               └── codegen/
│       │                   └── kotlin/
│       │                       ├── CliKotlinCodeGenerator.kt
│       │                       ├── CliKotlinCodeGeneratorOptions.kt
│       │                       ├── KotlinCodeGenerator.kt
│       │                       └── Main.kt
│       └── test/
│           ├── kotlin/
│           │   └── org/
│           │       └── pkl/
│           │           └── codegen/
│           │               └── kotlin/
│           │                   ├── CliKotlinCodeGeneratorTest.kt
│           │                   ├── InMemoryKotlinCompiler.kt
│           │                   ├── KotlinCodeGeneratorTest.kt
│           │                   └── PklModule.kt
│           └── resources/
│               └── org/
│                   └── pkl/
│                       └── codegen/
│                           └── kotlin/
│                               ├── Inheritance.kotlin
│                               ├── Kdoc.kotlin
│                               └── PropertyTypes.kotlin
├── pkl-commons/
│   ├── gradle.lockfile
│   ├── pkl-commons.gradle.kts
│   └── src/
│       ├── main/
│       │   └── kotlin/
│       │       └── org/
│       │           └── pkl/
│       │               └── commons/
│       │                   ├── Control.kt
│       │                   ├── NameMapper.kt
│       │                   ├── Paths.kt
│       │                   ├── Strings.kt
│       │                   ├── Throwables.kt
│       │                   └── Uris.kt
│       └── test/
│           └── kotlin/
│               └── org/
│                   └── pkl/
│                       └── commons/
│                           ├── NameMapperTest.kt
│                           └── ShlexTest.kt
├── pkl-commons-cli/
│   ├── gradle.lockfile
│   ├── pkl-commons-cli.gradle.kts
│   └── src/
│       ├── main/
│       │   ├── kotlin/
│       │   │   └── org/
│       │   │       └── pkl/
│       │   │           └── commons/
│       │   │               └── cli/
│       │   │                   ├── CliBaseOptions.kt
│       │   │                   ├── CliCommand.kt
│       │   │                   ├── CliException.kt
│       │   │                   ├── CliMain.kt
│       │   │                   ├── CliTestException.kt
│       │   │                   ├── CliTestOptions.kt
│       │   │                   └── commands/
│       │   │                       ├── BaseCommand.kt
│       │   │                       ├── BaseOptions.kt
│       │   │                       ├── ModulesCommand.kt
│       │   │                       ├── NoOpCommand.kt
│       │   │                       ├── OptionExtensions.kt
│       │   │                       ├── ProjectOptions.kt
│       │   │                       ├── TestOptions.kt
│       │   │                       └── extensions.kt
│       │   └── resources/
│       │       └── org/
│       │           └── pkl/
│       │               └── commons/
│       │                   └── cli/
│       │                       └── PklCARoots.pem
│       ├── svm/
│       │   └── java/
│       │       └── org/
│       │           └── pkl/
│       │               └── commons/
│       │                   └── cli/
│       │                       └── svm/
│       │                           ├── InitFeature.java
│       │                           ├── MessagePackRecomputations.java
│       │                           ├── PolyglotContextImplTarget.java
│       │                           ├── PolyglotThreadInfoTarget.java
│       │                           ├── ThreadLocalHandshakeTarget.java
│       │                           └── WeakAssumedValueTarget.java
│       └── test/
│           └── kotlin/
│               └── org/
│                   └── pkl/
│                       └── commons/
│                           └── cli/
│                               ├── BaseCommandTest.kt
│                               └── CliCommandTest.kt
├── pkl-commons-test/
│   ├── gradle.lockfile
│   ├── pkl-commons-test.gradle.kts
│   └── src/
│       └── main/
│           ├── files/
│           │   └── packages/
│           │       ├── badChecksum@1.0.0/
│           │       │   ├── badChecksum@1.0.0.json
│           │       │   └── package/
│           │       │       └── Bug.pkl
│           │       ├── badImportsWithinPackage@1.0.0/
│           │       │   ├── badImportsWithinPackage@1.0.0.json
│           │       │   └── package/
│           │       │       ├── invalidPath.pkl
│           │       │       ├── invalidPathRead.pkl
│           │       │       ├── unknownDependency.pkl
│           │       │       └── unknownDependencyRead.pkl
│           │       ├── badMetadataJson@1.0.0/
│           │       │   ├── badMetadataJson@1.0.0.json
│           │       │   └── package/
│           │       │       └── Bug.pkl
│           │       ├── badPackageZipUrl@1.0.0/
│           │       │   ├── badPackageZipUrl@1.0.0.json
│           │       │   └── package/
│           │       │       └── Bug.pkl
│           │       ├── birds@0.5.0/
│           │       │   ├── birds@0.5.0.json
│           │       │   └── package/
│           │       │       ├── Bird.pkl
│           │       │       ├── allFruit.pkl
│           │       │       ├── catalog/
│           │       │       │   ├── Ostrich.pkl
│           │       │       │   └── Swallow.pkl
│           │       │       ├── catalog.pkl
│           │       │       └── some/
│           │       │           └── dir/
│           │       │               └── Bird.pkl
│           │       ├── birds@0.6.0/
│           │       │   ├── birds@0.6.0.json
│           │       │   └── package/
│           │       │       ├── Bird.pkl
│           │       │       ├── allFruit.pkl
│           │       │       ├── catalog/
│           │       │       │   ├── Ostrich.pkl
│           │       │       │   └── Swallow.pkl
│           │       │       ├── catalog.pkl
│           │       │       └── some/
│           │       │           └── dir/
│           │       │               └── Bird.pkl
│           │       ├── birds@0.7.0/
│           │       │   ├── birds@0.7.0.json
│           │       │   └── package/
│           │       │       ├── Bird.pkl
│           │       │       ├── allFruit.pkl
│           │       │       ├── catalog/
│           │       │       │   ├── Ostrich.pkl
│           │       │       │   └── Swallow.pkl
│           │       │       ├── catalog.pkl
│           │       │       └── some/
│           │       │           └── dir/
│           │       │               └── Bird.pkl
│           │       ├── deprecated@1.0.0/
│           │       │   ├── deprecated@1.0.0.json
│           │       │   └── package/
│           │       │       └── deprecated.pkl
│           │       ├── fruit@1.0.5/
│           │       │   ├── fruit@1.0.5.json
│           │       │   └── package/
│           │       │       ├── Fruit.pkl
│           │       │       └── catalog/
│           │       │           └── apple.pkl
│           │       ├── fruit@1.1.0/
│           │       │   ├── fruit@1.1.0.json
│           │       │   └── package/
│           │       │       ├── Fruit.pkl
│           │       │       └── catalog/
│           │       │           ├── apple.pkl
│           │       │           └── pineapple.pkl
│           │       ├── packageContainingWildcardCharacters@1.0.0/
│           │       │   ├── package/
│           │       │   │   └── name with [wildcard]! characters~~.pkl
│           │       │   └── packageContainingWildcardCharacters@1.0.0.json
│           │       └── unlisted@1.0.0/
│           │           ├── package/
│           │           │   └── unlisted.pkl
│           │           └── unlisted@1.0.0.json
│           └── kotlin/
│               └── org/
│                   └── pkl/
│                       └── commons/
│                           └── test/
│                               ├── Executables.kt
│                               ├── FakeHttpResponse.kt
│                               ├── FileTestUtils.kt
│                               ├── FilteringClassLoader.kt
│                               ├── InputOutputTestEngine.kt
│                               ├── MessagePackDebugRenderer.kt
│                               ├── PackageServer.kt
│                               ├── PklAssertionFailedError.kt
│                               └── ReflectionUtils.kt
├── pkl-config-java/
│   ├── gradle.lockfile
│   ├── pkl-config-java.gradle.kts
│   └── src/
│       ├── main/
│       │   └── java/
│       │       └── org/
│       │           └── pkl/
│       │               └── config/
│       │                   └── java/
│       │                       ├── AbstractConfig.java
│       │                       ├── CompositeConfig.java
│       │                       ├── Config.java
│       │                       ├── ConfigEvaluator.java
│       │                       ├── ConfigEvaluatorBuilder.java
│       │                       ├── ConfigEvaluatorImpl.java
│       │                       ├── Generated.java
│       │                       ├── InvalidMappingException.java
│       │                       ├── JavaType.java
│       │                       ├── LeafConfig.java
│       │                       ├── MapConfig.java
│       │                       ├── NoSuchChildException.java
│       │                       ├── mapper/
│       │                       │   ├── ClassRegistry.java
│       │                       │   ├── Conversion.java
│       │                       │   ├── ConversionException.java
│       │                       │   ├── Conversions.java
│       │                       │   ├── Converter.java
│       │                       │   ├── ConverterFactories.java
│       │                       │   ├── ConverterFactory.java
│       │                       │   ├── Named.java
│       │                       │   ├── NonNull.java
│       │                       │   ├── PAnyToOptional.java
│       │                       │   ├── PCollectionToArray.java
│       │                       │   ├── PCollectionToCollection.java
│       │                       │   ├── PMapToMap.java
│       │                       │   ├── PNullToAny.java
│       │                       │   ├── PObjectToDataObject.java
│       │                       │   ├── PObjectToMap.java
│       │                       │   ├── PObjectToPObject.java
│       │                       │   ├── PPairToPair.java
│       │                       │   ├── PStringToEnum.java
│       │                       │   ├── Reflection.java
│       │                       │   ├── Tuple2.java
│       │                       │   ├── TypeMapping.java
│       │                       │   ├── TypeMappings.java
│       │                       │   ├── Types.java
│       │                       │   ├── ValueMapper.java
│       │                       │   ├── ValueMapperBuilder.java
│       │                       │   ├── ValueMapperImpl.java
│       │                       │   └── package-info.java
│       │                       └── package-info.java
│       └── test/
│           ├── java/
│           │   └── org/
│           │       └── pkl/
│           │           └── config/
│           │               └── java/
│           │                   ├── AbstractConfigTest.java
│           │                   ├── ConfigEvaluatorBuilderTest.java
│           │                   ├── ConfigPklBinaryDecoderTest.java
│           │                   ├── ConfigTest.java
│           │                   ├── JavaTypeTest.java
│           │                   └── mapper/
│           │                       ├── BytesToByteArrayTest.java
│           │                       ├── ConversionsTest.java
│           │                       ├── PAnyToOptionalTest.java
│           │                       ├── PCollectionToArrayTest.java
│           │                       ├── PCollectionToCollectionTest.java
│           │                       ├── PMapToMapTest.java
│           │                       ├── PModuleToDataObjectTest.java
│           │                       ├── PNullToAnyTest.java
│           │                       ├── PObjectToDataObjectJavaxInjectTest.java
│           │                       ├── PObjectToDataObjectOverriddenPropertyTest.java
│           │                       ├── PObjectToDataObjectTest.java
│           │                       ├── PObjectToInnerClassTest.java
│           │                       ├── PObjectToPObjectTest.java
│           │                       ├── PPairToPairTest.java
│           │                       ├── PStringToEnumTest.java
│           │                       ├── PStringToVersionTest.java
│           │                       ├── PVersionToStringTest.java
│           │                       ├── PVersionToVersionTest.java
│           │                       ├── Person.java
│           │                       ├── PolymorphicTest.kt
│           │                       ├── ReflectionTest.java
│           │                       └── TypesTest.java
│           └── resources/
│               ├── codegenPkl/
│               │   ├── OverriddenProperty.pkl
│               │   ├── PolymorphicLib.pkl
│               │   └── PolymorphicModuleTest.pkl
│               └── org/
│                   └── pkl/
│                       └── config/
│                           └── java/
│                               └── mapper/
│                                   ├── BytesToByteArrayTest.pkl
│                                   ├── PAnyToOptionalTest.pkl
│                                   ├── PCollectionToArrayTest.pkl
│                                   ├── PCollectionToCollectionTest.pkl
│                                   ├── PMapToMapTest.pkl
│                                   ├── PModuleToDataObjectTest.pkl
│                                   ├── PObjectToDataObjectPolymorphismTest.pkl
│                                   ├── PObjectToDataObjectTest.pkl
│                                   ├── PObjectToPObjectTest.pkl
│                                   ├── PPairToPairTest.pkl
│                                   ├── PStringToEnumTest.pkl
│                                   ├── PStringToVersionTest.pkl
│                                   └── PVersionToVersionTest.pkl
├── pkl-config-kotlin/
│   ├── gradle.lockfile
│   ├── pkl-config-kotlin.gradle.kts
│   └── src/
│       ├── main/
│       │   └── kotlin/
│       │       └── org/
│       │           └── pkl/
│       │               └── config/
│       │                   └── kotlin/
│       │                       ├── ConfigExtensions.kt
│       │                       └── mapper/
│       │                           ├── KotlinConversions.kt
│       │                           ├── KotlinConverterFactories.kt
│       │                           └── PPairToKotlinPair.kt
│       └── test/
│           ├── java/
│           │   └── org/
│           │       └── pkl/
│           │           └── config/
│           │               └── kotlin/
│           │                   └── JavaPerson.java
│           ├── kotlin/
│           │   └── org/
│           │       └── pkl/
│           │           └── config/
│           │               └── kotlin/
│           │                   ├── ConfigExtensionsTest.kt
│           │                   ├── KotlinObjectMappingTest.kt
│           │                   └── mapper/
│           │                       ├── KotlinConversionsTest.kt
│           │                       ├── OverriddenPropertyTest.kt
│           │                       ├── PPairToKotlinPairTest.kt
│           │                       └── PolymorphicTest.kt
│           └── resources/
│               ├── codegenPkl/
│               │   ├── OverriddenProperty.pkl
│               │   ├── PolymorphicLib.pkl
│               │   └── PolymorphicModuleTest.pkl
│               └── org/
│                   └── pkl/
│                       └── config/
│                           └── kotlin/
│                               └── mapper/
│                                   └── PPairToKotlinPairTest.pkl
├── pkl-core/
│   ├── README.adoc
│   ├── gradle.lockfile
│   ├── pkl-core.gradle.kts
│   └── src/
│       ├── generator/
│       │   ├── kotlin/
│       │   │   └── org/
│       │   │       └── pkl/
│       │   │           └── core/
│       │   │               └── generator/
│       │   │                   └── MemberRegistryGenerator.kt
│       │   └── resources/
│       │       └── META-INF/
│       │           ├── gradle/
│       │           │   └── incremental.annotation.processors
│       │           └── services/
│       │               └── javax.annotation.processing.Processor
│       ├── main/
│       │   ├── java/
│       │   │   └── org/
│       │   │       └── pkl/
│       │   │           └── core/
│       │   │               ├── Analyzer.java
│       │   │               ├── BufferedLogger.java
│       │   │               ├── Closeables.java
│       │   │               ├── CommandSpec.java
│       │   │               ├── Composite.java
│       │   │               ├── DataSize.java
│       │   │               ├── DataSizeUnit.java
│       │   │               ├── Duration.java
│       │   │               ├── DurationUnit.java
│       │   │               ├── Evaluator.java
│       │   │               ├── EvaluatorBuilder.java
│       │   │               ├── EvaluatorImpl.java
│       │   │               ├── FileOutput.java
│       │   │               ├── FileOutputImpl.java
│       │   │               ├── ImportGraph.java
│       │   │               ├── JsonRenderer.java
│       │   │               ├── Logger.java
│       │   │               ├── Loggers.java
│       │   │               ├── Member.java
│       │   │               ├── Modifier.java
│       │   │               ├── ModuleSchema.java
│       │   │               ├── ModuleSource.java
│       │   │               ├── NoSuchPropertyException.java
│       │   │               ├── OutputFormat.java
│       │   │               ├── PClass.java
│       │   │               ├── PClassInfo.java
│       │   │               ├── PListRenderer.java
│       │   │               ├── PModule.java
│       │   │               ├── PNull.java
│       │   │               ├── PObject.java
│       │   │               ├── PType.java
│       │   │               ├── Pair.java
│       │   │               ├── PcfRenderer.java
│       │   │               ├── PklBinaryDecoder.java
│       │   │               ├── PklBugException.java
│       │   │               ├── PklException.java
│       │   │               ├── PklInfo.java
│       │   │               ├── Platform.java
│       │   │               ├── PropertiesRenderer.java
│       │   │               ├── Release.java
│       │   │               ├── RendererException.java
│       │   │               ├── SecurityManager.java
│       │   │               ├── SecurityManagerBuilder.java
│       │   │               ├── SecurityManagerException.java
│       │   │               ├── SecurityManagers.java
│       │   │               ├── StackFrame.java
│       │   │               ├── StackFrameTransformer.java
│       │   │               ├── StackFrameTransformers.java
│       │   │               ├── TestResults.java
│       │   │               ├── TypeAlias.java
│       │   │               ├── TypeParameter.java
│       │   │               ├── Value.java
│       │   │               ├── ValueConverter.java
│       │   │               ├── ValueFormatter.java
│       │   │               ├── ValueRenderer.java
│       │   │               ├── ValueRenderers.java
│       │   │               ├── ValueVisitor.java
│       │   │               ├── Version.java
│       │   │               ├── YamlRenderer.java
│       │   │               ├── ast/
│       │   │               │   ├── ByteConstantValueNode.java
│       │   │               │   ├── ConstantNode.java
│       │   │               │   ├── ConstantValueNode.java
│       │   │               │   ├── ExpressionNode.java
│       │   │               │   ├── MemberLookupMode.java
│       │   │               │   ├── MemberNode.java
│       │   │               │   ├── PklNode.java
│       │   │               │   ├── PklRootNode.java
│       │   │               │   ├── SimpleRootNode.java
│       │   │               │   ├── VmModifier.java
│       │   │               │   ├── builder/
│       │   │               │   │   ├── AbstractAstBuilder.java
│       │   │               │   │   ├── AstBuilder.java
│       │   │               │   │   ├── CannotInvokeAbstractFunctionNode.java
│       │   │               │   │   ├── CannotInvokeAbstractPropertyNode.java
│       │   │               │   │   ├── ConstLevel.java
│       │   │               │   │   ├── ImportsAndReadsParser.java
│       │   │               │   │   ├── SymbolTable.java
│       │   │               │   │   └── package-info.java
│       │   │               │   ├── expression/
│       │   │               │   │   ├── binary/
│       │   │               │   │   │   ├── AdditionNode.java
│       │   │               │   │   │   ├── BinaryExpressionNode.java
│       │   │               │   │   │   ├── ComparatorNode.java
│       │   │               │   │   │   ├── DivisionNode.java
│       │   │               │   │   │   ├── EqualNode.java
│       │   │               │   │   │   ├── ExponentiationNode.java
│       │   │               │   │   │   ├── GreaterThanNode.java
│       │   │               │   │   │   ├── GreaterThanOrEqualNode.java
│       │   │               │   │   │   ├── LessThanNode.java
│       │   │               │   │   │   ├── LessThanOrEqualNode.java
│       │   │               │   │   │   ├── LetExprNode.java
│       │   │               │   │   │   ├── LogicalAndNode.java
│       │   │               │   │   │   ├── LogicalOrNode.java
│       │   │               │   │   │   ├── MultiplicationNode.java
│       │   │               │   │   │   ├── NotEqualNode.java
│       │   │               │   │   │   ├── NullCoalescingNode.java
│       │   │               │   │   │   ├── PipeNode.java
│       │   │               │   │   │   ├── RemainderNode.java
│       │   │               │   │   │   ├── ShortCircuitingExpressionNode.java
│       │   │               │   │   │   ├── SubscriptNode.java
│       │   │               │   │   │   ├── SubtractionNode.java
│       │   │               │   │   │   ├── TruncatingDivisionNode.java
│       │   │               │   │   │   └── package-info.java
│       │   │               │   │   ├── generator/
│       │   │               │   │   │   ├── GeneratorElementNode.java
│       │   │               │   │   │   ├── GeneratorEntryNode.java
│       │   │               │   │   │   ├── GeneratorForNode.java
│       │   │               │   │   │   ├── GeneratorMemberNode.java
│       │   │               │   │   │   ├── GeneratorObjectLiteralNode.java
│       │   │               │   │   │   ├── GeneratorPredicateMemberNode.java
│       │   │               │   │   │   ├── GeneratorPropertyNode.java
│       │   │               │   │   │   ├── GeneratorSpreadNode.java
│       │   │               │   │   │   ├── GeneratorWhenNode.java
│       │   │               │   │   │   ├── ObjectData.java
│       │   │               │   │   │   ├── RestoreForBindingsNode.java
│       │   │               │   │   │   └── package-info.java
│       │   │               │   │   ├── literal/
│       │   │               │   │   │   ├── AmendFunctionNode.java
│       │   │               │   │   │   ├── AmendModuleNode.java
│       │   │               │   │   │   ├── BytesLiteralNode.java
│       │   │               │   │   │   ├── CheckIsAnnotationClassNode.java
│       │   │               │   │   │   ├── ConstantEntriesLiteralNode.java
│       │   │               │   │   │   ├── ElementsEntriesLiteralNode.java
│       │   │               │   │   │   ├── ElementsLiteralNode.java
│       │   │               │   │   │   ├── EmptyObjectLiteralNode.java
│       │   │               │   │   │   ├── EntriesLiteralNode.java
│       │   │               │   │   │   ├── FalseLiteralNode.java
│       │   │               │   │   │   ├── FloatLiteralNode.java
│       │   │               │   │   │   ├── FunctionLiteralNode.java
│       │   │               │   │   │   ├── IntLiteralNode.java
│       │   │               │   │   │   ├── InterpolatedStringLiteralNode.java
│       │   │               │   │   │   ├── ListLiteralNode.java
│       │   │               │   │   │   ├── MapLiteralNode.java
│       │   │               │   │   │   ├── ObjectLiteralNode.java
│       │   │               │   │   │   ├── PropertiesLiteralNode.java
│       │   │               │   │   │   ├── SetLiteralNode.java
│       │   │               │   │   │   ├── SpecializedObjectLiteralNode.java
│       │   │               │   │   │   ├── TrueLiteralNode.java
│       │   │               │   │   │   └── package-info.java
│       │   │               │   │   ├── member/
│       │   │               │   │   │   ├── InferParentWithinMethodNode.java
│       │   │               │   │   │   ├── InferParentWithinObjectMethodNode.java
│       │   │               │   │   │   ├── InferParentWithinPropertyNode.java
│       │   │               │   │   │   ├── InvokeMethodDirectNode.java
│       │   │               │   │   │   ├── InvokeMethodLexicalNode.java
│       │   │               │   │   │   ├── InvokeMethodVirtualNode.java
│       │   │               │   │   │   ├── InvokeSuperMethodNode.java
│       │   │               │   │   │   ├── ReadLocalPropertyNode.java
│       │   │               │   │   │   ├── ReadPropertyNode.java
│       │   │               │   │   │   ├── ReadSuperEntryNode.java
│       │   │               │   │   │   ├── ReadSuperPropertyNode.java
│       │   │               │   │   │   ├── ResolveMethodNode.java
│       │   │               │   │   │   └── package-info.java
│       │   │               │   │   ├── package-info.java
│       │   │               │   │   ├── primary/
│       │   │               │   │   │   ├── CustomThisNode.java
│       │   │               │   │   │   ├── GetEnclosingOwnerNode.java
│       │   │               │   │   │   ├── GetEnclosingReceiverNode.java
│       │   │               │   │   │   ├── GetMemberKeyNode.java
│       │   │               │   │   │   ├── GetModuleNode.java
│       │   │               │   │   │   ├── GetOwnerNode.java
│       │   │               │   │   │   ├── GetReceiverNode.java
│       │   │               │   │   │   ├── OuterNode.java
│       │   │               │   │   │   ├── ResolveVariableNode.java
│       │   │               │   │   │   ├── ThisNode.java
│       │   │               │   │   │   └── package-info.java
│       │   │               │   │   ├── ternary/
│       │   │               │   │   │   ├── IfElseNode.java
│       │   │               │   │   │   └── package-info.java
│       │   │               │   │   └── unary/
│       │   │               │   │       ├── AbstractImportNode.java
│       │   │               │   │       ├── AbstractReadNode.java
│       │   │               │   │       ├── ImportGlobMemberBodyNode.java
│       │   │               │   │       ├── ImportGlobNode.java
│       │   │               │   │       ├── ImportNode.java
│       │   │               │   │       ├── LogicalNotNode.java
│       │   │               │   │       ├── NonNullNode.java
│       │   │               │   │       ├── NullPropagatingOperationNode.java
│       │   │               │   │       ├── PropagateNullReceiverNode.java
│       │   │               │   │       ├── ReadGlobMemberBodyNode.java
│       │   │               │   │       ├── ReadGlobNode.java
│       │   │               │   │       ├── ReadNode.java
│       │   │               │   │       ├── ReadOrNullNode.java
│       │   │               │   │       ├── ReadOrNullStdLibNode.java
│       │   │               │   │       ├── ThrowNode.java
│       │   │               │   │       ├── TraceNode.java
│       │   │               │   │       ├── UnaryExpressionNode.java
│       │   │               │   │       ├── UnaryMinusNode.java
│       │   │               │   │       └── package-info.java
│       │   │               │   ├── frame/
│       │   │               │   │   ├── ReadEnclosingFrameSlotNode.java
│       │   │               │   │   ├── ReadFrameSlotNode.java
│       │   │               │   │   ├── WriteFrameSlotNode.java
│       │   │               │   │   └── package-info.java
│       │   │               │   ├── internal/
│       │   │               │   │   ├── BlackholeNode.java
│       │   │               │   │   ├── GetBaseModuleClassNode.java
│       │   │               │   │   ├── GetClassNode.java
│       │   │               │   │   ├── IsInstanceOfNode.java
│       │   │               │   │   ├── SyntheticNode.java
│       │   │               │   │   ├── ToStringNode.java
│       │   │               │   │   └── package-info.java
│       │   │               │   ├── lambda/
│       │   │               │   │   ├── ApplyVmFunction0Node.java
│       │   │               │   │   ├── ApplyVmFunction1Node.java
│       │   │               │   │   ├── ApplyVmFunction2Node.java
│       │   │               │   │   ├── ApplyVmFunction3Node.java
│       │   │               │   │   ├── ApplyVmFunction4Node.java
│       │   │               │   │   ├── ApplyVmFunction5Node.java
│       │   │               │   │   └── package-info.java
│       │   │               │   ├── member/
│       │   │               │   │   ├── ClassMember.java
│       │   │               │   │   ├── ClassMethod.java
│       │   │               │   │   ├── ClassNode.java
│       │   │               │   │   ├── ClassProperty.java
│       │   │               │   │   ├── DefaultPropertyBodyNode.java
│       │   │               │   │   ├── DelegateToExtraStorageMapOrParentNode.java
│       │   │               │   │   ├── DelegateToExtraStorageObjNode.java
│       │   │               │   │   ├── DelegateToExtraStorageObjOrParentNode.java
│       │   │               │   │   ├── ElementOrEntryNode.java
│       │   │               │   │   ├── FunctionNode.java
│       │   │               │   │   ├── Lambda.java
│       │   │               │   │   ├── ListingOrMappingTypeCastNode.java
│       │   │               │   │   ├── LocalTypedPropertyNode.java
│       │   │               │   │   ├── Member.java
│       │   │               │   │   ├── ModuleNode.java
│       │   │               │   │   ├── ObjectMember.java
│       │   │               │   │   ├── ObjectMethodNode.java
│       │   │               │   │   ├── PropertyTypeNode.java
│       │   │               │   │   ├── RegularMemberNode.java
│       │   │               │   │   ├── SharedMemberNode.java
│       │   │               │   │   ├── TypeAliasNode.java
│       │   │               │   │   ├── TypeCheckedPropertyNode.java
│       │   │               │   │   ├── TypedPropertyNode.java
│       │   │               │   │   ├── UnresolvedClassMemberNode.java
│       │   │               │   │   ├── UnresolvedFunctionNode.java
│       │   │               │   │   ├── UnresolvedMethodNode.java
│       │   │               │   │   ├── UnresolvedPropertyNode.java
│       │   │               │   │   ├── UntypedObjectMemberNode.java
│       │   │               │   │   └── package-info.java
│       │   │               │   ├── package-info.java
│       │   │               │   ├── repl/
│       │   │               │   │   ├── ResolveClassMemberNode.java
│       │   │               │   │   └── package-info.java
│       │   │               │   └── type/
│       │   │               │       ├── GetParentForTypeNode.java
│       │   │               │       ├── IdentityMixinNode.java
│       │   │               │       ├── ResolveDeclaredTypeNode.java
│       │   │               │       ├── ResolveQualifiedDeclaredTypeNode.java
│       │   │               │       ├── ResolveSimpleDeclaredTypeNode.java
│       │   │               │       ├── TypeCastNode.java
│       │   │               │       ├── TypeConstraintNode.java
│       │   │               │       ├── TypeNode.java
│       │   │               │       ├── TypeTestNode.java
│       │   │               │       ├── UnresolvedTypeNode.java
│       │   │               │       ├── VmTypeMismatchException.java
│       │   │               │       └── package-info.java
│       │   │               ├── evaluatorSettings/
│       │   │               │   ├── Color.java
│       │   │               │   ├── PklEvaluatorSettings.java
│       │   │               │   ├── TraceMode.java
│       │   │               │   └── package-info.java
│       │   │               ├── externalreader/
│       │   │               │   ├── ExternalModuleResolver.java
│       │   │               │   ├── ExternalModuleResolverImpl.java
│       │   │               │   ├── ExternalReaderMessagePackDecoder.java
│       │   │               │   ├── ExternalReaderMessagePackEncoder.java
│       │   │               │   ├── ExternalReaderMessages.java
│       │   │               │   ├── ExternalReaderProcess.java
│       │   │               │   ├── ExternalReaderProcessException.java
│       │   │               │   ├── ExternalReaderProcessImpl.java
│       │   │               │   ├── ExternalResourceResolver.java
│       │   │               │   ├── ExternalResourceResolverImpl.java
│       │   │               │   ├── ModuleReaderSpec.java
│       │   │               │   ├── ResourceReaderSpec.java
│       │   │               │   └── package-info.java
│       │   │               ├── http/
│       │   │               │   ├── DummyHttpClient.java
│       │   │               │   ├── HttpClient.java
│       │   │               │   ├── HttpClientBuilder.java
│       │   │               │   ├── HttpClientInitException.java
│       │   │               │   ├── JdkHttpClient.java
│       │   │               │   ├── LazyHttpClient.java
│       │   │               │   ├── NoProxyRule.java
│       │   │               │   ├── ProxySelector.java
│       │   │               │   ├── RequestRewritingClient.java
│       │   │               │   └── package-info.java
│       │   │               ├── messaging/
│       │   │               │   ├── AbstractMessagePackDecoder.java
│       │   │               │   ├── AbstractMessagePackEncoder.java
│       │   │               │   ├── BaseMessagePackDecoder.java
│       │   │               │   ├── BaseMessagePackEncoder.java
│       │   │               │   ├── DecodeException.java
│       │   │               │   ├── Message.java
│       │   │               │   ├── MessageDecoder.java
│       │   │               │   ├── MessageEncoder.java
│       │   │               │   ├── MessageTransport.java
│       │   │               │   ├── MessageTransports.java
│       │   │               │   ├── Messages.java
│       │   │               │   ├── ProtocolException.java
│       │   │               │   └── package-info.java
│       │   │               ├── module/
│       │   │               │   ├── FileResolver.java
│       │   │               │   ├── ModuleKey.java
│       │   │               │   ├── ModuleKeyFactories.java
│       │   │               │   ├── ModuleKeyFactory.java
│       │   │               │   ├── ModuleKeys.java
│       │   │               │   ├── ModulePathResolver.java
│       │   │               │   ├── PathElement.java
│       │   │               │   ├── ProjectDependenciesManager.java
│       │   │               │   ├── ResolvedModuleKey.java
│       │   │               │   ├── ResolvedModuleKeys.java
│       │   │               │   └── package-info.java
│       │   │               ├── package-info.java
│       │   │               ├── packages/
│       │   │               │   ├── Checksums.java
│       │   │               │   ├── Dependency.java
│       │   │               │   ├── DependencyMetadata.java
│       │   │               │   ├── PackageAssetUri.java
│       │   │               │   ├── PackageLoadError.java
│       │   │               │   ├── PackageResolver.java
│       │   │               │   ├── PackageResolvers.java
│       │   │               │   ├── PackageUri.java
│       │   │               │   ├── PackageUtils.java
│       │   │               │   └── package-info.java
│       │   │               ├── project/
│       │   │               │   ├── CanonicalPackageUri.java
│       │   │               │   ├── DeclaredDependencies.java
│       │   │               │   ├── Package.java
│       │   │               │   ├── Project.java
│       │   │               │   ├── ProjectDependenciesResolver.java
│       │   │               │   ├── ProjectDeps.java
│       │   │               │   ├── ProjectPackager.java
│       │   │               │   └── package-info.java
│       │   │               ├── repl/
│       │   │               │   ├── ReplRequest.java
│       │   │               │   ├── ReplResponse.java
│       │   │               │   ├── ReplServer.java
│       │   │               │   └── package-info.java
│       │   │               ├── resource/
│       │   │               │   ├── Resource.java
│       │   │               │   ├── ResourceReader.java
│       │   │               │   ├── ResourceReaders.java
│       │   │               │   └── package-info.java
│       │   │               ├── runtime/
│       │   │               │   ├── AnalyzeModule.java
│       │   │               │   ├── BaseModule.java
│       │   │               │   ├── BenchmarkModule.java
│       │   │               │   ├── CommandModule.java
│       │   │               │   ├── CommandSpecParser.java
│       │   │               │   ├── FileSystemManager.java
│       │   │               │   ├── Identifier.java
│       │   │               │   ├── Iterators.java
│       │   │               │   ├── JsonnetModule.java
│       │   │               │   ├── KeyLookupSuggestions.java
│       │   │               │   ├── LoggerImpl.java
│       │   │               │   ├── MathModule.java
│       │   │               │   ├── MemberLookupSuggestions.java
│       │   │               │   ├── MinPklVersionChecker.java
│       │   │               │   ├── MirrorFactories.java
│       │   │               │   ├── ModuleCache.java
│       │   │               │   ├── ModuleInfo.java
│       │   │               │   ├── ModuleResolver.java
│       │   │               │   ├── NullReceiverException.java
│       │   │               │   ├── PklBinaryModule.java
│       │   │               │   ├── PklTags.java
│       │   │               │   ├── PlatformModule.java
│       │   │               │   ├── PowerAssertions.java
│       │   │               │   ├── ProjectModule.java
│       │   │               │   ├── ReaderBase.java
│       │   │               │   ├── ReflectModule.java
│       │   │               │   ├── ReleaseModule.java
│       │   │               │   ├── ResourceManager.java
│       │   │               │   ├── SemVerModule.java
│       │   │               │   ├── SettingsModule.java
│       │   │               │   ├── StackTraceGenerator.java
│       │   │               │   ├── StackTraceRenderer.java
│       │   │               │   ├── StdLibModule.java
│       │   │               │   ├── TestModule.java
│       │   │               │   ├── TestRunner.java
│       │   │               │   ├── VmBugException.java
│       │   │               │   ├── VmBytes.java
│       │   │               │   ├── VmClass.java
│       │   │               │   ├── VmCollection.java
│       │   │               │   ├── VmContext.java
│       │   │               │   ├── VmDataSize.java
│       │   │               │   ├── VmDuration.java
│       │   │               │   ├── VmDynamic.java
│       │   │               │   ├── VmEvalException.java
│       │   │               │   ├── VmException.java
│       │   │               │   ├── VmExceptionBuilder.java
│       │   │               │   ├── VmExceptionRenderer.java
│       │   │               │   ├── VmFileDetector.java
│       │   │               │   ├── VmFunction.java
│       │   │               │   ├── VmImportAnalyzer.java
│       │   │               │   ├── VmIntSeq.java
│       │   │               │   ├── VmLanguage.java
│       │   │               │   ├── VmList.java
│       │   │               │   ├── VmListing.java
│       │   │               │   ├── VmListingOrMapping.java
│       │   │               │   ├── VmLocalContext.java
│       │   │               │   ├── VmMap.java
│       │   │               │   ├── VmMapping.java
│       │   │               │   ├── VmNull.java
│       │   │               │   ├── VmObject.java
│       │   │               │   ├── VmObjectBuilder.java
│       │   │               │   ├── VmObjectLike.java
│       │   │               │   ├── VmPair.java
│       │   │               │   ├── VmPklBinaryEncoder.java
│       │   │               │   ├── VmRegex.java
│       │   │               │   ├── VmSafeMath.java
│       │   │               │   ├── VmSet.java
│       │   │               │   ├── VmStackOverflowException.java
│       │   │               │   ├── VmTypeAlias.java
│       │   │               │   ├── VmTyped.java
│       │   │               │   ├── VmTypes.java
│       │   │               │   ├── VmUndefinedValueException.java
│       │   │               │   ├── VmUtils.java
│       │   │               │   ├── VmValue.java
│       │   │               │   ├── VmValueConverter.java
│       │   │               │   ├── VmValueRenderer.java
│       │   │               │   ├── VmValueTracker.java
│       │   │               │   ├── VmValueTrackerFactory.java
│       │   │               │   ├── VmValueVisitor.java
│       │   │               │   ├── VmWrappedEvalException.java
│       │   │               │   ├── XmlModule.java
│       │   │               │   └── package-info.java
│       │   │               ├── service/
│       │   │               │   └── ExecutorSpiImpl.java
│       │   │               ├── settings/
│       │   │               │   ├── PklSettings.java
│       │   │               │   └── package-info.java
│       │   │               ├── stdlib/
│       │   │               │   ├── AbstractRenderer.java
│       │   │               │   ├── AbstractStringRenderer.java
│       │   │               │   ├── ExternalMemberNode.java
│       │   │               │   ├── ExternalMethod0Node.java
│       │   │               │   ├── ExternalMethod1Node.java
│       │   │               │   ├── ExternalMethod2Node.java
│       │   │               │   ├── ExternalMethod3Node.java
│       │   │               │   ├── ExternalMethod4Node.java
│       │   │               │   ├── ExternalMethod5Node.java
│       │   │               │   ├── ExternalMethodNode.java
│       │   │               │   ├── ExternalPropertyNode.java
│       │   │               │   ├── LanguageAwareNode.java
│       │   │               │   ├── PathConverterSupport.java
│       │   │               │   ├── PathSpecParser.java
│       │   │               │   ├── PklConverter.java
│       │   │               │   ├── PklName.java
│       │   │               │   ├── VmObjectFactories.java
│       │   │               │   ├── VmObjectFactory.java
│       │   │               │   ├── analyze/
│       │   │               │   │   ├── AnalyzeNodes.java
│       │   │               │   │   └── package-info.java
│       │   │               │   ├── base/
│       │   │               │   │   ├── AnyNodes.java
│       │   │               │   │   ├── BaseNodes.java
│       │   │               │   │   ├── BooleanNodes.java
│       │   │               │   │   ├── BytesNodes.java
│       │   │               │   │   ├── ClassNodes.java
│       │   │               │   │   ├── CollectionNodes.java
│       │   │               │   │   ├── DataSizeNodes.java
│       │   │               │   │   ├── DurationNodes.java
│       │   │               │   │   ├── DynamicNodes.java
│       │   │               │   │   ├── FloatNodes.java
│       │   │               │   │   ├── Function0Nodes.java
│       │   │               │   │   ├── Function1Nodes.java
│       │   │               │   │   ├── Function2Nodes.java
│       │   │               │   │   ├── Function3Nodes.java
│       │   │               │   │   ├── Function4Nodes.java
│       │   │               │   │   ├── Function5Nodes.java
│       │   │               │   │   ├── FunctionNodes.java
│       │   │               │   │   ├── IntNodes.java
│       │   │               │   │   ├── IntSeqNodes.java
│       │   │               │   │   ├── JsonRendererNodes.java
│       │   │               │   │   ├── ListNodes.java
│       │   │               │   │   ├── ListingNodes.java
│       │   │               │   │   ├── MapNodes.java
│       │   │               │   │   ├── MappingNodes.java
│       │   │               │   │   ├── MergeSort.java
│       │   │               │   │   ├── ModuleClassNodes.java
│       │   │               │   │   ├── PListRendererNodes.java
│       │   │               │   │   ├── PairNodes.java
│       │   │               │   │   ├── PcfRenderer.java
│       │   │               │   │   ├── PcfRendererNodes.java
│       │   │               │   │   ├── PropertiesRendererNodes.java
│       │   │               │   │   ├── RegexMatchFactory.java
│       │   │               │   │   ├── RegexNodes.java
│       │   │               │   │   ├── SetNodes.java
│       │   │               │   │   ├── StringNodes.java
│       │   │               │   │   ├── TypedNodes.java
│       │   │               │   │   ├── YamlRendererNodes.java
│       │   │               │   │   └── package-info.java
│       │   │               │   ├── benchmark/
│       │   │               │   │   ├── BenchmarkUtils.java
│       │   │               │   │   ├── MicrobenchmarkNodes.java
│       │   │               │   │   ├── OutputBenchmarkNodes.java
│       │   │               │   │   ├── ParserBenchmarkNodes.java
│       │   │               │   │   └── package-info.java
│       │   │               │   ├── json/
│       │   │               │   │   ├── ParserNodes.java
│       │   │               │   │   └── package-info.java
│       │   │               │   ├── jsonnet/
│       │   │               │   │   ├── RendererNodes.java
│       │   │               │   │   └── package-info.java
│       │   │               │   ├── math/
│       │   │               │   │   ├── MathNodes.java
│       │   │               │   │   └── package-info.java
│       │   │               │   ├── package-info.java
│       │   │               │   ├── pklbinary/
│       │   │               │   │   ├── RendererNodes.java
│       │   │               │   │   └── package-info.java
│       │   │               │   ├── platform/
│       │   │               │   │   ├── PlatformNodes.java
│       │   │               │   │   └── package-info.java
│       │   │               │   ├── protobuf/
│       │   │               │   │   ├── RendererNodes.java
│       │   │               │   │   └── package-info.java
│       │   │               │   ├── reflect/
│       │   │               │   │   ├── ClassNodes.java
│       │   │               │   │   ├── DeclaredTypeNodes.java
│       │   │               │   │   ├── ReflectNodes.java
│       │   │               │   │   ├── TypeNodes.java
│       │   │               │   │   └── package-info.java
│       │   │               │   ├── registry/
│       │   │               │   │   ├── EmptyMemberRegistry.java
│       │   │               │   │   ├── ExternalMemberRegistry.java
│       │   │               │   │   └── package-info.java
│       │   │               │   ├── release/
│       │   │               │   │   ├── ReleaseNodes.java
│       │   │               │   │   └── package-info.java
│       │   │               │   ├── test/
│       │   │               │   │   ├── TestNodes.java
│       │   │               │   │   ├── package-info.java
│       │   │               │   │   └── report/
│       │   │               │   │       ├── JUnitReport.java
│       │   │               │   │       ├── SimpleReport.java
│       │   │               │   │       └── TestReport.java
│       │   │               │   ├── xml/
│       │   │               │   │   ├── RendererNodes.java
│       │   │               │   │   └── package-info.java
│       │   │               │   └── yaml/
│       │   │               │       ├── ParserNodes.java
│       │   │               │       └── package-info.java
│       │   │               └── util/
│       │   │                   ├── AbstractCharEscaper.java
│       │   │                   ├── AnsiStringBuilder.java
│       │   │                   ├── AnsiTheme.java
│       │   │                   ├── ArrayCharEscaper.java
│       │   │                   ├── ByteArrayUtils.java
│       │   │                   ├── CodeGeneratorUtils.java
│       │   │                   ├── CollectionUtils.java
│       │   │                   ├── DurationUtils.java
│       │   │                   ├── EconomicMaps.java
│       │   │                   ├── EconomicSets.java
│       │   │                   ├── ErrorMessages.java
│       │   │                   ├── Exceptions.java
│       │   │                   ├── GlobResolver.java
│       │   │                   ├── HttpUtils.java
│       │   │                   ├── ImportGraphUtils.java
│       │   │                   ├── IoUtils.java
│       │   │                   ├── LateInit.java
│       │   │                   ├── MathUtils.java
│       │   │                   ├── MutableBoolean.java
│       │   │                   ├── MutableLong.java
│       │   │                   ├── MutableReference.java
│       │   │                   ├── Nonnull.java
│       │   │                   ├── NonnullByDefault.java
│       │   │                   ├── Nullable.java
│       │   │                   ├── Pair.java
│       │   │                   ├── StringBuilderWriter.java
│       │   │                   ├── StringSimilarity.java
│       │   │                   ├── StringUtils.java
│       │   │                   ├── SyntaxHighlighter.java
│       │   │                   ├── json/
│       │   │                   │   ├── Json.java
│       │   │                   │   ├── JsonEscaper.java
│       │   │                   │   ├── JsonHandler.java
│       │   │                   │   ├── JsonParser.java
│       │   │                   │   ├── JsonWriter.java
│       │   │                   │   ├── Location.java
│       │   │                   │   ├── ParseException.java
│       │   │                   │   └── package-info.java
│       │   │                   ├── package-info.java
│       │   │                   ├── paguro/
│       │   │                   │   ├── RrbTree.java
│       │   │                   │   └── package-info.java
│       │   │                   ├── pklbinary/
│       │   │                   │   ├── AbstractPklBinaryDecoder.java
│       │   │                   │   ├── PklBinaryCode.java
│       │   │                   │   └── package-info.java
│       │   │                   ├── properties/
│       │   │                   │   └── PropertiesUtils.java
│       │   │                   ├── xml/
│       │   │                   │   ├── Xml10Validator.java
│       │   │                   │   ├── Xml11Validator.java
│       │   │                   │   ├── XmlValidator.java
│       │   │                   │   └── package-info.java
│       │   │                   └── yaml/
│       │   │                       ├── Yaml11Emitter.java
│       │   │                       ├── Yaml12Emitter.java
│       │   │                       ├── YamlCompatEmitter.java
│       │   │                       ├── YamlEmitter.java
│       │   │                       ├── YamlEscaper.java
│       │   │                       ├── package-info.java
│       │   │                       └── snake/
│       │   │                           ├── Yaml11Resolver.java
│       │   │                           ├── Yaml12Resolver.java
│       │   │                           ├── YamlCompatEmitterResolver.java
│       │   │                           ├── YamlCompatParserResolver.java
│       │   │                           ├── YamlResolver.java
│       │   │                           ├── YamlUtils.java
│       │   │                           └── package-info.java
│       │   └── resources/
│       │       ├── META-INF/
│       │       │   └── services/
│       │       │       ├── java.nio.file.spi.FileTypeDetector
│       │       │       └── org.pkl.executor.spi.v1.ExecutorSpi
│       │       └── org/
│       │           └── pkl/
│       │               └── core/
│       │                   ├── Release.properties
│       │                   └── errorMessages.properties
│       └── test/
│           ├── files/
│           │   └── LanguageSnippetTests/
│           │       ├── input/
│           │       │   ├── annotation/
│           │       │   │   ├── annotation1.pkl
│           │       │   │   ├── annotation2.pkl
│           │       │   │   ├── annotation3.pkl
│           │       │   │   ├── annotation4.pkl
│           │       │   │   ├── annotation5.pkl
│           │       │   │   ├── annotation6.pkl
│           │       │   │   ├── annotationIsNotExpression.pkl
│           │       │   │   ├── annotationIsNotExpression2.pkl
│           │       │   │   ├── deprecated1.pkl
│           │       │   │   ├── deprecated2.pkl
│           │       │   │   ├── deprecated3.pkl
│           │       │   │   ├── deprecatedNoRepeatedWarnings.pkl
│           │       │   │   ├── deprecatedWithMessage1.pkl
│           │       │   │   ├── deprecatedWithMessage2.pkl
│           │       │   │   ├── deprecatedWithMessage3.pkl
│           │       │   │   └── deprecationSuperMethod.pkl
│           │       │   ├── api/
│           │       │   │   ├── Resource.pkl
│           │       │   │   ├── analyze1.pkl
│           │       │   │   ├── annotationConverters.pkl
│           │       │   │   ├── any.pkl
│           │       │   │   ├── anyConverter.pkl
│           │       │   │   ├── baseModule.pkl
│           │       │   │   ├── benchmarkModule.pkl
│           │       │   │   ├── bytes.pkl
│           │       │   │   ├── dataSize.pkl
│           │       │   │   ├── dir1/
│           │       │   │   │   └── dir2/
│           │       │   │   │       └── relativePathTo.pkl
│           │       │   │   ├── duration.pkl
│           │       │   │   ├── dynamic.pkl
│           │       │   │   ├── empty.txt
│           │       │   │   ├── float.pkl
│           │       │   │   ├── fox.txt
│           │       │   │   ├── int.pkl
│           │       │   │   ├── intseq.pkl
│           │       │   │   ├── jsonParser1.pkl
│           │       │   │   ├── jsonParser2.pkl
│           │       │   │   ├── jsonParser3.pkl
│           │       │   │   ├── jsonParser4.pkl
│           │       │   │   ├── jsonParser5.pkl
│           │       │   │   ├── jsonRenderer1.json.pkl
│           │       │   │   ├── jsonRenderer2.json.pkl
│           │       │   │   ├── jsonRenderer2b.pkl
│           │       │   │   ├── jsonRenderer3.json.pkl
│           │       │   │   ├── jsonRenderer4.pkl
│           │       │   │   ├── jsonRenderer5.pkl
│           │       │   │   ├── jsonRenderer6.json.pkl
│           │       │   │   ├── jsonRenderer7.pkl
│           │       │   │   ├── jsonRenderer8.pkl
│           │       │   │   ├── jsonRenderer9.json5.pkl
│           │       │   │   ├── jsonRendererEmptyComposites.pkl
│           │       │   │   ├── jsonnetRenderer1.jsonnet.pkl
│           │       │   │   ├── jsonnetRenderer2.jsonnet.pkl
│           │       │   │   ├── jsonnetRenderer3.jsonnet.pkl
│           │       │   │   ├── jsonnetRenderer4.pkl
│           │       │   │   ├── jsonnetRenderer5.pkl
│           │       │   │   ├── jsonnetRenderer6.jsonnet.pkl
│           │       │   │   ├── jsonnetRenderer7.pkl
│           │       │   │   ├── jsonnetRenderer8.jsonnet.pkl
│           │       │   │   ├── list.pkl
│           │       │   │   ├── listNullable.pkl
│           │       │   │   ├── listing.pkl
│           │       │   │   ├── map.pkl
│           │       │   │   ├── mapping.pkl
│           │       │   │   ├── mathModule.pkl
│           │       │   │   ├── module.pkl
│           │       │   │   ├── moduleOutput.pkl
│           │       │   │   ├── moduleOutput2.pkl
│           │       │   │   ├── pListRenderer1.plist.pkl
│           │       │   │   ├── pListRenderer2.plist.pkl
│           │       │   │   ├── pListRenderer3.plist.pkl
│           │       │   │   ├── pListRenderer4.pkl
│           │       │   │   ├── pListRenderer5.pkl
│           │       │   │   ├── pListRenderer6.plist.pkl
│           │       │   │   ├── pListRenderer7.pkl
│           │       │   │   ├── pListRenderer8.plist.pkl
│           │       │   │   ├── pair.pkl
│           │       │   │   ├── pcfRenderer1.pkl
│           │       │   │   ├── pcfRenderer2.pkl
│           │       │   │   ├── pcfRenderer2b.pkl
│           │       │   │   ├── pcfRenderer3.pkl
│           │       │   │   ├── pcfRenderer4.pkl
│           │       │   │   ├── pcfRenderer5.pkl
│           │       │   │   ├── pcfRenderer6.pkl
│           │       │   │   ├── pcfRenderer7.pkl
│           │       │   │   ├── pcfRenderer8.pkl
│           │       │   │   ├── pcfRenderer9.pkl
│           │       │   │   ├── pklbinary1.msgpack.yaml.pkl
│           │       │   │   ├── platformModule.pkl
│           │       │   │   ├── plistRenderer2b.pkl
│           │       │   │   ├── propertiesRenderer1.properties.pkl
│           │       │   │   ├── propertiesRenderer10.properties.pkl
│           │       │   │   ├── propertiesRenderer11.pkl
│           │       │   │   ├── propertiesRenderer12.properties.pkl
│           │       │   │   ├── propertiesRenderer2.properties.pkl
│           │       │   │   ├── propertiesRenderer2b.pkl
│           │       │   │   ├── propertiesRenderer3.properties.pkl
│           │       │   │   ├── propertiesRenderer4.pkl
│           │       │   │   ├── propertiesRenderer5.pkl
│           │       │   │   ├── propertiesRenderer6.properties.pkl
│           │       │   │   ├── propertiesRenderer7.properties.pkl
│           │       │   │   ├── propertiesRenderer8.properties.pkl
│           │       │   │   ├── propertiesRenderer9.properties.pkl
│           │       │   │   ├── propertiesRendererBug66849708.properties.pkl
│           │       │   │   ├── protobuf.pkl
│           │       │   │   ├── protobuf2.pkl
│           │       │   │   ├── protobuf3.txtpb.pkl
│           │       │   │   ├── reflect1.pkl
│           │       │   │   ├── reflect2.pkl
│           │       │   │   ├── reflect3.pkl
│           │       │   │   ├── reflect4.pkl
│           │       │   │   ├── reflectedDeclaration.pkl
│           │       │   │   ├── regex.pkl
│           │       │   │   ├── releaseModule.pkl
│           │       │   │   ├── renderDirective.pkl
│           │       │   │   ├── renderDirective2.pkl
│           │       │   │   ├── resource.txt
│           │       │   │   ├── semverModule.pkl
│           │       │   │   ├── set.pkl
│           │       │   │   ├── setNullable.pkl
│           │       │   │   ├── shellModule.pkl
│           │       │   │   ├── string.pkl
│           │       │   │   ├── stringUnicode.pkl
│           │       │   │   ├── typeAliases.pkl
│           │       │   │   ├── typeConverters.pkl
│           │       │   │   ├── typed.pkl
│           │       │   │   ├── xmlRenderer1.xml.pkl
│           │       │   │   ├── xmlRenderer2.xml.pkl
│           │       │   │   ├── xmlRenderer2b.pkl
│           │       │   │   ├── xmlRenderer3.xml.pkl
│           │       │   │   ├── xmlRenderer4.pkl
│           │       │   │   ├── xmlRenderer5.pkl
│           │       │   │   ├── xmlRenderer6.xml.pkl
│           │       │   │   ├── xmlRenderer8.pkl
│           │       │   │   ├── xmlRenderer9.xml.pkl
│           │       │   │   ├── xmlRendererCData.xml.pkl
│           │       │   │   ├── xmlRendererElement.xml.pkl
│           │       │   │   ├── xmlRendererHtml.xml.pkl
│           │       │   │   ├── xmlRendererInline.xml.pkl
│           │       │   │   ├── xmlRendererInline2.xml.pkl
│           │       │   │   ├── xmlRendererInline3.xml.pkl
│           │       │   │   ├── xmlRendererValidation10.pkl
│           │       │   │   ├── xmlRendererValidation11.pkl
│           │       │   │   ├── yamlParser1Compat.pkl
│           │       │   │   ├── yamlParser1Yaml11.pkl
│           │       │   │   ├── yamlParser1Yaml12.pkl
│           │       │   │   ├── yamlParser2.pkl
│           │       │   │   ├── yamlParser3.pkl
│           │       │   │   ├── yamlParser4.pkl
│           │       │   │   ├── yamlParser5.pkl
│           │       │   │   ├── yamlParser6.pkl
│           │       │   │   ├── yamlRenderer1.yml.pkl
│           │       │   │   ├── yamlRenderer10.yml.pkl
│           │       │   │   ├── yamlRenderer2.yml.pkl
│           │       │   │   ├── yamlRenderer2b.pkl
│           │       │   │   ├── yamlRenderer3.yml.pkl
│           │       │   │   ├── yamlRenderer4.pkl
│           │       │   │   ├── yamlRenderer5.pkl
│           │       │   │   ├── yamlRenderer6.yml.pkl
│           │       │   │   ├── yamlRenderer7.pkl
│           │       │   │   ├── yamlRenderer8.yml.pkl
│           │       │   │   ├── yamlRenderer9.yml.pkl
│           │       │   │   ├── yamlRendererBug66849708.yml.pkl
│           │       │   │   ├── yamlRendererEmpty.yml.pkl
│           │       │   │   ├── yamlRendererIndentationWidth2.yml.pkl
│           │       │   │   ├── yamlRendererIndentationWidth4.yml.pkl
│           │       │   │   ├── yamlRendererIndentationWidth5.yml.pkl
│           │       │   │   ├── yamlRendererKeys.yml.pkl
│           │       │   │   ├── yamlRendererStream1.pkl
│           │       │   │   ├── yamlRendererStream2.pkl
│           │       │   │   ├── yamlRendererStrings.yml.pkl
│           │       │   │   ├── yamlRendererStringsCompat.pkl
│           │       │   │   ├── yamlRendererStringsYaml11.pkl
│           │       │   │   └── yamlRendererStringsYaml12.pkl
│           │       │   ├── basic/
│           │       │   │   ├── amendsChains.pkl
│           │       │   │   ├── as.pkl
│           │       │   │   ├── as2.pkl
│           │       │   │   ├── as3.pkl
│           │       │   │   ├── baseModule.pkl
│           │       │   │   ├── boolean.pkl
│           │       │   │   ├── bytes.pkl
│           │       │   │   ├── comments.pkl
│           │       │   │   ├── constModifier.pkl
│           │       │   │   ├── constModifier2.pkl
│           │       │   │   ├── constModifier3.pkl
│           │       │   │   ├── constModifier4.pkl
│           │       │   │   ├── constModifier5.pkl
│           │       │   │   ├── dataSize.pkl
│           │       │   │   ├── duration.pkl
│           │       │   │   ├── exceptions.pkl
│           │       │   │   ├── fixedProperty1.pkl
│           │       │   │   ├── fixedProperty2.pkl
│           │       │   │   ├── fixedProperty3.pkl
│           │       │   │   ├── fixedProperty4.pkl
│           │       │   │   ├── fixedProperty5.pkl
│           │       │   │   ├── fixedProperty6.pkl
│           │       │   │   ├── float.pkl
│           │       │   │   ├── globtest/
│           │       │   │   │   ├── file1.txt
│           │       │   │   │   └── file2.txt
│           │       │   │   ├── identifier.pkl
│           │       │   │   ├── if.pkl
│           │       │   │   ├── import1.pkl
│           │       │   │   ├── import1b.pkl
│           │       │   │   ├── import2.pkl
│           │       │   │   ├── import3.pkl
│           │       │   │   ├── importGlob.pkl
│           │       │   │   ├── imported.pkl
│           │       │   │   ├── indexExpressions.pkl
│           │       │   │   ├── int.pkl
│           │       │   │   ├── intseq.pkl
│           │       │   │   ├── is.pkl
│           │       │   │   ├── is2.pkl
│           │       │   │   ├── let.pkl
│           │       │   │   ├── letTyped.pkl
│           │       │   │   ├── list.pkl
│           │       │   │   ├── localMethodDynamicBinding.pkl
│           │       │   │   ├── localMethodInAmendingModule.pkl
│           │       │   │   ├── localMethodOverride1.pkl
│           │       │   │   ├── localMethodOverride2.pkl
│           │       │   │   ├── localMethodTyped.pkl
│           │       │   │   ├── localMethodTyped2.pkl
│           │       │   │   ├── localMethodTyped3.pkl
│           │       │   │   ├── localMethodTyped4.pkl
│           │       │   │   ├── localMethodTyped5.pkl
│           │       │   │   ├── localMethodTyped6.pkl
│           │       │   │   ├── localMethodUntyped.pkl
│           │       │   │   ├── localModuleMemberOverride1.pkl
│           │       │   │   ├── localModuleMemberOverride2.pkl
│           │       │   │   ├── localProperty1.pkl
│           │       │   │   ├── localProperty2.pkl
│           │       │   │   ├── localPropertyAmendInAmendingModule.pkl
│           │       │   │   ├── localPropertyInAmendingModule.pkl
│           │       │   │   ├── localPropertyOverride1.pkl
│           │       │   │   ├── localPropertyOverride2.pkl
│           │       │   │   ├── localPropertyOverride3.pkl
│           │       │   │   ├── localTypedClassMember.pkl
│           │       │   │   ├── localTypedModuleMember.pkl
│           │       │   │   ├── localTypedObjectMember.pkl
│           │       │   │   ├── map.pkl
│           │       │   │   ├── minPklVersion.pkl
│           │       │   │   ├── moduleRef1.pkl
│           │       │   │   ├── moduleRef2.pkl
│           │       │   │   ├── moduleRef3.pkl
│           │       │   │   ├── moduleRefLibrary.pkl
│           │       │   │   ├── new.pkl
│           │       │   │   ├── newInAmendingModuleMethod.pkl
│           │       │   │   ├── newInsideIf.pkl
│           │       │   │   ├── newInsideLet.pkl
│           │       │   │   ├── newType.pkl
│           │       │   │   ├── nonNull.pkl
│           │       │   │   ├── nullable.pkl
│           │       │   │   ├── objectMember.pkl
│           │       │   │   ├── objectMemberInvalid.pkl
│           │       │   │   ├── objectMemberInvalid2.pkl
│           │       │   │   ├── objectMemberInvalid3.pkl
│           │       │   │   ├── parens.pkl
│           │       │   │   ├── propertyDefaults.pkl
│           │       │   │   ├── rawString.pkl
│           │       │   │   ├── read.pkl
│           │       │   │   ├── readGlob.pkl
│           │       │   │   ├── semicolon.pkl
│           │       │   │   ├── set.pkl
│           │       │   │   ├── string.pkl
│           │       │   │   ├── stringError1.pkl
│           │       │   │   ├── stringMultiline.pkl
│           │       │   │   ├── stringUnicode.pkl
│           │       │   │   ├── trace.pkl
│           │       │   │   ├── typeResolution1.pkl
│           │       │   │   ├── typeResolution2.pkl
│           │       │   │   ├── typeResolution3.pkl
│           │       │   │   ├── typeResolution4.pkl
│           │       │   │   └── underscore.pkl
│           │       │   ├── classes/
│           │       │   │   ├── class1.pkl
│           │       │   │   ├── class2.pkl
│           │       │   │   ├── class2a.pkl
│           │       │   │   ├── class3.pkl
│           │       │   │   ├── class4.pkl
│           │       │   │   ├── constraints1.pkl
│           │       │   │   ├── constraints10.pkl
│           │       │   │   ├── constraints11.pkl
│           │       │   │   ├── constraints12.pkl
│           │       │   │   ├── constraints13.pkl
│           │       │   │   ├── constraints14.pkl
│           │       │   │   ├── constraints2.pkl
│           │       │   │   ├── constraints3.pkl
│           │       │   │   ├── constraints4.pkl
│           │       │   │   ├── constraints5.pkl
│           │       │   │   ├── constraints6.pkl
│           │       │   │   ├── constraints7.pkl
│           │       │   │   ├── constraints8.pkl
│           │       │   │   ├── constraints9.pkl
│           │       │   │   ├── constraintsLambdaThis.pkl
│           │       │   │   ├── duplicateFunction.pkl
│           │       │   │   ├── duplicateProperty.pkl
│           │       │   │   ├── equality.pkl
│           │       │   │   ├── externalClass.pkl
│           │       │   │   ├── externalFunction.pkl
│           │       │   │   ├── externalProperty.pkl
│           │       │   │   ├── functions1.pkl
│           │       │   │   ├── functions2.pkl
│           │       │   │   ├── functions3.pkl
│           │       │   │   ├── functions4.pkl
│           │       │   │   ├── inheritance1.pkl
│           │       │   │   ├── inheritance2.pkl
│           │       │   │   ├── inheritanceError1.pkl
│           │       │   │   ├── invalidInstantiation1.pkl
│           │       │   │   ├── invalidInstantiation2.pkl
│           │       │   │   ├── lambdaConstraints1.pkl
│           │       │   │   ├── listConstraints1.pkl
│           │       │   │   ├── mapConstraints1.pkl
│           │       │   │   ├── nullableTypes.pkl
│           │       │   │   ├── setConstraints1.pkl
│           │       │   │   ├── supercalls.pkl
│           │       │   │   ├── supercallsInLet.pkl
│           │       │   │   ├── unionTypes.pkl
│           │       │   │   ├── unionTypesErrorAlias.pkl
│           │       │   │   ├── unionTypesErrorDifferent1.pkl
│           │       │   │   ├── unionTypesErrorDifferent2.pkl
│           │       │   │   ├── unionTypesErrorMultipleAliases.pkl
│           │       │   │   ├── unionTypesErrorNested.pkl
│           │       │   │   ├── unionTypesErrorSimple.pkl
│           │       │   │   ├── unionTypesErrorString1.pkl
│           │       │   │   ├── unionTypesErrorString2.pkl
│           │       │   │   ├── wrongType1.pkl
│           │       │   │   ├── wrongType2.pkl
│           │       │   │   ├── wrongType3.pkl
│           │       │   │   ├── wrongType4.pkl
│           │       │   │   ├── wrongType5.pkl
│           │       │   │   └── wrongType6.pkl
│           │       │   ├── errors/
│           │       │   │   ├── abstractOpenMember.pkl
│           │       │   │   ├── analyzeImportsCannotFindModule.pkl
│           │       │   │   ├── analyzeImportsInvalidGlob.pkl
│           │       │   │   ├── analyzeInvalidModuleUri.pkl
│           │       │   │   ├── analyzeRelativeModuleUri.pkl
│           │       │   │   ├── anyConverterError.pkl
│           │       │   │   ├── baseModule.pkl
│           │       │   │   ├── binopDifferentLine.pkl
│           │       │   │   ├── cannotAmendFixedProperty1.pkl
│           │       │   │   ├── cannotAmendFixedProperty2.pkl
│           │       │   │   ├── cannotAssignFixedProperty1.pkl
│           │       │   │   ├── cannotAssignFixedProperty2.pkl
│           │       │   │   ├── cannotAssignFixedProperty3.pkl
│           │       │   │   ├── cannotAssignToNothing.pkl
│           │       │   │   ├── cannotChangeFixed1.pkl
│           │       │   │   ├── cannotChangeFixed2.pkl
│           │       │   │   ├── cannotFindMapKey.pkl
│           │       │   │   ├── cannotFindStdLibModule.pkl
│           │       │   │   ├── cannotInferParent2.pkl
│           │       │   │   ├── cannotInferParent3.pkl
│           │       │   │   ├── cannotInstantiateAbstractModule.pkl
│           │       │   │   ├── cannotRenderMixin.pkl
│           │       │   │   ├── classExtendsSelf.pkl
│           │       │   │   ├── const/
│           │       │   │   │   ├── constAmend.pkl
│           │       │   │   │   ├── constAnnotation.pkl
│           │       │   │   │   ├── constAnnotation2.pkl
│           │       │   │   │   ├── constAnnotation3.pkl
│           │       │   │   │   ├── constAssign.pkl
│           │       │   │   │   ├── constClassBody.pkl
│           │       │   │   │   ├── constExplicitThis.pkl
│           │       │   │   │   ├── constExplicitThisMethod.pkl
│           │       │   │   │   ├── constFunctionCallingNonConst.pkl
│           │       │   │   │   ├── constImplicitThis.pkl
│           │       │   │   │   ├── constImplicitThisMethod.pkl
│           │       │   │   │   ├── constLexicalScope.pkl
│           │       │   │   │   ├── constLocalAmendModule.pkl
│           │       │   │   │   ├── constLocalMethod.pkl
│           │       │   │   │   ├── constLocalProperty.pkl
│           │       │   │   │   ├── constMethod.pkl
│           │       │   │   │   ├── constMethod2.pkl
│           │       │   │   │   ├── constModule.pkl
│           │       │   │   │   ├── constModule2.pkl
│           │       │   │   │   ├── constModule3.pkl
│           │       │   │   │   ├── constObjectMember.pkl
│           │       │   │   │   ├── constOuter.pkl
│           │       │   │   │   ├── constOuter2.pkl
│           │       │   │   │   ├── constOuter3.pkl
│           │       │   │   │   ├── constQualified.pkl
│           │       │   │   │   ├── constSubclass.pkl
│           │       │   │   │   ├── constSubclass2.pkl
│           │       │   │   │   ├── constSuper.pkl
│           │       │   │   │   ├── constSuperMethod.pkl
│           │       │   │   │   ├── constThis.pkl
│           │       │   │   │   └── constTypeAliasConstraint.pkl
│           │       │   │   ├── constraintDetails1.pkl
│           │       │   │   ├── constraintDetails2.pkl
│           │       │   │   ├── constraintDetails3.pkl
│           │       │   │   ├── decodingException.pkl
│           │       │   │   ├── delimiters/
│           │       │   │   │   ├── missingClassDelimiter.pkl
│           │       │   │   │   ├── missingConstrainedTypeSeparator.pkl
│           │       │   │   │   ├── missingContainerAmendDefDelimiter.pkl
│           │       │   │   │   ├── missingContainerAmendExprDelimiter.pkl
│           │       │   │   │   ├── missingEmptyMultiLineStringDelimiter.pkl
│           │       │   │   │   ├── missingEmptyMultiLineStringDelimiterAtEof.pkl
│           │       │   │   │   ├── missingEmptyStringDelimiter.pkl
│           │       │   │   │   ├── missingEmptyStringDelimiterAtEof.pkl
│           │       │   │   │   ├── missingFunction0ParameterListDelimiter.pkl
│           │       │   │   │   ├── missingFunction1ParameterListDelimiter.pkl
│           │       │   │   │   ├── missingFunctionAmendParameterListSeparator.pkl
│           │       │   │   │   ├── missingFunctionNParameterListDelimiter.pkl
│           │       │   │   │   ├── missingFunctionParameterListSeparator.pkl
│           │       │   │   │   ├── missingFunctionType0ParameterListDelimiter.pkl
│           │       │   │   │   ├── missingFunctionType1ParameterListDelimiter.pkl
│           │       │   │   │   ├── missingFunctionTypeNParameterListDelimiter.pkl
│           │       │   │   │   ├── missingFunctionTypeParameterListSeparator.pkl
│           │       │   │   │   ├── missingIfExprDelimiter.pkl
│           │       │   │   │   ├── missingListDelimiter.pkl
│           │       │   │   │   ├── missingListSeparator.pkl
│           │       │   │   │   ├── missingMapDelimiter.pkl
│           │       │   │   │   ├── missingMapSeparator.pkl
│           │       │   │   │   ├── missingMethodArgumentListDelimiter.pkl
│           │       │   │   │   ├── missingMethodArgumentListSeparator.pkl
│           │       │   │   │   ├── missingMethodParameterListDelimiter.pkl
│           │       │   │   │   ├── missingMethodParameterListSeparator.pkl
│           │       │   │   │   ├── missingMultiLineStringDelimiter.pkl
│           │       │   │   │   ├── missingObjectAmendDefDelimiter.pkl
│           │       │   │   │   ├── missingObjectAmendDefDelimiter2.pkl
│           │       │   │   │   ├── missingObjectAmendDefDelimiter3.pkl
│           │       │   │   │   ├── missingObjectAmendExprDelimiter.pkl
│           │       │   │   │   ├── missingObjectDelimiter.pkl
│           │       │   │   │   ├── missingParenthesizedExprDelimiter.pkl
│           │       │   │   │   ├── missingParenthesizedTypeDelimiter.pkl
│           │       │   │   │   ├── missingRawMultiLineStringDelimiter.pkl
│           │       │   │   │   ├── missingRawStringDelimiter.pkl
│           │       │   │   │   ├── missingSetSeparator.pkl
│           │       │   │   │   ├── missingStringDelimiter.pkl
│           │       │   │   │   ├── missingSubscriptDelimiter.pkl
│           │       │   │   │   ├── missingTypeConstraintListDelimiter.pkl
│           │       │   │   │   ├── missingTypedMethodParameterListDelimiter.pkl
│           │       │   │   │   ├── missingTypedMethodParameterListSeparator.pkl
│           │       │   │   │   ├── unbalancedEntryBrackets1.pkl
│           │       │   │   │   ├── unbalancedEntryBrackets2.pkl
│           │       │   │   │   ├── unbalancedEntryBrackets3.pkl
│           │       │   │   │   └── unbalancedEntryBrackets4.pkl
│           │       │   │   ├── duplicateTypeParameter.pkl
│           │       │   │   ├── emptyParenthesizedTypeAnnotation.pkl
│           │       │   │   ├── extendExternalClass.pkl
│           │       │   │   ├── extendTypeAlias.pkl
│           │       │   │   ├── forGeneratorCannotGenerateMethods.pkl
│           │       │   │   ├── forGeneratorCannotGenerateProperties.pkl
│           │       │   │   ├── forGeneratorCannotIterateOverThisValue.pkl
│           │       │   │   ├── forGeneratorCannotIterateOverTyped.pkl
│           │       │   │   ├── forGeneratorDuplicateParams1.pkl
│           │       │   │   ├── forGeneratorWrongVariableName.pkl
│           │       │   │   ├── fullStackTraces.pkl
│           │       │   │   ├── fullStackTraces2.pkl
│           │       │   │   ├── functionNotFoundInClass.pkl
│           │       │   │   ├── functionNotFoundInModule.pkl
│           │       │   │   ├── functionNotFoundInScope.pkl
│           │       │   │   ├── functionNotFoundMaybeLambda.pkl
│           │       │   │   ├── functionNotFoundMaybeProperty.pkl
│           │       │   │   ├── intrinsifiedTypeAlias1.pkl
│           │       │   │   ├── intrinsifiedTypeAlias2.pkl
│           │       │   │   ├── intrinsifiedTypeAlias3.pkl
│           │       │   │   ├── intrinsifiedTypeAlias4.pkl
│           │       │   │   ├── invalidBytes1.pkl
│           │       │   │   ├── invalidBytes2.pkl
│           │       │   │   ├── invalidBytes3.pkl
│           │       │   │   ├── invalidBytes4.pkl
│           │       │   │   ├── invalidCharacterEscape.pkl
│           │       │   │   ├── invalidClassMethodModifier.pkl
│           │       │   │   ├── invalidClassModifier.pkl
│           │       │   │   ├── invalidClassModifier2.pkl
│           │       │   │   ├── invalidClassPropertyModifier.pkl
│           │       │   │   ├── invalidFileUri1.pkl
│           │       │   │   ├── invalidFileUri2.pkl
│           │       │   │   ├── invalidFileUri3.pkl
│           │       │   │   ├── invalidFileUri4.pkl
│           │       │   │   ├── invalidGlobImport1.pkl
│           │       │   │   ├── invalidGlobImport2.pkl
│           │       │   │   ├── invalidGlobImport3.pkl
│           │       │   │   ├── invalidGlobImport4.pkl
│           │       │   │   ├── invalidGlobImport5.pkl
│           │       │   │   ├── invalidGlobImport6.pkl
│           │       │   │   ├── invalidGlobImport7.pkl
│           │       │   │   ├── invalidGlobImport8.pkl
│           │       │   │   ├── invalidGlobRead1.pkl
│           │       │   │   ├── invalidGlobRead2.pkl
│           │       │   │   ├── invalidGlobRead3.pkl
│           │       │   │   ├── invalidImportBackslashSep.pkl
│           │       │   │   ├── invalidImportUri.pkl
│           │       │   │   ├── invalidMethodModifier.pkl
│           │       │   │   ├── invalidModuleModifier.pkl
│           │       │   │   ├── invalidObjectPropertyModifier.pkl
│           │       │   │   ├── invalidOutput1.pkl
│           │       │   │   ├── invalidOutput2.pkl
│           │       │   │   ├── invalidOutput3.pkl
│           │       │   │   ├── invalidPropertyModifier.pkl
│           │       │   │   ├── invalidTripleDotSyntax1.pkl
│           │       │   │   ├── invalidTripleDotSyntax2.pkl
│           │       │   │   ├── invalidTypeAliasModifier.pkl
│           │       │   │   ├── invalidTypeName1.pkl
│           │       │   │   ├── invalidTypeName2.pkl
│           │       │   │   ├── invalidTypeName3.pkl
│           │       │   │   ├── invalidTypeName4.pkl
│           │       │   │   ├── invalidUnicodeEscape.pkl
│           │       │   │   ├── keywordNotAllowedHere1.pkl
│           │       │   │   ├── keywordNotAllowedHere2.pkl
│           │       │   │   ├── keywordNotAllowedHere3.pkl
│           │       │   │   ├── keywordNotAllowedHere4.pkl
│           │       │   │   ├── letExpressionError1.pkl
│           │       │   │   ├── letExpressionError2.pkl
│           │       │   │   ├── letExpressionErrorTyped.pkl
│           │       │   │   ├── listingTypeCheckError1.pkl
│           │       │   │   ├── listingTypeCheckError2.pkl
│           │       │   │   ├── listingTypeCheckError3.pkl
│           │       │   │   ├── listingTypeCheckError4.pkl
│           │       │   │   ├── listingTypeCheckError5.pkl
│           │       │   │   ├── listingTypeCheckError6.pkl
│           │       │   │   ├── listingTypeCheckError7.pkl
│           │       │   │   ├── listingTypeCheckError8.pkl
│           │       │   │   ├── listingTypeCheckError9.pkl
│           │       │   │   ├── localFixedMember.pkl
│           │       │   │   ├── localFunctionWithTypeParameter.pkl
│           │       │   │   ├── localHiddenMember.pkl
│           │       │   │   ├── mappingTypeCheckError1.pkl
│           │       │   │   ├── mappingTypeCheckError10.pkl
│           │       │   │   ├── mappingTypeCheckError11.pkl
│           │       │   │   ├── mappingTypeCheckError2.pkl
│           │       │   │   ├── mappingTypeCheckError3.pkl
│           │       │   │   ├── mappingTypeCheckError4.pkl
│           │       │   │   ├── mappingTypeCheckError5.pkl
│           │       │   │   ├── mappingTypeCheckError6.pkl
│           │       │   │   ├── mappingTypeCheckError7.pkl
│           │       │   │   ├── mappingTypeCheckError8.pkl
│           │       │   │   ├── mappingTypeCheckError9.pkl
│           │       │   │   ├── missingLocalPropertyValue1.pkl
│           │       │   │   ├── missingLocalPropertyValue2.pkl
│           │       │   │   ├── moduleAmendsSelf.pkl
│           │       │   │   ├── moduleAmendsVersionCheck.pkl
│           │       │   │   ├── moduleAmendsVersionCheck2.pkl
│           │       │   │   ├── moduleExpected.pkl
│           │       │   │   ├── moduleExtendsSelf.pkl
│           │       │   │   ├── moduleExtendsVersionCheck.pkl
│           │       │   │   ├── moduleExtendsVersionCheck2.pkl
│           │       │   │   ├── moduleImportVersionCheck.pkl
│           │       │   │   ├── moduleWithHighMinPklVersion.pkl
│           │       │   │   ├── moduleWithHighMinPklVersionAndParseErrors.pkl
│           │       │   │   ├── multipleDefaults.pkl
│           │       │   │   ├── nested1.pkl
│           │       │   │   ├── noDefault.pkl
│           │       │   │   ├── noDefault2.pkl
│           │       │   │   ├── notAUnionDefault.pkl
│           │       │   │   ├── objectCannotHaveElement.pkl
│           │       │   │   ├── objectCannotHaveElement2.pkl
│           │       │   │   ├── objectCannotHavePredicateMember.pkl
│           │       │   │   ├── outOfRange1.pkl
│           │       │   │   ├── outOfRange2.pkl
│           │       │   │   ├── outOfRange3.pkl
│           │       │   │   ├── parser1.pkl
│           │       │   │   ├── parser10.pkl
│           │       │   │   ├── parser11.pkl
│           │       │   │   ├── parser12.pkl
│           │       │   │   ├── parser14.pkl
│           │       │   │   ├── parser15.pkl
│           │       │   │   ├── parser16.pkl
│           │       │   │   ├── parser17.pkl
│           │       │   │   ├── parser18.pkl
│           │       │   │   ├── parser2.pkl
│           │       │   │   ├── parser3.pkl
│           │       │   │   ├── parser4.pkl
│           │       │   │   ├── parser5.pkl
│           │       │   │   ├── parser6.pkl
│           │       │   │   ├── parser7.pkl
│           │       │   │   ├── parser8.pkl
│           │       │   │   ├── parser9.pkl
│           │       │   │   ├── power/
│           │       │   │   │   ├── typeConstraints1.pkl
│           │       │   │   │   ├── typeConstraints10.pkl
│           │       │   │   │   ├── typeConstraints11.pkl
│           │       │   │   │   ├── typeConstraints12.pkl
│           │       │   │   │   ├── typeConstraints13.pkl
│           │       │   │   │   ├── typeConstraints14.pkl
│           │       │   │   │   ├── typeConstraints15.pkl
│           │       │   │   │   ├── typeConstraints16.pkl
│           │       │   │   │   ├── typeConstraints17.pkl
│           │       │   │   │   ├── typeConstraints2.pkl
│           │       │   │   │   ├── typeConstraints3.pkl
│           │       │   │   │   ├── typeConstraints4.pkl
│           │       │   │   │   ├── typeConstraints5.pkl
│           │       │   │   │   ├── typeConstraints6.pkl
│           │       │   │   │   ├── typeConstraints7.pkl
│           │       │   │   │   ├── typeConstraints8.pkl
│           │       │   │   │   ├── typeConstraints9.pkl
│           │       │   │   │   └── typeConstraints9a.pkl
│           │       │   │   ├── propertyNotFound1.pkl
│           │       │   │   ├── propertyNotFound2.pkl
│           │       │   │   ├── refusingToLoadModule.pkl
│           │       │   │   ├── shebang.pkl
│           │       │   │   ├── singleBacktick.pkl
│           │       │   │   ├── spreadSyntaxCannotHaveElement.pkl
│           │       │   │   ├── spreadSyntaxCannotHaveEntry.pkl
│           │       │   │   ├── spreadSyntaxCannotHaveProperty.pkl
│           │       │   │   ├── spreadSyntaxCannotIterateOverTyped.pkl
│           │       │   │   ├── spreadSyntaxCannotSpreadListIntoMapping.pkl
│           │       │   │   ├── spreadSyntaxDuplicateEntry1.pkl
│           │       │   │   ├── spreadSyntaxDuplicateEntry2.pkl
│           │       │   │   ├── spreadSyntaxDuplicateProperty1.pkl
│           │       │   │   ├── spreadSyntaxDuplicateProperty2.pkl
│           │       │   │   ├── spreadSyntaxNullValue.pkl
│           │       │   │   ├── spreadSyntaxUnknownTypedProperty.pkl
│           │       │   │   ├── stackTraceWithQuotedMemberName.pkl
│           │       │   │   ├── supercalls.pkl
│           │       │   │   ├── typeMismatchHelper.pkl
│           │       │   │   ├── typeMismatchWithSameQualifiedClassName.pkl
│           │       │   │   ├── typeMismatchWithSameQualifiedModuleName.pkl
│           │       │   │   ├── undefinedOp1.pkl
│           │       │   │   ├── undefinedOp2.pkl
│           │       │   │   ├── undefinedOp3.pkl
│           │       │   │   ├── undefinedProperty1.pkl
│           │       │   │   ├── undefinedProperty2.pkl
│           │       │   │   ├── undefinedProperty3.pkl
│           │       │   │   ├── undefinedProperty4.pkl
│           │       │   │   ├── undefinedProperty5.pkl
│           │       │   │   ├── undefinedProperty6.pkl
│           │       │   │   ├── undefinedProperty7.pkl
│           │       │   │   ├── undefinedProperty8.pkl
│           │       │   │   ├── underscore.pkl
│           │       │   │   ├── underscoreLambda.pkl
│           │       │   │   ├── underscoreLet.pkl
│           │       │   │   ├── unterminatedUnicodeEscape.pkl
│           │       │   │   ├── userDefinedTypeParameter1.pkl
│           │       │   │   ├── userDefinedTypeParameter2.pkl
│           │       │   │   ├── wrongForGeneratorType1.pkl
│           │       │   │   ├── wrongForGeneratorType2.pkl
│           │       │   │   └── wrongNumberOfMapArguments.pkl
│           │       │   ├── generators/
│           │       │   │   ├── duplicateDefinition1.pkl
│           │       │   │   ├── duplicateDefinition2.pkl
│           │       │   │   ├── duplicateDefinition3.pkl
│           │       │   │   ├── elementGenerators.pkl
│           │       │   │   ├── elementGeneratorsTyped.pkl
│           │       │   │   ├── entryGenerators.pkl
│           │       │   │   ├── entryGeneratorsTyped.pkl
│           │       │   │   ├── forGeneratorInFunctionBody.pkl
│           │       │   │   ├── forGeneratorInMixins.pkl
│           │       │   │   ├── forGeneratorLexicalScope.pkl
│           │       │   │   ├── forGeneratorNestedReference.pkl
│           │       │   │   ├── forGeneratorNestedReference2.pkl
│           │       │   │   ├── forGeneratorVariableShadowing.pkl
│           │       │   │   ├── generatorNoMembers.pkl
│           │       │   │   ├── predicateMembersDynamicListing.pkl
│           │       │   │   ├── predicateMembersDynamicMapping.pkl
│           │       │   │   ├── predicateMembersListing.pkl
│           │       │   │   ├── predicateMembersMapping.pkl
│           │       │   │   ├── predicateMembersThis.pkl
│           │       │   │   ├── propertyGenerators.pkl
│           │       │   │   ├── spreadSyntaxDynamic.pkl
│           │       │   │   ├── spreadSyntaxListing.pkl
│           │       │   │   ├── spreadSyntaxMapping.pkl
│           │       │   │   ├── spreadSyntaxNoSpace.pkl
│           │       │   │   ├── spreadSyntaxNullable.pkl
│           │       │   │   └── spreadSyntaxTyped.pkl
│           │       │   ├── implementation/
│           │       │   │   ├── equality.pkl
│           │       │   │   └── inequality.pkl
│           │       │   ├── internal/
│           │       │   │   └── polymorphicCallSite.pkl
│           │       │   ├── lambdas/
│           │       │   │   ├── amendLambdaDef.pkl
│           │       │   │   ├── amendLambdaExpr.pkl
│           │       │   │   ├── amendLambdaExternalClassError.pkl
│           │       │   │   ├── amendLambdaParameters.pkl
│           │       │   │   ├── amendLambdaParametersTyped.pkl
│           │       │   │   ├── amendLambdaThatReturnsAnotherLambda.pkl
│           │       │   │   ├── amendLambdaTooFewArgsError.pkl
│           │       │   │   ├── amendLambdaTooManyArgsError.pkl
│           │       │   │   ├── equality.pkl
│           │       │   │   ├── inequality.pkl
│           │       │   │   ├── lambda1.pkl
│           │       │   │   ├── lambda2.pkl
│           │       │   │   ├── lambda3.pkl
│           │       │   │   ├── lambda4.pkl
│           │       │   │   ├── lambda5.pkl
│           │       │   │   ├── lambdaStackTrace1.pkl
│           │       │   │   ├── lambdaStackTrace2.pkl
│           │       │   │   ├── lambdaStackTrace3.pkl
│           │       │   │   ├── pipeOperator.pkl
│           │       │   │   ├── tooManyLambdaParams.pkl
│           │       │   │   ├── typedLambdas.pkl
│           │       │   │   └── wrongArgumentListLength.pkl
│           │       │   ├── listings/
│           │       │   │   ├── cacheStealing.pkl
│           │       │   │   ├── cacheStealingTypeCheck.pkl
│           │       │   │   ├── default.pkl
│           │       │   │   ├── equality.pkl
│           │       │   │   ├── hashCode.pkl
│           │       │   │   ├── inequality.pkl
│           │       │   │   ├── listing1.pkl
│           │       │   │   ├── listing2.pkl
│           │       │   │   ├── listing3.pkl
│           │       │   │   ├── listing4.pkl
│           │       │   │   ├── listing5.pkl
│           │       │   │   ├── listing6.pkl
│           │       │   │   ├── listing7.pkl
│           │       │   │   ├── numberLiterals.pkl
│           │       │   │   ├── typeCheck.pkl
│           │       │   │   ├── wrongIndex.pkl
│           │       │   │   └── wrongParent.pkl
│           │       │   ├── listings2/
│           │       │   │   ├── default.pkl
│           │       │   │   ├── equality.pkl
│           │       │   │   ├── inequality.pkl
│           │       │   │   ├── listing1.pkl
│           │       │   │   ├── listing2.pkl
│           │       │   │   ├── listing3.pkl
│           │       │   │   ├── numberLiterals.pkl
│           │       │   │   ├── typeCheck.pkl
│           │       │   │   ├── wrongIndex.pkl
│           │       │   │   └── wrongParent.pkl
│           │       │   ├── mappings/
│           │       │   │   ├── default.pkl
│           │       │   │   ├── duplicateComputedKey.pkl
│           │       │   │   ├── duplicateConstantKey.pkl
│           │       │   │   ├── equality.pkl
│           │       │   │   ├── hashCode.pkl
│           │       │   │   ├── inequality.pkl
│           │       │   │   ├── mapping1.pkl
│           │       │   │   ├── mapping2.pkl
│           │       │   │   ├── stringKeyNotFound.pkl
│           │       │   │   ├── typeCheck.pkl
│           │       │   │   └── wrongParent.pkl
│           │       │   ├── mappings2/
│           │       │   │   ├── default.pkl
│           │       │   │   ├── duplicateComputedKey.pkl
│           │       │   │   ├── duplicateConstantKey.pkl
│           │       │   │   ├── equality.pkl
│           │       │   │   ├── inequality.pkl
│           │       │   │   ├── mapping1.pkl
│           │       │   │   ├── mapping2.pkl
│           │       │   │   ├── stringKeyNotFound.pkl
│           │       │   │   ├── typeCheck.pkl
│           │       │   │   └── wrongParent.pkl
│           │       │   ├── methods/
│           │       │   │   ├── methodParameterConstraints1.pkl
│           │       │   │   ├── methodParameterConstraints2.pkl
│           │       │   │   ├── methodParameterTypes1.pkl
│           │       │   │   ├── methodParameterTypes2.pkl
│           │       │   │   └── methodParameterTypes3.pkl
│           │       │   ├── modules/
│           │       │   │   ├── amendModule1.pkl
│           │       │   │   ├── amendModule2.pkl
│           │       │   │   ├── amendModule3.pkl
│           │       │   │   ├── amendModule4.pkl
│           │       │   │   ├── amendModule5.pkl
│           │       │   │   ├── amendModule6.pkl
│           │       │   │   ├── duplicateFunction.pkl
│           │       │   │   ├── duplicateProperty1.pkl
│           │       │   │   ├── duplicateProperty2.pkl
│           │       │   │   ├── duplicateProperty3.pkl
│           │       │   │   ├── equality.pkl
│           │       │   │   ├── extendModule1.pkl
│           │       │   │   ├── externalFunction.pkl
│           │       │   │   ├── externalProperty.pkl
│           │       │   │   ├── filename with spaces 2.pkl
│           │       │   │   ├── filename with spaces.pkl
│           │       │   │   ├── functions.pkl
│           │       │   │   ├── invalidAmend1.pkl
│           │       │   │   ├── invalidAmend2.pkl
│           │       │   │   ├── invalidAmend3.pkl
│           │       │   │   ├── invalidAmend4.pkl
│           │       │   │   ├── invalidAmend5.pkl
│           │       │   │   ├── invalidAmend6.pkl
│           │       │   │   ├── invalidExtend1.pkl
│           │       │   │   ├── invalidExtend2.pkl
│           │       │   │   ├── invalidExtend3.pkl
│           │       │   │   ├── invalidModule1.pkl
│           │       │   │   ├── library.pkl
│           │       │   │   ├── lists.pkl
│           │       │   │   ├── objects.pkl
│           │       │   │   ├── recursiveModule1.pkl
│           │       │   │   ├── recursiveModule2.pkl
│           │       │   │   ├── supercalls1.pkl
│           │       │   │   ├── supercalls2.pkl
│           │       │   │   ├── supercalls3.pkl
│           │       │   │   ├── typedModuleMethods1.pkl
│           │       │   │   ├── typedModuleProperties1.pkl
│           │       │   │   ├── typedModuleProperties2.pkl
│           │       │   │   ├── typedModuleProperties3.pkl
│           │       │   │   ├── 日本語.pkl
│           │       │   │   └── 日本語_error.pkl
│           │       │   ├── objects/
│           │       │   │   ├── closure.pkl
│           │       │   │   ├── configureObjectAssign.pkl
│           │       │   │   ├── duplicateProperty.pkl
│           │       │   │   ├── equality.pkl
│           │       │   │   ├── hashCode.pkl
│           │       │   │   ├── implicitReceiver1.pkl
│           │       │   │   ├── implicitReceiver2.pkl
│           │       │   │   ├── implicitReceiver3.pkl
│           │       │   │   ├── implicitReceiver4.pkl
│           │       │   │   ├── inequality.pkl
│           │       │   │   ├── lateBinding1.pkl
│           │       │   │   ├── lateBinding2.pkl
│           │       │   │   ├── lateBinding3.pkl
│           │       │   │   ├── lateBinding4.pkl
│           │       │   │   ├── outer.pkl
│           │       │   │   ├── outer2.pkl
│           │       │   │   ├── super1.pkl
│           │       │   │   ├── super2.pkl
│           │       │   │   ├── super3.pkl
│           │       │   │   ├── super4.pkl
│           │       │   │   ├── super5.pkl
│           │       │   │   ├── this1.pkl
│           │       │   │   └── this2.pkl
│           │       │   ├── packages/
│           │       │   │   ├── badImport1.error.pkl
│           │       │   │   ├── badImport10.error.pkl
│           │       │   │   ├── badImport11.error.pkl
│           │       │   │   ├── badImport2.error.pkl
│           │       │   │   ├── badImport3.error.pkl
│           │       │   │   ├── badImport4.error.pkl
│           │       │   │   ├── badImport6.error.pkl
│           │       │   │   ├── badImport7.error.pkl
│           │       │   │   ├── badImport8.error.pkl
│           │       │   │   ├── badImport9.error.pkl
│           │       │   │   ├── badRead1.error.pkl
│           │       │   │   ├── badRead2.error.pkl
│           │       │   │   ├── badRead3.error.pkl
│           │       │   │   ├── badRead4.error.pkl
│           │       │   │   ├── badRead8.error.pkl
│           │       │   │   ├── badRead9.error.pkl
│           │       │   │   ├── packages1.pkl
│           │       │   │   ├── packages2.pkl
│           │       │   │   └── redirects.pkl
│           │       │   ├── parser/
│           │       │   │   ├── amendsRequiresParens.pkl
│           │       │   │   ├── constantStringInterpolation.pkl
│           │       │   │   ├── constraintsTrailingComma.pkl
│           │       │   │   ├── invalidCharacter.pkl
│           │       │   │   ├── lambdaTrailingCommas.pkl
│           │       │   │   ├── lineCommentBetween.pkl
│           │       │   │   ├── methodTrailingCommas.pkl
│           │       │   │   ├── newline.pkl
│           │       │   │   ├── spacesBetweenDocComments.pkl
│           │       │   │   ├── spread.pkl
│           │       │   │   ├── trailingCommas.pkl
│           │       │   │   ├── typeAnnotationInAmends.pkl
│           │       │   │   └── wrongDocComment.pkl
│           │       │   ├── pklbinary/
│           │       │   │   ├── basic.msgpack.yaml.pkl
│           │       │   │   ├── classes.msgpack.yaml.pkl
│           │       │   │   ├── datasize.msgpack.yaml.pkl
│           │       │   │   ├── duration.msgpack.yaml.pkl
│           │       │   │   ├── intseq.msgpack.yaml.pkl
│           │       │   │   ├── list.msgpack.yaml.pkl
│           │       │   │   ├── map.msgpack.yaml.pkl
│           │       │   │   ├── pair.msgpack.yaml.pkl
│           │       │   │   ├── regex.msgpack.yaml.pkl
│           │       │   │   └── set.msgpack.yaml.pkl
│           │       │   ├── pklbinaryTest.pkl
│           │       │   ├── projects/
│           │       │   │   ├── badLocalProject/
│           │       │   │   │   ├── PklProject
│           │       │   │   │   └── dog.pkl
│           │       │   │   ├── badPklProject1/
│           │       │   │   │   ├── PklProject
│           │       │   │   │   └── bug.pkl
│           │       │   │   ├── badPklProject2/
│           │       │   │   │   ├── PklProject
│           │       │   │   │   └── bug.pkl
│           │       │   │   ├── badPklProject3/
│           │       │   │   │   ├── PklProject
│           │       │   │   │   └── bug.pkl
│           │       │   │   ├── badProjectDeps1/
│           │       │   │   │   ├── PklProject
│           │       │   │   │   ├── PklProject.deps.json
│           │       │   │   │   └── bug.pkl
│           │       │   │   ├── badProjectDeps2/
│           │       │   │   │   ├── PklProject
│           │       │   │   │   ├── PklProject.deps.json
│           │       │   │   │   └── bug.pkl
│           │       │   │   ├── badProjectDeps3/
│           │       │   │   │   ├── PklProject
│           │       │   │   │   ├── PklProject.deps.json
│           │       │   │   │   └── bug.pkl
│           │       │   │   ├── badProjectDeps4/
│           │       │   │   │   ├── PklProject
│           │       │   │   │   ├── PklProject.deps.json
│           │       │   │   │   └── bug.pkl
│           │       │   │   ├── badProjectDeps5/
│           │       │   │   │   ├── PklProject
│           │       │   │   │   ├── PklProject.deps.json
│           │       │   │   │   └── bug.pkl
│           │       │   │   ├── badProjectDeps6/
│           │       │   │   │   ├── PklProject
│           │       │   │   │   ├── PklProject.deps.json
│           │       │   │   │   └── bug.pkl
│           │       │   │   ├── compactTraceMode/
│           │       │   │   │   ├── PklProject
│           │       │   │   │   └── compactTraceMode.pkl
│           │       │   │   ├── evaluatorSettings/
│           │       │   │   │   ├── PklProject
│           │       │   │   │   ├── basic.pkl
│           │       │   │   │   └── nullTraceMode.pkl
│           │       │   │   ├── missingProjectDeps/
│           │       │   │   │   ├── PklProject
│           │       │   │   │   └── bug.pkl
│           │       │   │   ├── notAProject/
│           │       │   │   │   ├── @child/
│           │       │   │   │   │   └── theChild.pkl
│           │       │   │   │   ├── badImport.error.pkl
│           │       │   │   │   └── goodImport.pkl
│           │       │   │   ├── prettyTraceMode/
│           │       │   │   │   ├── PklProject
│           │       │   │   │   └── prettyTraceMode.pkl
│           │       │   │   ├── project1/
│           │       │   │   │   ├── PklProject
│           │       │   │   │   ├── PklProject.deps.json
│           │       │   │   │   ├── badImport1.error.pkl
│           │       │   │   │   ├── badImport2.error.pkl
│           │       │   │   │   ├── badImport3.error.pkl
│           │       │   │   │   ├── badRead1.error.pkl
│           │       │   │   │   ├── basic.pkl
│           │       │   │   │   ├── directPackageImport.error.pkl
│           │       │   │   │   ├── globbing.pkl
│           │       │   │   │   ├── localProject.pkl
│           │       │   │   │   └── localProjectRead.pkl
│           │       │   │   ├── project2/
│           │       │   │   │   ├── PklProject
│           │       │   │   │   ├── PklProject.deps.json
│           │       │   │   │   └── penguin.pkl
│           │       │   │   ├── project3/
│           │       │   │   │   ├── PklProject
│           │       │   │   │   ├── PklProject.deps.json
│           │       │   │   │   └── basic.pkl
│           │       │   │   ├── project4/
│           │       │   │   │   ├── PklProject
│           │       │   │   │   ├── PklProject.deps.json
│           │       │   │   │   └── main.pkl
│           │       │   │   ├── project5/
│           │       │   │   │   ├── PklProject
│           │       │   │   │   ├── PklProject.deps.json
│           │       │   │   │   └── main.pkl
│           │       │   │   └── project6/
│           │       │   │       ├── PklProject
│           │       │   │       ├── PklProject.deps.json
│           │       │   │       ├── children/
│           │       │   │       │   ├── a.pkl
│           │       │   │       │   ├── b.pkl
│           │       │   │       │   └── c.pkl
│           │       │   │       └── children.pkl
│           │       │   ├── snippetTest.pkl
│           │       │   ├── syntax/
│           │       │   │   └── shebang.pkl
│           │       │   └── types/
│           │       │       ├── ThisInTypeConstraint.pkl
│           │       │       ├── currentModuleType1.pkl
│           │       │       ├── currentModuleType2.pkl
│           │       │       ├── currentModuleType3.pkl
│           │       │       ├── cyclicTypeAlias1.pkl
│           │       │       ├── cyclicTypeAlias2.pkl
│           │       │       ├── helpers/
│           │       │       │   ├── originalTypealias.pkl
│           │       │       │   └── someModule.pkl
│           │       │       ├── modifiersForTypes.pkl
│           │       │       ├── moduleType.pkl
│           │       │       ├── moduleType2.pkl
│           │       │       ├── moduleType3.pkl
│           │       │       ├── moduleType4.pkl
│           │       │       ├── moduleType5.pkl
│           │       │       ├── nothingType.pkl
│           │       │       ├── nothingWithUnions.pkl
│           │       │       ├── typeAlias1.pkl
│           │       │       ├── typeAlias2.pkl
│           │       │       ├── typeAliasConstraint1.pkl
│           │       │       ├── typeAliasConstraint2.pkl
│           │       │       ├── typeAliasContext.pkl
│           │       │       └── typeAliasUnion.pkl
│           │       ├── input-helper/
│           │       │   ├── analyze/
│           │       │   │   ├── a.pkl
│           │       │   │   ├── b.pkl
│           │       │   │   ├── cannotFindModule.pkl
│           │       │   │   ├── cyclicalA.pkl
│           │       │   │   ├── cyclicalB.pkl
│           │       │   │   ├── globImport.pkl
│           │       │   │   └── invalidGlob.pkl
│           │       │   ├── api/
│           │       │   │   ├── annotationConverter.pkl
│           │       │   │   ├── benchmark/
│           │       │   │   │   └── moduleToBenchmark.pkl
│           │       │   │   └── reflect/
│           │       │   │       ├── BaseModule.pkl
│           │       │   │       ├── ExtendingModule.pkl
│           │       │   │       ├── amendingModule.pkl
│           │       │   │       └── testHelpers.pkl
│           │       │   ├── basic/
│           │       │   │   └── read/
│           │       │   │       ├── child/
│           │       │   │       │   ├── module2.pkl
│           │       │   │       │   └── resource.txt
│           │       │   │       ├── module1.pkl
│           │       │   │       └── resource.txt
│           │       │   ├── classes/
│           │       │   │   ├── MyClass.pkl
│           │       │   │   └── myClass1.pkl
│           │       │   ├── globtest/
│           │       │   │   ├── child/
│           │       │   │   │   └── moduleC.pkl
│           │       │   │   ├── module with [weird] ~!characters.pkl
│           │       │   │   ├── moduleA.pkl
│           │       │   │   └── moduleB.pkl
│           │       │   ├── listings/
│           │       │   │   └── cacheStealingTypeCheck.pkl
│           │       │   ├── modules/
│           │       │   │   ├── Birds.pkl
│           │       │   │   └── Birds2.pkl
│           │       │   └── types/
│           │       │       └── typeAliasConstraint2.pkl
│           │       └── output/
│           │           ├── annotation/
│           │           │   ├── annotation1.pcf
│           │           │   ├── annotation2.err
│           │           │   ├── annotation3.err
│           │           │   ├── annotation4.err
│           │           │   ├── annotation5.err
│           │           │   ├── annotation6.err
│           │           │   ├── annotationIsNotExpression.err
│           │           │   ├── annotationIsNotExpression2.err
│           │           │   ├── deprecated1.err
│           │           │   ├── deprecated2.err
│           │           │   ├── deprecated3.err
│           │           │   ├── deprecatedNoRepeatedWarnings.err
│           │           │   ├── deprecatedWithMessage1.err
│           │           │   ├── deprecatedWithMessage2.err
│           │           │   ├── deprecatedWithMessage3.err
│           │           │   └── deprecationSuperMethod.err
│           │           ├── api/
│           │           │   ├── Resource.pcf
│           │           │   ├── analyze1.pcf
│           │           │   ├── annotationConverters.pcf
│           │           │   ├── any.pcf
│           │           │   ├── anyConverter.pcf
│           │           │   ├── baseModule.pcf
│           │           │   ├── benchmarkModule.pcf
│           │           │   ├── bytes.pcf
│           │           │   ├── dataSize.pcf
│           │           │   ├── dir1/
│           │           │   │   └── dir2/
│           │           │   │       └── relativePathTo.pcf
│           │           │   ├── duration.pcf
│           │           │   ├── dynamic.pcf
│           │           │   ├── float.pcf
│           │           │   ├── int.pcf
│           │           │   ├── intseq.pcf
│           │           │   ├── jsonParser1.pcf
│           │           │   ├── jsonParser2.pcf
│           │           │   ├── jsonParser3.pcf
│           │           │   ├── jsonParser4.pcf
│           │           │   ├── jsonParser5.pcf
│           │           │   ├── jsonRenderer1.json
│           │           │   ├── jsonRenderer2.json
│           │           │   ├── jsonRenderer2b.pcf
│           │           │   ├── jsonRenderer3.json
│           │           │   ├── jsonRenderer4.pcf
│           │           │   ├── jsonRenderer5.pcf
│           │           │   ├── jsonRenderer6.json
│           │           │   ├── jsonRenderer7.pcf
│           │           │   ├── jsonRenderer8.err
│           │           │   ├── jsonRenderer9.json5
│           │           │   ├── jsonRendererEmptyComposites.pcf
│           │           │   ├── jsonnetRenderer1.jsonnet
│           │           │   ├── jsonnetRenderer2.jsonnet
│           │           │   ├── jsonnetRenderer3.jsonnet
│           │           │   ├── jsonnetRenderer4.pcf
│           │           │   ├── jsonnetRenderer5.pcf
│           │           │   ├── jsonnetRenderer6.jsonnet
│           │           │   ├── jsonnetRenderer7.err
│           │           │   ├── jsonnetRenderer8.jsonnet
│           │           │   ├── list.pcf
│           │           │   ├── listNullable.pcf
│           │           │   ├── listing.pcf
│           │           │   ├── map.pcf
│           │           │   ├── mapping.pcf
│           │           │   ├── mathModule.pcf
│           │           │   ├── module.pcf
│           │           │   ├── moduleOutput.pcf
│           │           │   ├── moduleOutput2.pcf
│           │           │   ├── pListRenderer1.plist
│           │           │   ├── pListRenderer2.plist
│           │           │   ├── pListRenderer3.plist
│           │           │   ├── pListRenderer4.pcf
│           │           │   ├── pListRenderer5.pcf
│           │           │   ├── pListRenderer6.plist
│           │           │   ├── pListRenderer7.err
│           │           │   ├── pListRenderer8.plist
│           │           │   ├── pair.pcf
│           │           │   ├── pcfRenderer1.pcf
│           │           │   ├── pcfRenderer2.pcf
│           │           │   ├── pcfRenderer2b.pcf
│           │           │   ├── pcfRenderer3.pcf
│           │           │   ├── pcfRenderer4.pcf
│           │           │   ├── pcfRenderer5.pcf
│           │           │   ├── pcfRenderer6.pcf
│           │           │   ├── pcfRenderer7.pcf
│           │           │   ├── pcfRenderer8.err
│           │           │   ├── pcfRenderer9.pcf
│           │           │   ├── pklbinary1.msgpack.yaml
│           │           │   ├── platformModule.pcf
│           │           │   ├── plistRenderer2b.pcf
│           │           │   ├── propertiesRenderer1.properties
│           │           │   ├── propertiesRenderer10.err
│           │           │   ├── propertiesRenderer11.err
│           │           │   ├── propertiesRenderer12.properties
│           │           │   ├── propertiesRenderer2.properties
│           │           │   ├── propertiesRenderer2b.pcf
│           │           │   ├── propertiesRenderer3.properties
│           │           │   ├── propertiesRenderer4.pcf
│           │           │   ├── propertiesRenderer5.pcf
│           │           │   ├── propertiesRenderer6.properties
│           │           │   ├── propertiesRenderer7.properties
│           │           │   ├── propertiesRenderer8.properties
│           │           │   ├── propertiesRenderer9.properties
│           │           │   ├── propertiesRendererBug66849708.properties
│           │           │   ├── protobuf.pcf
│           │           │   ├── protobuf2.pcf
│           │           │   ├── protobuf3.txtpb
│           │           │   ├── reflect1.pcf
│           │           │   ├── reflect2.pcf
│           │           │   ├── reflect3.pcf
│           │           │   ├── reflect4.pcf
│           │           │   ├── reflectedDeclaration.pcf
│           │           │   ├── regex.pcf
│           │           │   ├── releaseModule.pcf
│           │           │   ├── renderDirective.pcf
│           │           │   ├── renderDirective2.pcf
│           │           │   ├── semverModule.pcf
│           │           │   ├── set.pcf
│           │           │   ├── setNullable.pcf
│           │           │   ├── shellModule.pcf
│           │           │   ├── string.pcf
│           │           │   ├── stringUnicode.pcf
│           │           │   ├── typeAliases.pcf
│           │           │   ├── typeConverters.pcf
│           │           │   ├── typed.pcf
│           │           │   ├── xmlRenderer1.xml
│           │           │   ├── xmlRenderer2.xml
│           │           │   ├── xmlRenderer2b.pcf
│           │           │   ├── xmlRenderer3.xml
│           │           │   ├── xmlRenderer4.pcf
│           │           │   ├── xmlRenderer5.pcf
│           │           │   ├── xmlRenderer6.xml
│           │           │   ├── xmlRenderer8.err
│           │           │   ├── xmlRenderer9.xml
│           │           │   ├── xmlRendererCData.xml
│           │           │   ├── xmlRendererElement.xml
│           │           │   ├── xmlRendererHtml.xml
│           │           │   ├── xmlRendererInline.xml
│           │           │   ├── xmlRendererInline2.xml
│           │           │   ├── xmlRendererInline3.xml
│           │           │   ├── xmlRendererValidation10.pcf
│           │           │   ├── xmlRendererValidation11.pcf
│           │           │   ├── yamlParser1Compat.pcf
│           │           │   ├── yamlParser1Yaml11.pcf
│           │           │   ├── yamlParser1Yaml12.pcf
│           │           │   ├── yamlParser2.pcf
│           │           │   ├── yamlParser3.pcf
│           │           │   ├── yamlParser4.pcf
│           │           │   ├── yamlParser5.pcf
│           │           │   ├── yamlParser6.pcf
│           │           │   ├── yamlRenderer1.yml
│           │           │   ├── yamlRenderer10.yml
│           │           │   ├── yamlRenderer2.yml
│           │           │   ├── yamlRenderer2b.pcf
│           │           │   ├── yamlRenderer3.yml
│           │           │   ├── yamlRenderer4.pcf
│           │           │   ├── yamlRenderer5.pcf
│           │           │   ├── yamlRenderer6.yml
│           │           │   ├── yamlRenderer7.err
│           │           │   ├── yamlRenderer8.yml
│           │           │   ├── yamlRenderer9.yml
│           │           │   ├── yamlRendererBug66849708.yml
│           │           │   ├── yamlRendererEmpty.yml
│           │           │   ├── yamlRendererIndentationWidth2.yml
│           │           │   ├── yamlRendererIndentationWidth4.yml
│           │           │   ├── yamlRendererIndentationWidth5.yml
│           │           │   ├── yamlRendererKeys.yml
│           │           │   ├── yamlRendererStream1.pcf
│           │           │   ├── yamlRendererStream2.pcf
│           │           │   ├── yamlRendererStrings.yml
│           │           │   ├── yamlRendererStringsCompat.pcf
│           │           │   ├── yamlRendererStringsYaml11.pcf
│           │           │   └── yamlRendererStringsYaml12.pcf
│           │           ├── basic/
│           │           │   ├── amendsChains.pcf
│           │           │   ├── as.pcf
│           │           │   ├── as2.pcf
│           │           │   ├── as3.pcf
│           │           │   ├── baseModule.pcf
│           │           │   ├── boolean.pcf
│           │           │   ├── bytes.pcf
│           │           │   ├── comments.pcf
│           │           │   ├── constModifier.pcf
│           │           │   ├── constModifier2.pcf
│           │           │   ├── constModifier3.pcf
│           │           │   ├── constModifier4.pcf
│           │           │   ├── constModifier5.err
│           │           │   ├── dataSize.pcf
│           │           │   ├── duration.pcf
│           │           │   ├── exceptions.err
│           │           │   ├── fixedProperty1.pcf
│           │           │   ├── fixedProperty2.pcf
│           │           │   ├── fixedProperty3.pcf
│           │           │   ├── fixedProperty4.err
│           │           │   ├── fixedProperty5.err
│           │           │   ├── fixedProperty6.err
│           │           │   ├── float.pcf
│           │           │   ├── identifier.pcf
│           │           │   ├── if.pcf
│           │           │   ├── import1.pcf
│           │           │   ├── import1b.pcf
│           │           │   ├── import2.pcf
│           │           │   ├── import3.pcf
│           │           │   ├── importGlob.pcf
│           │           │   ├── imported.pcf
│           │           │   ├── indexExpressions.pcf
│           │           │   ├── int.pcf
│           │           │   ├── intseq.pcf
│           │           │   ├── is.pcf
│           │           │   ├── is2.pcf
│           │           │   ├── let.pcf
│           │           │   ├── letTyped.pcf
│           │           │   ├── list.pcf
│           │           │   ├── localMethodDynamicBinding.pcf
│           │           │   ├── localMethodInAmendingModule.pcf
│           │           │   ├── localMethodOverride1.pcf
│           │           │   ├── localMethodOverride2.pcf
│           │           │   ├── localMethodTyped.pcf
│           │           │   ├── localMethodTyped2.pcf
│           │           │   ├── localMethodTyped3.pcf
│           │           │   ├── localMethodTyped4.pcf
│           │           │   ├── localMethodTyped5.pcf
│           │           │   ├── localMethodTyped6.pcf
│           │           │   ├── localMethodUntyped.pcf
│           │           │   ├── localModuleMemberOverride1.pcf
│           │           │   ├── localModuleMemberOverride2.pcf
│           │           │   ├── localProperty1.pcf
│           │           │   ├── localProperty2.pcf
│           │           │   ├── localPropertyAmendInAmendingModule.err
│           │           │   ├── localPropertyInAmendingModule.pcf
│           │           │   ├── localPropertyOverride1.pcf
│           │           │   ├── localPropertyOverride2.pcf
│           │           │   ├── localPropertyOverride3.pcf
│           │           │   ├── localTypedClassMember.pcf
│           │           │   ├── localTypedModuleMember.pcf
│           │           │   ├── localTypedObjectMember.pcf
│           │           │   ├── map.pcf
│           │           │   ├── minPklVersion.pcf
│           │           │   ├── moduleRef1.pcf
│           │           │   ├── moduleRef2.pcf
│           │           │   ├── moduleRef3.pcf
│           │           │   ├── moduleRefLibrary.pcf
│           │           │   ├── new.pcf
│           │           │   ├── newInAmendingModuleMethod.pcf
│           │           │   ├── newInsideIf.pcf
│           │           │   ├── newInsideLet.pcf
│           │           │   ├── newType.pcf
│           │           │   ├── nonNull.pcf
│           │           │   ├── nullable.pcf
│           │           │   ├── objectMember.pcf
│           │           │   ├── objectMemberInvalid.err
│           │           │   ├── objectMemberInvalid2.err
│           │           │   ├── objectMemberInvalid3.err
│           │           │   ├── parens.pcf
│           │           │   ├── propertyDefaults.pcf
│           │           │   ├── rawString.pcf
│           │           │   ├── read.pcf
│           │           │   ├── readGlob.pcf
│           │           │   ├── semicolon.pcf
│           │           │   ├── set.pcf
│           │           │   ├── string.pcf
│           │           │   ├── stringError1.err
│           │           │   ├── stringMultiline.pcf
│           │           │   ├── stringUnicode.pcf
│           │           │   ├── trace.err
│           │           │   ├── typeResolution1.pcf
│           │           │   ├── typeResolution2.pcf
│           │           │   ├── typeResolution3.pcf
│           │           │   ├── typeResolution4.pcf
│           │           │   └── underscore.pcf
│           │           ├── classes/
│           │           │   ├── class1.pcf
│           │           │   ├── class2.pcf
│           │           │   ├── class2a.pcf
│           │           │   ├── class3.err
│           │           │   ├── class4.pcf
│           │           │   ├── constraints1.pcf
│           │           │   ├── constraints10.pcf
│           │           │   ├── constraints11.pcf
│           │           │   ├── constraints12.pcf
│           │           │   ├── constraints13.pcf
│           │           │   ├── constraints14.pcf
│           │           │   ├── constraints2.pcf
│           │           │   ├── constraints3.pcf
│           │           │   ├── constraints4.pcf
│           │           │   ├── constraints5.err
│           │           │   ├── constraints6.pcf
│           │           │   ├── constraints7.pcf
│           │           │   ├── constraints8.pcf
│           │           │   ├── constraints9.pcf
│           │           │   ├── constraintsLambdaThis.pcf
│           │           │   ├── duplicateFunction.err
│           │           │   ├── duplicateProperty.err
│           │           │   ├── equality.pcf
│           │           │   ├── externalClass.err
│           │           │   ├── externalFunction.err
│           │           │   ├── externalProperty.err
│           │           │   ├── functions1.pcf
│           │           │   ├── functions2.pcf
│           │           │   ├── functions3.pcf
│           │           │   ├── functions4.pcf
│           │           │   ├── inheritance1.pcf
│           │           │   ├── inheritance2.pcf
│           │           │   ├── inheritanceError1.err
│           │           │   ├── invalidInstantiation1.err
│           │           │   ├── invalidInstantiation2.err
│           │           │   ├── lambdaConstraints1.pcf
│           │           │   ├── listConstraints1.pcf
│           │           │   ├── mapConstraints1.pcf
│           │           │   ├── nullableTypes.pcf
│           │           │   ├── setConstraints1.pcf
│           │           │   ├── supercalls.pcf
│           │           │   ├── supercallsInLet.pcf
│           │           │   ├── unionTypes.pcf
│           │           │   ├── unionTypesErrorAlias.err
│           │           │   ├── unionTypesErrorDifferent1.err
│           │           │   ├── unionTypesErrorDifferent2.err
│           │           │   ├── unionTypesErrorMultipleAliases.err
│           │           │   ├── unionTypesErrorNested.err
│           │           │   ├── unionTypesErrorSimple.err
│           │           │   ├── unionTypesErrorString1.err
│           │           │   ├── unionTypesErrorString2.err
│           │           │   ├── wrongType1.err
│           │           │   ├── wrongType2.err
│           │           │   ├── wrongType3.err
│           │           │   ├── wrongType4.err
│           │           │   ├── wrongType5.pcf
│           │           │   └── wrongType6.err
│           │           ├── errors/
│           │           │   ├── abstractOpenMember.err
│           │           │   ├── analyzeImportsCannotFindModule.err
│           │           │   ├── analyzeImportsInvalidGlob.err
│           │           │   ├── analyzeInvalidModuleUri.err
│           │           │   ├── analyzeRelativeModuleUri.err
│           │           │   ├── anyConverterError.err
│           │           │   ├── baseModule.pcf
│           │           │   ├── binopDifferentLine.err
│           │           │   ├── cannotAmendFixedProperty1.err
│           │           │   ├── cannotAmendFixedProperty2.err
│           │           │   ├── cannotAssignFixedProperty1.err
│           │           │   ├── cannotAssignFixedProperty2.err
│           │           │   ├── cannotAssignFixedProperty3.err
│           │           │   ├── cannotAssignToNothing.err
│           │           │   ├── cannotChangeFixed1.err
│           │           │   ├── cannotChangeFixed2.err
│           │           │   ├── cannotFindMapKey.err
│           │           │   ├── cannotFindStdLibModule.err
│           │           │   ├── cannotInferParent2.err
│           │           │   ├── cannotInferParent3.err
│           │           │   ├── cannotInstantiateAbstractModule.err
│           │           │   ├── cannotRenderMixin.err
│           │           │   ├── classExtendsSelf.err
│           │           │   ├── const/
│           │           │   │   ├── constAmend.err
│           │           │   │   ├── constAnnotation.err
│           │           │   │   ├── constAnnotation2.err
│           │           │   │   ├── constAnnotation3.err
│           │           │   │   ├── constAssign.err
│           │           │   │   ├── constClassBody.err
│           │           │   │   ├── constExplicitThis.err
│           │           │   │   ├── constExplicitThisMethod.err
│           │           │   │   ├── constFunctionCallingNonConst.err
│           │           │   │   ├── constImplicitThis.err
│           │           │   │   ├── constImplicitThisMethod.err
│           │           │   │   ├── constLexicalScope.err
│           │           │   │   ├── constLocalAmendModule.pcf
│           │           │   │   ├── constLocalMethod.err
│           │           │   │   ├── constLocalProperty.err
│           │           │   │   ├── constMethod.err
│           │           │   │   ├── constMethod2.err
│           │           │   │   ├── constModule.err
│           │           │   │   ├── constModule2.err
│           │           │   │   ├── constModule3.err
│           │           │   │   ├── constObjectMember.err
│           │           │   │   ├── constOuter.err
│           │           │   │   ├── constOuter2.err
│           │           │   │   ├── constOuter3.err
│           │           │   │   ├── constQualified.err
│           │           │   │   ├── constSubclass.err
│           │           │   │   ├── constSubclass2.err
│           │           │   │   ├── constSuper.err
│           │           │   │   ├── constSuperMethod.err
│           │           │   │   ├── constThis.err
│           │           │   │   └── constTypeAliasConstraint.err
│           │           │   ├── constraintDetails1.err
│           │           │   ├── constraintDetails2.err
│           │           │   ├── constraintDetails3.err
│           │           │   ├── decodingException.err
│           │           │   ├── delimiters/
│           │           │   │   ├── missingClassDelimiter.err
│           │           │   │   ├── missingConstrainedTypeSeparator.err
│           │           │   │   ├── missingContainerAmendDefDelimiter.err
│           │           │   │   ├── missingContainerAmendExprDelimiter.err
│           │           │   │   ├── missingEmptyMultiLineStringDelimiter.err
│           │           │   │   ├── missingEmptyMultiLineStringDelimiterAtEof.err
│           │           │   │   ├── missingEmptyStringDelimiter.err
│           │           │   │   ├── missingEmptyStringDelimiterAtEof.err
│           │           │   │   ├── missingFunction0ParameterListDelimiter.err
│           │           │   │   ├── missingFunction1ParameterListDelimiter.err
│           │           │   │   ├── missingFunctionAmendParameterListSeparator.err
│           │           │   │   ├── missingFunctionNParameterListDelimiter.err
│           │           │   │   ├── missingFunctionParameterListSeparator.err
│           │           │   │   ├── missingFunctionType0ParameterListDelimiter.err
│           │           │   │   ├── missingFunctionType1ParameterListDelimiter.err
│           │           │   │   ├── missingFunctionTypeNParameterListDelimiter.err
│           │           │   │   ├── missingFunctionTypeParameterListSeparator.err
│           │           │   │   ├── missingIfExprDelimiter.err
│           │           │   │   ├── missingListDelimiter.err
│           │           │   │   ├── missingListSeparator.err
│           │           │   │   ├── missingMapDelimiter.err
│           │           │   │   ├── missingMapSeparator.err
│           │           │   │   ├── missingMethodArgumentListDelimiter.err
│           │           │   │   ├── missingMethodArgumentListSeparator.err
│           │           │   │   ├── missingMethodParameterListDelimiter.err
│           │           │   │   ├── missingMethodParameterListSeparator.err
│           │           │   │   ├── missingMultiLineStringDelimiter.err
│           │           │   │   ├── missingObjectAmendDefDelimiter.err
│           │           │   │   ├── missingObjectAmendDefDelimiter2.err
│           │           │   │   ├── missingObjectAmendDefDelimiter3.err
│           │           │   │   ├── missingObjectAmendExprDelimiter.err
│           │           │   │   ├── missingObjectDelimiter.err
│           │           │   │   ├── missingParenthesizedExprDelimiter.err
│           │           │   │   ├── missingParenthesizedTypeDelimiter.err
│           │           │   │   ├── missingRawMultiLineStringDelimiter.err
│           │           │   │   ├── missingRawStringDelimiter.err
│           │           │   │   ├── missingSetSeparator.err
│           │           │   │   ├── missingStringDelimiter.err
│           │           │   │   ├── missingSubscriptDelimiter.err
│           │           │   │   ├── missingTypeConstraintListDelimiter.err
│           │           │   │   ├── missingTypedMethodParameterListDelimiter.err
│           │           │   │   ├── missingTypedMethodParameterListSeparator.err
│           │           │   │   ├── unbalancedEntryBrackets1.err
│           │           │   │   ├── unbalancedEntryBrackets2.err
│           │           │   │   ├── unbalancedEntryBrackets3.err
│           │           │   │   └── unbalancedEntryBrackets4.err
│           │           │   ├── duplicateTypeParameter.err
│           │           │   ├── emptyParenthesizedTypeAnnotation.err
│           │           │   ├── extendExternalClass.err
│           │           │   ├── extendTypeAlias.err
│           │           │   ├── forGeneratorCannotGenerateMethods.err
│           │           │   ├── forGeneratorCannotGenerateProperties.err
│           │           │   ├── forGeneratorCannotIterateOverThisValue.err
│           │           │   ├── forGeneratorCannotIterateOverTyped.err
│           │           │   ├── forGeneratorDuplicateParams1.err
│           │           │   ├── forGeneratorWrongVariableName.err
│           │           │   ├── fullStackTraces.err
│           │           │   ├── fullStackTraces2.err
│           │           │   ├── functionNotFoundInClass.err
│           │           │   ├── functionNotFoundInModule.err
│           │           │   ├── functionNotFoundInScope.err
│           │           │   ├── functionNotFoundMaybeLambda.err
│           │           │   ├── functionNotFoundMaybeProperty.err
│           │           │   ├── intrinsifiedTypeAlias1.err
│           │           │   ├── intrinsifiedTypeAlias2.err
│           │           │   ├── intrinsifiedTypeAlias3.err
│           │           │   ├── intrinsifiedTypeAlias4.err
│           │           │   ├── invalidBytes1.err
│           │           │   ├── invalidBytes2.err
│           │           │   ├── invalidBytes3.err
│           │           │   ├── invalidBytes4.err
│           │           │   ├── invalidCharacterEscape.err
│           │           │   ├── invalidClassMethodModifier.err
│           │           │   ├── invalidClassModifier.err
│           │           │   ├── invalidClassModifier2.err
│           │           │   ├── invalidClassPropertyModifier.err
│           │           │   ├── invalidFileUri1.err
│           │           │   ├── invalidFileUri2.err
│           │           │   ├── invalidFileUri3.err
│           │           │   ├── invalidFileUri4.err
│           │           │   ├── invalidGlobImport1.err
│           │           │   ├── invalidGlobImport2.err
│           │           │   ├── invalidGlobImport3.err
│           │           │   ├── invalidGlobImport4.err
│           │           │   ├── invalidGlobImport5.err
│           │           │   ├── invalidGlobImport6.err
│           │           │   ├── invalidGlobImport7.err
│           │           │   ├── invalidGlobImport8.err
│           │           │   ├── invalidGlobRead1.err
│           │           │   ├── invalidGlobRead2.err
│           │           │   ├── invalidGlobRead3.err
│           │           │   ├── invalidImportBackslashSep.err
│           │           │   ├── invalidImportUri.err
│           │           │   ├── invalidMethodModifier.err
│           │           │   ├── invalidModuleModifier.err
│           │           │   ├── invalidObjectPropertyModifier.err
│           │           │   ├── invalidOutput1.err
│           │           │   ├── invalidOutput2.err
│           │           │   ├── invalidOutput3.err
│           │           │   ├── invalidPropertyModifier.err
│           │           │   ├── invalidTripleDotSyntax1.err
│           │           │   ├── invalidTripleDotSyntax2.err
│           │           │   ├── invalidTypeAliasModifier.err
│           │           │   ├── invalidTypeName1.err
│           │           │   ├── invalidTypeName2.err
│           │           │   ├── invalidTypeName3.err
│           │           │   ├── invalidTypeName4.err
│           │           │   ├── invalidUnicodeEscape.err
│           │           │   ├── keywordNotAllowedHere1.err
│           │           │   ├── keywordNotAllowedHere2.err
│           │           │   ├── keywordNotAllowedHere3.err
│           │           │   ├── keywordNotAllowedHere4.err
│           │           │   ├── letExpressionError1.err
│           │           │   ├── letExpressionError2.err
│           │           │   ├── letExpressionErrorTyped.err
│           │           │   ├── listingTypeCheckError1.err
│           │           │   ├── listingTypeCheckError2.err
│           │           │   ├── listingTypeCheckError3.err
│           │           │   ├── listingTypeCheckError4.err
│           │           │   ├── listingTypeCheckError5.err
│           │           │   ├── listingTypeCheckError6.err
│           │           │   ├── listingTypeCheckError7.err
│           │           │   ├── listingTypeCheckError8.err
│           │           │   ├── listingTypeCheckError9.err
│           │           │   ├── localFixedMember.err
│           │           │   ├── localFunctionWithTypeParameter.err
│           │           │   ├── localHiddenMember.err
│           │           │   ├── mappingTypeCheckError1.err
│           │           │   ├── mappingTypeCheckError10.err
│           │           │   ├── mappingTypeCheckError11.err
│           │           │   ├── mappingTypeCheckError2.err
│           │           │   ├── mappingTypeCheckError3.err
│           │           │   ├── mappingTypeCheckError4.err
│           │           │   ├── mappingTypeCheckError5.err
│           │           │   ├── mappingTypeCheckError6.err
│           │           │   ├── mappingTypeCheckError7.err
│           │           │   ├── mappingTypeCheckError8.err
│           │           │   ├── mappingTypeCheckError9.err
│           │           │   ├── missingLocalPropertyValue1.err
│           │           │   ├── missingLocalPropertyValue2.err
│           │           │   ├── moduleAmendsSelf.err
│           │           │   ├── moduleAmendsVersionCheck.err
│           │           │   ├── moduleAmendsVersionCheck2.err
│           │           │   ├── moduleExpected.err
│           │           │   ├── moduleExtendsSelf.err
│           │           │   ├── moduleExtendsVersionCheck.err
│           │           │   ├── moduleExtendsVersionCheck2.err
│           │           │   ├── moduleImportVersionCheck.err
│           │           │   ├── moduleWithHighMinPklVersion.err
│           │           │   ├── moduleWithHighMinPklVersionAndParseErrors.err
│           │           │   ├── multipleDefaults.err
│           │           │   ├── nested1.err
│           │           │   ├── noDefault.err
│           │           │   ├── noDefault2.err
│           │           │   ├── notAUnionDefault.err
│           │           │   ├── objectCannotHaveElement.err
│           │           │   ├── objectCannotHaveElement2.err
│           │           │   ├── objectCannotHavePredicateMember.err
│           │           │   ├── outOfRange1.err
│           │           │   ├── outOfRange2.err
│           │           │   ├── outOfRange3.err
│           │           │   ├── parser1.err
│           │           │   ├── parser10.err
│           │           │   ├── parser11.err
│           │           │   ├── parser12.err
│           │           │   ├── parser14.err
│           │           │   ├── parser15.err
│           │           │   ├── parser16.err
│           │           │   ├── parser17.err
│           │           │   ├── parser18.err
│           │           │   ├── parser2.err
│           │           │   ├── parser3.err
│           │           │   ├── parser4.err
│           │           │   ├── parser5.err
│           │           │   ├── parser6.err
│           │           │   ├── parser7.err
│           │           │   ├── parser8.err
│           │           │   ├── parser9.err
│           │           │   ├── power/
│           │           │   │   ├── typeConstraints1.err
│           │           │   │   ├── typeConstraints10.err
│           │           │   │   ├── typeConstraints11.err
│           │           │   │   ├── typeConstraints12.err
│           │           │   │   ├── typeConstraints13.err
│           │           │   │   ├── typeConstraints14.err
│           │           │   │   ├── typeConstraints15.err
│           │           │   │   ├── typeConstraints16.err
│           │           │   │   ├── typeConstraints17.err
│           │           │   │   ├── typeConstraints2.err
│           │           │   │   ├── typeConstraints3.err
│           │           │   │   ├── typeConstraints4.err
│           │           │   │   ├── typeConstraints5.err
│           │           │   │   ├── typeConstraints6.err
│           │           │   │   ├── typeConstraints7.err
│           │           │   │   ├── typeConstraints8.err
│           │           │   │   ├── typeConstraints9.err
│           │           │   │   └── typeConstraints9a.err
│           │           │   ├── propertyNotFound1.err
│           │           │   ├── propertyNotFound2.err
│           │           │   ├── refusingToLoadModule.err
│           │           │   ├── shebang.err
│           │           │   ├── singleBacktick.err
│           │           │   ├── spreadSyntaxCannotHaveElement.err
│           │           │   ├── spreadSyntaxCannotHaveEntry.err
│           │           │   ├── spreadSyntaxCannotHaveProperty.err
│           │           │   ├── spreadSyntaxCannotIterateOverTyped.err
│           │           │   ├── spreadSyntaxCannotSpreadListIntoMapping.err
│           │           │   ├── spreadSyntaxDuplicateEntry1.err
│           │           │   ├── spreadSyntaxDuplicateEntry2.err
│           │           │   ├── spreadSyntaxDuplicateProperty1.err
│           │           │   ├── spreadSyntaxDuplicateProperty2.err
│           │           │   ├── spreadSyntaxNullValue.err
│           │           │   ├── spreadSyntaxUnknownTypedProperty.err
│           │           │   ├── stackTraceWithQuotedMemberName.err
│           │           │   ├── supercalls.err
│           │           │   ├── typeMismatchWithSameQualifiedClassName.err
│           │           │   ├── typeMismatchWithSameQualifiedModuleName.err
│           │           │   ├── undefinedOp1.err
│           │           │   ├── undefinedOp2.err
│           │           │   ├── undefinedOp3.err
│           │           │   ├── undefinedProperty1.err
│           │           │   ├── undefinedProperty2.err
│           │           │   ├── undefinedProperty3.err
│           │           │   ├── undefinedProperty4.err
│           │           │   ├── undefinedProperty5.err
│           │           │   ├── undefinedProperty6.err
│           │           │   ├── undefinedProperty7.err
│           │           │   ├── undefinedProperty8.err
│           │           │   ├── underscore.err
│           │           │   ├── underscoreLambda.err
│           │           │   ├── underscoreLet.err
│           │           │   ├── unterminatedUnicodeEscape.err
│           │           │   ├── userDefinedTypeParameter1.err
│           │           │   ├── userDefinedTypeParameter2.err
│           │           │   ├── wrongForGeneratorType1.err
│           │           │   ├── wrongForGeneratorType2.err
│           │           │   └── wrongNumberOfMapArguments.err
│           │           ├── generators/
│           │           │   ├── duplicateDefinition1.err
│           │           │   ├── duplicateDefinition2.err
│           │           │   ├── duplicateDefinition3.err
│           │           │   ├── elementGenerators.pcf
│           │           │   ├── elementGeneratorsTyped.pcf
│           │           │   ├── entryGenerators.pcf
│           │           │   ├── entryGeneratorsTyped.pcf
│           │           │   ├── forGeneratorInFunctionBody.pcf
│           │           │   ├── forGeneratorInMixins.pcf
│           │           │   ├── forGeneratorLexicalScope.pcf
│           │           │   ├── forGeneratorNestedReference.pcf
│           │           │   ├── forGeneratorNestedReference2.pcf
│           │           │   ├── forGeneratorVariableShadowing.pcf
│           │           │   ├── generatorNoMembers.err
│           │           │   ├── predicateMembersDynamicListing.pcf
│           │           │   ├── predicateMembersDynamicMapping.pcf
│           │           │   ├── predicateMembersListing.pcf
│           │           │   ├── predicateMembersMapping.pcf
│           │           │   ├── predicateMembersThis.pcf
│           │           │   ├── propertyGenerators.pcf
│           │           │   ├── spreadSyntaxDynamic.pcf
│           │           │   ├── spreadSyntaxListing.pcf
│           │           │   ├── spreadSyntaxMapping.pcf
│           │           │   ├── spreadSyntaxNoSpace.err
│           │           │   ├── spreadSyntaxNullable.pcf
│           │           │   └── spreadSyntaxTyped.pcf
│           │           ├── implementation/
│           │           │   ├── equality.pcf
│           │           │   └── inequality.pcf
│           │           ├── internal/
│           │           │   └── polymorphicCallSite.pcf
│           │           ├── lambdas/
│           │           │   ├── amendLambdaDef.pcf
│           │           │   ├── amendLambdaExpr.pcf
│           │           │   ├── amendLambdaExternalClassError.err
│           │           │   ├── amendLambdaParameters.pcf
│           │           │   ├── amendLambdaParametersTyped.pcf
│           │           │   ├── amendLambdaThatReturnsAnotherLambda.pcf
│           │           │   ├── amendLambdaTooFewArgsError.err
│           │           │   ├── amendLambdaTooManyArgsError.err
│           │           │   ├── equality.pcf
│           │           │   ├── inequality.pcf
│           │           │   ├── lambda1.pcf
│           │           │   ├── lambda2.pcf
│           │           │   ├── lambda3.pcf
│           │           │   ├── lambda4.pcf
│           │           │   ├── lambda5.pcf
│           │           │   ├── lambdaStackTrace1.err
│           │           │   ├── lambdaStackTrace2.err
│           │           │   ├── lambdaStackTrace3.err
│           │           │   ├── pipeOperator.pcf
│           │           │   ├── tooManyLambdaParams.err
│           │           │   ├── typedLambdas.pcf
│           │           │   └── wrongArgumentListLength.err
│           │           ├── listings/
│           │           │   ├── cacheStealing.pcf
│           │           │   ├── cacheStealingTypeCheck.pcf
│           │           │   ├── default.pcf
│           │           │   ├── equality.pcf
│           │           │   ├── hashCode.pcf
│           │           │   ├── inequality.pcf
│           │           │   ├── listing1.pcf
│           │           │   ├── listing2.pcf
│           │           │   ├── listing3.pcf
│           │           │   ├── listing4.pcf
│           │           │   ├── listing5.pcf
│           │           │   ├── listing6.pcf
│           │           │   ├── listing7.err
│           │           │   ├── numberLiterals.pcf
│           │           │   ├── typeCheck.pcf
│           │           │   ├── wrongIndex.pcf
│           │           │   └── wrongParent.pcf
│           │           ├── listings2/
│           │           │   ├── default.pcf
│           │           │   ├── equality.pcf
│           │           │   ├── inequality.pcf
│           │           │   ├── listing1.pcf
│           │           │   ├── listing2.pcf
│           │           │   ├── listing3.pcf
│           │           │   ├── numberLiterals.pcf
│           │           │   ├── typeCheck.pcf
│           │           │   ├── wrongIndex.pcf
│           │           │   └── wrongParent.pcf
│           │           ├── mappings/
│           │           │   ├── default.pcf
│           │           │   ├── duplicateComputedKey.pcf
│           │           │   ├── duplicateConstantKey.err
│           │           │   ├── equality.pcf
│           │           │   ├── hashCode.pcf
│           │           │   ├── inequality.pcf
│           │           │   ├── mapping1.pcf
│           │           │   ├── mapping2.pcf
│           │           │   ├── stringKeyNotFound.err
│           │           │   ├── typeCheck.pcf
│           │           │   └── wrongParent.pcf
│           │           ├── mappings2/
│           │           │   ├── default.pcf
│           │           │   ├── duplicateComputedKey.pcf
│           │           │   ├── duplicateConstantKey.err
│           │           │   ├── equality.pcf
│           │           │   ├── inequality.pcf
│           │           │   ├── mapping1.pcf
│           │           │   ├── mapping2.pcf
│           │           │   ├── stringKeyNotFound.err
│           │           │   ├── typeCheck.pcf
│           │           │   └── wrongParent.pcf
│           │           ├── methods/
│           │           │   ├── methodParameterConstraints1.pcf
│           │           │   ├── methodParameterConstraints2.pcf
│           │           │   ├── methodParameterTypes1.pcf
│           │           │   ├── methodParameterTypes2.pcf
│           │           │   └── methodParameterTypes3.pcf
│           │           ├── modules/
│           │           │   ├── amendModule1.pcf
│           │           │   ├── amendModule2.pcf
│           │           │   ├── amendModule3.pcf
│           │           │   ├── amendModule4.pcf
│           │           │   ├── amendModule5.pcf
│           │           │   ├── amendModule6.pcf
│           │           │   ├── duplicateFunction.err
│           │           │   ├── duplicateProperty1.err
│           │           │   ├── duplicateProperty2.err
│           │           │   ├── duplicateProperty3.err
│           │           │   ├── equality.pcf
│           │           │   ├── extendModule1.pcf
│           │           │   ├── externalFunction.err
│           │           │   ├── externalProperty.err
│           │           │   ├── filename with spaces 2.pcf
│           │           │   ├── filename with spaces.pcf
│           │           │   ├── functions.pcf
│           │           │   ├── invalidAmend1.err
│           │           │   ├── invalidAmend2.err
│           │           │   ├── invalidAmend3.err
│           │           │   ├── invalidAmend4.err
│           │           │   ├── invalidAmend5.err
│           │           │   ├── invalidAmend6.err
│           │           │   ├── invalidExtend1.err
│           │           │   ├── invalidExtend2.err
│           │           │   ├── invalidExtend3.err
│           │           │   ├── invalidModule1.err
│           │           │   ├── library.pcf
│           │           │   ├── lists.pcf
│           │           │   ├── objects.pcf
│           │           │   ├── recursiveModule1.pcf
│           │           │   ├── supercalls1.pcf
│           │           │   ├── supercalls2.pcf
│           │           │   ├── supercalls3.pcf
│           │           │   ├── typedModuleMethods1.pcf
│           │           │   ├── typedModuleProperties1.pcf
│           │           │   ├── typedModuleProperties2.err
│           │           │   ├── typedModuleProperties3.err
│           │           │   ├── 日本語.pcf
│           │           │   └── 日本語_error.err
│           │           ├── objects/
│           │           │   ├── closure.pcf
│           │           │   ├── configureObjectAssign.pcf
│           │           │   ├── duplicateProperty.err
│           │           │   ├── equality.pcf
│           │           │   ├── hashCode.pcf
│           │           │   ├── implicitReceiver1.pcf
│           │           │   ├── implicitReceiver2.pcf
│           │           │   ├── implicitReceiver3.pcf
│           │           │   ├── implicitReceiver4.err
│           │           │   ├── inequality.pcf
│           │           │   ├── lateBinding1.pcf
│           │           │   ├── lateBinding2.pcf
│           │           │   ├── lateBinding3.pcf
│           │           │   ├── lateBinding4.pcf
│           │           │   ├── outer.pcf
│           │           │   ├── outer2.err
│           │           │   ├── super1.pcf
│           │           │   ├── super2.pcf
│           │           │   ├── super3.pcf
│           │           │   ├── super4.pcf
│           │           │   ├── super5.pcf
│           │           │   ├── this1.pcf
│           │           │   └── this2.pcf
│           │           ├── packages/
│           │           │   ├── badImport1.err
│           │           │   ├── badImport10.err
│           │           │   ├── badImport11.err
│           │           │   ├── badImport2.err
│           │           │   ├── badImport3.err
│           │           │   ├── badImport4.err
│           │           │   ├── badImport6.err
│           │           │   ├── badImport7.err
│           │           │   ├── badImport8.err
│           │           │   ├── badImport9.err
│           │           │   ├── badRead1.err
│           │           │   ├── badRead2.err
│           │           │   ├── badRead3.err
│           │           │   ├── badRead4.err
│           │           │   ├── badRead8.err
│           │           │   ├── badRead9.err
│           │           │   ├── packages1.pcf
│           │           │   ├── packages2.pcf
│           │           │   └── redirects.pcf
│           │           ├── parser/
│           │           │   ├── amendsRequiresParens.err
│           │           │   ├── constantStringInterpolation.err
│           │           │   ├── constraintsTrailingComma.pcf
│           │           │   ├── invalidCharacter.err
│           │           │   ├── lineCommentBetween.pcf
│           │           │   ├── methodTrailingCommas.pcf
│           │           │   ├── newline.pcf
│           │           │   ├── spacesBetweenDocComments.err
│           │           │   ├── spread.pcf
│           │           │   ├── trailingCommas.pcf
│           │           │   ├── typeAnnotationInAmends.err
│           │           │   └── wrongDocComment.err
│           │           ├── pklbinary/
│           │           │   ├── basic.msgpack.yaml
│           │           │   ├── classes.msgpack.yaml
│           │           │   ├── datasize.msgpack.yaml
│           │           │   ├── duration.msgpack.yaml
│           │           │   ├── intseq.msgpack.yaml
│           │           │   ├── list.msgpack.yaml
│           │           │   ├── map.msgpack.yaml
│           │           │   ├── pair.msgpack.yaml
│           │           │   ├── regex.msgpack.yaml
│           │           │   └── set.msgpack.yaml
│           │           ├── projects/
│           │           │   ├── badLocalProject/
│           │           │   │   └── dog.pcf
│           │           │   ├── badPklProject1/
│           │           │   │   └── bug.err
│           │           │   ├── badPklProject2/
│           │           │   │   └── bug.err
│           │           │   ├── badPklProject3/
│           │           │   │   └── bug.err
│           │           │   ├── badProjectDeps1/
│           │           │   │   └── bug.err
│           │           │   ├── badProjectDeps2/
│           │           │   │   └── bug.err
│           │           │   ├── badProjectDeps3/
│           │           │   │   └── bug.err
│           │           │   ├── badProjectDeps4/
│           │           │   │   └── bug.err
│           │           │   ├── badProjectDeps5/
│           │           │   │   └── bug.err
│           │           │   ├── badProjectDeps6/
│           │           │   │   └── bug.err
│           │           │   ├── compactTraceMode/
│           │           │   │   └── compactTraceMode.err
│           │           │   ├── evaluatorSettings/
│           │           │   │   ├── basic.pcf
│           │           │   │   └── nullTraceMode.err
│           │           │   ├── missingProjectDeps/
│           │           │   │   └── bug.err
│           │           │   ├── notAProject/
│           │           │   │   ├── @child/
│           │           │   │   │   └── theChild.pcf
│           │           │   │   ├── badImport.err
│           │           │   │   └── goodImport.pcf
│           │           │   ├── prettyTraceMode/
│           │           │   │   └── prettyTraceMode.err
│           │           │   ├── project1/
│           │           │   │   ├── badImport1.err
│           │           │   │   ├── badImport2.err
│           │           │   │   ├── badImport3.err
│           │           │   │   ├── badRead1.err
│           │           │   │   ├── basic.pcf
│           │           │   │   ├── directPackageImport.err
│           │           │   │   ├── globbing.pcf
│           │           │   │   ├── localProject.pcf
│           │           │   │   └── localProjectRead.pcf
│           │           │   ├── project2/
│           │           │   │   └── penguin.pcf
│           │           │   ├── project3/
│           │           │   │   └── basic.pcf
│           │           │   ├── project4/
│           │           │   │   └── main.pcf
│           │           │   ├── project5/
│           │           │   │   └── main.pcf
│           │           │   └── project6/
│           │           │       ├── children/
│           │           │       │   ├── a.pcf
│           │           │       │   ├── b.pcf
│           │           │       │   └── c.pcf
│           │           │       └── children.pcf
│           │           ├── syntax/
│           │           │   └── shebang.pcf
│           │           └── types/
│           │               ├── ThisInTypeConstraint.pcf
│           │               ├── currentModuleType1.pcf
│           │               ├── currentModuleType2.pcf
│           │               ├── currentModuleType3.pcf
│           │               ├── cyclicTypeAlias1.err
│           │               ├── cyclicTypeAlias2.err
│           │               ├── helpers/
│           │               │   └── someModule.pcf
│           │               ├── modifiersForTypes.pcf
│           │               ├── moduleType.pcf
│           │               ├── moduleType2.pcf
│           │               ├── moduleType3.pcf
│           │               ├── moduleType4.pcf
│           │               ├── moduleType5.pcf
│           │               ├── nothingType.err
│           │               ├── nothingWithUnions.pcf
│           │               ├── typeAlias1.pcf
│           │               ├── typeAlias2.pcf
│           │               ├── typeAliasConstraint1.pcf
│           │               ├── typeAliasConstraint2.pcf
│           │               ├── typeAliasContext.err
│           │               └── typeAliasUnion.pcf
│           ├── kotlin/
│           │   └── org/
│           │       └── pkl/
│           │           └── core/
│           │               ├── AnalyzerTest.kt
│           │               ├── ClassInheritanceTest.kt
│           │               ├── DataSizeTest.kt
│           │               ├── DataSizeUnitTest.kt
│           │               ├── DurationTest.kt
│           │               ├── DurationUnitTest.kt
│           │               ├── DynamicTest.kt
│           │               ├── EvaluateExpressionTest.kt
│           │               ├── EvaluateMultipleFileOutputTest.kt
│           │               ├── EvaluateOutputTextTest.kt
│           │               ├── EvaluateSchemaTest.kt
│           │               ├── EvaluateTestsTest.kt
│           │               ├── EvaluatorBuilderTest.kt
│           │               ├── EvaluatorTest.kt
│           │               ├── JsonRendererTest.kt
│           │               ├── LanguageSnippetTests.kt
│           │               ├── LanguageSnippetTestsEngine.kt
│           │               ├── PClassInfoTest.kt
│           │               ├── PListRendererTest.kt
│           │               ├── PModuleTest.kt
│           │               ├── PNullTest.kt
│           │               ├── PObjectTest.kt
│           │               ├── PairTest.kt
│           │               ├── PcfRendererTest.kt
│           │               ├── PklBinaryDecoderTest.kt
│           │               ├── PklInfoTest.kt
│           │               ├── PlatformTest.kt
│           │               ├── PropertiesRendererTest.kt
│           │               ├── ReleaseTest.kt
│           │               ├── ReplServerTest.kt
│           │               ├── RepositoryHygiene.kt
│           │               ├── SecurityManagersTest.kt
│           │               ├── StackFrameTransformersTest.kt
│           │               ├── VersionTest.kt
│           │               ├── YamlRendererTest.kt
│           │               ├── ast/
│           │               │   └── builder/
│           │               │       └── ImportsAndReadsParserTest.kt
│           │               ├── externalreader/
│           │               │   ├── ExternalModuleReader.kt
│           │               │   ├── ExternalReaderBase.kt
│           │               │   ├── ExternalReaderClient.kt
│           │               │   ├── ExternalResourceReader.kt
│           │               │   ├── MessagePackCodecTest.kt
│           │               │   ├── TestExternalModuleReader.kt
│           │               │   ├── TestExternalReaderProcess.kt
│           │               │   └── TestExternalResourceReader.kt
│           │               ├── http/
│           │               │   ├── DummyHttpClientTest.kt
│           │               │   ├── HttpClientTest.kt
│           │               │   ├── LazyHttpClientTest.kt
│           │               │   ├── NoProxyRuleTest.kt
│           │               │   ├── RequestCapturingClient.kt
│           │               │   └── RequestRewritingClientTest.kt
│           │               ├── messaging/
│           │               │   └── BaseMessagePackCodecTest.kt
│           │               ├── module/
│           │               │   ├── ModuleKeyFactoriesTest.kt
│           │               │   ├── ModuleKeysTest.kt
│           │               │   ├── ModulePathResolverTest.kt
│           │               │   ├── ResolvedModuleKeysTest.kt
│           │               │   ├── ServiceProviderTest.kt
│           │               │   └── TestModuleKeyFactory.kt
│           │               ├── packages/
│           │               │   ├── DependencyMetadataTest.kt
│           │               │   └── PackageResolversTest.kt
│           │               ├── parser/
│           │               │   ├── MultiLineStringLiteralTest.kt
│           │               │   ├── ShebangTest.kt
│           │               │   └── TrailingCommasTest.kt
│           │               ├── project/
│           │               │   ├── ProjectDependenciesResolverTest.kt
│           │               │   ├── ProjectDepsTest.kt
│           │               │   └── ProjectTest.kt
│           │               ├── resource/
│           │               │   ├── ResourceReadersEvaluatorTest.kt
│           │               │   ├── ResourceReadersTest.kt
│           │               │   └── TestResourceReader.kt
│           │               ├── runtime/
│           │               │   ├── CommandSpecParserTest.kt
│           │               │   ├── DefaultModuleResolverTest.kt
│           │               │   ├── FileSystemManagerTest.kt
│           │               │   ├── IteratorsTest.kt
│           │               │   ├── ModuleKeyTest.kt
│           │               │   ├── StackTraceRendererTest.kt
│           │               │   ├── VmClassTest.kt
│           │               │   ├── VmDataSizeTest.kt
│           │               │   ├── VmDurationTest.kt
│           │               │   ├── VmSafeMathTest.kt
│           │               │   ├── VmUtilsTest.kt
│           │               │   └── VmValueRendererTest.kt
│           │               ├── settings/
│           │               │   └── PklSettingsTest.kt
│           │               ├── stdlib/
│           │               │   ├── PathConverterSupportTest.kt
│           │               │   ├── PathSpecParserTest.kt
│           │               │   ├── ReflectModuleTest.kt
│           │               │   └── SimpleReportTest.kt
│           │               ├── truffle/
│           │               │   └── LongVsDoubleSpecializationTest.kt
│           │               └── util/
│           │                   ├── AnsiStringBuilderTest.kt
│           │                   ├── ArrayCharEscaperTest.kt
│           │                   ├── ExceptionsTest.kt
│           │                   ├── GlobResolverTest.kt
│           │                   ├── HttpUtilsTest.kt
│           │                   ├── ImportGraphUtilsTest.kt
│           │                   └── IoUtilsTest.kt
│           └── resources/
│               ├── META-INF/
│               │   └── services/
│               │       ├── org.junit.platform.engine.TestEngine
│               │       ├── org.pkl.core.module.ModuleKeyFactory
│               │       └── org.pkl.core.resource.ResourceReader
│               └── org/
│                   └── pkl/
│                       └── core/
│                           ├── EvaluateSchemaTest.pkl
│                           ├── EvaluateSchemaTestBaseModule.pkl
│                           ├── EvaluatorTest.pkl
│                           ├── PropertyList-1.0.dtd
│                           ├── brokenModule1.pkl
│                           ├── brokenModule2.pkl
│                           ├── module/
│                           │   ├── NamedModuleResolversTest.pkl
│                           │   ├── test.jar
│                           │   └── testFactoryTest.pkl
│                           ├── pklBinaryDecoderTest.msgpack
│                           ├── project/
│                           │   ├── badProjectChecksum/
│                           │   │   └── PklProject
│                           │   ├── badProjectChecksum2/
│                           │   │   ├── PklProject
│                           │   │   ├── PklProject.deps.json
│                           │   │   └── bug.pkl
│                           │   ├── project1/
│                           │   │   └── PklProject
│                           │   ├── project2/
│                           │   │   └── PklProject
│                           │   ├── project3/
│                           │   │   └── PklProject
│                           │   ├── project4/
│                           │   │   ├── PklProject
│                           │   │   ├── main.txt
│                           │   │   ├── module1.pkl
│                           │   │   └── module2.pkl
│                           │   ├── project5/
│                           │   │   ├── PklProject
│                           │   │   ├── PklProject.deps.json
│                           │   │   └── main.pkl
│                           │   ├── project6/
│                           │   │   ├── PklProject
│                           │   │   ├── PklProject.deps.json
│                           │   │   ├── globIntoDependency.pkl
│                           │   │   └── globWithinDependency.pkl
│                           │   ├── project7/
│                           │   │   ├── PklProject
│                           │   │   ├── main.pkl
│                           │   │   ├── moduleA.pkl
│                           │   │   └── moduleB.pkl
│                           │   ├── projectCycle1/
│                           │   │   └── PklProject
│                           │   ├── projectCycle2/
│                           │   │   └── PklProject
│                           │   ├── projectCycle3/
│                           │   │   └── PklProject
│                           │   └── projectCycle4/
│                           │       └── PklProject
│                           ├── propertiesRendererTest.pkl
│                           ├── propertiesRendererTest.properties
│                           ├── rendererTest.json
│                           ├── rendererTest.pcf
│                           ├── rendererTest.pkl
│                           ├── rendererTest.plist
│                           ├── rendererTest.yaml
│                           ├── resource/
│                           │   ├── resource.txt
│                           │   └── resource1.jar
│                           ├── snippets/
│                           │   ├── imported.pkl
│                           │   └── name with [wierd]! chars~~.pkl
│                           └── stdlib/
│                               └── protobufRendererTest.textproto
├── pkl-doc/
│   ├── gradle.lockfile
│   ├── pkl-doc.gradle.kts
│   └── src/
│       ├── main/
│       │   ├── kotlin/
│       │   │   └── org/
│       │   │       └── pkl/
│       │   │           └── doc/
│       │   │               ├── AbstractGenerator.kt
│       │   │               ├── ClassPageGenerator.kt
│       │   │               ├── CliDocGenerator.kt
│       │   │               ├── CliDocGeneratorOptions.kt
│       │   │               ├── Constants.kt
│       │   │               ├── DocGenerator.kt
│       │   │               ├── DocGeneratorException.kt
│       │   │               ├── DocMigrator.kt
│       │   │               ├── DocPackageInfo.kt
│       │   │               ├── DocScope.kt
│       │   │               ├── DocsiteInfo.kt
│       │   │               ├── HtmlGenerator.kt
│       │   │               ├── Main.kt
│       │   │               ├── MainOrPackagePageGenerator.kt
│       │   │               ├── MainPageGenerator.kt
│       │   │               ├── Markdown.kt
│       │   │               ├── ModuleOrClassPageGenerator.kt
│       │   │               ├── ModulePageGenerator.kt
│       │   │               ├── PackageDataGenerator.kt
│       │   │               ├── PackagePageGenerator.kt
│       │   │               ├── PageGenerator.kt
│       │   │               ├── RuntimeData.kt
│       │   │               ├── RuntimeDataGenerator.kt
│       │   │               ├── SearchIndexGenerator.kt
│       │   │               ├── Serializers.kt
│       │   │               └── Util.kt
│       │   └── resources/
│       │       └── org/
│       │           └── pkl/
│       │               └── doc/
│       │                   ├── scripts/
│       │                   │   ├── pkldoc.js
│       │                   │   └── search-worker.js
│       │                   └── styles/
│       │                       └── pkldoc.css
│       └── test/
│           ├── files/
│           │   ├── DocGeneratorTest/
│           │   │   ├── input/
│           │   │   │   ├── com.externalpackage/
│           │   │   │   │   ├── doc-package-info.pkl
│           │   │   │   │   ├── external1.pkl
│           │   │   │   │   └── external2.pkl
│           │   │   │   ├── com.package1/
│           │   │   │   │   ├── Module Containing Spaces.pkl
│           │   │   │   │   ├── baseModule.pkl
│           │   │   │   │   ├── classAnnotations.pkl
│           │   │   │   │   ├── classComments.pkl
│           │   │   │   │   ├── classInheritance.pkl
│           │   │   │   │   ├── classMethodComments.pkl
│           │   │   │   │   ├── classMethodModifiers.pkl
│           │   │   │   │   ├── classMethodTypeAnnotations.pkl
│           │   │   │   │   ├── classMethodTypeReferences.pkl
│           │   │   │   │   ├── classPropertyAnnotations.pkl
│           │   │   │   │   ├── classPropertyComments.pkl
│           │   │   │   │   ├── classPropertyModifiers.pkl
│           │   │   │   │   ├── classPropertyTypeAnnotations.pkl
│           │   │   │   │   ├── classPropertyTypeReferences.pkl
│           │   │   │   │   ├── classTypeConstraints.pkl
│           │   │   │   │   ├── doc-package-info.pkl
│           │   │   │   │   ├── docExample.pkl
│           │   │   │   │   ├── docExample2.pkl
│           │   │   │   │   ├── docExampleSubject1.pkl
│           │   │   │   │   ├── docExampleSubject2.pkl
│           │   │   │   │   ├── docLinks.pkl
│           │   │   │   │   ├── methodAnnotations.pkl
│           │   │   │   │   ├── moduleComments.pkl
│           │   │   │   │   ├── moduleExtend.pkl
│           │   │   │   │   ├── moduleInfoAnnotation.pkl
│           │   │   │   │   ├── moduleMethodCommentInheritance.pkl
│           │   │   │   │   ├── moduleMethodComments.pkl
│           │   │   │   │   ├── moduleMethodModifiers.pkl
│           │   │   │   │   ├── moduleMethodTypeAnnotations.pkl
│           │   │   │   │   ├── moduleMethodTypeReferences.pkl
│           │   │   │   │   ├── modulePropertyAnnotations.pkl
│           │   │   │   │   ├── modulePropertyCommentInheritance.pkl
│           │   │   │   │   ├── modulePropertyComments.pkl
│           │   │   │   │   ├── modulePropertyModifiers.pkl
│           │   │   │   │   ├── modulePropertyTypeAnnotations.pkl
│           │   │   │   │   ├── modulePropertyTypeReferences.pkl
│           │   │   │   │   ├── moduleTypes1.pkl
│           │   │   │   │   ├── moduleTypes2.pkl
│           │   │   │   │   ├── nested/
│           │   │   │   │   │   └── nested2/
│           │   │   │   │   │       └── nestedModule.pkl
│           │   │   │   │   ├── referenceToExternalPackage.pkl
│           │   │   │   │   ├── shared.pkl
│           │   │   │   │   ├── typeAliases.pkl
│           │   │   │   │   ├── typeAliases2.pkl
│           │   │   │   │   ├── typeAliasesInheritance.pkl
│           │   │   │   │   ├── unionTypes.pkl
│           │   │   │   │   ├── unlistedClass.pkl
│           │   │   │   │   ├── unlistedMethod.pkl
│           │   │   │   │   ├── unlistedModule.pkl
│           │   │   │   │   └── unlistedProperty.pkl
│           │   │   │   ├── com.package2/
│           │   │   │   │   ├── Module3.pkl
│           │   │   │   │   └── doc-package-info.pkl
│           │   │   │   └── docsite-info.pkl
│           │   │   └── output/
│           │   │       ├── run-1/
│           │   │       │   ├── .pkldoc/
│           │   │       │   │   └── VERSION
│           │   │       │   ├── com.package1/
│           │   │       │   │   └── 1.2.3/
│           │   │       │   │       ├── Module Containing Spaces/
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── baseModule/
│           │   │       │   │       │   ├── BaseClass.html
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── classAnnotations/
│           │   │       │   │       │   ├── AnnotatedClass.html
│           │   │       │   │       │   ├── AnnotatedClss.html
│           │   │       │   │       │   ├── AnnotatedClssWithExpandableComment.html
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── classComments/
│           │   │       │   │       │   ├── Comments1.html
│           │   │       │   │       │   ├── Comments2.html
│           │   │       │   │       │   ├── Comments3.html
│           │   │       │   │       │   ├── Comments4.html
│           │   │       │   │       │   ├── Comments5.html
│           │   │       │   │       │   ├── Comments6.html
│           │   │       │   │       │   ├── Comments7.html
│           │   │       │   │       │   ├── Comments8.html
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── classInheritance/
│           │   │       │   │       │   ├── MyClass1.html
│           │   │       │   │       │   ├── MyClass2.html
│           │   │       │   │       │   ├── MyClass3.html
│           │   │       │   │       │   ├── MyClass4.html
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── classMethodComments/
│           │   │       │   │       │   ├── Comments.html
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── classMethodModifiers/
│           │   │       │   │       │   ├── Modifiers.html
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── classMethodTypeAnnotations/
│           │   │       │   │       │   ├── TypeAnnotations.html
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── classMethodTypeReferences/
│           │   │       │   │       │   ├── MyClass.html
│           │   │       │   │       │   ├── TypeReferences.html
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── classPropertyAnnotations/
│           │   │       │   │       │   ├── ClassWithAnnotatedProperty.html
│           │   │       │   │       │   ├── UserDefinedAnnotation.html
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── classPropertyComments/
│           │   │       │   │       │   ├── Comments.html
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── classPropertyModifiers/
│           │   │       │   │       │   ├── Modifiers.html
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── classPropertyTypeAnnotations/
│           │   │       │   │       │   ├── TypeAnnotations.html
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── classPropertyTypeReferences/
│           │   │       │   │       │   ├── MyClass.html
│           │   │       │   │       │   ├── TypeReferences.html
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── classTypeConstraints/
│           │   │       │   │       │   ├── Address.html
│           │   │       │   │       │   ├── Person1.html
│           │   │       │   │       │   ├── Person2.html
│           │   │       │   │       │   ├── Project.html
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── docExampleSubject1/
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── docExampleSubject2/
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── docLinks/
│           │   │       │   │       │   ├── Person.html
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── index.html
│           │   │       │   │       ├── methodAnnotations/
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── moduleComments/
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── moduleExtend/
│           │   │       │   │       │   ├── ExtendClass.html
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── moduleInfoAnnotation/
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── moduleMethodCommentInheritance/
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── moduleMethodComments/
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── moduleMethodModifiers/
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── moduleMethodTypeAnnotations/
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── moduleMethodTypeReferences/
│           │   │       │   │       │   ├── MyClass.html
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── modulePropertyAnnotations/
│           │   │       │   │       │   ├── UserDefinedAnnotation.html
│           │   │       │   │       │   ├── UserDefinedAnnotation1.html
│           │   │       │   │       │   ├── UserDefinedAnnotation2.html
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── modulePropertyCommentInheritance/
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── modulePropertyComments/
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── modulePropertyModifiers/
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── modulePropertyTypeAnnotations/
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── modulePropertyTypeReferences/
│           │   │       │   │       │   ├── MyClass.html
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── moduleTypes1/
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── moduleTypes2/
│           │   │       │   │       │   ├── Foo.html
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── nested/
│           │   │       │   │       │   └── nested2/
│           │   │       │   │       │       └── nestedModule/
│           │   │       │   │       │           ├── MyClass.html
│           │   │       │   │       │           └── index.html
│           │   │       │   │       ├── package-data.json
│           │   │       │   │       ├── search-index.js
│           │   │       │   │       ├── shared/
│           │   │       │   │       │   ├── MyClass.html
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── ternalPackage/
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── typeAliasInheritance/
│           │   │       │   │       │   ├── Person2.html
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── typealiases/
│           │   │       │   │       │   ├── Person.html
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── typealiases2/
│           │   │       │   │       │   ├── Foo.html
│           │   │       │   │       │   ├── Person.html
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── unionTypes/
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── unlistedClass/
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── unlistedMethod/
│           │   │       │   │       │   ├── MyClass.html
│           │   │       │   │       │   └── index.html
│           │   │       │   │       └── unlistedProperty/
│           │   │       │   │           ├── MyClass.html
│           │   │       │   │           └── index.html
│           │   │       │   ├── com.package2/
│           │   │       │   │   └── 4.5.6/
│           │   │       │   │       ├── Module3/
│           │   │       │   │       │   ├── Class Two {}.html
│           │   │       │   │       │   ├── Class3.html
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── index.html
│           │   │       │   │       ├── package-data.json
│           │   │       │   │       └── search-index.js
│           │   │       │   ├── data/
│           │   │       │   │   ├── com.package1/
│           │   │       │   │   │   ├── 1.2.3/
│           │   │       │   │   │   │   ├── Module Containing Spaces/
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── baseModule/
│           │   │       │   │   │   │   │   ├── BaseClass.json
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── classAnnotations/
│           │   │       │   │   │   │   │   ├── AnnotatedClass.json
│           │   │       │   │   │   │   │   ├── AnnotatedClss.json
│           │   │       │   │   │   │   │   ├── AnnotatedClssWithExpandableComment.json
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── classComments/
│           │   │       │   │   │   │   │   ├── Comments1.json
│           │   │       │   │   │   │   │   ├── Comments2.json
│           │   │       │   │   │   │   │   ├── Comments3.json
│           │   │       │   │   │   │   │   ├── Comments4.json
│           │   │       │   │   │   │   │   ├── Comments5.json
│           │   │       │   │   │   │   │   ├── Comments6.json
│           │   │       │   │   │   │   │   ├── Comments7.json
│           │   │       │   │   │   │   │   ├── Comments8.json
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── classInheritance/
│           │   │       │   │   │   │   │   ├── MyClass1.json
│           │   │       │   │   │   │   │   ├── MyClass2.json
│           │   │       │   │   │   │   │   ├── MyClass3.json
│           │   │       │   │   │   │   │   ├── MyClass4.json
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── classMethodComments/
│           │   │       │   │   │   │   │   ├── Comments.json
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── classMethodModifiers/
│           │   │       │   │   │   │   │   ├── Modifiers.json
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── classMethodTypeAnnotations/
│           │   │       │   │   │   │   │   ├── TypeAnnotations.json
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── classMethodTypeReferences/
│           │   │       │   │   │   │   │   ├── MyClass.json
│           │   │       │   │   │   │   │   ├── TypeReferences.json
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── classPropertyAnnotations/
│           │   │       │   │   │   │   │   ├── ClassWithAnnotatedProperty.json
│           │   │       │   │   │   │   │   ├── UserDefinedAnnotation.json
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── classPropertyComments/
│           │   │       │   │   │   │   │   ├── Comments.json
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── classPropertyModifiers/
│           │   │       │   │   │   │   │   ├── Modifiers.json
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── classPropertyTypeAnnotations/
│           │   │       │   │   │   │   │   ├── TypeAnnotations.json
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── classPropertyTypeReferences/
│           │   │       │   │   │   │   │   ├── MyClass.json
│           │   │       │   │   │   │   │   ├── TypeReferences.json
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── classTypeConstraints/
│           │   │       │   │   │   │   │   ├── Address.json
│           │   │       │   │   │   │   │   ├── Person1.json
│           │   │       │   │   │   │   │   ├── Person2.json
│           │   │       │   │   │   │   │   ├── Project.json
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── docExampleSubject1/
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── docExampleSubject2/
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── docLinks/
│           │   │       │   │   │   │   │   ├── Person.json
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── index.json
│           │   │       │   │   │   │   ├── methodAnnotations/
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── moduleComments/
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── moduleExtend/
│           │   │       │   │   │   │   │   ├── ExtendClass.json
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── moduleInfoAnnotation/
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── moduleMethodCommentInheritance/
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── moduleMethodComments/
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── moduleMethodModifiers/
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── moduleMethodTypeAnnotations/
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── moduleMethodTypeReferences/
│           │   │       │   │   │   │   │   ├── MyClass.json
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── modulePropertyAnnotations/
│           │   │       │   │   │   │   │   ├── UserDefinedAnnotation.json
│           │   │       │   │   │   │   │   ├── UserDefinedAnnotation1.json
│           │   │       │   │   │   │   │   ├── UserDefinedAnnotation2.json
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── modulePropertyCommentInheritance/
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── modulePropertyComments/
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── modulePropertyModifiers/
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── modulePropertyTypeAnnotations/
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── modulePropertyTypeReferences/
│           │   │       │   │   │   │   │   ├── MyClass.json
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── moduleTypes1/
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── moduleTypes2/
│           │   │       │   │   │   │   │   ├── Foo.json
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── nested/
│           │   │       │   │   │   │   │   └── nested2/
│           │   │       │   │   │   │   │       └── nestedModule/
│           │   │       │   │   │   │   │           ├── MyClass.json
│           │   │       │   │   │   │   │           └── index.json
│           │   │       │   │   │   │   ├── shared/
│           │   │       │   │   │   │   │   ├── MyClass.json
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── ternalPackage/
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── typeAliasInheritance/
│           │   │       │   │   │   │   │   ├── Person2.json
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── typealiases/
│           │   │       │   │   │   │   │   ├── Person.json
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── typealiases2/
│           │   │       │   │   │   │   │   ├── Foo.json
│           │   │       │   │   │   │   │   ├── Person.json
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── unionTypes/
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── unlistedClass/
│           │   │       │   │   

================================================
FILE CONTENTS
================================================

================================================
FILE: .editorconfig
================================================
root = true

[*]
charset = utf-8
indent_style = space
indent_size = 2
# don't trim whitespace within (say) a Pkl multiline string
trim_trailing_whitespace = false
insert_final_newline = true
max_line_length = 100


================================================
FILE: .git-blame-ignore-revs
================================================
# Auto-format Kotlin code
816cd483c8adf4c04e14236c173a1dc6bd2579ea


================================================
FILE: .gitattributes
================================================
# linguist-generated would suppress files in diffs
**/src/test/files/** linguist-vendored
.github/workflows/* linguist-generated

/docs/** linguist-documentation

*.pcf linguist-language=Pkl
PklProject linguist-language=Pkl

* text eol=lf
*.bat text eol=crlf

*.gif binary
*.jar binary
*.woff2 binary
*.pem binary
*.png binary


================================================
FILE: .githooks/pre-commit
================================================
#!/bin/sh

files=`git diff --cached --name-status`

if [[ $files =~ .github/* ]]; then
  pkl eval --project-dir .github/ -m .github .github/index.pkl
  git add .github/workflows/
fi


================================================
FILE: .github/PklProject
================================================
amends "pkl:Project"

dependencies {
  ["pkl.impl.ghactions"] {
    uri = "package://pkg.pkl-lang.org/pkl-project-commons/pkl.impl.ghactions@1.5.0"
  }
  ["gha"] {
    uri = "package://pkg.pkl-lang.org/pkl-pantry/com.github.actions@1.2.0"
  }
}


================================================
FILE: .github/PklProject.deps.json
================================================
{
  "schemaVersion": 1,
  "resolvedDependencies": {
    "package://pkg.pkl-lang.org/pkl-pantry/com.github.actions@1": {
      "type": "remote",
      "uri": "projectpackage://pkg.pkl-lang.org/pkl-pantry/com.github.actions@1.3.1",
      "checksums": {
        "sha256": "fd515da685ea126678c3ec684e84a4f992d43481cc1d75cb866cd55775f675f9"
      }
    },
    "package://pkg.pkl-lang.org/pkl-project-commons/pkl.impl.ghactions@1": {
      "type": "remote",
      "uri": "projectpackage://pkg.pkl-lang.org/pkl-project-commons/pkl.impl.ghactions@1.5.0",
      "checksums": {
        "sha256": "2c1e0d9efcd65b3c3207bf535c325ebc0ec2ab169187b324c4bb70821cac0e51"
      }
    },
    "package://pkg.pkl-lang.org/pkl-pantry/pkl.experimental.deepToTyped@1": {
      "type": "remote",
      "uri": "projectpackage://pkg.pkl-lang.org/pkl-pantry/pkl.experimental.deepToTyped@1.2.0",
      "checksums": {
        "sha256": "84c7feb391f4ac273a99dc89b8fd51dbcd21dbda4ce640f6908527f83acdd4d6"
      }
    },
    "package://pkg.pkl-lang.org/pkl-pantry/pkl.github.dependabotManagedActions@1": {
      "type": "remote",
      "uri": "projectpackage://pkg.pkl-lang.org/pkl-pantry/pkl.github.dependabotManagedActions@1.0.3",
      "checksums": {
        "sha256": "d368900942efb88ed51a98f9614748b06c74ba43423f045fcd6dedb5dbdc0bea"
      }
    },
    "package://pkg.pkl-lang.org/pkl-pantry/com.github.dependabot@1": {
      "type": "remote",
      "uri": "projectpackage://pkg.pkl-lang.org/pkl-pantry/com.github.dependabot@1.0.0",
      "checksums": {
        "sha256": "02ef6f25bfca5b1d095db73ea15de79d2d2c6832ebcab61e6aba90554382abcb"
      }
    }
  }
}


================================================
FILE: .github/dependabot.yml
================================================
version: 2
updates:
- package-ecosystem: github-actions
  directory: /
  ignore:
  - dependency-name: '*'
    update-types:
    - version-update:semver-major
  schedule:
    interval: weekly


================================================
FILE: .github/index.pkl
================================================
amends "@pkl.impl.ghactions/PklCI.pkl"

import "@gha/Workflow.pkl"

import "jobs/BuildJavaExecutableJob.pkl"
import "jobs/BuildNativeJob.pkl"
import "jobs/DeployJob.pkl"
import "jobs/GithubRelease.pkl"
import "jobs/GradleJob.pkl"
import "jobs/PklJob.pkl"
import "jobs/SimpleGradleJob.pkl"

triggerDocsBuild = "both"

testReports {
  junit {
    "**/build/test-results/**/*.xml"
  }
  html {
    "**/build/reports/tests/**/*"
  }
  excludeJobs {
    "bench"
    "github-release"
    Regex("deploy-.*")
  }
}

local baseGradleCheck: SimpleGradleJob = new {
  isRelease = false
  command = "check"
  fetchDepth = 0
}

local gradleCheck = (baseGradleCheck) {
  os = "linux"
}

local gradleCheckWindows = (baseGradleCheck) {
  os = "windows"
}

local typealias PklJobs = Mapping<String, PklJob>

local toWorkflowJobs: (PklJobs) -> Workflow.Jobs = (it) -> new Workflow.Jobs {
  for (k, v in it) {
    [k] = v.job
  }
}

local gradleCheckJobs: PklJobs = new {
  ["gradle-check"] = gradleCheck
  ["gradle-check-windows"] = gradleCheckWindows
}

local buildNativeJobs: Mapping<String, BuildNativeJob> = new {
  for (_dist in List("release", "snapshot")) {
    for (_project in List("pkl-cli", "pkl-doc")) {
      for (_arch in List("amd64", "aarch64")) {
        for (_os in List("macOS", "linux")) {
          ["\(_project)-\(_os)-\(_arch)-\(_dist)"] {
            arch = _arch
            os = _os
            isRelease = _dist == "release"
            project = _project
          }
        }
      }
      ["\(_project)-alpine-linux-amd64-\(_dist)"] {
        arch = "amd64"
        os = "linux"
        musl = true
        isRelease = _dist == "release"
        project = _project
      }
      ["\(_project)-windows-amd64-\(_dist)"] {
        arch = "amd64"
        os = "windows"
        isRelease = _dist == "release"
        project = _project
      }
    }
  }
}

local buildNativeSnapshots = buildNativeJobs.toMap().filter((key, _) -> key.endsWith("snapshot"))

local buildNativeReleases = buildNativeJobs.toMap().filter((key, _) -> key.endsWith("release"))

local benchmarkJob: SimpleGradleJob = new { command = "bench:jmh" }

local gradleCompatibilityJob: SimpleGradleJob = new {
  command = ":pkl-gradle:build :pkl-gradle:compatibilityTestReleases"
  fetchDepth = 0
}

local buildJavaExecutableJob: BuildJavaExecutableJob = new {
  fetchDepth = 0
}

local buildAndTestJobs: PklJobs = new {
  ...gradleCheckJobs
  ["bench"] = benchmarkJob
  ["gradle-compatibility"] = gradleCompatibilityJob
  ["java-executables-snapshot"] = (buildJavaExecutableJob) { isRelease = false }
  ...buildNativeSnapshots
}

local releaseJobs: PklJobs = new {
  ...gradleCheckJobs
  ["bench"] = benchmarkJob
  ["gradle-compatibility"] = gradleCompatibilityJob
  ["java-executables-release"] = (buildJavaExecutableJob) { isRelease = true }
  ...buildNativeReleases
}

// By default, just run ./gradlew check on linux.
// Trigger other checks based on GitHub PR description. Examples:
//
//    * [windows]                     -- Test on Windows
//    * [native]                      -- Test all native builds
//    * [native-pkl-cli]              -- Test all pkl-cli os/arch pairs
//    * [native-pkl-cli-macos]        -- Test pkl-cli on macOS
prb {
  local prbJobs: Mapping<String, GradleJob> = new {
    ["gradle-check"] = gradleCheck
    ["gradle-check-windows"] = (gradleCheckWindows) {
      `if` = "contains(github.event.pull_request.body, '[windows]')"
    }
    for (jobName, job in buildNativeSnapshots) {
      [jobName] = (job) {
        local tags = new Listing {
          "[native]"
          "[native-\(job.project)]"
          "[native-\(job.project)-\(job.os)]"
          "[native-\(job.project)-\(job.os)-\(job.arch)]"
          "[native-\(job.project)-\(job.os)-\(job.arch)]"
          when (job.musl) {
            "[native-\(job.project)-alpine-\(job.os)-\(job.arch)]"
          }
        }
        `if` =
          tags
            .toList()
            .map((it) -> "contains(github.event.pull_request.body, '\(it)')")
            .join(" || ")
      }
    }
  }
  local prbJobs2 = (prbJobs) {
    [[true]] {
      // better SLA when not running on nightly
      nightlyMacOS = false
    }
  }
  jobs = prbJobs2 |> toWorkflowJobs
}

build {
  jobs = buildAndTestJobs |> toWorkflowJobs
}

main {
  jobs =
    (buildAndTestJobs) {
      ["deploy-snapshot"] = (
        new DeployJob {
          extraGradleArgs {
            "--no-parallel"
          }
          command = "publishToSonatype"
        }
      ) {
        needs = buildAndTestJobs.keys.toListing()
      }
    } |> toWorkflowJobs
}

releaseBranch {
  jobs = releaseJobs |> toWorkflowJobs
}

release {
  jobs =
    (releaseJobs) {
      ["deploy-release"] = (
        new DeployJob {
          isRelease = true
          command = "publishToSonatype closeAndReleaseSonatypeStagingRepository"
        }
      ) {
        needs = releaseJobs.keys.toListing()
      }
      ["github-release"] = new GithubRelease {
        needs = "deploy-release"
      }
    } |> toWorkflowJobs
}


================================================
FILE: .github/jobs/BuildJavaExecutableJob.pkl
================================================
extends "GradleJob.pkl"

import "@gha/catalog.pkl"

// Keep this in sync with projects that build java executables
local projects: List<String> = List("pkl-doc", "pkl-cli", "pkl-codegen-java", "pkl-codegen-kotlin")

local command =
  new Listing<String> {
    "./gradlew"
    module.gradleArgs
    for (project in projects) {
      // NOTE: `build` doesn't build native executables
      "\(project):build"
    }
  }.join(" ")

steps {
  catalog.`actions/checkout@v6`
  new {
    name = "gradle build java executables"
    shell = "bash"
    run = command
  }
  (catalog.`actions/upload-artifact@v5`) {
    name = "Upload executable artifacts"
    with {
      name = "executable-java"
      path = "*/build/executable/**/*"
    }
  }
}


================================================
FILE: .github/jobs/BuildNativeJob.pkl
================================================
extends "GradleJob.pkl"

import "@gha/catalog.pkl"
import "@gha/context.pkl"

/// Whether to link to musl. Otherwise, links to glibc.
musl: Boolean(implies(module.os == "linux")) = false

/// The Gradle project under which to generate the executable
project: String

extraGradleArgs {
  when (os == "macOS" && arch == "amd64") {
    "-Dpkl.targetArch=\(module.arch)"
    #""-Dpkl.native--native-compiler-path=${GITHUB_WORKSPACE}/.github/scripts/cc_macos_amd64.sh""#
  }
  when (musl) {
    "-Dpkl.musl=true"
  }
}

preSteps {
  when (os == "linux" && !musl) {
    new {
      name = "Install deps"
      run = "dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en"
    }
  }
}

steps {
  when (musl) {
    new {
      name = "Install musl and zlib"
      run = read("../scripts/install_musl.sh").text
    }
  }
  // workaround for https://github.com/actions/checkout/issues/1048
  when (os == "linux" && !musl) {
    new {
      name = "Fix git ownership"
      // language=bash
      run = #"git status || git config --system --add safe.directory "$GITHUB_WORKSPACE""#
    }
  }
  new {
    name = "gradle buildNative"
    shell = "bash"
    run = "./gradlew \(module.gradleArgs) \(project):buildNative"
  }
  (catalog.`actions/upload-artifact@v5`) {
    name = "Upload executable artifacts"
    with {
      name =
        if (musl)
          "executable-\(project)-alpine-\(module.os)-\(module.arch)"
        else
          "executable-\(project)-\(module.os)-\(module.arch)"
      // Need to insert a wildcard to make actions/upload-artifact preserve the folder hierarchy.
      // See https://github.com/actions/upload-artifact/issues/206
      path = "\(project)*/build/executable/**/*"
    }
  }
}

fixed job {
  when (os == "linux" && !musl) {
    container {
      image = "redhat/ubi8:8.10"
    }
  }
}


================================================
FILE: .github/jobs/DeployJob.pkl
================================================
extends "GradleJob.pkl"

import "@gha/catalog.pkl"
import "@gha/Workflow.pkl"
import "@pkl.impl.ghactions/helpers.pkl"

local self = this

command: String

arch = "amd64"

os = "linux"

steps {
  catalog.`actions/checkout@v6`
  (catalog.`actions/download-artifact@v6`) {
    with {
      pattern = "executable-**"
      `merge-multiple` = true
    }
  }
  new Workflow.Step {
    run = "./gradlew \(self.gradleArgs) \(module.command)"
  }
    |> helpers.withMavenPublishSecrets
}

fixed job {
  environment = "maven-release"
}


================================================
FILE: .github/jobs/GithubRelease.pkl
================================================
module GithubRelease

extends "PklJob.pkl"

import "@gha/catalog.pkl"
import "@gha/context.pkl"

fixed job {
  `runs-on` = "ubuntu-latest"
  permissions {
    contents = "write"
  }
  needs = "deploy-release"
  steps {
    (catalog.`actions/download-artifact@v6`) {
      with {
        pattern = "executable-**"
        `merge-multiple` = true
      }
    }
    new {
      name = "Publish release on GitHub"
      env {
        ["GH_TOKEN"] = context.github.token
        ["TAG_NAME"] = context.github.refName
        ["GIT_SHA"] = context.github.sha
        ["GH_REPO"] = context.github.repository
      }
      // language=bash
      run =
        #"""
        # exclude build_artifacts.txt from publish
        rm -f */build/executable/*.build_artifacts.txt
        find */build/executable/* -type d | xargs rm -rf
        gh release create ${TAG_NAME} \
          --title "${TAG_NAME}" \
          --target "${GIT_SHA}" \
          --verify-tag \
          --notes "Release notes: https://pkl-lang.org/main/current/release-notes/changelog.html#release-${TAG_NAME}" \
          */build/executable/*
        """#
    }
  }
}


================================================
FILE: .github/jobs/GradleJob.pkl
================================================
abstract module GradleJob

extends "PklJob.pkl"

import "@gha/Workflow.pkl"
import "@pkl.impl.ghactions/catalog.pkl"

/// Whether this is a release build or not.
isRelease: Boolean = false

/// The architecture to use
arch: "amd64" | "aarch64" = "amd64"

/// The OS to run on.
os: "macOS" | "linux" | "windows" = "linux"

// TODO flip this to `true` when nightly macOS is available
/// Whether to run on nightly macOS.
nightlyMacOS: Boolean(implies(os == "macOS")) = false

extraGradleArgs: Listing<String>

steps: Listing<Workflow.Step>

preSteps: Listing<Workflow.Step>

/// The fetch depth to use when doing a git checkout.
fetchDepth: Int?

fixed gradleArgs =
  new Listing {
    "--info"
    "--stacktrace"
    "--no-daemon"
    "-DpklMultiJdkTesting=true"
    when (isRelease) {
      "-DreleaseBuild=true"
    }
    ...extraGradleArgs
  }.join(" ")

fixed job {
  env {
    ["LANG"] = "en_US.UTF-8"
    when (os == "windows") {
      ["JAVA_HOME"] = "/jdk"
    }
  }
  when (os == "macOS") {
    `if` =
      let (cond = "github.repository_owner == 'apple'")
        if (super.`if` != null)
          "(\(super.`if`)) && \(cond)"
        else
          cond
  }
  `runs-on` =
    if (os == "linux" && arch == "amd64")
      "ubuntu-latest"
    else if (os == "linux" && arch == "aarch64")
      "ubuntu-24.04-arm"
    else if (os == "windows")
      "windows-latest"
    else
      new Listing {
        "self-hosted"
        "macos"
        when (nightlyMacOS) {
          "nightly"
        }
      }
  steps {
    ...preSteps
    // full checkout (needed for spotless)
    (catalog.`actions/checkout@v6`) {
      when (fetchDepth != null) {
        with {
          `fetch-depth` = fetchDepth
        }
      }
    }
    (catalog.`actions/setup-java@v5`) {
      with {
        `java-version` = "21"
        distribution = "temurin"
        architecture =
          if (arch == "amd64")
            "x64"
          else
            "aarch64"
      }
    }
    catalog.`gradle/actions/setup-gradle@v5`
    ...module.steps
  }
}


================================================
FILE: .github/jobs/PklJob.pkl
================================================
abstract module PklJob

extends "@pkl.impl.ghactions/jobs/PklJob.pkl"

/// Identify any jobs that must complete successfully before this job will run.
///
/// It can be a string or array of strings.
/// If a job fails or is skipped, all jobs that need it are skipped unless the jobs use a conditional expression that
/// causes the job to continue.
/// If a run contains a series of jobs that need each other, a failure or skip applies to all jobs in the dependency
/// chain from the point of failure or skip onwards. If you would like a job to run even if a job it is dependent on
/// did not succeed, use the `always()` conditional expression in `jobs.<job_id>.if`.
///
/// See: <https://docs.github.com/en/actions/reference/workflows-and-actions/workflow-syntax#jobsjob_idneeds>
needs: (String | *Listing<String>)?

/// A conditional to prevent a job from running unless a condition is met.
///
/// You can use any supported context and expression to create a conditional.
/// For more information on which contexts are supported in this key, see
/// [Contexts reference](https://docs.github.com/en/actions/reference/workflows-and-actions/contexts#context-availability).
@SourceCode { language = "GithubExpressionLanguage" }
`if`: String?

/// The underlying workflow job
fixed job {
  `if` = module.`if`
  needs = module.needs
}


================================================
FILE: .github/jobs/SimpleGradleJob.pkl
================================================
extends "GradleJob.pkl"

name: String = command

command: String

os = "linux"

steps {
  new {
    name = module.name
    shell = "bash"
    run =
      """
      ./gradlew \(module.gradleArgs) \(module.command)
      """
  }
}


================================================
FILE: .github/scripts/cc_macos_amd64.sh
================================================
#!/usr/bin/env bash
clang -arch x86_64 "$@"


================================================
FILE: .github/scripts/install_musl.sh
================================================
set -e
mkdir -p ~/staticdeps/

ZLIB_VERSION="1.2.13"
MUSL_VERSION="1.2.5"

# install zlib
if [[ ! -f ~/staticdeps/include/zlib.h ]]; then
  # Download zlib tarball and signature
  curl -Lf "https://github.com/madler/zlib/releases/download/v${ZLIB_VERSION}/zlib-${ZLIB_VERSION}.tar.gz" -o /tmp/zlib.tar.gz
  curl -Lf "https://github.com/madler/zlib/releases/download/v${ZLIB_VERSION}/zlib-${ZLIB_VERSION}.tar.gz.asc" -o /tmp/zlib.tar.gz.asc

  # Import zlib GPG key
  gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 5ED46A6721D365587791E2AA783FCD8E58BCAFBA

  # Verify GPG signature
  echo "Verifying zlib GPG signature..."
  gpg --verify /tmp/zlib.tar.gz.asc /tmp/zlib.tar.gz

  mkdir -p "/tmp/dep_zlib-${ZLIB_VERSION}"
  cd "/tmp/dep_zlib-${ZLIB_VERSION}"
  # shellcheck disable=SC2002
  cat /tmp/zlib.tar.gz | tar --strip-components=1 -xzC .

  echo "zlib-${ZLIB_VERSION}: configure..." 
  ./configure --static --prefix="$HOME"/staticdeps > /dev/null

  echo "zlib-${ZLIB_VERSION}: make..." 
  make -s -j4

  echo "zlib-${ZLIB_VERSION}: make install..." 
  make -s install

  rm -rf /tmp/dep_zlib-${ZLIB_VERSION}
fi

# install musl
if [[ ! -f ~/staticdeps/bin/x86_64-linux-musl-gcc ]]; then
  # Download musl tarball and signature
  curl -Lf "https://musl.libc.org/releases/musl-${MUSL_VERSION}.tar.gz" -o /tmp/musl.tar.gz
  curl -Lf "https://musl.libc.org/releases/musl-${MUSL_VERSION}.tar.gz.asc" -o /tmp/musl.tar.gz.asc

  # Import musl GPG key
  gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 836489290BB6B70F99FFDA0556BCDB593020450F

  # Verify GPG signature
  echo "Verifying musl GPG signature..."
  gpg --verify /tmp/musl.tar.gz.asc /tmp/musl.tar.gz

  mkdir -p "/tmp/dep_musl-${MUSL_VERSION}"
  cd "/tmp/dep_musl-${MUSL_VERSION}"

  # shellcheck disable=SC2002
  cat /tmp/musl.tar.gz | tar --strip-components=1 -xzC .

  echo "musl-${MUSL_VERSION}: configure..." 
  ./configure --disable-shared --prefix="$HOME"/staticdeps > /dev/null

  echo "musl-${MUSL_VERSION}: make..." 
  make -s -j4

  echo "musl-${MUSL_VERSION}: make install..." 
  make -s install

  rm -rf "/tmp/dep_musl-${MUSL_VERSION}"

  # native-image expects to find an executable at this path.
  ln -s ~/staticdeps/bin/musl-gcc ~/staticdeps/bin/x86_64-linux-musl-gcc
fi

echo "${HOME}/staticdeps/bin" >> "$GITHUB_PATH"


================================================
FILE: .github/workflows/__lockfile__.yml
================================================
#file: noinspection MandatoryParamsAbsent,UndefinedAction
# This is a fake workflow that never runs.
# It's used to pin actions to specific git SHAs when generating actual workflows.
# It also gets updated by dependabot (see .github/dependabot.yml).
# Generated from Workflow.pkl. DO NOT EDIT.
name: __lockfile__
'on':
  push:
    branches-ignore:
    - '**'
    tags-ignore:
    - '**'
permissions: {}
jobs:
  locks:
    if: 'false'
    runs-on: nothing
    steps:
    - name: EnricoMi/publish-unit-test-result-action@v2
      uses: EnricoMi/publish-unit-test-result-action@c950f6fb443cb5af20a377fd0dfaa78838901040 # v2
    - name: actions/checkout@v6
      uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
    - name: actions/create-github-app-token@v2
      uses: actions/create-github-app-token@fee1f7d63c2ff003460e3d139729b119787bc349 # v2
    - name: actions/download-artifact@v6
      uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6
    - name: actions/setup-java@v5
      uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
    - name: actions/upload-artifact@v5
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
    - name: dawidd6/action-download-artifact@v11
      uses: dawidd6/action-download-artifact@ac66b43f0e6a346234dd65d4d0c8fbb31cb316e5 # v11
    - name: gradle/actions/setup-gradle@v5
      uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5


================================================
FILE: .github/workflows/build.yml
================================================
# Generated from Workflow.pkl. DO NOT EDIT.
name: Build
'on':
  push:
    branches-ignore:
    - main
    - release/*
    - dependabot/**
    tags-ignore:
    - '**'
concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: false
permissions:
  contents: read
jobs:
  gradle-check:
    runs-on: ubuntu-latest
    env:
      LANG: en_US.UTF-8
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
        fetch-depth: 0
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: check
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true check
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-gradle-check
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-gradle-check
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  gradle-check-windows:
    runs-on: windows-latest
    env:
      LANG: en_US.UTF-8
      JAVA_HOME: /jdk
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
        fetch-depth: 0
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: check
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true check
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-gradle-check-windows
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-gradle-check-windows
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  bench:
    runs-on: ubuntu-latest
    env:
      LANG: en_US.UTF-8
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: bench:jmh
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true bench:jmh
  gradle-compatibility:
    runs-on: ubuntu-latest
    env:
      LANG: en_US.UTF-8
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
        fetch-depth: 0
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: :pkl-gradle:build :pkl-gradle:compatibilityTestReleases
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true :pkl-gradle:build :pkl-gradle:compatibilityTestReleases
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-gradle-compatibility
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-gradle-compatibility
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  java-executables-snapshot:
    runs-on: ubuntu-latest
    env:
      LANG: en_US.UTF-8
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
        fetch-depth: 0
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - name: gradle build java executables
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true pkl-doc:build pkl-cli:build pkl-codegen-java:build pkl-codegen-kotlin:build
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-java
        path: '*/build/executable/**/*'
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-java-executables-snapshot
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-java-executables-snapshot
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  pkl-cli-macOS-amd64-snapshot:
    if: github.repository_owner == 'apple'
    runs-on:
    - self-hosted
    - macos
    env:
      LANG: en_US.UTF-8
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: gradle buildNative
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true -Dpkl.targetArch=amd64 "-Dpkl.native--native-compiler-path=${GITHUB_WORKSPACE}/.github/scripts/cc_macos_amd64.sh" pkl-cli:buildNative
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-pkl-cli-macOS-amd64
        path: pkl-cli*/build/executable/**/*
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-pkl-cli-macOS-amd64-snapshot
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-pkl-cli-macOS-amd64-snapshot
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  pkl-cli-linux-amd64-snapshot:
    runs-on: ubuntu-latest
    env:
      LANG: en_US.UTF-8
    steps:
    - name: Install deps
      run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: Fix git ownership
      run: git status || git config --system --add safe.directory "$GITHUB_WORKSPACE"
    - name: gradle buildNative
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true pkl-cli:buildNative
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-pkl-cli-linux-amd64
        path: pkl-cli*/build/executable/**/*
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-pkl-cli-linux-amd64-snapshot
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-pkl-cli-linux-amd64-snapshot
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
    container:
      image: redhat/ubi8:8.10
  pkl-cli-macOS-aarch64-snapshot:
    if: github.repository_owner == 'apple'
    runs-on:
    - self-hosted
    - macos
    env:
      LANG: en_US.UTF-8
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: aarch64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: gradle buildNative
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true pkl-cli:buildNative
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-pkl-cli-macOS-aarch64
        path: pkl-cli*/build/executable/**/*
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-pkl-cli-macOS-aarch64-snapshot
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-pkl-cli-macOS-aarch64-snapshot
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  pkl-cli-linux-aarch64-snapshot:
    runs-on: ubuntu-24.04-arm
    env:
      LANG: en_US.UTF-8
    steps:
    - name: Install deps
      run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: aarch64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: Fix git ownership
      run: git status || git config --system --add safe.directory "$GITHUB_WORKSPACE"
    - name: gradle buildNative
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true pkl-cli:buildNative
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-pkl-cli-linux-aarch64
        path: pkl-cli*/build/executable/**/*
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-pkl-cli-linux-aarch64-snapshot
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-pkl-cli-linux-aarch64-snapshot
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
    container:
      image: redhat/ubi8:8.10
  pkl-cli-alpine-linux-amd64-snapshot:
    runs-on: ubuntu-latest
    env:
      LANG: en_US.UTF-8
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: Install musl and zlib
      run: |
        set -e
        mkdir -p ~/staticdeps/

        ZLIB_VERSION="1.2.13"
        MUSL_VERSION="1.2.5"

        # install zlib
        if [[ ! -f ~/staticdeps/include/zlib.h ]]; then
          # Download zlib tarball and signature
          curl -Lf "https://github.com/madler/zlib/releases/download/v${ZLIB_VERSION}/zlib-${ZLIB_VERSION}.tar.gz" -o /tmp/zlib.tar.gz
          curl -Lf "https://github.com/madler/zlib/releases/download/v${ZLIB_VERSION}/zlib-${ZLIB_VERSION}.tar.gz.asc" -o /tmp/zlib.tar.gz.asc

          # Import zlib GPG key
          gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 5ED46A6721D365587791E2AA783FCD8E58BCAFBA

          # Verify GPG signature
          echo "Verifying zlib GPG signature..."
          gpg --verify /tmp/zlib.tar.gz.asc /tmp/zlib.tar.gz

          mkdir -p "/tmp/dep_zlib-${ZLIB_VERSION}"
          cd "/tmp/dep_zlib-${ZLIB_VERSION}"
          # shellcheck disable=SC2002
          cat /tmp/zlib.tar.gz | tar --strip-components=1 -xzC .

          echo "zlib-${ZLIB_VERSION}: configure..." 
          ./configure --static --prefix="$HOME"/staticdeps > /dev/null

          echo "zlib-${ZLIB_VERSION}: make..." 
          make -s -j4

          echo "zlib-${ZLIB_VERSION}: make install..." 
          make -s install

          rm -rf /tmp/dep_zlib-${ZLIB_VERSION}
        fi

        # install musl
        if [[ ! -f ~/staticdeps/bin/x86_64-linux-musl-gcc ]]; then
          # Download musl tarball and signature
          curl -Lf "https://musl.libc.org/releases/musl-${MUSL_VERSION}.tar.gz" -o /tmp/musl.tar.gz
          curl -Lf "https://musl.libc.org/releases/musl-${MUSL_VERSION}.tar.gz.asc" -o /tmp/musl.tar.gz.asc

          # Import musl GPG key
          gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 836489290BB6B70F99FFDA0556BCDB593020450F

          # Verify GPG signature
          echo "Verifying musl GPG signature..."
          gpg --verify /tmp/musl.tar.gz.asc /tmp/musl.tar.gz

          mkdir -p "/tmp/dep_musl-${MUSL_VERSION}"
          cd "/tmp/dep_musl-${MUSL_VERSION}"

          # shellcheck disable=SC2002
          cat /tmp/musl.tar.gz | tar --strip-components=1 -xzC .

          echo "musl-${MUSL_VERSION}: configure..." 
          ./configure --disable-shared --prefix="$HOME"/staticdeps > /dev/null

          echo "musl-${MUSL_VERSION}: make..." 
          make -s -j4

          echo "musl-${MUSL_VERSION}: make install..." 
          make -s install

          rm -rf "/tmp/dep_musl-${MUSL_VERSION}"

          # native-image expects to find an executable at this path.
          ln -s ~/staticdeps/bin/musl-gcc ~/staticdeps/bin/x86_64-linux-musl-gcc
        fi

        echo "${HOME}/staticdeps/bin" >> "$GITHUB_PATH"
    - name: gradle buildNative
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true -Dpkl.musl=true pkl-cli:buildNative
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-pkl-cli-alpine-linux-amd64
        path: pkl-cli*/build/executable/**/*
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-pkl-cli-alpine-linux-amd64-snapshot
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-pkl-cli-alpine-linux-amd64-snapshot
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  pkl-cli-windows-amd64-snapshot:
    runs-on: windows-latest
    env:
      LANG: en_US.UTF-8
      JAVA_HOME: /jdk
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: gradle buildNative
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true pkl-cli:buildNative
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-pkl-cli-windows-amd64
        path: pkl-cli*/build/executable/**/*
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-pkl-cli-windows-amd64-snapshot
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-pkl-cli-windows-amd64-snapshot
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  pkl-doc-macOS-amd64-snapshot:
    if: github.repository_owner == 'apple'
    runs-on:
    - self-hosted
    - macos
    env:
      LANG: en_US.UTF-8
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: gradle buildNative
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true -Dpkl.targetArch=amd64 "-Dpkl.native--native-compiler-path=${GITHUB_WORKSPACE}/.github/scripts/cc_macos_amd64.sh" pkl-doc:buildNative
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-pkl-doc-macOS-amd64
        path: pkl-doc*/build/executable/**/*
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-pkl-doc-macOS-amd64-snapshot
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-pkl-doc-macOS-amd64-snapshot
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  pkl-doc-linux-amd64-snapshot:
    runs-on: ubuntu-latest
    env:
      LANG: en_US.UTF-8
    steps:
    - name: Install deps
      run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: Fix git ownership
      run: git status || git config --system --add safe.directory "$GITHUB_WORKSPACE"
    - name: gradle buildNative
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true pkl-doc:buildNative
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-pkl-doc-linux-amd64
        path: pkl-doc*/build/executable/**/*
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-pkl-doc-linux-amd64-snapshot
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-pkl-doc-linux-amd64-snapshot
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
    container:
      image: redhat/ubi8:8.10
  pkl-doc-macOS-aarch64-snapshot:
    if: github.repository_owner == 'apple'
    runs-on:
    - self-hosted
    - macos
    env:
      LANG: en_US.UTF-8
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: aarch64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: gradle buildNative
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true pkl-doc:buildNative
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-pkl-doc-macOS-aarch64
        path: pkl-doc*/build/executable/**/*
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-pkl-doc-macOS-aarch64-snapshot
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-pkl-doc-macOS-aarch64-snapshot
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  pkl-doc-linux-aarch64-snapshot:
    runs-on: ubuntu-24.04-arm
    env:
      LANG: en_US.UTF-8
    steps:
    - name: Install deps
      run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: aarch64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: Fix git ownership
      run: git status || git config --system --add safe.directory "$GITHUB_WORKSPACE"
    - name: gradle buildNative
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true pkl-doc:buildNative
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-pkl-doc-linux-aarch64
        path: pkl-doc*/build/executable/**/*
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-pkl-doc-linux-aarch64-snapshot
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-pkl-doc-linux-aarch64-snapshot
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
    container:
      image: redhat/ubi8:8.10
  pkl-doc-alpine-linux-amd64-snapshot:
    runs-on: ubuntu-latest
    env:
      LANG: en_US.UTF-8
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: Install musl and zlib
      run: |
        set -e
        mkdir -p ~/staticdeps/

        ZLIB_VERSION="1.2.13"
        MUSL_VERSION="1.2.5"

        # install zlib
        if [[ ! -f ~/staticdeps/include/zlib.h ]]; then
          # Download zlib tarball and signature
          curl -Lf "https://github.com/madler/zlib/releases/download/v${ZLIB_VERSION}/zlib-${ZLIB_VERSION}.tar.gz" -o /tmp/zlib.tar.gz
          curl -Lf "https://github.com/madler/zlib/releases/download/v${ZLIB_VERSION}/zlib-${ZLIB_VERSION}.tar.gz.asc" -o /tmp/zlib.tar.gz.asc

          # Import zlib GPG key
          gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 5ED46A6721D365587791E2AA783FCD8E58BCAFBA

          # Verify GPG signature
          echo "Verifying zlib GPG signature..."
          gpg --verify /tmp/zlib.tar.gz.asc /tmp/zlib.tar.gz

          mkdir -p "/tmp/dep_zlib-${ZLIB_VERSION}"
          cd "/tmp/dep_zlib-${ZLIB_VERSION}"
          # shellcheck disable=SC2002
          cat /tmp/zlib.tar.gz | tar --strip-components=1 -xzC .

          echo "zlib-${ZLIB_VERSION}: configure..." 
          ./configure --static --prefix="$HOME"/staticdeps > /dev/null

          echo "zlib-${ZLIB_VERSION}: make..." 
          make -s -j4

          echo "zlib-${ZLIB_VERSION}: make install..." 
          make -s install

          rm -rf /tmp/dep_zlib-${ZLIB_VERSION}
        fi

        # install musl
        if [[ ! -f ~/staticdeps/bin/x86_64-linux-musl-gcc ]]; then
          # Download musl tarball and signature
          curl -Lf "https://musl.libc.org/releases/musl-${MUSL_VERSION}.tar.gz" -o /tmp/musl.tar.gz
          curl -Lf "https://musl.libc.org/releases/musl-${MUSL_VERSION}.tar.gz.asc" -o /tmp/musl.tar.gz.asc

          # Import musl GPG key
          gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 836489290BB6B70F99FFDA0556BCDB593020450F

          # Verify GPG signature
          echo "Verifying musl GPG signature..."
          gpg --verify /tmp/musl.tar.gz.asc /tmp/musl.tar.gz

          mkdir -p "/tmp/dep_musl-${MUSL_VERSION}"
          cd "/tmp/dep_musl-${MUSL_VERSION}"

          # shellcheck disable=SC2002
          cat /tmp/musl.tar.gz | tar --strip-components=1 -xzC .

          echo "musl-${MUSL_VERSION}: configure..." 
          ./configure --disable-shared --prefix="$HOME"/staticdeps > /dev/null

          echo "musl-${MUSL_VERSION}: make..." 
          make -s -j4

          echo "musl-${MUSL_VERSION}: make install..." 
          make -s install

          rm -rf "/tmp/dep_musl-${MUSL_VERSION}"

          # native-image expects to find an executable at this path.
          ln -s ~/staticdeps/bin/musl-gcc ~/staticdeps/bin/x86_64-linux-musl-gcc
        fi

        echo "${HOME}/staticdeps/bin" >> "$GITHUB_PATH"
    - name: gradle buildNative
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true -Dpkl.musl=true pkl-doc:buildNative
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-pkl-doc-alpine-linux-amd64
        path: pkl-doc*/build/executable/**/*
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-pkl-doc-alpine-linux-amd64-snapshot
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-pkl-doc-alpine-linux-amd64-snapshot
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  pkl-doc-windows-amd64-snapshot:
    runs-on: windows-latest
    env:
      LANG: en_US.UTF-8
      JAVA_HOME: /jdk
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: gradle buildNative
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true pkl-doc:buildNative
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-pkl-doc-windows-amd64
        path: pkl-doc*/build/executable/**/*
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-pkl-doc-windows-amd64-snapshot
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-pkl-doc-windows-amd64-snapshot
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  publish-test-results:
    if: '!cancelled()'
    needs:
    - gradle-check
    - gradle-check-windows
    - gradle-compatibility
    - java-executables-snapshot
    - pkl-cli-macOS-amd64-snapshot
    - pkl-cli-linux-amd64-snapshot
    - pkl-cli-macOS-aarch64-snapshot
    - pkl-cli-linux-aarch64-snapshot
    - pkl-cli-alpine-linux-amd64-snapshot
    - pkl-cli-windows-amd64-snapshot
    - pkl-doc-macOS-amd64-snapshot
    - pkl-doc-linux-amd64-snapshot
    - pkl-doc-macOS-aarch64-snapshot
    - pkl-doc-linux-aarch64-snapshot
    - pkl-doc-alpine-linux-amd64-snapshot
    - pkl-doc-windows-amd64-snapshot
    permissions:
      checks: write
    runs-on: ubuntu-latest
    steps:
    - uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6
      with:
        pattern: test-results-xml-*
    - name: Publish test results
      if: '!cancelled()'
      uses: EnricoMi/publish-unit-test-result-action@c950f6fb443cb5af20a377fd0dfaa78838901040 # v2
      with:
        comment_mode: 'off'
        files: test-results-xml-*/**/*.xml
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-publish-test-results
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore


================================================
FILE: .github/workflows/main.yml
================================================
# Generated from Workflow.pkl. DO NOT EDIT.
name: Build (main)
'on':
  push:
    branches:
    - main
    tags-ignore:
    - '**'
concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: false
permissions:
  contents: read
jobs:
  gradle-check:
    runs-on: ubuntu-latest
    env:
      LANG: en_US.UTF-8
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
        fetch-depth: 0
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: check
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true check
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-gradle-check
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-gradle-check
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  gradle-check-windows:
    runs-on: windows-latest
    env:
      LANG: en_US.UTF-8
      JAVA_HOME: /jdk
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
        fetch-depth: 0
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: check
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true check
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-gradle-check-windows
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-gradle-check-windows
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  bench:
    runs-on: ubuntu-latest
    env:
      LANG: en_US.UTF-8
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: bench:jmh
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true bench:jmh
  gradle-compatibility:
    runs-on: ubuntu-latest
    env:
      LANG: en_US.UTF-8
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
        fetch-depth: 0
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: :pkl-gradle:build :pkl-gradle:compatibilityTestReleases
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true :pkl-gradle:build :pkl-gradle:compatibilityTestReleases
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-gradle-compatibility
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-gradle-compatibility
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  java-executables-snapshot:
    runs-on: ubuntu-latest
    env:
      LANG: en_US.UTF-8
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
        fetch-depth: 0
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - name: gradle build java executables
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true pkl-doc:build pkl-cli:build pkl-codegen-java:build pkl-codegen-kotlin:build
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-java
        path: '*/build/executable/**/*'
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-java-executables-snapshot
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-java-executables-snapshot
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  pkl-cli-macOS-amd64-snapshot:
    if: github.repository_owner == 'apple'
    runs-on:
    - self-hosted
    - macos
    env:
      LANG: en_US.UTF-8
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: gradle buildNative
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true -Dpkl.targetArch=amd64 "-Dpkl.native--native-compiler-path=${GITHUB_WORKSPACE}/.github/scripts/cc_macos_amd64.sh" pkl-cli:buildNative
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-pkl-cli-macOS-amd64
        path: pkl-cli*/build/executable/**/*
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-pkl-cli-macOS-amd64-snapshot
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-pkl-cli-macOS-amd64-snapshot
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  pkl-cli-linux-amd64-snapshot:
    runs-on: ubuntu-latest
    env:
      LANG: en_US.UTF-8
    steps:
    - name: Install deps
      run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: Fix git ownership
      run: git status || git config --system --add safe.directory "$GITHUB_WORKSPACE"
    - name: gradle buildNative
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true pkl-cli:buildNative
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-pkl-cli-linux-amd64
        path: pkl-cli*/build/executable/**/*
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-pkl-cli-linux-amd64-snapshot
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-pkl-cli-linux-amd64-snapshot
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
    container:
      image: redhat/ubi8:8.10
  pkl-cli-macOS-aarch64-snapshot:
    if: github.repository_owner == 'apple'
    runs-on:
    - self-hosted
    - macos
    env:
      LANG: en_US.UTF-8
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: aarch64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: gradle buildNative
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true pkl-cli:buildNative
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-pkl-cli-macOS-aarch64
        path: pkl-cli*/build/executable/**/*
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-pkl-cli-macOS-aarch64-snapshot
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-pkl-cli-macOS-aarch64-snapshot
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  pkl-cli-linux-aarch64-snapshot:
    runs-on: ubuntu-24.04-arm
    env:
      LANG: en_US.UTF-8
    steps:
    - name: Install deps
      run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: aarch64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: Fix git ownership
      run: git status || git config --system --add safe.directory "$GITHUB_WORKSPACE"
    - name: gradle buildNative
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true pkl-cli:buildNative
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-pkl-cli-linux-aarch64
        path: pkl-cli*/build/executable/**/*
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-pkl-cli-linux-aarch64-snapshot
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-pkl-cli-linux-aarch64-snapshot
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
    container:
      image: redhat/ubi8:8.10
  pkl-cli-alpine-linux-amd64-snapshot:
    runs-on: ubuntu-latest
    env:
      LANG: en_US.UTF-8
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: Install musl and zlib
      run: |
        set -e
        mkdir -p ~/staticdeps/

        ZLIB_VERSION="1.2.13"
        MUSL_VERSION="1.2.5"

        # install zlib
        if [[ ! -f ~/staticdeps/include/zlib.h ]]; then
          # Download zlib tarball and signature
          curl -Lf "https://github.com/madler/zlib/releases/download/v${ZLIB_VERSION}/zlib-${ZLIB_VERSION}.tar.gz" -o /tmp/zlib.tar.gz
          curl -Lf "https://github.com/madler/zlib/releases/download/v${ZLIB_VERSION}/zlib-${ZLIB_VERSION}.tar.gz.asc" -o /tmp/zlib.tar.gz.asc

          # Import zlib GPG key
          gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 5ED46A6721D365587791E2AA783FCD8E58BCAFBA

          # Verify GPG signature
          echo "Verifying zlib GPG signature..."
          gpg --verify /tmp/zlib.tar.gz.asc /tmp/zlib.tar.gz

          mkdir -p "/tmp/dep_zlib-${ZLIB_VERSION}"
          cd "/tmp/dep_zlib-${ZLIB_VERSION}"
          # shellcheck disable=SC2002
          cat /tmp/zlib.tar.gz | tar --strip-components=1 -xzC .

          echo "zlib-${ZLIB_VERSION}: configure..." 
          ./configure --static --prefix="$HOME"/staticdeps > /dev/null

          echo "zlib-${ZLIB_VERSION}: make..." 
          make -s -j4

          echo "zlib-${ZLIB_VERSION}: make install..." 
          make -s install

          rm -rf /tmp/dep_zlib-${ZLIB_VERSION}
        fi

        # install musl
        if [[ ! -f ~/staticdeps/bin/x86_64-linux-musl-gcc ]]; then
          # Download musl tarball and signature
          curl -Lf "https://musl.libc.org/releases/musl-${MUSL_VERSION}.tar.gz" -o /tmp/musl.tar.gz
          curl -Lf "https://musl.libc.org/releases/musl-${MUSL_VERSION}.tar.gz.asc" -o /tmp/musl.tar.gz.asc

          # Import musl GPG key
          gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 836489290BB6B70F99FFDA0556BCDB593020450F

          # Verify GPG signature
          echo "Verifying musl GPG signature..."
          gpg --verify /tmp/musl.tar.gz.asc /tmp/musl.tar.gz

          mkdir -p "/tmp/dep_musl-${MUSL_VERSION}"
          cd "/tmp/dep_musl-${MUSL_VERSION}"

          # shellcheck disable=SC2002
          cat /tmp/musl.tar.gz | tar --strip-components=1 -xzC .

          echo "musl-${MUSL_VERSION}: configure..." 
          ./configure --disable-shared --prefix="$HOME"/staticdeps > /dev/null

          echo "musl-${MUSL_VERSION}: make..." 
          make -s -j4

          echo "musl-${MUSL_VERSION}: make install..." 
          make -s install

          rm -rf "/tmp/dep_musl-${MUSL_VERSION}"

          # native-image expects to find an executable at this path.
          ln -s ~/staticdeps/bin/musl-gcc ~/staticdeps/bin/x86_64-linux-musl-gcc
        fi

        echo "${HOME}/staticdeps/bin" >> "$GITHUB_PATH"
    - name: gradle buildNative
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true -Dpkl.musl=true pkl-cli:buildNative
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-pkl-cli-alpine-linux-amd64
        path: pkl-cli*/build/executable/**/*
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-pkl-cli-alpine-linux-amd64-snapshot
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-pkl-cli-alpine-linux-amd64-snapshot
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  pkl-cli-windows-amd64-snapshot:
    runs-on: windows-latest
    env:
      LANG: en_US.UTF-8
      JAVA_HOME: /jdk
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: gradle buildNative
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true pkl-cli:buildNative
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-pkl-cli-windows-amd64
        path: pkl-cli*/build/executable/**/*
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-pkl-cli-windows-amd64-snapshot
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-pkl-cli-windows-amd64-snapshot
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  pkl-doc-macOS-amd64-snapshot:
    if: github.repository_owner == 'apple'
    runs-on:
    - self-hosted
    - macos
    env:
      LANG: en_US.UTF-8
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: gradle buildNative
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true -Dpkl.targetArch=amd64 "-Dpkl.native--native-compiler-path=${GITHUB_WORKSPACE}/.github/scripts/cc_macos_amd64.sh" pkl-doc:buildNative
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-pkl-doc-macOS-amd64
        path: pkl-doc*/build/executable/**/*
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-pkl-doc-macOS-amd64-snapshot
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-pkl-doc-macOS-amd64-snapshot
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  pkl-doc-linux-amd64-snapshot:
    runs-on: ubuntu-latest
    env:
      LANG: en_US.UTF-8
    steps:
    - name: Install deps
      run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: Fix git ownership
      run: git status || git config --system --add safe.directory "$GITHUB_WORKSPACE"
    - name: gradle buildNative
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true pkl-doc:buildNative
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-pkl-doc-linux-amd64
        path: pkl-doc*/build/executable/**/*
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-pkl-doc-linux-amd64-snapshot
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-pkl-doc-linux-amd64-snapshot
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
    container:
      image: redhat/ubi8:8.10
  pkl-doc-macOS-aarch64-snapshot:
    if: github.repository_owner == 'apple'
    runs-on:
    - self-hosted
    - macos
    env:
      LANG: en_US.UTF-8
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: aarch64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: gradle buildNative
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true pkl-doc:buildNative
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-pkl-doc-macOS-aarch64
        path: pkl-doc*/build/executable/**/*
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-pkl-doc-macOS-aarch64-snapshot
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-pkl-doc-macOS-aarch64-snapshot
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  pkl-doc-linux-aarch64-snapshot:
    runs-on: ubuntu-24.04-arm
    env:
      LANG: en_US.UTF-8
    steps:
    - name: Install deps
      run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: aarch64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: Fix git ownership
      run: git status || git config --system --add safe.directory "$GITHUB_WORKSPACE"
    - name: gradle buildNative
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true pkl-doc:buildNative
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-pkl-doc-linux-aarch64
        path: pkl-doc*/build/executable/**/*
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-pkl-doc-linux-aarch64-snapshot
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-pkl-doc-linux-aarch64-snapshot
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
    container:
      image: redhat/ubi8:8.10
  pkl-doc-alpine-linux-amd64-snapshot:
    runs-on: ubuntu-latest
    env:
      LANG: en_US.UTF-8
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: Install musl and zlib
      run: |
        set -e
        mkdir -p ~/staticdeps/

        ZLIB_VERSION="1.2.13"
        MUSL_VERSION="1.2.5"

        # install zlib
        if [[ ! -f ~/staticdeps/include/zlib.h ]]; then
          # Download zlib tarball and signature
          curl -Lf "https://github.com/madler/zlib/releases/download/v${ZLIB_VERSION}/zlib-${ZLIB_VERSION}.tar.gz" -o /tmp/zlib.tar.gz
          curl -Lf "https://github.com/madler/zlib/releases/download/v${ZLIB_VERSION}/zlib-${ZLIB_VERSION}.tar.gz.asc" -o /tmp/zlib.tar.gz.asc

          # Import zlib GPG key
          gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 5ED46A6721D365587791E2AA783FCD8E58BCAFBA

          # Verify GPG signature
          echo "Verifying zlib GPG signature..."
          gpg --verify /tmp/zlib.tar.gz.asc /tmp/zlib.tar.gz

          mkdir -p "/tmp/dep_zlib-${ZLIB_VERSION}"
          cd "/tmp/dep_zlib-${ZLIB_VERSION}"
          # shellcheck disable=SC2002
          cat /tmp/zlib.tar.gz | tar --strip-components=1 -xzC .

          echo "zlib-${ZLIB_VERSION}: configure..." 
          ./configure --static --prefix="$HOME"/staticdeps > /dev/null

          echo "zlib-${ZLIB_VERSION}: make..." 
          make -s -j4

          echo "zlib-${ZLIB_VERSION}: make install..." 
          make -s install

          rm -rf /tmp/dep_zlib-${ZLIB_VERSION}
        fi

        # install musl
        if [[ ! -f ~/staticdeps/bin/x86_64-linux-musl-gcc ]]; then
          # Download musl tarball and signature
          curl -Lf "https://musl.libc.org/releases/musl-${MUSL_VERSION}.tar.gz" -o /tmp/musl.tar.gz
          curl -Lf "https://musl.libc.org/releases/musl-${MUSL_VERSION}.tar.gz.asc" -o /tmp/musl.tar.gz.asc

          # Import musl GPG key
          gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 836489290BB6B70F99FFDA0556BCDB593020450F

          # Verify GPG signature
          echo "Verifying musl GPG signature..."
          gpg --verify /tmp/musl.tar.gz.asc /tmp/musl.tar.gz

          mkdir -p "/tmp/dep_musl-${MUSL_VERSION}"
          cd "/tmp/dep_musl-${MUSL_VERSION}"

          # shellcheck disable=SC2002
          cat /tmp/musl.tar.gz | tar --strip-components=1 -xzC .

          echo "musl-${MUSL_VERSION}: configure..." 
          ./configure --disable-shared --prefix="$HOME"/staticdeps > /dev/null

          echo "musl-${MUSL_VERSION}: make..." 
          make -s -j4

          echo "musl-${MUSL_VERSION}: make install..." 
          make -s install

          rm -rf "/tmp/dep_musl-${MUSL_VERSION}"

          # native-image expects to find an executable at this path.
          ln -s ~/staticdeps/bin/musl-gcc ~/staticdeps/bin/x86_64-linux-musl-gcc
        fi

        echo "${HOME}/staticdeps/bin" >> "$GITHUB_PATH"
    - name: gradle buildNative
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true -Dpkl.musl=true pkl-doc:buildNative
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-pkl-doc-alpine-linux-amd64
        path: pkl-doc*/build/executable/**/*
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-pkl-doc-alpine-linux-amd64-snapshot
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-pkl-doc-alpine-linux-amd64-snapshot
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  pkl-doc-windows-amd64-snapshot:
    runs-on: windows-latest
    env:
      LANG: en_US.UTF-8
      JAVA_HOME: /jdk
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: gradle buildNative
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true pkl-doc:buildNative
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-pkl-doc-windows-amd64
        path: pkl-doc*/build/executable/**/*
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-pkl-doc-windows-amd64-snapshot
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-pkl-doc-windows-amd64-snapshot
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  deploy-snapshot:
    needs:
    - gradle-check
    - gradle-check-windows
    - bench
    - gradle-compatibility
    - java-executables-snapshot
    - pkl-cli-macOS-amd64-snapshot
    - pkl-cli-linux-amd64-snapshot
    - pkl-cli-macOS-aarch64-snapshot
    - pkl-cli-linux-aarch64-snapshot
    - pkl-cli-alpine-linux-amd64-snapshot
    - pkl-cli-windows-amd64-snapshot
    - pkl-doc-macOS-amd64-snapshot
    - pkl-doc-linux-amd64-snapshot
    - pkl-doc-macOS-aarch64-snapshot
    - pkl-doc-linux-aarch64-snapshot
    - pkl-doc-alpine-linux-amd64-snapshot
    - pkl-doc-windows-amd64-snapshot
    runs-on: ubuntu-latest
    env:
      LANG: en_US.UTF-8
    environment: maven-release
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6
      with:
        pattern: executable-**
        merge-multiple: true
    - env:
        ORG_GRADLE_PROJECT_signingKeyId: ${{ secrets.ORG_GRADLE_PROJECT_SIGNINGKEYID }}
        ORG_GRADLE_PROJECT_signingKey: ${{ secrets.ORG_GRADLE_PROJECT_SIGNINGKEY }}
        ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.ORG_GRADLE_PROJECT_SIGNINGPASSWORD }}
        ORG_GRADLE_PROJECT_sonatypePassword: ${{ secrets.ORG_GRADLE_PROJECT_SONATYPEPASSWORD }}
        ORG_GRADLE_PROJECT_sonatypeUsername: ${{ secrets.ORG_GRADLE_PROJECT_SONATYPEUSERNAME }}
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true --no-parallel publishToSonatype
  publish-test-results:
    if: '!cancelled()'
    needs:
    - gradle-check
    - gradle-check-windows
    - gradle-compatibility
    - java-executables-snapshot
    - pkl-cli-macOS-amd64-snapshot
    - pkl-cli-linux-amd64-snapshot
    - pkl-cli-macOS-aarch64-snapshot
    - pkl-cli-linux-aarch64-snapshot
    - pkl-cli-alpine-linux-amd64-snapshot
    - pkl-cli-windows-amd64-snapshot
    - pkl-doc-macOS-amd64-snapshot
    - pkl-doc-linux-amd64-snapshot
    - pkl-doc-macOS-aarch64-snapshot
    - pkl-doc-linux-aarch64-snapshot
    - pkl-doc-alpine-linux-amd64-snapshot
    - pkl-doc-windows-amd64-snapshot
    permissions:
      checks: write
    runs-on: ubuntu-latest
    steps:
    - uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6
      with:
        pattern: test-results-xml-*
    - name: Publish test results
      if: '!cancelled()'
      uses: EnricoMi/publish-unit-test-result-action@c950f6fb443cb5af20a377fd0dfaa78838901040 # v2
      with:
        comment_mode: 'off'
        files: test-results-xml-*/**/*.xml
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-publish-test-results
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  trigger-downstream-builds:
    if: github.repository_owner == 'apple'
    needs:
    - gradle-check
    - gradle-check-windows
    - bench
    - gradle-compatibility
    - java-executables-snapshot
    - pkl-cli-macOS-amd64-snapshot
    - pkl-cli-linux-amd64-snapshot
    - pkl-cli-macOS-aarch64-snapshot
    - pkl-cli-linux-aarch64-snapshot
    - pkl-cli-alpine-linux-amd64-snapshot
    - pkl-cli-windows-amd64-snapshot
    - pkl-doc-macOS-amd64-snapshot
    - pkl-doc-linux-amd64-snapshot
    - pkl-doc-macOS-aarch64-snapshot
    - pkl-doc-linux-aarch64-snapshot
    - pkl-doc-alpine-linux-amd64-snapshot
    - pkl-doc-windows-amd64-snapshot
    - deploy-snapshot
    - publish-test-results
    runs-on: ubuntu-latest
    steps:
    - name: Create app token
      id: app-token
      uses: actions/create-github-app-token@fee1f7d63c2ff003460e3d139729b119787bc349 # v2
      with:
        app-id: ${{ secrets.PKL_CI_CLIENT_ID }}
        private-key: ${{ secrets.PKL_CI }}
        owner: ${{ github.repository_owner }}
    - name: Trigger pkl-lang.org build
      env:
        GH_TOKEN: ${{ steps.app-token.outputs.token }}
        SOURCE_RUN: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
      run: |-
        gh workflow run \
          --repo apple/pkl-lang.org \
          --ref main \
          --field source_run="${SOURCE_RUN}" \
          main.yml


================================================
FILE: .github/workflows/prb.yml
================================================
# Generated from Workflow.pkl. DO NOT EDIT.
name: Pull Request
'on':
  pull_request: {}
concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true
permissions:
  contents: read
jobs:
  gradle-check:
    runs-on: ubuntu-latest
    env:
      LANG: en_US.UTF-8
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
        fetch-depth: 0
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: check
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true check
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-gradle-check
        path: '**/build/test-results/**/*.xml'
        if-no-files-found: ignore
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-gradle-check
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  gradle-check-windows:
    if: contains(github.event.pull_request.body, '[windows]')
    runs-on: windows-latest
    env:
      LANG: en_US.UTF-8
      JAVA_HOME: /jdk
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
        fetch-depth: 0
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: check
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true check
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-gradle-check-windows
        path: '**/build/test-results/**/*.xml'
        if-no-files-found: ignore
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-gradle-check-windows
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  pkl-cli-macOS-amd64-snapshot:
    if: (contains(github.event.pull_request.body, '[native]') || contains(github.event.pull_request.body, '[native-pkl-cli]') || contains(github.event.pull_request.body, '[native-pkl-cli-macOS]') || contains(github.event.pull_request.body, '[native-pkl-cli-macOS-amd64]') || contains(github.event.pull_request.body, '[native-pkl-cli-macOS-amd64]')) && github.repository_owner == 'apple'
    runs-on:
    - self-hosted
    - macos
    env:
      LANG: en_US.UTF-8
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: gradle buildNative
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true -Dpkl.targetArch=amd64 "-Dpkl.native--native-compiler-path=${GITHUB_WORKSPACE}/.github/scripts/cc_macos_amd64.sh" pkl-cli:buildNative
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-pkl-cli-macOS-amd64
        path: pkl-cli*/build/executable/**/*
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-pkl-cli-macOS-amd64-snapshot
        path: '**/build/test-results/**/*.xml'
        if-no-files-found: ignore
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-pkl-cli-macOS-amd64-snapshot
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  pkl-cli-linux-amd64-snapshot:
    if: contains(github.event.pull_request.body, '[native]') || contains(github.event.pull_request.body, '[native-pkl-cli]') || contains(github.event.pull_request.body, '[native-pkl-cli-linux]') || contains(github.event.pull_request.body, '[native-pkl-cli-linux-amd64]') || contains(github.event.pull_request.body, '[native-pkl-cli-linux-amd64]')
    runs-on: ubuntu-latest
    env:
      LANG: en_US.UTF-8
    steps:
    - name: Install deps
      run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: Fix git ownership
      run: git status || git config --system --add safe.directory "$GITHUB_WORKSPACE"
    - name: gradle buildNative
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true pkl-cli:buildNative
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-pkl-cli-linux-amd64
        path: pkl-cli*/build/executable/**/*
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-pkl-cli-linux-amd64-snapshot
        path: '**/build/test-results/**/*.xml'
        if-no-files-found: ignore
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-pkl-cli-linux-amd64-snapshot
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
    container:
      image: redhat/ubi8:8.10
  pkl-cli-macOS-aarch64-snapshot:
    if: (contains(github.event.pull_request.body, '[native]') || contains(github.event.pull_request.body, '[native-pkl-cli]') || contains(github.event.pull_request.body, '[native-pkl-cli-macOS]') || contains(github.event.pull_request.body, '[native-pkl-cli-macOS-aarch64]') || contains(github.event.pull_request.body, '[native-pkl-cli-macOS-aarch64]')) && github.repository_owner == 'apple'
    runs-on:
    - self-hosted
    - macos
    env:
      LANG: en_US.UTF-8
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: aarch64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: gradle buildNative
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true pkl-cli:buildNative
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-pkl-cli-macOS-aarch64
        path: pkl-cli*/build/executable/**/*
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-pkl-cli-macOS-aarch64-snapshot
        path: '**/build/test-results/**/*.xml'
        if-no-files-found: ignore
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-pkl-cli-macOS-aarch64-snapshot
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  pkl-cli-linux-aarch64-snapshot:
    if: contains(github.event.pull_request.body, '[native]') || contains(github.event.pull_request.body, '[native-pkl-cli]') || contains(github.event.pull_request.body, '[native-pkl-cli-linux]') || contains(github.event.pull_request.body, '[native-pkl-cli-linux-aarch64]') || contains(github.event.pull_request.body, '[native-pkl-cli-linux-aarch64]')
    runs-on: ubuntu-24.04-arm
    env:
      LANG: en_US.UTF-8
    steps:
    - name: Install deps
      run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: aarch64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: Fix git ownership
      run: git status || git config --system --add safe.directory "$GITHUB_WORKSPACE"
    - name: gradle buildNative
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true pkl-cli:buildNative
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-pkl-cli-linux-aarch64
        path: pkl-cli*/build/executable/**/*
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-pkl-cli-linux-aarch64-snapshot
        path: '**/build/test-results/**/*.xml'
        if-no-files-found: ignore
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-pkl-cli-linux-aarch64-snapshot
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
    container:
      image: redhat/ubi8:8.10
  pkl-cli-alpine-linux-amd64-snapshot:
    if: contains(github.event.pull_request.body, '[native]') || contains(github.event.pull_request.body, '[native-pkl-cli]') || contains(github.event.pull_request.body, '[native-pkl-cli-linux]') || contains(github.event.pull_request.body, '[native-pkl-cli-linux-amd64]') || contains(github.event.pull_request.body, '[native-pkl-cli-linux-amd64]') || contains(github.event.pull_request.body, '[native-pkl-cli-alpine-linux-amd64]')
    runs-on: ubuntu-latest
    env:
      LANG: en_US.UTF-8
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: Install musl and zlib
      run: |
        set -e
        mkdir -p ~/staticdeps/

        ZLIB_VERSION="1.2.13"
        MUSL_VERSION="1.2.5"

        # install zlib
        if [[ ! -f ~/staticdeps/include/zlib.h ]]; then
          # Download zlib tarball and signature
          curl -Lf "https://github.com/madler/zlib/releases/download/v${ZLIB_VERSION}/zlib-${ZLIB_VERSION}.tar.gz" -o /tmp/zlib.tar.gz
          curl -Lf "https://github.com/madler/zlib/releases/download/v${ZLIB_VERSION}/zlib-${ZLIB_VERSION}.tar.gz.asc" -o /tmp/zlib.tar.gz.asc

          # Import zlib GPG key
          gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 5ED46A6721D365587791E2AA783FCD8E58BCAFBA

          # Verify GPG signature
          echo "Verifying zlib GPG signature..."
          gpg --verify /tmp/zlib.tar.gz.asc /tmp/zlib.tar.gz

          mkdir -p "/tmp/dep_zlib-${ZLIB_VERSION}"
          cd "/tmp/dep_zlib-${ZLIB_VERSION}"
          # shellcheck disable=SC2002
          cat /tmp/zlib.tar.gz | tar --strip-components=1 -xzC .

          echo "zlib-${ZLIB_VERSION}: configure..." 
          ./configure --static --prefix="$HOME"/staticdeps > /dev/null

          echo "zlib-${ZLIB_VERSION}: make..." 
          make -s -j4

          echo "zlib-${ZLIB_VERSION}: make install..." 
          make -s install

          rm -rf /tmp/dep_zlib-${ZLIB_VERSION}
        fi

        # install musl
        if [[ ! -f ~/staticdeps/bin/x86_64-linux-musl-gcc ]]; then
          # Download musl tarball and signature
          curl -Lf "https://musl.libc.org/releases/musl-${MUSL_VERSION}.tar.gz" -o /tmp/musl.tar.gz
          curl -Lf "https://musl.libc.org/releases/musl-${MUSL_VERSION}.tar.gz.asc" -o /tmp/musl.tar.gz.asc

          # Import musl GPG key
          gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 836489290BB6B70F99FFDA0556BCDB593020450F

          # Verify GPG signature
          echo "Verifying musl GPG signature..."
          gpg --verify /tmp/musl.tar.gz.asc /tmp/musl.tar.gz

          mkdir -p "/tmp/dep_musl-${MUSL_VERSION}"
          cd "/tmp/dep_musl-${MUSL_VERSION}"

          # shellcheck disable=SC2002
          cat /tmp/musl.tar.gz | tar --strip-components=1 -xzC .

          echo "musl-${MUSL_VERSION}: configure..." 
          ./configure --disable-shared --prefix="$HOME"/staticdeps > /dev/null

          echo "musl-${MUSL_VERSION}: make..." 
          make -s -j4

          echo "musl-${MUSL_VERSION}: make install..." 
          make -s install

          rm -rf "/tmp/dep_musl-${MUSL_VERSION}"

          # native-image expects to find an executable at this path.
          ln -s ~/staticdeps/bin/musl-gcc ~/staticdeps/bin/x86_64-linux-musl-gcc
        fi

        echo "${HOME}/staticdeps/bin" >> "$GITHUB_PATH"
    - name: gradle buildNative
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true -Dpkl.musl=true pkl-cli:buildNative
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-pkl-cli-alpine-linux-amd64
        path: pkl-cli*/build/executable/**/*
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-pkl-cli-alpine-linux-amd64-snapshot
        path: '**/build/test-results/**/*.xml'
        if-no-files-found: ignore
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-pkl-cli-alpine-linux-amd64-snapshot
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  pkl-cli-windows-amd64-snapshot:
    if: contains(github.event.pull_request.body, '[native]') || contains(github.event.pull_request.body, '[native-pkl-cli]') || contains(github.event.pull_request.body, '[native-pkl-cli-windows]') || contains(github.event.pull_request.body, '[native-pkl-cli-windows-amd64]') || contains(github.event.pull_request.body, '[native-pkl-cli-windows-amd64]')
    runs-on: windows-latest
    env:
      LANG: en_US.UTF-8
      JAVA_HOME: /jdk
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: gradle buildNative
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true pkl-cli:buildNative
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-pkl-cli-windows-amd64
        path: pkl-cli*/build/executable/**/*
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-pkl-cli-windows-amd64-snapshot
        path: '**/build/test-results/**/*.xml'
        if-no-files-found: ignore
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-pkl-cli-windows-amd64-snapshot
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  pkl-doc-macOS-amd64-snapshot:
    if: (contains(github.event.pull_request.body, '[native]') || contains(github.event.pull_request.body, '[native-pkl-doc]') || contains(github.event.pull_request.body, '[native-pkl-doc-macOS]') || contains(github.event.pull_request.body, '[native-pkl-doc-macOS-amd64]') || contains(github.event.pull_request.body, '[native-pkl-doc-macOS-amd64]')) && github.repository_owner == 'apple'
    runs-on:
    - self-hosted
    - macos
    env:
      LANG: en_US.UTF-8
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: gradle buildNative
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true -Dpkl.targetArch=amd64 "-Dpkl.native--native-compiler-path=${GITHUB_WORKSPACE}/.github/scripts/cc_macos_amd64.sh" pkl-doc:buildNative
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-pkl-doc-macOS-amd64
        path: pkl-doc*/build/executable/**/*
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-pkl-doc-macOS-amd64-snapshot
        path: '**/build/test-results/**/*.xml'
        if-no-files-found: ignore
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-pkl-doc-macOS-amd64-snapshot
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  pkl-doc-linux-amd64-snapshot:
    if: contains(github.event.pull_request.body, '[native]') || contains(github.event.pull_request.body, '[native-pkl-doc]') || contains(github.event.pull_request.body, '[native-pkl-doc-linux]') || contains(github.event.pull_request.body, '[native-pkl-doc-linux-amd64]') || contains(github.event.pull_request.body, '[native-pkl-doc-linux-amd64]')
    runs-on: ubuntu-latest
    env:
      LANG: en_US.UTF-8
    steps:
    - name: Install deps
      run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: Fix git ownership
      run: git status || git config --system --add safe.directory "$GITHUB_WORKSPACE"
    - name: gradle buildNative
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true pkl-doc:buildNative
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-pkl-doc-linux-amd64
        path: pkl-doc*/build/executable/**/*
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-pkl-doc-linux-amd64-snapshot
        path: '**/build/test-results/**/*.xml'
        if-no-files-found: ignore
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-pkl-doc-linux-amd64-snapshot
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
    container:
      image: redhat/ubi8:8.10
  pkl-doc-macOS-aarch64-snapshot:
    if: (contains(github.event.pull_request.body, '[native]') || contains(github.event.pull_request.body, '[native-pkl-doc]') || contains(github.event.pull_request.body, '[native-pkl-doc-macOS]') || contains(github.event.pull_request.body, '[native-pkl-doc-macOS-aarch64]') || contains(github.event.pull_request.body, '[native-pkl-doc-macOS-aarch64]')) && github.repository_owner == 'apple'
    runs-on:
    - self-hosted
    - macos
    env:
      LANG: en_US.UTF-8
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: aarch64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: gradle buildNative
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true pkl-doc:buildNative
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-pkl-doc-macOS-aarch64
        path: pkl-doc*/build/executable/**/*
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-pkl-doc-macOS-aarch64-snapshot
        path: '**/build/test-results/**/*.xml'
        if-no-files-found: ignore
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-pkl-doc-macOS-aarch64-snapshot
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  pkl-doc-linux-aarch64-snapshot:
    if: contains(github.event.pull_request.body, '[native]') || contains(github.event.pull_request.body, '[native-pkl-doc]') || contains(github.event.pull_request.body, '[native-pkl-doc-linux]') || contains(github.event.pull_request.body, '[native-pkl-doc-linux-aarch64]') || contains(github.event.pull_request.body, '[native-pkl-doc-linux-aarch64]')
    runs-on: ubuntu-24.04-arm
    env:
      LANG: en_US.UTF-8
    steps:
    - name: Install deps
      run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: aarch64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: Fix git ownership
      run: git status || git config --system --add safe.directory "$GITHUB_WORKSPACE"
    - name: gradle buildNative
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true pkl-doc:buildNative
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-pkl-doc-linux-aarch64
        path: pkl-doc*/build/executable/**/*
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-pkl-doc-linux-aarch64-snapshot
        path: '**/build/test-results/**/*.xml'
        if-no-files-found: ignore
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-pkl-doc-linux-aarch64-snapshot
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
    container:
      image: redhat/ubi8:8.10
  pkl-doc-alpine-linux-amd64-snapshot:
    if: contains(github.event.pull_request.body, '[native]') || contains(github.event.pull_request.body, '[native-pkl-doc]') || contains(github.event.pull_request.body, '[native-pkl-doc-linux]') || contains(github.event.pull_request.body, '[native-pkl-doc-linux-amd64]') || contains(github.event.pull_request.body, '[native-pkl-doc-linux-amd64]') || contains(github.event.pull_request.body, '[native-pkl-doc-alpine-linux-amd64]')
    runs-on: ubuntu-latest
    env:
      LANG: en_US.UTF-8
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: Install musl and zlib
      run: |
        set -e
        mkdir -p ~/staticdeps/

        ZLIB_VERSION="1.2.13"
        MUSL_VERSION="1.2.5"

        # install zlib
        if [[ ! -f ~/staticdeps/include/zlib.h ]]; then
          # Download zlib tarball and signature
          curl -Lf "https://github.com/madler/zlib/releases/download/v${ZLIB_VERSION}/zlib-${ZLIB_VERSION}.tar.gz" -o /tmp/zlib.tar.gz
          curl -Lf "https://github.com/madler/zlib/releases/download/v${ZLIB_VERSION}/zlib-${ZLIB_VERSION}.tar.gz.asc" -o /tmp/zlib.tar.gz.asc

          # Import zlib GPG key
          gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 5ED46A6721D365587791E2AA783FCD8E58BCAFBA

          # Verify GPG signature
          echo "Verifying zlib GPG signature..."
          gpg --verify /tmp/zlib.tar.gz.asc /tmp/zlib.tar.gz

          mkdir -p "/tmp/dep_zlib-${ZLIB_VERSION}"
          cd "/tmp/dep_zlib-${ZLIB_VERSION}"
          # shellcheck disable=SC2002
          cat /tmp/zlib.tar.gz | tar --strip-components=1 -xzC .

          echo "zlib-${ZLIB_VERSION}: configure..." 
          ./configure --static --prefix="$HOME"/staticdeps > /dev/null

          echo "zlib-${ZLIB_VERSION}: make..." 
          make -s -j4

          echo "zlib-${ZLIB_VERSION}: make install..." 
          make -s install

          rm -rf /tmp/dep_zlib-${ZLIB_VERSION}
        fi

        # install musl
        if [[ ! -f ~/staticdeps/bin/x86_64-linux-musl-gcc ]]; then
          # Download musl tarball and signature
          curl -Lf "https://musl.libc.org/releases/musl-${MUSL_VERSION}.tar.gz" -o /tmp/musl.tar.gz
          curl -Lf "https://musl.libc.org/releases/musl-${MUSL_VERSION}.tar.gz.asc" -o /tmp/musl.tar.gz.asc

          # Import musl GPG key
          gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 836489290BB6B70F99FFDA0556BCDB593020450F

          # Verify GPG signature
          echo "Verifying musl GPG signature..."
          gpg --verify /tmp/musl.tar.gz.asc /tmp/musl.tar.gz

          mkdir -p "/tmp/dep_musl-${MUSL_VERSION}"
          cd "/tmp/dep_musl-${MUSL_VERSION}"

          # shellcheck disable=SC2002
          cat /tmp/musl.tar.gz | tar --strip-components=1 -xzC .

          echo "musl-${MUSL_VERSION}: configure..." 
          ./configure --disable-shared --prefix="$HOME"/staticdeps > /dev/null

          echo "musl-${MUSL_VERSION}: make..." 
          make -s -j4

          echo "musl-${MUSL_VERSION}: make install..." 
          make -s install

          rm -rf "/tmp/dep_musl-${MUSL_VERSION}"

          # native-image expects to find an executable at this path.
          ln -s ~/staticdeps/bin/musl-gcc ~/staticdeps/bin/x86_64-linux-musl-gcc
        fi

        echo "${HOME}/staticdeps/bin" >> "$GITHUB_PATH"
    - name: gradle buildNative
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true -Dpkl.musl=true pkl-doc:buildNative
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-pkl-doc-alpine-linux-amd64
        path: pkl-doc*/build/executable/**/*
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-pkl-doc-alpine-linux-amd64-snapshot
        path: '**/build/test-results/**/*.xml'
        if-no-files-found: ignore
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-pkl-doc-alpine-linux-amd64-snapshot
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  pkl-doc-windows-amd64-snapshot:
    if: contains(github.event.pull_request.body, '[native]') || contains(github.event.pull_request.body, '[native-pkl-doc]') || contains(github.event.pull_request.body, '[native-pkl-doc-windows]') || contains(github.event.pull_request.body, '[native-pkl-doc-windows-amd64]') || contains(github.event.pull_request.body, '[native-pkl-doc-windows-amd64]')
    runs-on: windows-latest
    env:
      LANG: en_US.UTF-8
      JAVA_HOME: /jdk
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: gradle buildNative
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true pkl-doc:buildNative
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-pkl-doc-windows-amd64
        path: pkl-doc*/build/executable/**/*
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-pkl-doc-windows-amd64-snapshot
        path: '**/build/test-results/**/*.xml'
        if-no-files-found: ignore
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-pkl-doc-windows-amd64-snapshot
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  upload-event-file:
    runs-on: ubuntu-latest
    steps:
    - name: Upload event file
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-event-file
        path: ${{ github.event_path }}
  check-pkl-github-actions:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - name: Setup Pkl
      id: setup-pkl
      env:
        PKL_VERSION: 0.30.0
        PKL_FILENAME: pkl
        PKL_DOWNLOAD_URL: https://github.com/apple/pkl/releases/download/0.30.0/pkl-linux-amd64
      shell: bash
      run: |-
        DIR="$(mktemp -d /tmp/pkl-$PKL_VERSION-XXXXXX)"
        PKL_EXEC="$DIR/$PKL_FILENAME"
        curl -sfL -o $PKL_EXEC "$PKL_DOWNLOAD_URL"
        chmod +x $PKL_EXEC
        echo "$DIR" >> "$GITHUB_PATH"
        echo "pkl_exec=$PKL_EXEC" >> "$GITHUB_OUTPUT"
    - shell: bash
      run: rm -rf .github/**/[a-z]*.yml
    - shell: bash
      run: pkl eval -m .github/ --project-dir .github/ .github/index.pkl
    - name: check git status
      shell: bash
      run: |-
        if [ -n "$(git status --porcelain)" ]; then
          echo "Running pkl resulted in a diff! You likely need to run 'pkl eval' and commit the changes."
          git diff --name-only
          exit 1
        fi


================================================
FILE: .github/workflows/release-branch.yml
================================================
# Generated from Workflow.pkl. DO NOT EDIT.
name: Build (release branch)
'on':
  push:
    branches:
    - release/*
    tags-ignore:
    - '**'
concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true
permissions:
  contents: read
jobs:
  gradle-check:
    runs-on: ubuntu-latest
    env:
      LANG: en_US.UTF-8
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
        fetch-depth: 0
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: check
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true check
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-gradle-check
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-gradle-check
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  gradle-check-windows:
    runs-on: windows-latest
    env:
      LANG: en_US.UTF-8
      JAVA_HOME: /jdk
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
        fetch-depth: 0
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: check
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true check
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-gradle-check-windows
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-gradle-check-windows
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  bench:
    runs-on: ubuntu-latest
    env:
      LANG: en_US.UTF-8
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: bench:jmh
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true bench:jmh
  gradle-compatibility:
    runs-on: ubuntu-latest
    env:
      LANG: en_US.UTF-8
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
        fetch-depth: 0
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: :pkl-gradle:build :pkl-gradle:compatibilityTestReleases
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true :pkl-gradle:build :pkl-gradle:compatibilityTestReleases
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-gradle-compatibility
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-gradle-compatibility
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  java-executables-snapshot:
    runs-on: ubuntu-latest
    env:
      LANG: en_US.UTF-8
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
        fetch-depth: 0
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - name: gradle build java executables
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true pkl-doc:build pkl-cli:build pkl-codegen-java:build pkl-codegen-kotlin:build
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-java
        path: '*/build/executable/**/*'
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-java-executables-snapshot
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-java-executables-snapshot
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  pkl-cli-macOS-amd64-snapshot:
    if: github.repository_owner == 'apple'
    runs-on:
    - self-hosted
    - macos
    env:
      LANG: en_US.UTF-8
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: gradle buildNative
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true -Dpkl.targetArch=amd64 "-Dpkl.native--native-compiler-path=${GITHUB_WORKSPACE}/.github/scripts/cc_macos_amd64.sh" pkl-cli:buildNative
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-pkl-cli-macOS-amd64
        path: pkl-cli*/build/executable/**/*
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-pkl-cli-macOS-amd64-snapshot
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-pkl-cli-macOS-amd64-snapshot
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  pkl-cli-linux-amd64-snapshot:
    runs-on: ubuntu-latest
    env:
      LANG: en_US.UTF-8
    steps:
    - name: Install deps
      run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: Fix git ownership
      run: git status || git config --system --add safe.directory "$GITHUB_WORKSPACE"
    - name: gradle buildNative
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true pkl-cli:buildNative
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-pkl-cli-linux-amd64
        path: pkl-cli*/build/executable/**/*
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-pkl-cli-linux-amd64-snapshot
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-pkl-cli-linux-amd64-snapshot
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
    container:
      image: redhat/ubi8:8.10
  pkl-cli-macOS-aarch64-snapshot:
    if: github.repository_owner == 'apple'
    runs-on:
    - self-hosted
    - macos
    env:
      LANG: en_US.UTF-8
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: aarch64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: gradle buildNative
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true pkl-cli:buildNative
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-pkl-cli-macOS-aarch64
        path: pkl-cli*/build/executable/**/*
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-pkl-cli-macOS-aarch64-snapshot
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-pkl-cli-macOS-aarch64-snapshot
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  pkl-cli-linux-aarch64-snapshot:
    runs-on: ubuntu-24.04-arm
    env:
      LANG: en_US.UTF-8
    steps:
    - name: Install deps
      run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: aarch64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: Fix git ownership
      run: git status || git config --system --add safe.directory "$GITHUB_WORKSPACE"
    - name: gradle buildNative
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true pkl-cli:buildNative
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-pkl-cli-linux-aarch64
        path: pkl-cli*/build/executable/**/*
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-pkl-cli-linux-aarch64-snapshot
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-pkl-cli-linux-aarch64-snapshot
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
    container:
      image: redhat/ubi8:8.10
  pkl-cli-alpine-linux-amd64-snapshot:
    runs-on: ubuntu-latest
    env:
      LANG: en_US.UTF-8
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: Install musl and zlib
      run: |
        set -e
        mkdir -p ~/staticdeps/

        ZLIB_VERSION="1.2.13"
        MUSL_VERSION="1.2.5"

        # install zlib
        if [[ ! -f ~/staticdeps/include/zlib.h ]]; then
          # Download zlib tarball and signature
          curl -Lf "https://github.com/madler/zlib/releases/download/v${ZLIB_VERSION}/zlib-${ZLIB_VERSION}.tar.gz" -o /tmp/zlib.tar.gz
          curl -Lf "https://github.com/madler/zlib/releases/download/v${ZLIB_VERSION}/zlib-${ZLIB_VERSION}.tar.gz.asc" -o /tmp/zlib.tar.gz.asc

          # Import zlib GPG key
          gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 5ED46A6721D365587791E2AA783FCD8E58BCAFBA

          # Verify GPG signature
          echo "Verifying zlib GPG signature..."
          gpg --verify /tmp/zlib.tar.gz.asc /tmp/zlib.tar.gz

          mkdir -p "/tmp/dep_zlib-${ZLIB_VERSION}"
          cd "/tmp/dep_zlib-${ZLIB_VERSION}"
          # shellcheck disable=SC2002
          cat /tmp/zlib.tar.gz | tar --strip-components=1 -xzC .

          echo "zlib-${ZLIB_VERSION}: configure..." 
          ./configure --static --prefix="$HOME"/staticdeps > /dev/null

          echo "zlib-${ZLIB_VERSION}: make..." 
          make -s -j4

          echo "zlib-${ZLIB_VERSION}: make install..." 
          make -s install

          rm -rf /tmp/dep_zlib-${ZLIB_VERSION}
        fi

        # install musl
        if [[ ! -f ~/staticdeps/bin/x86_64-linux-musl-gcc ]]; then
          # Download musl tarball and signature
          curl -Lf "https://musl.libc.org/releases/musl-${MUSL_VERSION}.tar.gz" -o /tmp/musl.tar.gz
          curl -Lf "https://musl.libc.org/releases/musl-${MUSL_VERSION}.tar.gz.asc" -o /tmp/musl.tar.gz.asc

          # Import musl GPG key
          gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 836489290BB6B70F99FFDA0556BCDB593020450F

          # Verify GPG signature
          echo "Verifying musl GPG signature..."
          gpg --verify /tmp/musl.tar.gz.asc /tmp/musl.tar.gz

          mkdir -p "/tmp/dep_musl-${MUSL_VERSION}"
          cd "/tmp/dep_musl-${MUSL_VERSION}"

          # shellcheck disable=SC2002
          cat /tmp/musl.tar.gz | tar --strip-components=1 -xzC .

          echo "musl-${MUSL_VERSION}: configure..." 
          ./configure --disable-shared --prefix="$HOME"/staticdeps > /dev/null

          echo "musl-${MUSL_VERSION}: make..." 
          make -s -j4

          echo "musl-${MUSL_VERSION}: make install..." 
          make -s install

          rm -rf "/tmp/dep_musl-${MUSL_VERSION}"

          # native-image expects to find an executable at this path.
          ln -s ~/staticdeps/bin/musl-gcc ~/staticdeps/bin/x86_64-linux-musl-gcc
        fi

        echo "${HOME}/staticdeps/bin" >> "$GITHUB_PATH"
    - name: gradle buildNative
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true -Dpkl.musl=true pkl-cli:buildNative
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-pkl-cli-alpine-linux-amd64
        path: pkl-cli*/build/executable/**/*
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-pkl-cli-alpine-linux-amd64-snapshot
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-pkl-cli-alpine-linux-amd64-snapshot
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  pkl-cli-windows-amd64-snapshot:
    runs-on: windows-latest
    env:
      LANG: en_US.UTF-8
      JAVA_HOME: /jdk
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: gradle buildNative
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true pkl-cli:buildNative
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-pkl-cli-windows-amd64
        path: pkl-cli*/build/executable/**/*
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-pkl-cli-windows-amd64-snapshot
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-pkl-cli-windows-amd64-snapshot
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  pkl-doc-macOS-amd64-snapshot:
    if: github.repository_owner == 'apple'
    runs-on:
    - self-hosted
    - macos
    env:
      LANG: en_US.UTF-8
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: gradle buildNative
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true -Dpkl.targetArch=amd64 "-Dpkl.native--native-compiler-path=${GITHUB_WORKSPACE}/.github/scripts/cc_macos_amd64.sh" pkl-doc:buildNative
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-pkl-doc-macOS-amd64
        path: pkl-doc*/build/executable/**/*
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-pkl-doc-macOS-amd64-snapshot
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-pkl-doc-macOS-amd64-snapshot
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  pkl-doc-linux-amd64-snapshot:
    runs-on: ubuntu-latest
    env:
      LANG: en_US.UTF-8
    steps:
    - name: Install deps
      run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: Fix git ownership
      run: git status || git config --system --add safe.directory "$GITHUB_WORKSPACE"
    - name: gradle buildNative
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true pkl-doc:buildNative
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-pkl-doc-linux-amd64
        path: pkl-doc*/build/executable/**/*
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-pkl-doc-linux-amd64-snapshot
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-pkl-doc-linux-amd64-snapshot
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
    container:
      image: redhat/ubi8:8.10
  pkl-doc-macOS-aarch64-snapshot:
    if: github.repository_owner == 'apple'
    runs-on:
    - self-hosted
    - macos
    env:
      LANG: en_US.UTF-8
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: aarch64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: gradle buildNative
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true pkl-doc:buildNative
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-pkl-doc-macOS-aarch64
        path: pkl-doc*/build/executable/**/*
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-pkl-doc-macOS-aarch64-snapshot
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-pkl-doc-macOS-aarch64-snapshot
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  pkl-doc-linux-aarch64-snapshot:
    runs-on: ubuntu-24.04-arm
    env:
      LANG: en_US.UTF-8
    steps:
    - name: Install deps
      run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: aarch64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: Fix git ownership
      run: git status || git config --system --add safe.directory "$GITHUB_WORKSPACE"
    - name: gradle buildNative
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true pkl-doc:buildNative
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-pkl-doc-linux-aarch64
        path: pkl-doc*/build/executable/**/*
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-pkl-doc-linux-aarch64-snapshot
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-pkl-doc-linux-aarch64-snapshot
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
    container:
      image: redhat/ubi8:8.10
  pkl-doc-alpine-linux-amd64-snapshot:
    runs-on: ubuntu-latest
    env:
      LANG: en_US.UTF-8
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: Install musl and zlib
      run: |
        set -e
        mkdir -p ~/staticdeps/

        ZLIB_VERSION="1.2.13"
        MUSL_VERSION="1.2.5"

        # install zlib
        if [[ ! -f ~/staticdeps/include/zlib.h ]]; then
          # Download zlib tarball and signature
          curl -Lf "https://github.com/madler/zlib/releases/download/v${ZLIB_VERSION}/zlib-${ZLIB_VERSION}.tar.gz" -o /tmp/zlib.tar.gz
          curl -Lf "https://github.com/madler/zlib/releases/download/v${ZLIB_VERSION}/zlib-${ZLIB_VERSION}.tar.gz.asc" -o /tmp/zlib.tar.gz.asc

          # Import zlib GPG key
          gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 5ED46A6721D365587791E2AA783FCD8E58BCAFBA

          # Verify GPG signature
          echo "Verifying zlib GPG signature..."
          gpg --verify /tmp/zlib.tar.gz.asc /tmp/zlib.tar.gz

          mkdir -p "/tmp/dep_zlib-${ZLIB_VERSION}"
          cd "/tmp/dep_zlib-${ZLIB_VERSION}"
          # shellcheck disable=SC2002
          cat /tmp/zlib.tar.gz | tar --strip-components=1 -xzC .

          echo "zlib-${ZLIB_VERSION}: configure..." 
          ./configure --static --prefix="$HOME"/staticdeps > /dev/null

          echo "zlib-${ZLIB_VERSION}: make..." 
          make -s -j4

          echo "zlib-${ZLIB_VERSION}: make install..." 
          make -s install

          rm -rf /tmp/dep_zlib-${ZLIB_VERSION}
        fi

        # install musl
        if [[ ! -f ~/staticdeps/bin/x86_64-linux-musl-gcc ]]; then
          # Download musl tarball and signature
          curl -Lf "https://musl.libc.org/releases/musl-${MUSL_VERSION}.tar.gz" -o /tmp/musl.tar.gz
          curl -Lf "https://musl.libc.org/releases/musl-${MUSL_VERSION}.tar.gz.asc" -o /tmp/musl.tar.gz.asc

          # Import musl GPG key
          gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 836489290BB6B70F99FFDA0556BCDB593020450F

          # Verify GPG signature
          echo "Verifying musl GPG signature..."
          gpg --verify /tmp/musl.tar.gz.asc /tmp/musl.tar.gz

          mkdir -p "/tmp/dep_musl-${MUSL_VERSION}"
          cd "/tmp/dep_musl-${MUSL_VERSION}"

          # shellcheck disable=SC2002
          cat /tmp/musl.tar.gz | tar --strip-components=1 -xzC .

          echo "musl-${MUSL_VERSION}: configure..." 
          ./configure --disable-shared --prefix="$HOME"/staticdeps > /dev/null

          echo "musl-${MUSL_VERSION}: make..." 
          make -s -j4

          echo "musl-${MUSL_VERSION}: make install..." 
          make -s install

          rm -rf "/tmp/dep_musl-${MUSL_VERSION}"

          # native-image expects to find an executable at this path.
          ln -s ~/staticdeps/bin/musl-gcc ~/staticdeps/bin/x86_64-linux-musl-gcc
        fi

        echo "${HOME}/staticdeps/bin" >> "$GITHUB_PATH"
    - name: gradle buildNative
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true -Dpkl.musl=true pkl-doc:buildNative
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-pkl-doc-alpine-linux-amd64
        path: pkl-doc*/build/executable/**/*
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-pkl-doc-alpine-linux-amd64-snapshot
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-pkl-doc-alpine-linux-amd64-snapshot
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  pkl-doc-windows-amd64-snapshot:
    runs-on: windows-latest
    env:
      LANG: en_US.UTF-8
      JAVA_HOME: /jdk
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: gradle buildNative
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true pkl-doc:buildNative
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-pkl-doc-windows-amd64
        path: pkl-doc*/build/executable/**/*
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-pkl-doc-windows-amd64-snapshot
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-pkl-doc-windows-amd64-snapshot
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  publish-test-results:
    if: '!cancelled()'
    needs:
    - gradle-check
    - gradle-check-windows
    - gradle-compatibility
    - java-executables-snapshot
    - pkl-cli-macOS-amd64-snapshot
    - pkl-cli-linux-amd64-snapshot
    - pkl-cli-macOS-aarch64-snapshot
    - pkl-cli-linux-aarch64-snapshot
    - pkl-cli-alpine-linux-amd64-snapshot
    - pkl-cli-windows-amd64-snapshot
    - pkl-doc-macOS-amd64-snapshot
    - pkl-doc-linux-amd64-snapshot
    - pkl-doc-macOS-aarch64-snapshot
    - pkl-doc-linux-aarch64-snapshot
    - pkl-doc-alpine-linux-amd64-snapshot
    - pkl-doc-windows-amd64-snapshot
    permissions:
      checks: write
    runs-on: ubuntu-latest
    steps:
    - uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6
      with:
        pattern: test-results-xml-*
    - name: Publish test results
      if: '!cancelled()'
      uses: EnricoMi/publish-unit-test-result-action@c950f6fb443cb5af20a377fd0dfaa78838901040 # v2
      with:
        comment_mode: 'off'
        files: test-results-xml-*/**/*.xml
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-publish-test-results
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  trigger-downstream-builds:
    if: github.repository_owner == 'apple'
    needs:
    - gradle-check
    - gradle-check-windows
    - bench
    - gradle-compatibility
    - java-executables-snapshot
    - pkl-cli-macOS-amd64-snapshot
    - pkl-cli-linux-amd64-snapshot
    - pkl-cli-macOS-aarch64-snapshot
    - pkl-cli-linux-aarch64-snapshot
    - pkl-cli-alpine-linux-amd64-snapshot
    - pkl-cli-windows-amd64-snapshot
    - pkl-doc-macOS-amd64-snapshot
    - pkl-doc-linux-amd64-snapshot
    - pkl-doc-macOS-aarch64-snapshot
    - pkl-doc-linux-aarch64-snapshot
    - pkl-doc-alpine-linux-amd64-snapshot
    - pkl-doc-windows-amd64-snapshot
    - publish-test-results
    runs-on: ubuntu-latest
    steps:
    - name: Create app token
      id: app-token
      uses: actions/create-github-app-token@fee1f7d63c2ff003460e3d139729b119787bc349 # v2
      with:
        app-id: ${{ secrets.PKL_CI_CLIENT_ID }}
        private-key: ${{ secrets.PKL_CI }}
        owner: ${{ github.repository_owner }}
    - name: Trigger pkl-lang.org build
      env:
        GH_TOKEN: ${{ steps.app-token.outputs.token }}
        SOURCE_RUN: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
      run: |-
        gh workflow run \
          --repo apple/pkl-lang.org \
          --ref main \
          --field source_run="${SOURCE_RUN}" \
          main.yml


================================================
FILE: .github/workflows/release.yml
================================================
# Generated from Workflow.pkl. DO NOT EDIT.
name: Release
'on':
  push:
    branches-ignore:
    - '**'
    tags:
    - '**'
concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: false
permissions:
  contents: read
jobs:
  gradle-check:
    runs-on: ubuntu-latest
    env:
      LANG: en_US.UTF-8
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
        fetch-depth: 0
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: check
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true check
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-gradle-check
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-gradle-check
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  gradle-check-windows:
    runs-on: windows-latest
    env:
      LANG: en_US.UTF-8
      JAVA_HOME: /jdk
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
        fetch-depth: 0
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: check
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true check
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-gradle-check-windows
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-gradle-check-windows
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  bench:
    runs-on: ubuntu-latest
    env:
      LANG: en_US.UTF-8
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: bench:jmh
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true bench:jmh
  gradle-compatibility:
    runs-on: ubuntu-latest
    env:
      LANG: en_US.UTF-8
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
        fetch-depth: 0
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: :pkl-gradle:build :pkl-gradle:compatibilityTestReleases
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true :pkl-gradle:build :pkl-gradle:compatibilityTestReleases
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-gradle-compatibility
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-gradle-compatibility
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  java-executables-release:
    runs-on: ubuntu-latest
    env:
      LANG: en_US.UTF-8
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
        fetch-depth: 0
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - name: gradle build java executables
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true -DreleaseBuild=true pkl-doc:build pkl-cli:build pkl-codegen-java:build pkl-codegen-kotlin:build
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-java
        path: '*/build/executable/**/*'
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-java-executables-release
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-java-executables-release
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  pkl-cli-macOS-amd64-release:
    if: github.repository_owner == 'apple'
    runs-on:
    - self-hosted
    - macos
    env:
      LANG: en_US.UTF-8
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: gradle buildNative
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true -DreleaseBuild=true -Dpkl.targetArch=amd64 "-Dpkl.native--native-compiler-path=${GITHUB_WORKSPACE}/.github/scripts/cc_macos_amd64.sh" pkl-cli:buildNative
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-pkl-cli-macOS-amd64
        path: pkl-cli*/build/executable/**/*
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-pkl-cli-macOS-amd64-release
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-pkl-cli-macOS-amd64-release
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  pkl-cli-linux-amd64-release:
    runs-on: ubuntu-latest
    env:
      LANG: en_US.UTF-8
    steps:
    - name: Install deps
      run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: Fix git ownership
      run: git status || git config --system --add safe.directory "$GITHUB_WORKSPACE"
    - name: gradle buildNative
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true -DreleaseBuild=true pkl-cli:buildNative
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-pkl-cli-linux-amd64
        path: pkl-cli*/build/executable/**/*
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-pkl-cli-linux-amd64-release
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-pkl-cli-linux-amd64-release
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
    container:
      image: redhat/ubi8:8.10
  pkl-cli-macOS-aarch64-release:
    if: github.repository_owner == 'apple'
    runs-on:
    - self-hosted
    - macos
    env:
      LANG: en_US.UTF-8
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: aarch64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: gradle buildNative
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true -DreleaseBuild=true pkl-cli:buildNative
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-pkl-cli-macOS-aarch64
        path: pkl-cli*/build/executable/**/*
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-pkl-cli-macOS-aarch64-release
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-pkl-cli-macOS-aarch64-release
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  pkl-cli-linux-aarch64-release:
    runs-on: ubuntu-24.04-arm
    env:
      LANG: en_US.UTF-8
    steps:
    - name: Install deps
      run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: aarch64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: Fix git ownership
      run: git status || git config --system --add safe.directory "$GITHUB_WORKSPACE"
    - name: gradle buildNative
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true -DreleaseBuild=true pkl-cli:buildNative
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-pkl-cli-linux-aarch64
        path: pkl-cli*/build/executable/**/*
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-pkl-cli-linux-aarch64-release
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-pkl-cli-linux-aarch64-release
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
    container:
      image: redhat/ubi8:8.10
  pkl-cli-alpine-linux-amd64-release:
    runs-on: ubuntu-latest
    env:
      LANG: en_US.UTF-8
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: Install musl and zlib
      run: |
        set -e
        mkdir -p ~/staticdeps/

        ZLIB_VERSION="1.2.13"
        MUSL_VERSION="1.2.5"

        # install zlib
        if [[ ! -f ~/staticdeps/include/zlib.h ]]; then
          # Download zlib tarball and signature
          curl -Lf "https://github.com/madler/zlib/releases/download/v${ZLIB_VERSION}/zlib-${ZLIB_VERSION}.tar.gz" -o /tmp/zlib.tar.gz
          curl -Lf "https://github.com/madler/zlib/releases/download/v${ZLIB_VERSION}/zlib-${ZLIB_VERSION}.tar.gz.asc" -o /tmp/zlib.tar.gz.asc

          # Import zlib GPG key
          gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 5ED46A6721D365587791E2AA783FCD8E58BCAFBA

          # Verify GPG signature
          echo "Verifying zlib GPG signature..."
          gpg --verify /tmp/zlib.tar.gz.asc /tmp/zlib.tar.gz

          mkdir -p "/tmp/dep_zlib-${ZLIB_VERSION}"
          cd "/tmp/dep_zlib-${ZLIB_VERSION}"
          # shellcheck disable=SC2002
          cat /tmp/zlib.tar.gz | tar --strip-components=1 -xzC .

          echo "zlib-${ZLIB_VERSION}: configure..." 
          ./configure --static --prefix="$HOME"/staticdeps > /dev/null

          echo "zlib-${ZLIB_VERSION}: make..." 
          make -s -j4

          echo "zlib-${ZLIB_VERSION}: make install..." 
          make -s install

          rm -rf /tmp/dep_zlib-${ZLIB_VERSION}
        fi

        # install musl
        if [[ ! -f ~/staticdeps/bin/x86_64-linux-musl-gcc ]]; then
          # Download musl tarball and signature
          curl -Lf "https://musl.libc.org/releases/musl-${MUSL_VERSION}.tar.gz" -o /tmp/musl.tar.gz
          curl -Lf "https://musl.libc.org/releases/musl-${MUSL_VERSION}.tar.gz.asc" -o /tmp/musl.tar.gz.asc

          # Import musl GPG key
          gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 836489290BB6B70F99FFDA0556BCDB593020450F

          # Verify GPG signature
          echo "Verifying musl GPG signature..."
          gpg --verify /tmp/musl.tar.gz.asc /tmp/musl.tar.gz

          mkdir -p "/tmp/dep_musl-${MUSL_VERSION}"
          cd "/tmp/dep_musl-${MUSL_VERSION}"

          # shellcheck disable=SC2002
          cat /tmp/musl.tar.gz | tar --strip-components=1 -xzC .

          echo "musl-${MUSL_VERSION}: configure..." 
          ./configure --disable-shared --prefix="$HOME"/staticdeps > /dev/null

          echo "musl-${MUSL_VERSION}: make..." 
          make -s -j4

          echo "musl-${MUSL_VERSION}: make install..." 
          make -s install

          rm -rf "/tmp/dep_musl-${MUSL_VERSION}"

          # native-image expects to find an executable at this path.
          ln -s ~/staticdeps/bin/musl-gcc ~/staticdeps/bin/x86_64-linux-musl-gcc
        fi

        echo "${HOME}/staticdeps/bin" >> "$GITHUB_PATH"
    - name: gradle buildNative
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true -DreleaseBuild=true -Dpkl.musl=true pkl-cli:buildNative
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-pkl-cli-alpine-linux-amd64
        path: pkl-cli*/build/executable/**/*
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-pkl-cli-alpine-linux-amd64-release
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-pkl-cli-alpine-linux-amd64-release
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  pkl-cli-windows-amd64-release:
    runs-on: windows-latest
    env:
      LANG: en_US.UTF-8
      JAVA_HOME: /jdk
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: gradle buildNative
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true -DreleaseBuild=true pkl-cli:buildNative
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-pkl-cli-windows-amd64
        path: pkl-cli*/build/executable/**/*
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-pkl-cli-windows-amd64-release
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-pkl-cli-windows-amd64-release
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  pkl-doc-macOS-amd64-release:
    if: github.repository_owner == 'apple'
    runs-on:
    - self-hosted
    - macos
    env:
      LANG: en_US.UTF-8
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: gradle buildNative
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true -DreleaseBuild=true -Dpkl.targetArch=amd64 "-Dpkl.native--native-compiler-path=${GITHUB_WORKSPACE}/.github/scripts/cc_macos_amd64.sh" pkl-doc:buildNative
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-pkl-doc-macOS-amd64
        path: pkl-doc*/build/executable/**/*
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-pkl-doc-macOS-amd64-release
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-pkl-doc-macOS-amd64-release
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  pkl-doc-linux-amd64-release:
    runs-on: ubuntu-latest
    env:
      LANG: en_US.UTF-8
    steps:
    - name: Install deps
      run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: Fix git ownership
      run: git status || git config --system --add safe.directory "$GITHUB_WORKSPACE"
    - name: gradle buildNative
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true -DreleaseBuild=true pkl-doc:buildNative
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-pkl-doc-linux-amd64
        path: pkl-doc*/build/executable/**/*
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-pkl-doc-linux-amd64-release
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-pkl-doc-linux-amd64-release
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
    container:
      image: redhat/ubi8:8.10
  pkl-doc-macOS-aarch64-release:
    if: github.repository_owner == 'apple'
    runs-on:
    - self-hosted
    - macos
    env:
      LANG: en_US.UTF-8
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: aarch64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: gradle buildNative
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true -DreleaseBuild=true pkl-doc:buildNative
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-pkl-doc-macOS-aarch64
        path: pkl-doc*/build/executable/**/*
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-pkl-doc-macOS-aarch64-release
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-pkl-doc-macOS-aarch64-release
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  pkl-doc-linux-aarch64-release:
    runs-on: ubuntu-24.04-arm
    env:
      LANG: en_US.UTF-8
    steps:
    - name: Install deps
      run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: aarch64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: Fix git ownership
      run: git status || git config --system --add safe.directory "$GITHUB_WORKSPACE"
    - name: gradle buildNative
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true -DreleaseBuild=true pkl-doc:buildNative
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-pkl-doc-linux-aarch64
        path: pkl-doc*/build/executable/**/*
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-pkl-doc-linux-aarch64-release
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-pkl-doc-linux-aarch64-release
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
    container:
      image: redhat/ubi8:8.10
  pkl-doc-alpine-linux-amd64-release:
    runs-on: ubuntu-latest
    env:
      LANG: en_US.UTF-8
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: Install musl and zlib
      run: |
        set -e
        mkdir -p ~/staticdeps/

        ZLIB_VERSION="1.2.13"
        MUSL_VERSION="1.2.5"

        # install zlib
        if [[ ! -f ~/staticdeps/include/zlib.h ]]; then
          # Download zlib tarball and signature
          curl -Lf "https://github.com/madler/zlib/releases/download/v${ZLIB_VERSION}/zlib-${ZLIB_VERSION}.tar.gz" -o /tmp/zlib.tar.gz
          curl -Lf "https://github.com/madler/zlib/releases/download/v${ZLIB_VERSION}/zlib-${ZLIB_VERSION}.tar.gz.asc" -o /tmp/zlib.tar.gz.asc

          # Import zlib GPG key
          gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 5ED46A6721D365587791E2AA783FCD8E58BCAFBA

          # Verify GPG signature
          echo "Verifying zlib GPG signature..."
          gpg --verify /tmp/zlib.tar.gz.asc /tmp/zlib.tar.gz

          mkdir -p "/tmp/dep_zlib-${ZLIB_VERSION}"
          cd "/tmp/dep_zlib-${ZLIB_VERSION}"
          # shellcheck disable=SC2002
          cat /tmp/zlib.tar.gz | tar --strip-components=1 -xzC .

          echo "zlib-${ZLIB_VERSION}: configure..." 
          ./configure --static --prefix="$HOME"/staticdeps > /dev/null

          echo "zlib-${ZLIB_VERSION}: make..." 
          make -s -j4

          echo "zlib-${ZLIB_VERSION}: make install..." 
          make -s install

          rm -rf /tmp/dep_zlib-${ZLIB_VERSION}
        fi

        # install musl
        if [[ ! -f ~/staticdeps/bin/x86_64-linux-musl-gcc ]]; then
          # Download musl tarball and signature
          curl -Lf "https://musl.libc.org/releases/musl-${MUSL_VERSION}.tar.gz" -o /tmp/musl.tar.gz
          curl -Lf "https://musl.libc.org/releases/musl-${MUSL_VERSION}.tar.gz.asc" -o /tmp/musl.tar.gz.asc

          # Import musl GPG key
          gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 836489290BB6B70F99FFDA0556BCDB593020450F

          # Verify GPG signature
          echo "Verifying musl GPG signature..."
          gpg --verify /tmp/musl.tar.gz.asc /tmp/musl.tar.gz

          mkdir -p "/tmp/dep_musl-${MUSL_VERSION}"
          cd "/tmp/dep_musl-${MUSL_VERSION}"

          # shellcheck disable=SC2002
          cat /tmp/musl.tar.gz | tar --strip-components=1 -xzC .

          echo "musl-${MUSL_VERSION}: configure..." 
          ./configure --disable-shared --prefix="$HOME"/staticdeps > /dev/null

          echo "musl-${MUSL_VERSION}: make..." 
          make -s -j4

          echo "musl-${MUSL_VERSION}: make install..." 
          make -s install

          rm -rf "/tmp/dep_musl-${MUSL_VERSION}"

          # native-image expects to find an executable at this path.
          ln -s ~/staticdeps/bin/musl-gcc ~/staticdeps/bin/x86_64-linux-musl-gcc
        fi

        echo "${HOME}/staticdeps/bin" >> "$GITHUB_PATH"
    - name: gradle buildNative
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true -DreleaseBuild=true -Dpkl.musl=true pkl-doc:buildNative
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-pkl-doc-alpine-linux-amd64
        path: pkl-doc*/build/executable/**/*
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-pkl-doc-alpine-linux-amd64-release
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-pkl-doc-alpine-linux-amd64-release
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  pkl-doc-windows-amd64-release:
    runs-on: windows-latest
    env:
      LANG: en_US.UTF-8
      JAVA_HOME: /jdk
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - name: gradle buildNative
      shell: bash
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true -DreleaseBuild=true pkl-doc:buildNative
    - name: Upload executable artifacts
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: executable-pkl-doc-windows-amd64
        path: pkl-doc*/build/executable/**/*
    - name: Upload Test Result XML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-xml-pkl-doc-windows-amd64-release
        path: '**/build/test-results/**/*.xml'
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-pkl-doc-windows-amd64-release
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  deploy-release:
    needs:
    - gradle-check
    - gradle-check-windows
    - bench
    - gradle-compatibility
    - java-executables-release
    - pkl-cli-macOS-amd64-release
    - pkl-cli-linux-amd64-release
    - pkl-cli-macOS-aarch64-release
    - pkl-cli-linux-aarch64-release
    - pkl-cli-alpine-linux-amd64-release
    - pkl-cli-windows-amd64-release
    - pkl-doc-macOS-amd64-release
    - pkl-doc-linux-amd64-release
    - pkl-doc-macOS-aarch64-release
    - pkl-doc-linux-aarch64-release
    - pkl-doc-alpine-linux-amd64-release
    - pkl-doc-windows-amd64-release
    runs-on: ubuntu-latest
    env:
      LANG: en_US.UTF-8
    environment: maven-release
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
      with:
        java-version: '21'
        distribution: temurin
        architecture: x64
    - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
      with: {}
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
      with:
        persist-credentials: false
    - uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6
      with:
        pattern: executable-**
        merge-multiple: true
    - env:
        ORG_GRADLE_PROJECT_signingKeyId: ${{ secrets.ORG_GRADLE_PROJECT_SIGNINGKEYID }}
        ORG_GRADLE_PROJECT_signingKey: ${{ secrets.ORG_GRADLE_PROJECT_SIGNINGKEY }}
        ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.ORG_GRADLE_PROJECT_SIGNINGPASSWORD }}
        ORG_GRADLE_PROJECT_sonatypePassword: ${{ secrets.ORG_GRADLE_PROJECT_SONATYPEPASSWORD }}
        ORG_GRADLE_PROJECT_sonatypeUsername: ${{ secrets.ORG_GRADLE_PROJECT_SONATYPEUSERNAME }}
      run: ./gradlew --info --stacktrace --no-daemon -DpklMultiJdkTesting=true -DreleaseBuild=true publishToSonatype closeAndReleaseSonatypeStagingRepository
  github-release:
    needs: deploy-release
    permissions:
      contents: write
    runs-on: ubuntu-latest
    steps:
    - uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6
      with:
        pattern: executable-**
        merge-multiple: true
    - name: Publish release on GitHub
      env:
        GH_TOKEN: ${{ github.token }}
        TAG_NAME: ${{ github.ref_name }}
        GIT_SHA: ${{ github.sha }}
        GH_REPO: ${{ github.repository }}
      run: |-
        # exclude build_artifacts.txt from publish
        rm -f */build/executable/*.build_artifacts.txt
        find */build/executable/* -type d | xargs rm -rf
        gh release create ${TAG_NAME} \
          --title "${TAG_NAME}" \
          --target "${GIT_SHA}" \
          --verify-tag \
          --notes "Release notes: https://pkl-lang.org/main/current/release-notes/changelog.html#release-${TAG_NAME}" \
          */build/executable/*
  publish-test-results:
    if: '!cancelled()'
    needs:
    - gradle-check
    - gradle-check-windows
    - gradle-compatibility
    - java-executables-release
    - pkl-cli-macOS-amd64-release
    - pkl-cli-linux-amd64-release
    - pkl-cli-macOS-aarch64-release
    - pkl-cli-linux-aarch64-release
    - pkl-cli-alpine-linux-amd64-release
    - pkl-cli-windows-amd64-release
    - pkl-doc-macOS-amd64-release
    - pkl-doc-linux-amd64-release
    - pkl-doc-macOS-aarch64-release
    - pkl-doc-linux-aarch64-release
    - pkl-doc-alpine-linux-amd64-release
    - pkl-doc-windows-amd64-release
    permissions:
      checks: write
    runs-on: ubuntu-latest
    steps:
    - uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6
      with:
        pattern: test-results-xml-*
    - name: Publish test results
      if: '!cancelled()'
      uses: EnricoMi/publish-unit-test-result-action@c950f6fb443cb5af20a377fd0dfaa78838901040 # v2
      with:
        comment_mode: 'off'
        files: test-results-xml-*/**/*.xml
    - name: Upload Test Result HTML
      if: '!cancelled()'
      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
      with:
        name: test-results-html-publish-test-results
        path: '**/build/reports/tests/**/*'
        if-no-files-found: ignore
  trigger-downstream-builds:
    if: github.repository_owner == 'apple'
    needs:
    - gradle-check
    - gradle-check-windows
    - bench
    - gradle-compatibility
    - java-executables-release
    - pkl-cli-macOS-amd64-release
    - pkl-cli-linux-amd64-release
    - pkl-cli-macOS-aarch64-release
    - pkl-cli-linux-aarch64-release
    - pkl-cli-alpine-linux-amd64-release
    - pkl-cli-windows-amd64-release
    - pkl-doc-macOS-amd64-release
    - pkl-doc-linux-amd64-release
    - pkl-doc-macOS-aarch64-release
    - pkl-doc-linux-aarch64-release
    - pkl-doc-alpine-linux-amd64-release
    - pkl-doc-windows-amd64-release
    - deploy-release
    - github-release
    - publish-test-results
    runs-on: ubuntu-latest
    steps:
    - name: Create app token
      id: app-token
      uses: actions/create-github-app-token@fee1f7d63c2ff003460e3d139729b119787bc349 # v2
      with:
        app-id: ${{ secrets.PKL_CI_CLIENT_ID }}
        private-key: ${{ secrets.PKL_CI }}
        owner: ${{ github.repository_owner }}
    - name: Trigger pkl-lang.org build
      env:
        GH_TOKEN: ${{ steps.app-token.outputs.token }}
        SOURCE_RUN: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
      run: |-
        gh workflow run \
          --repo apple/pkl-lang.org \
          --ref main \
          --field source_run="${SOURCE_RUN}" \
          main.yml


================================================
FILE: .github/workflows/test_report.yml
================================================
# Generated from Workflow.pkl. DO NOT EDIT.
name: PR Test Reports
'on':
  workflow_run:
    types:
    - completed
    workflows:
    - Pull Request
permissions:
  contents: read
jobs:
  test-results:
    name: Test Results
    if: github.event.workflow_run.conclusion == 'success' || github.event.workflow_run.conclusion == 'failure'
    permissions:
      actions: read
      checks: write
    runs-on: ubuntu-latest
    steps:
    - name: Download artifacts
      uses: dawidd6/action-download-artifact@ac66b43f0e6a346234dd65d4d0c8fbb31cb316e5 # v11
      with:
        path: artifacts
        name: test-results-.*
        name_is_regexp: true
        run_id: ${{ github.event.workflow_run.id }}
    - name: Publish test results
      uses: EnricoMi/publish-unit-test-result-action@c950f6fb443cb5af20a377fd0dfaa78838901040 # v2
      with:
        commit: ${{ github.event.workflow_run.head_sha }}
        comment_mode: 'off'
        files: artifacts/**/*.xml
        event_file: artifacts/test-results-event-file/event.json
        event_name: ${{ github.event.workflow_run.event }}


================================================
FILE: .gitignore
================================================
# macOS
.DS_STORE

# Gradle
.gradle/
build/
generated/
testgenerated/

# IntelliJ
.idea/
!.idea/icon.svg
!.idea/codestyles/
!.idea/inspectionProfiles/
!.idea/runConfigurations/
!.idea/scopes/
!.idea/vcs.xml
.intellijPlatform/

.vscode/

.pkl-lsp/

.kotlin/


================================================
FILE: .idea/vcs.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="VcsDirectoryMappings">
    <mapping directory="" vcs="Git" />
  </component>
</project>

================================================
FILE: .java-version
================================================
21


================================================
FILE: .mailmap
================================================
Jen Basch <421772+HT154@users.noreply.github.com>
Jen Basch <jbasch@apple.com>


================================================
FILE: CODE_OF_CONDUCT.md
================================================
## Code of Conduct

### Our Pledge

In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to making participation in our
project and our community a harassment-free experience for everyone,
regardless of age, body size, disability, ethnicity, sex
characteristics, gender identity and expression, level of experience,
education, socio-economic status, nationality, personal appearance,
race, religion, or sexual identity and orientation.

### Our Standards

Examples of behavior that contributes to creating a positive environment
include:

* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members

Examples of unacceptable behavior by participants include:

* The use of sexualized language or imagery and unwelcome sexual
attention or advances
* Trolling, insulting/derogatory comments, and personal or political
attacks
* Public or private harassment
* Publishing others’ private information, such as a physical or
electronic address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting

### Our Responsibilities

Project maintainers are responsible for clarifying the standards of
acceptable behavior and are expected to take appropriate and fair
corrective action in response to any instances of unacceptable behavior.

Project maintainers have the right and responsibility to remove, edit,
or reject comments, commits, code, wiki edits, issues, and other
contributions that are not aligned to this Code of Conduct, or to ban
temporarily or permanently any contributor for other behaviors that they
deem inappropriate, threatening, offensive, or harmful.

### Scope

This Code of Conduct applies within all project spaces, and it also
applies when an individual is representing the project or its community
in public spaces. Examples of representing a project or community
include using an official project e-mail address, posting via an
official social media account, or acting as an appointed representative
at an online or offline event. Representation of a project may be
further defined and clarified by project maintainers.

### Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may
be reported by contacting the open source team at
opensource-conduct@group.apple.com. All complaints will be reviewed and
investigated and will result in a response that is deemed necessary and
appropriate to the circumstances. The project team is obligated to
maintain confidentiality with regard to the reporter of an incident.
Further details of specific enforcement policies may be posted
separately.

Project maintainers who do not follow or enforce the Code of Conduct in
good faith may face temporary or permanent repercussions as determined
by other members of the project’s leadership.

### Attribution

This Code of Conduct is adapted from the
[Contributor Covenant](https://www.contributor-covenant.org), version 1.4, 
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html


================================================
FILE: CONTRIBUTING.adoc
================================================
:uri-github-discussion: https://github.com/apple/pkl/discussions
:uri-github-issue-pkl: https://github.com/apple/pkl/issues/new
:uri-seven-rules: https://cbea.ms/git-commit/#seven-rules

= Pkl Contributor's Guide

Welcome to the Pkl community, and thank you for contributing!
This guide explains how to get involved.

* <<Licensing>>
* <<Issue Tracking>>
* <<Pull Requests>>

== Licensing

Pkl is released under the Apache 2.0 license.
This is why we require that, by submitting a pull request, you acknowledge that you have the right to license your contribution to Apple and the community, and agree that your contribution is licensed under the Apache 2.0 license.

== Issue Tracking

To file a bug or feature request, use {uri-github-issue-pkl}[GitHub].
Be sure to include the following information:

* Context
** What are/were you trying to achieve?
** What's the impact of this bug/feature?

For bug reports, additionally include the following information:

* The output of `pkl --version`.
* The complete error message.
* The simplest possible steps to reproduce.

== Pull Requests

When preparing a pull request, follow this checklist:

* Imitate the conventions of surrounding code.
* Format code with `./gradlew spotlessApply` (otherwise the build will fail).
* Verify that both the JVM build (`./gradlew build`) and native build (`./gradlew buildNative`) succeed.
* Follow the {uri-seven-rules}[seven rules] of great Git commit messages:
** Separate subject from body with a blank line.
** L
Download .txt
Showing preview only (332K chars total). Download the full file or copy to clipboard to get everything.
gitextract_j18pm444/

├── .editorconfig
├── .git-blame-ignore-revs
├── .gitattributes
├── .githooks/
│   └── pre-commit
├── .github/
│   ├── PklProject
│   ├── PklProject.deps.json
│   ├── dependabot.yml
│   ├── index.pkl
│   ├── jobs/
│   │   ├── BuildJavaExecutableJob.pkl
│   │   ├── BuildNativeJob.pkl
│   │   ├── DeployJob.pkl
│   │   ├── GithubRelease.pkl
│   │   ├── GradleJob.pkl
│   │   ├── PklJob.pkl
│   │   └── SimpleGradleJob.pkl
│   ├── scripts/
│   │   ├── cc_macos_amd64.sh
│   │   └── install_musl.sh
│   └── workflows/
│       ├── __lockfile__.yml
│       ├── build.yml
│       ├── main.yml
│       ├── prb.yml
│       ├── release-branch.yml
│       ├── release.yml
│       └── test_report.yml
├── .gitignore
├── .idea/
│   └── vcs.xml
├── .java-version
├── .mailmap
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.adoc
├── DEVELOPMENT.adoc
├── LICENSE.txt
├── MAINTAINERS.adoc
├── NOTICE.txt
├── README.adoc
├── SECURITY.md
├── THIRD-PARTY-NOTICES.txt
├── bench/
│   ├── bench.gradle.kts
│   ├── gradle.lockfile
│   └── src/
│       └── jmh/
│           ├── java/
│           │   └── org/
│           │       └── pkl/
│           │           └── core/
│           │               ├── Fibonacci.java
│           │               ├── ListSort.java
│           │               └── parser/
│           │                   └── ParserBenchmark.java
│           └── resources/
│               └── org/
│                   └── pkl/
│                       └── core/
│                           ├── fib_class.pkl
│                           ├── fib_class_constrained1.pkl
│                           ├── fib_class_constrained2.pkl
│                           ├── fib_class_explicitThis.pkl
│                           ├── fib_class_typed.pkl
│                           ├── fib_lambda.pkl
│                           ├── fib_module.pkl
│                           └── fib_module_explicitThis.pkl
├── build.gradle.kts
├── buildSrc/
│   ├── build.gradle.kts
│   ├── settings.gradle.kts
│   └── src/
│       └── main/
│           ├── kotlin/
│           │   ├── BuildInfo.kt
│           │   ├── ExecutableJar.kt
│           │   ├── ExecutableSpec.kt
│           │   ├── GradlePluginTests.kt
│           │   ├── GradleVersionInfo.kt
│           │   ├── HtmlValidator.kt
│           │   ├── InstallGraalVm.kt
│           │   ├── JavaVersionRange.kt
│           │   ├── MergeSourcesJars.kt
│           │   ├── NativeImageBuild.kt
│           │   ├── PklFormatterSpotless.kt
│           │   ├── PklPublishing.kt
│           │   ├── ResolveSourcesJars.kt
│           │   ├── pklAllProjects.gradle.kts
│           │   ├── pklFatJar.gradle.kts
│           │   ├── pklGraalVm.gradle.kts
│           │   ├── pklGradlePluginTest.gradle.kts
│           │   ├── pklHtmlValidator.gradle.kts
│           │   ├── pklJavaExecutable.gradle.kts
│           │   ├── pklJavaLibrary.gradle.kts
│           │   ├── pklKotlinLibrary.gradle.kts
│           │   ├── pklKotlinTest.gradle.kts
│           │   ├── pklNativeExecutable.gradle.kts
│           │   ├── pklNativeLifecycle.gradle.kts
│           │   ├── pklPublishLibrary.gradle.kts
│           │   └── pklSpotlessFormat.gradle.kts
│           └── resources/
│               ├── license-header.line-comment.txt
│               └── license-header.star-block.txt
├── docs/
│   ├── antora.yml
│   ├── docs.gradle.kts
│   ├── gradle.lockfile
│   ├── modules/
│   │   ├── ROOT/
│   │   │   ├── pages/
│   │   │   │   ├── community.adoc
│   │   │   │   ├── evolution-and-roadmap.adoc
│   │   │   │   ├── examples.adoc
│   │   │   │   ├── index.adoc
│   │   │   │   ├── integrations.adoc
│   │   │   │   ├── language-bindings.adoc
│   │   │   │   ├── language.adoc
│   │   │   │   ├── resources.adoc
│   │   │   │   ├── standard-library.adoc
│   │   │   │   └── tools.adoc
│   │   │   └── partials/
│   │   │       └── component-attributes.adoc
│   │   ├── bindings-specification/
│   │   │   ├── pages/
│   │   │   │   ├── binary-encoding.adoc
│   │   │   │   ├── index.adoc
│   │   │   │   └── message-passing-api.adoc
│   │   │   └── partials/
│   │   │       └── component-attributes.adoc
│   │   ├── introduction/
│   │   │   └── pages/
│   │   │       ├── comparison.adoc
│   │   │       ├── concepts.adoc
│   │   │       ├── index.adoc
│   │   │       └── use-cases.adoc
│   │   ├── java-binding/
│   │   │   ├── examples/
│   │   │   │   └── JavaConfigExample.java
│   │   │   ├── pages/
│   │   │   │   ├── codegen.adoc
│   │   │   │   ├── index.adoc
│   │   │   │   └── pkl-config-java.adoc
│   │   │   └── partials/
│   │   │       └── cli-codegen-options.adoc
│   │   ├── kotlin-binding/
│   │   │   ├── examples/
│   │   │   │   └── KotlinConfigExample.kt
│   │   │   └── pages/
│   │   │       ├── codegen.adoc
│   │   │       ├── index.adoc
│   │   │       └── pkl-config-kotlin.adoc
│   │   ├── language-reference/
│   │   │   └── pages/
│   │   │       └── index.adoc
│   │   ├── language-tutorial/
│   │   │   └── pages/
│   │   │       ├── 01_basic_config.adoc
│   │   │       ├── 02_filling_out_a_template.adoc
│   │   │       ├── 03_writing_a_template.adoc
│   │   │       └── index.adoc
│   │   ├── pkl-cli/
│   │   │   ├── pages/
│   │   │   │   └── index.adoc
│   │   │   └── partials/
│   │   │       ├── cli-common-options.adoc
│   │   │       └── cli-project-options.adoc
│   │   ├── pkl-core/
│   │   │   ├── examples/
│   │   │   │   └── CoreEvaluatorExample.java
│   │   │   └── pages/
│   │   │       └── index.adoc
│   │   ├── pkl-doc/
│   │   │   └── pages/
│   │   │       └── index.adoc
│   │   ├── pkl-gradle/
│   │   │   ├── pages/
│   │   │   │   └── index.adoc
│   │   │   └── partials/
│   │   │       ├── gradle-codegen-properties.adoc
│   │   │       ├── gradle-common-properties.adoc
│   │   │       └── gradle-modules-properties.adoc
│   │   ├── release-notes/
│   │   │   ├── pages/
│   │   │   │   ├── 0.25.adoc
│   │   │   │   ├── 0.26.adoc
│   │   │   │   ├── 0.27.adoc
│   │   │   │   ├── 0.28.adoc
│   │   │   │   ├── 0.29.adoc
│   │   │   │   ├── 0.30.adoc
│   │   │   │   ├── 0.31.adoc
│   │   │   │   ├── 0.32.adoc
│   │   │   │   ├── changelog.adoc
│   │   │   │   └── index.adoc
│   │   │   ├── partials/
│   │   │   │   └── intro.adoc
│   │   │   └── template.adoc
│   │   └── style-guide/
│   │       └── pages/
│   │           └── index.adoc
│   ├── nav.adoc
│   └── src/
│       └── test/
│           ├── kotlin/
│           │   └── DocSnippetTests.kt
│           └── resources/
│               └── META-INF/
│                   └── services/
│                       └── org.junit.platform.engine.TestEngine
├── gradle/
│   ├── libs.versions.toml
│   └── wrapper/
│       ├── gradle-wrapper.jar
│       └── gradle-wrapper.properties
├── gradle.properties
├── gradlew
├── gradlew.bat
├── jbang-catalog.json
├── pkl-bom/
│   └── pkl-bom.gradle.kts
├── pkl-cli/
│   ├── README.adoc
│   ├── gradle.lockfile
│   ├── pkl-cli.gradle.kts
│   └── src/
│       ├── main/
│       │   └── kotlin/
│       │       └── org/
│       │           └── pkl/
│       │               └── cli/
│       │                   ├── CliCommandRunner.kt
│       │                   ├── CliEvaluator.kt
│       │                   ├── CliEvaluatorOptions.kt
│       │                   ├── CliFormatterCommand.kt
│       │                   ├── CliImportAnalyzer.kt
│       │                   ├── CliImportAnalyzerOptions.kt
│       │                   ├── CliPackageDownloader.kt
│       │                   ├── CliProjectCommand.kt
│       │                   ├── CliProjectPackager.kt
│       │                   ├── CliProjectResolver.kt
│       │                   ├── CliRepl.kt
│       │                   ├── CliServer.kt
│       │                   ├── CliTestRunner.kt
│       │                   ├── Main.kt
│       │                   ├── OutputUtils.kt
│       │                   ├── commands/
│       │                   │   ├── AnalyzeCommand.kt
│       │                   │   ├── DownloadPackageCommand.kt
│       │                   │   ├── EvalCommand.kt
│       │                   │   ├── FormatterCommand.kt
│       │                   │   ├── ProjectCommand.kt
│       │                   │   ├── ReplCommand.kt
│       │                   │   ├── RootCommand.kt
│       │                   │   ├── RunCommand.kt
│       │                   │   ├── ServerCommand.kt
│       │                   │   ├── TestCommand.kt
│       │                   │   └── Utils.kt
│       │                   └── repl/
│       │                       ├── Repl.kt
│       │                       ├── ReplCommands.kt
│       │                       ├── ReplCompleters.kt
│       │                       ├── ReplMessages.kt
│       │                       └── package-info.java
│       └── test/
│           ├── files/
│           │   └── projects/
│           │       └── project1/
│           │           └── PklProject
│           └── kotlin/
│               └── org/
│                   └── pkl/
│                       └── cli/
│                           ├── CliCommandRunnerTest.kt
│                           ├── CliEvaluatorTest.kt
│                           ├── CliFormatterTest.kt
│                           ├── CliImportAnalyzerTest.kt
│                           ├── CliMainTest.kt
│                           ├── CliPackageDownloaderTest.kt
│                           ├── CliProjectPackagerTest.kt
│                           ├── CliProjectResolverTest.kt
│                           ├── CliShellCompletionTest.kt
│                           ├── CliTestRunnerTest.kt
│                           ├── repl/
│                           │   └── ReplMessagesTest.kt
│                           └── testExtensions.kt
├── pkl-codegen-java/
│   ├── gradle.lockfile
│   ├── pkl-codegen-java.gradle.kts
│   └── src/
│       ├── main/
│       │   └── kotlin/
│       │       └── org/
│       │           └── pkl/
│       │               └── codegen/
│       │                   └── java/
│       │                       ├── CliJavaCodeGenerator.kt
│       │                       ├── CliJavaCodeGeneratorOptions.kt
│       │                       ├── JavaCodeGenerator.kt
│       │                       └── Main.kt
│       └── test/
│           ├── kotlin/
│           │   └── org/
│           │       └── pkl/
│           │           └── codegen/
│           │               └── java/
│           │                   ├── CliJavaCodeGeneratorTest.kt
│           │                   ├── InMemoryJavaCompiler.kt
│           │                   ├── JavaCodeGeneratorTest.kt
│           │                   └── PklModule.kt
│           └── resources/
│               └── org/
│                   └── pkl/
│                       └── codegen/
│                           └── java/
│                               ├── GenerateGetters.jva
│                               ├── GeneratedAnnotation.jva
│                               ├── Inheritance.jva
│                               ├── Javadoc.jva
│                               └── PropertyTypes.jva
├── pkl-codegen-kotlin/
│   ├── gradle.lockfile
│   ├── pkl-codegen-kotlin.gradle.kts
│   └── src/
│       ├── main/
│       │   └── kotlin/
│       │       └── org/
│       │           └── pkl/
│       │               └── codegen/
│       │                   └── kotlin/
│       │                       ├── CliKotlinCodeGenerator.kt
│       │                       ├── CliKotlinCodeGeneratorOptions.kt
│       │                       ├── KotlinCodeGenerator.kt
│       │                       └── Main.kt
│       └── test/
│           ├── kotlin/
│           │   └── org/
│           │       └── pkl/
│           │           └── codegen/
│           │               └── kotlin/
│           │                   ├── CliKotlinCodeGeneratorTest.kt
│           │                   ├── InMemoryKotlinCompiler.kt
│           │                   ├── KotlinCodeGeneratorTest.kt
│           │                   └── PklModule.kt
│           └── resources/
│               └── org/
│                   └── pkl/
│                       └── codegen/
│                           └── kotlin/
│                               ├── Inheritance.kotlin
│                               ├── Kdoc.kotlin
│                               └── PropertyTypes.kotlin
├── pkl-commons/
│   ├── gradle.lockfile
│   ├── pkl-commons.gradle.kts
│   └── src/
│       ├── main/
│       │   └── kotlin/
│       │       └── org/
│       │           └── pkl/
│       │               └── commons/
│       │                   ├── Control.kt
│       │                   ├── NameMapper.kt
│       │                   ├── Paths.kt
│       │                   ├── Strings.kt
│       │                   ├── Throwables.kt
│       │                   └── Uris.kt
│       └── test/
│           └── kotlin/
│               └── org/
│                   └── pkl/
│                       └── commons/
│                           ├── NameMapperTest.kt
│                           └── ShlexTest.kt
├── pkl-commons-cli/
│   ├── gradle.lockfile
│   ├── pkl-commons-cli.gradle.kts
│   └── src/
│       ├── main/
│       │   ├── kotlin/
│       │   │   └── org/
│       │   │       └── pkl/
│       │   │           └── commons/
│       │   │               └── cli/
│       │   │                   ├── CliBaseOptions.kt
│       │   │                   ├── CliCommand.kt
│       │   │                   ├── CliException.kt
│       │   │                   ├── CliMain.kt
│       │   │                   ├── CliTestException.kt
│       │   │                   ├── CliTestOptions.kt
│       │   │                   └── commands/
│       │   │                       ├── BaseCommand.kt
│       │   │                       ├── BaseOptions.kt
│       │   │                       ├── ModulesCommand.kt
│       │   │                       ├── NoOpCommand.kt
│       │   │                       ├── OptionExtensions.kt
│       │   │                       ├── ProjectOptions.kt
│       │   │                       ├── TestOptions.kt
│       │   │                       └── extensions.kt
│       │   └── resources/
│       │       └── org/
│       │           └── pkl/
│       │               └── commons/
│       │                   └── cli/
│       │                       └── PklCARoots.pem
│       ├── svm/
│       │   └── java/
│       │       └── org/
│       │           └── pkl/
│       │               └── commons/
│       │                   └── cli/
│       │                       └── svm/
│       │                           ├── InitFeature.java
│       │                           ├── MessagePackRecomputations.java
│       │                           ├── PolyglotContextImplTarget.java
│       │                           ├── PolyglotThreadInfoTarget.java
│       │                           ├── ThreadLocalHandshakeTarget.java
│       │                           └── WeakAssumedValueTarget.java
│       └── test/
│           └── kotlin/
│               └── org/
│                   └── pkl/
│                       └── commons/
│                           └── cli/
│                               ├── BaseCommandTest.kt
│                               └── CliCommandTest.kt
├── pkl-commons-test/
│   ├── gradle.lockfile
│   ├── pkl-commons-test.gradle.kts
│   └── src/
│       └── main/
│           ├── files/
│           │   └── packages/
│           │       ├── badChecksum@1.0.0/
│           │       │   ├── badChecksum@1.0.0.json
│           │       │   └── package/
│           │       │       └── Bug.pkl
│           │       ├── badImportsWithinPackage@1.0.0/
│           │       │   ├── badImportsWithinPackage@1.0.0.json
│           │       │   └── package/
│           │       │       ├── invalidPath.pkl
│           │       │       ├── invalidPathRead.pkl
│           │       │       ├── unknownDependency.pkl
│           │       │       └── unknownDependencyRead.pkl
│           │       ├── badMetadataJson@1.0.0/
│           │       │   ├── badMetadataJson@1.0.0.json
│           │       │   └── package/
│           │       │       └── Bug.pkl
│           │       ├── badPackageZipUrl@1.0.0/
│           │       │   ├── badPackageZipUrl@1.0.0.json
│           │       │   └── package/
│           │       │       └── Bug.pkl
│           │       ├── birds@0.5.0/
│           │       │   ├── birds@0.5.0.json
│           │       │   └── package/
│           │       │       ├── Bird.pkl
│           │       │       ├── allFruit.pkl
│           │       │       ├── catalog/
│           │       │       │   ├── Ostrich.pkl
│           │       │       │   └── Swallow.pkl
│           │       │       ├── catalog.pkl
│           │       │       └── some/
│           │       │           └── dir/
│           │       │               └── Bird.pkl
│           │       ├── birds@0.6.0/
│           │       │   ├── birds@0.6.0.json
│           │       │   └── package/
│           │       │       ├── Bird.pkl
│           │       │       ├── allFruit.pkl
│           │       │       ├── catalog/
│           │       │       │   ├── Ostrich.pkl
│           │       │       │   └── Swallow.pkl
│           │       │       ├── catalog.pkl
│           │       │       └── some/
│           │       │           └── dir/
│           │       │               └── Bird.pkl
│           │       ├── birds@0.7.0/
│           │       │   ├── birds@0.7.0.json
│           │       │   └── package/
│           │       │       ├── Bird.pkl
│           │       │       ├── allFruit.pkl
│           │       │       ├── catalog/
│           │       │       │   ├── Ostrich.pkl
│           │       │       │   └── Swallow.pkl
│           │       │       ├── catalog.pkl
│           │       │       └── some/
│           │       │           └── dir/
│           │       │               └── Bird.pkl
│           │       ├── deprecated@1.0.0/
│           │       │   ├── deprecated@1.0.0.json
│           │       │   └── package/
│           │       │       └── deprecated.pkl
│           │       ├── fruit@1.0.5/
│           │       │   ├── fruit@1.0.5.json
│           │       │   └── package/
│           │       │       ├── Fruit.pkl
│           │       │       └── catalog/
│           │       │           └── apple.pkl
│           │       ├── fruit@1.1.0/
│           │       │   ├── fruit@1.1.0.json
│           │       │   └── package/
│           │       │       ├── Fruit.pkl
│           │       │       └── catalog/
│           │       │           ├── apple.pkl
│           │       │           └── pineapple.pkl
│           │       ├── packageContainingWildcardCharacters@1.0.0/
│           │       │   ├── package/
│           │       │   │   └── name with [wildcard]! characters~~.pkl
│           │       │   └── packageContainingWildcardCharacters@1.0.0.json
│           │       └── unlisted@1.0.0/
│           │           ├── package/
│           │           │   └── unlisted.pkl
│           │           └── unlisted@1.0.0.json
│           └── kotlin/
│               └── org/
│                   └── pkl/
│                       └── commons/
│                           └── test/
│                               ├── Executables.kt
│                               ├── FakeHttpResponse.kt
│                               ├── FileTestUtils.kt
│                               ├── FilteringClassLoader.kt
│                               ├── InputOutputTestEngine.kt
│                               ├── MessagePackDebugRenderer.kt
│                               ├── PackageServer.kt
│                               ├── PklAssertionFailedError.kt
│                               └── ReflectionUtils.kt
├── pkl-config-java/
│   ├── gradle.lockfile
│   ├── pkl-config-java.gradle.kts
│   └── src/
│       ├── main/
│       │   └── java/
│       │       └── org/
│       │           └── pkl/
│       │               └── config/
│       │                   └── java/
│       │                       ├── AbstractConfig.java
│       │                       ├── CompositeConfig.java
│       │                       ├── Config.java
│       │                       ├── ConfigEvaluator.java
│       │                       ├── ConfigEvaluatorBuilder.java
│       │                       ├── ConfigEvaluatorImpl.java
│       │                       ├── Generated.java
│       │                       ├── InvalidMappingException.java
│       │                       ├── JavaType.java
│       │                       ├── LeafConfig.java
│       │                       ├── MapConfig.java
│       │                       ├── NoSuchChildException.java
│       │                       ├── mapper/
│       │                       │   ├── ClassRegistry.java
│       │                       │   ├── Conversion.java
│       │                       │   ├── ConversionException.java
│       │                       │   ├── Conversions.java
│       │                       │   ├── Converter.java
│       │                       │   ├── ConverterFactories.java
│       │                       │   ├── ConverterFactory.java
│       │                       │   ├── Named.java
│       │                       │   ├── NonNull.java
│       │                       │   ├── PAnyToOptional.java
│       │                       │   ├── PCollectionToArray.java
│       │                       │   ├── PCollectionToCollection.java
│       │                       │   ├── PMapToMap.java
│       │                       │   ├── PNullToAny.java
│       │                       │   ├── PObjectToDataObject.java
│       │                       │   ├── PObjectToMap.java
│       │                       │   ├── PObjectToPObject.java
│       │                       │   ├── PPairToPair.java
│       │                       │   ├── PStringToEnum.java
│       │                       │   ├── Reflection.java
│       │                       │   ├── Tuple2.java
│       │                       │   ├── TypeMapping.java
│       │                       │   ├── TypeMappings.java
│       │                       │   ├── Types.java
│       │                       │   ├── ValueMapper.java
│       │                       │   ├── ValueMapperBuilder.java
│       │                       │   ├── ValueMapperImpl.java
│       │                       │   └── package-info.java
│       │                       └── package-info.java
│       └── test/
│           ├── java/
│           │   └── org/
│           │       └── pkl/
│           │           └── config/
│           │               └── java/
│           │                   ├── AbstractConfigTest.java
│           │                   ├── ConfigEvaluatorBuilderTest.java
│           │                   ├── ConfigPklBinaryDecoderTest.java
│           │                   ├── ConfigTest.java
│           │                   ├── JavaTypeTest.java
│           │                   └── mapper/
│           │                       ├── BytesToByteArrayTest.java
│           │                       ├── ConversionsTest.java
│           │                       ├── PAnyToOptionalTest.java
│           │                       ├── PCollectionToArrayTest.java
│           │                       ├── PCollectionToCollectionTest.java
│           │                       ├── PMapToMapTest.java
│           │                       ├── PModuleToDataObjectTest.java
│           │                       ├── PNullToAnyTest.java
│           │                       ├── PObjectToDataObjectJavaxInjectTest.java
│           │                       ├── PObjectToDataObjectOverriddenPropertyTest.java
│           │                       ├── PObjectToDataObjectTest.java
│           │                       ├── PObjectToInnerClassTest.java
│           │                       ├── PObjectToPObjectTest.java
│           │                       ├── PPairToPairTest.java
│           │                       ├── PStringToEnumTest.java
│           │                       ├── PStringToVersionTest.java
│           │                       ├── PVersionToStringTest.java
│           │                       ├── PVersionToVersionTest.java
│           │                       ├── Person.java
│           │                       ├── PolymorphicTest.kt
│           │                       ├── ReflectionTest.java
│           │                       └── TypesTest.java
│           └── resources/
│               ├── codegenPkl/
│               │   ├── OverriddenProperty.pkl
│               │   ├── PolymorphicLib.pkl
│               │   └── PolymorphicModuleTest.pkl
│               └── org/
│                   └── pkl/
│                       └── config/
│                           └── java/
│                               └── mapper/
│                                   ├── BytesToByteArrayTest.pkl
│                                   ├── PAnyToOptionalTest.pkl
│                                   ├── PCollectionToArrayTest.pkl
│                                   ├── PCollectionToCollectionTest.pkl
│                                   ├── PMapToMapTest.pkl
│                                   ├── PModuleToDataObjectTest.pkl
│                                   ├── PObjectToDataObjectPolymorphismTest.pkl
│                                   ├── PObjectToDataObjectTest.pkl
│                                   ├── PObjectToPObjectTest.pkl
│                                   ├── PPairToPairTest.pkl
│                                   ├── PStringToEnumTest.pkl
│                                   ├── PStringToVersionTest.pkl
│                                   └── PVersionToVersionTest.pkl
├── pkl-config-kotlin/
│   ├── gradle.lockfile
│   ├── pkl-config-kotlin.gradle.kts
│   └── src/
│       ├── main/
│       │   └── kotlin/
│       │       └── org/
│       │           └── pkl/
│       │               └── config/
│       │                   └── kotlin/
│       │                       ├── ConfigExtensions.kt
│       │                       └── mapper/
│       │                           ├── KotlinConversions.kt
│       │                           ├── KotlinConverterFactories.kt
│       │                           └── PPairToKotlinPair.kt
│       └── test/
│           ├── java/
│           │   └── org/
│           │       └── pkl/
│           │           └── config/
│           │               └── kotlin/
│           │                   └── JavaPerson.java
│           ├── kotlin/
│           │   └── org/
│           │       └── pkl/
│           │           └── config/
│           │               └── kotlin/
│           │                   ├── ConfigExtensionsTest.kt
│           │                   ├── KotlinObjectMappingTest.kt
│           │                   └── mapper/
│           │                       ├── KotlinConversionsTest.kt
│           │                       ├── OverriddenPropertyTest.kt
│           │                       ├── PPairToKotlinPairTest.kt
│           │                       └── PolymorphicTest.kt
│           └── resources/
│               ├── codegenPkl/
│               │   ├── OverriddenProperty.pkl
│               │   ├── PolymorphicLib.pkl
│               │   └── PolymorphicModuleTest.pkl
│               └── org/
│                   └── pkl/
│                       └── config/
│                           └── kotlin/
│                               └── mapper/
│                                   └── PPairToKotlinPairTest.pkl
├── pkl-core/
│   ├── README.adoc
│   ├── gradle.lockfile
│   ├── pkl-core.gradle.kts
│   └── src/
│       ├── generator/
│       │   ├── kotlin/
│       │   │   └── org/
│       │   │       └── pkl/
│       │   │           └── core/
│       │   │               └── generator/
│       │   │                   └── MemberRegistryGenerator.kt
│       │   └── resources/
│       │       └── META-INF/
│       │           ├── gradle/
│       │           │   └── incremental.annotation.processors
│       │           └── services/
│       │               └── javax.annotation.processing.Processor
│       ├── main/
│       │   ├── java/
│       │   │   └── org/
│       │   │       └── pkl/
│       │   │           └── core/
│       │   │               ├── Analyzer.java
│       │   │               ├── BufferedLogger.java
│       │   │               ├── Closeables.java
│       │   │               ├── CommandSpec.java
│       │   │               ├── Composite.java
│       │   │               ├── DataSize.java
│       │   │               ├── DataSizeUnit.java
│       │   │               ├── Duration.java
│       │   │               ├── DurationUnit.java
│       │   │               ├── Evaluator.java
│       │   │               ├── EvaluatorBuilder.java
│       │   │               ├── EvaluatorImpl.java
│       │   │               ├── FileOutput.java
│       │   │               ├── FileOutputImpl.java
│       │   │               ├── ImportGraph.java
│       │   │               ├── JsonRenderer.java
│       │   │               ├── Logger.java
│       │   │               ├── Loggers.java
│       │   │               ├── Member.java
│       │   │               ├── Modifier.java
│       │   │               ├── ModuleSchema.java
│       │   │               ├── ModuleSource.java
│       │   │               ├── NoSuchPropertyException.java
│       │   │               ├── OutputFormat.java
│       │   │               ├── PClass.java
│       │   │               ├── PClassInfo.java
│       │   │               ├── PListRenderer.java
│       │   │               ├── PModule.java
│       │   │               ├── PNull.java
│       │   │               ├── PObject.java
│       │   │               ├── PType.java
│       │   │               ├── Pair.java
│       │   │               ├── PcfRenderer.java
│       │   │               ├── PklBinaryDecoder.java
│       │   │               ├── PklBugException.java
│       │   │               ├── PklException.java
│       │   │               ├── PklInfo.java
│       │   │               ├── Platform.java
│       │   │               ├── PropertiesRenderer.java
│       │   │               ├── Release.java
│       │   │               ├── RendererException.java
│       │   │               ├── SecurityManager.java
│       │   │               ├── SecurityManagerBuilder.java
│       │   │               ├── SecurityManagerException.java
│       │   │               ├── SecurityManagers.java
│       │   │               ├── StackFrame.java
│       │   │               ├── StackFrameTransformer.java
│       │   │               ├── StackFrameTransformers.java
│       │   │               ├── TestResults.java
│       │   │               ├── TypeAlias.java
│       │   │               ├── TypeParameter.java
│       │   │               ├── Value.java
│       │   │               ├── ValueConverter.java
│       │   │               ├── ValueFormatter.java
│       │   │               ├── ValueRenderer.java
│       │   │               ├── ValueRenderers.java
│       │   │               ├── ValueVisitor.java
│       │   │               ├── Version.java
│       │   │               ├── YamlRenderer.java
│       │   │               ├── ast/
│       │   │               │   ├── ByteConstantValueNode.java
│       │   │               │   ├── ConstantNode.java
│       │   │               │   ├── ConstantValueNode.java
│       │   │               │   ├── ExpressionNode.java
│       │   │               │   ├── MemberLookupMode.java
│       │   │               │   ├── MemberNode.java
│       │   │               │   ├── PklNode.java
│       │   │               │   ├── PklRootNode.java
│       │   │               │   ├── SimpleRootNode.java
│       │   │               │   ├── VmModifier.java
│       │   │               │   ├── builder/
│       │   │               │   │   ├── AbstractAstBuilder.java
│       │   │               │   │   ├── AstBuilder.java
│       │   │               │   │   ├── CannotInvokeAbstractFunctionNode.java
│       │   │               │   │   ├── CannotInvokeAbstractPropertyNode.java
│       │   │               │   │   ├── ConstLevel.java
│       │   │               │   │   ├── ImportsAndReadsParser.java
│       │   │               │   │   ├── SymbolTable.java
│       │   │               │   │   └── package-info.java
│       │   │               │   ├── expression/
│       │   │               │   │   ├── binary/
│       │   │               │   │   │   ├── AdditionNode.java
│       │   │               │   │   │   ├── BinaryExpressionNode.java
│       │   │               │   │   │   ├── ComparatorNode.java
│       │   │               │   │   │   ├── DivisionNode.java
│       │   │               │   │   │   ├── EqualNode.java
│       │   │               │   │   │   ├── ExponentiationNode.java
│       │   │               │   │   │   ├── GreaterThanNode.java
│       │   │               │   │   │   ├── GreaterThanOrEqualNode.java
│       │   │               │   │   │   ├── LessThanNode.java
│       │   │               │   │   │   ├── LessThanOrEqualNode.java
│       │   │               │   │   │   ├── LetExprNode.java
│       │   │               │   │   │   ├── LogicalAndNode.java
│       │   │               │   │   │   ├── LogicalOrNode.java
│       │   │               │   │   │   ├── MultiplicationNode.java
│       │   │               │   │   │   ├── NotEqualNode.java
│       │   │               │   │   │   ├── NullCoalescingNode.java
│       │   │               │   │   │   ├── PipeNode.java
│       │   │               │   │   │   ├── RemainderNode.java
│       │   │               │   │   │   ├── ShortCircuitingExpressionNode.java
│       │   │               │   │   │   ├── SubscriptNode.java
│       │   │               │   │   │   ├── SubtractionNode.java
│       │   │               │   │   │   ├── TruncatingDivisionNode.java
│       │   │               │   │   │   └── package-info.java
│       │   │               │   │   ├── generator/
│       │   │               │   │   │   ├── GeneratorElementNode.java
│       │   │               │   │   │   ├── GeneratorEntryNode.java
│       │   │               │   │   │   ├── GeneratorForNode.java
│       │   │               │   │   │   ├── GeneratorMemberNode.java
│       │   │               │   │   │   ├── GeneratorObjectLiteralNode.java
│       │   │               │   │   │   ├── GeneratorPredicateMemberNode.java
│       │   │               │   │   │   ├── GeneratorPropertyNode.java
│       │   │               │   │   │   ├── GeneratorSpreadNode.java
│       │   │               │   │   │   ├── GeneratorWhenNode.java
│       │   │               │   │   │   ├── ObjectData.java
│       │   │               │   │   │   ├── RestoreForBindingsNode.java
│       │   │               │   │   │   └── package-info.java
│       │   │               │   │   ├── literal/
│       │   │               │   │   │   ├── AmendFunctionNode.java
│       │   │               │   │   │   ├── AmendModuleNode.java
│       │   │               │   │   │   ├── BytesLiteralNode.java
│       │   │               │   │   │   ├── CheckIsAnnotationClassNode.java
│       │   │               │   │   │   ├── ConstantEntriesLiteralNode.java
│       │   │               │   │   │   ├── ElementsEntriesLiteralNode.java
│       │   │               │   │   │   ├── ElementsLiteralNode.java
│       │   │               │   │   │   ├── EmptyObjectLiteralNode.java
│       │   │               │   │   │   ├── EntriesLiteralNode.java
│       │   │               │   │   │   ├── FalseLiteralNode.java
│       │   │               │   │   │   ├── FloatLiteralNode.java
│       │   │               │   │   │   ├── FunctionLiteralNode.java
│       │   │               │   │   │   ├── IntLiteralNode.java
│       │   │               │   │   │   ├── InterpolatedStringLiteralNode.java
│       │   │               │   │   │   ├── ListLiteralNode.java
│       │   │               │   │   │   ├── MapLiteralNode.java
│       │   │               │   │   │   ├── ObjectLiteralNode.java
│       │   │               │   │   │   ├── PropertiesLiteralNode.java
│       │   │               │   │   │   ├── SetLiteralNode.java
│       │   │               │   │   │   ├── SpecializedObjectLiteralNode.java
│       │   │               │   │   │   ├── TrueLiteralNode.java
│       │   │               │   │   │   └── package-info.java
│       │   │               │   │   ├── member/
│       │   │               │   │   │   ├── InferParentWithinMethodNode.java
│       │   │               │   │   │   ├── InferParentWithinObjectMethodNode.java
│       │   │               │   │   │   ├── InferParentWithinPropertyNode.java
│       │   │               │   │   │   ├── InvokeMethodDirectNode.java
│       │   │               │   │   │   ├── InvokeMethodLexicalNode.java
│       │   │               │   │   │   ├── InvokeMethodVirtualNode.java
│       │   │               │   │   │   ├── InvokeSuperMethodNode.java
│       │   │               │   │   │   ├── ReadLocalPropertyNode.java
│       │   │               │   │   │   ├── ReadPropertyNode.java
│       │   │               │   │   │   ├── ReadSuperEntryNode.java
│       │   │               │   │   │   ├── ReadSuperPropertyNode.java
│       │   │               │   │   │   ├── ResolveMethodNode.java
│       │   │               │   │   │   └── package-info.java
│       │   │               │   │   ├── package-info.java
│       │   │               │   │   ├── primary/
│       │   │               │   │   │   ├── CustomThisNode.java
│       │   │               │   │   │   ├── GetEnclosingOwnerNode.java
│       │   │               │   │   │   ├── GetEnclosingReceiverNode.java
│       │   │               │   │   │   ├── GetMemberKeyNode.java
│       │   │               │   │   │   ├── GetModuleNode.java
│       │   │               │   │   │   ├── GetOwnerNode.java
│       │   │               │   │   │   ├── GetReceiverNode.java
│       │   │               │   │   │   ├── OuterNode.java
│       │   │               │   │   │   ├── ResolveVariableNode.java
│       │   │               │   │   │   ├── ThisNode.java
│       │   │               │   │   │   └── package-info.java
│       │   │               │   │   ├── ternary/
│       │   │               │   │   │   ├── IfElseNode.java
│       │   │               │   │   │   └── package-info.java
│       │   │               │   │   └── unary/
│       │   │               │   │       ├── AbstractImportNode.java
│       │   │               │   │       ├── AbstractReadNode.java
│       │   │               │   │       ├── ImportGlobMemberBodyNode.java
│       │   │               │   │       ├── ImportGlobNode.java
│       │   │               │   │       ├── ImportNode.java
│       │   │               │   │       ├── LogicalNotNode.java
│       │   │               │   │       ├── NonNullNode.java
│       │   │               │   │       ├── NullPropagatingOperationNode.java
│       │   │               │   │       ├── PropagateNullReceiverNode.java
│       │   │               │   │       ├── ReadGlobMemberBodyNode.java
│       │   │               │   │       ├── ReadGlobNode.java
│       │   │               │   │       ├── ReadNode.java
│       │   │               │   │       ├── ReadOrNullNode.java
│       │   │               │   │       ├── ReadOrNullStdLibNode.java
│       │   │               │   │       ├── ThrowNode.java
│       │   │               │   │       ├── TraceNode.java
│       │   │               │   │       ├── UnaryExpressionNode.java
│       │   │               │   │       ├── UnaryMinusNode.java
│       │   │               │   │       └── package-info.java
│       │   │               │   ├── frame/
│       │   │               │   │   ├── ReadEnclosingFrameSlotNode.java
│       │   │               │   │   ├── ReadFrameSlotNode.java
│       │   │               │   │   ├── WriteFrameSlotNode.java
│       │   │               │   │   └── package-info.java
│       │   │               │   ├── internal/
│       │   │               │   │   ├── BlackholeNode.java
│       │   │               │   │   ├── GetBaseModuleClassNode.java
│       │   │               │   │   ├── GetClassNode.java
│       │   │               │   │   ├── IsInstanceOfNode.java
│       │   │               │   │   ├── SyntheticNode.java
│       │   │               │   │   ├── ToStringNode.java
│       │   │               │   │   └── package-info.java
│       │   │               │   ├── lambda/
│       │   │               │   │   ├── ApplyVmFunction0Node.java
│       │   │               │   │   ├── ApplyVmFunction1Node.java
│       │   │               │   │   ├── ApplyVmFunction2Node.java
│       │   │               │   │   ├── ApplyVmFunction3Node.java
│       │   │               │   │   ├── ApplyVmFunction4Node.java
│       │   │               │   │   ├── ApplyVmFunction5Node.java
│       │   │               │   │   └── package-info.java
│       │   │               │   ├── member/
│       │   │               │   │   ├── ClassMember.java
│       │   │               │   │   ├── ClassMethod.java
│       │   │               │   │   ├── ClassNode.java
│       │   │               │   │   ├── ClassProperty.java
│       │   │               │   │   ├── DefaultPropertyBodyNode.java
│       │   │               │   │   ├── DelegateToExtraStorageMapOrParentNode.java
│       │   │               │   │   ├── DelegateToExtraStorageObjNode.java
│       │   │               │   │   ├── DelegateToExtraStorageObjOrParentNode.java
│       │   │               │   │   ├── ElementOrEntryNode.java
│       │   │               │   │   ├── FunctionNode.java
│       │   │               │   │   ├── Lambda.java
│       │   │               │   │   ├── ListingOrMappingTypeCastNode.java
│       │   │               │   │   ├── LocalTypedPropertyNode.java
│       │   │               │   │   ├── Member.java
│       │   │               │   │   ├── ModuleNode.java
│       │   │               │   │   ├── ObjectMember.java
│       │   │               │   │   ├── ObjectMethodNode.java
│       │   │               │   │   ├── PropertyTypeNode.java
│       │   │               │   │   ├── RegularMemberNode.java
│       │   │               │   │   ├── SharedMemberNode.java
│       │   │               │   │   ├── TypeAliasNode.java
│       │   │               │   │   ├── TypeCheckedPropertyNode.java
│       │   │               │   │   ├── TypedPropertyNode.java
│       │   │               │   │   ├── UnresolvedClassMemberNode.java
│       │   │               │   │   ├── UnresolvedFunctionNode.java
│       │   │               │   │   ├── UnresolvedMethodNode.java
│       │   │               │   │   ├── UnresolvedPropertyNode.java
│       │   │               │   │   ├── UntypedObjectMemberNode.java
│       │   │               │   │   └── package-info.java
│       │   │               │   ├── package-info.java
│       │   │               │   ├── repl/
│       │   │               │   │   ├── ResolveClassMemberNode.java
│       │   │               │   │   └── package-info.java
│       │   │               │   └── type/
│       │   │               │       ├── GetParentForTypeNode.java
│       │   │               │       ├── IdentityMixinNode.java
│       │   │               │       ├── ResolveDeclaredTypeNode.java
│       │   │               │       ├── ResolveQualifiedDeclaredTypeNode.java
│       │   │               │       ├── ResolveSimpleDeclaredTypeNode.java
│       │   │               │       ├── TypeCastNode.java
│       │   │               │       ├── TypeConstraintNode.java
│       │   │               │       ├── TypeNode.java
│       │   │               │       ├── TypeTestNode.java
│       │   │               │       ├── UnresolvedTypeNode.java
│       │   │               │       ├── VmTypeMismatchException.java
│       │   │               │       └── package-info.java
│       │   │               ├── evaluatorSettings/
│       │   │               │   ├── Color.java
│       │   │               │   ├── PklEvaluatorSettings.java
│       │   │               │   ├── TraceMode.java
│       │   │               │   └── package-info.java
│       │   │               ├── externalreader/
│       │   │               │   ├── ExternalModuleResolver.java
│       │   │               │   ├── ExternalModuleResolverImpl.java
│       │   │               │   ├── ExternalReaderMessagePackDecoder.java
│       │   │               │   ├── ExternalReaderMessagePackEncoder.java
│       │   │               │   ├── ExternalReaderMessages.java
│       │   │               │   ├── ExternalReaderProcess.java
│       │   │               │   ├── ExternalReaderProcessException.java
│       │   │               │   ├── ExternalReaderProcessImpl.java
│       │   │               │   ├── ExternalResourceResolver.java
│       │   │               │   ├── ExternalResourceResolverImpl.java
│       │   │               │   ├── ModuleReaderSpec.java
│       │   │               │   ├── ResourceReaderSpec.java
│       │   │               │   └── package-info.java
│       │   │               ├── http/
│       │   │               │   ├── DummyHttpClient.java
│       │   │               │   ├── HttpClient.java
│       │   │               │   ├── HttpClientBuilder.java
│       │   │               │   ├── HttpClientInitException.java
│       │   │               │   ├── JdkHttpClient.java
│       │   │               │   ├── LazyHttpClient.java
│       │   │               │   ├── NoProxyRule.java
│       │   │               │   ├── ProxySelector.java
│       │   │               │   ├── RequestRewritingClient.java
│       │   │               │   └── package-info.java
│       │   │               ├── messaging/
│       │   │               │   ├── AbstractMessagePackDecoder.java
│       │   │               │   ├── AbstractMessagePackEncoder.java
│       │   │               │   ├── BaseMessagePackDecoder.java
│       │   │               │   ├── BaseMessagePackEncoder.java
│       │   │               │   ├── DecodeException.java
│       │   │               │   ├── Message.java
│       │   │               │   ├── MessageDecoder.java
│       │   │               │   ├── MessageEncoder.java
│       │   │               │   ├── MessageTransport.java
│       │   │               │   ├── MessageTransports.java
│       │   │               │   ├── Messages.java
│       │   │               │   ├── ProtocolException.java
│       │   │               │   └── package-info.java
│       │   │               ├── module/
│       │   │               │   ├── FileResolver.java
│       │   │               │   ├── ModuleKey.java
│       │   │               │   ├── ModuleKeyFactories.java
│       │   │               │   ├── ModuleKeyFactory.java
│       │   │               │   ├── ModuleKeys.java
│       │   │               │   ├── ModulePathResolver.java
│       │   │               │   ├── PathElement.java
│       │   │               │   ├── ProjectDependenciesManager.java
│       │   │               │   ├── ResolvedModuleKey.java
│       │   │               │   ├── ResolvedModuleKeys.java
│       │   │               │   └── package-info.java
│       │   │               ├── package-info.java
│       │   │               ├── packages/
│       │   │               │   ├── Checksums.java
│       │   │               │   ├── Dependency.java
│       │   │               │   ├── DependencyMetadata.java
│       │   │               │   ├── PackageAssetUri.java
│       │   │               │   ├── PackageLoadError.java
│       │   │               │   ├── PackageResolver.java
│       │   │               │   ├── PackageResolvers.java
│       │   │               │   ├── PackageUri.java
│       │   │               │   ├── PackageUtils.java
│       │   │               │   └── package-info.java
│       │   │               ├── project/
│       │   │               │   ├── CanonicalPackageUri.java
│       │   │               │   ├── DeclaredDependencies.java
│       │   │               │   ├── Package.java
│       │   │               │   ├── Project.java
│       │   │               │   ├── ProjectDependenciesResolver.java
│       │   │               │   ├── ProjectDeps.java
│       │   │               │   ├── ProjectPackager.java
│       │   │               │   └── package-info.java
│       │   │               ├── repl/
│       │   │               │   ├── ReplRequest.java
│       │   │               │   ├── ReplResponse.java
│       │   │               │   ├── ReplServer.java
│       │   │               │   └── package-info.java
│       │   │               ├── resource/
│       │   │               │   ├── Resource.java
│       │   │               │   ├── ResourceReader.java
│       │   │               │   ├── ResourceReaders.java
│       │   │               │   └── package-info.java
│       │   │               ├── runtime/
│       │   │               │   ├── AnalyzeModule.java
│       │   │               │   ├── BaseModule.java
│       │   │               │   ├── BenchmarkModule.java
│       │   │               │   ├── CommandModule.java
│       │   │               │   ├── CommandSpecParser.java
│       │   │               │   ├── FileSystemManager.java
│       │   │               │   ├── Identifier.java
│       │   │               │   ├── Iterators.java
│       │   │               │   ├── JsonnetModule.java
│       │   │               │   ├── KeyLookupSuggestions.java
│       │   │               │   ├── LoggerImpl.java
│       │   │               │   ├── MathModule.java
│       │   │               │   ├── MemberLookupSuggestions.java
│       │   │               │   ├── MinPklVersionChecker.java
│       │   │               │   ├── MirrorFactories.java
│       │   │               │   ├── ModuleCache.java
│       │   │               │   ├── ModuleInfo.java
│       │   │               │   ├── ModuleResolver.java
│       │   │               │   ├── NullReceiverException.java
│       │   │               │   ├── PklBinaryModule.java
│       │   │               │   ├── PklTags.java
│       │   │               │   ├── PlatformModule.java
│       │   │               │   ├── PowerAssertions.java
│       │   │               │   ├── ProjectModule.java
│       │   │               │   ├── ReaderBase.java
│       │   │               │   ├── ReflectModule.java
│       │   │               │   ├── ReleaseModule.java
│       │   │               │   ├── ResourceManager.java
│       │   │               │   ├── SemVerModule.java
│       │   │               │   ├── SettingsModule.java
│       │   │               │   ├── StackTraceGenerator.java
│       │   │               │   ├── StackTraceRenderer.java
│       │   │               │   ├── StdLibModule.java
│       │   │               │   ├── TestModule.java
│       │   │               │   ├── TestRunner.java
│       │   │               │   ├── VmBugException.java
│       │   │               │   ├── VmBytes.java
│       │   │               │   ├── VmClass.java
│       │   │               │   ├── VmCollection.java
│       │   │               │   ├── VmContext.java
│       │   │               │   ├── VmDataSize.java
│       │   │               │   ├── VmDuration.java
│       │   │               │   ├── VmDynamic.java
│       │   │               │   ├── VmEvalException.java
│       │   │               │   ├── VmException.java
│       │   │               │   ├── VmExceptionBuilder.java
│       │   │               │   ├── VmExceptionRenderer.java
│       │   │               │   ├── VmFileDetector.java
│       │   │               │   ├── VmFunction.java
│       │   │               │   ├── VmImportAnalyzer.java
│       │   │               │   ├── VmIntSeq.java
│       │   │               │   ├── VmLanguage.java
│       │   │               │   ├── VmList.java
│       │   │               │   ├── VmListing.java
│       │   │               │   ├── VmListingOrMapping.java
│       │   │               │   ├── VmLocalContext.java
│       │   │               │   ├── VmMap.java
│       │   │               │   ├── VmMapping.java
│       │   │               │   ├── VmNull.java
│       │   │               │   ├── VmObject.java
│       │   │               │   ├── VmObjectBuilder.java
│       │   │               │   ├── VmObjectLike.java
│       │   │               │   ├── VmPair.java
│       │   │               │   ├── VmPklBinaryEncoder.java
│       │   │               │   ├── VmRegex.java
│       │   │               │   ├── VmSafeMath.java
│       │   │               │   ├── VmSet.java
│       │   │               │   ├── VmStackOverflowException.java
│       │   │               │   ├── VmTypeAlias.java
│       │   │               │   ├── VmTyped.java
│       │   │               │   ├── VmTypes.java
│       │   │               │   ├── VmUndefinedValueException.java
│       │   │               │   ├── VmUtils.java
│       │   │               │   ├── VmValue.java
│       │   │               │   ├── VmValueConverter.java
│       │   │               │   ├── VmValueRenderer.java
│       │   │               │   ├── VmValueTracker.java
│       │   │               │   ├── VmValueTrackerFactory.java
│       │   │               │   ├── VmValueVisitor.java
│       │   │               │   ├── VmWrappedEvalException.java
│       │   │               │   ├── XmlModule.java
│       │   │               │   └── package-info.java
│       │   │               ├── service/
│       │   │               │   └── ExecutorSpiImpl.java
│       │   │               ├── settings/
│       │   │               │   ├── PklSettings.java
│       │   │               │   └── package-info.java
│       │   │               ├── stdlib/
│       │   │               │   ├── AbstractRenderer.java
│       │   │               │   ├── AbstractStringRenderer.java
│       │   │               │   ├── ExternalMemberNode.java
│       │   │               │   ├── ExternalMethod0Node.java
│       │   │               │   ├── ExternalMethod1Node.java
│       │   │               │   ├── ExternalMethod2Node.java
│       │   │               │   ├── ExternalMethod3Node.java
│       │   │               │   ├── ExternalMethod4Node.java
│       │   │               │   ├── ExternalMethod5Node.java
│       │   │               │   ├── ExternalMethodNode.java
│       │   │               │   ├── ExternalPropertyNode.java
│       │   │               │   ├── LanguageAwareNode.java
│       │   │               │   ├── PathConverterSupport.java
│       │   │               │   ├── PathSpecParser.java
│       │   │               │   ├── PklConverter.java
│       │   │               │   ├── PklName.java
│       │   │               │   ├── VmObjectFactories.java
│       │   │               │   ├── VmObjectFactory.java
│       │   │               │   ├── analyze/
│       │   │               │   │   ├── AnalyzeNodes.java
│       │   │               │   │   └── package-info.java
│       │   │               │   ├── base/
│       │   │               │   │   ├── AnyNodes.java
│       │   │               │   │   ├── BaseNodes.java
│       │   │               │   │   ├── BooleanNodes.java
│       │   │               │   │   ├── BytesNodes.java
│       │   │               │   │   ├── ClassNodes.java
│       │   │               │   │   ├── CollectionNodes.java
│       │   │               │   │   ├── DataSizeNodes.java
│       │   │               │   │   ├── DurationNodes.java
│       │   │               │   │   ├── DynamicNodes.java
│       │   │               │   │   ├── FloatNodes.java
│       │   │               │   │   ├── Function0Nodes.java
│       │   │               │   │   ├── Function1Nodes.java
│       │   │               │   │   ├── Function2Nodes.java
│       │   │               │   │   ├── Function3Nodes.java
│       │   │               │   │   ├── Function4Nodes.java
│       │   │               │   │   ├── Function5Nodes.java
│       │   │               │   │   ├── FunctionNodes.java
│       │   │               │   │   ├── IntNodes.java
│       │   │               │   │   ├── IntSeqNodes.java
│       │   │               │   │   ├── JsonRendererNodes.java
│       │   │               │   │   ├── ListNodes.java
│       │   │               │   │   ├── ListingNodes.java
│       │   │               │   │   ├── MapNodes.java
│       │   │               │   │   ├── MappingNodes.java
│       │   │               │   │   ├── MergeSort.java
│       │   │               │   │   ├── ModuleClassNodes.java
│       │   │               │   │   ├── PListRendererNodes.java
│       │   │               │   │   ├── PairNodes.java
│       │   │               │   │   ├── PcfRenderer.java
│       │   │               │   │   ├── PcfRendererNodes.java
│       │   │               │   │   ├── PropertiesRendererNodes.java
│       │   │               │   │   ├── RegexMatchFactory.java
│       │   │               │   │   ├── RegexNodes.java
│       │   │               │   │   ├── SetNodes.java
│       │   │               │   │   ├── StringNodes.java
│       │   │               │   │   ├── TypedNodes.java
│       │   │               │   │   ├── YamlRendererNodes.java
│       │   │               │   │   └── package-info.java
│       │   │               │   ├── benchmark/
│       │   │               │   │   ├── BenchmarkUtils.java
│       │   │               │   │   ├── MicrobenchmarkNodes.java
│       │   │               │   │   ├── OutputBenchmarkNodes.java
│       │   │               │   │   ├── ParserBenchmarkNodes.java
│       │   │               │   │   └── package-info.java
│       │   │               │   ├── json/
│       │   │               │   │   ├── ParserNodes.java
│       │   │               │   │   └── package-info.java
│       │   │               │   ├── jsonnet/
│       │   │               │   │   ├── RendererNodes.java
│       │   │               │   │   └── package-info.java
│       │   │               │   ├── math/
│       │   │               │   │   ├── MathNodes.java
│       │   │               │   │   └── package-info.java
│       │   │               │   ├── package-info.java
│       │   │               │   ├── pklbinary/
│       │   │               │   │   ├── RendererNodes.java
│       │   │               │   │   └── package-info.java
│       │   │               │   ├── platform/
│       │   │               │   │   ├── PlatformNodes.java
│       │   │               │   │   └── package-info.java
│       │   │               │   ├── protobuf/
│       │   │               │   │   ├── RendererNodes.java
│       │   │               │   │   └── package-info.java
│       │   │               │   ├── reflect/
│       │   │               │   │   ├── ClassNodes.java
│       │   │               │   │   ├── DeclaredTypeNodes.java
│       │   │               │   │   ├── ReflectNodes.java
│       │   │               │   │   ├── TypeNodes.java
│       │   │               │   │   └── package-info.java
│       │   │               │   ├── registry/
│       │   │               │   │   ├── EmptyMemberRegistry.java
│       │   │               │   │   ├── ExternalMemberRegistry.java
│       │   │               │   │   └── package-info.java
│       │   │               │   ├── release/
│       │   │               │   │   ├── ReleaseNodes.java
│       │   │               │   │   └── package-info.java
│       │   │               │   ├── test/
│       │   │               │   │   ├── TestNodes.java
│       │   │               │   │   ├── package-info.java
│       │   │               │   │   └── report/
│       │   │               │   │       ├── JUnitReport.java
│       │   │               │   │       ├── SimpleReport.java
│       │   │               │   │       └── TestReport.java
│       │   │               │   ├── xml/
│       │   │               │   │   ├── RendererNodes.java
│       │   │               │   │   └── package-info.java
│       │   │               │   └── yaml/
│       │   │               │       ├── ParserNodes.java
│       │   │               │       └── package-info.java
│       │   │               └── util/
│       │   │                   ├── AbstractCharEscaper.java
│       │   │                   ├── AnsiStringBuilder.java
│       │   │                   ├── AnsiTheme.java
│       │   │                   ├── ArrayCharEscaper.java
│       │   │                   ├── ByteArrayUtils.java
│       │   │                   ├── CodeGeneratorUtils.java
│       │   │                   ├── CollectionUtils.java
│       │   │                   ├── DurationUtils.java
│       │   │                   ├── EconomicMaps.java
│       │   │                   ├── EconomicSets.java
│       │   │                   ├── ErrorMessages.java
│       │   │                   ├── Exceptions.java
│       │   │                   ├── GlobResolver.java
│       │   │                   ├── HttpUtils.java
│       │   │                   ├── ImportGraphUtils.java
│       │   │                   ├── IoUtils.java
│       │   │                   ├── LateInit.java
│       │   │                   ├── MathUtils.java
│       │   │                   ├── MutableBoolean.java
│       │   │                   ├── MutableLong.java
│       │   │                   ├── MutableReference.java
│       │   │                   ├── Nonnull.java
│       │   │                   ├── NonnullByDefault.java
│       │   │                   ├── Nullable.java
│       │   │                   ├── Pair.java
│       │   │                   ├── StringBuilderWriter.java
│       │   │                   ├── StringSimilarity.java
│       │   │                   ├── StringUtils.java
│       │   │                   ├── SyntaxHighlighter.java
│       │   │                   ├── json/
│       │   │                   │   ├── Json.java
│       │   │                   │   ├── JsonEscaper.java
│       │   │                   │   ├── JsonHandler.java
│       │   │                   │   ├── JsonParser.java
│       │   │                   │   ├── JsonWriter.java
│       │   │                   │   ├── Location.java
│       │   │                   │   ├── ParseException.java
│       │   │                   │   └── package-info.java
│       │   │                   ├── package-info.java
│       │   │                   ├── paguro/
│       │   │                   │   ├── RrbTree.java
│       │   │                   │   └── package-info.java
│       │   │                   ├── pklbinary/
│       │   │                   │   ├── AbstractPklBinaryDecoder.java
│       │   │                   │   ├── PklBinaryCode.java
│       │   │                   │   └── package-info.java
│       │   │                   ├── properties/
│       │   │                   │   └── PropertiesUtils.java
│       │   │                   ├── xml/
│       │   │                   │   ├── Xml10Validator.java
│       │   │                   │   ├── Xml11Validator.java
│       │   │                   │   ├── XmlValidator.java
│       │   │                   │   └── package-info.java
│       │   │                   └── yaml/
│       │   │                       ├── Yaml11Emitter.java
│       │   │                       ├── Yaml12Emitter.java
│       │   │                       ├── YamlCompatEmitter.java
│       │   │                       ├── YamlEmitter.java
│       │   │                       ├── YamlEscaper.java
│       │   │                       ├── package-info.java
│       │   │                       └── snake/
│       │   │                           ├── Yaml11Resolver.java
│       │   │                           ├── Yaml12Resolver.java
│       │   │                           ├── YamlCompatEmitterResolver.java
│       │   │                           ├── YamlCompatParserResolver.java
│       │   │                           ├── YamlResolver.java
│       │   │                           ├── YamlUtils.java
│       │   │                           └── package-info.java
│       │   └── resources/
│       │       ├── META-INF/
│       │       │   └── services/
│       │       │       ├── java.nio.file.spi.FileTypeDetector
│       │       │       └── org.pkl.executor.spi.v1.ExecutorSpi
│       │       └── org/
│       │           └── pkl/
│       │               └── core/
│       │                   ├── Release.properties
│       │                   └── errorMessages.properties
│       └── test/
│           ├── files/
│           │   └── LanguageSnippetTests/
│           │       ├── input/
│           │       │   ├── annotation/
│           │       │   │   ├── annotation1.pkl
│           │       │   │   ├── annotation2.pkl
│           │       │   │   ├── annotation3.pkl
│           │       │   │   ├── annotation4.pkl
│           │       │   │   ├── annotation5.pkl
│           │       │   │   ├── annotation6.pkl
│           │       │   │   ├── annotationIsNotExpression.pkl
│           │       │   │   ├── annotationIsNotExpression2.pkl
│           │       │   │   ├── deprecated1.pkl
│           │       │   │   ├── deprecated2.pkl
│           │       │   │   ├── deprecated3.pkl
│           │       │   │   ├── deprecatedNoRepeatedWarnings.pkl
│           │       │   │   ├── deprecatedWithMessage1.pkl
│           │       │   │   ├── deprecatedWithMessage2.pkl
│           │       │   │   ├── deprecatedWithMessage3.pkl
│           │       │   │   └── deprecationSuperMethod.pkl
│           │       │   ├── api/
│           │       │   │   ├── Resource.pkl
│           │       │   │   ├── analyze1.pkl
│           │       │   │   ├── annotationConverters.pkl
│           │       │   │   ├── any.pkl
│           │       │   │   ├── anyConverter.pkl
│           │       │   │   ├── baseModule.pkl
│           │       │   │   ├── benchmarkModule.pkl
│           │       │   │   ├── bytes.pkl
│           │       │   │   ├── dataSize.pkl
│           │       │   │   ├── dir1/
│           │       │   │   │   └── dir2/
│           │       │   │   │       └── relativePathTo.pkl
│           │       │   │   ├── duration.pkl
│           │       │   │   ├── dynamic.pkl
│           │       │   │   ├── empty.txt
│           │       │   │   ├── float.pkl
│           │       │   │   ├── fox.txt
│           │       │   │   ├── int.pkl
│           │       │   │   ├── intseq.pkl
│           │       │   │   ├── jsonParser1.pkl
│           │       │   │   ├── jsonParser2.pkl
│           │       │   │   ├── jsonParser3.pkl
│           │       │   │   ├── jsonParser4.pkl
│           │       │   │   ├── jsonParser5.pkl
│           │       │   │   ├── jsonRenderer1.json.pkl
│           │       │   │   ├── jsonRenderer2.json.pkl
│           │       │   │   ├── jsonRenderer2b.pkl
│           │       │   │   ├── jsonRenderer3.json.pkl
│           │       │   │   ├── jsonRenderer4.pkl
│           │       │   │   ├── jsonRenderer5.pkl
│           │       │   │   ├── jsonRenderer6.json.pkl
│           │       │   │   ├── jsonRenderer7.pkl
│           │       │   │   ├── jsonRenderer8.pkl
│           │       │   │   ├── jsonRenderer9.json5.pkl
│           │       │   │   ├── jsonRendererEmptyComposites.pkl
│           │       │   │   ├── jsonnetRenderer1.jsonnet.pkl
│           │       │   │   ├── jsonnetRenderer2.jsonnet.pkl
│           │       │   │   ├── jsonnetRenderer3.jsonnet.pkl
│           │       │   │   ├── jsonnetRenderer4.pkl
│           │       │   │   ├── jsonnetRenderer5.pkl
│           │       │   │   ├── jsonnetRenderer6.jsonnet.pkl
│           │       │   │   ├── jsonnetRenderer7.pkl
│           │       │   │   ├── jsonnetRenderer8.jsonnet.pkl
│           │       │   │   ├── list.pkl
│           │       │   │   ├── listNullable.pkl
│           │       │   │   ├── listing.pkl
│           │       │   │   ├── map.pkl
│           │       │   │   ├── mapping.pkl
│           │       │   │   ├── mathModule.pkl
│           │       │   │   ├── module.pkl
│           │       │   │   ├── moduleOutput.pkl
│           │       │   │   ├── moduleOutput2.pkl
│           │       │   │   ├── pListRenderer1.plist.pkl
│           │       │   │   ├── pListRenderer2.plist.pkl
│           │       │   │   ├── pListRenderer3.plist.pkl
│           │       │   │   ├── pListRenderer4.pkl
│           │       │   │   ├── pListRenderer5.pkl
│           │       │   │   ├── pListRenderer6.plist.pkl
│           │       │   │   ├── pListRenderer7.pkl
│           │       │   │   ├── pListRenderer8.plist.pkl
│           │       │   │   ├── pair.pkl
│           │       │   │   ├── pcfRenderer1.pkl
│           │       │   │   ├── pcfRenderer2.pkl
│           │       │   │   ├── pcfRenderer2b.pkl
│           │       │   │   ├── pcfRenderer3.pkl
│           │       │   │   ├── pcfRenderer4.pkl
│           │       │   │   ├── pcfRenderer5.pkl
│           │       │   │   ├── pcfRenderer6.pkl
│           │       │   │   ├── pcfRenderer7.pkl
│           │       │   │   ├── pcfRenderer8.pkl
│           │       │   │   ├── pcfRenderer9.pkl
│           │       │   │   ├── pklbinary1.msgpack.yaml.pkl
│           │       │   │   ├── platformModule.pkl
│           │       │   │   ├── plistRenderer2b.pkl
│           │       │   │   ├── propertiesRenderer1.properties.pkl
│           │       │   │   ├── propertiesRenderer10.properties.pkl
│           │       │   │   ├── propertiesRenderer11.pkl
│           │       │   │   ├── propertiesRenderer12.properties.pkl
│           │       │   │   ├── propertiesRenderer2.properties.pkl
│           │       │   │   ├── propertiesRenderer2b.pkl
│           │       │   │   ├── propertiesRenderer3.properties.pkl
│           │       │   │   ├── propertiesRenderer4.pkl
│           │       │   │   ├── propertiesRenderer5.pkl
│           │       │   │   ├── propertiesRenderer6.properties.pkl
│           │       │   │   ├── propertiesRenderer7.properties.pkl
│           │       │   │   ├── propertiesRenderer8.properties.pkl
│           │       │   │   ├── propertiesRenderer9.properties.pkl
│           │       │   │   ├── propertiesRendererBug66849708.properties.pkl
│           │       │   │   ├── protobuf.pkl
│           │       │   │   ├── protobuf2.pkl
│           │       │   │   ├── protobuf3.txtpb.pkl
│           │       │   │   ├── reflect1.pkl
│           │       │   │   ├── reflect2.pkl
│           │       │   │   ├── reflect3.pkl
│           │       │   │   ├── reflect4.pkl
│           │       │   │   ├── reflectedDeclaration.pkl
│           │       │   │   ├── regex.pkl
│           │       │   │   ├── releaseModule.pkl
│           │       │   │   ├── renderDirective.pkl
│           │       │   │   ├── renderDirective2.pkl
│           │       │   │   ├── resource.txt
│           │       │   │   ├── semverModule.pkl
│           │       │   │   ├── set.pkl
│           │       │   │   ├── setNullable.pkl
│           │       │   │   ├── shellModule.pkl
│           │       │   │   ├── string.pkl
│           │       │   │   ├── stringUnicode.pkl
│           │       │   │   ├── typeAliases.pkl
│           │       │   │   ├── typeConverters.pkl
│           │       │   │   ├── typed.pkl
│           │       │   │   ├── xmlRenderer1.xml.pkl
│           │       │   │   ├── xmlRenderer2.xml.pkl
│           │       │   │   ├── xmlRenderer2b.pkl
│           │       │   │   ├── xmlRenderer3.xml.pkl
│           │       │   │   ├── xmlRenderer4.pkl
│           │       │   │   ├── xmlRenderer5.pkl
│           │       │   │   ├── xmlRenderer6.xml.pkl
│           │       │   │   ├── xmlRenderer8.pkl
│           │       │   │   ├── xmlRenderer9.xml.pkl
│           │       │   │   ├── xmlRendererCData.xml.pkl
│           │       │   │   ├── xmlRendererElement.xml.pkl
│           │       │   │   ├── xmlRendererHtml.xml.pkl
│           │       │   │   ├── xmlRendererInline.xml.pkl
│           │       │   │   ├── xmlRendererInline2.xml.pkl
│           │       │   │   ├── xmlRendererInline3.xml.pkl
│           │       │   │   ├── xmlRendererValidation10.pkl
│           │       │   │   ├── xmlRendererValidation11.pkl
│           │       │   │   ├── yamlParser1Compat.pkl
│           │       │   │   ├── yamlParser1Yaml11.pkl
│           │       │   │   ├── yamlParser1Yaml12.pkl
│           │       │   │   ├── yamlParser2.pkl
│           │       │   │   ├── yamlParser3.pkl
│           │       │   │   ├── yamlParser4.pkl
│           │       │   │   ├── yamlParser5.pkl
│           │       │   │   ├── yamlParser6.pkl
│           │       │   │   ├── yamlRenderer1.yml.pkl
│           │       │   │   ├── yamlRenderer10.yml.pkl
│           │       │   │   ├── yamlRenderer2.yml.pkl
│           │       │   │   ├── yamlRenderer2b.pkl
│           │       │   │   ├── yamlRenderer3.yml.pkl
│           │       │   │   ├── yamlRenderer4.pkl
│           │       │   │   ├── yamlRenderer5.pkl
│           │       │   │   ├── yamlRenderer6.yml.pkl
│           │       │   │   ├── yamlRenderer7.pkl
│           │       │   │   ├── yamlRenderer8.yml.pkl
│           │       │   │   ├── yamlRenderer9.yml.pkl
│           │       │   │   ├── yamlRendererBug66849708.yml.pkl
│           │       │   │   ├── yamlRendererEmpty.yml.pkl
│           │       │   │   ├── yamlRendererIndentationWidth2.yml.pkl
│           │       │   │   ├── yamlRendererIndentationWidth4.yml.pkl
│           │       │   │   ├── yamlRendererIndentationWidth5.yml.pkl
│           │       │   │   ├── yamlRendererKeys.yml.pkl
│           │       │   │   ├── yamlRendererStream1.pkl
│           │       │   │   ├── yamlRendererStream2.pkl
│           │       │   │   ├── yamlRendererStrings.yml.pkl
│           │       │   │   ├── yamlRendererStringsCompat.pkl
│           │       │   │   ├── yamlRendererStringsYaml11.pkl
│           │       │   │   └── yamlRendererStringsYaml12.pkl
│           │       │   ├── basic/
│           │       │   │   ├── amendsChains.pkl
│           │       │   │   ├── as.pkl
│           │       │   │   ├── as2.pkl
│           │       │   │   ├── as3.pkl
│           │       │   │   ├── baseModule.pkl
│           │       │   │   ├── boolean.pkl
│           │       │   │   ├── bytes.pkl
│           │       │   │   ├── comments.pkl
│           │       │   │   ├── constModifier.pkl
│           │       │   │   ├── constModifier2.pkl
│           │       │   │   ├── constModifier3.pkl
│           │       │   │   ├── constModifier4.pkl
│           │       │   │   ├── constModifier5.pkl
│           │       │   │   ├── dataSize.pkl
│           │       │   │   ├── duration.pkl
│           │       │   │   ├── exceptions.pkl
│           │       │   │   ├── fixedProperty1.pkl
│           │       │   │   ├── fixedProperty2.pkl
│           │       │   │   ├── fixedProperty3.pkl
│           │       │   │   ├── fixedProperty4.pkl
│           │       │   │   ├── fixedProperty5.pkl
│           │       │   │   ├── fixedProperty6.pkl
│           │       │   │   ├── float.pkl
│           │       │   │   ├── globtest/
│           │       │   │   │   ├── file1.txt
│           │       │   │   │   └── file2.txt
│           │       │   │   ├── identifier.pkl
│           │       │   │   ├── if.pkl
│           │       │   │   ├── import1.pkl
│           │       │   │   ├── import1b.pkl
│           │       │   │   ├── import2.pkl
│           │       │   │   ├── import3.pkl
│           │       │   │   ├── importGlob.pkl
│           │       │   │   ├── imported.pkl
│           │       │   │   ├── indexExpressions.pkl
│           │       │   │   ├── int.pkl
│           │       │   │   ├── intseq.pkl
│           │       │   │   ├── is.pkl
│           │       │   │   ├── is2.pkl
│           │       │   │   ├── let.pkl
│           │       │   │   ├── letTyped.pkl
│           │       │   │   ├── list.pkl
│           │       │   │   ├── localMethodDynamicBinding.pkl
│           │       │   │   ├── localMethodInAmendingModule.pkl
│           │       │   │   ├── localMethodOverride1.pkl
│           │       │   │   ├── localMethodOverride2.pkl
│           │       │   │   ├── localMethodTyped.pkl
│           │       │   │   ├── localMethodTyped2.pkl
│           │       │   │   ├── localMethodTyped3.pkl
│           │       │   │   ├── localMethodTyped4.pkl
│           │       │   │   ├── localMethodTyped5.pkl
│           │       │   │   ├── localMethodTyped6.pkl
│           │       │   │   ├── localMethodUntyped.pkl
│           │       │   │   ├── localModuleMemberOverride1.pkl
│           │       │   │   ├── localModuleMemberOverride2.pkl
│           │       │   │   ├── localProperty1.pkl
│           │       │   │   ├── localProperty2.pkl
│           │       │   │   ├── localPropertyAmendInAmendingModule.pkl
│           │       │   │   ├── localPropertyInAmendingModule.pkl
│           │       │   │   ├── localPropertyOverride1.pkl
│           │       │   │   ├── localPropertyOverride2.pkl
│           │       │   │   ├── localPropertyOverride3.pkl
│           │       │   │   ├── localTypedClassMember.pkl
│           │       │   │   ├── localTypedModuleMember.pkl
│           │       │   │   ├── localTypedObjectMember.pkl
│           │       │   │   ├── map.pkl
│           │       │   │   ├── minPklVersion.pkl
│           │       │   │   ├── moduleRef1.pkl
│           │       │   │   ├── moduleRef2.pkl
│           │       │   │   ├── moduleRef3.pkl
│           │       │   │   ├── moduleRefLibrary.pkl
│           │       │   │   ├── new.pkl
│           │       │   │   ├── newInAmendingModuleMethod.pkl
│           │       │   │   ├── newInsideIf.pkl
│           │       │   │   ├── newInsideLet.pkl
│           │       │   │   ├── newType.pkl
│           │       │   │   ├── nonNull.pkl
│           │       │   │   ├── nullable.pkl
│           │       │   │   ├── objectMember.pkl
│           │       │   │   ├── objectMemberInvalid.pkl
│           │       │   │   ├── objectMemberInvalid2.pkl
│           │       │   │   ├── objectMemberInvalid3.pkl
│           │       │   │   ├── parens.pkl
│           │       │   │   ├── propertyDefaults.pkl
│           │       │   │   ├── rawString.pkl
│           │       │   │   ├── read.pkl
│           │       │   │   ├── readGlob.pkl
│           │       │   │   ├── semicolon.pkl
│           │       │   │   ├── set.pkl
│           │       │   │   ├── string.pkl
│           │       │   │   ├── stringError1.pkl
│           │       │   │   ├── stringMultiline.pkl
│           │       │   │   ├── stringUnicode.pkl
│           │       │   │   ├── trace.pkl
│           │       │   │   ├── typeResolution1.pkl
│           │       │   │   ├── typeResolution2.pkl
│           │       │   │   ├── typeResolution3.pkl
│           │       │   │   ├── typeResolution4.pkl
│           │       │   │   └── underscore.pkl
│           │       │   ├── classes/
│           │       │   │   ├── class1.pkl
│           │       │   │   ├── class2.pkl
│           │       │   │   ├── class2a.pkl
│           │       │   │   ├── class3.pkl
│           │       │   │   ├── class4.pkl
│           │       │   │   ├── constraints1.pkl
│           │       │   │   ├── constraints10.pkl
│           │       │   │   ├── constraints11.pkl
│           │       │   │   ├── constraints12.pkl
│           │       │   │   ├── constraints13.pkl
│           │       │   │   ├── constraints14.pkl
│           │       │   │   ├── constraints2.pkl
│           │       │   │   ├── constraints3.pkl
│           │       │   │   ├── constraints4.pkl
│           │       │   │   ├── constraints5.pkl
│           │       │   │   ├── constraints6.pkl
│           │       │   │   ├── constraints7.pkl
│           │       │   │   ├── constraints8.pkl
│           │       │   │   ├── constraints9.pkl
│           │       │   │   ├── constraintsLambdaThis.pkl
│           │       │   │   ├── duplicateFunction.pkl
│           │       │   │   ├── duplicateProperty.pkl
│           │       │   │   ├── equality.pkl
│           │       │   │   ├── externalClass.pkl
│           │       │   │   ├── externalFunction.pkl
│           │       │   │   ├── externalProperty.pkl
│           │       │   │   ├── functions1.pkl
│           │       │   │   ├── functions2.pkl
│           │       │   │   ├── functions3.pkl
│           │       │   │   ├── functions4.pkl
│           │       │   │   ├── inheritance1.pkl
│           │       │   │   ├── inheritance2.pkl
│           │       │   │   ├── inheritanceError1.pkl
│           │       │   │   ├── invalidInstantiation1.pkl
│           │       │   │   ├── invalidInstantiation2.pkl
│           │       │   │   ├── lambdaConstraints1.pkl
│           │       │   │   ├── listConstraints1.pkl
│           │       │   │   ├── mapConstraints1.pkl
│           │       │   │   ├── nullableTypes.pkl
│           │       │   │   ├── setConstraints1.pkl
│           │       │   │   ├── supercalls.pkl
│           │       │   │   ├── supercallsInLet.pkl
│           │       │   │   ├── unionTypes.pkl
│           │       │   │   ├── unionTypesErrorAlias.pkl
│           │       │   │   ├── unionTypesErrorDifferent1.pkl
│           │       │   │   ├── unionTypesErrorDifferent2.pkl
│           │       │   │   ├── unionTypesErrorMultipleAliases.pkl
│           │       │   │   ├── unionTypesErrorNested.pkl
│           │       │   │   ├── unionTypesErrorSimple.pkl
│           │       │   │   ├── unionTypesErrorString1.pkl
│           │       │   │   ├── unionTypesErrorString2.pkl
│           │       │   │   ├── wrongType1.pkl
│           │       │   │   ├── wrongType2.pkl
│           │       │   │   ├── wrongType3.pkl
│           │       │   │   ├── wrongType4.pkl
│           │       │   │   ├── wrongType5.pkl
│           │       │   │   └── wrongType6.pkl
│           │       │   ├── errors/
│           │       │   │   ├── abstractOpenMember.pkl
│           │       │   │   ├── analyzeImportsCannotFindModule.pkl
│           │       │   │   ├── analyzeImportsInvalidGlob.pkl
│           │       │   │   ├── analyzeInvalidModuleUri.pkl
│           │       │   │   ├── analyzeRelativeModuleUri.pkl
│           │       │   │   ├── anyConverterError.pkl
│           │       │   │   ├── baseModule.pkl
│           │       │   │   ├── binopDifferentLine.pkl
│           │       │   │   ├── cannotAmendFixedProperty1.pkl
│           │       │   │   ├── cannotAmendFixedProperty2.pkl
│           │       │   │   ├── cannotAssignFixedProperty1.pkl
│           │       │   │   ├── cannotAssignFixedProperty2.pkl
│           │       │   │   ├── cannotAssignFixedProperty3.pkl
│           │       │   │   ├── cannotAssignToNothing.pkl
│           │       │   │   ├── cannotChangeFixed1.pkl
│           │       │   │   ├── cannotChangeFixed2.pkl
│           │       │   │   ├── cannotFindMapKey.pkl
│           │       │   │   ├── cannotFindStdLibModule.pkl
│           │       │   │   ├── cannotInferParent2.pkl
│           │       │   │   ├── cannotInferParent3.pkl
│           │       │   │   ├── cannotInstantiateAbstractModule.pkl
│           │       │   │   ├── cannotRenderMixin.pkl
│           │       │   │   ├── classExtendsSelf.pkl
│           │       │   │   ├── const/
│           │       │   │   │   ├── constAmend.pkl
│           │       │   │   │   ├── constAnnotation.pkl
│           │       │   │   │   ├── constAnnotation2.pkl
│           │       │   │   │   ├── constAnnotation3.pkl
│           │       │   │   │   ├── constAssign.pkl
│           │       │   │   │   ├── constClassBody.pkl
│           │       │   │   │   ├── constExplicitThis.pkl
│           │       │   │   │   ├── constExplicitThisMethod.pkl
│           │       │   │   │   ├── constFunctionCallingNonConst.pkl
│           │       │   │   │   ├── constImplicitThis.pkl
│           │       │   │   │   ├── constImplicitThisMethod.pkl
│           │       │   │   │   ├── constLexicalScope.pkl
│           │       │   │   │   ├── constLocalAmendModule.pkl
│           │       │   │   │   ├── constLocalMethod.pkl
│           │       │   │   │   ├── constLocalProperty.pkl
│           │       │   │   │   ├── constMethod.pkl
│           │       │   │   │   ├── constMethod2.pkl
│           │       │   │   │   ├── constModule.pkl
│           │       │   │   │   ├── constModule2.pkl
│           │       │   │   │   ├── constModule3.pkl
│           │       │   │   │   ├── constObjectMember.pkl
│           │       │   │   │   ├── constOuter.pkl
│           │       │   │   │   ├── constOuter2.pkl
│           │       │   │   │   ├── constOuter3.pkl
│           │       │   │   │   ├── constQualified.pkl
│           │       │   │   │   ├── constSubclass.pkl
│           │       │   │   │   ├── constSubclass2.pkl
│           │       │   │   │   ├── constSuper.pkl
│           │       │   │   │   ├── constSuperMethod.pkl
│           │       │   │   │   ├── constThis.pkl
│           │       │   │   │   └── constTypeAliasConstraint.pkl
│           │       │   │   ├── constraintDetails1.pkl
│           │       │   │   ├── constraintDetails2.pkl
│           │       │   │   ├── constraintDetails3.pkl
│           │       │   │   ├── decodingException.pkl
│           │       │   │   ├── delimiters/
│           │       │   │   │   ├── missingClassDelimiter.pkl
│           │       │   │   │   ├── missingConstrainedTypeSeparator.pkl
│           │       │   │   │   ├── missingContainerAmendDefDelimiter.pkl
│           │       │   │   │   ├── missingContainerAmendExprDelimiter.pkl
│           │       │   │   │   ├── missingEmptyMultiLineStringDelimiter.pkl
│           │       │   │   │   ├── missingEmptyMultiLineStringDelimiterAtEof.pkl
│           │       │   │   │   ├── missingEmptyStringDelimiter.pkl
│           │       │   │   │   ├── missingEmptyStringDelimiterAtEof.pkl
│           │       │   │   │   ├── missingFunction0ParameterListDelimiter.pkl
│           │       │   │   │   ├── missingFunction1ParameterListDelimiter.pkl
│           │       │   │   │   ├── missingFunctionAmendParameterListSeparator.pkl
│           │       │   │   │   ├── missingFunctionNParameterListDelimiter.pkl
│           │       │   │   │   ├── missingFunctionParameterListSeparator.pkl
│           │       │   │   │   ├── missingFunctionType0ParameterListDelimiter.pkl
│           │       │   │   │   ├── missingFunctionType1ParameterListDelimiter.pkl
│           │       │   │   │   ├── missingFunctionTypeNParameterListDelimiter.pkl
│           │       │   │   │   ├── missingFunctionTypeParameterListSeparator.pkl
│           │       │   │   │   ├── missingIfExprDelimiter.pkl
│           │       │   │   │   ├── missingListDelimiter.pkl
│           │       │   │   │   ├── missingListSeparator.pkl
│           │       │   │   │   ├── missingMapDelimiter.pkl
│           │       │   │   │   ├── missingMapSeparator.pkl
│           │       │   │   │   ├── missingMethodArgumentListDelimiter.pkl
│           │       │   │   │   ├── missingMethodArgumentListSeparator.pkl
│           │       │   │   │   ├── missingMethodParameterListDelimiter.pkl
│           │       │   │   │   ├── missingMethodParameterListSeparator.pkl
│           │       │   │   │   ├── missingMultiLineStringDelimiter.pkl
│           │       │   │   │   ├── missingObjectAmendDefDelimiter.pkl
│           │       │   │   │   ├── missingObjectAmendDefDelimiter2.pkl
│           │       │   │   │   ├── missingObjectAmendDefDelimiter3.pkl
│           │       │   │   │   ├── missingObjectAmendExprDelimiter.pkl
│           │       │   │   │   ├── missingObjectDelimiter.pkl
│           │       │   │   │   ├── missingParenthesizedExprDelimiter.pkl
│           │       │   │   │   ├── missingParenthesizedTypeDelimiter.pkl
│           │       │   │   │   ├── missingRawMultiLineStringDelimiter.pkl
│           │       │   │   │   ├── missingRawStringDelimiter.pkl
│           │       │   │   │   ├── missingSetSeparator.pkl
│           │       │   │   │   ├── missingStringDelimiter.pkl
│           │       │   │   │   ├── missingSubscriptDelimiter.pkl
│           │       │   │   │   ├── missingTypeConstraintListDelimiter.pkl
│           │       │   │   │   ├── missingTypedMethodParameterListDelimiter.pkl
│           │       │   │   │   ├── missingTypedMethodParameterListSeparator.pkl
│           │       │   │   │   ├── unbalancedEntryBrackets1.pkl
│           │       │   │   │   ├── unbalancedEntryBrackets2.pkl
│           │       │   │   │   ├── unbalancedEntryBrackets3.pkl
│           │       │   │   │   └── unbalancedEntryBrackets4.pkl
│           │       │   │   ├── duplicateTypeParameter.pkl
│           │       │   │   ├── emptyParenthesizedTypeAnnotation.pkl
│           │       │   │   ├── extendExternalClass.pkl
│           │       │   │   ├── extendTypeAlias.pkl
│           │       │   │   ├── forGeneratorCannotGenerateMethods.pkl
│           │       │   │   ├── forGeneratorCannotGenerateProperties.pkl
│           │       │   │   ├── forGeneratorCannotIterateOverThisValue.pkl
│           │       │   │   ├── forGeneratorCannotIterateOverTyped.pkl
│           │       │   │   ├── forGeneratorDuplicateParams1.pkl
│           │       │   │   ├── forGeneratorWrongVariableName.pkl
│           │       │   │   ├── fullStackTraces.pkl
│           │       │   │   ├── fullStackTraces2.pkl
│           │       │   │   ├── functionNotFoundInClass.pkl
│           │       │   │   ├── functionNotFoundInModule.pkl
│           │       │   │   ├── functionNotFoundInScope.pkl
│           │       │   │   ├── functionNotFoundMaybeLambda.pkl
│           │       │   │   ├── functionNotFoundMaybeProperty.pkl
│           │       │   │   ├── intrinsifiedTypeAlias1.pkl
│           │       │   │   ├── intrinsifiedTypeAlias2.pkl
│           │       │   │   ├── intrinsifiedTypeAlias3.pkl
│           │       │   │   ├── intrinsifiedTypeAlias4.pkl
│           │       │   │   ├── invalidBytes1.pkl
│           │       │   │   ├── invalidBytes2.pkl
│           │       │   │   ├── invalidBytes3.pkl
│           │       │   │   ├── invalidBytes4.pkl
│           │       │   │   ├── invalidCharacterEscape.pkl
│           │       │   │   ├── invalidClassMethodModifier.pkl
│           │       │   │   ├── invalidClassModifier.pkl
│           │       │   │   ├── invalidClassModifier2.pkl
│           │       │   │   ├── invalidClassPropertyModifier.pkl
│           │       │   │   ├── invalidFileUri1.pkl
│           │       │   │   ├── invalidFileUri2.pkl
│           │       │   │   ├── invalidFileUri3.pkl
│           │       │   │   ├── invalidFileUri4.pkl
│           │       │   │   ├── invalidGlobImport1.pkl
│           │       │   │   ├── invalidGlobImport2.pkl
│           │       │   │   ├── invalidGlobImport3.pkl
│           │       │   │   ├── invalidGlobImport4.pkl
│           │       │   │   ├── invalidGlobImport5.pkl
│           │       │   │   ├── invalidGlobImport6.pkl
│           │       │   │   ├── invalidGlobImport7.pkl
│           │       │   │   ├── invalidGlobImport8.pkl
│           │       │   │   ├── invalidGlobRead1.pkl
│           │       │   │   ├── invalidGlobRead2.pkl
│           │       │   │   ├── invalidGlobRead3.pkl
│           │       │   │   ├── invalidImportBackslashSep.pkl
│           │       │   │   ├── invalidImportUri.pkl
│           │       │   │   ├── invalidMethodModifier.pkl
│           │       │   │   ├── invalidModuleModifier.pkl
│           │       │   │   ├── invalidObjectPropertyModifier.pkl
│           │       │   │   ├── invalidOutput1.pkl
│           │       │   │   ├── invalidOutput2.pkl
│           │       │   │   ├── invalidOutput3.pkl
│           │       │   │   ├── invalidPropertyModifier.pkl
│           │       │   │   ├── invalidTripleDotSyntax1.pkl
│           │       │   │   ├── invalidTripleDotSyntax2.pkl
│           │       │   │   ├── invalidTypeAliasModifier.pkl
│           │       │   │   ├── invalidTypeName1.pkl
│           │       │   │   ├── invalidTypeName2.pkl
│           │       │   │   ├── invalidTypeName3.pkl
│           │       │   │   ├── invalidTypeName4.pkl
│           │       │   │   ├── invalidUnicodeEscape.pkl
│           │       │   │   ├── keywordNotAllowedHere1.pkl
│           │       │   │   ├── keywordNotAllowedHere2.pkl
│           │       │   │   ├── keywordNotAllowedHere3.pkl
│           │       │   │   ├── keywordNotAllowedHere4.pkl
│           │       │   │   ├── letExpressionError1.pkl
│           │       │   │   ├── letExpressionError2.pkl
│           │       │   │   ├── letExpressionErrorTyped.pkl
│           │       │   │   ├── listingTypeCheckError1.pkl
│           │       │   │   ├── listingTypeCheckError2.pkl
│           │       │   │   ├── listingTypeCheckError3.pkl
│           │       │   │   ├── listingTypeCheckError4.pkl
│           │       │   │   ├── listingTypeCheckError5.pkl
│           │       │   │   ├── listingTypeCheckError6.pkl
│           │       │   │   ├── listingTypeCheckError7.pkl
│           │       │   │   ├── listingTypeCheckError8.pkl
│           │       │   │   ├── listingTypeCheckError9.pkl
│           │       │   │   ├── localFixedMember.pkl
│           │       │   │   ├── localFunctionWithTypeParameter.pkl
│           │       │   │   ├── localHiddenMember.pkl
│           │       │   │   ├── mappingTypeCheckError1.pkl
│           │       │   │   ├── mappingTypeCheckError10.pkl
│           │       │   │   ├── mappingTypeCheckError11.pkl
│           │       │   │   ├── mappingTypeCheckError2.pkl
│           │       │   │   ├── mappingTypeCheckError3.pkl
│           │       │   │   ├── mappingTypeCheckError4.pkl
│           │       │   │   ├── mappingTypeCheckError5.pkl
│           │       │   │   ├── mappingTypeCheckError6.pkl
│           │       │   │   ├── mappingTypeCheckError7.pkl
│           │       │   │   ├── mappingTypeCheckError8.pkl
│           │       │   │   ├── mappingTypeCheckError9.pkl
│           │       │   │   ├── missingLocalPropertyValue1.pkl
│           │       │   │   ├── missingLocalPropertyValue2.pkl
│           │       │   │   ├── moduleAmendsSelf.pkl
│           │       │   │   ├── moduleAmendsVersionCheck.pkl
│           │       │   │   ├── moduleAmendsVersionCheck2.pkl
│           │       │   │   ├── moduleExpected.pkl
│           │       │   │   ├── moduleExtendsSelf.pkl
│           │       │   │   ├── moduleExtendsVersionCheck.pkl
│           │       │   │   ├── moduleExtendsVersionCheck2.pkl
│           │       │   │   ├── moduleImportVersionCheck.pkl
│           │       │   │   ├── moduleWithHighMinPklVersion.pkl
│           │       │   │   ├── moduleWithHighMinPklVersionAndParseErrors.pkl
│           │       │   │   ├── multipleDefaults.pkl
│           │       │   │   ├── nested1.pkl
│           │       │   │   ├── noDefault.pkl
│           │       │   │   ├── noDefault2.pkl
│           │       │   │   ├── notAUnionDefault.pkl
│           │       │   │   ├── objectCannotHaveElement.pkl
│           │       │   │   ├── objectCannotHaveElement2.pkl
│           │       │   │   ├── objectCannotHavePredicateMember.pkl
│           │       │   │   ├── outOfRange1.pkl
│           │       │   │   ├── outOfRange2.pkl
│           │       │   │   ├── outOfRange3.pkl
│           │       │   │   ├── parser1.pkl
│           │       │   │   ├── parser10.pkl
│           │       │   │   ├── parser11.pkl
│           │       │   │   ├── parser12.pkl
│           │       │   │   ├── parser14.pkl
│           │       │   │   ├── parser15.pkl
│           │       │   │   ├── parser16.pkl
│           │       │   │   ├── parser17.pkl
│           │       │   │   ├── parser18.pkl
│           │       │   │   ├── parser2.pkl
│           │       │   │   ├── parser3.pkl
│           │       │   │   ├── parser4.pkl
│           │       │   │   ├── parser5.pkl
│           │       │   │   ├── parser6.pkl
│           │       │   │   ├── parser7.pkl
│           │       │   │   ├── parser8.pkl
│           │       │   │   ├── parser9.pkl
│           │       │   │   ├── power/
│           │       │   │   │   ├── typeConstraints1.pkl
│           │       │   │   │   ├── typeConstraints10.pkl
│           │       │   │   │   ├── typeConstraints11.pkl
│           │       │   │   │   ├── typeConstraints12.pkl
│           │       │   │   │   ├── typeConstraints13.pkl
│           │       │   │   │   ├── typeConstraints14.pkl
│           │       │   │   │   ├── typeConstraints15.pkl
│           │       │   │   │   ├── typeConstraints16.pkl
│           │       │   │   │   ├── typeConstraints17.pkl
│           │       │   │   │   ├── typeConstraints2.pkl
│           │       │   │   │   ├── typeConstraints3.pkl
│           │       │   │   │   ├── typeConstraints4.pkl
│           │       │   │   │   ├── typeConstraints5.pkl
│           │       │   │   │   ├── typeConstraints6.pkl
│           │       │   │   │   ├── typeConstraints7.pkl
│           │       │   │   │   ├── typeConstraints8.pkl
│           │       │   │   │   ├── typeConstraints9.pkl
│           │       │   │   │   └── typeConstraints9a.pkl
│           │       │   │   ├── propertyNotFound1.pkl
│           │       │   │   ├── propertyNotFound2.pkl
│           │       │   │   ├── refusingToLoadModule.pkl
│           │       │   │   ├── shebang.pkl
│           │       │   │   ├── singleBacktick.pkl
│           │       │   │   ├── spreadSyntaxCannotHaveElement.pkl
│           │       │   │   ├── spreadSyntaxCannotHaveEntry.pkl
│           │       │   │   ├── spreadSyntaxCannotHaveProperty.pkl
│           │       │   │   ├── spreadSyntaxCannotIterateOverTyped.pkl
│           │       │   │   ├── spreadSyntaxCannotSpreadListIntoMapping.pkl
│           │       │   │   ├── spreadSyntaxDuplicateEntry1.pkl
│           │       │   │   ├── spreadSyntaxDuplicateEntry2.pkl
│           │       │   │   ├── spreadSyntaxDuplicateProperty1.pkl
│           │       │   │   ├── spreadSyntaxDuplicateProperty2.pkl
│           │       │   │   ├── spreadSyntaxNullValue.pkl
│           │       │   │   ├── spreadSyntaxUnknownTypedProperty.pkl
│           │       │   │   ├── stackTraceWithQuotedMemberName.pkl
│           │       │   │   ├── supercalls.pkl
│           │       │   │   ├── typeMismatchHelper.pkl
│           │       │   │   ├── typeMismatchWithSameQualifiedClassName.pkl
│           │       │   │   ├── typeMismatchWithSameQualifiedModuleName.pkl
│           │       │   │   ├── undefinedOp1.pkl
│           │       │   │   ├── undefinedOp2.pkl
│           │       │   │   ├── undefinedOp3.pkl
│           │       │   │   ├── undefinedProperty1.pkl
│           │       │   │   ├── undefinedProperty2.pkl
│           │       │   │   ├── undefinedProperty3.pkl
│           │       │   │   ├── undefinedProperty4.pkl
│           │       │   │   ├── undefinedProperty5.pkl
│           │       │   │   ├── undefinedProperty6.pkl
│           │       │   │   ├── undefinedProperty7.pkl
│           │       │   │   ├── undefinedProperty8.pkl
│           │       │   │   ├── underscore.pkl
│           │       │   │   ├── underscoreLambda.pkl
│           │       │   │   ├── underscoreLet.pkl
│           │       │   │   ├── unterminatedUnicodeEscape.pkl
│           │       │   │   ├── userDefinedTypeParameter1.pkl
│           │       │   │   ├── userDefinedTypeParameter2.pkl
│           │       │   │   ├── wrongForGeneratorType1.pkl
│           │       │   │   ├── wrongForGeneratorType2.pkl
│           │       │   │   └── wrongNumberOfMapArguments.pkl
│           │       │   ├── generators/
│           │       │   │   ├── duplicateDefinition1.pkl
│           │       │   │   ├── duplicateDefinition2.pkl
│           │       │   │   ├── duplicateDefinition3.pkl
│           │       │   │   ├── elementGenerators.pkl
│           │       │   │   ├── elementGeneratorsTyped.pkl
│           │       │   │   ├── entryGenerators.pkl
│           │       │   │   ├── entryGeneratorsTyped.pkl
│           │       │   │   ├── forGeneratorInFunctionBody.pkl
│           │       │   │   ├── forGeneratorInMixins.pkl
│           │       │   │   ├── forGeneratorLexicalScope.pkl
│           │       │   │   ├── forGeneratorNestedReference.pkl
│           │       │   │   ├── forGeneratorNestedReference2.pkl
│           │       │   │   ├── forGeneratorVariableShadowing.pkl
│           │       │   │   ├── generatorNoMembers.pkl
│           │       │   │   ├── predicateMembersDynamicListing.pkl
│           │       │   │   ├── predicateMembersDynamicMapping.pkl
│           │       │   │   ├── predicateMembersListing.pkl
│           │       │   │   ├── predicateMembersMapping.pkl
│           │       │   │   ├── predicateMembersThis.pkl
│           │       │   │   ├── propertyGenerators.pkl
│           │       │   │   ├── spreadSyntaxDynamic.pkl
│           │       │   │   ├── spreadSyntaxListing.pkl
│           │       │   │   ├── spreadSyntaxMapping.pkl
│           │       │   │   ├── spreadSyntaxNoSpace.pkl
│           │       │   │   ├── spreadSyntaxNullable.pkl
│           │       │   │   └── spreadSyntaxTyped.pkl
│           │       │   ├── implementation/
│           │       │   │   ├── equality.pkl
│           │       │   │   └── inequality.pkl
│           │       │   ├── internal/
│           │       │   │   └── polymorphicCallSite.pkl
│           │       │   ├── lambdas/
│           │       │   │   ├── amendLambdaDef.pkl
│           │       │   │   ├── amendLambdaExpr.pkl
│           │       │   │   ├── amendLambdaExternalClassError.pkl
│           │       │   │   ├── amendLambdaParameters.pkl
│           │       │   │   ├── amendLambdaParametersTyped.pkl
│           │       │   │   ├── amendLambdaThatReturnsAnotherLambda.pkl
│           │       │   │   ├── amendLambdaTooFewArgsError.pkl
│           │       │   │   ├── amendLambdaTooManyArgsError.pkl
│           │       │   │   ├── equality.pkl
│           │       │   │   ├── inequality.pkl
│           │       │   │   ├── lambda1.pkl
│           │       │   │   ├── lambda2.pkl
│           │       │   │   ├── lambda3.pkl
│           │       │   │   ├── lambda4.pkl
│           │       │   │   ├── lambda5.pkl
│           │       │   │   ├── lambdaStackTrace1.pkl
│           │       │   │   ├── lambdaStackTrace2.pkl
│           │       │   │   ├── lambdaStackTrace3.pkl
│           │       │   │   ├── pipeOperator.pkl
│           │       │   │   ├── tooManyLambdaParams.pkl
│           │       │   │   ├── typedLambdas.pkl
│           │       │   │   └── wrongArgumentListLength.pkl
│           │       │   ├── listings/
│           │       │   │   ├── cacheStealing.pkl
│           │       │   │   ├── cacheStealingTypeCheck.pkl
│           │       │   │   ├── default.pkl
│           │       │   │   ├── equality.pkl
│           │       │   │   ├── hashCode.pkl
│           │       │   │   ├── inequality.pkl
│           │       │   │   ├── listing1.pkl
│           │       │   │   ├── listing2.pkl
│           │       │   │   ├── listing3.pkl
│           │       │   │   ├── listing4.pkl
│           │       │   │   ├── listing5.pkl
│           │       │   │   ├── listing6.pkl
│           │       │   │   ├── listing7.pkl
│           │       │   │   ├── numberLiterals.pkl
│           │       │   │   ├── typeCheck.pkl
│           │       │   │   ├── wrongIndex.pkl
│           │       │   │   └── wrongParent.pkl
│           │       │   ├── listings2/
│           │       │   │   ├── default.pkl
│           │       │   │   ├── equality.pkl
│           │       │   │   ├── inequality.pkl
│           │       │   │   ├── listing1.pkl
│           │       │   │   ├── listing2.pkl
│           │       │   │   ├── listing3.pkl
│           │       │   │   ├── numberLiterals.pkl
│           │       │   │   ├── typeCheck.pkl
│           │       │   │   ├── wrongIndex.pkl
│           │       │   │   └── wrongParent.pkl
│           │       │   ├── mappings/
│           │       │   │   ├── default.pkl
│           │       │   │   ├── duplicateComputedKey.pkl
│           │       │   │   ├── duplicateConstantKey.pkl
│           │       │   │   ├── equality.pkl
│           │       │   │   ├── hashCode.pkl
│           │       │   │   ├── inequality.pkl
│           │       │   │   ├── mapping1.pkl
│           │       │   │   ├── mapping2.pkl
│           │       │   │   ├── stringKeyNotFound.pkl
│           │       │   │   ├── typeCheck.pkl
│           │       │   │   └── wrongParent.pkl
│           │       │   ├── mappings2/
│           │       │   │   ├── default.pkl
│           │       │   │   ├── duplicateComputedKey.pkl
│           │       │   │   ├── duplicateConstantKey.pkl
│           │       │   │   ├── equality.pkl
│           │       │   │   ├── inequality.pkl
│           │       │   │   ├── mapping1.pkl
│           │       │   │   ├── mapping2.pkl
│           │       │   │   ├── stringKeyNotFound.pkl
│           │       │   │   ├── typeCheck.pkl
│           │       │   │   └── wrongParent.pkl
│           │       │   ├── methods/
│           │       │   │   ├── methodParameterConstraints1.pkl
│           │       │   │   ├── methodParameterConstraints2.pkl
│           │       │   │   ├── methodParameterTypes1.pkl
│           │       │   │   ├── methodParameterTypes2.pkl
│           │       │   │   └── methodParameterTypes3.pkl
│           │       │   ├── modules/
│           │       │   │   ├── amendModule1.pkl
│           │       │   │   ├── amendModule2.pkl
│           │       │   │   ├── amendModule3.pkl
│           │       │   │   ├── amendModule4.pkl
│           │       │   │   ├── amendModule5.pkl
│           │       │   │   ├── amendModule6.pkl
│           │       │   │   ├── duplicateFunction.pkl
│           │       │   │   ├── duplicateProperty1.pkl
│           │       │   │   ├── duplicateProperty2.pkl
│           │       │   │   ├── duplicateProperty3.pkl
│           │       │   │   ├── equality.pkl
│           │       │   │   ├── extendModule1.pkl
│           │       │   │   ├── externalFunction.pkl
│           │       │   │   ├── externalProperty.pkl
│           │       │   │   ├── filename with spaces 2.pkl
│           │       │   │   ├── filename with spaces.pkl
│           │       │   │   ├── functions.pkl
│           │       │   │   ├── invalidAmend1.pkl
│           │       │   │   ├── invalidAmend2.pkl
│           │       │   │   ├── invalidAmend3.pkl
│           │       │   │   ├── invalidAmend4.pkl
│           │       │   │   ├── invalidAmend5.pkl
│           │       │   │   ├── invalidAmend6.pkl
│           │       │   │   ├── invalidExtend1.pkl
│           │       │   │   ├── invalidExtend2.pkl
│           │       │   │   ├── invalidExtend3.pkl
│           │       │   │   ├── invalidModule1.pkl
│           │       │   │   ├── library.pkl
│           │       │   │   ├── lists.pkl
│           │       │   │   ├── objects.pkl
│           │       │   │   ├── recursiveModule1.pkl
│           │       │   │   ├── recursiveModule2.pkl
│           │       │   │   ├── supercalls1.pkl
│           │       │   │   ├── supercalls2.pkl
│           │       │   │   ├── supercalls3.pkl
│           │       │   │   ├── typedModuleMethods1.pkl
│           │       │   │   ├── typedModuleProperties1.pkl
│           │       │   │   ├── typedModuleProperties2.pkl
│           │       │   │   ├── typedModuleProperties3.pkl
│           │       │   │   ├── 日本語.pkl
│           │       │   │   └── 日本語_error.pkl
│           │       │   ├── objects/
│           │       │   │   ├── closure.pkl
│           │       │   │   ├── configureObjectAssign.pkl
│           │       │   │   ├── duplicateProperty.pkl
│           │       │   │   ├── equality.pkl
│           │       │   │   ├── hashCode.pkl
│           │       │   │   ├── implicitReceiver1.pkl
│           │       │   │   ├── implicitReceiver2.pkl
│           │       │   │   ├── implicitReceiver3.pkl
│           │       │   │   ├── implicitReceiver4.pkl
│           │       │   │   ├── inequality.pkl
│           │       │   │   ├── lateBinding1.pkl
│           │       │   │   ├── lateBinding2.pkl
│           │       │   │   ├── lateBinding3.pkl
│           │       │   │   ├── lateBinding4.pkl
│           │       │   │   ├── outer.pkl
│           │       │   │   ├── outer2.pkl
│           │       │   │   ├── super1.pkl
│           │       │   │   ├── super2.pkl
│           │       │   │   ├── super3.pkl
│           │       │   │   ├── super4.pkl
│           │       │   │   ├── super5.pkl
│           │       │   │   ├── this1.pkl
│           │       │   │   └── this2.pkl
│           │       │   ├── packages/
│           │       │   │   ├── badImport1.error.pkl
│           │       │   │   ├── badImport10.error.pkl
│           │       │   │   ├── badImport11.error.pkl
│           │       │   │   ├── badImport2.error.pkl
│           │       │   │   ├── badImport3.error.pkl
│           │       │   │   ├── badImport4.error.pkl
│           │       │   │   ├── badImport6.error.pkl
│           │       │   │   ├── badImport7.error.pkl
│           │       │   │   ├── badImport8.error.pkl
│           │       │   │   ├── badImport9.error.pkl
│           │       │   │   ├── badRead1.error.pkl
│           │       │   │   ├── badRead2.error.pkl
│           │       │   │   ├── badRead3.error.pkl
│           │       │   │   ├── badRead4.error.pkl
│           │       │   │   ├── badRead8.error.pkl
│           │       │   │   ├── badRead9.error.pkl
│           │       │   │   ├── packages1.pkl
│           │       │   │   ├── packages2.pkl
│           │       │   │   └── redirects.pkl
│           │       │   ├── parser/
│           │       │   │   ├── amendsRequiresParens.pkl
│           │       │   │   ├── constantStringInterpolation.pkl
│           │       │   │   ├── constraintsTrailingComma.pkl
│           │       │   │   ├── invalidCharacter.pkl
│           │       │   │   ├── lambdaTrailingCommas.pkl
│           │       │   │   ├── lineCommentBetween.pkl
│           │       │   │   ├── methodTrailingCommas.pkl
│           │       │   │   ├── newline.pkl
│           │       │   │   ├── spacesBetweenDocComments.pkl
│           │       │   │   ├── spread.pkl
│           │       │   │   ├── trailingCommas.pkl
│           │       │   │   ├── typeAnnotationInAmends.pkl
│           │       │   │   └── wrongDocComment.pkl
│           │       │   ├── pklbinary/
│           │       │   │   ├── basic.msgpack.yaml.pkl
│           │       │   │   ├── classes.msgpack.yaml.pkl
│           │       │   │   ├── datasize.msgpack.yaml.pkl
│           │       │   │   ├── duration.msgpack.yaml.pkl
│           │       │   │   ├── intseq.msgpack.yaml.pkl
│           │       │   │   ├── list.msgpack.yaml.pkl
│           │       │   │   ├── map.msgpack.yaml.pkl
│           │       │   │   ├── pair.msgpack.yaml.pkl
│           │       │   │   ├── regex.msgpack.yaml.pkl
│           │       │   │   └── set.msgpack.yaml.pkl
│           │       │   ├── pklbinaryTest.pkl
│           │       │   ├── projects/
│           │       │   │   ├── badLocalProject/
│           │       │   │   │   ├── PklProject
│           │       │   │   │   └── dog.pkl
│           │       │   │   ├── badPklProject1/
│           │       │   │   │   ├── PklProject
│           │       │   │   │   └── bug.pkl
│           │       │   │   ├── badPklProject2/
│           │       │   │   │   ├── PklProject
│           │       │   │   │   └── bug.pkl
│           │       │   │   ├── badPklProject3/
│           │       │   │   │   ├── PklProject
│           │       │   │   │   └── bug.pkl
│           │       │   │   ├── badProjectDeps1/
│           │       │   │   │   ├── PklProject
│           │       │   │   │   ├── PklProject.deps.json
│           │       │   │   │   └── bug.pkl
│           │       │   │   ├── badProjectDeps2/
│           │       │   │   │   ├── PklProject
│           │       │   │   │   ├── PklProject.deps.json
│           │       │   │   │   └── bug.pkl
│           │       │   │   ├── badProjectDeps3/
│           │       │   │   │   ├── PklProject
│           │       │   │   │   ├── PklProject.deps.json
│           │       │   │   │   └── bug.pkl
│           │       │   │   ├── badProjectDeps4/
│           │       │   │   │   ├── PklProject
│           │       │   │   │   ├── PklProject.deps.json
│           │       │   │   │   └── bug.pkl
│           │       │   │   ├── badProjectDeps5/
│           │       │   │   │   ├── PklProject
│           │       │   │   │   ├── PklProject.deps.json
│           │       │   │   │   └── bug.pkl
│           │       │   │   ├── badProjectDeps6/
│           │       │   │   │   ├── PklProject
│           │       │   │   │   ├── PklProject.deps.json
│           │       │   │   │   └── bug.pkl
│           │       │   │   ├── compactTraceMode/
│           │       │   │   │   ├── PklProject
│           │       │   │   │   └── compactTraceMode.pkl
│           │       │   │   ├── evaluatorSettings/
│           │       │   │   │   ├── PklProject
│           │       │   │   │   ├── basic.pkl
│           │       │   │   │   └── nullTraceMode.pkl
│           │       │   │   ├── missingProjectDeps/
│           │       │   │   │   ├── PklProject
│           │       │   │   │   └── bug.pkl
│           │       │   │   ├── notAProject/
│           │       │   │   │   ├── @child/
│           │       │   │   │   │   └── theChild.pkl
│           │       │   │   │   ├── badImport.error.pkl
│           │       │   │   │   └── goodImport.pkl
│           │       │   │   ├── prettyTraceMode/
│           │       │   │   │   ├── PklProject
│           │       │   │   │   └── prettyTraceMode.pkl
│           │       │   │   ├── project1/
│           │       │   │   │   ├── PklProject
│           │       │   │   │   ├── PklProject.deps.json
│           │       │   │   │   ├── badImport1.error.pkl
│           │       │   │   │   ├── badImport2.error.pkl
│           │       │   │   │   ├── badImport3.error.pkl
│           │       │   │   │   ├── badRead1.error.pkl
│           │       │   │   │   ├── basic.pkl
│           │       │   │   │   ├── directPackageImport.error.pkl
│           │       │   │   │   ├── globbing.pkl
│           │       │   │   │   ├── localProject.pkl
│           │       │   │   │   └── localProjectRead.pkl
│           │       │   │   ├── project2/
│           │       │   │   │   ├── PklProject
│           │       │   │   │   ├── PklProject.deps.json
│           │       │   │   │   └── penguin.pkl
│           │       │   │   ├── project3/
│           │       │   │   │   ├── PklProject
│           │       │   │   │   ├── PklProject.deps.json
│           │       │   │   │   └── basic.pkl
│           │       │   │   ├── project4/
│           │       │   │   │   ├── PklProject
│           │       │   │   │   ├── PklProject.deps.json
│           │       │   │   │   └── main.pkl
│           │       │   │   ├── project5/
│           │       │   │   │   ├── PklProject
│           │       │   │   │   ├── PklProject.deps.json
│           │       │   │   │   └── main.pkl
│           │       │   │   └── project6/
│           │       │   │       ├── PklProject
│           │       │   │       ├── PklProject.deps.json
│           │       │   │       ├── children/
│           │       │   │       │   ├── a.pkl
│           │       │   │       │   ├── b.pkl
│           │       │   │       │   └── c.pkl
│           │       │   │       └── children.pkl
│           │       │   ├── snippetTest.pkl
│           │       │   ├── syntax/
│           │       │   │   └── shebang.pkl
│           │       │   └── types/
│           │       │       ├── ThisInTypeConstraint.pkl
│           │       │       ├── currentModuleType1.pkl
│           │       │       ├── currentModuleType2.pkl
│           │       │       ├── currentModuleType3.pkl
│           │       │       ├── cyclicTypeAlias1.pkl
│           │       │       ├── cyclicTypeAlias2.pkl
│           │       │       ├── helpers/
│           │       │       │   ├── originalTypealias.pkl
│           │       │       │   └── someModule.pkl
│           │       │       ├── modifiersForTypes.pkl
│           │       │       ├── moduleType.pkl
│           │       │       ├── moduleType2.pkl
│           │       │       ├── moduleType3.pkl
│           │       │       ├── moduleType4.pkl
│           │       │       ├── moduleType5.pkl
│           │       │       ├── nothingType.pkl
│           │       │       ├── nothingWithUnions.pkl
│           │       │       ├── typeAlias1.pkl
│           │       │       ├── typeAlias2.pkl
│           │       │       ├── typeAliasConstraint1.pkl
│           │       │       ├── typeAliasConstraint2.pkl
│           │       │       ├── typeAliasContext.pkl
│           │       │       └── typeAliasUnion.pkl
│           │       ├── input-helper/
│           │       │   ├── analyze/
│           │       │   │   ├── a.pkl
│           │       │   │   ├── b.pkl
│           │       │   │   ├── cannotFindModule.pkl
│           │       │   │   ├── cyclicalA.pkl
│           │       │   │   ├── cyclicalB.pkl
│           │       │   │   ├── globImport.pkl
│           │       │   │   └── invalidGlob.pkl
│           │       │   ├── api/
│           │       │   │   ├── annotationConverter.pkl
│           │       │   │   ├── benchmark/
│           │       │   │   │   └── moduleToBenchmark.pkl
│           │       │   │   └── reflect/
│           │       │   │       ├── BaseModule.pkl
│           │       │   │       ├── ExtendingModule.pkl
│           │       │   │       ├── amendingModule.pkl
│           │       │   │       └── testHelpers.pkl
│           │       │   ├── basic/
│           │       │   │   └── read/
│           │       │   │       ├── child/
│           │       │   │       │   ├── module2.pkl
│           │       │   │       │   └── resource.txt
│           │       │   │       ├── module1.pkl
│           │       │   │       └── resource.txt
│           │       │   ├── classes/
│           │       │   │   ├── MyClass.pkl
│           │       │   │   └── myClass1.pkl
│           │       │   ├── globtest/
│           │       │   │   ├── child/
│           │       │   │   │   └── moduleC.pkl
│           │       │   │   ├── module with [weird] ~!characters.pkl
│           │       │   │   ├── moduleA.pkl
│           │       │   │   └── moduleB.pkl
│           │       │   ├── listings/
│           │       │   │   └── cacheStealingTypeCheck.pkl
│           │       │   ├── modules/
│           │       │   │   ├── Birds.pkl
│           │       │   │   └── Birds2.pkl
│           │       │   └── types/
│           │       │       └── typeAliasConstraint2.pkl
│           │       └── output/
│           │           ├── annotation/
│           │           │   ├── annotation1.pcf
│           │           │   ├── annotation2.err
│           │           │   ├── annotation3.err
│           │           │   ├── annotation4.err
│           │           │   ├── annotation5.err
│           │           │   ├── annotation6.err
│           │           │   ├── annotationIsNotExpression.err
│           │           │   ├── annotationIsNotExpression2.err
│           │           │   ├── deprecated1.err
│           │           │   ├── deprecated2.err
│           │           │   ├── deprecated3.err
│           │           │   ├── deprecatedNoRepeatedWarnings.err
│           │           │   ├── deprecatedWithMessage1.err
│           │           │   ├── deprecatedWithMessage2.err
│           │           │   ├── deprecatedWithMessage3.err
│           │           │   └── deprecationSuperMethod.err
│           │           ├── api/
│           │           │   ├── Resource.pcf
│           │           │   ├── analyze1.pcf
│           │           │   ├── annotationConverters.pcf
│           │           │   ├── any.pcf
│           │           │   ├── anyConverter.pcf
│           │           │   ├── baseModule.pcf
│           │           │   ├── benchmarkModule.pcf
│           │           │   ├── bytes.pcf
│           │           │   ├── dataSize.pcf
│           │           │   ├── dir1/
│           │           │   │   └── dir2/
│           │           │   │       └── relativePathTo.pcf
│           │           │   ├── duration.pcf
│           │           │   ├── dynamic.pcf
│           │           │   ├── float.pcf
│           │           │   ├── int.pcf
│           │           │   ├── intseq.pcf
│           │           │   ├── jsonParser1.pcf
│           │           │   ├── jsonParser2.pcf
│           │           │   ├── jsonParser3.pcf
│           │           │   ├── jsonParser4.pcf
│           │           │   ├── jsonParser5.pcf
│           │           │   ├── jsonRenderer1.json
│           │           │   ├── jsonRenderer2.json
│           │           │   ├── jsonRenderer2b.pcf
│           │           │   ├── jsonRenderer3.json
│           │           │   ├── jsonRenderer4.pcf
│           │           │   ├── jsonRenderer5.pcf
│           │           │   ├── jsonRenderer6.json
│           │           │   ├── jsonRenderer7.pcf
│           │           │   ├── jsonRenderer8.err
│           │           │   ├── jsonRenderer9.json5
│           │           │   ├── jsonRendererEmptyComposites.pcf
│           │           │   ├── jsonnetRenderer1.jsonnet
│           │           │   ├── jsonnetRenderer2.jsonnet
│           │           │   ├── jsonnetRenderer3.jsonnet
│           │           │   ├── jsonnetRenderer4.pcf
│           │           │   ├── jsonnetRenderer5.pcf
│           │           │   ├── jsonnetRenderer6.jsonnet
│           │           │   ├── jsonnetRenderer7.err
│           │           │   ├── jsonnetRenderer8.jsonnet
│           │           │   ├── list.pcf
│           │           │   ├── listNullable.pcf
│           │           │   ├── listing.pcf
│           │           │   ├── map.pcf
│           │           │   ├── mapping.pcf
│           │           │   ├── mathModule.pcf
│           │           │   ├── module.pcf
│           │           │   ├── moduleOutput.pcf
│           │           │   ├── moduleOutput2.pcf
│           │           │   ├── pListRenderer1.plist
│           │           │   ├── pListRenderer2.plist
│           │           │   ├── pListRenderer3.plist
│           │           │   ├── pListRenderer4.pcf
│           │           │   ├── pListRenderer5.pcf
│           │           │   ├── pListRenderer6.plist
│           │           │   ├── pListRenderer7.err
│           │           │   ├── pListRenderer8.plist
│           │           │   ├── pair.pcf
│           │           │   ├── pcfRenderer1.pcf
│           │           │   ├── pcfRenderer2.pcf
│           │           │   ├── pcfRenderer2b.pcf
│           │           │   ├── pcfRenderer3.pcf
│           │           │   ├── pcfRenderer4.pcf
│           │           │   ├── pcfRenderer5.pcf
│           │           │   ├── pcfRenderer6.pcf
│           │           │   ├── pcfRenderer7.pcf
│           │           │   ├── pcfRenderer8.err
│           │           │   ├── pcfRenderer9.pcf
│           │           │   ├── pklbinary1.msgpack.yaml
│           │           │   ├── platformModule.pcf
│           │           │   ├── plistRenderer2b.pcf
│           │           │   ├── propertiesRenderer1.properties
│           │           │   ├── propertiesRenderer10.err
│           │           │   ├── propertiesRenderer11.err
│           │           │   ├── propertiesRenderer12.properties
│           │           │   ├── propertiesRenderer2.properties
│           │           │   ├── propertiesRenderer2b.pcf
│           │           │   ├── propertiesRenderer3.properties
│           │           │   ├── propertiesRenderer4.pcf
│           │           │   ├── propertiesRenderer5.pcf
│           │           │   ├── propertiesRenderer6.properties
│           │           │   ├── propertiesRenderer7.properties
│           │           │   ├── propertiesRenderer8.properties
│           │           │   ├── propertiesRenderer9.properties
│           │           │   ├── propertiesRendererBug66849708.properties
│           │           │   ├── protobuf.pcf
│           │           │   ├── protobuf2.pcf
│           │           │   ├── protobuf3.txtpb
│           │           │   ├── reflect1.pcf
│           │           │   ├── reflect2.pcf
│           │           │   ├── reflect3.pcf
│           │           │   ├── reflect4.pcf
│           │           │   ├── reflectedDeclaration.pcf
│           │           │   ├── regex.pcf
│           │           │   ├── releaseModule.pcf
│           │           │   ├── renderDirective.pcf
│           │           │   ├── renderDirective2.pcf
│           │           │   ├── semverModule.pcf
│           │           │   ├── set.pcf
│           │           │   ├── setNullable.pcf
│           │           │   ├── shellModule.pcf
│           │           │   ├── string.pcf
│           │           │   ├── stringUnicode.pcf
│           │           │   ├── typeAliases.pcf
│           │           │   ├── typeConverters.pcf
│           │           │   ├── typed.pcf
│           │           │   ├── xmlRenderer1.xml
│           │           │   ├── xmlRenderer2.xml
│           │           │   ├── xmlRenderer2b.pcf
│           │           │   ├── xmlRenderer3.xml
│           │           │   ├── xmlRenderer4.pcf
│           │           │   ├── xmlRenderer5.pcf
│           │           │   ├── xmlRenderer6.xml
│           │           │   ├── xmlRenderer8.err
│           │           │   ├── xmlRenderer9.xml
│           │           │   ├── xmlRendererCData.xml
│           │           │   ├── xmlRendererElement.xml
│           │           │   ├── xmlRendererHtml.xml
│           │           │   ├── xmlRendererInline.xml
│           │           │   ├── xmlRendererInline2.xml
│           │           │   ├── xmlRendererInline3.xml
│           │           │   ├── xmlRendererValidation10.pcf
│           │           │   ├── xmlRendererValidation11.pcf
│           │           │   ├── yamlParser1Compat.pcf
│           │           │   ├── yamlParser1Yaml11.pcf
│           │           │   ├── yamlParser1Yaml12.pcf
│           │           │   ├── yamlParser2.pcf
│           │           │   ├── yamlParser3.pcf
│           │           │   ├── yamlParser4.pcf
│           │           │   ├── yamlParser5.pcf
│           │           │   ├── yamlParser6.pcf
│           │           │   ├── yamlRenderer1.yml
│           │           │   ├── yamlRenderer10.yml
│           │           │   ├── yamlRenderer2.yml
│           │           │   ├── yamlRenderer2b.pcf
│           │           │   ├── yamlRenderer3.yml
│           │           │   ├── yamlRenderer4.pcf
│           │           │   ├── yamlRenderer5.pcf
│           │           │   ├── yamlRenderer6.yml
│           │           │   ├── yamlRenderer7.err
│           │           │   ├── yamlRenderer8.yml
│           │           │   ├── yamlRenderer9.yml
│           │           │   ├── yamlRendererBug66849708.yml
│           │           │   ├── yamlRendererEmpty.yml
│           │           │   ├── yamlRendererIndentationWidth2.yml
│           │           │   ├── yamlRendererIndentationWidth4.yml
│           │           │   ├── yamlRendererIndentationWidth5.yml
│           │           │   ├── yamlRendererKeys.yml
│           │           │   ├── yamlRendererStream1.pcf
│           │           │   ├── yamlRendererStream2.pcf
│           │           │   ├── yamlRendererStrings.yml
│           │           │   ├── yamlRendererStringsCompat.pcf
│           │           │   ├── yamlRendererStringsYaml11.pcf
│           │           │   └── yamlRendererStringsYaml12.pcf
│           │           ├── basic/
│           │           │   ├── amendsChains.pcf
│           │           │   ├── as.pcf
│           │           │   ├── as2.pcf
│           │           │   ├── as3.pcf
│           │           │   ├── baseModule.pcf
│           │           │   ├── boolean.pcf
│           │           │   ├── bytes.pcf
│           │           │   ├── comments.pcf
│           │           │   ├── constModifier.pcf
│           │           │   ├── constModifier2.pcf
│           │           │   ├── constModifier3.pcf
│           │           │   ├── constModifier4.pcf
│           │           │   ├── constModifier5.err
│           │           │   ├── dataSize.pcf
│           │           │   ├── duration.pcf
│           │           │   ├── exceptions.err
│           │           │   ├── fixedProperty1.pcf
│           │           │   ├── fixedProperty2.pcf
│           │           │   ├── fixedProperty3.pcf
│           │           │   ├── fixedProperty4.err
│           │           │   ├── fixedProperty5.err
│           │           │   ├── fixedProperty6.err
│           │           │   ├── float.pcf
│           │           │   ├── identifier.pcf
│           │           │   ├── if.pcf
│           │           │   ├── import1.pcf
│           │           │   ├── import1b.pcf
│           │           │   ├── import2.pcf
│           │           │   ├── import3.pcf
│           │           │   ├── importGlob.pcf
│           │           │   ├── imported.pcf
│           │           │   ├── indexExpressions.pcf
│           │           │   ├── int.pcf
│           │           │   ├── intseq.pcf
│           │           │   ├── is.pcf
│           │           │   ├── is2.pcf
│           │           │   ├── let.pcf
│           │           │   ├── letTyped.pcf
│           │           │   ├── list.pcf
│           │           │   ├── localMethodDynamicBinding.pcf
│           │           │   ├── localMethodInAmendingModule.pcf
│           │           │   ├── localMethodOverride1.pcf
│           │           │   ├── localMethodOverride2.pcf
│           │           │   ├── localMethodTyped.pcf
│           │           │   ├── localMethodTyped2.pcf
│           │           │   ├── localMethodTyped3.pcf
│           │           │   ├── localMethodTyped4.pcf
│           │           │   ├── localMethodTyped5.pcf
│           │           │   ├── localMethodTyped6.pcf
│           │           │   ├── localMethodUntyped.pcf
│           │           │   ├── localModuleMemberOverride1.pcf
│           │           │   ├── localModuleMemberOverride2.pcf
│           │           │   ├── localProperty1.pcf
│           │           │   ├── localProperty2.pcf
│           │           │   ├── localPropertyAmendInAmendingModule.err
│           │           │   ├── localPropertyInAmendingModule.pcf
│           │           │   ├── localPropertyOverride1.pcf
│           │           │   ├── localPropertyOverride2.pcf
│           │           │   ├── localPropertyOverride3.pcf
│           │           │   ├── localTypedClassMember.pcf
│           │           │   ├── localTypedModuleMember.pcf
│           │           │   ├── localTypedObjectMember.pcf
│           │           │   ├── map.pcf
│           │           │   ├── minPklVersion.pcf
│           │           │   ├── moduleRef1.pcf
│           │           │   ├── moduleRef2.pcf
│           │           │   ├── moduleRef3.pcf
│           │           │   ├── moduleRefLibrary.pcf
│           │           │   ├── new.pcf
│           │           │   ├── newInAmendingModuleMethod.pcf
│           │           │   ├── newInsideIf.pcf
│           │           │   ├── newInsideLet.pcf
│           │           │   ├── newType.pcf
│           │           │   ├── nonNull.pcf
│           │           │   ├── nullable.pcf
│           │           │   ├── objectMember.pcf
│           │           │   ├── objectMemberInvalid.err
│           │           │   ├── objectMemberInvalid2.err
│           │           │   ├── objectMemberInvalid3.err
│           │           │   ├── parens.pcf
│           │           │   ├── propertyDefaults.pcf
│           │           │   ├── rawString.pcf
│           │           │   ├── read.pcf
│           │           │   ├── readGlob.pcf
│           │           │   ├── semicolon.pcf
│           │           │   ├── set.pcf
│           │           │   ├── string.pcf
│           │           │   ├── stringError1.err
│           │           │   ├── stringMultiline.pcf
│           │           │   ├── stringUnicode.pcf
│           │           │   ├── trace.err
│           │           │   ├── typeResolution1.pcf
│           │           │   ├── typeResolution2.pcf
│           │           │   ├── typeResolution3.pcf
│           │           │   ├── typeResolution4.pcf
│           │           │   └── underscore.pcf
│           │           ├── classes/
│           │           │   ├── class1.pcf
│           │           │   ├── class2.pcf
│           │           │   ├── class2a.pcf
│           │           │   ├── class3.err
│           │           │   ├── class4.pcf
│           │           │   ├── constraints1.pcf
│           │           │   ├── constraints10.pcf
│           │           │   ├── constraints11.pcf
│           │           │   ├── constraints12.pcf
│           │           │   ├── constraints13.pcf
│           │           │   ├── constraints14.pcf
│           │           │   ├── constraints2.pcf
│           │           │   ├── constraints3.pcf
│           │           │   ├── constraints4.pcf
│           │           │   ├── constraints5.err
│           │           │   ├── constraints6.pcf
│           │           │   ├── constraints7.pcf
│           │           │   ├── constraints8.pcf
│           │           │   ├── constraints9.pcf
│           │           │   ├── constraintsLambdaThis.pcf
│           │           │   ├── duplicateFunction.err
│           │           │   ├── duplicateProperty.err
│           │           │   ├── equality.pcf
│           │           │   ├── externalClass.err
│           │           │   ├── externalFunction.err
│           │           │   ├── externalProperty.err
│           │           │   ├── functions1.pcf
│           │           │   ├── functions2.pcf
│           │           │   ├── functions3.pcf
│           │           │   ├── functions4.pcf
│           │           │   ├── inheritance1.pcf
│           │           │   ├── inheritance2.pcf
│           │           │   ├── inheritanceError1.err
│           │           │   ├── invalidInstantiation1.err
│           │           │   ├── invalidInstantiation2.err
│           │           │   ├── lambdaConstraints1.pcf
│           │           │   ├── listConstraints1.pcf
│           │           │   ├── mapConstraints1.pcf
│           │           │   ├── nullableTypes.pcf
│           │           │   ├── setConstraints1.pcf
│           │           │   ├── supercalls.pcf
│           │           │   ├── supercallsInLet.pcf
│           │           │   ├── unionTypes.pcf
│           │           │   ├── unionTypesErrorAlias.err
│           │           │   ├── unionTypesErrorDifferent1.err
│           │           │   ├── unionTypesErrorDifferent2.err
│           │           │   ├── unionTypesErrorMultipleAliases.err
│           │           │   ├── unionTypesErrorNested.err
│           │           │   ├── unionTypesErrorSimple.err
│           │           │   ├── unionTypesErrorString1.err
│           │           │   ├── unionTypesErrorString2.err
│           │           │   ├── wrongType1.err
│           │           │   ├── wrongType2.err
│           │           │   ├── wrongType3.err
│           │           │   ├── wrongType4.err
│           │           │   ├── wrongType5.pcf
│           │           │   └── wrongType6.err
│           │           ├── errors/
│           │           │   ├── abstractOpenMember.err
│           │           │   ├── analyzeImportsCannotFindModule.err
│           │           │   ├── analyzeImportsInvalidGlob.err
│           │           │   ├── analyzeInvalidModuleUri.err
│           │           │   ├── analyzeRelativeModuleUri.err
│           │           │   ├── anyConverterError.err
│           │           │   ├── baseModule.pcf
│           │           │   ├── binopDifferentLine.err
│           │           │   ├── cannotAmendFixedProperty1.err
│           │           │   ├── cannotAmendFixedProperty2.err
│           │           │   ├── cannotAssignFixedProperty1.err
│           │           │   ├── cannotAssignFixedProperty2.err
│           │           │   ├── cannotAssignFixedProperty3.err
│           │           │   ├── cannotAssignToNothing.err
│           │           │   ├── cannotChangeFixed1.err
│           │           │   ├── cannotChangeFixed2.err
│           │           │   ├── cannotFindMapKey.err
│           │           │   ├── cannotFindStdLibModule.err
│           │           │   ├── cannotInferParent2.err
│           │           │   ├── cannotInferParent3.err
│           │           │   ├── cannotInstantiateAbstractModule.err
│           │           │   ├── cannotRenderMixin.err
│           │           │   ├── classExtendsSelf.err
│           │           │   ├── const/
│           │           │   │   ├── constAmend.err
│           │           │   │   ├── constAnnotation.err
│           │           │   │   ├── constAnnotation2.err
│           │           │   │   ├── constAnnotation3.err
│           │           │   │   ├── constAssign.err
│           │           │   │   ├── constClassBody.err
│           │           │   │   ├── constExplicitThis.err
│           │           │   │   ├── constExplicitThisMethod.err
│           │           │   │   ├── constFunctionCallingNonConst.err
│           │           │   │   ├── constImplicitThis.err
│           │           │   │   ├── constImplicitThisMethod.err
│           │           │   │   ├── constLexicalScope.err
│           │           │   │   ├── constLocalAmendModule.pcf
│           │           │   │   ├── constLocalMethod.err
│           │           │   │   ├── constLocalProperty.err
│           │           │   │   ├── constMethod.err
│           │           │   │   ├── constMethod2.err
│           │           │   │   ├── constModule.err
│           │           │   │   ├── constModule2.err
│           │           │   │   ├── constModule3.err
│           │           │   │   ├── constObjectMember.err
│           │           │   │   ├── constOuter.err
│           │           │   │   ├── constOuter2.err
│           │           │   │   ├── constOuter3.err
│           │           │   │   ├── constQualified.err
│           │           │   │   ├── constSubclass.err
│           │           │   │   ├── constSubclass2.err
│           │           │   │   ├── constSuper.err
│           │           │   │   ├── constSuperMethod.err
│           │           │   │   ├── constThis.err
│           │           │   │   └── constTypeAliasConstraint.err
│           │           │   ├── constraintDetails1.err
│           │           │   ├── constraintDetails2.err
│           │           │   ├── constraintDetails3.err
│           │           │   ├── decodingException.err
│           │           │   ├── delimiters/
│           │           │   │   ├── missingClassDelimiter.err
│           │           │   │   ├── missingConstrainedTypeSeparator.err
│           │           │   │   ├── missingContainerAmendDefDelimiter.err
│           │           │   │   ├── missingContainerAmendExprDelimiter.err
│           │           │   │   ├── missingEmptyMultiLineStringDelimiter.err
│           │           │   │   ├── missingEmptyMultiLineStringDelimiterAtEof.err
│           │           │   │   ├── missingEmptyStringDelimiter.err
│           │           │   │   ├── missingEmptyStringDelimiterAtEof.err
│           │           │   │   ├── missingFunction0ParameterListDelimiter.err
│           │           │   │   ├── missingFunction1ParameterListDelimiter.err
│           │           │   │   ├── missingFunctionAmendParameterListSeparator.err
│           │           │   │   ├── missingFunctionNParameterListDelimiter.err
│           │           │   │   ├── missingFunctionParameterListSeparator.err
│           │           │   │   ├── missingFunctionType0ParameterListDelimiter.err
│           │           │   │   ├── missingFunctionType1ParameterListDelimiter.err
│           │           │   │   ├── missingFunctionTypeNParameterListDelimiter.err
│           │           │   │   ├── missingFunctionTypeParameterListSeparator.err
│           │           │   │   ├── missingIfExprDelimiter.err
│           │           │   │   ├── missingListDelimiter.err
│           │           │   │   ├── missingListSeparator.err
│           │           │   │   ├── missingMapDelimiter.err
│           │           │   │   ├── missingMapSeparator.err
│           │           │   │   ├── missingMethodArgumentListDelimiter.err
│           │           │   │   ├── missingMethodArgumentListSeparator.err
│           │           │   │   ├── missingMethodParameterListDelimiter.err
│           │           │   │   ├── missingMethodParameterListSeparator.err
│           │           │   │   ├── missingMultiLineStringDelimiter.err
│           │           │   │   ├── missingObjectAmendDefDelimiter.err
│           │           │   │   ├── missingObjectAmendDefDelimiter2.err
│           │           │   │   ├── missingObjectAmendDefDelimiter3.err
│           │           │   │   ├── missingObjectAmendExprDelimiter.err
│           │           │   │   ├── missingObjectDelimiter.err
│           │           │   │   ├── missingParenthesizedExprDelimiter.err
│           │           │   │   ├── missingParenthesizedTypeDelimiter.err
│           │           │   │   ├── missingRawMultiLineStringDelimiter.err
│           │           │   │   ├── missingRawStringDelimiter.err
│           │           │   │   ├── missingSetSeparator.err
│           │           │   │   ├── missingStringDelimiter.err
│           │           │   │   ├── missingSubscriptDelimiter.err
│           │           │   │   ├── missingTypeConstraintListDelimiter.err
│           │           │   │   ├── missingTypedMethodParameterListDelimiter.err
│           │           │   │   ├── missingTypedMethodParameterListSeparator.err
│           │           │   │   ├── unbalancedEntryBrackets1.err
│           │           │   │   ├── unbalancedEntryBrackets2.err
│           │           │   │   ├── unbalancedEntryBrackets3.err
│           │           │   │   └── unbalancedEntryBrackets4.err
│           │           │   ├── duplicateTypeParameter.err
│           │           │   ├── emptyParenthesizedTypeAnnotation.err
│           │           │   ├── extendExternalClass.err
│           │           │   ├── extendTypeAlias.err
│           │           │   ├── forGeneratorCannotGenerateMethods.err
│           │           │   ├── forGeneratorCannotGenerateProperties.err
│           │           │   ├── forGeneratorCannotIterateOverThisValue.err
│           │           │   ├── forGeneratorCannotIterateOverTyped.err
│           │           │   ├── forGeneratorDuplicateParams1.err
│           │           │   ├── forGeneratorWrongVariableName.err
│           │           │   ├── fullStackTraces.err
│           │           │   ├── fullStackTraces2.err
│           │           │   ├── functionNotFoundInClass.err
│           │           │   ├── functionNotFoundInModule.err
│           │           │   ├── functionNotFoundInScope.err
│           │           │   ├── functionNotFoundMaybeLambda.err
│           │           │   ├── functionNotFoundMaybeProperty.err
│           │           │   ├── intrinsifiedTypeAlias1.err
│           │           │   ├── intrinsifiedTypeAlias2.err
│           │           │   ├── intrinsifiedTypeAlias3.err
│           │           │   ├── intrinsifiedTypeAlias4.err
│           │           │   ├── invalidBytes1.err
│           │           │   ├── invalidBytes2.err
│           │           │   ├── invalidBytes3.err
│           │           │   ├── invalidBytes4.err
│           │           │   ├── invalidCharacterEscape.err
│           │           │   ├── invalidClassMethodModifier.err
│           │           │   ├── invalidClassModifier.err
│           │           │   ├── invalidClassModifier2.err
│           │           │   ├── invalidClassPropertyModifier.err
│           │           │   ├── invalidFileUri1.err
│           │           │   ├── invalidFileUri2.err
│           │           │   ├── invalidFileUri3.err
│           │           │   ├── invalidFileUri4.err
│           │           │   ├── invalidGlobImport1.err
│           │           │   ├── invalidGlobImport2.err
│           │           │   ├── invalidGlobImport3.err
│           │           │   ├── invalidGlobImport4.err
│           │           │   ├── invalidGlobImport5.err
│           │           │   ├── invalidGlobImport6.err
│           │           │   ├── invalidGlobImport7.err
│           │           │   ├── invalidGlobImport8.err
│           │           │   ├── invalidGlobRead1.err
│           │           │   ├── invalidGlobRead2.err
│           │           │   ├── invalidGlobRead3.err
│           │           │   ├── invalidImportBackslashSep.err
│           │           │   ├── invalidImportUri.err
│           │           │   ├── invalidMethodModifier.err
│           │           │   ├── invalidModuleModifier.err
│           │           │   ├── invalidObjectPropertyModifier.err
│           │           │   ├── invalidOutput1.err
│           │           │   ├── invalidOutput2.err
│           │           │   ├── invalidOutput3.err
│           │           │   ├── invalidPropertyModifier.err
│           │           │   ├── invalidTripleDotSyntax1.err
│           │           │   ├── invalidTripleDotSyntax2.err
│           │           │   ├── invalidTypeAliasModifier.err
│           │           │   ├── invalidTypeName1.err
│           │           │   ├── invalidTypeName2.err
│           │           │   ├── invalidTypeName3.err
│           │           │   ├── invalidTypeName4.err
│           │           │   ├── invalidUnicodeEscape.err
│           │           │   ├── keywordNotAllowedHere1.err
│           │           │   ├── keywordNotAllowedHere2.err
│           │           │   ├── keywordNotAllowedHere3.err
│           │           │   ├── keywordNotAllowedHere4.err
│           │           │   ├── letExpressionError1.err
│           │           │   ├── letExpressionError2.err
│           │           │   ├── letExpressionErrorTyped.err
│           │           │   ├── listingTypeCheckError1.err
│           │           │   ├── listingTypeCheckError2.err
│           │           │   ├── listingTypeCheckError3.err
│           │           │   ├── listingTypeCheckError4.err
│           │           │   ├── listingTypeCheckError5.err
│           │           │   ├── listingTypeCheckError6.err
│           │           │   ├── listingTypeCheckError7.err
│           │           │   ├── listingTypeCheckError8.err
│           │           │   ├── listingTypeCheckError9.err
│           │           │   ├── localFixedMember.err
│           │           │   ├── localFunctionWithTypeParameter.err
│           │           │   ├── localHiddenMember.err
│           │           │   ├── mappingTypeCheckError1.err
│           │           │   ├── mappingTypeCheckError10.err
│           │           │   ├── mappingTypeCheckError11.err
│           │           │   ├── mappingTypeCheckError2.err
│           │           │   ├── mappingTypeCheckError3.err
│           │           │   ├── mappingTypeCheckError4.err
│           │           │   ├── mappingTypeCheckError5.err
│           │           │   ├── mappingTypeCheckError6.err
│           │           │   ├── mappingTypeCheckError7.err
│           │           │   ├── mappingTypeCheckError8.err
│           │           │   ├── mappingTypeCheckError9.err
│           │           │   ├── missingLocalPropertyValue1.err
│           │           │   ├── missingLocalPropertyValue2.err
│           │           │   ├── moduleAmendsSelf.err
│           │           │   ├── moduleAmendsVersionCheck.err
│           │           │   ├── moduleAmendsVersionCheck2.err
│           │           │   ├── moduleExpected.err
│           │           │   ├── moduleExtendsSelf.err
│           │           │   ├── moduleExtendsVersionCheck.err
│           │           │   ├── moduleExtendsVersionCheck2.err
│           │           │   ├── moduleImportVersionCheck.err
│           │           │   ├── moduleWithHighMinPklVersion.err
│           │           │   ├── moduleWithHighMinPklVersionAndParseErrors.err
│           │           │   ├── multipleDefaults.err
│           │           │   ├── nested1.err
│           │           │   ├── noDefault.err
│           │           │   ├── noDefault2.err
│           │           │   ├── notAUnionDefault.err
│           │           │   ├── objectCannotHaveElement.err
│           │           │   ├── objectCannotHaveElement2.err
│           │           │   ├── objectCannotHavePredicateMember.err
│           │           │   ├── outOfRange1.err
│           │           │   ├── outOfRange2.err
│           │           │   ├── outOfRange3.err
│           │           │   ├── parser1.err
│           │           │   ├── parser10.err
│           │           │   ├── parser11.err
│           │           │   ├── parser12.err
│           │           │   ├── parser14.err
│           │           │   ├── parser15.err
│           │           │   ├── parser16.err
│           │           │   ├── parser17.err
│           │           │   ├── parser18.err
│           │           │   ├── parser2.err
│           │           │   ├── parser3.err
│           │           │   ├── parser4.err
│           │           │   ├── parser5.err
│           │           │   ├── parser6.err
│           │           │   ├── parser7.err
│           │           │   ├── parser8.err
│           │           │   ├── parser9.err
│           │           │   ├── power/
│           │           │   │   ├── typeConstraints1.err
│           │           │   │   ├── typeConstraints10.err
│           │           │   │   ├── typeConstraints11.err
│           │           │   │   ├── typeConstraints12.err
│           │           │   │   ├── typeConstraints13.err
│           │           │   │   ├── typeConstraints14.err
│           │           │   │   ├── typeConstraints15.err
│           │           │   │   ├── typeConstraints16.err
│           │           │   │   ├── typeConstraints17.err
│           │           │   │   ├── typeConstraints2.err
│           │           │   │   ├── typeConstraints3.err
│           │           │   │   ├── typeConstraints4.err
│           │           │   │   ├── typeConstraints5.err
│           │           │   │   ├── typeConstraints6.err
│           │           │   │   ├── typeConstraints7.err
│           │           │   │   ├── typeConstraints8.err
│           │           │   │   ├── typeConstraints9.err
│           │           │   │   └── typeConstraints9a.err
│           │           │   ├── propertyNotFound1.err
│           │           │   ├── propertyNotFound2.err
│           │           │   ├── refusingToLoadModule.err
│           │           │   ├── shebang.err
│           │           │   ├── singleBacktick.err
│           │           │   ├── spreadSyntaxCannotHaveElement.err
│           │           │   ├── spreadSyntaxCannotHaveEntry.err
│           │           │   ├── spreadSyntaxCannotHaveProperty.err
│           │           │   ├── spreadSyntaxCannotIterateOverTyped.err
│           │           │   ├── spreadSyntaxCannotSpreadListIntoMapping.err
│           │           │   ├── spreadSyntaxDuplicateEntry1.err
│           │           │   ├── spreadSyntaxDuplicateEntry2.err
│           │           │   ├── spreadSyntaxDuplicateProperty1.err
│           │           │   ├── spreadSyntaxDuplicateProperty2.err
│           │           │   ├── spreadSyntaxNullValue.err
│           │           │   ├── spreadSyntaxUnknownTypedProperty.err
│           │           │   ├── stackTraceWithQuotedMemberName.err
│           │           │   ├── supercalls.err
│           │           │   ├── typeMismatchWithSameQualifiedClassName.err
│           │           │   ├── typeMismatchWithSameQualifiedModuleName.err
│           │           │   ├── undefinedOp1.err
│           │           │   ├── undefinedOp2.err
│           │           │   ├── undefinedOp3.err
│           │           │   ├── undefinedProperty1.err
│           │           │   ├── undefinedProperty2.err
│           │           │   ├── undefinedProperty3.err
│           │           │   ├── undefinedProperty4.err
│           │           │   ├── undefinedProperty5.err
│           │           │   ├── undefinedProperty6.err
│           │           │   ├── undefinedProperty7.err
│           │           │   ├── undefinedProperty8.err
│           │           │   ├── underscore.err
│           │           │   ├── underscoreLambda.err
│           │           │   ├── underscoreLet.err
│           │           │   ├── unterminatedUnicodeEscape.err
│           │           │   ├── userDefinedTypeParameter1.err
│           │           │   ├── userDefinedTypeParameter2.err
│           │           │   ├── wrongForGeneratorType1.err
│           │           │   ├── wrongForGeneratorType2.err
│           │           │   └── wrongNumberOfMapArguments.err
│           │           ├── generators/
│           │           │   ├── duplicateDefinition1.err
│           │           │   ├── duplicateDefinition2.err
│           │           │   ├── duplicateDefinition3.err
│           │           │   ├── elementGenerators.pcf
│           │           │   ├── elementGeneratorsTyped.pcf
│           │           │   ├── entryGenerators.pcf
│           │           │   ├── entryGeneratorsTyped.pcf
│           │           │   ├── forGeneratorInFunctionBody.pcf
│           │           │   ├── forGeneratorInMixins.pcf
│           │           │   ├── forGeneratorLexicalScope.pcf
│           │           │   ├── forGeneratorNestedReference.pcf
│           │           │   ├── forGeneratorNestedReference2.pcf
│           │           │   ├── forGeneratorVariableShadowing.pcf
│           │           │   ├── generatorNoMembers.err
│           │           │   ├── predicateMembersDynamicListing.pcf
│           │           │   ├── predicateMembersDynamicMapping.pcf
│           │           │   ├── predicateMembersListing.pcf
│           │           │   ├── predicateMembersMapping.pcf
│           │           │   ├── predicateMembersThis.pcf
│           │           │   ├── propertyGenerators.pcf
│           │           │   ├── spreadSyntaxDynamic.pcf
│           │           │   ├── spreadSyntaxListing.pcf
│           │           │   ├── spreadSyntaxMapping.pcf
│           │           │   ├── spreadSyntaxNoSpace.err
│           │           │   ├── spreadSyntaxNullable.pcf
│           │           │   └── spreadSyntaxTyped.pcf
│           │           ├── implementation/
│           │           │   ├── equality.pcf
│           │           │   └── inequality.pcf
│           │           ├── internal/
│           │           │   └── polymorphicCallSite.pcf
│           │           ├── lambdas/
│           │           │   ├── amendLambdaDef.pcf
│           │           │   ├── amendLambdaExpr.pcf
│           │           │   ├── amendLambdaExternalClassError.err
│           │           │   ├── amendLambdaParameters.pcf
│           │           │   ├── amendLambdaParametersTyped.pcf
│           │           │   ├── amendLambdaThatReturnsAnotherLambda.pcf
│           │           │   ├── amendLambdaTooFewArgsError.err
│           │           │   ├── amendLambdaTooManyArgsError.err
│           │           │   ├── equality.pcf
│           │           │   ├── inequality.pcf
│           │           │   ├── lambda1.pcf
│           │           │   ├── lambda2.pcf
│           │           │   ├── lambda3.pcf
│           │           │   ├── lambda4.pcf
│           │           │   ├── lambda5.pcf
│           │           │   ├── lambdaStackTrace1.err
│           │           │   ├── lambdaStackTrace2.err
│           │           │   ├── lambdaStackTrace3.err
│           │           │   ├── pipeOperator.pcf
│           │           │   ├── tooManyLambdaParams.err
│           │           │   ├── typedLambdas.pcf
│           │           │   └── wrongArgumentListLength.err
│           │           ├── listings/
│           │           │   ├── cacheStealing.pcf
│           │           │   ├── cacheStealingTypeCheck.pcf
│           │           │   ├── default.pcf
│           │           │   ├── equality.pcf
│           │           │   ├── hashCode.pcf
│           │           │   ├── inequality.pcf
│           │           │   ├── listing1.pcf
│           │           │   ├── listing2.pcf
│           │           │   ├── listing3.pcf
│           │           │   ├── listing4.pcf
│           │           │   ├── listing5.pcf
│           │           │   ├── listing6.pcf
│           │           │   ├── listing7.err
│           │           │   ├── numberLiterals.pcf
│           │           │   ├── typeCheck.pcf
│           │           │   ├── wrongIndex.pcf
│           │           │   └── wrongParent.pcf
│           │           ├── listings2/
│           │           │   ├── default.pcf
│           │           │   ├── equality.pcf
│           │           │   ├── inequality.pcf
│           │           │   ├── listing1.pcf
│           │           │   ├── listing2.pcf
│           │           │   ├── listing3.pcf
│           │           │   ├── numberLiterals.pcf
│           │           │   ├── typeCheck.pcf
│           │           │   ├── wrongIndex.pcf
│           │           │   └── wrongParent.pcf
│           │           ├── mappings/
│           │           │   ├── default.pcf
│           │           │   ├── duplicateComputedKey.pcf
│           │           │   ├── duplicateConstantKey.err
│           │           │   ├── equality.pcf
│           │           │   ├── hashCode.pcf
│           │           │   ├── inequality.pcf
│           │           │   ├── mapping1.pcf
│           │           │   ├── mapping2.pcf
│           │           │   ├── stringKeyNotFound.err
│           │           │   ├── typeCheck.pcf
│           │           │   └── wrongParent.pcf
│           │           ├── mappings2/
│           │           │   ├── default.pcf
│           │           │   ├── duplicateComputedKey.pcf
│           │           │   ├── duplicateConstantKey.err
│           │           │   ├── equality.pcf
│           │           │   ├── inequality.pcf
│           │           │   ├── mapping1.pcf
│           │           │   ├── mapping2.pcf
│           │           │   ├── stringKeyNotFound.err
│           │           │   ├── typeCheck.pcf
│           │           │   └── wrongParent.pcf
│           │           ├── methods/
│           │           │   ├── methodParameterConstraints1.pcf
│           │           │   ├── methodParameterConstraints2.pcf
│           │           │   ├── methodParameterTypes1.pcf
│           │           │   ├── methodParameterTypes2.pcf
│           │           │   └── methodParameterTypes3.pcf
│           │           ├── modules/
│           │           │   ├── amendModule1.pcf
│           │           │   ├── amendModule2.pcf
│           │           │   ├── amendModule3.pcf
│           │           │   ├── amendModule4.pcf
│           │           │   ├── amendModule5.pcf
│           │           │   ├── amendModule6.pcf
│           │           │   ├── duplicateFunction.err
│           │           │   ├── duplicateProperty1.err
│           │           │   ├── duplicateProperty2.err
│           │           │   ├── duplicateProperty3.err
│           │           │   ├── equality.pcf
│           │           │   ├── extendModule1.pcf
│           │           │   ├── externalFunction.err
│           │           │   ├── externalProperty.err
│           │           │   ├── filename with spaces 2.pcf
│           │           │   ├── filename with spaces.pcf
│           │           │   ├── functions.pcf
│           │           │   ├── invalidAmend1.err
│           │           │   ├── invalidAmend2.err
│           │           │   ├── invalidAmend3.err
│           │           │   ├── invalidAmend4.err
│           │           │   ├── invalidAmend5.err
│           │           │   ├── invalidAmend6.err
│           │           │   ├── invalidExtend1.err
│           │           │   ├── invalidExtend2.err
│           │           │   ├── invalidExtend3.err
│           │           │   ├── invalidModule1.err
│           │           │   ├── library.pcf
│           │           │   ├── lists.pcf
│           │           │   ├── objects.pcf
│           │           │   ├── recursiveModule1.pcf
│           │           │   ├── supercalls1.pcf
│           │           │   ├── supercalls2.pcf
│           │           │   ├── supercalls3.pcf
│           │           │   ├── typedModuleMethods1.pcf
│           │           │   ├── typedModuleProperties1.pcf
│           │           │   ├── typedModuleProperties2.err
│           │           │   ├── typedModuleProperties3.err
│           │           │   ├── 日本語.pcf
│           │           │   └── 日本語_error.err
│           │           ├── objects/
│           │           │   ├── closure.pcf
│           │           │   ├── configureObjectAssign.pcf
│           │           │   ├── duplicateProperty.err
│           │           │   ├── equality.pcf
│           │           │   ├── hashCode.pcf
│           │           │   ├── implicitReceiver1.pcf
│           │           │   ├── implicitReceiver2.pcf
│           │           │   ├── implicitReceiver3.pcf
│           │           │   ├── implicitReceiver4.err
│           │           │   ├── inequality.pcf
│           │           │   ├── lateBinding1.pcf
│           │           │   ├── lateBinding2.pcf
│           │           │   ├── lateBinding3.pcf
│           │           │   ├── lateBinding4.pcf
│           │           │   ├── outer.pcf
│           │           │   ├── outer2.err
│           │           │   ├── super1.pcf
│           │           │   ├── super2.pcf
│           │           │   ├── super3.pcf
│           │           │   ├── super4.pcf
│           │           │   ├── super5.pcf
│           │           │   ├── this1.pcf
│           │           │   └── this2.pcf
│           │           ├── packages/
│           │           │   ├── badImport1.err
│           │           │   ├── badImport10.err
│           │           │   ├── badImport11.err
│           │           │   ├── badImport2.err
│           │           │   ├── badImport3.err
│           │           │   ├── badImport4.err
│           │           │   ├── badImport6.err
│           │           │   ├── badImport7.err
│           │           │   ├── badImport8.err
│           │           │   ├── badImport9.err
│           │           │   ├── badRead1.err
│           │           │   ├── badRead2.err
│           │           │   ├── badRead3.err
│           │           │   ├── badRead4.err
│           │           │   ├── badRead8.err
│           │           │   ├── badRead9.err
│           │           │   ├── packages1.pcf
│           │           │   ├── packages2.pcf
│           │           │   └── redirects.pcf
│           │           ├── parser/
│           │           │   ├── amendsRequiresParens.err
│           │           │   ├── constantStringInterpolation.err
│           │           │   ├── constraintsTrailingComma.pcf
│           │           │   ├── invalidCharacter.err
│           │           │   ├── lineCommentBetween.pcf
│           │           │   ├── methodTrailingCommas.pcf
│           │           │   ├── newline.pcf
│           │           │   ├── spacesBetweenDocComments.err
│           │           │   ├── spread.pcf
│           │           │   ├── trailingCommas.pcf
│           │           │   ├── typeAnnotationInAmends.err
│           │           │   └── wrongDocComment.err
│           │           ├── pklbinary/
│           │           │   ├── basic.msgpack.yaml
│           │           │   ├── classes.msgpack.yaml
│           │           │   ├── datasize.msgpack.yaml
│           │           │   ├── duration.msgpack.yaml
│           │           │   ├── intseq.msgpack.yaml
│           │           │   ├── list.msgpack.yaml
│           │           │   ├── map.msgpack.yaml
│           │           │   ├── pair.msgpack.yaml
│           │           │   ├── regex.msgpack.yaml
│           │           │   └── set.msgpack.yaml
│           │           ├── projects/
│           │           │   ├── badLocalProject/
│           │           │   │   └── dog.pcf
│           │           │   ├── badPklProject1/
│           │           │   │   └── bug.err
│           │           │   ├── badPklProject2/
│           │           │   │   └── bug.err
│           │           │   ├── badPklProject3/
│           │           │   │   └── bug.err
│           │           │   ├── badProjectDeps1/
│           │           │   │   └── bug.err
│           │           │   ├── badProjectDeps2/
│           │           │   │   └── bug.err
│           │           │   ├── badProjectDeps3/
│           │           │   │   └── bug.err
│           │           │   ├── badProjectDeps4/
│           │           │   │   └── bug.err
│           │           │   ├── badProjectDeps5/
│           │           │   │   └── bug.err
│           │           │   ├── badProjectDeps6/
│           │           │   │   └── bug.err
│           │           │   ├── compactTraceMode/
│           │           │   │   └── compactTraceMode.err
│           │           │   ├── evaluatorSettings/
│           │           │   │   ├── basic.pcf
│           │           │   │   └── nullTraceMode.err
│           │           │   ├── missingProjectDeps/
│           │           │   │   └── bug.err
│           │           │   ├── notAProject/
│           │           │   │   ├── @child/
│           │           │   │   │   └── theChild.pcf
│           │           │   │   ├── badImport.err
│           │           │   │   └── goodImport.pcf
│           │           │   ├── prettyTraceMode/
│           │           │   │   └── prettyTraceMode.err
│           │           │   ├── project1/
│           │           │   │   ├── badImport1.err
│           │           │   │   ├── badImport2.err
│           │           │   │   ├── badImport3.err
│           │           │   │   ├── badRead1.err
│           │           │   │   ├── basic.pcf
│           │           │   │   ├── directPackageImport.err
│           │           │   │   ├── globbing.pcf
│           │           │   │   ├── localProject.pcf
│           │           │   │   └── localProjectRead.pcf
│           │           │   ├── project2/
│           │           │   │   └── penguin.pcf
│           │           │   ├── project3/
│           │           │   │   └── basic.pcf
│           │           │   ├── project4/
│           │           │   │   └── main.pcf
│           │           │   ├── project5/
│           │           │   │   └── main.pcf
│           │           │   └── project6/
│           │           │       ├── children/
│           │           │       │   ├── a.pcf
│           │           │       │   ├── b.pcf
│           │           │       │   └── c.pcf
│           │           │       └── children.pcf
│           │           ├── syntax/
│           │           │   └── shebang.pcf
│           │           └── types/
│           │               ├── ThisInTypeConstraint.pcf
│           │               ├── currentModuleType1.pcf
│           │               ├── currentModuleType2.pcf
│           │               ├── currentModuleType3.pcf
│           │               ├── cyclicTypeAlias1.err
│           │               ├── cyclicTypeAlias2.err
│           │               ├── helpers/
│           │               │   └── someModule.pcf
│           │               ├── modifiersForTypes.pcf
│           │               ├── moduleType.pcf
│           │               ├── moduleType2.pcf
│           │               ├── moduleType3.pcf
│           │               ├── moduleType4.pcf
│           │               ├── moduleType5.pcf
│           │               ├── nothingType.err
│           │               ├── nothingWithUnions.pcf
│           │               ├── typeAlias1.pcf
│           │               ├── typeAlias2.pcf
│           │               ├── typeAliasConstraint1.pcf
│           │               ├── typeAliasConstraint2.pcf
│           │               ├── typeAliasContext.err
│           │               └── typeAliasUnion.pcf
│           ├── kotlin/
│           │   └── org/
│           │       └── pkl/
│           │           └── core/
│           │               ├── AnalyzerTest.kt
│           │               ├── ClassInheritanceTest.kt
│           │               ├── DataSizeTest.kt
│           │               ├── DataSizeUnitTest.kt
│           │               ├── DurationTest.kt
│           │               ├── DurationUnitTest.kt
│           │               ├── DynamicTest.kt
│           │               ├── EvaluateExpressionTest.kt
│           │               ├── EvaluateMultipleFileOutputTest.kt
│           │               ├── EvaluateOutputTextTest.kt
│           │               ├── EvaluateSchemaTest.kt
│           │               ├── EvaluateTestsTest.kt
│           │               ├── EvaluatorBuilderTest.kt
│           │               ├── EvaluatorTest.kt
│           │               ├── JsonRendererTest.kt
│           │               ├── LanguageSnippetTests.kt
│           │               ├── LanguageSnippetTestsEngine.kt
│           │               ├── PClassInfoTest.kt
│           │               ├── PListRendererTest.kt
│           │               ├── PModuleTest.kt
│           │               ├── PNullTest.kt
│           │               ├── PObjectTest.kt
│           │               ├── PairTest.kt
│           │               ├── PcfRendererTest.kt
│           │               ├── PklBinaryDecoderTest.kt
│           │               ├── PklInfoTest.kt
│           │               ├── PlatformTest.kt
│           │               ├── PropertiesRendererTest.kt
│           │               ├── ReleaseTest.kt
│           │               ├── ReplServerTest.kt
│           │               ├── RepositoryHygiene.kt
│           │               ├── SecurityManagersTest.kt
│           │               ├── StackFrameTransformersTest.kt
│           │               ├── VersionTest.kt
│           │               ├── YamlRendererTest.kt
│           │               ├── ast/
│           │               │   └── builder/
│           │               │       └── ImportsAndReadsParserTest.kt
│           │               ├── externalreader/
│           │               │   ├── ExternalModuleReader.kt
│           │               │   ├── ExternalReaderBase.kt
│           │               │   ├── ExternalReaderClient.kt
│           │               │   ├── ExternalResourceReader.kt
│           │               │   ├── MessagePackCodecTest.kt
│           │               │   ├── TestExternalModuleReader.kt
│           │               │   ├── TestExternalReaderProcess.kt
│           │               │   └── TestExternalResourceReader.kt
│           │               ├── http/
│           │               │   ├── DummyHttpClientTest.kt
│           │               │   ├── HttpClientTest.kt
│           │               │   ├── LazyHttpClientTest.kt
│           │               │   ├── NoProxyRuleTest.kt
│           │               │   ├── RequestCapturingClient.kt
│           │               │   └── RequestRewritingClientTest.kt
│           │               ├── messaging/
│           │               │   └── BaseMessagePackCodecTest.kt
│           │               ├── module/
│           │               │   ├── ModuleKeyFactoriesTest.kt
│           │               │   ├── ModuleKeysTest.kt
│           │               │   ├── ModulePathResolverTest.kt
│           │               │   ├── ResolvedModuleKeysTest.kt
│           │               │   ├── ServiceProviderTest.kt
│           │               │   └── TestModuleKeyFactory.kt
│           │               ├── packages/
│           │               │   ├── DependencyMetadataTest.kt
│           │               │   └── PackageResolversTest.kt
│           │               ├── parser/
│           │               │   ├── MultiLineStringLiteralTest.kt
│           │               │   ├── ShebangTest.kt
│           │               │   └── TrailingCommasTest.kt
│           │               ├── project/
│           │               │   ├── ProjectDependenciesResolverTest.kt
│           │               │   ├── ProjectDepsTest.kt
│           │               │   └── ProjectTest.kt
│           │               ├── resource/
│           │               │   ├── ResourceReadersEvaluatorTest.kt
│           │               │   ├── ResourceReadersTest.kt
│           │               │   └── TestResourceReader.kt
│           │               ├── runtime/
│           │               │   ├── CommandSpecParserTest.kt
│           │               │   ├── DefaultModuleResolverTest.kt
│           │               │   ├── FileSystemManagerTest.kt
│           │               │   ├── IteratorsTest.kt
│           │               │   ├── ModuleKeyTest.kt
│           │               │   ├── StackTraceRendererTest.kt
│           │               │   ├── VmClassTest.kt
│           │               │   ├── VmDataSizeTest.kt
│           │               │   ├── VmDurationTest.kt
│           │               │   ├── VmSafeMathTest.kt
│           │               │   ├── VmUtilsTest.kt
│           │               │   └── VmValueRendererTest.kt
│           │               ├── settings/
│           │               │   └── PklSettingsTest.kt
│           │               ├── stdlib/
│           │               │   ├── PathConverterSupportTest.kt
│           │               │   ├── PathSpecParserTest.kt
│           │               │   ├── ReflectModuleTest.kt
│           │               │   └── SimpleReportTest.kt
│           │               ├── truffle/
│           │               │   └── LongVsDoubleSpecializationTest.kt
│           │               └── util/
│           │                   ├── AnsiStringBuilderTest.kt
│           │                   ├── ArrayCharEscaperTest.kt
│           │                   ├── ExceptionsTest.kt
│           │                   ├── GlobResolverTest.kt
│           │                   ├── HttpUtilsTest.kt
│           │                   ├── ImportGraphUtilsTest.kt
│           │                   └── IoUtilsTest.kt
│           └── resources/
│               ├── META-INF/
│               │   └── services/
│               │       ├── org.junit.platform.engine.TestEngine
│               │       ├── org.pkl.core.module.ModuleKeyFactory
│               │       └── org.pkl.core.resource.ResourceReader
│               └── org/
│                   └── pkl/
│                       └── core/
│                           ├── EvaluateSchemaTest.pkl
│                           ├── EvaluateSchemaTestBaseModule.pkl
│                           ├── EvaluatorTest.pkl
│                           ├── PropertyList-1.0.dtd
│                           ├── brokenModule1.pkl
│                           ├── brokenModule2.pkl
│                           ├── module/
│                           │   ├── NamedModuleResolversTest.pkl
│                           │   ├── test.jar
│                           │   └── testFactoryTest.pkl
│                           ├── pklBinaryDecoderTest.msgpack
│                           ├── project/
│                           │   ├── badProjectChecksum/
│                           │   │   └── PklProject
│                           │   ├── badProjectChecksum2/
│                           │   │   ├── PklProject
│                           │   │   ├── PklProject.deps.json
│                           │   │   └── bug.pkl
│                           │   ├── project1/
│                           │   │   └── PklProject
│                           │   ├── project2/
│                           │   │   └── PklProject
│                           │   ├── project3/
│                           │   │   └── PklProject
│                           │   ├── project4/
│                           │   │   ├── PklProject
│                           │   │   ├── main.txt
│                           │   │   ├── module1.pkl
│                           │   │   └── module2.pkl
│                           │   ├── project5/
│                           │   │   ├── PklProject
│                           │   │   ├── PklProject.deps.json
│                           │   │   └── main.pkl
│                           │   ├── project6/
│                           │   │   ├── PklProject
│                           │   │   ├── PklProject.deps.json
│                           │   │   ├── globIntoDependency.pkl
│                           │   │   └── globWithinDependency.pkl
│                           │   ├── project7/
│                           │   │   ├── PklProject
│                           │   │   ├── main.pkl
│                           │   │   ├── moduleA.pkl
│                           │   │   └── moduleB.pkl
│                           │   ├── projectCycle1/
│                           │   │   └── PklProject
│                           │   ├── projectCycle2/
│                           │   │   └── PklProject
│                           │   ├── projectCycle3/
│                           │   │   └── PklProject
│                           │   └── projectCycle4/
│                           │       └── PklProject
│                           ├── propertiesRendererTest.pkl
│                           ├── propertiesRendererTest.properties
│                           ├── rendererTest.json
│                           ├── rendererTest.pcf
│                           ├── rendererTest.pkl
│                           ├── rendererTest.plist
│                           ├── rendererTest.yaml
│                           ├── resource/
│                           │   ├── resource.txt
│                           │   └── resource1.jar
│                           ├── snippets/
│                           │   ├── imported.pkl
│                           │   └── name with [wierd]! chars~~.pkl
│                           └── stdlib/
│                               └── protobufRendererTest.textproto
├── pkl-doc/
│   ├── gradle.lockfile
│   ├── pkl-doc.gradle.kts
│   └── src/
│       ├── main/
│       │   ├── kotlin/
│       │   │   └── org/
│       │   │       └── pkl/
│       │   │           └── doc/
│       │   │               ├── AbstractGenerator.kt
│       │   │               ├── ClassPageGenerator.kt
│       │   │               ├── CliDocGenerator.kt
│       │   │               ├── CliDocGeneratorOptions.kt
│       │   │               ├── Constants.kt
│       │   │               ├── DocGenerator.kt
│       │   │               ├── DocGeneratorException.kt
│       │   │               ├── DocMigrator.kt
│       │   │               ├── DocPackageInfo.kt
│       │   │               ├── DocScope.kt
│       │   │               ├── DocsiteInfo.kt
│       │   │               ├── HtmlGenerator.kt
│       │   │               ├── Main.kt
│       │   │               ├── MainOrPackagePageGenerator.kt
│       │   │               ├── MainPageGenerator.kt
│       │   │               ├── Markdown.kt
│       │   │               ├── ModuleOrClassPageGenerator.kt
│       │   │               ├── ModulePageGenerator.kt
│       │   │               ├── PackageDataGenerator.kt
│       │   │               ├── PackagePageGenerator.kt
│       │   │               ├── PageGenerator.kt
│       │   │               ├── RuntimeData.kt
│       │   │               ├── RuntimeDataGenerator.kt
│       │   │               ├── SearchIndexGenerator.kt
│       │   │               ├── Serializers.kt
│       │   │               └── Util.kt
│       │   └── resources/
│       │       └── org/
│       │           └── pkl/
│       │               └── doc/
│       │                   ├── scripts/
│       │                   │   ├── pkldoc.js
│       │                   │   └── search-worker.js
│       │                   └── styles/
│       │                       └── pkldoc.css
│       └── test/
│           ├── files/
│           │   ├── DocGeneratorTest/
│           │   │   ├── input/
│           │   │   │   ├── com.externalpackage/
│           │   │   │   │   ├── doc-package-info.pkl
│           │   │   │   │   ├── external1.pkl
│           │   │   │   │   └── external2.pkl
│           │   │   │   ├── com.package1/
│           │   │   │   │   ├── Module Containing Spaces.pkl
│           │   │   │   │   ├── baseModule.pkl
│           │   │   │   │   ├── classAnnotations.pkl
│           │   │   │   │   ├── classComments.pkl
│           │   │   │   │   ├── classInheritance.pkl
│           │   │   │   │   ├── classMethodComments.pkl
│           │   │   │   │   ├── classMethodModifiers.pkl
│           │   │   │   │   ├── classMethodTypeAnnotations.pkl
│           │   │   │   │   ├── classMethodTypeReferences.pkl
│           │   │   │   │   ├── classPropertyAnnotations.pkl
│           │   │   │   │   ├── classPropertyComments.pkl
│           │   │   │   │   ├── classPropertyModifiers.pkl
│           │   │   │   │   ├── classPropertyTypeAnnotations.pkl
│           │   │   │   │   ├── classPropertyTypeReferences.pkl
│           │   │   │   │   ├── classTypeConstraints.pkl
│           │   │   │   │   ├── doc-package-info.pkl
│           │   │   │   │   ├── docExample.pkl
│           │   │   │   │   ├── docExample2.pkl
│           │   │   │   │   ├── docExampleSubject1.pkl
│           │   │   │   │   ├── docExampleSubject2.pkl
│           │   │   │   │   ├── docLinks.pkl
│           │   │   │   │   ├── methodAnnotations.pkl
│           │   │   │   │   ├── moduleComments.pkl
│           │   │   │   │   ├── moduleExtend.pkl
│           │   │   │   │   ├── moduleInfoAnnotation.pkl
│           │   │   │   │   ├── moduleMethodCommentInheritance.pkl
│           │   │   │   │   ├── moduleMethodComments.pkl
│           │   │   │   │   ├── moduleMethodModifiers.pkl
│           │   │   │   │   ├── moduleMethodTypeAnnotations.pkl
│           │   │   │   │   ├── moduleMethodTypeReferences.pkl
│           │   │   │   │   ├── modulePropertyAnnotations.pkl
│           │   │   │   │   ├── modulePropertyCommentInheritance.pkl
│           │   │   │   │   ├── modulePropertyComments.pkl
│           │   │   │   │   ├── modulePropertyModifiers.pkl
│           │   │   │   │   ├── modulePropertyTypeAnnotations.pkl
│           │   │   │   │   ├── modulePropertyTypeReferences.pkl
│           │   │   │   │   ├── moduleTypes1.pkl
│           │   │   │   │   ├── moduleTypes2.pkl
│           │   │   │   │   ├── nested/
│           │   │   │   │   │   └── nested2/
│           │   │   │   │   │       └── nestedModule.pkl
│           │   │   │   │   ├── referenceToExternalPackage.pkl
│           │   │   │   │   ├── shared.pkl
│           │   │   │   │   ├── typeAliases.pkl
│           │   │   │   │   ├── typeAliases2.pkl
│           │   │   │   │   ├── typeAliasesInheritance.pkl
│           │   │   │   │   ├── unionTypes.pkl
│           │   │   │   │   ├── unlistedClass.pkl
│           │   │   │   │   ├── unlistedMethod.pkl
│           │   │   │   │   ├── unlistedModule.pkl
│           │   │   │   │   └── unlistedProperty.pkl
│           │   │   │   ├── com.package2/
│           │   │   │   │   ├── Module3.pkl
│           │   │   │   │   └── doc-package-info.pkl
│           │   │   │   └── docsite-info.pkl
│           │   │   └── output/
│           │   │       ├── run-1/
│           │   │       │   ├── .pkldoc/
│           │   │       │   │   └── VERSION
│           │   │       │   ├── com.package1/
│           │   │       │   │   └── 1.2.3/
│           │   │       │   │       ├── Module Containing Spaces/
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── baseModule/
│           │   │       │   │       │   ├── BaseClass.html
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── classAnnotations/
│           │   │       │   │       │   ├── AnnotatedClass.html
│           │   │       │   │       │   ├── AnnotatedClss.html
│           │   │       │   │       │   ├── AnnotatedClssWithExpandableComment.html
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── classComments/
│           │   │       │   │       │   ├── Comments1.html
│           │   │       │   │       │   ├── Comments2.html
│           │   │       │   │       │   ├── Comments3.html
│           │   │       │   │       │   ├── Comments4.html
│           │   │       │   │       │   ├── Comments5.html
│           │   │       │   │       │   ├── Comments6.html
│           │   │       │   │       │   ├── Comments7.html
│           │   │       │   │       │   ├── Comments8.html
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── classInheritance/
│           │   │       │   │       │   ├── MyClass1.html
│           │   │       │   │       │   ├── MyClass2.html
│           │   │       │   │       │   ├── MyClass3.html
│           │   │       │   │       │   ├── MyClass4.html
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── classMethodComments/
│           │   │       │   │       │   ├── Comments.html
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── classMethodModifiers/
│           │   │       │   │       │   ├── Modifiers.html
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── classMethodTypeAnnotations/
│           │   │       │   │       │   ├── TypeAnnotations.html
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── classMethodTypeReferences/
│           │   │       │   │       │   ├── MyClass.html
│           │   │       │   │       │   ├── TypeReferences.html
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── classPropertyAnnotations/
│           │   │       │   │       │   ├── ClassWithAnnotatedProperty.html
│           │   │       │   │       │   ├── UserDefinedAnnotation.html
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── classPropertyComments/
│           │   │       │   │       │   ├── Comments.html
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── classPropertyModifiers/
│           │   │       │   │       │   ├── Modifiers.html
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── classPropertyTypeAnnotations/
│           │   │       │   │       │   ├── TypeAnnotations.html
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── classPropertyTypeReferences/
│           │   │       │   │       │   ├── MyClass.html
│           │   │       │   │       │   ├── TypeReferences.html
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── classTypeConstraints/
│           │   │       │   │       │   ├── Address.html
│           │   │       │   │       │   ├── Person1.html
│           │   │       │   │       │   ├── Person2.html
│           │   │       │   │       │   ├── Project.html
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── docExampleSubject1/
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── docExampleSubject2/
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── docLinks/
│           │   │       │   │       │   ├── Person.html
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── index.html
│           │   │       │   │       ├── methodAnnotations/
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── moduleComments/
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── moduleExtend/
│           │   │       │   │       │   ├── ExtendClass.html
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── moduleInfoAnnotation/
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── moduleMethodCommentInheritance/
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── moduleMethodComments/
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── moduleMethodModifiers/
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── moduleMethodTypeAnnotations/
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── moduleMethodTypeReferences/
│           │   │       │   │       │   ├── MyClass.html
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── modulePropertyAnnotations/
│           │   │       │   │       │   ├── UserDefinedAnnotation.html
│           │   │       │   │       │   ├── UserDefinedAnnotation1.html
│           │   │       │   │       │   ├── UserDefinedAnnotation2.html
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── modulePropertyCommentInheritance/
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── modulePropertyComments/
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── modulePropertyModifiers/
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── modulePropertyTypeAnnotations/
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── modulePropertyTypeReferences/
│           │   │       │   │       │   ├── MyClass.html
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── moduleTypes1/
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── moduleTypes2/
│           │   │       │   │       │   ├── Foo.html
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── nested/
│           │   │       │   │       │   └── nested2/
│           │   │       │   │       │       └── nestedModule/
│           │   │       │   │       │           ├── MyClass.html
│           │   │       │   │       │           └── index.html
│           │   │       │   │       ├── package-data.json
│           │   │       │   │       ├── search-index.js
│           │   │       │   │       ├── shared/
│           │   │       │   │       │   ├── MyClass.html
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── ternalPackage/
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── typeAliasInheritance/
│           │   │       │   │       │   ├── Person2.html
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── typealiases/
│           │   │       │   │       │   ├── Person.html
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── typealiases2/
│           │   │       │   │       │   ├── Foo.html
│           │   │       │   │       │   ├── Person.html
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── unionTypes/
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── unlistedClass/
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── unlistedMethod/
│           │   │       │   │       │   ├── MyClass.html
│           │   │       │   │       │   └── index.html
│           │   │       │   │       └── unlistedProperty/
│           │   │       │   │           ├── MyClass.html
│           │   │       │   │           └── index.html
│           │   │       │   ├── com.package2/
│           │   │       │   │   └── 4.5.6/
│           │   │       │   │       ├── Module3/
│           │   │       │   │       │   ├── Class Two {}.html
│           │   │       │   │       │   ├── Class3.html
│           │   │       │   │       │   └── index.html
│           │   │       │   │       ├── index.html
│           │   │       │   │       ├── package-data.json
│           │   │       │   │       └── search-index.js
│           │   │       │   ├── data/
│           │   │       │   │   ├── com.package1/
│           │   │       │   │   │   ├── 1.2.3/
│           │   │       │   │   │   │   ├── Module Containing Spaces/
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── baseModule/
│           │   │       │   │   │   │   │   ├── BaseClass.json
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── classAnnotations/
│           │   │       │   │   │   │   │   ├── AnnotatedClass.json
│           │   │       │   │   │   │   │   ├── AnnotatedClss.json
│           │   │       │   │   │   │   │   ├── AnnotatedClssWithExpandableComment.json
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── classComments/
│           │   │       │   │   │   │   │   ├── Comments1.json
│           │   │       │   │   │   │   │   ├── Comments2.json
│           │   │       │   │   │   │   │   ├── Comments3.json
│           │   │       │   │   │   │   │   ├── Comments4.json
│           │   │       │   │   │   │   │   ├── Comments5.json
│           │   │       │   │   │   │   │   ├── Comments6.json
│           │   │       │   │   │   │   │   ├── Comments7.json
│           │   │       │   │   │   │   │   ├── Comments8.json
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── classInheritance/
│           │   │       │   │   │   │   │   ├── MyClass1.json
│           │   │       │   │   │   │   │   ├── MyClass2.json
│           │   │       │   │   │   │   │   ├── MyClass3.json
│           │   │       │   │   │   │   │   ├── MyClass4.json
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── classMethodComments/
│           │   │       │   │   │   │   │   ├── Comments.json
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── classMethodModifiers/
│           │   │       │   │   │   │   │   ├── Modifiers.json
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── classMethodTypeAnnotations/
│           │   │       │   │   │   │   │   ├── TypeAnnotations.json
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── classMethodTypeReferences/
│           │   │       │   │   │   │   │   ├── MyClass.json
│           │   │       │   │   │   │   │   ├── TypeReferences.json
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── classPropertyAnnotations/
│           │   │       │   │   │   │   │   ├── ClassWithAnnotatedProperty.json
│           │   │       │   │   │   │   │   ├── UserDefinedAnnotation.json
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── classPropertyComments/
│           │   │       │   │   │   │   │   ├── Comments.json
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── classPropertyModifiers/
│           │   │       │   │   │   │   │   ├── Modifiers.json
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── classPropertyTypeAnnotations/
│           │   │       │   │   │   │   │   ├── TypeAnnotations.json
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── classPropertyTypeReferences/
│           │   │       │   │   │   │   │   ├── MyClass.json
│           │   │       │   │   │   │   │   ├── TypeReferences.json
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── classTypeConstraints/
│           │   │       │   │   │   │   │   ├── Address.json
│           │   │       │   │   │   │   │   ├── Person1.json
│           │   │       │   │   │   │   │   ├── Person2.json
│           │   │       │   │   │   │   │   ├── Project.json
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── docExampleSubject1/
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── docExampleSubject2/
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── docLinks/
│           │   │       │   │   │   │   │   ├── Person.json
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── index.json
│           │   │       │   │   │   │   ├── methodAnnotations/
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── moduleComments/
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── moduleExtend/
│           │   │       │   │   │   │   │   ├── ExtendClass.json
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── moduleInfoAnnotation/
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── moduleMethodCommentInheritance/
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── moduleMethodComments/
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── moduleMethodModifiers/
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── moduleMethodTypeAnnotations/
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── moduleMethodTypeReferences/
│           │   │       │   │   │   │   │   ├── MyClass.json
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── modulePropertyAnnotations/
│           │   │       │   │   │   │   │   ├── UserDefinedAnnotation.json
│           │   │       │   │   │   │   │   ├── UserDefinedAnnotation1.json
│           │   │       │   │   │   │   │   ├── UserDefinedAnnotation2.json
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── modulePropertyCommentInheritance/
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── modulePropertyComments/
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── modulePropertyModifiers/
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── modulePropertyTypeAnnotations/
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── modulePropertyTypeReferences/
│           │   │       │   │   │   │   │   ├── MyClass.json
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── moduleTypes1/
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── moduleTypes2/
│           │   │       │   │   │   │   │   ├── Foo.json
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── nested/
│           │   │       │   │   │   │   │   └── nested2/
│           │   │       │   │   │   │   │       └── nestedModule/
│           │   │       │   │   │   │   │           ├── MyClass.json
│           │   │       │   │   │   │   │           └── index.json
│           │   │       │   │   │   │   ├── shared/
│           │   │       │   │   │   │   │   ├── MyClass.json
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── ternalPackage/
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── typeAliasInheritance/
│           │   │       │   │   │   │   │   ├── Person2.json
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── typealiases/
│           │   │       │   │   │   │   │   ├── Person.json
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── typealiases2/
│           │   │       │   │   │   │   │   ├── Foo.json
│           │   │       │   │   │   │   │   ├── Person.json
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── unionTypes/
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── unlistedClass/
│           │   │       │   │   │   │   │   └── index.json
│           │   │       │   │   │   │   ├── unlistedMethod/
│           │   │      
Download .txt
Showing preview only (752K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (9626 symbols across 671 files)

FILE: bench/src/jmh/java/org/pkl/core/Fibonacci.java
  class Fibonacci (line 23) | @SuppressWarnings("unused")
    method fib_class_java (line 29) | @Benchmark
    method fib_class (line 34) | @Benchmark
    method fib_class_explicitThis (line 42) | @Benchmark
    method fib_class_typed (line 50) | @Benchmark
    method fib_class_constrained1 (line 58) | @Benchmark
    method fib_class_constrained2 (line 66) | @Benchmark
    method fib_module (line 74) | @Benchmark
    method fib_module_explicitThis (line 82) | @Benchmark
    method fib_lambda (line 90) | @Benchmark
  class FibJavaImpl (line 100) | class FibJavaImpl {
    method fib (line 101) | long fib(long n) {

FILE: bench/src/jmh/java/org/pkl/core/ListSort.java
  class ListSort (line 35) | @Warmup(iterations = 5, time = 2)
    method sortPkl (line 97) | @Benchmark
    method sortWithPkl (line 110) | @Benchmark
    method sortJava (line 125) | @Benchmark
    method sort (line 130) | private List<Object> sort(List<Object> self) {
    method sortWithJava (line 138) | @Benchmark
    method sortWith (line 143) | private List<Object> sortWith(List<Object> self, Comparator<Object> co...

FILE: bench/src/jmh/java/org/pkl/core/parser/ParserBenchmark.java
  class ParserBenchmark (line 30) | @SuppressWarnings("unused")
    method parseStdlib (line 36) | @Benchmark
    method parseSnippetTests (line 50) | @Benchmark

FILE: docs/modules/java-binding/examples/JavaConfigExample.java
  class JavaConfigExample (line 7) | @SuppressWarnings({"unused", "NewClassNamingConvention"})
    method usage (line 10) | @Test

FILE: docs/modules/pkl-core/examples/CoreEvaluatorExample.java
  class CoreEvaluatorExample (line 10) | @SuppressWarnings({"unchecked", "unused", "ConstantConditions", "NewClas...
    method usage (line 12) | @Test

FILE: pkl-commons-cli/src/svm/java/org/pkl/commons/cli/svm/InitFeature.java
  class InitFeature (line 24) | @SuppressWarnings({"unused", "ResultOfMethodCallIgnored"})
    method duringSetup (line 32) | public void duringSetup(DuringSetupAccess access) {

FILE: pkl-commons-cli/src/svm/java/org/pkl/commons/cli/svm/MessagePackRecomputations.java
  class MessagePackRecomputations (line 28) | @SuppressWarnings("unused")

FILE: pkl-commons-cli/src/svm/java/org/pkl/commons/cli/svm/PolyglotContextImplTarget.java
  class PolyglotContextImplTarget (line 36) | @SuppressWarnings({"unused", "ClassName"})

FILE: pkl-commons-cli/src/svm/java/org/pkl/commons/cli/svm/PolyglotThreadInfoTarget.java
  class PolyglotThreadInfoTarget (line 22) | @TargetClass(

FILE: pkl-commons-cli/src/svm/java/org/pkl/commons/cli/svm/ThreadLocalHandshakeTarget.java
  class ThreadLocalHandshakeTarget (line 25) | @SuppressWarnings("unused")

FILE: pkl-commons-cli/src/svm/java/org/pkl/commons/cli/svm/WeakAssumedValueTarget.java
  class WeakAssumedValueTarget (line 22) | @TargetClass(

FILE: pkl-config-java/src/main/java/org/pkl/config/java/AbstractConfig.java
  class AbstractConfig (line 23) | abstract class AbstractConfig implements Config {
    method AbstractConfig (line 27) | public AbstractConfig(String qualifiedName, ValueMapper mapper) {
    method getQualifiedName (line 32) | @Override
    method get (line 37) | @Override
    method as (line 50) | @Override
    method as (line 55) | @Override
    method as (line 60) | @Override
    method getRawChildValue (line 65) | protected abstract Object getRawChildValue(String property);

FILE: pkl-config-java/src/main/java/org/pkl/config/java/CompositeConfig.java
  class CompositeConfig (line 21) | class CompositeConfig extends AbstractConfig {
    method CompositeConfig (line 24) | CompositeConfig(String qualifiedName, ValueMapper mapper, Composite co...
    method getRawValue (line 29) | @Override
    method getRawChildValue (line 34) | @Override

FILE: pkl-config-java/src/main/java/org/pkl/config/java/Config.java
  type Config (line 32) | public interface Config {
    method getQualifiedName (line 38) | String getQualifiedName();
    method getRawValue (line 44) | Object getRawValue();
    method get (line 51) | Config get(String childName);
    method as (line 58) | <T> T as(Class<T> type);
    method as (line 67) | <T> T as(Type type);
    method as (line 74) | <T> T as(JavaType<T> type);
    method fromPklBinary (line 81) | static Config fromPklBinary(byte[] bytes, ValueMapper mapper) {
    method fromPklBinary (line 90) | static Config fromPklBinary(byte[] bytes) {
    method fromPklBinary (line 100) | static Config fromPklBinary(InputStream inputStream, ValueMapper mappe...
    method fromPklBinary (line 109) | static Config fromPklBinary(InputStream inputStream) {
    method makeConfig (line 113) | static Config makeConfig(Object decoded, ValueMapper mapper) {

FILE: pkl-config-java/src/main/java/org/pkl/config/java/ConfigEvaluator.java
  type ConfigEvaluator (line 27) | public interface ConfigEvaluator extends AutoCloseable {
    method preconfigured (line 29) | static ConfigEvaluator preconfigured() {
    method getValueMapper (line 34) | ValueMapper getValueMapper();
    method setValueMapper (line 39) | ConfigEvaluator setValueMapper(ValueMapper mapper);
    method evaluate (line 42) | Config evaluate(ModuleSource moduleSource);
    method evaluateOutputValue (line 45) | Config evaluateOutputValue(ModuleSource moduleSource);
    method evaluateExpression (line 48) | Config evaluateExpression(ModuleSource moduleSource, String expression);
    method close (line 58) | @Override

FILE: pkl-config-java/src/main/java/org/pkl/config/java/ConfigEvaluatorBuilder.java
  class ConfigEvaluatorBuilder (line 34) | @SuppressWarnings({"UnusedReturnValue", "unused"})
    method ConfigEvaluatorBuilder (line 39) | private ConfigEvaluatorBuilder(
    method preconfigured (line 46) | public static ConfigEvaluatorBuilder preconfigured() {
    method unconfigured (line 52) | public static ConfigEvaluatorBuilder unconfigured() {
    method setEvaluatorBuilder (line 61) | public ConfigEvaluatorBuilder setEvaluatorBuilder(EvaluatorBuilder eva...
    method getEvaluatorBuilder (line 67) | public EvaluatorBuilder getEvaluatorBuilder() {
    method setValueMapperBuilder (line 75) | public ConfigEvaluatorBuilder setValueMapperBuilder(ValueMapperBuilder...
    method getValueMapperBuilder (line 81) | public ValueMapperBuilder getValueMapperBuilder() {
    method addEnvironmentVariable (line 93) | public ConfigEvaluatorBuilder addEnvironmentVariable(String name, Stri...
    method addEnvironmentVariables (line 106) | public ConfigEvaluatorBuilder addEnvironmentVariables(Map<String, Stri...
    method setEnvironmentVariables (line 116) | public ConfigEvaluatorBuilder setEnvironmentVariables(Map<String, Stri...
    method getEnvironmentVariables (line 126) | public Map<String, String> getEnvironmentVariables() {
    method addExternalProperty (line 137) | public ConfigEvaluatorBuilder addExternalProperty(String name, String ...
    method addExternalProperties (line 150) | public ConfigEvaluatorBuilder addExternalProperties(Map<String, String...
    method setExternalProperties (line 160) | public ConfigEvaluatorBuilder setExternalProperties(Map<String, String...
    method getExternalProperties (line 170) | public Map<String, String> getExternalProperties() {
    method setSecurityManager (line 179) | public ConfigEvaluatorBuilder setSecurityManager(SecurityManager manag...
    method getSecurityManager (line 189) | public @Nullable SecurityManager getSecurityManager() {
    method setStackFrameTransformer (line 198) | public ConfigEvaluatorBuilder setStackFrameTransformer(
    method getStackFrameTransformer (line 209) | public @Nullable StackFrameTransformer getStackFrameTransformer() {
    method setProjectDependencies (line 218) | public ConfigEvaluatorBuilder setProjectDependencies(DeclaredDependenc...
    method applyFromProject (line 230) | public ConfigEvaluatorBuilder applyFromProject(Project project) {
    method setTimeout (line 241) | public ConfigEvaluatorBuilder setTimeout(Duration timeout) {
    method getTimeout (line 251) | public @Nullable Duration getTimeout() {
    method setAllowedModules (line 262) | public ConfigEvaluatorBuilder setAllowedModules(Collection<Pattern> pa...
    method getAllowedModules (line 272) | public List<Pattern> getAllowedModules() {
    method setAllowedResources (line 283) | public ConfigEvaluatorBuilder setAllowedResources(Collection<Pattern> ...
    method getAllowedResources (line 293) | public List<Pattern> getAllowedResources() {
    method setRootDir (line 303) | public ConfigEvaluatorBuilder setRootDir(@Nullable Path rootDir) {
    method getRootDir (line 313) | public @Nullable Path getRootDir() {
    method setHttpClient (line 324) | public ConfigEvaluatorBuilder setHttpClient(HttpClient httpClient) {
    method getHttpClient (line 334) | public HttpClient getHttpClient() {
    method build (line 342) | public ConfigEvaluator build() {

FILE: pkl-config-java/src/main/java/org/pkl/config/java/ConfigEvaluatorImpl.java
  class ConfigEvaluatorImpl (line 22) | final class ConfigEvaluatorImpl implements ConfigEvaluator {
    method ConfigEvaluatorImpl (line 26) | ConfigEvaluatorImpl(Evaluator evaluator, ValueMapper mapper) {
    method evaluate (line 31) | @Override
    method evaluateOutputValue (line 37) | @Override
    method evaluateExpression (line 43) | @Override
    method getValueMapper (line 49) | @Override
    method setValueMapper (line 54) | @Override
    method close (line 59) | @Override

FILE: pkl-config-java/src/main/java/org/pkl/config/java/InvalidMappingException.java
  class InvalidMappingException (line 26) | public class InvalidMappingException extends RuntimeException {
    method InvalidMappingException (line 31) | public InvalidMappingException(String pklName, String javaName, Except...
    method getMessage (line 37) | @Override
    method getPklName (line 46) | public String getPklName() {
    method getJavaName (line 50) | public String getJavaName() {

FILE: pkl-config-java/src/main/java/org/pkl/config/java/JavaType.java
  class JavaType (line 46) | @SuppressWarnings("unused")
    method JavaType (line 50) | protected JavaType() {
    method JavaType (line 58) | private JavaType(Type type) {
    method of (line 63) | public static <T> JavaType<T> of(Class<T> type) {
    method of (line 72) | public static <T> JavaType<T> of(Type type) {
    method optionalOf (line 77) | public static <E> JavaType<Optional<E>> optionalOf(Class<E> elementTyp...
    method optionalOf (line 82) | public static <E> JavaType<Optional<E>> optionalOf(JavaType<E> element...
    method pairOf (line 87) | public static <F, S> JavaType<Pair<F, S>> pairOf(Class<F> firstType, C...
    method pairOf (line 92) | public static <F, S> JavaType<Pair<F, S>> pairOf(JavaType<F> firstType...
    method arrayOf (line 97) | public static <E> JavaType<E[]> arrayOf(Class<E> elementType) {
    method arrayOf (line 102) | public static <E> JavaType<E[]> arrayOf(JavaType<E> elementType) {
    method iterableOf (line 107) | public static <E> JavaType<Iterable<E>> iterableOf(Class<E> elementTyp...
    method iterableOf (line 112) | public static <E> JavaType<Iterable<E>> iterableOf(JavaType<E> element...
    method collectionOf (line 117) | public static <E> JavaType<Collection<E>> collectionOf(Class<E> elemen...
    method collectionOf (line 122) | public static <E> JavaType<Collection<E>> collectionOf(JavaType<E> ele...
    method listOf (line 127) | public static <E> JavaType<List<E>> listOf(Class<E> elementType) {
    method listOf (line 132) | public static <E> JavaType<List<E>> listOf(JavaType<E> elementType) {
    method setOf (line 137) | public static <E> JavaType<Set<E>> setOf(Class<E> elementType) {
    method setOf (line 142) | public static <E> JavaType<Set<E>> setOf(JavaType<E> elementType) {
    method mapOf (line 147) | public static <K, V> JavaType<Map<K, V>> mapOf(Class<K> keyType, Class...
    method mapOf (line 152) | public static <K, V> JavaType<Map<K, V>> mapOf(JavaType<K> keyType, Ja...
    method getType (line 157) | public Type getType() {
    method equals (line 161) | @Override
    method hashCode (line 168) | @Override
    method toString (line 173) | @Override

FILE: pkl-config-java/src/main/java/org/pkl/config/java/LeafConfig.java
  class LeafConfig (line 21) | class LeafConfig extends AbstractConfig {
    method LeafConfig (line 24) | LeafConfig(String qualifiedName, ValueMapper mapper, Object value) {
    method getRawValue (line 29) | @Override
    method getRawChildValue (line 34) | @Override

FILE: pkl-config-java/src/main/java/org/pkl/config/java/MapConfig.java
  class MapConfig (line 22) | class MapConfig extends AbstractConfig {
    method MapConfig (line 25) | MapConfig(String qualifiedName, ValueMapper mapper, Map<?, ?> map) {
    method getRawValue (line 30) | @Override
    method getRawChildValue (line 35) | @Override

FILE: pkl-config-java/src/main/java/org/pkl/config/java/NoSuchChildException.java
  class NoSuchChildException (line 22) | public class NoSuchChildException extends RuntimeException {
    method NoSuchChildException (line 25) | public NoSuchChildException(String message, String childName) {
    method getChildName (line 30) | public String getChildName() {

FILE: pkl-config-java/src/main/java/org/pkl/config/java/mapper/ClassRegistry.java
  class ClassRegistry (line 44) | public class ClassRegistry {
    method ClassRegistry (line 56) | private ClassRegistry() {}
    method get (line 58) | static @Nullable Class<?> get(PClassInfo<?> pklClassInfo) {
    method initClassMappings (line 73) | private static void initClassMappings(String pklModuleName) {

FILE: pkl-config-java/src/main/java/org/pkl/config/java/mapper/Conversion.java
  class Conversion (line 28) | public final class Conversion<S, T> {
    method Conversion (line 33) | private Conversion(
    method of (line 44) | public static <S, T> Conversion<S, T> of(
    method of (line 53) | public static <S, T> Conversion<S, T> of(

FILE: pkl-config-java/src/main/java/org/pkl/config/java/mapper/ConversionException.java
  class ConversionException (line 19) | public class ConversionException extends RuntimeException {
    method ConversionException (line 20) | public ConversionException(String message) {
    method ConversionException (line 24) | public ConversionException(String message, Throwable cause) {

FILE: pkl-config-java/src/main/java/org/pkl/config/java/mapper/Conversions.java
  class Conversions (line 32) | public final class Conversions {
    method Conversions (line 33) | private Conversions() {}
    method collectAll (line 331) | private static Collection<Conversion<?, ?>> collectAll() {

FILE: pkl-config-java/src/main/java/org/pkl/config/java/mapper/Converter.java
  type Converter (line 24) | @FunctionalInterface
    method convert (line 30) | T convert(S value, ValueMapper valueMapper);
    method identity (line 33) | static <S> Converter<S, S> identity() {

FILE: pkl-config-java/src/main/java/org/pkl/config/java/mapper/ConverterFactories.java
  class ConverterFactories (line 23) | public final class ConverterFactories {
    method ConverterFactories (line 24) | private ConverterFactories() {}

FILE: pkl-config-java/src/main/java/org/pkl/config/java/mapper/ConverterFactory.java
  type ConverterFactory (line 32) | @FunctionalInterface
    method create (line 39) | Optional<Converter<?, ?>> create(PClassInfo<?> sourceType, Type target...
    method when (line 45) | default ConverterFactory when(Predicate<Type> predicate) {

FILE: pkl-config-java/src/main/java/org/pkl/config/java/mapper/PAnyToOptional.java
  class PAnyToOptional (line 24) | final class PAnyToOptional implements ConverterFactory {
    method create (line 25) | @Override
    class ConverterImpl (line 38) | private static class ConverterImpl implements Converter<Object, Option...
      method ConverterImpl (line 41) | public ConverterImpl(Type elementType) {
      method convert (line 45) | @Override

FILE: pkl-config-java/src/main/java/org/pkl/config/java/mapper/PCollectionToArray.java
  class PCollectionToArray (line 25) | final class PCollectionToArray implements ConverterFactory {
    method create (line 26) | @Override
    class BooleanArrayConverterImpl (line 67) | private static final class BooleanArrayConverterImpl
      method convert (line 72) | @Override
    class CharArrayConverterImpl (line 88) | private static final class CharArrayConverterImpl
      method convert (line 93) | @Override
    class ByteArrayConverterImpl (line 109) | private static final class ByteArrayConverterImpl
      method convert (line 114) | @Override
    class ShortArrayConverterImpl (line 130) | private static final class ShortArrayConverterImpl
      method convert (line 135) | @Override
    class IntArrayConverterImpl (line 151) | private static final class IntArrayConverterImpl implements Converter<...
      method convert (line 155) | @Override
    class LongArrayConverterImpl (line 171) | private static final class LongArrayConverterImpl
      method convert (line 176) | @Override
    class FloatArrayConverterImpl (line 192) | private static final class FloatArrayConverterImpl
      method convert (line 197) | @Override
    class DoubleArrayConverterImpl (line 213) | private static final class DoubleArrayConverterImpl
      method convert (line 218) | @Override
    class ObjectArrayConverterImpl (line 234) | private static final class ObjectArrayConverterImpl<T>
      method ObjectArrayConverterImpl (line 242) | private ObjectArrayConverterImpl(Type componentType) {
      method convert (line 250) | @Override

FILE: pkl-config-java/src/main/java/org/pkl/config/java/mapper/PCollectionToCollection.java
  class PCollectionToCollection (line 29) | class PCollectionToCollection implements ConverterFactory {
    method create (line 32) | @Override
    method createInstantiator (line 48) | private <T> Optional<Function<Integer, Collection<T>>> createInstantia...
    class ConverterImpl (line 104) | private static class ConverterImpl<T> implements Converter<Collection<...
      method ConverterImpl (line 111) | private ConverterImpl(
      method convert (line 117) | @Override

FILE: pkl-config-java/src/main/java/org/pkl/config/java/mapper/PMapToMap.java
  class PMapToMap (line 30) | class PMapToMap implements ConverterFactory {
    method create (line 33) | @Override
    method createInstantiator (line 54) | private <K, V> Optional<Function<Integer, Map<K, V>>> createInstantiat...
    class ConverterImpl (line 95) | private static class ConverterImpl<K, V> implements Converter<Map<Obje...
      method ConverterImpl (line 106) | private ConverterImpl(
      method convert (line 113) | @Override

FILE: pkl-config-java/src/main/java/org/pkl/config/java/mapper/PNullToAny.java
  class PNullToAny (line 22) | final class PNullToAny implements ConverterFactory {
    method create (line 23) | @Override

FILE: pkl-config-java/src/main/java/org/pkl/config/java/mapper/PObjectToDataObject.java
  class PObjectToDataObject (line 30) | public class PObjectToDataObject implements ConverterFactory {
    method PObjectToDataObject (line 48) | protected PObjectToDataObject() {}
    method create (line 50) | @Override
    method selectConstructor (line 72) | protected Optional<Constructor<?>> selectConstructor(Class<?> clazz) {
    method getParameterNames (line 77) | protected Optional<List<String>> getParameterNames(Constructor<?> cons...
    method getParameters (line 93) | private Optional<List<Tuple2<String, Type>>> getParameters(
    method getParameterName (line 108) | private static @Nullable String getParameterName(Parameter parameter) {
    method getAnnotation (line 133) | private static @Nullable <T extends Annotation> T getAnnotation(
    method getAnnotation (line 143) | private static @Nullable <T extends Annotation> T getAnnotation(
    class ConverterImpl (line 154) | private static class ConverterImpl<T> implements Converter<Composite, ...
      method ConverterImpl (line 161) | ConverterImpl(
      method convert (line 179) | @Override

FILE: pkl-config-java/src/main/java/org/pkl/config/java/mapper/PObjectToMap.java
  class PObjectToMap (line 23) | public final class PObjectToMap implements ConverterFactory {
    method create (line 26) | @Override

FILE: pkl-config-java/src/main/java/org/pkl/config/java/mapper/PObjectToPObject.java
  class PObjectToPObject (line 23) | final class PObjectToPObject implements ConverterFactory {
    method create (line 24) | @Override

FILE: pkl-config-java/src/main/java/org/pkl/config/java/mapper/PPairToPair.java
  class PPairToPair (line 25) | final class PPairToPair implements ConverterFactory {
    method create (line 26) | @Override
    class ConverterImpl (line 41) | private static class ConverterImpl<F, S> implements Converter<Pair<Obj...
      method ConverterImpl (line 51) | public ConverterImpl(Type firstTargetType, Type secondTargetType) {
      method convert (line 56) | @Override

FILE: pkl-config-java/src/main/java/org/pkl/config/java/mapper/PStringToEnum.java
  class PStringToEnum (line 27) | final class PStringToEnum implements ConverterFactory {
    method create (line 28) | @Override
    class ConverterImpl (line 36) | private static final class ConverterImpl implements Converter<String, ...
      method ConverterImpl (line 40) | private ConverterImpl(Class<?> enumType) {
      method convert (line 63) | @Override

FILE: pkl-config-java/src/main/java/org/pkl/config/java/mapper/Reflection.java
  class Reflection (line 31) | public final class Reflection {
    method Reflection (line 32) | private Reflection() {}
    method tryLoadClass (line 38) | public static @Nullable Class<?> tryLoadClass(String qualifiedName) {
    method isMissingTypeArguments (line 48) | public static boolean isMissingTypeArguments(Type type) {
    method normalize (line 63) | public static Type normalize(Type type) {
    method toRawType (line 77) | public static Class<?> toRawType(Type type) {
    method toWrapperType (line 85) | @SuppressWarnings("unchecked")
    method getArrayElementType (line 101) | public static Type getArrayElementType(Type type) {
    method getExactSupertype (line 115) | public static Type getExactSupertype(Type type, Class<?> rawSupertype) {
    method getExactSubtype (line 129) | public static Type getExactSubtype(Type type, Class<?> rawSubtype) {
    method getExactParameterTypes (line 140) | public static Type[] getExactParameterTypes(Executable m, Type declari...
    method uncapture (line 154) | private static Type uncapture(Type type) {

FILE: pkl-config-java/src/main/java/org/pkl/config/java/mapper/Tuple2.java
  class Tuple2 (line 22) | final class Tuple2<S, T> {
    method Tuple2 (line 26) | private Tuple2(S first, T second) {
    method of (line 31) | static <S, T> Tuple2<S, T> of(S first, T second) {
    method equals (line 35) | @Override
    method hashCode (line 42) | @Override
    method toString (line 47) | @Override

FILE: pkl-config-java/src/main/java/org/pkl/config/java/mapper/TypeMapping.java
  class TypeMapping (line 30) | public final class TypeMapping<S, T extends S> {
    method TypeMapping (line 34) | private TypeMapping(Class<S> requestedType, Class<T> implementationTyp...
    method of (line 54) | public static <S, T extends S> TypeMapping<S, T> of(
    method equals (line 59) | @Override
    method hashCode (line 66) | @Override
    method toString (line 71) | @Override

FILE: pkl-config-java/src/main/java/org/pkl/config/java/mapper/TypeMappings.java
  class TypeMappings (line 21) | public final class TypeMappings {
    method TypeMappings (line 22) | private TypeMappings() {}

FILE: pkl-config-java/src/main/java/org/pkl/config/java/mapper/Types.java
  class Types (line 29) | public final class Types {
    method Types (line 30) | private Types() {}
    method parameterizedType (line 32) | public static ParameterizedType parameterizedType(Class<?> rawType, Ty...
    method optionalOf (line 68) | public static ParameterizedType optionalOf(Type elementType) {
    method arrayOf (line 72) | public static Type arrayOf(Type elementType) {
    method pairOf (line 76) | public static ParameterizedType pairOf(Type firstType, Type secondType) {
    method iterableOf (line 80) | public static ParameterizedType iterableOf(Type elementType) {
    method collectionOf (line 84) | public static ParameterizedType collectionOf(Type elementType) {
    method listOf (line 88) | public static ParameterizedType listOf(Type elementType) {
    method setOf (line 92) | public static ParameterizedType setOf(Type elementType) {
    method mapOf (line 96) | public static ParameterizedType mapOf(Type keyType, Type valueType) {

FILE: pkl-config-java/src/main/java/org/pkl/config/java/mapper/ValueMapper.java
  type ValueMapper (line 26) | public interface ValueMapper {
    method preconfigured (line 28) | static ValueMapper preconfigured() {
    method map (line 44) | <S, T> T map(S model, Type targetType);
    method map (line 50) | default <S, T> T map(S model, Class<T> targetType) {
    method getConverter (line 58) | <S, T> Converter<S, T> getConverter(PClassInfo<S> sourceType, Type tar...
    method getConverter (line 64) | default <S, T> Converter<S, T> getConverter(PClassInfo<S> sourceType, ...
    method toBuilder (line 73) | ValueMapperBuilder toBuilder();

FILE: pkl-config-java/src/main/java/org/pkl/config/java/mapper/ValueMapperBuilder.java
  class ValueMapperBuilder (line 26) | @SuppressWarnings("UnusedReturnValue")
    method ValueMapperBuilder (line 32) | private ValueMapperBuilder() {}
    method unconfigured (line 39) | public static ValueMapperBuilder unconfigured() {
    method preconfigured (line 50) | public static ValueMapperBuilder preconfigured() {
    method addConversion (line 64) | @SuppressWarnings({"unchecked", "rawtypes"})
    method addConversions (line 86) | public ValueMapperBuilder addConversions(Collection<Conversion<?, ?>> ...
    method setConversions (line 92) | public ValueMapperBuilder setConversions(Collection<Conversion<?, ?>> ...
    method getConversions (line 98) | public List<Conversion<?, ?>> getConversions() {
    method addConverterFactory (line 109) | public ValueMapperBuilder addConverterFactory(ConverterFactory factory) {
    method addConverterFactories (line 121) | public ValueMapperBuilder addConverterFactories(Collection<ConverterFa...
    method setConverterFactories (line 127) | public ValueMapperBuilder setConverterFactories(Collection<ConverterFa...
    method getConverterFactories (line 133) | public List<ConverterFactory> getConverterFactories() {
    method addTypeMapping (line 143) | public ValueMapperBuilder addTypeMapping(TypeMapping<?, ?> mapping) {
    method addTypeMappings (line 154) | public ValueMapperBuilder addTypeMappings(Collection<TypeMapping<?, ?>...
    method setTypeMappings (line 160) | public ValueMapperBuilder setTypeMappings(Collection<TypeMapping<?, ?>...
    method getTypeMappings (line 166) | public List<TypeMapping<?, ?>> getTypeMappings() {
    method build (line 176) | public ValueMapper build() {

FILE: pkl-config-java/src/main/java/org/pkl/config/java/mapper/ValueMapperImpl.java
  class ValueMapperImpl (line 25) | class ValueMapperImpl implements ValueMapper {
    method ValueMapperImpl (line 33) | ValueMapperImpl(
    method map (line 53) | @Override
    method getTargetType (line 60) | private <S> Class<?> getTargetType(PClassInfo<S> sourceType, Type targ...
    method getConverter (line 73) | @Override
    method toBuilder (line 120) | @Override

FILE: pkl-config-java/src/test/java/org/pkl/config/java/AbstractConfigTest.java
  class AbstractConfigTest (line 27) | public abstract class AbstractConfigTest {
    method getPigeonConfig (line 34) | protected abstract Config getPigeonConfig();
    method getPigeonModuleConfig (line 36) | protected abstract Config getPigeonModuleConfig();
    method getPairConfig (line 38) | protected abstract Config getPairConfig();
    method getMapConfig (line 40) | protected abstract Config getMapConfig();
    method navigate (line 42) | @Test
    method navigateToNonExistingObjectChild (line 59) | @Test
    method navigateToNonExistingMapChild (line 71) | @Test
    method navigateToNonExistingLeafChild (line 82) | @Test
    method convertObjectToPojoByType (line 93) | @Test
    method convertObjectToPojoByJavaType (line 99) | @Test
    method convertModuleToPojoByType (line 105) | @Test
    method convertModuleToPojoByJavaType (line 111) | @Test
    method checkPigeon (line 117) | private void checkPigeon(Person pigeon) {
    method convertToParameterizedTypeByType (line 124) | @Test
    method convertToParameterizedTypeByJavaType (line 131) | @Test
    method checkPair (line 137) | private void checkPair(Pair<?, ?> pair) {
    class Person (line 143) | public static class Person {
      method Person (line 148) | public Person(
    class Address (line 158) | public static class Address {
      method Address (line 161) | public Address(@Named("street") String street) {
    class Pair (line 166) | public static class Pair<S, T> {
      method Pair (line 170) | public Pair(@Named("first") S first, @Named("second") T second) {

FILE: pkl-config-java/src/test/java/org/pkl/config/java/ConfigEvaluatorBuilderTest.java
  class ConfigEvaluatorBuilderTest (line 25) | public class ConfigEvaluatorBuilderTest {
    method preconfiguredBuilderHasPreconfiguredUnderlyingBuilders (line 26) | @Test
    method unconfiguredBuilderHasUnconfiguredUnderlyingBuilders (line 40) | @Test
    method preconfiguredBuilderContainsProcessEnvironmentVariables (line 54) | @Test
    method unconfiguredBuilderContainsNoEnvironmentVariables (line 60) | @Test
    method addEnvironmentVariables (line 66) | @Test
    method overrideEnvironmentVariables (line 78) | @Test
    method preconfiguredBuilderContainsSystemProperties (line 92) | @Test
    method unconfiguredBuilderContainsNoExternalProperties (line 98) | @Test
    method addExternalProperties (line 104) | @Test
    method overrideExternalProperties (line 116) | @Test
    method setSecurityManager (line 130) | @Test

FILE: pkl-config-java/src/test/java/org/pkl/config/java/ConfigPklBinaryDecoderTest.java
  class ConfigPklBinaryDecoderTest (line 20) | public class ConfigPklBinaryDecoderTest extends AbstractConfigTest {
    method getPigeonConfig (line 23) | @Override
    method getPigeonModuleConfig (line 32) | @Override
    method getPairConfig (line 41) | @Override
    method getMapConfig (line 50) | @Override

FILE: pkl-config-java/src/test/java/org/pkl/config/java/ConfigTest.java
  class ConfigTest (line 23) | public class ConfigTest extends AbstractConfigTest {
    method getPigeonConfig (line 29) | @Override
    method getPigeonModuleConfig (line 34) | @Override
    method getPairConfig (line 40) | @Override
    method getMapConfig (line 45) | @Override
    method evaluateOutputValue (line 50) | @Test
    method evaluateExpression (line 59) | @Test

FILE: pkl-config-java/src/test/java/org/pkl/config/java/JavaTypeTest.java
  class JavaTypeTest (line 28) | public class JavaTypeTest {
    method constructOptionalType (line 29) | @Test
    method constructArrayType (line 37) | @Test
    method constructIterableType (line 45) | @Test
    method constructCollectionType (line 53) | @Test
    method constructListType (line 61) | @Test
    method constructSetType (line 69) | @Test
    method constructMapType (line 77) | @Test
    method usageAsTypeToken (line 85) | @Test
    method sameTypesConstructedInDifferentWaysAreEqual (line 92) | @SuppressWarnings({"EqualsWithItself", "AssertBetweenInconvertibleType...
    method differentTypesAreNotEqual (line 107) | @Test
    method sameStringRepresentationAsJavaLangReflectType (line 123) | @Test

FILE: pkl-config-java/src/test/java/org/pkl/config/java/mapper/BytesToByteArrayTest.java
  class BytesToByteArrayTest (line 25) | public class BytesToByteArrayTest {
    method ex1 (line 33) | @Test
    method ex2 (line 40) | @Test

FILE: pkl-config-java/src/test/java/org/pkl/config/java/mapper/ConversionsTest.java
  class ConversionsTest (line 28) | public class ConversionsTest {
    method pStringToFile (line 29) | @Test
    method pStringToPath (line 43) | @Test
    method pStringToPattern (line 57) | @Test
    method pRegexToString (line 64) | @Test
    method pDurationToDuration (line 71) | @Test

FILE: pkl-config-java/src/test/java/org/pkl/config/java/mapper/PAnyToOptionalTest.java
  class PAnyToOptionalTest (line 27) | public class PAnyToOptionalTest {
    method afterAll (line 35) | @AfterAll
    method ex1 (line 40) | @Test
    method ex2 (line 48) | @Test
    method ex3 (line 56) | @Test

FILE: pkl-config-java/src/test/java/org/pkl/config/java/mapper/PCollectionToArrayTest.java
  class PCollectionToArrayTest (line 26) | public class PCollectionToArrayTest {
    method afterAll (line 34) | @AfterAll
    method ex1 (line 39) | @Test
    method ex2 (line 48) | @Test
    method ex3 (line 57) | @Test
    method ex4 (line 66) | @Test
    method ex5 (line 73) | @Test
    method ex6 (line 79) | @Test

FILE: pkl-config-java/src/test/java/org/pkl/config/java/mapper/PCollectionToCollectionTest.java
  class PCollectionToCollectionTest (line 28) | public class PCollectionToCollectionTest {
    method afterAll (line 36) | @AfterAll
    method ex1 (line 41) | @Test
    method ex2 (line 58) | @Test
    method ex3 (line 75) | @Test
    method ex4 (line 92) | @Test
    method ex5 (line 103) | @Test
    method ex6 (line 110) | @Test

FILE: pkl-config-java/src/test/java/org/pkl/config/java/mapper/PMapToMapTest.java
  class PMapToMapTest (line 27) | public class PMapToMapTest {
    method afterAll (line 35) | @AfterAll
    method ex1 (line 40) | @Test
    method ex2 (line 48) | @Test
    method ex3 (line 58) | @Test
    method ex4 (line 66) | @Test
    method ex5 (line 79) | @Test
    method ex6 (line 89) | @Test
    method ex7 (line 99) | @Test

FILE: pkl-config-java/src/test/java/org/pkl/config/java/mapper/PModuleToDataObjectTest.java
  class PModuleToDataObjectTest (line 29) | public class PModuleToDataObjectTest {
    method afterAll (line 43) | @AfterAll
    method doit (line 48) | @Test

FILE: pkl-config-java/src/test/java/org/pkl/config/java/mapper/PNullToAnyTest.java
  class PNullToAnyTest (line 24) | public class PNullToAnyTest {
    method test (line 27) | @SuppressWarnings("DataFlowIssue")
    class Person (line 41) | public static class Person {}

FILE: pkl-config-java/src/test/java/org/pkl/config/java/mapper/PObjectToDataObjectJavaxInjectTest.java
  class PObjectToDataObjectJavaxInjectTest (line 31) | public class PObjectToDataObjectJavaxInjectTest {
    method afterAll (line 46) | @AfterAll
    method ex1 (line 51) | @Test
    method ex2 (line 58) | @Test
    method ex3 (line 65) | @Test
    class Person (line 74) | static class Person {
      method Person (line 80) | Person(
      method equals (line 91) | @Override
      method hashCode (line 101) | @Override
    class Address (line 107) | static class Address {
      method Address (line 111) | Address(@Named("street") String street, @Named("zip") int zip) {
      method equals (line 116) | @Override
      method hashCode (line 123) | @Override
    type Hobby (line 129) | public enum Hobby {
    class Pair (line 135) | public static class Pair<S, T> {
      method Pair (line 139) | public Pair(@Named("first") S first, @Named("second") T second) {
      method equals (line 144) | @Override
      method hashCode (line 151) | @Override

FILE: pkl-config-java/src/test/java/org/pkl/config/java/mapper/PObjectToDataObjectOverriddenPropertyTest.java
  class PObjectToDataObjectOverriddenPropertyTest (line 25) | class PObjectToDataObjectOverriddenPropertyTest {
    method overriddenProperty (line 26) | @Test

FILE: pkl-config-java/src/test/java/org/pkl/config/java/mapper/PObjectToDataObjectTest.java
  class PObjectToDataObjectTest (line 29) | public class PObjectToDataObjectTest {
    method afterAll (line 51) | @AfterAll
    method ex1 (line 56) | @Test
    method ex1_constructor_properties (line 63) | @Test
    method ex2 (line 69) | @Test
    method ex3 (line 76) | @Test
    method ex4 (line 85) | @Test
    method ex5 (line 93) | @Test
    method errorMessageNamesPropertyWhoseConversionFailed (line 101) | @Test
    class Person (line 119) | static class Person {
      method Person (line 125) | Person(
      method equals (line 136) | @Override
      method hashCode (line 146) | @Override
    class PersonConstructorProperties (line 152) | static class PersonConstructorProperties {
      method PersonConstructorProperties (line 158) | @ConstructorProperties({"name", "age", "hobbies", "address"})
      method equals (line 166) | @Override
      method hashCode (line 176) | @Override
    class Address (line 182) | static class Address {
      method Address (line 186) | Address(@Named("street") String street, @Named("zip") int zip) {
      method equals (line 191) | @Override
      method hashCode (line 198) | @Override
    type Hobby (line 204) | enum Hobby {
    class Pair (line 210) | static class Pair<S, T> {
      method Pair (line 214) | Pair(@Named("first") S first, @Named("second") T second) {
      method equals (line 219) | @Override
      method hashCode (line 226) | @Override
    class UpperBounds (line 232) | static class UpperBounds {
      method UpperBounds (line 235) | UpperBounds(@Named("numbers") List<? extends Number> numbers) {
    class LowerBounds (line 240) | static class LowerBounds {
      method LowerBounds (line 243) | LowerBounds(@Named("numbers") List<? super Integer> numbers) {

FILE: pkl-config-java/src/test/java/org/pkl/config/java/mapper/PObjectToInnerClassTest.java
  class PObjectToInnerClassTest (line 24) | public class PObjectToInnerClassTest {
    class InnerConfig (line 25) | @SuppressWarnings("InnerClassMayBeStatic")
      method InnerConfig (line 29) | public InnerConfig(@Named("text") String text) {
    method attemptToConvertToInnerClassDoesNotFailWithIndexOutOfBoundsException (line 36) | @Test

FILE: pkl-config-java/src/test/java/org/pkl/config/java/mapper/PObjectToPObjectTest.java
  class PObjectToPObjectTest (line 28) | public class PObjectToPObjectTest {
    method afterAll (line 36) | @AfterAll
    method before (line 44) | @BeforeEach
    method ex1 (line 53) | @Test
    method ex2 (line 60) | @Test

FILE: pkl-config-java/src/test/java/org/pkl/config/java/mapper/PPairToPairTest.java
  class PPairToPairTest (line 26) | public class PPairToPairTest {
    method afterAll (line 34) | @AfterAll
    method ex1 (line 39) | @Test
    method ex2 (line 46) | @Test

FILE: pkl-config-java/src/test/java/org/pkl/config/java/mapper/PStringToEnumTest.java
  class PStringToEnumTest (line 29) | public class PStringToEnumTest {
    method afterAll (line 37) | @AfterAll
    type Hobby (line 42) | public enum Hobby {
    method ex1 (line 48) | @Test
    method ex2 (line 53) | @Test
    method ex3 (line 58) | @Test
    method ex4 (line 63) | @Test
    method ex5 (line 68) | @Test
    method ex6 (line 73) | @Test
    method ex7 (line 78) | @Test
    method ex8 (line 85) | @Test
    method ex9 (line 92) | @Test
    method ex11 (line 103) | @Test
    method ex12 (line 109) | @Test

FILE: pkl-config-java/src/test/java/org/pkl/config/java/mapper/PStringToVersionTest.java
  class PStringToVersionTest (line 28) | public class PStringToVersionTest {
    method afterAll (line 36) | @AfterAll
    method ex1 (line 41) | @Test
    method ex2 (line 49) | @Test
    method ex3 (line 57) | @Test
    method ex4 (line 65) | @Test
    method ex5 (line 73) | @Test
    method ex6 (line 85) | @Test

FILE: pkl-config-java/src/test/java/org/pkl/config/java/mapper/PVersionToStringTest.java
  class PVersionToStringTest (line 26) | public class PVersionToStringTest {
    method afterAll (line 34) | @AfterAll
    method ex1 (line 39) | @Test
    method ex2 (line 47) | @Test
    method ex3 (line 55) | @Test
    method ex4 (line 63) | @Test
    method ex5 (line 71) | @Test

FILE: pkl-config-java/src/test/java/org/pkl/config/java/mapper/PVersionToVersionTest.java
  class PVersionToVersionTest (line 25) | public class PVersionToVersionTest {
    method afterAll (line 33) | @AfterAll
    method ex1 (line 38) | @Test
    method ex2 (line 46) | @Test
    method ex3 (line 54) | @Test
    method ex4 (line 62) | @Test
    method ex5 (line 70) | @Test

FILE: pkl-config-java/src/test/java/org/pkl/config/java/mapper/Person.java
  class Person (line 20) | public class Person {
    method Person (line 24) | public Person(@Named("name") String name, @Named("age") int age) {
    method equals (line 29) | @Override
    method hashCode (line 36) | @Override

FILE: pkl-config-java/src/test/java/org/pkl/config/java/mapper/ReflectionTest.java
  class ReflectionTest (line 26) | public class ReflectionTest {
    class Container (line 27) | @SuppressWarnings("unused")
      method Container (line 29) | Container(T element) {}
      method setElement (line 31) | void setElement(T element) {}
    class Person (line 34) | static class Person {}
    method isMissingTypeArguments (line 36) | @Test
    method toRawType (line 46) | @Test
    method toWrapperType (line 54) | @Test
    method getArrayElementType (line 60) | @Test
    method getExactSupertype (line 70) | @Test
    method getExactSubtype (line 78) | @Test
    method getExactParameterTypes (line 86) | @Test

FILE: pkl-config-java/src/test/java/org/pkl/config/java/mapper/TypesTest.java
  class TypesTest (line 26) | public class TypesTest {
    method createParameterizedType (line 27) | @Test
    method createParameterizedTypeForClassWithoutTypeParameters (line 30) | @Test
    method createParameterizedTypeWithWrongNumberOfTypeArguments (line 41) | @Test
    method createParameterizedTypeWithPrimitiveTypeArgument (line 52) | @Test
    class Foo (line 61) | @SuppressWarnings("unused")
    class Bar (line 64) | static class Bar {}
    method createParameterizedTypeWithIncompatibleTypeArgument (line 66) | @Test
    method createPrimitiveArrayType (line 77) | @Test
    class Person (line 82) | static class Person {}
    method createObjectArrayType (line 84) | @Test
    method createIterableType (line 89) | @Test
    method createCollectionType (line 96) | @Test
    method createListType (line 103) | @Test
    method createSetType (line 110) | @Test
    method createMapType (line 117) | @Test

FILE: pkl-config-kotlin/src/test/java/org/pkl/config/kotlin/JavaPerson.java
  class JavaPerson (line 21) | public class JavaPerson {
    method JavaPerson (line 26) | public JavaPerson(@Named("name") String name) {
    method JavaPerson (line 32) | public JavaPerson(
    method JavaPerson (line 39) | public JavaPerson(@Named("age") int age) {
    method getName (line 45) | public String getName() {
    method getAge (line 49) | public int getAge() {
    method getHobbies (line 53) | public List<String> getHobbies() {

FILE: pkl-core/src/main/java/org/pkl/core/Analyzer.java
  class Analyzer (line 42) | public class Analyzer {
    method Analyzer (line 52) | public Analyzer(
    method importGraph (line 76) | public ImportGraph importGraph(URI... sources) {
    method createContext (line 99) | private Context createContext() {

FILE: pkl-core/src/main/java/org/pkl/core/BufferedLogger.java
  class BufferedLogger (line 19) | public final class BufferedLogger implements Logger {
    method BufferedLogger (line 24) | public BufferedLogger(Logger logger) {
    method trace (line 28) | @Override
    method warn (line 34) | @Override
    method clear (line 40) | public void clear() {
    method getLogs (line 44) | public String getLogs() {

FILE: pkl-core/src/main/java/org/pkl/core/Closeables.java
  class Closeables (line 18) | public final class Closeables {
    method Closeables (line 19) | private Closeables() {}
    method closeQuietly (line 22) | public static void closeQuietly(Iterable<? extends AutoCloseable> read...

FILE: pkl-core/src/main/java/org/pkl/core/CommandSpec.java
  type Option (line 35) | public sealed interface Option {
    method name (line 36) | String name();
    method getNames (line 38) | String[] getNames();
    class MissingOption (line 40) | class MissingOption extends RuntimeException {
      method MissingOption (line 41) | public MissingOption() {}
    class BadValue (line 44) | class BadValue extends RuntimeException {
      method BadValue (line 45) | public BadValue(String message) {
      method invalid (line 49) | public static BadValue invalid(String value, String type) {
      method badKeyValue (line 53) | public static BadValue badKeyValue(String value) {
      method invalidChoice (line 57) | public static BadValue invalidChoice(String value, List<String> choi...
      method invalidChoice (line 63) | public static BadValue invalidChoice(String value, String choice) {
  class CompletionCandidates (line 69) | public abstract static sealed class CompletionCandidates {
    class Fixed (line 72) | public static final class Fixed extends CompletionCandidates {
      method Fixed (line 75) | public Fixed(Set<String> values) {
      method getValues (line 79) | public Set<String> getValues() {
    class StaticCompletionCandidates (line 84) | private static final class StaticCompletionCandidates extends Completi...
  method getNames (line 99) | @Override
  method getNames (line 114) | @Override
  method getNames (line 125) | @Override
  method getNames (line 141) | @Override
  type ApplyFunction (line 147) | public interface ApplyFunction {
    method apply (line 148) | State apply(Map<String, Object> options, @Nullable State parent);
  method evaluate (line 152) | public Result evaluate() {

FILE: pkl-core/src/main/java/org/pkl/core/Composite.java
  type Composite (line 22) | public interface Composite extends Value {
    method hasProperty (line 24) | default boolean hasProperty(String name) {
    method getProperty (line 32) | Object getProperty(String name);
    method getPropertyOrNull (line 35) | default @Nullable Object getPropertyOrNull(String name) {
    method get (line 43) | default @Nullable Object get(String name) {
    method getProperties (line 49) | Map<String, Object> getProperties();

FILE: pkl-core/src/main/java/org/pkl/core/DataSize.java
  class DataSize (line 26) | public final class DataSize implements Value {
    method DataSize (line 33) | public DataSize(double value, DataSizeUnit unit) {
    method ofBytes (line 39) | public static DataSize ofBytes(double value) {
    method ofKilobytes (line 44) | public static DataSize ofKilobytes(double value) {
    method ofKibibytes (line 49) | public static DataSize ofKibibytes(double value) {
    method ofMegabytes (line 54) | public static DataSize ofMegabytes(double value) {
    method ofMebibytes (line 59) | public static DataSize ofMebibytes(double value) {
    method ofGigabytes (line 64) | public static DataSize ofGigabytes(double value) {
    method ofGibibytes (line 69) | public static DataSize ofGibibytes(double value) {
    method ofTerabytes (line 74) | public static DataSize ofTerabytes(double value) {
    method ofTebibytes (line 79) | public static DataSize ofTebibytes(double value) {
    method ofPetabytes (line 84) | public static DataSize ofPetabytes(double value) {
    method ofPebibytes (line 89) | public static DataSize ofPebibytes(double value) {
    method getValue (line 94) | public double getValue() {
    method getUnit (line 99) | public DataSizeUnit getUnit() {
    method inBytes (line 104) | public double inBytes() {
    method inKilobytes (line 109) | public double inKilobytes() {
    method inKibibytes (line 114) | public double inKibibytes() {
    method inMegabytes (line 119) | public double inMegabytes() {
    method inMebibytes (line 124) | public double inMebibytes() {
    method inGigabytes (line 129) | public double inGigabytes() {
    method inGibibytes (line 134) | public double inGibibytes() {
    method inTerabytes (line 139) | public double inTerabytes() {
    method inTebibytes (line 144) | public double inTebibytes() {
    method inPetabytes (line 149) | public double inPetabytes() {
    method inPebibytes (line 154) | public double inPebibytes() {
    method inWholeBytes (line 159) | public long inWholeBytes() {
    method inWholeKilobytes (line 164) | public long inWholeKilobytes() {
    method inWholeKibibytes (line 169) | public long inWholeKibibytes() {
    method inWholeMegabytes (line 174) | public long inWholeMegabytes() {
    method inWholeMebibytes (line 179) | public long inWholeMebibytes() {
    method inWholeGigabytes (line 184) | public long inWholeGigabytes() {
    method inWholeGibibytes (line 189) | public long inWholeGibibytes() {
    method inWholeTerabytes (line 194) | public long inWholeTerabytes() {
    method inWholeTebibytes (line 199) | public long inWholeTebibytes() {
    method inWholePetabytes (line 204) | public long inWholePetabytes() {
    method inWholePebibytes (line 209) | public long inWholePebibytes() {
    method convertTo (line 214) | public DataSize convertTo(DataSizeUnit other) {
    method convertValueTo (line 219) | public double convertValueTo(DataSizeUnit other) {
    method accept (line 224) | @Override
    method accept (line 230) | @Override
    method getClassInfo (line 236) | @Override
    method equals (line 241) | @Override
    method hashCode (line 248) | @Override
    method toString (line 253) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/DataSizeUnit.java
  type DataSizeUnit (line 24) | public enum DataSizeUnit {
    method DataSizeUnit (line 41) | DataSizeUnit(long bytes, String symbol) {
    method parse (line 50) | public static @Nullable DataSizeUnit parse(String symbol) {
    method getSymbol (line 68) | public String getSymbol() {
    method getBytes (line 73) | public long getBytes() {
    method toString (line 77) | public String toString() {

FILE: pkl-core/src/main/java/org/pkl/core/Duration.java
  class Duration (line 26) | public final class Duration implements Value {
    method Duration (line 33) | public Duration(double value, DurationUnit unit) {
    method ofNanos (line 39) | public static Duration ofNanos(double value) {
    method ofMicros (line 44) | public static Duration ofMicros(double value) {
    method ofMillis (line 49) | public static Duration ofMillis(double value) {
    method ofSeconds (line 54) | public static Duration ofSeconds(double value) {
    method ofMinutes (line 59) | public static Duration ofMinutes(double value) {
    method ofHours (line 64) | public static Duration ofHours(double value) {
    method ofDays (line 69) | public static Duration ofDays(double value) {
    method getValue (line 74) | public double getValue() {
    method toIsoString (line 79) | public String toIsoString() {
    method getUnit (line 84) | public DurationUnit getUnit() {
    method inNanos (line 89) | public double inNanos() {
    method inMicros (line 94) | public double inMicros() {
    method inMillis (line 99) | public double inMillis() {
    method inSeconds (line 104) | public double inSeconds() {
    method inMinutes (line 109) | public double inMinutes() {
    method inHours (line 114) | public double inHours() {
    method inDays (line 119) | public double inDays() {
    method inWholeNanos (line 124) | public long inWholeNanos() {
    method inWholeMicros (line 129) | public long inWholeMicros() {
    method inWholeMillis (line 134) | public long inWholeMillis() {
    method inWholeSeconds (line 139) | public long inWholeSeconds() {
    method inWholeMinutes (line 144) | public long inWholeMinutes() {
    method inWholeHours (line 149) | public long inWholeHours() {
    method inWholeDays (line 154) | public long inWholeDays() {
    method toJavaDuration (line 163) | public java.time.Duration toJavaDuration() {
    method convertTo (line 189) | public Duration convertTo(DurationUnit other) {
    method convertValueTo (line 194) | public double convertValueTo(DurationUnit other) {
    method accept (line 199) | @Override
    method accept (line 205) | @Override
    method getClassInfo (line 211) | @Override
    method equals (line 216) | @Override
    method hashCode (line 223) | @Override
    method toString (line 228) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/DurationUnit.java
  type DurationUnit (line 26) | public enum DurationUnit {
    method DurationUnit (line 39) | DurationUnit(long nanos, String symbol) {
    method parse (line 48) | public static @Nullable DurationUnit parse(String symbol) {
    method getSymbol (line 62) | public String getSymbol() {
    method getNanos (line 67) | public long getNanos() {
    method toChronoUnit (line 72) | public ChronoUnit toChronoUnit() {
    method toTimeUnit (line 85) | public TimeUnit toTimeUnit() {
    method toString (line 97) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/Evaluator.java
  type Evaluator (line 34) | @SuppressWarnings("unused")
    method preconfigured (line 38) | static Evaluator preconfigured() {
    method evaluate (line 48) | PModule evaluate(ModuleSource moduleSource);
    method evaluateOutputText (line 56) | String evaluateOutputText(ModuleSource moduleSource);
    method evaluateOutputBytes (line 65) | byte[] evaluateOutputBytes(ModuleSource moduleSource);
    method evaluateOutputValue (line 73) | Object evaluateOutputValue(ModuleSource moduleSource);
    method evaluateOutputFiles (line 81) | Map<String, FileOutput> evaluateOutputFiles(ModuleSource moduleSource);
    method evaluateExpression (line 175) | Object evaluateExpression(ModuleSource moduleSource, String expression);
    method evaluateExpressionPklBinary (line 184) | byte[] evaluateExpressionPklBinary(ModuleSource moduleSource, String e...
    method evaluateExpressionString (line 194) | String evaluateExpressionString(ModuleSource moduleSource, String expr...
    method evaluateSchema (line 203) | ModuleSchema evaluateSchema(ModuleSource moduleSource);
    method evaluateOutputValueAs (line 212) | <T> T evaluateOutputValueAs(ModuleSource moduleSource, PClassInfo<T> c...
    method evaluateTest (line 227) | TestResults evaluateTest(ModuleSource moduleSource, boolean overwrite);
    method evaluateCommand (line 241) | void evaluateCommand(
    method close (line 255) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/EvaluatorBuilder.java
  class EvaluatorBuilder (line 39) | @SuppressWarnings({"UnusedReturnValue", "unused"})
    method EvaluatorBuilder (line 75) | private EvaluatorBuilder() {}
    method preconfigured (line 103) | public static EvaluatorBuilder preconfigured() {
    method addSystemProperties (line 143) | @SuppressWarnings({"unchecked", "rawtypes"})
    method unconfigured (line 152) | public static EvaluatorBuilder unconfigured() {
    method setColor (line 157) | public EvaluatorBuilder setColor(boolean color) {
    method getColor (line 163) | public boolean getColor() {
    method setStackFrameTransformer (line 168) | public EvaluatorBuilder setStackFrameTransformer(StackFrameTransformer...
    method getStackFrameTransformer (line 174) | public @Nullable StackFrameTransformer getStackFrameTransformer() {
    method setSecurityManager (line 179) | public EvaluatorBuilder setSecurityManager(@Nullable SecurityManager m...
    method unsetSecurityManager (line 184) | public EvaluatorBuilder unsetSecurityManager() {
    method getSecurityManager (line 190) | public @Nullable SecurityManager getSecurityManager() {
    method setAllowedModules (line 199) | public EvaluatorBuilder setAllowedModules(Collection<Pattern> patterns) {
    method getAllowedModules (line 209) | public List<Pattern> getAllowedModules() {
    method setAllowedResources (line 218) | public EvaluatorBuilder setAllowedResources(Collection<Pattern> patter...
    method getAllowedResources (line 228) | public List<Pattern> getAllowedResources() {
    method setRootDir (line 236) | public EvaluatorBuilder setRootDir(@Nullable Path rootDir) {
    method getRootDir (line 242) | public @Nullable Path getRootDir() {
    method setLogger (line 247) | public EvaluatorBuilder setLogger(Logger logger) {
    method getLogger (line 253) | public Logger getLogger() {
    method setHttpClient (line 262) | public EvaluatorBuilder setHttpClient(HttpClient httpClient) {
    method getHttpClient (line 268) | public HttpClient getHttpClient() {
    method addModuleKeyFactory (line 276) | public EvaluatorBuilder addModuleKeyFactory(ModuleKeyFactory factory) {
    method addModuleKeyFactories (line 285) | public EvaluatorBuilder addModuleKeyFactories(Collection<ModuleKeyFact...
    method setModuleKeyFactories (line 291) | public EvaluatorBuilder setModuleKeyFactories(Collection<ModuleKeyFact...
    method getModuleKeyFactories (line 297) | public List<ModuleKeyFactory> getModuleKeyFactories() {
    method addResourceReader (line 301) | public EvaluatorBuilder addResourceReader(ResourceReader reader) {
    method addResourceReaders (line 306) | public EvaluatorBuilder addResourceReaders(Collection<ResourceReader> ...
    method setResourceReaders (line 311) | public EvaluatorBuilder setResourceReaders(Collection<ResourceReader> ...
    method getResourceReaders (line 317) | public List<ResourceReader> getResourceReaders() {
    method addEnvironmentVariable (line 327) | public EvaluatorBuilder addEnvironmentVariable(String name, String val...
    method addEnvironmentVariables (line 338) | public EvaluatorBuilder addEnvironmentVariables(Map<String, String> en...
    method setEnvironmentVariables (line 344) | public EvaluatorBuilder setEnvironmentVariables(Map<String, String> en...
    method getEnvironmentVariables (line 350) | public Map<String, String> getEnvironmentVariables() {
    method addExternalProperty (line 359) | public EvaluatorBuilder addExternalProperty(String name, String value) {
    method addExternalProperties (line 370) | public EvaluatorBuilder addExternalProperties(Map<String, String> prop...
    method setExternalProperties (line 376) | public EvaluatorBuilder setExternalProperties(Map<String, String> prop...
    method getExternalProperties (line 382) | public Map<String, String> getExternalProperties() {
    method setTimeout (line 389) | public EvaluatorBuilder setTimeout(@Nullable java.time.Duration timeou...
    method getTimeout (line 395) | public java.time.@Nullable Duration getTimeout() {
    method setModuleCacheDir (line 404) | public EvaluatorBuilder setModuleCacheDir(@Nullable Path moduleCacheDi...
    method getModuleCacheDir (line 413) | public @Nullable Path getModuleCacheDir() {
    method setOutputFormat (line 427) | public EvaluatorBuilder setOutputFormat(@Nullable String outputFormat) {
    method setOutputFormat (line 442) | public EvaluatorBuilder setOutputFormat(@Nullable OutputFormat outputF...
    method getOutputFormat (line 448) | public @Nullable String getOutputFormat() {
    method setProjectDependencies (line 453) | public EvaluatorBuilder setProjectDependencies(DeclaredDependencies de...
    method getProjectDependencies (line 458) | public @Nullable DeclaredDependencies getProjectDependencies() {
    method setTraceMode (line 463) | public EvaluatorBuilder setTraceMode(TraceMode traceMode) {
    method getTraceMode (line 469) | public TraceMode getTraceMode() {
    method setPowerAssertionsEnabled (line 474) | public EvaluatorBuilder setPowerAssertionsEnabled(boolean powerAsserti...
    method getPowerAssertionsEnabled (line 480) | public boolean getPowerAssertionsEnabled() {
    method applyFromProject (line 489) | public EvaluatorBuilder applyFromProject(Project project) {
    method build (line 570) | public Evaluator build() {

FILE: pkl-core/src/main/java/org/pkl/core/EvaluatorImpl.java
  class EvaluatorImpl (line 61) | public final class EvaluatorImpl implements Evaluator {
    method EvaluatorImpl (line 74) | public EvaluatorImpl(
    method evaluate (line 135) | @Override
    method evaluateOutputText (line 145) | @Override
    method evaluateOutputBytes (line 155) | public byte[] evaluateOutputBytes(ModuleSource moduleSource) {
    method evaluateOutputValue (line 165) | @Override
    method evaluateOutputFiles (line 180) | @Override
    method evaluateExpression (line 191) | @Override
    method getMessagePacker (line 214) | private MessageBufferPacker getMessagePacker() {
    method evaluateExpressionPklBinary (line 222) | @Override
    method evaluateExpressionString (line 245) | @Override
    method evaluateSchema (line 265) | @Override
    method evaluateTest (line 270) | @Override
    method evaluateCommand (line 280) | @Override
    method evaluateOutputValueAs (line 303) | @Override
    method close (line 324) | @Override
    method evaluateOutputText (line 339) | String evaluateOutputText(VmTyped fileOutput) {
    method evaluateOutputBytes (line 343) | byte[] evaluateOutputBytes(VmTyped fileOutput) {
    method doEvaluate (line 347) | private <T> T doEvaluate(Supplier<T> supplier) {
    method doEvaluate (line 417) | private <T> T doEvaluate(ModuleSource moduleSource, Function<VmTyped, ...
    method handleTimeout (line 426) | private void handleTimeout(@Nullable TimeoutTask timeoutTask) {
    method moduleOutputValueTypeMismatch (line 437) | private VmException moduleOutputValueTypeMismatch(
    class TimeoutTask (line 476) | private final class TimeoutTask implements Runnable {
      method run (line 481) | @Override
      method cancel (line 494) | public synchronized boolean cancel() {

FILE: pkl-core/src/main/java/org/pkl/core/FileOutput.java
  type FileOutput (line 19) | public interface FileOutput {
    method getText (line 25) | String getText();
    method getBytes (line 32) | byte[] getBytes();

FILE: pkl-core/src/main/java/org/pkl/core/FileOutputImpl.java
  class FileOutputImpl (line 21) | final class FileOutputImpl implements FileOutput {
    method FileOutputImpl (line 25) | FileOutputImpl(EvaluatorImpl evaluator, VmTyped fileOutput) {
    method getText (line 37) | public String getText() {
    method getBytes (line 48) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/ImportGraph.java
  method compareTo (line 49) | @Override
  method parseFromJson (line 56) | public static ImportGraph parseFromJson(String input) throws JsonParseEx...
  method parseImports (line 63) | private static Map<URI, Set<Import>> parseImports(Json.JsObject jsObject)
  method parseImport (line 88) | private static ImportGraph.Import parseImport(Json.JsObject jsObject) th...
  method parseResolvedImports (line 93) | private static Map<URI, URI> parseResolvedImports(Json.JsObject jsObject)

FILE: pkl-core/src/main/java/org/pkl/core/JsonRenderer.java
  class JsonRenderer (line 28) | final class JsonRenderer implements ValueRenderer {
    method JsonRenderer (line 32) | public JsonRenderer(Writer writer, String indent, boolean omitNullProp...
    method renderDocument (line 38) | @Override
    method renderValue (line 51) | @Override
    class Visitor (line 56) | private class Visitor implements ValueVisitor {
      method visitString (line 57) | @Override
      method visitInt (line 66) | @Override
      method visitFloat (line 75) | @Override
      method visitBoolean (line 84) | @Override
      method visitDuration (line 93) | @Override
      method visitDataSize (line 99) | @Override
      method visitBytes (line 105) | @Override
      method visitPair (line 112) | @Override
      method visitList (line 124) | @Override
      method visitSet (line 129) | @Override
      method visitMap (line 134) | @Override
      method visitObject (line 149) | @Override
      method visitModule (line 154) | @Override
      method visitNull (line 159) | @Override
      method visitClass (line 168) | @Override
      method visitTypeAlias (line 176) | @Override
      method visitRegex (line 184) | @Override
      method doVisitCollection (line 190) | private void doVisitCollection(Collection<?> collection) {
      method doVisitProperties (line 200) | private void doVisitProperties(Map<String, ?> properties) {

FILE: pkl-core/src/main/java/org/pkl/core/Logger.java
  type Logger (line 22) | @SuppressWarnings("unused")
    method trace (line 25) | default void trace(String message, StackFrame frame) {}
    method warn (line 28) | default void warn(String message, StackFrame frame) {}

FILE: pkl-core/src/main/java/org/pkl/core/Loggers.java
  class Loggers (line 22) | @SuppressWarnings("unused")
    method Loggers (line 24) | private Loggers() {}
    method noop (line 27) | public static Logger noop() {
    method stdErr (line 42) | public static Logger stdErr() {
    method stream (line 47) | @SuppressWarnings("DuplicatedCode")
    method writer (line 65) | @SuppressWarnings("DuplicatedCode")
    method formatMessage (line 82) | private static String formatMessage(String level, String message, Stac...

FILE: pkl-core/src/main/java/org/pkl/core/Member.java
  class Member (line 26) | public abstract class Member implements Serializable {
    method Member (line 35) | public Member(
    method getModuleName (line 49) | public abstract String getModuleName();
    method getDocComment (line 52) | public @Nullable String getDocComment() {
    method getSourceLocation (line 57) | public SourceLocation getSourceLocation() {
    method getModifiers (line 62) | public Set<Modifier> getModifiers() {
    method getAnnotations (line 67) | public List<PObject> getAnnotations() {
    method isExternal (line 72) | public boolean isExternal() {
    method isAbstract (line 77) | public boolean isAbstract() {
    method isHidden (line 82) | public boolean isHidden() {
    method isOpen (line 87) | public boolean isOpen() {
    method isStandardLibraryMember (line 92) | public final boolean isStandardLibraryMember() {
    method getSimpleName (line 97) | public String getSimpleName() {
    method getStartLine (line 113) | @Deprecated(forRemoval = true)
    method getEndLine (line 121) | @Deprecated(forRemoval = true)

FILE: pkl-core/src/main/java/org/pkl/core/Modifier.java
  type Modifier (line 18) | public enum Modifier {
    method Modifier (line 26) | Modifier(String displayName) {
    method toString (line 30) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/ModuleSchema.java
  class ModuleSchema (line 24) | public final class ModuleSchema {
    method ModuleSchema (line 40) | public ModuleSchema(
    method getModuleUri (line 64) | public URI getModuleUri() {
    method getModuleName (line 74) | public String getModuleName() {
    method getShortModuleName (line 82) | public String getShortModuleName() {
    method getSupermodule (line 91) | public @Nullable ModuleSchema getSupermodule() {
    method isAmend (line 96) | public boolean isAmend() {
    method isExtend (line 101) | public boolean isExtend() {
    method getDocComment (line 106) | public @Nullable String getDocComment() {
    method getAnnotations (line 111) | public List<PObject> getAnnotations() {
    method getModuleClass (line 119) | public PClass getModuleClass() {
    method getImports (line 131) | public Map<String, URI> getImports() {
    method getClasses (line 136) | public Map<String, PClass> getClasses() {
    method getAllClasses (line 144) | public Map<String, PClass> getAllClasses() {
    method getTypeAliases (line 160) | public Map<String, TypeAlias> getTypeAliases() {
    method getAllTypeAliases (line 168) | public Map<String, TypeAlias> getAllTypeAliases() {

FILE: pkl-core/src/main/java/org/pkl/core/ModuleSource.java
  class ModuleSource (line 30) | public final class ModuleSource {
    method create (line 31) | public static ModuleSource create(URI uri, @Nullable String text) {
    method path (line 35) | public static ModuleSource path(Path path) {
    method path (line 39) | public static ModuleSource path(String path) {
    method text (line 43) | public static ModuleSource text(String text) {
    method file (line 47) | public static ModuleSource file(String file) {
    method file (line 51) | public static ModuleSource file(File file) {
    method uri (line 57) | public static ModuleSource uri(String uri) {
    method uri (line 61) | public static ModuleSource uri(URI uri) {
    method modulePath (line 65) | public static ModuleSource modulePath(String path) {
    method ModuleSource (line 79) | private ModuleSource(URI uri, @Nullable String contents) {
    method getUri (line 84) | public URI getUri() {
    method getContents (line 88) | public @Nullable String getContents() {

FILE: pkl-core/src/main/java/org/pkl/core/NoSuchPropertyException.java
  class NoSuchPropertyException (line 22) | public final class NoSuchPropertyException extends RuntimeException {
    method NoSuchPropertyException (line 25) | public NoSuchPropertyException(String message, String propertyName) {
    method getPropertyName (line 30) | public String getPropertyName() {

FILE: pkl-core/src/main/java/org/pkl/core/OutputFormat.java
  type OutputFormat (line 19) | public enum OutputFormat {
    method OutputFormat (line 31) | OutputFormat(String cliArgument) {
    method toString (line 36) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/PClass.java
  class PClass (line 23) | public final class PClass extends Member implements Value {
    method PClass (line 37) | public PClass(
    method initSupertype (line 53) | public void initSupertype(PType supertype, PClass superclass) {
    method getModuleName (line 62) | public String getModuleName() {
    method getQualifiedName (line 71) | public String getQualifiedName() {
    method getDisplayName (line 75) | public String getDisplayName() {
    method getInfo (line 79) | public PClassInfo<?> getInfo() {
    method isModuleClass (line 84) | public boolean isModuleClass() {
    method getTypeParameters (line 88) | public List<TypeParameter> getTypeParameters() {
    method getSupertype (line 92) | public @Nullable PType getSupertype() {
    method getSuperclass (line 96) | public @Nullable PClass getSuperclass() {
    method getProperties (line 100) | public Map<String, Property> getProperties() {
    method getMethods (line 104) | public Map<String, Method> getMethods() {
    method getAllProperties (line 108) | public Map<String, Property> getAllProperties() {
    method getAllMethods (line 115) | public Map<String, Method> getAllMethods() {
    method accept (line 122) | @Override
    method accept (line 127) | @Override
    method getClassInfo (line 132) | @Override
    method toString (line 137) | public String toString() {
    class ClassMember (line 141) | public abstract static class ClassMember extends Member {
      method ClassMember (line 146) | public ClassMember(
      method getModuleName (line 160) | @Override
      method getOwner (line 166) | public PClass getOwner() {
      method getInheritedDocComment (line 175) | public abstract @Nullable String getInheritedDocComment();
    class Property (line 178) | public static final class Property extends ClassMember {
      method Property (line 183) | public Property(
      method getType (line 195) | public PType getType() {
      method getInheritedDocComment (line 199) | @Override
    class Method (line 214) | public static final class Method extends ClassMember {
      method Method (line 221) | public Method(
      method getTypeParameters (line 237) | public List<TypeParameter> getTypeParameters() {
      method getParameters (line 241) | public Map<String, PType> getParameters() {
      method getReturnType (line 245) | public PType getReturnType() {
      method getInheritedDocComment (line 249) | @Override
    method collectAllProperties (line 264) | private Map<String, Property> collectAllProperties(
    method collectAllMethods (line 273) | private Map<String, Method> collectAllMethods(PClass clazz, Map<String...

FILE: pkl-core/src/main/java/org/pkl/core/PClassInfo.java
  class PClassInfo (line 28) | @SuppressWarnings("rawtypes")
    method get (line 93) | public static PClassInfo<?> get(String moduleName, String className, U...
    method forModuleClass (line 102) | public static PClassInfo<?> forModuleClass(String moduleName, URI modu...
    method forValue (line 107) | @SuppressWarnings("unchecked")
    method getModuleName (line 128) | public String getModuleName() {
    method getSimpleName (line 133) | public String getSimpleName() {
    method getQualifiedName (line 142) | public String getQualifiedName() {
    method getDisplayName (line 146) | public String getDisplayName() {
    method isModuleClass (line 151) | public boolean isModuleClass() {
    method getJavaClass (line 160) | public Class<T> getJavaClass() {
    method isExternalClass (line 165) | public boolean isExternalClass() {
    method isStandardLibraryClass (line 170) | public boolean isStandardLibraryClass() {
    method isConcreteCollectionClass (line 174) | public boolean isConcreteCollectionClass() {
    method isExactClassOf (line 178) | public boolean isExactClassOf(Object value) {
    method equals (line 187) | public boolean equals(@Nullable Object obj) {
    method hashCode (line 193) | public int hashCode() {
    method toString (line 197) | public String toString() {
    method PClassInfo (line 239) | private PClassInfo(String moduleName, String className, Class<T> javaC...
    method pklBaseClassInfo (line 247) | private static <T> PClassInfo<T> pklBaseClassInfo(String className, Cl...
    method getModuleUri (line 251) | public URI getModuleUri() {

FILE: pkl-core/src/main/java/org/pkl/core/PListRenderer.java
  class PListRenderer (line 27) | final class PListRenderer implements ValueRenderer {
    method PListRenderer (line 43) | public PListRenderer(Writer writer, String indent) {
    method renderDocument (line 48) | @Override
    method renderValue (line 75) | @Override
    class Visitor (line 81) | private class Visitor implements ValueVisitor {
      method visitString (line 84) | @Override
      method visitInt (line 91) | @Override
      method visitFloat (line 101) | @Override
      method visitBoolean (line 119) | @Override
      method visitDuration (line 124) | @Override
      method visitDataSize (line 132) | @Override
      method visitBytes (line 140) | @Override
      method visitPair (line 147) | @Override
      method visitList (line 152) | @Override
      method visitSet (line 157) | @Override
      method visitMap (line 162) | @Override
      method visitObject (line 205) | @Override
      method visitModule (line 210) | @Override
      method visitNull (line 215) | @Override
      method visitClass (line 220) | @Override
      method visitTypeAlias (line 227) | @Override
      method visitRegex (line 235) | @Override
      method doVisitIterable (line 242) | private void doVisitIterable(Iterable<?> iterable, boolean isEmpty) {
      method doVisitComposite (line 263) | private void doVisitComposite(Composite composite) {
    method write (line 298) | private void write(String str) {

FILE: pkl-core/src/main/java/org/pkl/core/PModule.java
  class PModule (line 25) | public final class PModule extends PObject {
    method PModule (line 31) | public PModule(
    method getModuleUri (line 38) | public URI getModuleUri() {
    method getModuleName (line 42) | public String getModuleName() {
    method getProperty (line 46) | @Override
    method accept (line 58) | @Override
    method equals (line 63) | @Override
    method hashCode (line 73) | @Override
    method toString (line 78) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/PNull.java
  class PNull (line 21) | public final class PNull implements Value {
    method getInstance (line 26) | public static PNull getInstance() {
    method accept (line 30) | @Override
    method accept (line 35) | @Override
    method getClassInfo (line 40) | @Override
    method toString (line 45) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/PObject.java
  class PObject (line 24) | public class PObject implements Composite {
    method PObject (line 30) | public PObject(PClassInfo<?> classInfo, Map<String, Object> properties) {
    method getClassInfo (line 35) | @Override
    method getProperties (line 40) | @Override
    method getProperty (line 45) | @Override
    method accept (line 57) | @Override
    method accept (line 62) | @Override
    method equals (line 67) | @Override
    method hashCode (line 77) | @Override
    method toString (line 82) | @Override
    method render (line 87) | protected String render(@Nullable String prefix) {

FILE: pkl-core/src/main/java/org/pkl/core/PType.java
  class PType (line 23) | public abstract class PType implements Serializable {
    method PType (line 44) | private PType() {}
    method getTypeArguments (line 46) | public List<PType> getTypeArguments() {
    class StringLiteral (line 50) | public static final class StringLiteral extends PType {
      method StringLiteral (line 55) | public StringLiteral(String literal) {
      method getLiteral (line 59) | public String getLiteral() {
    class Class (line 64) | public static final class Class extends PType {
      method Class (line 70) | public Class(PClass pClass, List<PType> typeArguments) {
      method Class (line 75) | public Class(PClass pClass) {
      method Class (line 79) | public Class(PClass pClass, PType typeArgument1) {
      method Class (line 83) | public Class(PClass pClass, PType typeArgument1, PType typeArgument2) {
      method getPClass (line 87) | public PClass getPClass() {
      method getTypeArguments (line 91) | @Override
    class Nullable (line 97) | public static final class Nullable extends PType {
      method Nullable (line 102) | public Nullable(PType baseType) {
      method getBaseType (line 106) | public PType getBaseType() {
    class Constrained (line 111) | public static final class Constrained extends PType {
      method Constrained (line 117) | public Constrained(PType baseType, List<String> constraints) {
      method getBaseType (line 122) | public PType getBaseType() {
      method getConstraints (line 126) | public List<String> getConstraints() {
    class Alias (line 131) | public static final class Alias extends PType {
      method Alias (line 138) | public Alias(TypeAlias typeAlias) {
      method Alias (line 142) | public Alias(TypeAlias typeAlias, List<PType> typeArguments, PType a...
      method getTypeAlias (line 148) | public TypeAlias getTypeAlias() {
      method getTypeArguments (line 152) | @Override
      method getAliasedType (line 161) | public PType getAliasedType() {
    class Function (line 166) | public static final class Function extends PType {
      method Function (line 172) | public Function(List<PType> parameterTypes, PType returnType) {
      method getParameterTypes (line 177) | public List<PType> getParameterTypes() {
      method getReturnType (line 181) | public PType getReturnType() {
    class Union (line 186) | public static final class Union extends PType {
      method Union (line 191) | public Union(List<PType> elementTypes) {
      method getElementTypes (line 195) | public List<PType> getElementTypes() {
    class TypeVariable (line 200) | public static final class TypeVariable extends PType {
      method TypeVariable (line 205) | public TypeVariable(TypeParameter typeParameter) {
      method getName (line 209) | public String getName() {
      method getTypeParameter (line 213) | public TypeParameter getTypeParameter() {

FILE: pkl-core/src/main/java/org/pkl/core/Pair.java
  class Pair (line 24) | public final class Pair<F, S> implements Value, Iterable<Object> {
    method Pair (line 31) | public Pair(F first, S second) {
    method getFirst (line 37) | public F getFirst() {
    method getSecond (line 42) | public S getSecond() {
    method iterator (line 46) | @Override
    method accept (line 67) | @Override
    method accept (line 72) | @Override
    method getClassInfo (line 77) | @Override
    method equals (line 82) | @Override
    method hashCode (line 89) | @Override
    method toString (line 94) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/PcfRenderer.java
  class PcfRenderer (line 25) | final class PcfRenderer implements ValueRenderer {
    method PcfRenderer (line 35) | public PcfRenderer(
    method renderDocument (line 43) | @Override
    method renderValue (line 55) | @Override
    class Visitor (line 60) | private class Visitor implements ValueVisitor {
      method visitString (line 61) | @Override
      method visitInt (line 70) | @Override
      method visitFloat (line 75) | @Override
      method visitBoolean (line 80) | @Override
      method visitDuration (line 85) | @Override
      method visitDataSize (line 90) | @Override
      method visitBytes (line 95) | @Override
      method visitPair (line 110) | @Override
      method visitList (line 115) | @Override
      method visitSet (line 120) | @Override
      method visitMap (line 125) | @Override
      method visitObject (line 148) | @Override
      method visitModule (line 153) | @Override
      method visitClass (line 158) | @Override
      method visitTypeAlias (line 166) | @Override
      method visitNull (line 174) | @Override
      method visitRegex (line 179) | @Override
      method doVisitIterable (line 186) | private void doVisitIterable(Iterable<?> iterable, String prefix) {
      method doVisitComposite (line 207) | private void doVisitComposite(Composite composite) {
      method doVisitProperties (line 222) | private void doVisitProperties(Map<String, Object> properties) {
      method write (line 244) | private void write(char ch) {
      method write (line 252) | private void write(String str) {
      method writeIdentifier (line 260) | private void writeIdentifier(String identifier) {

FILE: pkl-core/src/main/java/org/pkl/core/PklBinaryDecoder.java
  class PklBinaryDecoder (line 36) | public class PklBinaryDecoder extends AbstractPklBinaryDecoder {
    method PklBinaryDecoder (line 38) | private PklBinaryDecoder(MessageUnpacker unpacker) {
    method decode (line 43) | public static Object decode(byte[] bytes) {
    method decode (line 48) | public static Object decode(InputStream inputStream) {
    method doFail (line 52) | @Override
    method doIOFail (line 61) | @Override
    method doDecodeNull (line 66) | @Override
    method doDecodeDuration (line 71) | @Override
    method doDecodeObject (line 76) | @Override
    method doDecodeMap (line 112) | @Override
    method doDecodeMapping (line 122) | @Override
    method doDecodeList (line 127) | @Override
    method doDecodeListing (line 136) | @Override
    method doDecodeSet (line 141) | @Override
    method doDecodeDataSize (line 150) | @Override
    method doDecodePair (line 155) | @Override
    method doDecodeIntSeq (line 160) | @Override
    method doDecodeRegex (line 165) | @Override
    method doDecodeClass (line 170) | @Override
    method doDecodeTypeAlias (line 175) | @Override
    method doDecodeBytes (line 180) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/PklBugException.java
  class PklBugException (line 18) | public final class PklBugException extends PklException {
    method unreachableCode (line 19) | public static PklBugException unreachableCode() {
    method PklBugException (line 23) | public PklBugException(String message, Throwable cause) {
    method PklBugException (line 27) | public PklBugException(Throwable cause) {
    method PklBugException (line 31) | public PklBugException(String message) {

FILE: pkl-core/src/main/java/org/pkl/core/PklException.java
  class PklException (line 18) | public class PklException extends RuntimeException {
    method PklException (line 19) | public PklException(String message, Throwable cause) {
    method PklException (line 23) | public PklException(String message) {
    method PklException (line 27) | public PklException(Throwable cause) {

FILE: pkl-core/src/main/java/org/pkl/core/PklInfo.java
  class PklInfo (line 19) | public final class PklInfo {
    method current (line 30) | public static PklInfo current() {
    method PklInfo (line 35) | PklInfo(PackageIndex packageIndex) {
    method getPackageIndex (line 40) | public PackageIndex getPackageIndex() {
    method getPackagePage (line 51) | public String getPackagePage(String packageName, String packageVersion) {

FILE: pkl-core/src/main/java/org/pkl/core/Platform.java
  method current (line 63) | public static Platform current() {

FILE: pkl-core/src/main/java/org/pkl/core/PropertiesRenderer.java
  class PropertiesRenderer (line 28) | final class PropertiesRenderer implements ValueRenderer {
    method PropertiesRenderer (line 33) | public PropertiesRenderer(Writer writer, boolean omitNullProperties, b...
    method renderDocument (line 39) | @Override
    method renderValue (line 44) | @Override
    class Visitor (line 49) | private class Visitor implements ValueConverter<String> {
      method renderDocument (line 51) | public void renderDocument(Object value) {
      method renderValue (line 66) | public void renderValue(Object value) {
      method convertNull (line 70) | @Override
      method convertString (line 75) | @Override
      method convertInt (line 80) | @Override
      method convertFloat (line 85) | @Override
      method convertBoolean (line 90) | @Override
      method convertDuration (line 95) | @Override
      method convertDataSize (line 102) | @Override
      method convertBytes (line 109) | @Override
      method convertPair (line 117) | @Override
      method convertList (line 124) | @Override
      method convertSet (line 131) | @Override
      method convertMap (line 137) | @Override
      method convertObject (line 143) | @Override
      method convertModule (line 150) | @Override
      method convertClass (line 157) | @Override
      method convertTypeAlias (line 165) | @Override
      method convertRegex (line 173) | @Override
      method doVisitMap (line 180) | private void doVisitMap(@Nullable String keyPrefix, Map<?, ?> map) {
      method doVisitKeyAndValue (line 186) | private void doVisitKeyAndValue(@Nullable String keyPrefix, Object k...
      method write (line 203) | private void write(String value, boolean escapeSpace, boolean restri...
      method writeSeparator (line 212) | private void writeSeparator() {
      method writeLineBreak (line 222) | private void writeLineBreak() {

FILE: pkl-core/src/main/java/org/pkl/core/Release.java
  method current (line 92) | public static Release current() {
  method getVersion (line 106) | @Deprecated(forRemoval = true)
  method getFilePage (line 115) | public String getFilePage(String path) {
  method getSourceCodeUrlScheme (line 122) | @Deprecated(forRemoval = true)
  method sourceCodeUrlScheme (line 128) | public String sourceCodeUrlScheme() {

FILE: pkl-core/src/main/java/org/pkl/core/RendererException.java
  class RendererException (line 18) | public final class RendererException extends RuntimeException {
    method RendererException (line 19) | public RendererException(String message) {

FILE: pkl-core/src/main/java/org/pkl/core/SecurityManager.java
  type SecurityManager (line 28) | public interface SecurityManager {
    method checkResolveModule (line 33) | void checkResolveModule(URI uri) throws SecurityManagerException;
    method checkImportModule (line 36) | void checkImportModule(URI importingModule, URI importedModule) throws...
    method checkReadResource (line 39) | void checkReadResource(URI resource) throws SecurityManagerException;
    method checkResolveResource (line 45) | void checkResolveResource(URI resource) throws SecurityManagerException;
    method resolveSecurePath (line 59) | default @Nullable Path resolveSecurePath(URI uri) throws SecurityManag...

FILE: pkl-core/src/main/java/org/pkl/core/SecurityManagerBuilder.java
  type SecurityManagerBuilder (line 29) | public interface SecurityManagerBuilder<B extends SecurityManagerBuilder...
    method addAllowedModule (line 30) | B addAllowedModule(Pattern pattern);
    method addAllowedModules (line 32) | B addAllowedModules(Collection<Pattern> patterns);
    method setAllowedModules (line 34) | B setAllowedModules(Collection<Pattern> patterns);
    method getAllowedModules (line 36) | List<Pattern> getAllowedModules();
    method addAllowedResource (line 38) | B addAllowedResource(Pattern pattern);
    method addAllowedResources (line 40) | B addAllowedResources(Collection<Pattern> patterns);
    method setAllowedResources (line 42) | B setAllowedResources(Collection<Pattern> patterns);
    method getAllowedResources (line 44) | List<Pattern> getAllowedResources();
    method setRootDir (line 46) | B setRootDir(@Nullable Path rootDir);
    method getRootDir (line 48) | @Nullable
    method build (line 51) | SecurityManager build();

FILE: pkl-core/src/main/java/org/pkl/core/SecurityManagerException.java
  class SecurityManagerException (line 23) | public final class SecurityManagerException extends Exception {
    method SecurityManagerException (line 24) | public SecurityManagerException(String message) {

FILE: pkl-core/src/main/java/org/pkl/core/SecurityManagers.java
  class SecurityManagers (line 31) | public final class SecurityManagers {
    method SecurityManagers (line 32) | private SecurityManagers() {}
    method getDefaultTrustLevel (line 80) | private static int getDefaultTrustLevel(URI uri) {
    method standard (line 117) | public static SecurityManager standard(
    method standardBuilder (line 126) | public static StandardBuilder standardBuilder() {
    class Standard (line 130) | private static class Standard implements SecurityManager {
      method Standard (line 136) | Standard(
      method checkResolveModule (line 147) | @Override
      method checkResolveResource (line 152) | @Override
      method checkReadResource (line 157) | @Override
      method checkImportModule (line 162) | @Override
      method resolveSecurePath (line 175) | @Override
      method normalizePath (line 188) | private @Nullable Path normalizePath(@Nullable Path path) {
      method checkRead (line 202) | private void checkRead(URI uri, List<Pattern> allowedPatterns, boole...
      method checkIsUnderRootDir (line 216) | private void checkIsUnderRootDir(URI uri, boolean isResource) throws...
    class StandardBuilder (line 248) | public static class StandardBuilder implements SecurityManagerBuilder<...
      method StandardBuilder (line 256) | private StandardBuilder() {}
      method addAllowedModule (line 258) | @Override
      method addAllowedModules (line 264) | @Override
      method setAllowedModules (line 270) | @Override
      method getAllowedModules (line 277) | @Override
      method addAllowedResource (line 282) | @Override
      method addAllowedResources (line 288) | @Override
      method setAllowedResources (line 294) | @Override
      method getAllowedResources (line 301) | @Override
      method setRootDir (line 306) | @Override
      method getRootDir (line 312) | @Override
      method build (line 317) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/StackFrame.java
  class StackFrame (line 24) | public final class StackFrame {
    method StackFrame (line 36) | public StackFrame(
    method getModuleUri (line 62) | public String getModuleUri() {
    method withModuleUri (line 67) | public StackFrame withModuleUri(String moduleUri) {
    method getMemberName (line 73) | public @Nullable String getMemberName() {
    method getSourceLines (line 81) | public List<String> getSourceLines() {
    method getStartLine (line 86) | public int getStartLine() {
    method getStartColumn (line 91) | public int getStartColumn() {
    method getEndLine (line 96) | public int getEndLine() {
    method getEndColumn (line 101) | public int getEndColumn() {
    method equals (line 105) | @Override
    method hashCode (line 118) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/StackFrameTransformer.java
  type StackFrameTransformer (line 21) | @FunctionalInterface
    method andThen (line 23) | default StackFrameTransformer andThen(StackFrameTransformer transforme...

FILE: pkl-core/src/main/java/org/pkl/core/StackFrameTransformers.java
  class StackFrameTransformers (line 28) | public final class StackFrameTransformers {
    method StackFrameTransformers (line 30) | private StackFrameTransformers() {}
    method transformUri (line 77) | private static StackFrame transformUri(StackFrame frame, String path, ...
    method convertFilePathToUriScheme (line 90) | public static StackFrameTransformer convertFilePathToUriScheme(String ...
    method relativizeModuleUri (line 99) | public static StackFrameTransformer relativizeModuleUri(URI baseUri) {
    method createDefault (line 107) | public static StackFrameTransformer createDefault(PklSettings settings) {
    method loadFromServiceProviders (line 113) | private static StackFrameTransformer loadFromServiceProviders() {

FILE: pkl-core/src/main/java/org/pkl/core/TestResults.java
  method totalTests (line 50) | public int totalTests() {
  method totalFailures (line 60) | public int totalFailures() {
  method totalAsserts (line 65) | public int totalAsserts() {
  method totalAssertsFailed (line 74) | public int totalAssertsFailed() {
  method failed (line 84) | public boolean failed() {
  method isExampleWrittenFailure (line 94) | public boolean isExampleWrittenFailure() {
  class Builder (line 104) | public static class Builder {
    method Builder (line 115) | public Builder(String moduleName, String displayUri) {
    method setError (line 120) | public Builder setError(Error error) {
    method setStdErr (line 125) | public Builder setStdErr(String stdErr) {
    method setFactsSection (line 130) | public Builder setFactsSection(TestSectionResults factsSection) {
    method setExamplesSection (line 136) | public Builder setExamplesSection(TestSectionResults examplesSection) {
    method build (line 142) | public TestResults build() {
    method Builder (line 262) | public Builder(String name) {
    method addSuccess (line 266) | public Builder addSuccess() {
    method getCount (line 271) | public int getCount() {
    method addFailure (line 275) | public Builder addFailure(Failure failure) {
    method addError (line 281) | public Builder addError(Error error) {
    method setExampleWritten (line 287) | public Builder setExampleWritten(boolean exampleWritten) {
    method build (line 292) | public TestResult build() {
  type TestSectionName (line 147) | public enum TestSectionName {
    method TestSectionName (line 153) | TestSectionName(final String name) {
    method toString (line 157) | @Override
  method totalTests (line 170) | public int totalTests() {
  method totalAsserts (line 174) | public int totalAsserts() {
  method totalAssertsFailedOrErrored (line 182) | public int totalAssertsFailedOrErrored() {
  method totalFailures (line 190) | public int totalFailures() {
  method failed (line 200) | public boolean failed() {
  method hasError (line 209) | public boolean hasError() {
  method totalAssertsFailedOrErrored (line 238) | public int totalAssertsFailedOrErrored() {
  method isFailure (line 242) | public boolean isFailure() {
  method hasErrors (line 246) | public boolean hasErrors() {
  method hasFailures (line 250) | public boolean hasFailures() {
  class Builder (line 254) | public static class Builder {
    method Builder (line 115) | public Builder(String moduleName, String displayUri) {
    method setError (line 120) | public Builder setError(Error error) {
    method setStdErr (line 125) | public Builder setStdErr(String stdErr) {
    method setFactsSection (line 130) | public Builder setFactsSection(TestSectionResults factsSection) {
    method setExamplesSection (line 136) | public Builder setExamplesSection(TestSectionResults examplesSection) {
    method build (line 142) | public TestResults build() {
    method Builder (line 262) | public Builder(String name) {
    method addSuccess (line 266) | public Builder addSuccess() {
    method getCount (line 271) | public int getCount() {
    method addFailure (line 275) | public Builder addFailure(Failure failure) {
    method addError (line 281) | public Builder addError(Error error) {
    method setExampleWritten (line 287) | public Builder setExampleWritten(boolean exampleWritten) {
    method build (line 292) | public TestResult build() {

FILE: pkl-core/src/main/java/org/pkl/core/TypeAlias.java
  class TypeAlias (line 25) | public final class TypeAlias extends Member implements Value {
    method TypeAlias (line 34) | public TypeAlias(
    method initAliasedType (line 49) | public void initAliasedType(PType type) {
    method getModuleName (line 58) | public String getModuleName() {
    method getQualifiedName (line 67) | public String getQualifiedName() {
    method getDisplayName (line 72) | public String getDisplayName() {
    method getTypeParameters (line 77) | public List<TypeParameter> getTypeParameters() {
    method getAliasedType (line 82) | public PType getAliasedType() {
    method accept (line 87) | @Override
    method accept (line 92) | @Override
    method getClassInfo (line 97) | @Override
    method toString (line 102) | public String toString() {

FILE: pkl-core/src/main/java/org/pkl/core/TypeParameter.java
  class TypeParameter (line 23) | public final class TypeParameter implements Serializable {
    method TypeParameter (line 32) | public TypeParameter(Variance variance, String name, int index) {
    method initOwner (line 43) | public void initOwner(Member owner) {
    method getOwner (line 49) | public Member getOwner() {
    method getVariance (line 55) | public Variance getVariance() {
    method getName (line 60) | public String getName() {
    method getIndex (line 68) | public int getIndex() {
    type Variance (line 73) | public enum Variance {

FILE: pkl-core/src/main/java/org/pkl/core/Value.java
  type Value (line 39) | public interface Value extends Serializable {
    method accept (line 41) | void accept(ValueVisitor visitor);
    method accept (line 44) | <T> T accept(ValueConverter<T> converter);
    method getClassInfo (line 47) | PClassInfo<?> getClassInfo();

FILE: pkl-core/src/main/java/org/pkl/core/ValueConverter.java
  type ValueConverter (line 24) | @SuppressWarnings("unused")
    method convertNull (line 26) | T convertNull();
    method convertString (line 28) | T convertString(String value);
    method convertBoolean (line 30) | T convertBoolean(Boolean value);
    method convertInt (line 32) | T convertInt(Long value);
    method convertFloat (line 34) | T convertFloat(Double value);
    method convertDuration (line 36) | T convertDuration(Duration value);
    method convertDataSize (line 38) | T convertDataSize(DataSize value);
    method convertBytes (line 40) | T convertBytes(byte[] value);
    method convertPair (line 42) | T convertPair(Pair<?, ?> value);
    method convertList (line 44) | T convertList(List<?> value);
    method convertSet (line 46) | T convertSet(Set<?> value);
    method convertMap (line 48) | T convertMap(Map<?, ?> value);
    method convertObject (line 50) | T convertObject(PObject value);
    method convertModule (line 52) | T convertModule(PModule value);
    method convertClass (line 54) | T convertClass(PClass value);
    method convertTypeAlias (line 56) | T convertTypeAlias(TypeAlias value);
    method convertRegex (line 58) | T convertRegex(Pattern value);
    method convert (line 60) | default T convert(Object value) {

FILE: pkl-core/src/main/java/org/pkl/core/ValueFormatter.java
  class ValueFormatter (line 20) | public final class ValueFormatter {
    method basic (line 29) | public static ValueFormatter basic() {
    method withCustomStringDelimiters (line 34) | public static ValueFormatter withCustomStringDelimiters() {
    method ValueFormatter (line 47) | public ValueFormatter(boolean useMultilineStrings, boolean useCustomSt...
    method formatStringValue (line 59) | @SuppressWarnings("unused")
    method formatStringValue (line 70) | public void formatStringValue(String value, CharSequence lineIndent, S...
    method formatStringValue (line 82) | public void formatStringValue(String value, CharSequence lineIndent, A...
    method formatSingleLineString (line 103) | private void formatSingleLineString(String value, Appendable appendabl...
    method formatMultilineString (line 152) | private void formatMultilineString(
    class StringFacts (line 207) | private static final class StringFacts {
      method StringFacts (line 216) | private StringFacts(
      method gather (line 246) | static StringFacts gather(final String value) {
      type PoundContext (line 315) | private enum PoundContext {

FILE: pkl-core/src/main/java/org/pkl/core/ValueRenderer.java
  type ValueRenderer (line 19) | public interface ValueRenderer {
    method renderDocument (line 28) | void renderDocument(Object value);
    method renderValue (line 31) | void renderValue(Object value);

FILE: pkl-core/src/main/java/org/pkl/core/ValueRenderers.java
  class ValueRenderers (line 21) | public final class ValueRenderers {
    method ValueRenderers (line 22) | private ValueRenderers() {}
    method pcf (line 30) | public static ValueRenderer pcf(
    method json (line 39) | public static ValueRenderer json(Writer writer, String indent, boolean...
    method yaml (line 49) | public static ValueRenderer yaml(
    method plist (line 55) | public static ValueRenderer plist(Writer writer, String indent) {
    method properties (line 67) | public static ValueRenderer properties(

FILE: pkl-core/src/main/java/org/pkl/core/ValueVisitor.java
  type ValueVisitor (line 25) | public interface ValueVisitor {
    method visitDefault (line 26) | default void visitDefault(@Nullable Object value) {}
    method visitNull (line 28) | default void visitNull() {
    method visitString (line 32) | default void visitString(String value) {
    method visitBoolean (line 36) | default void visitBoolean(Boolean value) {
    method visitInt (line 40) | default void visitInt(Long value) {
    method visitFloat (line 44) | default void visitFloat(Double value) {
    method visitDuration (line 48) | default void visitDuration(Duration value) {
    method visitDataSize (line 52) | default void visitDataSize(DataSize value) {
    method visitBytes (line 56) | default void visitBytes(byte[] value) {
    method visitPair (line 60) | default void visitPair(Pair<?, ?> value) {
    method visitList (line 64) | default void visitList(List<?> value) {
    method visitSet (line 68) | default void visitSet(Set<?> value) {
    method visitMap (line 72) | default void visitMap(Map<?, ?> value) {
    method visitObject (line 76) | default void visitObject(PObject value) {
    method visitModule (line 80) | default void visitModule(PModule value) {
    method visitClass (line 84) | default void visitClass(PClass value) {
    method visitTypeAlias (line 88) | default void visitTypeAlias(TypeAlias value) {
    method visitRegex (line 92) | default void visitRegex(Pattern value) {
    method visit (line 96) | default void visit(Object value) {

FILE: pkl-core/src/main/java/org/pkl/core/Version.java
  class Version (line 30) | @SuppressWarnings("Duplicates")
    method Version (line 65) | public Version(
    method parse (line 80) | public static Version parse(String version) {
    method parseOrNull (line 99) | public static @Nullable Version parseOrNull(String version) {
    method comparator (line 116) | public static Comparator<Version> comparator() {
    method getMajor (line 121) | public int getMajor() {
    method withMajor (line 126) | public Version withMajor(int major) {
    method getMinor (line 131) | public int getMinor() {
    method withMinor (line 136) | public Version withMinor(int minor) {
    method getPatch (line 141) | public int getPatch() {
    method withPatch (line 146) | public Version withPatch(int patch) {
    method getPreRelease (line 151) | public @Nullable String getPreRelease() {
    method withPreRelease (line 156) | public Version withPreRelease(@Nullable String preRelease) {
    method getBuild (line 161) | public @Nullable String getBuild() {
    method withBuild (line 166) | public Version withBuild(@Nullable String build) {
    method isNormal (line 171) | public boolean isNormal() {
    method isStable (line 176) | public boolean isStable() {
    method toNormal (line 181) | public Version toNormal() {
    method compareTo (line 188) | @Override
    method equals (line 194) | @Override
    method hashCode (line 204) | @Override
    method toString (line 209) | @Override
    method getPreReleaseIdentifiers (line 220) | private Identifier[] getPreReleaseIdentifiers() {
    class Identifier (line 236) | private static final class Identifier implements Comparable<Identifier> {
      method Identifier (line 240) | Identifier(long numericId, @Nullable String alphanumericId) {
      method compareTo (line 245) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/YamlRenderer.java
  class YamlRenderer (line 35) | final class YamlRenderer implements ValueRenderer {
    method YamlRenderer (line 42) | public YamlRenderer(Writer writer, int indent, boolean omitNullPropert...
    method renderDocument (line 88) | @Override
    method renderValue (line 110) | @Override
    class Visitor (line 121) | protected class Visitor implements ValueVisitor {
      method visitString (line 122) | @Override
      method visitInt (line 127) | @Override
      method visitFloat (line 132) | @Override
      method visitBoolean (line 137) | @Override
      method visitDuration (line 142) | @Override
      method visitDataSize (line 148) | @Override
      method visitBytes (line 154) | @Override
      method visitPair (line 159) | @Override
      method visitList (line 164) | @Override
      method visitSet (line 169) | @Override
      method visitMap (line 174) | @Override
      method visitObject (line 190) | @Override
      method visitModule (line 195) | @Override
      method visitClass (line 200) | @Override
      method visitTypeAlias (line 208) | @Override
      method visitNull (line 216) | @Override
      method visitRegex (line 221) | @Override
      method doVisitIterable (line 227) | private void doVisitIterable(Iterable<?> iterable, @Nullable String ...
      method doVisitProperties (line 235) | private void doVisitProperties(Map<String, ?> properties) {

FILE: pkl-core/src/main/java/org/pkl/core/ast/ByteConstantValueNode.java
  class ByteConstantValueNode (line 20) | public class ByteConstantValueNode extends ExpressionNode implements Con...
    method ByteConstantValueNode (line 24) | public ByteConstantValueNode(byte value) {
    method getValue (line 28) | @Override
    method getByteValue (line 33) | public byte getByteValue() {
    method executeGeneric (line 37) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/ast/ConstantNode.java
  type ConstantNode (line 18) | public interface ConstantNode {
    method getValue (line 19) | Object getValue();

FILE: pkl-core/src/main/java/org/pkl/core/ast/ConstantValueNode.java
  class ConstantValueNode (line 22) | @NodeInfo(shortName = "const")
    method ConstantValueNode (line 26) | public ConstantValueNode(SourceSection sourceSection, Object value) {
    method ConstantValueNode (line 31) | public ConstantValueNode(Object value) {
    method executeGeneric (line 35) | @Override
    method getValue (line 40) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/ast/ExpressionNode.java
  class ExpressionNode (line 29) | @GenerateWrapper
    method ExpressionNode (line 31) | protected ExpressionNode(SourceSection sourceSection) {
    method ExpressionNode (line 35) | protected ExpressionNode() {
    method executeGeneric (line 39) | public abstract Object executeGeneric(VirtualFrame frame);
    method executeInt (line 41) | public long executeInt(VirtualFrame frame) throws UnexpectedResultExce...
    method executeFloat (line 45) | public double executeFloat(VirtualFrame frame) throws UnexpectedResult...
    method executeBoolean (line 49) | public boolean executeBoolean(VirtualFrame frame) throws UnexpectedRes...
    method hasTag (line 53) | @Override
    method isInstrumentable (line 58) | @Override
    method createWrapper (line 63) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/ast/MemberLookupMode.java
  type MemberLookupMode (line 18) | public enum MemberLookupMode {

FILE: pkl-core/src/main/java/org/pkl/core/ast/MemberNode.java
  class MemberNode (line 26) | public abstract class MemberNode extends PklRootNode {
    method MemberNode (line 29) | protected MemberNode(
    method getHeaderSection (line 36) | public abstract SourceSection getHeaderSection();
    method getBodySection (line 38) | public final SourceSection getBodySection() {
    method getBodyNode (line 42) | public final ExpressionNode getBodyNode() {
    method exceptionBuilder (line 46) | protected final VmExceptionBuilder exceptionBuilder() {
    method isUndefined (line 50) | public boolean isUndefined(VirtualFrame frame) {

FILE: pkl-core/src/main/java/org/pkl/core/ast/PklNode.java
  class PklNode (line 28) | @NodeInfo(language = "Pkl")
    method PklNode (line 33) | protected PklNode(SourceSection sourceSection) {
    method PklNode (line 37) | protected PklNode() {
    method getSourceSection (line 41) | @Override
    method exceptionBuilder (line 49) | @TruffleBoundary
    method getShortName (line 54) | @TruffleBoundary
    method toString (line 59) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/ast/PklRootNode.java
  class PklRootNode (line 29) | @NodeInfo(language = "Pkl")
    method PklRootNode (line 32) | protected PklRootNode(@Nullable VmLanguage language, FrameDescriptor d...
    method getSourceSection (line 36) | public abstract SourceSection getSourceSection();
    method getName (line 38) | public abstract @Nullable String getName();
    method executeImpl (line 41) | protected abstract Object executeImpl(VirtualFrame frame);
    method execute (line 43) | @Override
    method exceptionBuilder (line 62) | protected VmExceptionBuilder exceptionBuilder() {

FILE: pkl-core/src/main/java/org/pkl/core/ast/SimpleRootNode.java
  class SimpleRootNode (line 23) | public final class SimpleRootNode extends PklRootNode {
    method SimpleRootNode (line 28) | public SimpleRootNode(
    method getSourceSection (line 41) | @Override
    method getName (line 46) | @Override
    method executeImpl (line 51) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/ast/VmModifier.java
  class VmModifier (line 24) | public final class VmModifier {
    method VmModifier (line 25) | private VmModifier() {}
    method isLocal (line 85) | public static boolean isLocal(int modifiers) {
    method isAbstract (line 89) | public static boolean isAbstract(int modifiers) {
    method isFixed (line 93) | public static boolean isFixed(int modifiers) {
    method isOpen (line 97) | public static boolean isOpen(int modifiers) {
    method isHidden (line 101) | public static boolean isHidden(int modifiers) {
    method isExternal (line 105) | public static boolean isExternal(int modifiers) {
    method isClass (line 109) | public static boolean isClass(int modifiers) {
    method isTypeAlias (line 113) | public static boolean isTypeAlias(int modifiers) {
    method isImport (line 117) | public static boolean isImport(int modifiers) {
    method isGlob (line 121) | public static boolean isGlob(int modifiers) {
    method isConst (line 125) | public static boolean isConst(int modifiers) {
    method isElement (line 129) | public static boolean isElement(int modifiers) {
    method isEntry (line 133) | public static boolean isEntry(int modifiers) {
    method isType (line 137) | public static boolean isType(int modifiers) {
    method isLocalOrExternalOrHidden (line 141) | public static boolean isLocalOrExternalOrHidden(int modifiers) {
    method isLocalOrExternalOrAbstract (line 145) | public static boolean isLocalOrExternalOrAbstract(int modifiers) {
    method isLocalOrExternalOrAbstractOrFixedOrConst (line 149) | public static boolean isLocalOrExternalOrAbstractOrFixedOrConst(int mo...
    method isConstOrFixed (line 153) | public static boolean isConstOrFixed(int modifiers) {
    method export (line 157) | public static Set<Modifier> export(int modifiers, boolean isClass) {
    method toString (line 169) | public static String toString(int modifier) {
    method getMirrors (line 185) | public static VmSet getMirrors(int modifiers, boolean isClass) {
    method isClosed (line 199) | public static boolean isClosed(int modifiers) {
    method isInstantiable (line 203) | public static boolean isInstantiable(int modifiers) {

FILE: pkl-core/src/main/java/org/pkl/core/ast/builder/AbstractAstBuilder.java
  class AbstractAstBuilder (line 30) | public abstract class AbstractAstBuilder<T> extends BaseParserVisitor<T> {
    method exceptionBuilder (line 34) | protected abstract VmExceptionBuilder exceptionBuilder();
    method AbstractAstBuilder (line 36) | protected AbstractAstBuilder(Source source) {
    method createSourceSection (line 40) | protected final @Nullable SourceSection createSourceSection(@Nullable ...
    method createDocSourceSection (line 46) | protected SourceSection @Nullable [] createDocSourceSection(@Nullable ...
    method createSourceSection (line 50) | protected SourceSection createSourceSection(Span span) {
    method createSourceSection (line 54) | protected final SourceSection createSourceSection(
    method createSourceSection (line 63) | protected static @Nullable SourceSection createSourceSection(Source so...
    method createDocSourceSection (line 68) | protected static SourceSection @Nullable [] createDocSourceSection(
    method createSourceSection (line 80) | protected static SourceSection createSourceSection(Source source, Span...

FILE: pkl-core/src/main/java/org/pkl/core/ast/builder/AstBuilder.java
  class AstBuilder (line 264) | public class AstBuilder extends AbstractAstBuilder<Object> {
    method AstBuilder (line 276) | public AstBuilder(
    method create (line 291) | public static AstBuilder create(
    method visitUnknownType (line 337) | @Override
    method visitNothingType (line 342) | @Override
    method visitModuleType (line 347) | @Override
    method visitStringConstantType (line 352) | @Override
    method visitDeclaredType (line 358) | @Override
    method visitParenthesizedType (line 386) | @Override
    method visitNullableType (line 391) | @Override
    method visitConstrainedType (line 396) | @Override
    method visitUnionType (line 412) | @Override
    method visitFunctionType (line 442) | @Override
    method visitThisExpr (line 453) | @Override
    method visitOuterExpr (line 475) | @Override
    method visitModuleExpr (line 490) | @Override
    method visitNullLiteralExpr (line 517) | @Override
    method visitBoolLiteralExpr (line 522) | @Override
    method parseNumber (line 531) | private <T> T parseNumber(IntLiteralExpr expr, BiFunction<String, Inte...
    method visitIntLiteralExpr (line 555) | @Override
    method visitFloatLiteralExpr (line 567) | @Override
    method remove_ (line 586) | private static String remove_(String number) {
    method visitThrowExpr (line 596) | @Override
    method visitTraceExpr (line 601) | @Override
    method visitImportExpr (line 606) | @Override
    method doVisitImport (line 612) | private AbstractImportNode doVisitImport(
    method visitReadExpr (line 626) | @Override
    method visitUnqualifiedAccessExpr (line 638) | @Override
    method visitStringConstant (line 678) | @Override
    method visitStringPart (line 683) | @Override
    method doVisitStringPart (line 688) | private ExpressionNode doVisitStringPart(StringPart spart, Span span) {
    method visitSingleLineStringLiteralExpr (line 698) | @Override
    method visitMultiLineStringLiteralExpr (line 715) | @Override
    method visitNewExpr (line 730) | @Override
    method doVisitNewExprWithExplicitParent (line 739) | private ExpressionNode doVisitNewExprWithExplicitParent(NewExpr newExp...
    method doVisitNewExprWithInferredParent (line 754) | private ExpressionNode doVisitNewExprWithInferredParent(NewExpr expr) {
    method visitAmendsExpr (line 826) | @Override
    method visitSuperAccessExpr (line 833) | @Override
    method visitSuperSubscriptExpr (line 858) | @Override
    method visitQualifiedAccessExpr (line 863) | @Override
    method visitSubscriptExpr (line 872) | @Override
    method visitNonNullExpr (line 878) | @Override
    method visitUnaryMinusExpr (line 883) | @Override
    method visitLogicalNotExpr (line 894) | @Override
    method visitBinaryOperatorExpr (line 899) | @Override
    method visitTypeCheckExpr (line 957) | @Override
    method visitTypeCastExpr (line 963) | @Override
    method visitIfExpr (line 969) | @Override
    method visitLetExpr (line 978) | @Override
    method visitFunctionLiteralExpr (line 1013) | @Override
    method visitParenthesizedExpr (line 1047) | @Override
    method doVisitListLiteral (line 1052) | private ExpressionNode doVisitListLiteral(Expr expr, ArgumentList argL...
    method doVisitSetLiteral (line 1065) | private ExpressionNode doVisitSetLiteral(Expr expr, ArgumentList argLi...
    method doVisitMapLiteral (line 1078) | private ExpressionNode doVisitMapLiteral(Expr expr, ArgumentList argLi...
    method doVisitBytesLiteral (line 1098) | private ExpressionNode doVisitBytesLiteral(Expr expr, ArgumentList arg...
    method createCollectionArgumentNodes (line 1110) | private Pair<ExpressionNode[], Boolean> createCollectionArgumentNodes(...
    method createCollectionArgumentBytesNodes (line 1124) | private Pair<ExpressionNode[], Boolean> createCollectionArgumentBytesN...
    method visitObjectMember (line 1150) | public GeneratorMemberNode visitObjectMember(org.pkl.parser.syntax.Obj...
    method visitObjectProperty (line 1154) | @Override
    method visitObjectMethod (line 1161) | @Override
    method visitMemberPredicate (line 1168) | @Override
    method visitObjectElement (line 1178) | @Override
    method visitObjectEntry (line 1186) | @Override
    method visitObjectSpread (line 1197) | @Override
    method visitWhenGenerator (line 1203) | @Override
    method doVisitForWhenBody (line 1216) | private GeneratorMemberNode[] doVisitForWhenBody(ObjectBody body) {
    method visitForGenerator (line 1226) | @Override
    method visitModule (line 1299) | @Override
    method doVisitModuleProperties (line 1412) | private EconomicMap<Object, ObjectMember> doVisitModuleProperties(
    method visitImportClause (line 1481) | @Override
    method visitClass (line 1514) | @Override
    method resolveBaseModuleClass (line 1602) | private ExpressionNode resolveBaseModuleClass(
    method visitModifier (line 1611) | @Override
    method doVisitClassProperties (line 1624) | private UnresolvedPropertyNode[] doVisitClassProperties(
    method doVisitMethodDefs (line 1637) | private UnresolvedMethodNode[] doVisitMethodDefs(List<ClassMethod> met...
    method visitClassProperty (line 1650) | @Override
    method visitClassMethod (line 1744) | @Override
    method visitTypeAlias (line 1821) | @Override
    method visitAnnotation (line 1873) | @Override
    method doVisitAnnotations (line 1895) | private ExpressionNode[] doVisitAnnotations(List<? extends Annotation>...
    method visitType (line 1903) | public UnresolvedTypeNode visitType(Type type) {
    method visitExpr (line 1907) | public ExpressionNode visitExpr(Expr expr) {
    method visitTypeParameterList (line 1911) | @Override
    method visitTypeAnnotation (line 1950) | @Override
    method visitArgumentList (line 1955) | @Override
    method defaultValue (line 1965) | @Override
    method doVisitTypeName (line 1970) | private ResolveDeclaredTypeNode doVisitTypeName(QualifiedIdentifier ct...
    method doVisitObjectBody (line 1998) | private ExpressionNode doVisitObjectBody(
    method doVisitObjectBody (line 2006) | private ExpressionNode doVisitObjectBody(ObjectBody body, ExpressionNo...
    method checkSpaceSeparatedObjectMembers (line 2134) | private void checkSpaceSeparatedObjectMembers(ObjectBody objectBody) {
    method doVisitObjectProperty (line 2152) | private ObjectMember doVisitObjectProperty(ObjectProperty prop) {
    method doVisitObjectProperty (line 2180) | private ObjectMember doVisitObjectProperty(
    method doVisitObjectProperty (line 2212) | private ObjectMember doVisitObjectProperty(
    method doVisitObjectEntry (line 2291) | private Pair<ExpressionNode, ObjectMember> doVisitObjectEntry(ObjectEn...
    method doVisitObjectElement (line 2300) | private ObjectMember doVisitObjectElement(ObjectElement element) {
    method doVisitObjectMethod (line 2331) | private ObjectMember doVisitObjectMethod(ObjectMethod method) {
    method doVisitObjectMethod (line 2335) | private ObjectMember doVisitObjectMethod(ObjectMethod method, boolean ...
    method doVisitObjectMethod (line 2348) | private ObjectMember doVisitObjectMethod(
    method doVisitGeneratorObjectBody (line 2409) | private GeneratorObjectLiteralNode doVisitGeneratorObjectBody(
    method doVisitGeneratorMemberNodes (line 2427) | private GeneratorMemberNode[] doVisitGeneratorMemberNodes(
    method doVisitPropertyInvocationExpr (line 2436) | private ExpressionNode doVisitPropertyInvocationExpr(QualifiedAccessEx...
    method doVisitMethodAccessExpr (line 2485) | private ExpressionNode doVisitMethodAccessExpr(QualifiedAccessExpr exp...
    method addConstantEntries (line 2517) | private void addConstantEntries(
    method doVisitModifiers (line 2536) | private int doVisitModifiers(
    method doVisitParameterTypes (line 2584) | private UnresolvedTypeNode[] doVisitParameterTypes(ObjectBody body) {
    method doVisitParameterTypes (line 2588) | private UnresolvedTypeNode[] doVisitParameterTypes(ParameterList param...
    method doVisitParameterTypes (line 2592) | private UnresolvedTypeNode[] doVisitParameterTypes(List<Parameter> par...
    method addProperty (line 2606) | private void addProperty(EconomicMap<Object, ObjectMember> objectMembe...
    method doVisitObjectEntryBody (line 2615) | private ObjectMember doVisitObjectEntryBody(
    method needsConst (line 2662) | private boolean needsConst(ExpressionNode receiver) {
    method createFrameDescriptorBuilder (line 2685) | private FrameDescriptor.Builder createFrameDescriptorBuilder(Parameter...
    method createFrameDescriptorBuilder (line 2697) | private @Nullable FrameDescriptor.Builder createFrameDescriptorBuilder...
    method checkNotInsideForGenerator (line 2711) | private void checkNotInsideForGenerator(Node ctx, String errorMessageK...
    method checkDuplicateMember (line 2729) | private void checkDuplicateMember(
    method exceptionBuilder (line 2744) | protected VmExceptionBuilder exceptionBuilder() {
    method getParentLexicalScope (line 2749) | private @Nullable SymbolTable.Scope getParentLexicalScope() {
    method toIdentifier (line 2755) | private org.pkl.core.runtime.Identifier toIdentifier(String text) {
    method createResolveVariableNode (line 2759) | private ExpressionNode createResolveVariableNode(
    method resolveImport (line 2771) | private URI resolveImport(String importUri, StringConstant ctx) {
    method getConstLevel (line 2836) | private ConstLevel getConstLevel(int modifiers) {
    method missingLocalPropertyValue (line 2841) | private VmException missingLocalPropertyValue(TypeAnnotation typeAnn) {
    method unavailableSourceSection (line 2849) | private static SourceSection unavailableSourceSection() {

FILE: pkl-core/src/main/java/org/pkl/core/ast/builder/CannotInvokeAbstractFunctionNode.java
  class CannotInvokeAbstractFunctionNode (line 23) | public final class CannotInvokeAbstractFunctionNode extends ExpressionNo...
    method CannotInvokeAbstractFunctionNode (line 26) | public CannotInvokeAbstractFunctionNode(SourceSection section, String ...
    method executeGeneric (line 31) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/ast/builder/CannotInvokeAbstractPropertyNode.java
  class CannotInvokeAbstractPropertyNode (line 23) | public final class CannotInvokeAbstractPropertyNode extends ExpressionNo...
    method CannotInvokeAbstractPropertyNode (line 26) | public CannotInvokeAbstractPropertyNode(SourceSection section, String ...
    method executeGeneric (line 31) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/ast/builder/ConstLevel.java
  type ConstLevel (line 18) | public enum ConstLevel {
    method isConst (line 23) | public boolean isConst() {
    method biggerOrEquals (line 27) | public boolean biggerOrEquals(ConstLevel other) {
    method bigger (line 31) | public boolean bigger(ConstLevel other) {

FILE: pkl-core/src/main/java/org/pkl/core/ast/builder/ImportsAndReadsParser.java
  class ImportsAndReadsParser (line 55) | public class ImportsAndReadsParser extends AbstractAstBuilder<@Nullable ...
    method parse (line 66) | public static List<Entry> parse(ModuleKey moduleKey, ResolvedModuleKey...
    method ImportsAndReadsParser (line 80) | public ImportsAndReadsParser(Source source) {
    method exceptionBuilder (line 84) | @Override
    method visitExtendsOrAmendsClause (line 89) | @Override
    method visitImportClause (line 103) | @Override
    method visitImportExpr (line 111) | @Override
    method visitReadExpr (line 119) | @Override
    method doVisitReadExpr (line 124) | public List<Entry> doVisitReadExpr(Expr expr, boolean isGlob) {
    method aggregateResult (line 143) | @Override
    method defaultValue (line 158) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/ast/builder/SymbolTable.java
  class SymbolTable (line 34) | public final class SymbolTable {
    method SymbolTable (line 37) | public SymbolTable(ModuleInfo moduleInfo) {
    method getCurrentScope (line 41) | public Scope getCurrentScope() {
    method findTypeParameter (line 45) | public @Nullable TypeParameter findTypeParameter(String name) {
    method enterClass (line 54) | public ObjectMember enterClass(
    method enterTypeAlias (line 68) | public ObjectMember enterTypeAlias(
    method enterMethod (line 82) | public <T> T enterMethod(
    method enterForGenerator (line 99) | public <T> T enterForGenerator(
    method enterLambda (line 112) | public <T> T enterLambda(
    method enterProperty (line 128) | public <T> T enterProperty(
    method enterEntry (line 136) | public <T> T enterEntry(
    method enterCustomThisScope (line 148) | public <T> T enterCustomThisScope(Function<CustomThisScope, T> nodeFac...
    method enterAnnotationScope (line 153) | public <T> T enterAnnotationScope(Function<AnnotationScope, T> nodeFac...
    method enterObjectScope (line 158) | public <T> T enterObjectScope(Function<ObjectScope, T> nodeFactory) {
    method doEnter (line 162) | private <T, S extends Scope> T doEnter(S scope, Function<S, T> nodeFac...
    method toQualifiedName (line 172) | private String toQualifiedName(Identifier name) {
    class Scope (line 177) | public abstract static class Scope {
      method Scope (line 186) | private Scope(
      method getParent (line 203) | public final @Nullable Scope getParent() {
      method getName (line 207) | public final Identifier getName() {
      method getNameOrNull (line 212) | public final @Nullable Identifier getNameOrNull() {
      method getQualifiedName (line 216) | public final String getQualifiedName() {
      method buildFrameDescriptor (line 220) | public FrameDescriptor buildFrameDescriptor() {
      method newFrameDescriptorBuilder (line 228) | public FrameDescriptor.Builder newFrameDescriptorBuilder() {
      method newForGeneratorMemberDescriptorBuilder (line 233) | public FrameDescriptor.Builder newForGeneratorMemberDescriptorBuilde...
      method newFrameDescriptorBuilder (line 239) | private static FrameDescriptor.Builder newFrameDescriptorBuilder(Fra...
      method getTypeParameter (line 248) | public @Nullable TypeParameter getTypeParameter(String name) {
      method getLexicalScope (line 252) | public final Scope getLexicalScope() {
      method getConstDepth (line 275) | public int getConstDepth() {
      method getNextLambdaName (line 289) | private String getNextLambdaName() {
      method getNextEntryName (line 293) | protected String getNextEntryName(@Nullable ExpressionNode keyNode) {
      method skipLambdaScopes (line 312) | public final Scope skipLambdaScopes() {
      method isModuleScope (line 321) | public final boolean isModuleScope() {
      method isClassScope (line 325) | public final boolean isClassScope() {
      method isClassMemberScope (line 329) | public final boolean isClassMemberScope() {
      method isLambdaScope (line 338) | public final boolean isLambdaScope() {
      method isCustomThisScope (line 342) | public final boolean isCustomThisScope() {
      method isLexicalScope (line 346) | public final boolean isLexicalScope() {
      method isForGeneratorScope (line 350) | public final boolean isForGeneratorScope() {
      method getConstLevel (line 354) | public ConstLevel getConstLevel() {
    type LexicalScope (line 359) | private interface LexicalScope {}
    class ObjectScope (line 361) | public static class ObjectScope extends Scope implements LexicalScope {
      method ObjectScope (line 362) | private ObjectScope(Scope parent, Builder frameDescriptorBuilder) {
    class TypeParameterizableScope (line 372) | public abstract static class TypeParameterizableScope extends Scope {
      method TypeParameterizableScope (line 375) | public TypeParameterizableScope(
      method getTypeParameter (line 386) | @Override
    class ModuleScope (line 395) | public static final class ModuleScope extends Scope implements Lexical...
      method ModuleScope (line 398) | public ModuleScope(ModuleInfo moduleInfo) {
    class MethodScope (line 404) | public static final class MethodScope extends TypeParameterizableScope {
      method MethodScope (line 405) | public MethodScope(
    class LambdaScope (line 416) | public static final class LambdaScope extends Scope implements Lexical...
      method LambdaScope (line 417) | public LambdaScope(
    class ForGeneratorScope (line 423) | public static final class ForGeneratorScope extends Scope implements L...
      method ForGeneratorScope (line 426) | public ForGeneratorScope(
      method buildMemberDescriptor (line 435) | public FrameDescriptor buildMemberDescriptor() {
      method getNextEntryName (line 439) | @Override
    class PropertyScope (line 447) | public static final class PropertyScope extends Scope {
      method PropertyScope (line 448) | public PropertyScope(
    class EntryScope (line 458) | public static final class EntryScope extends Scope {
      method EntryScope (line 459) | public EntryScope(
    class ClassScope (line 465) | public static final class ClassScope extends TypeParameterizableScope ...
      method ClassScope (line 466) | public ClassScope(
    class TypeAliasScope (line 476) | public static final class TypeAliasScope extends TypeParameterizableSc...
      method TypeAliasScope (line 477) | public TypeAliasScope(
    class CustomThisScope (line 493) | public static final class CustomThisScope extends Scope {
      method toString (line 496) | @Override
      method CustomThisScope (line 502) | public CustomThisScope(Scope parent, FrameDescriptor.Builder frameDe...
    class AnnotationScope (line 512) | public static final class AnnotationScope extends Scope implements Lex...
      method AnnotationScope (line 513) | public AnnotationScope(Scope parent, FrameDescriptor.Builder frameDe...

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/binary/AdditionNode.java
  class AdditionNode (line 25) | @NodeInfo(shortName = "+")
    method AdditionNode (line 27) | protected AdditionNode(SourceSection sourceSection) {
    method eval (line 31) | @Specialization
    method eval (line 37) | @Specialization
    method eval (line 47) | @Specialization
    method eval (line 52) | @Specialization
    method eval (line 57) | @Specialization
    method eval (line 62) | @Specialization
    method eval (line 67) | @Specialization
    method eval (line 72) | @Specialization
    method eval (line 77) | @Specialization
    method eval (line 82) | @Specialization

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/binary/BinaryExpressionNode.java
  class BinaryExpressionNode (line 25) | @NodeChild(value = "leftNode", type = ExpressionNode.class)
    method BinaryExpressionNode (line 28) | protected BinaryExpressionNode(SourceSection sourceSection) {
    method getLeftNode (line 32) | protected abstract ExpressionNode getLeftNode();
    method getRightNode (line 34) | protected abstract ExpressionNode getRightNode();
    method fallback (line 36) | @Fallback

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/binary/ComparatorNode.java
  class ComparatorNode (line 21) | public abstract class ComparatorNode extends BinaryExpressionNode {
    method ComparatorNode (line 22) | protected ComparatorNode(SourceSection sourceSection) {
    method executeWith (line 26) | public abstract boolean executeWith(VirtualFrame frame, Object left, O...

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/binary/DivisionNode.java
  class DivisionNode (line 23) | @NodeInfo(shortName = "/")
    method DivisionNode (line 25) | protected DivisionNode(SourceSection sourceSection) {
    method eval (line 29) | @Specialization
    method eval (line 34) | @Specialization
    method eval (line 39) | @Specialization
    method eval (line 44) | @Specialization
    method eval (line 49) | @Specialization
    method eval (line 54) | @Specialization
    method eval (line 59) | @Specialization
    method eval (line 64) | @Specialization
    method eval (line 69) | @Specialization
    method eval (line 74) | @Specialization

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/binary/EqualNode.java
  class EqualNode (line 28) | @NodeInfo(shortName = "==")
    method EqualNode (line 33) | protected EqualNode(SourceSection sourceSection) {
    method eval (line 37) | @Specialization
    method eval (line 42) | @Specialization
    method eval (line 47) | @Specialization
    method eval (line 52) | @Specialization
    method eval (line 57) | @Specialization
    method eval (line 62) | @Specialization
    method eval (line 72) | @Specialization(
    method equals (line 86) | @TruffleBoundary
    method getVmValueJavaClassOrNull (line 91) | protected static @Nullable Class<? extends VmValue> getVmValueJavaClas...
    method eval (line 97) | @Specialization(guards = "isIncompatibleTypes(left, right)")
    method isIncompatibleTypes (line 103) | protected static boolean isIncompatibleTypes(Object left, Object right) {

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/binary/ExponentiationNode.java
  class ExponentiationNode (line 25) | @NodeInfo(shortName = "**")
    method ExponentiationNode (line 27) | public ExponentiationNode(SourceSection sourceSection) {
    method evalPositive (line 31) | @Specialization(guards = "y >= 0")
    method evalNegative (line 36) | @Specialization(guards = "y < 0")
    method eval (line 41) | @Specialization
    method eval (line 46) | @Specialization
    method eval (line 51) | @Specialization
    method eval (line 56) | @Specialization
    method eval (line 61) | @Specialization
    method eval (line 66) | @Specialization
    method eval (line 71) | @Specialization

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/binary/GreaterThanNode.java
  class GreaterThanNode (line 27) | @NodeInfo(shortName = ">")
    method GreaterThanNode (line 30) | protected GreaterThanNode(SourceSection sourceSection) {
    method eval (line 34) | @Specialization
    method eval (line 40) | @Specialization
    method eval (line 45) | @Specialization
    method eval (line 50) | @Specialization
    method eval (line 55) | @Specialization
    method eval (line 60) | @Specialization
    method eval (line 65) | @Specialization
    method createWrapper (line 70) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/binary/GreaterThanOrEqualNode.java
  class GreaterThanOrEqualNode (line 25) | @NodeInfo(shortName = ">=")
    method GreaterThanOrEqualNode (line 27) | protected GreaterThanOrEqualNode(SourceSection sourceSection) {
    method eval (line 31) | @Specialization
    method eval (line 37) | @Specialization
    method eval (line 42) | @Specialization
    method eval (line 47) | @Specialization
    method eval (line 52) | @Specialization
    method eval (line 57) | @Specialization
    method eval (line 62) | @Specialization

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/binary/LessThanNode.java
  class LessThanNode (line 27) | @NodeInfo(shortName = "<")
    method LessThanNode (line 30) | protected LessThanNode(SourceSection sourceSection) {
    method eval (line 34) | @Specialization
    method eval (line 40) | @Specialization
    method eval (line 45) | @Specialization
    method eval (line 50) | @Specialization
    method eval (line 55) | @Specialization
    method eval (line 60) | @Specialization
    method eval (line 65) | @Specialization
    method createWrapper (line 70) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/binary/LessThanOrEqualNode.java
  class LessThanOrEqualNode (line 25) | @NodeInfo(shortName = "<=")
    method LessThanOrEqualNode (line 27) | protected LessThanOrEqualNode(SourceSection sourceSection) {
    method executeWith (line 31) | public abstract boolean executeWith(Object left, Object right);
    method eval (line 33) | @Specialization
    method eval (line 39) | @Specialization
    method eval (line 44) | @Specialization
    method eval (line 49) | @Specialization
    method eval (line 54) | @Specialization
    method eval (line 59) | @Specialization
    method eval (line 64) | @Specialization

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/binary/LetExprNode.java
  class LetExprNode (line 30) | public final class LetExprNode extends ExpressionNode {
    method LetExprNode (line 39) | public LetExprNode(
    method executeGeneric (line 51) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/binary/LogicalAndNode.java
  class LogicalAndNode (line 25) | @NodeInfo(shortName = "&&")
    method LogicalAndNode (line 27) | protected LogicalAndNode(SourceSection sourceSection, ExpressionNode r...
    method eval (line 31) | @Specialization

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/binary/LogicalOrNode.java
  class LogicalOrNode (line 25) | @NodeInfo(shortName = "||")
    method LogicalOrNode (line 27) | protected LogicalOrNode(SourceSection sourceSection, ExpressionNode ri...
    method eval (line 31) | @Specialization

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/binary/MultiplicationNode.java
  class MultiplicationNode (line 24) | @NodeInfo(shortName = "*")
    method MultiplicationNode (line 26) | protected MultiplicationNode(SourceSection sourceSection) {
    method eval (line 30) | @Specialization
    method eval (line 40) | @Specialization
    method eval (line 45) | @Specialization
    method eval (line 50) | @Specialization
    method eval (line 55) | @Specialization
    method eval (line 60) | @Specialization
    method eval (line 65) | @Specialization
    method eval (line 70) | @Specialization
    method eval (line 75) | @Specialization
    method eval (line 80) | @Specialization
    method eval (line 85) | @Specialization
    method eval (line 90) | @Specialization

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/binary/NotEqualNode.java
  class NotEqualNode (line 28) | @NodeInfo(shortName = "!=")
    method NotEqualNode (line 33) | protected NotEqualNode(SourceSection sourceSection) {
    method eval (line 37) | @Specialization
    method eval (line 42) | @Specialization
    method eval (line 47) | @Specialization
    method eval (line 52) | @Specialization
    method eval (line 57) | @Specialization
    method eval (line 62) | @Specialization
    method eval (line 72) | @Specialization(
    method equals (line 86) | @TruffleBoundary
    method getVmValueJavaClassOrNull (line 91) | protected static @Nullable Class<? extends VmValue> getVmValueJavaClas...
    method eval (line 97) | @Specialization(guards = "isIncompatibleTypes(left, right)")
    method isIncompatibleTypes (line 103) | @SuppressWarnings("JavaExistingMethodCanBeUsed")

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/binary/NullCoalescingNode.java
  class NullCoalescingNode (line 26) | @NodeInfo(shortName = "??")
    method NullCoalescingNode (line 28) | protected NullCoalescingNode(SourceSection sourceSection, ExpressionNo...
    method eval (line 32) | @Specialization
    method fallback (line 38) | @Fallback

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/binary/PipeNode.java
  class PipeNode (line 24) | @NodeInfo(shortName = "|>")
    method PipeNode (line 28) | protected PipeNode(SourceSection sourceSection) {
    method eval (line 32) | @Specialization

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/binary/RemainderNode.java
  class RemainderNode (line 25) | @NodeInfo(shortName = "%")
    method RemainderNode (line 28) | protected RemainderNode(SourceSection sourceSection) {
    method eval (line 32) | @Specialization
    method eval (line 37) | @Specialization
    method eval (line 42) | @Specialization
    method eval (line 47) | @Specialization
    method eval (line 52) | @Specialization
    method eval (line 57) | @Specialization
    method eval (line 62) | @Specialization
    method eval (line 67) | @Specialization

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/binary/ShortCircuitingExpressionNode.java
  class ShortCircuitingExpressionNode (line 30) | @NodeChild(value = "leftNode", type = ExpressionNode.class)
    method getLeftNode (line 34) | protected abstract ExpressionNode getLeftNode();
    method ShortCircuitingExpressionNode (line 36) | protected ShortCircuitingExpressionNode(SourceSection sourceSection, E...
    method fallback (line 41) | @Fallback
    method operatorNotDefined (line 47) | @TruffleBoundary
    method operatorNotDefined (line 55) | @TruffleBoundary

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/binary/SubscriptNode.java
  class SubscriptNode (line 28) | @NodeInfo(shortName = "[]")
    method SubscriptNode (line 30) | protected SubscriptNode(SourceSection sourceSection) {
    method eval (line 34) | @Specialization
    method eval (line 53) | @Specialization
    method eval (line 65) | @Specialization
    method eval (line 74) | @Specialization
    method eval (line 87) | @Specialization
    method eval (line 94) | @Specialization
    method eval (line 101) | @Specialization
    method readMember (line 113) | private Object readMember(VmObject object, Object key, IndirectCallNod...

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/binary/SubtractionNode.java
  class SubtractionNode (line 24) | @NodeInfo(shortName = "-")
    method SubtractionNode (line 26) | protected SubtractionNode(SourceSection sourceSection) {
    method eval (line 30) | @Specialization
    method eval (line 40) | @Specialization
    method eval (line 45) | @Specialization
    method eval (line 50) | @Specialization
    method eval (line 55) | @Specialization
    method eval (line 60) | @Specialization

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/binary/TruncatingDivisionNode.java
  class TruncatingDivisionNode (line 28) | @NodeInfo(shortName = "~/")
    method TruncatingDivisionNode (line 31) | protected TruncatingDivisionNode(SourceSection sourceSection) {
    method eval (line 35) | @Specialization
    method eval (line 53) | @Specialization
    method eval (line 58) | @Specialization
    method eval (line 63) | @Specialization
    method eval (line 68) | @Specialization
    method eval (line 74) | @Specialization
    method eval (line 80) | @Specialization
    method eval (line 89) | @Specialization
    method eval (line 95) | @Specialization
    method eval (line 101) | @Specialization
    method doTruncatingDivide (line 112) | private long doTruncatingDivide(double x, double y) {

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/generator/GeneratorElementNode.java
  class GeneratorElementNode (line 29) | @ImportStatic(BaseModule.class)
    method GeneratorElementNode (line 33) | protected GeneratorElementNode(ObjectMember element, boolean isFrameSt...
    method evalDynamic (line 38) | @Specialization
    method evalListing (line 44) | @Specialization
    method evalDynamicClass (line 50) | @SuppressWarnings("unused")
    method evalListingClass (line 56) | @SuppressWarnings("unused")
    method fallback (line 62) | @Fallback

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/generator/GeneratorEntryNode.java
  class GeneratorEntryNode (line 29) | @ImportStatic(BaseModule.class)
    method GeneratorEntryNode (line 34) | protected GeneratorEntryNode(ExpressionNode keyNode, ObjectMember memb...
    method evalDynamic (line 40) | @Specialization
    method evalMapping (line 46) | @Specialization
    method evalListing (line 52) | @Specialization
    method evalDynamicClass (line 58) | @SuppressWarnings("unused")
    method evalMappingClass (line 64) | @SuppressWarnings("unused")
    method evalListingClass (line 70) | @SuppressWarnings("unused")
    method fallback (line 77) | @Fallback
    method addRegularEntry (line 84) | private void addRegularEntry(VirtualFrame frame, ObjectData data) {
    method addListingEntry (line 89) | private void addListingEntry(VirtualFrame frame, ObjectData data, int ...

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/generator/GeneratorForNode.java
  class GeneratorForNode (line 32) | public abstract class GeneratorForNode extends GeneratorMemberNode {
    method GeneratorForNode (line 41) | public GeneratorForNode(
    method executeWithIterable (line 66) | protected abstract void executeWithIterable(
    method execute (line 69) | @Override
    method eval (line 75) | @Specialization
    method eval (line 80) | @Specialization
    method eval (line 85) | @Specialization
    method eval (line 90) | @Specialization
    method eval (line 98) | @Specialization
    method eval (line 105) | @Specialization
    method eval (line 113) | @Specialization
    method eval (line 121) | @Specialization
    method fallback (line 129) | @Fallback
    method doEvalObject (line 140) | private void doEvalObject(VirtualFrame frame, VmObject iterable, Objec...
    method executeIteration (line 152) | @ExplodeLoop
    method initialize (line 175) | private void initialize(VirtualFrame frame) {

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/generator/GeneratorMemberNode.java
  class GeneratorMemberNode (line 30) | public abstract class GeneratorMemberNode extends PklNode {
    method GeneratorMemberNode (line 33) | protected GeneratorMemberNode(SourceSection sourceSection, boolean isF...
    method execute (line 38) | public abstract void execute(VirtualFrame frame, Object parent, Object...
    method duplicateDefinition (line 40) | protected VmException duplicateDefinition(Object key, ObjectMember mem...
    method isTypedObjectClass (line 48) | @Idempotent
    method checkIsValidTypedProperty (line 54) | @Idempotent

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/generator/GeneratorObjectLiteralNode.java
  class GeneratorObjectLiteralNode (line 37) | @ImportStatic(BaseModule.class)
    method GeneratorObjectLiteralNode (line 41) | public GeneratorObjectLiteralNode(
    method copy (line 60) | protected GeneratorObjectLiteralNode copy(ExpressionNode newParentNode) {
    method evalDynamic (line 73) | @Specialization(guards = "checkObjectCannotHaveParameters()")
    method evalTyped (line 83) | @Specialization(guards = "checkObjectCannotHaveParameters()")
    method evalListing (line 94) | @Specialization(guards = "checkListingCannotHaveParameters()")
    method evalMapping (line 104) | @Specialization(guards = "checkMappingCannotHaveParameters()")
    method evalNull (line 114) | @Specialization(guards = "checkObjectCannotHaveParameters()")
    method evalFunction (line 120) | @Specialization(guards = "checkIsValidFunctionAmendment(parent)")
    method evalDynamicClass (line 130) | @Specialization(guards = {"parent == getDynamicClass()", "checkObjectC...
    method evalMappingClass (line 141) | @Specialization(guards = {"parent == getMappingClass()", "checkMapping...
    method evalListingClass (line 151) | @Specialization(guards = {"parent == getListingClass()", "checkListing...
    method evalTypedObjectClass (line 162) | @Specialization(guards = {"isTypedObjectClass(parent)", "checkObjectCa...
    method fallback (line 173) | @Fallback
    method checkObjectCannotHaveParameters (line 182) | @Idempotent
    method checkListingCannotHaveParameters (line 193) | @Idempotent
    method checkMappingCannotHaveParameters (line 204) | @Idempotent
    method executeChildren (line 215) | @ExplodeLoop

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/generator/GeneratorPredicateMemberNode.java
  class GeneratorPredicateMemberNode (line 31) | public abstract class GeneratorPredicateMemberNode extends GeneratorMemb...
    method GeneratorPredicateMemberNode (line 37) | protected GeneratorPredicateMemberNode(
    method evalDynamic (line 44) | @Specialization
    method evalMapping (line 50) | @Specialization
    method evalListing (line 56) | @Specialization
    method fallback (line 62) | @Fallback
    method addMembers (line 81) | private void addMembers(VirtualFrame frame, VmObject parent, ObjectDat...
    method initThisSlot (line 130) | private void initThisSlot(VirtualFrame frame) {

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/generator/GeneratorPropertyNode.java
  class GeneratorPropertyNode (line 27) | @ImportStatic({BaseModule.class, GeneratorObjectLiteralNode.class})
    method GeneratorPropertyNode (line 31) | protected GeneratorPropertyNode(ObjectMember member) {
    method evalDynamic (line 37) | @Specialization
    method evalTyped (line 43) | @SuppressWarnings("unused")
    method evalMapping (line 49) | @SuppressWarnings("unused")
    method evalListing (line 55) | @SuppressWarnings("unused")
    method evalDynamicClass (line 61) | @SuppressWarnings("unused")
    method evalMappingClass (line 67) | @SuppressWarnings("unused")
    method evalListingClass (line 73) | @SuppressWarnings("unused")
    method evalTypedObjectClass (line 79) | @SuppressWarnings("unused")
    method fallback (line 86) | @Fallback
    method checkIsValidListingProperty (line 98) | @Idempotent
    method checkIsValidMappingProperty (line 109) | @Idempotent

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/generator/GeneratorSpreadNode.java
  class GeneratorSpreadNode (line 47) | @ImportStatic(BaseModule.class)
    method GeneratorSpreadNode (line 52) | public GeneratorSpreadNode(
    method executeWithIterable (line 59) | protected abstract void executeWithIterable(
    method execute (line 62) | @Override
    method eval (line 67) | @Specialization
    method eval (line 85) | @Specialization(guards = "!iterable.isTyped()")
    method eval (line 91) | @Specialization(guards = "!iterable.isTyped()")
    method eval (line 97) | @Specialization(guards = "!iterable.isTyped()")
    method evalDynamicClass (line 103) | @Specialization(guards = {"parent == getDynamicClass()", "!iterable.is...
    method evalListingClass (line 110) | @Specialization(guards = {"parent == getListingClass()", "!iterable.is...
    method evalMappingClass (line 117) | @Specialization(guards = {"parent == getMappingClass()", "!iterable.is...
    method evalTypedClass (line 124) | @Specialization(guards = {"isTypedObjectClass(parent)", "!iterable.isT...
    method eval (line 130) | @Specialization(guards = {"!iterable.isTyped()"})
    method eval (line 135) | @Specialization
    method eval (line 140) | @Specialization
    method eval (line 145) | @Specialization
    method eval (line 150) | @Specialization
    method eval (line 155) | @Specialization
    method eval (line 160) | @Specialization
    method eval (line 165) | @Specialization
    method eval (line 170) | @Specialization
    method fallback (line 175) | @Fallback
    method doEvalDynamic (line 191) | protected void doEvalDynamic(VirtualFrame frame, ObjectData data, VmOb...
    method doEvalMapping (line 203) | private void doEvalMapping(VirtualFrame frame, ObjectData data, VmObje...
    method doEvalListing (line 214) | private void doEvalListing(VirtualFrame frame, ObjectData data, VmObje...
    method doEvalTyped (line 225) | private void doEvalTyped(VirtualFrame frame, VmClass clazz, ObjectData...
    method doEvalCollection (line 238) | private void doEvalCollection(
    method doEvalMap (line 252) | private void doEvalMap(VirtualFrame frame, VmClass parent, ObjectData ...
    method doEvalIntSeq (line 267) | private void doEvalIntSeq(
    method doEvalBytes (line 280) | private void doEvalBytes(VirtualFrame frame, VmClass parent, ObjectDat...
    method cannotHaveMember (line 292) | private void cannotHaveMember(VmClass clazz, ObjectMember member) {
    method duplicateDefinition (line 314) | @Override
    method createMember (line 333) | private ObjectMember createMember(ObjectMember prototype, Object value) {
    method spreadIterable (line 351) | private void spreadIterable(VirtualFrame frame, ObjectData data, Itera...

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/generator/GeneratorWhenNode.java
  class GeneratorWhenNode (line 26) | public final class GeneratorWhenNode extends GeneratorMemberNode {
    method GeneratorWhenNode (line 31) | public GeneratorWhenNode(
    method execute (line 43) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/generator/ObjectData.java
  class ObjectData (line 29) | public final class ObjectData {
    method ObjectData (line 43) | ObjectData(int parentLength) {
    method members (line 50) | UnmodifiableEconomicMap<Object, ObjectMember> members() {
    method length (line 54) | int length() {
    method hasNoMembers (line 58) | boolean hasNoMembers() {
    method hasNoGeneratorFrames (line 62) | boolean hasNoGeneratorFrames() {
    method addElement (line 66) | void addElement(VirtualFrame frame, ObjectMember member, GeneratorMemb...
    method addProperty (line 71) | void addProperty(VirtualFrame frame, ObjectMember member, GeneratorMem...
    method addMember (line 75) | void addMember(VirtualFrame frame, Object key, ObjectMember member, Ge...
    method storeGeneratorFrames (line 85) | <T extends VmObject> T storeGeneratorFrames(T object) {
    method getGeneratorFrame (line 90) | static MaterializedFrame getGeneratorFrame(VirtualFrame frame) {

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/generator/RestoreForBindingsNode.java
  class RestoreForBindingsNode (line 25) | public final class RestoreForBindingsNode extends ExpressionNode {
    method RestoreForBindingsNode (line 28) | public RestoreForBindingsNode(ExpressionNode child) {
    method executeGeneric (line 33) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/literal/AmendFunctionNode.java
  class AmendFunctionNode (line 36) | public final class AmendFunctionNode extends PklNode {
    method AmendFunctionNode (line 41) | public AmendFunctionNode(ObjectLiteralNode hostNode, TypeNode[] parame...
    method execute (line 101) | public VmFunction execute(VirtualFrame frame, VmFunction functionToAme...
    class AmendFunctionBodyNode (line 114) | private static class AmendFunctionBodyNode extends ExpressionNode {
      method AmendFunctionBodyNode (line 122) | public AmendFunctionBodyNode(
      method executeGeneric (line 136) | @Override
    class Context (line 172) | @ValueType
      method Context (line 177) | public Context(VmFunction function, @Nullable MaterializedFrame fram...
      method setFunction (line 182) | public Context setFunction(VmFunction newFunction) {
      method setFrame (line 186) | public Context setFrame(MaterializedFrame newFrame) {

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/literal/AmendModuleNode.java
  class AmendModuleNode (line 32) | public abstract class AmendModuleNode extends SpecializedObjectLiteralNo...
    method AmendModuleNode (line 36) | public AmendModuleNode(
    method getModuleInfo (line 48) | public ModuleInfo getModuleInfo() {
    method copy (line 52) | @Override
    method eval (line 58) | @Specialization

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/literal/BytesLiteralNode.java
  class BytesLiteralNode (line 31) | @NodeInfo(shortName = "Bytes()")
    method BytesLiteralNode (line 37) | public BytesLiteralNode(SourceSection sourceSection, ExpressionNode[] ...
    method getTypeNode (line 42) | private TypeNode getTypeNode() {
    method executeGeneric (line 50) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/literal/CheckIsAnnotationClassNode.java
  class CheckIsAnnotationClassNode (line 26) | public final class CheckIsAnnotationClassNode extends ExpressionNode {
    method CheckIsAnnotationClassNode (line 30) | public CheckIsAnnotationClassNode(UnresolvedTypeNode unresolvedTypeNod...
    method executeGeneric (line 35) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/literal/ConstantEntriesLiteralNode.java
  class ConstantEntriesLiteralNode (line 36) | @ImportStatic(BaseModule.class)
    method ConstantEntriesLiteralNode (line 38) | public ConstantEntriesLiteralNode(
    method copy (line 57) | @Override
    method evalMapping (line 71) | @Specialization(guards = "checkIsValidMappingAmendment()")
    method evalDynamic (line 76) | @Specialization
    method evalListing (line 81) | @Specialization(guards = "checkIsValidListingAmendment()")
    method evalNull (line 87) | @Specialization
    method evalFunction (line 93) | @Specialization(guards = "checkIsValidFunctionAmendment(parent)")
    method evalMappingClass (line 103) | @Specialization(guards = {"parent == getMappingClass()", "checkIsValid...
    method evalDynamicClass (line 109) | @Specialization(guards = "parent == getDynamicClass()")
    method evalListingClass (line 116) | @Specialization(
    method fallback (line 127) | @Fallback

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/literal/ElementsEntriesLiteralNode.java
  class ElementsEntriesLiteralNode (line 39) | @ImportStatic(BaseModule.class)
    method ElementsEntriesLiteralNode (line 45) | public ElementsEntriesLiteralNode(
    method copy (line 72) | @Override
    method evalListing (line 89) | @Specialization(guards = "checkIsValidListingAmendment()")
    method evalDynamic (line 98) | @Specialization
    method evalNull (line 107) | @Specialization
    method evalFunction (line 113) | @Specialization(guards = "checkIsValidFunctionAmendment(parent)")
    method evalListingClass (line 123) | @Specialization(guards = {"parent == getListingClass()", "checkIsValid...
    method evalDynamicClass (line 134) | @Specialization(guards = "parent == getDynamicClass()")
    method fallback (line 145) | @Fallback
    method createMembers (line 151) | @ExplodeLoop

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/literal/ElementsLiteralNode.java
  class ElementsLiteralNode (line 35) | @ImportStatic(BaseModule.class)
    method ElementsLiteralNode (line 39) | public ElementsLiteralNode(
    method copy (line 62) | @Override
    method evalDynamicCached (line 77) | @Specialization(guards = "parent.getLength() == parentLength")
    method evalDynamicUncached (line 88) | @Specialization
    method evalNull (line 97) | @Specialization
    method evalFunction (line 103) | @Specialization(guards = "checkIsValidFunctionAmendment(parent)")
    method evalListingClass (line 113) | @Specialization(
    method evalDynamicClass (line 129) | @Specialization(guards = "parent == getDynamicClass()")
    method evalListingCached (line 139) | @Specialization(
    method evalListingUncached (line 155) | @Specialization(guards = "checkIsValidListingAmendment()")
    method fallback (line 165) | @Fallback
    method createMembers (line 172) | protected UnmodifiableEconomicMap<Object, ObjectMember> createMembers(...

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/literal/EmptyObjectLiteralNode.java
  class EmptyObjectLiteralNode (line 28) | @ImportStatic(BaseModule.class)
    method EmptyObjectLiteralNode (line 31) | protected EmptyObjectLiteralNode(SourceSection sourceSection) {
    method getParentNode (line 35) | protected abstract ExpressionNode getParentNode();
    method eval (line 37) | @Specialization
    method eval (line 55) | @Specialization
    method eval (line 60) | @Specialization
    method fallback (line 65) | @Fallback

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/literal/EntriesLiteralNode.java
  class EntriesLiteralNode (line 41) | @ImportStatic(BaseModule.class)
    method EntriesLiteralNode (line 46) | protected EntriesLiteralNode(
    method copy (line 74) | @Override
    method evalMapping (line 90) | @Specialization(guards = "checkIsValidMappingAmendment()")
    method evalDynamic (line 95) | @Specialization
    method evalListing (line 100) | @Specialization(guards = "checkIsValidListingAmendment()")
    method evalNull (line 110) | @Specialization
    method evalFunction (line 116) | @Specialization(guards = "checkIsValidFunctionAmendment(parent)")
    method evalMappingClass (line 126) | @Specialization(guards = {"parent == getMappingClass()", "checkIsValid...
    method evalDynamicClass (line 133) | @Specialization(guards = "parent == getDynamicClass()")
    method evalListingClass (line 143) | @Specialization(guards = {"parent == getListingClass()", "checkIsValid...
    method fallback (line 152) | @Fallback
    method createMapMembers (line 158) | @ExplodeLoop
    method createListMembers (line 180) | protected UnmodifiableEconomicMap<Object, ObjectMember> createListMemb...

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/literal/FalseLiteralNode.java
  class FalseLiteralNode (line 24) | @NodeInfo(shortName = "false")
    method FalseLiteralNode (line 26) | public FalseLiteralNode(SourceSection sourceSection) {
    method executeGeneric (line 30) | @Override
    method executeBoolean (line 35) | @Override
    method getValue (line 40) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/literal/FloatLiteralNode.java
  class FloatLiteralNode (line 24) | @NodeInfo(shortName = "float")
    method FloatLiteralNode (line 28) | public FloatLiteralNode(SourceSection sourceSection, double value) {
    method executeGeneric (line 33) | @Override
    method executeFloat (line 38) | @Override
    method getValue (line 43) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/literal/FunctionLiteralNode.java
  class FunctionLiteralNode (line 29) | public final class FunctionLiteralNode extends ExpressionNode {
    method FunctionLiteralNode (line 36) | public FunctionLiteralNode(
    method executeGeneric (line 44) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/literal/IntLiteralNode.java
  class IntLiteralNode (line 24) | @NodeInfo(shortName = "int")
    method IntLiteralNode (line 28) | public IntLiteralNode(SourceSection sourceSection, long value) {
    method executeGeneric (line 33) | @Override
    method executeInt (line 38) | @Override
    method getValue (line 43) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/literal/InterpolatedStringLiteralNode.java
  class InterpolatedStringLiteralNode (line 25) | @NodeInfo(shortName = "istr")
    method InterpolatedStringLiteralNode (line 29) | public InterpolatedStringLiteralNode(SourceSection sourceSection, Expr...
    method executeGeneric (line 34) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/literal/ListLiteralNode.java
  class ListLiteralNode (line 25) | @NodeInfo(shortName = "List()")
    method ListLiteralNode (line 29) | public ListLiteralNode(SourceSection sourceSection, ExpressionNode[] e...
    method executeGeneric (line 34) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/literal/MapLiteralNode.java
  class MapLiteralNode (line 25) | @NodeInfo(shortName = "Map()")
    method MapLiteralNode (line 29) | public MapLiteralNode(SourceSection sourceSection, ExpressionNode[] ke...
    method executeGeneric (line 34) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/literal/ObjectLiteralNode.java
  class ObjectLiteralNode (line 34) | @NodeChild(value = "parentNode", type = ExpressionNode.class)
    method ObjectLiteralNode (line 42) | public ObjectLiteralNode(
    method getParentNode (line 58) | protected abstract ExpressionNode getParentNode();
    method executeWithParent (line 60) | protected abstract Object executeWithParent(VirtualFrame frame, Object...
    method copy (line 62) | protected abstract ObjectLiteralNode copy(ExpressionNode newParentNode);
    method createAmendFunctionNode (line 64) | protected final AmendFunctionNode createAmendFunctionNode(VirtualFrame...
    method isTypedObjectClass (line 72) | @Idempotent
    method checkIsValidFunctionAmendment (line 77) | protected final boolean checkIsValidFunctionAmendment(VmFunction paren...

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/literal/PropertiesLiteralNode.java
  class PropertiesLiteralNode (line 34) | public abstract class PropertiesLiteralNode extends SpecializedObjectLit...
    method PropertiesLiteralNode (line 35) | public PropertiesLiteralNode(
    method copy (line 54) | @Override
    method evalTypedObjectCached (line 68) | @Specialization(
    method evalTypedObjectUncached (line 78) | @Specialization(guards = {"checkIsValidTypedAmendment(parent)"})
    method evalDynamic (line 85) | @Specialization
    method evalListing (line 90) | @Specialization(guards = "checkIsValidListingAmendment()")
    method evalMapping (line 95) | @ExplodeLoop
    method evalNull (line 101) | @Specialization
    method evalFunction (line 114) | @Specialization(guards = "checkIsValidFunctionAmendment(parent)")
    method evalTypedObjectClassCached (line 124) | @Specialization(
    method evalListingClass (line 137) | @Specialization(
    method evalMappingClass (line 152) | @Specialization(
    method evalDynamicClass (line 166) | @Specialization(guards = {"parent == cachedParent", "cachedParent.isDy...
    method evalClassUncached (line 177) | @Specialization
    method fallback (line 199) | @Specialization

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/literal/SetLiteralNode.java
  class SetLiteralNode (line 25) | @NodeInfo(shortName = "Set()")
    method SetLiteralNode (line 29) | public SetLiteralNode(SourceSection sourceSection, ExpressionNode[] el...
    method executeGeneric (line 34) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/literal/SpecializedObjectLiteralNode.java
  class SpecializedObjectLiteralNode (line 43) | public abstract class SpecializedObjectLiteralNode extends ObjectLiteral...
    method SpecializedObjectLiteralNode (line 44) | public SpecializedObjectLiteralNode(
    method checkIsValidTypedAmendment (line 70) | @TruffleBoundary
    method checkIsValidListingAmendment (line 115) | @SuppressWarnings("SameReturnValue")
    method checkIsValidMappingAmendment (line 168) | @SuppressWarnings("SameReturnValue")
    method checkMaxListingMemberIndex (line 199) | @Idempotent
    method addListEntries (line 222) | @ExplodeLoop
    method findFirstNonProperty (line 263) | @TruffleBoundary
    method findFirstNonDefaultProperty (line 274) | @TruffleBoundary
    method elementsEntriesFallback (line 286) | @TruffleBoundary

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/literal/TrueLiteralNode.java
  class TrueLiteralNode (line 24) | @NodeInfo(shortName = "true")
    method TrueLiteralNode (line 26) | public TrueLiteralNode(SourceSection sourceSection) {
    method executeGeneric (line 30) | @Override
    method executeBoolean (line 35) | @Override
    method getValue (line 40) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/member/InferParentWithinMethodNode.java
  class InferParentWithinMethodNode (line 28) | public final class InferParentWithinMethodNode extends ExpressionNode {
    method InferParentWithinMethodNode (line 34) | public InferParentWithinMethodNode(
    method executeGeneric (line 46) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/member/InferParentWithinObjectMethodNode.java
  class InferParentWithinObjectMethodNode (line 32) | public final class InferParentWithinObjectMethodNode extends ExpressionN...
    method InferParentWithinObjectMethodNode (line 38) | public InferParentWithinObjectMethodNode(
    method executeGeneric (line 52) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/member/InferParentWithinPropertyNode.java
  class InferParentWithinPropertyNode (line 27) | @NodeChild(value = "ownerNode", type = ExpressionNode.class)
    method InferParentWithinPropertyNode (line 32) | protected InferParentWithinPropertyNode(SourceSection sourceSection, I...
    method evalTypedObject (line 38) | @Specialization(guards = "!owner.isPrototype()")
    method evalPrototype (line 54) | @Specialization(guards = "owner.isPrototype()")
    method eval (line 79) | @Specialization
    method eval (line 88) | @Specialization
    method eval (line 99) | @Specialization
    method getLocalPropertyDefaultValue (line 110) | private Object getLocalPropertyDefaultValue(VirtualFrame frame, VmObje...

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/member/InvokeMethodDirectNode.java
  class InvokeMethodDirectNode (line 27) | public final class InvokeMethodDirectNode extends ExpressionNode {
    method InvokeMethodDirectNode (line 34) | public InvokeMethodDirectNode(
    method executeGeneric (line 48) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/member/InvokeMethodLexicalNode.java
  class InvokeMethodLexicalNode (line 31) | public final class InvokeMethodLexicalNode extends ExpressionNode {
    method InvokeMethodLexicalNode (line 37) | InvokeMethodLexicalNode(
    method executeGeneric (line 50) | @Override
    method getEnclosingFrame (line 64) | @ExplodeLoop

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/member/InvokeMethodVirtualNode.java
  class InvokeMethodVirtualNode (line 41) | @SuppressWarnings("DuplicatedCode")
    method InvokeMethodVirtualNode (line 52) | protected InvokeMethodVirtualNode(
    method InvokeMethodVirtualNode (line 66) | protected InvokeMethodVirtualNode(
    method executeWith (line 78) | public abstract Object executeWith(VirtualFrame frame, Object value, V...
    method evalFunctionCached (line 81) | @ExplodeLoop
    method evalFunction (line 102) | @ExplodeLoop
    method evalCached (line 120) | @ExplodeLoop
    method eval (line 140) | @ExplodeLoop
    method resolveMethod (line 161) | protected ClassMethod resolveMethod(VmClass receiverClass) {
    method createWrapper (line 179) | @Override
    method checkConst (line 185) | private void checkConst(ClassMethod method) {

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/member/InvokeSuperMethodNode.java
  class InvokeSuperMethodNode (line 31) | public abstract class InvokeSuperMethodNode extends ExpressionNode {
    method InvokeSuperMethodNode (line 36) | protected InvokeSuperMethodNode(
    method eval (line 51) | @ExplodeLoop
    method findSupermethod (line 68) | protected ClassMethod findSupermethod(VirtualFrame frame) {

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/member/ReadLocalPropertyNode.java
  class ReadLocalPropertyNode (line 29) | public final class ReadLocalPropertyNode extends ExpressionNode {
    method ReadLocalPropertyNode (line 34) | public ReadLocalPropertyNode(SourceSection sourceSection, ObjectMember...
    method executeGeneric (line 48) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/member/ReadPropertyNode.java
  class ReadPropertyNode (line 32) | @NodeInfo(shortName = ".")
    method ReadPropertyNode (line 41) | protected ReadPropertyNode(
    method ReadPropertyNode (line 55) | protected ReadPropertyNode(
    method ReadPropertyNode (line 60) | protected ReadPropertyNode(SourceSection sourceSection, Identifier pro...
    method evalObject (line 67) | @Specialization(guards = "receiver.getClass() == cachedClass", limit =...
    method evalOther (line 83) | @Specialization(guards = "receiver.getClass() == cachedClass", limit =...
    method getVmObjectSubclassOrNull (line 93) | protected static @Nullable Class<? extends VmObjectLike> getVmObjectSu...
    method resolveProperty (line 98) | protected ClassProperty resolveProperty(Object value) {
    method createCallNode (line 108) | protected static DirectCallNode createCallNode(ClassProperty resolvedP...
    method cannotFindProperty (line 113) | @TruffleBoundary
    method checkConst (line 124) | private void checkConst(VmObjectLike receiver) {

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/member/ReadSuperEntryNode.java
  class ReadSuperEntryNode (line 31) | public class ReadSuperEntryNode extends ExpressionNode {
    method ReadSuperEntryNode (line 36) | public ReadSuperEntryNode(SourceSection sourceSection, ExpressionNode ...
    method executeGeneric (line 41) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/member/ReadSuperPropertyNode.java
  class ReadSuperPropertyNode (line 25) | public final class ReadSuperPropertyNode extends ExpressionNode {
    method ReadSuperPropertyNode (line 32) | public ReadSuperPropertyNode(
    method executeGeneric (line 41) | public Object executeGeneric(VirtualFrame frame) {

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/member/ResolveMethodNode.java
  class ResolveMethodNode (line 43) | @NodeInfo(shortName = "resolveMethod")
    method ResolveMethodNode (line 54) | public ResolveMethodNode(
    method executeGeneric (line 73) | @Override
    method doResolve (line 78) | @TruffleBoundary
    method checkConst (line 165) | @SuppressWarnings("DuplicatedCode")

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/primary/CustomThisNode.java
  class CustomThisNode (line 27) | @NodeInfo(shortName = "this")
    method CustomThisNode (line 31) | public CustomThisNode(SourceSection sourceSection) {
    method executeGeneric (line 35) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/primary/GetEnclosingOwnerNode.java
  class GetEnclosingOwnerNode (line 23) | public final class GetEnclosingOwnerNode extends ExpressionNode {
    method GetEnclosingOwnerNode (line 26) | public GetEnclosingOwnerNode(int levelsUp) {
    method executeGeneric (line 32) | @ExplodeLoop

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/primary/GetEnclosingReceiverNode.java
  class GetEnclosingReceiverNode (line 23) | public final class GetEnclosingReceiverNode extends ExpressionNode {
    method GetEnclosingReceiverNode (line 26) | public GetEnclosingReceiverNode(int levelsUp) {
    method executeGeneric (line 32) | @ExplodeLoop

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/primary/GetMemberKeyNode.java
  class GetMemberKeyNode (line 23) | public final class GetMemberKeyNode extends ExpressionNode {
    method executeGeneric (line 24) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/primary/GetModuleNode.java
  class GetModuleNode (line 25) | @NodeInfo(shortName = "module")
    method GetModuleNode (line 27) | public GetModuleNode(SourceSection sourceSection) {
    method executeGeneric (line 31) | public Object executeGeneric(VirtualFrame frame) {

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/primary/GetOwnerNode.java
  class GetOwnerNode (line 23) | @NodeInfo(shortName = "owner")
    method executeGeneric (line 25) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/primary/GetReceiverNode.java
  class GetReceiverNode (line 23) | @NodeInfo(shortName = "receiver")
    method executeGeneric (line 25) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/primary/OuterNode.java
  class OuterNode (line 27) | @NodeInfo(shortName = "outer")
    method OuterNode (line 30) | public OuterNode(SourceSection sourceSection) {
    method executeGeneric (line 34) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/primary/ResolveVariableNode.java
  class ResolveVariableNode (line 59) | public final class ResolveVariableNode extends ExpressionNode {
    method ResolveVariableNode (line 66) | public ResolveVariableNode(
    method executeGeneric (line 81) | @Override
    method doResolve (line 86) | private ExpressionNode doResolve(VirtualFrame frame) {
    method checkConst (line 199) | @SuppressWarnings("DuplicatedCode")
    method findFrameSlot (line 216) | private static int findFrameSlot(VirtualFrame frame, Object identifier...

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/primary/ThisNode.java
  class ThisNode (line 24) | @NodeInfo(shortName = "this")
    method ThisNode (line 26) | public ThisNode(SourceSection sourceSection) {
    method executeGeneric (line 30) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/ternary/IfElseNode.java
  class IfElseNode (line 26) | @NodeInfo(shortName = "if")
    method IfElseNode (line 34) | public IfElseNode(
    method executeGeneric (line 45) | @Override
    method evaluateCondition (line 52) | private boolean evaluateCondition(VirtualFrame frame) {

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/unary/AbstractImportNode.java
  class AbstractImportNode (line 23) | public abstract class AbstractImportNode extends ExpressionNode {
    method AbstractImportNode (line 27) | AbstractImportNode(SourceSection sourceSection, ResolvedModuleKey curr...
    method getImportUri (line 33) | public final URI getImportUri() {

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/unary/AbstractReadNode.java
  class AbstractReadNode (line 33) | public abstract class AbstractReadNode extends UnaryExpressionNode {
    method AbstractReadNode (line 36) | protected AbstractReadNode(SourceSection sourceSection, ModuleKey curr...
    method parseUri (line 41) | @TruffleBoundary
    method doRead (line 53) | @TruffleBoundary
    method resolveResource (line 59) | private URI resolveResource(ModuleKey moduleKey, String resourceUri) {

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/unary/ImportGlobMemberBodyNode.java
  class ImportGlobMemberBodyNode (line 35) | public final class ImportGlobMemberBodyNode extends ExpressionNode {
    method ImportGlobMemberBodyNode (line 39) | public ImportGlobMemberBodyNode(
    method executeGeneric (line 46) | @Override
    method importModule (line 53) | @TruffleBoundary

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/unary/ImportGlobNode.java
  class ImportGlobNode (line 40) | @NodeInfo(shortName = "import*")
    method ImportGlobNode (line 46) | public ImportGlobNode(
    method getMemberNode (line 55) | private SharedMemberNode getMemberNode() {
    method executeGeneric (line 71) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/unary/ImportNode.java
  class ImportNode (line 33) | @NodeInfo(shortName = "import")
    method ImportNode (line 39) | public ImportNode(
    method executeGeneric (line 50) | public Object executeGeneric(VirtualFrame frame) {

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/unary/LogicalNotNode.java
  class LogicalNotNode (line 22) | @NodeInfo(shortName = "!")
    method LogicalNotNode (line 24) | protected LogicalNotNode(SourceSection sourceSection) {
    method eval (line 28) | @Specialization

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/unary/NonNullNode.java
  class NonNullNode (line 25) | @NodeInfo(shortName = "!!")
    method NonNullNode (line 30) | public NonNullNode(SourceSection sourceSection, ExpressionNode operand...
    method executeGeneric (line 35) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/unary/NullPropagatingOperationNode.java
  class NullPropagatingOperationNode (line 25) | @NodeInfo(shortName = "?.")
    method NullPropagatingOperationNode (line 29) | public NullPropagatingOperationNode(SourceSection sourceSection, Expre...
    method executeGeneric (line 34) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/unary/PropagateNullReceiverNode.java
  class PropagateNullReceiverNode (line 25) | @NodeInfo(shortName = "?.")
    method PropagateNullReceiverNode (line 27) | protected PropagateNullReceiverNode(SourceSection sourceSection) {
    method eval (line 31) | @Specialization
    method fallback (line 37) | @Fallback

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/unary/ReadGlobMemberBodyNode.java
  class ReadGlobMemberBodyNode (line 29) | public class ReadGlobMemberBodyNode extends ExpressionNode {
    method ReadGlobMemberBodyNode (line 30) | public ReadGlobMemberBodyNode(SourceSection sourceSection) {
    method executeGeneric (line 34) | @Override
    method readResource (line 41) | private Object readResource(VmObjectLike mapping, String path) {

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/unary/ReadGlobNode.java
  class ReadGlobNode (line 41) | @NodeInfo(shortName = "read*")
    method ReadGlobNode (line 46) | protected ReadGlobNode(SourceSection sourceSection, ModuleKey currentM...
    method getMemberNode (line 50) | private SharedMemberNode getMemberNode() {
    method read (line 66) | @Specialization

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/unary/ReadNode.java
  class ReadNode (line 25) | @NodeInfo(shortName = "read")
    method ReadNode (line 27) | protected ReadNode(SourceSection sourceSection, ModuleKey moduleKey) {
    method read (line 31) | @Specialization

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/unary/ReadOrNullNode.java
  class ReadOrNullNode (line 25) | @NodeInfo(shortName = "read?")
    method ReadOrNullNode (line 27) | protected ReadOrNullNode(SourceSection sourceSection, ModuleKey module...
    method read (line 31) | @Specialization

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/unary/ReadOrNullStdLibNode.java
  class ReadOrNullStdLibNode (line 29) | @NodeInfo(shortName = "read?")
    method ReadOrNullStdLibNode (line 31) | protected ReadOrNullStdLibNode(SourceSection sourceSection, ModuleKey ...
    method read (line 35) | @Specialization

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/unary/ThrowNode.java
  class ThrowNode (line 23) | @NodeInfo(shortName = "throw")
    method ThrowNode (line 25) | protected ThrowNode(SourceSection sourceSection) {
    method eval (line 29) | @Specialization

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/unary/TraceNode.java
  class TraceNode (line 26) | public final class TraceNode extends ExpressionNode {
    method TraceNode (line 34) | public TraceNode(SourceSection sourceSection, ExpressionNode valueNode) {
    method executeGeneric (line 39) | @Override
    method doTrace (line 46) | @TruffleBoundary
    method addIndent (line 64) | private static String addIndent(String s, String indent) {

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/unary/UnaryExpressionNode.java
  class UnaryExpressionNode (line 25) | @NodeChild(value = "operandNode", type = ExpressionNode.class)
    method UnaryExpressionNode (line 27) | protected UnaryExpressionNode(SourceSection sourceSection) {
    method fallback (line 31) | @Fallback

FILE: pkl-core/src/main/java/org/pkl/core/ast/expression/unary/UnaryMinusNode.java
  class UnaryMinusNode (line 25) | @NodeInfo(shortName = "-")
    method UnaryMinusNode (line 27) | protected UnaryMinusNode(SourceSection sourceSection) {
    method eval (line 31) | @Specialization
    method eval (line 36) | @Specialization
    method eval (line 41) | @Specialization
    method eval (line 46) | @Specialization

FILE: pkl-core/src/main/java/org/pkl/core/ast/frame/ReadEnclosingFrameSlotNode.java
  class ReadEnclosingFrameSlotNode (line 27) | public abstract class ReadEnclosingFrameSlotNode extends ExpressionNode {
    method ReadEnclosingFrameSlotNode (line 31) | protected ReadEnclosingFrameSlotNode(SourceSection sourceSection, int ...
    method evalInt (line 39) | @Specialization(rewriteOn = FrameSlotTypeException.class)
    method evalFloat (line 44) | @Specialization(rewriteOn = FrameSlotTypeException.class)
    method evalBoolean (line 49) | @Specialization(rewriteOn = FrameSlotTypeException.class)
    method evalObject (line 54) | @Specialization(rewriteOn = FrameSlotTypeException.class)
    method evalGeneric (line 59) | @Specialization(replaces = {"evalInt", "evalFloat", "evalBoolean", "ev...
    method getCapturedFrame (line 66) | @ExplodeLoop

FILE: pkl-core/src/main/java/org/pkl/core/ast/frame/ReadFrameSlotNode.java
  class ReadFrameSlotNode (line 24) | public abstract class ReadFrameSlotNode extends ExpressionNode {
    method ReadFrameSlotNode (line 27) | protected ReadFrameSlotNode(SourceSection sourceSection, int slot) {
    method evalInt (line 32) | @Specialization(rewriteOn = FrameSlotTypeException.class)
    method evalFloat (line 37) | @Specialization(rewriteOn = FrameSlotTypeException.class)
    method evalBoolean (line 42) | @Specialization(rewriteOn = FrameSlotTypeException.class)
    method evalObject (line 47) | @Specialization(rewriteOn = FrameSlotTypeException.class)
    method evalGeneric (line 52) | @Specialization(replaces = {"evalInt", "evalFloat", "evalBoolean", "ev...

FILE: pkl-core/src/main/java/org/pkl/core/ast/frame/WriteFrameSlotNode.java
  class WriteFrameSlotNode (line 27) | @NodeChild(value = "valueNode", type = ExpressionNode.class)
    method WriteFrameSlotNode (line 32) | public WriteFrameSlotNode(SourceSection sourceSection, int slot) {
    method executeWithValue (line 37) | public abstract void executeWithValue(VirtualFrame frame, Object value);
    method evalInt (line 39) | @Specialization(guards = "isIntOrIllegal(frame)")
    method evalFloat (line 46) | @Specialization(guards = "isFloatOrIllegal(frame)")
    method evalBoolean (line 53) | @Specialization(guards = "isBooleanOrIllegal(frame)")
    method evalGeneric (line 60) | @Specialization(replaces = {"evalInt", "evalFloat", "evalBoolean"})
    method isIntOrIllegal (line 67) | protected final boolean isIntOrIllegal(VirtualFrame frame) {
    method isFloatOrIllegal (line 72) | protected final boolean isFloatOrIllegal(VirtualFrame frame) {
    method isBooleanOrIllegal (line 77) | protected final boolean isBooleanOrIllegal(VirtualFrame frame) {
    method isInstrumentable (line 82) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/ast/internal/BlackholeNode.java
  class BlackholeNode (line 25) | @NodeChild(value = "childNode", type = ExpressionNode.class)
    method evalBoolean (line 27) | @Specialization
    method evalInt (line 33) | @Specialization
    method evalFloat (line 39) | @Specialization
    method evalObject (line 45) | @Specialization
    method isInstrumentable (line 51) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/ast/internal/GetBaseModuleClassNode.java
  class GetBaseModuleClassNode (line 23) | public final class GetBaseModuleClassNode extends ExpressionNode {
    method GetBaseModuleClassNode (line 26) | public GetBaseModuleClassNode(Identifier className) {
    method executeGeneric (line 30) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/ast/internal/GetClassNode.java
  class GetClassNode (line 28) | @GenerateWrapper
    method GetClassNode (line 32) | protected GetClassNode(SourceSection sourceSection) {
    method GetClassNode (line 36) | protected GetClassNode() {
    method executeWith (line 44) | public abstract VmClass executeWith(VirtualFrame frame, Object value);
    method evalString (line 46) | @Specialization
    method evalInt (line 51) | @Specialization
    method evalFloat (line 56) | @Specialization
    method evalBoolean (line 61) | @Specialization
    method evalVmValue (line 69) | @Specialization(guards = "value.getClass() == cachedClass", limit = "99")
    method getValueClass (line 75) | protected static Class<? extends VmValue> getValueClass(Object value) {
    method createWrapper (line 83) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/ast/internal/IsInstanceOfNode.java
  class IsInstanceOfNode (line 25) | public abstract class IsInstanceOfNode extends PklNode {
    method executeBoolean (line 26) | public abstract boolean executeBoolean(Object value, VmClass clazz);
    method eval (line 28) | @Specialization
    method eval (line 33) | @Specialization
    method eval (line 40) | @Specialization
    method eval (line 47) | @Specialization
    method evalVmValue (line 57) | @Specialization(guards = "value.getClass() == valueJavaClass", limit =...
    method getJavaClass (line 67) | protected Class<? extends VmValue> getJavaClass(Object value) {

FILE: pkl-core/src/main/java/org/pkl/core/ast/internal/SyntheticNode.java
  class SyntheticNode (line 25) | public class SyntheticNode extends PklNode {
    method SyntheticNode (line 26) | public SyntheticNode(SourceSection sourceSection) {

FILE: pkl-core/src/main/java/org/pkl/core/ast/internal/ToStringNode.java
  class ToStringNode (line 31) | @SuppressWarnings("unused")
    method ToStringNode (line 33) | protected ToStringNode(SourceSection sourceSection) {
    method evalString (line 37) | @Specialization
    method evalInt (line 42) | @Specialization
    method evalFloat (line 48) | @Specialization
    method evalBoolean (line 54) | @Specialization
    method evalTyped (line 59) | @Specialization
    method fallback (line 69) | @Fallback
    method createInvokeNode (line 76) | protected InvokeMethodVirtualNode createInvokeNode() {

FILE: pkl-core/src/main/java/org/pkl/core/ast/lambda/ApplyVmFunction0Node.java
  class ApplyVmFunction0Node (line 26) | public abstract class ApplyVmFunction0Node extends PklNode {
    method execute (line 27) | public abstract Object execute(VmFunction function);
    method evalDirect (line 29) | @Specialization(guards = "function.getCallTarget() == cachedCallTarget")
    method eval (line 39) | @Specialization(replaces = "evalDirect")

FILE: pkl-core/src/main/java/org/pkl/core/ast/lambda/ApplyVmFunction1Node.java
  class ApplyVmFunction1Node (line 30) | @NodeChild("functionNode")
    method execute (line 33) | public abstract Object execute(VmFunction function, Object arg1);
    method create (line 35) | public static ApplyVmFunction1Node create() {
    method executeBoolean (line 40) | public final boolean executeBoolean(VmFunction function, Object arg1) {
    method executeString (line 48) | public final String executeString(VmFunction function, Object arg1) {
    method executeInt (line 56) | public final Long executeInt(VmFunction function, Object arg1) {
    method executeCollection (line 64) | public final VmCollection executeCollection(VmFunction function, Objec...
    method evalDirect (line 72) | @Specialization(guards = "function.getCallTarget() == cachedCallTarget")
    method eval (line 83) | @Specialization(replaces = "evalDirect")
    method isInstrumentable (line 90) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/ast/lambda/ApplyVmFunction2Node.java
  class ApplyVmFunction2Node (line 27) | public abstract class ApplyVmFunction2Node extends PklNode {
    method execute (line 28) | public abstract Object execute(VmFunction function, Object arg1, Objec...
    method executeBoolean (line 30) | public final boolean executeBoolean(VmFunction function, Object arg1, ...
    method executeCollection (line 38) | public final VmCollection executeCollection(VmFunction function, Objec...
    method executeMap (line 46) | public final VmMap executeMap(VmFunction function, Object arg1, Object...
    method executeInt (line 54) | public final Long executeInt(VmFunction function, Object arg1, Object ...
    method executePair (line 62) | public final VmPair executePair(VmFunction function, Object arg1, Obje...
    method evalDirect (line 70) | @Specialization(guards = "function.getCallTarget() == cachedCallTarget")
    method eval (line 82) | @Specialization(replaces = "evalDirect")

FILE: pkl-core/src/main/java/org/pkl/core/ast/lambda/ApplyVmFunction3Node.java
  class ApplyVmFunction3Node (line 26) | public abstract class ApplyVmFunction3Node extends PklNode {
    method execute (line 27) | public abstract Object execute(VmFunction function, Object arg1, Objec...
    method evalDirect (line 29) | @Specialization(guards = "function.getCallTarget() == cachedCallTarget")
    method eval (line 42) | @Specialization(replaces = "evalDirect")

FILE: pkl-core/src/main/java/org/pkl/core/ast/lambda/ApplyVmFunction4Node.java
  class ApplyVmFunction4Node (line 26) | public abstract class ApplyVmFunction4Node extends PklNode {
    method execute (line 27) | public abstract Object execute(
    method evalDirect (line 30) | @Specialization(guards = "function.getCallTarget() == cachedCallTarget")
    method eval (line 44) | @Specialization(replaces = "evalDirect")

FILE: pkl-core/src/main/java/org/pkl/core/ast/lambda/ApplyVmFunction5Node.java
  class ApplyVmFunction5Node (line 26) | public abstract class ApplyVmFunction5Node extends PklNode {
    method execute (line 27) | public abstract Object execute(
    method evalDirect (line 30) | @Specialization(guards = "function.getCallTarget() == cachedCallTarget")
    method eval (line 45) | @Specialization(replaces = "evalDirect")

FILE: pkl-core/src/main/java/org/pkl/core/ast/member/ClassMember.java
  class ClassMember (line 26) | public abstract class ClassMember extends Member {
    method ClassMember (line 32) | public ClassMember(
    method getDocComment (line 49) | public final SourceSection @Nullable [] getDocComment() {
    method getAnnotations (line 53) | public final List<VmTyped> getAnnotations() {
    method getAllAnnotations (line 57) | public List<VmTyped> getAllAnnotations(boolean ascending) {
    method doGetAllAnnotationsDescending (line 74) | private void doGetAllAnnotationsDescending(VmClass clazz, List<VmTyped...
    method getOwner (line 85) | public final VmTyped getOwner() {
    method getDeclaringClass (line 89) | public final VmClass getDeclaringClass() {

FILE: pkl-core/src/main/java/org/pkl/core/ast/member/ClassMethod.java
  class ClassMethod (line 30) | public final class ClassMethod extends ClassMember {
    method ClassMethod (line 38) | public ClassMethod(
    method initFunctionNode (line 63) | public void initFunctionNode(FunctionNode functionNode) {
    method getCallTarget (line 68) | public CallTarget getCallTarget() {
    method reportDeprecation (line 72) | @TruffleBoundary
    method getCallTarget (line 85) | public CallTarget getCallTarget(SourceSection callSite) {
    method getParameterCount (line 92) | public int getParameterCount() {
    method getReturnTypeNode (line 96) | public @Nullable TypeNode getReturnTypeNode() {
    method getCallSignature (line 100) | @Override
    method getMirror (line 105) | public VmTyped getMirror() {
    method getModifierMirrors (line 109) | public VmSet getModifierMirrors() {
    method getTypeParameterMirrors (line 113) | public VmList getTypeParameterMirrors() {
    method getParameterMirrors (line 121) | public VmMap getParameterMirrors() {
    method getReturnTypeMirror (line 125) | public VmTyped getReturnTypeMirror() {
    method export (line 129) | public PClass.Method export(PClass owner) {

FILE: pkl-core/src/main/java/org/pkl/core/ast/member/ClassNode.java
  class ClassNode (line 35) | @NodeInfo(shortName = "class")
    method ClassNode (line 52) | public ClassNode(
    method executeGeneric (line 80) | @Override
    method checkSupertype (line 162) | private void checkSupertype(TypeNode supertypeNode, @Nullable VmClass ...

FILE: pkl-core/src/main/java/org/pkl/core/ast/member/ClassProperty.java
  class ClassProperty (line 26) | public final class ClassProperty extends ClassMember {
    method ClassProperty (line 30) | public ClassProperty(
    method getAllModifierMirrors (line 56) | public VmSet getAllModifierMirrors() {
    method getTypeNode (line 67) | public @Nullable PropertyTypeNode getTypeNode() {
    method getInitializer (line 71) | public ObjectMember getInitializer() {
    method getCallSignature (line 75) | @Override
    method getMirror (line 81) | public VmTyped getMirror() {
    method getModifierMirrors (line 85) | public VmSet getModifierMirrors() {
    method getTypeMirror (line 89) | public VmTyped getTypeMirror() {
    method export (line 93) | public PClass.Property export(PClass owner) {

FILE: pkl-core/src/main/java/org/pkl/core/ast/member/DefaultPropertyBodyNode.java
  class DefaultPropertyBodyNode (line 30) | public final class DefaultPropertyBodyNode extends ExpressionNode {
    method DefaultPropertyBodyNode (line 34) | public DefaultPropertyBodyNode(
    method isUndefined (line 41) | public boolean isUndefined(VirtualFrame frame) {
    method executeGeneric (line 45) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/ast/member/DelegateToExtraStorageMapOrParentNode.java
  class DelegateToExtraStorageMapOrParentNode (line 25) | public final class DelegateToExtraStorageMapOrParentNode extends Express...
    method executeGeneric (line 26) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/ast/member/DelegateToExtraStorageObjNode.java
  class DelegateToExtraStorageObjNode (line 24) | public final class DelegateToExtraStorageObjNode extends ExpressionNode {
    method executeGeneric (line 25) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/ast/member/DelegateToExtraStorageObjOrParentNode.java
  class DelegateToExtraStorageObjOrParentNode (line 27) | public final class DelegateToExtraStorageObjOrParentNode extends Express...
    method executeGeneric (line 28) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/ast/member/ElementOrEntryNode.java
  class ElementOrEntryNode (line 35) | public abstract class ElementOrEntryNode extends RegularMemberNode {
    method ElementOrEntryNode (line 38) | protected ElementOrEntryNode(
    method evalListing (line 47) | @Specialization
    method evalMapping (line 58) | @Specialization
    method evalDynamic (line 69) | @Specialization

FILE: pkl-core/src/main/java/org/pkl/core/ast/member/FunctionNode.java
  class FunctionNode (line 37) | public final class FunctionNode extends RegularMemberNode {
    method FunctionNode (line 55) | @TruffleBoundary
    method getParameterCount (line 80) | public int getParameterCount() {
    method getReturnTypeNode (line 84) | public @Nullable TypeNode getReturnTypeNode() {
    method getCallSignature (line 88) | @TruffleBoundary
    method executeImpl (line 102) | @Override
    method getParameterMirrors (line 125) | public VmMap getParameterMirrors() {
    method getReturnTypeMirror (line 137) | public VmTyped getReturnTypeMirror() {
    method export (line 141) | public PClass.Method export(
    method wrongArgumentCount (line 176) | private VmException wrongArgumentCount(int argCount) {

FILE: pkl-core/src/main/java/org/pkl/core/ast/member/Lambda.java
  class Lambda (line 22) | public class Lambda extends Member {
    method Lambda (line 23) | public Lambda(SourceSection sourceSection, String qualifiedName) {
    method getCallSignature (line 27) | @Override

FILE: pkl-core/src/main/java/org/pkl/core/ast/member/ListingOrMappingTypeCastNode.java
  class ListingOrMappingTypeCastNode (line 27) | public final class ListingOrMappingTypeCastNode extends PklRootNode {
    method ListingOrMappingTypeCastNode (line 32) | public ListingOrMappingTypeCastNode(
    method getTypeNode (line 39) | public Ty
Copy disabled (too large) Download .json
Condensed preview — 4780 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (22,428K chars).
[
  {
    "path": ".editorconfig",
    "chars": 213,
    "preview": "root = true\n\n[*]\ncharset = utf-8\nindent_style = space\nindent_size = 2\n# don't trim whitespace within (say) a Pkl multili"
  },
  {
    "path": ".git-blame-ignore-revs",
    "chars": 67,
    "preview": "# Auto-format Kotlin code\n816cd483c8adf4c04e14236c173a1dc6bd2579ea\n"
  },
  {
    "path": ".gitattributes",
    "chars": 327,
    "preview": "# linguist-generated would suppress files in diffs\n**/src/test/files/** linguist-vendored\n.github/workflows/* linguist-g"
  },
  {
    "path": ".githooks/pre-commit",
    "chars": 182,
    "preview": "#!/bin/sh\n\nfiles=`git diff --cached --name-status`\n\nif [[ $files =~ .github/* ]]; then\n  pkl eval --project-dir .github/"
  },
  {
    "path": ".github/PklProject",
    "chars": 245,
    "preview": "amends \"pkl:Project\"\n\ndependencies {\n  [\"pkl.impl.ghactions\"] {\n    uri = \"package://pkg.pkl-lang.org/pkl-project-common"
  },
  {
    "path": ".github/PklProject.deps.json",
    "chars": 1630,
    "preview": "{\n  \"schemaVersion\": 1,\n  \"resolvedDependencies\": {\n    \"package://pkg.pkl-lang.org/pkl-pantry/com.github.actions@1\": {\n"
  },
  {
    "path": ".github/dependabot.yml",
    "chars": 191,
    "preview": "version: 2\nupdates:\n- package-ecosystem: github-actions\n  directory: /\n  ignore:\n  - dependency-name: '*'\n    update-typ"
  },
  {
    "path": ".github/index.pkl",
    "chars": 5042,
    "preview": "amends \"@pkl.impl.ghactions/PklCI.pkl\"\n\nimport \"@gha/Workflow.pkl\"\n\nimport \"jobs/BuildJavaExecutableJob.pkl\"\nimport \"job"
  },
  {
    "path": ".github/jobs/BuildJavaExecutableJob.pkl",
    "chars": 737,
    "preview": "extends \"GradleJob.pkl\"\n\nimport \"@gha/catalog.pkl\"\n\n// Keep this in sync with projects that build java executables\nlocal"
  },
  {
    "path": ".github/jobs/BuildNativeJob.pkl",
    "chars": 1850,
    "preview": "extends \"GradleJob.pkl\"\n\nimport \"@gha/catalog.pkl\"\nimport \"@gha/context.pkl\"\n\n/// Whether to link to musl. Otherwise, li"
  },
  {
    "path": ".github/jobs/DeployJob.pkl",
    "chars": 527,
    "preview": "extends \"GradleJob.pkl\"\n\nimport \"@gha/catalog.pkl\"\nimport \"@gha/Workflow.pkl\"\nimport \"@pkl.impl.ghactions/helpers.pkl\"\n\n"
  },
  {
    "path": ".github/jobs/GithubRelease.pkl",
    "chars": 1129,
    "preview": "module GithubRelease\n\nextends \"PklJob.pkl\"\n\nimport \"@gha/catalog.pkl\"\nimport \"@gha/context.pkl\"\n\nfixed job {\n  `runs-on`"
  },
  {
    "path": ".github/jobs/GradleJob.pkl",
    "chars": 2036,
    "preview": "abstract module GradleJob\n\nextends \"PklJob.pkl\"\n\nimport \"@gha/Workflow.pkl\"\nimport \"@pkl.impl.ghactions/catalog.pkl\"\n\n//"
  },
  {
    "path": ".github/jobs/PklJob.pkl",
    "chars": 1334,
    "preview": "abstract module PklJob\n\nextends \"@pkl.impl.ghactions/jobs/PklJob.pkl\"\n\n/// Identify any jobs that must complete successf"
  },
  {
    "path": ".github/jobs/SimpleGradleJob.pkl",
    "chars": 229,
    "preview": "extends \"GradleJob.pkl\"\n\nname: String = command\n\ncommand: String\n\nos = \"linux\"\n\nsteps {\n  new {\n    name = module.name\n "
  },
  {
    "path": ".github/scripts/cc_macos_amd64.sh",
    "chars": 44,
    "preview": "#!/usr/bin/env bash\nclang -arch x86_64 \"$@\"\n"
  },
  {
    "path": ".github/scripts/install_musl.sh",
    "chars": 2316,
    "preview": "set -e\nmkdir -p ~/staticdeps/\n\nZLIB_VERSION=\"1.2.13\"\nMUSL_VERSION=\"1.2.5\"\n\n# install zlib\nif [[ ! -f ~/staticdeps/includ"
  },
  {
    "path": ".github/workflows/__lockfile__.yml",
    "chars": 1492,
    "preview": "#file: noinspection MandatoryParamsAbsent,UndefinedAction\n# This is a fake workflow that never runs.\n# It's used to pin "
  },
  {
    "path": ".github/workflows/build.yml",
    "chars": 31923,
    "preview": "# Generated from Workflow.pkl. DO NOT EDIT.\nname: Build\n'on':\n  push:\n    branches-ignore:\n    - main\n    - release/*\n  "
  },
  {
    "path": ".github/workflows/main.yml",
    "chars": 35232,
    "preview": "# Generated from Workflow.pkl. DO NOT EDIT.\nname: Build (main)\n'on':\n  push:\n    branches:\n    - main\n    tags-ignore:\n "
  },
  {
    "path": ".github/workflows/prb.yml",
    "chars": 33301,
    "preview": "# Generated from Workflow.pkl. DO NOT EDIT.\nname: Pull Request\n'on':\n  pull_request: {}\nconcurrency:\n  group: ${{ github"
  },
  {
    "path": ".github/workflows/release-branch.yml",
    "chars": 33276,
    "preview": "# Generated from Workflow.pkl. DO NOT EDIT.\nname: Build (release branch)\n'on':\n  push:\n    branches:\n    - release/*\n   "
  },
  {
    "path": ".github/workflows/release.yml",
    "chars": 36418,
    "preview": "# Generated from Workflow.pkl. DO NOT EDIT.\nname: Release\n'on':\n  push:\n    branches-ignore:\n    - '**'\n    tags:\n    - "
  },
  {
    "path": ".github/workflows/test_report.yml",
    "chars": 1088,
    "preview": "# Generated from Workflow.pkl. DO NOT EDIT.\nname: PR Test Reports\n'on':\n  workflow_run:\n    types:\n    - completed\n    w"
  },
  {
    "path": ".gitignore",
    "chars": 257,
    "preview": "# macOS\n.DS_STORE\n\n# Gradle\n.gradle/\nbuild/\ngenerated/\ntestgenerated/\n\n# IntelliJ\n.idea/\n!.idea/icon.svg\n!.idea/codestyl"
  },
  {
    "path": ".idea/vcs.xml",
    "chars": 167,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project version=\"4\">\n  <component name=\"VcsDirectoryMappings\">\n    <mapping dire"
  },
  {
    "path": ".java-version",
    "chars": 3,
    "preview": "21\n"
  },
  {
    "path": ".mailmap",
    "chars": 79,
    "preview": "Jen Basch <421772+HT154@users.noreply.github.com>\nJen Basch <jbasch@apple.com>\n"
  },
  {
    "path": "CODE_OF_CONDUCT.md",
    "chars": 3242,
    "preview": "## Code of Conduct\n\n### Our Pledge\n\nIn the interest of fostering an open and welcoming environment, we as\ncontributors a"
  },
  {
    "path": "CONTRIBUTING.adoc",
    "chars": 2336,
    "preview": ":uri-github-discussion: https://github.com/apple/pkl/discussions\n:uri-github-issue-pkl: https://github.com/apple/pkl/iss"
  },
  {
    "path": "DEVELOPMENT.adoc",
    "chars": 6309,
    "preview": "= Development\n:uri-gng: https://gng.dsun.org\n:uri-jenv: https://www.jenv.be\n:uri-intellij: https://www.jetbrains.com/ide"
  },
  {
    "path": "LICENSE.txt",
    "chars": 11358,
    "preview": "\n                                 Apache License\n                           Version 2.0, January 2004\n                  "
  },
  {
    "path": "MAINTAINERS.adoc",
    "chars": 362,
    "preview": "= MAINTAINERS\n\nThis page lists all active Maintainers of this repository.\n\nSee link:CONTRIBUTING.adoc[] for general cont"
  },
  {
    "path": "NOTICE.txt",
    "chars": 8915,
    "preview": "Copyright © 2024-2025 Apple Inc. and the Pkl project authors\n\n\nPortions of this software were originally based on 'Snake"
  },
  {
    "path": "README.adoc",
    "chars": 4308,
    "preview": "= image:.idea/icon.svg[Pkl,30] Pkl \n\n:uri-homepage: https://pkl-lang.org\n:uri-docs: {uri-homepage}/main/current\n:uri-doc"
  },
  {
    "path": "SECURITY.md",
    "chars": 742,
    "preview": "# Security\n\nFor the protection of our community, the Pkl team does not disclose, discuss, or confirm security issues unt"
  },
  {
    "path": "THIRD-PARTY-NOTICES.txt",
    "chars": 32340,
    "preview": "Pkl ships with third-party libraries that may be distributed under a different license than\nPkl's own license.\nThese lib"
  },
  {
    "path": "bench/bench.gradle.kts",
    "chars": 2183,
    "preview": "/*\n * Copyright © 2024-2025 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "bench/gradle.lockfile",
    "chars": 8902,
    "preview": "# This is a Gradle generated file for dependency locking.\n# Manual edits can break the build and are not advised.\n# This"
  },
  {
    "path": "bench/src/jmh/java/org/pkl/core/Fibonacci.java",
    "chars": 3305,
    "preview": "/*\n * Copyright © 2024 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache Lice"
  },
  {
    "path": "bench/src/jmh/java/org/pkl/core/ListSort.java",
    "chars": 4785,
    "preview": "/*\n * Copyright © 2024-2025 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "bench/src/jmh/java/org/pkl/core/parser/ParserBenchmark.java",
    "chars": 2209,
    "preview": "/*\n * Copyright © 2024-2025 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "bench/src/jmh/resources/org/pkl/core/fib_class.pkl",
    "chars": 919,
    "preview": "//===----------------------------------------------------------------------===//\n// Copyright © 2024 Apple Inc. and the "
  },
  {
    "path": "bench/src/jmh/resources/org/pkl/core/fib_class_constrained1.pkl",
    "chars": 951,
    "preview": "//===----------------------------------------------------------------------===//\n// Copyright © 2024 Apple Inc. and the "
  },
  {
    "path": "bench/src/jmh/resources/org/pkl/core/fib_class_constrained2.pkl",
    "chars": 953,
    "preview": "//===----------------------------------------------------------------------===//\n// Copyright © 2024 Apple Inc. and the "
  },
  {
    "path": "bench/src/jmh/resources/org/pkl/core/fib_class_explicitThis.pkl",
    "chars": 929,
    "preview": "//===----------------------------------------------------------------------===//\n// Copyright © 2024 Apple Inc. and the "
  },
  {
    "path": "bench/src/jmh/resources/org/pkl/core/fib_class_typed.pkl",
    "chars": 929,
    "preview": "//===----------------------------------------------------------------------===//\n// Copyright © 2024 Apple Inc. and the "
  },
  {
    "path": "bench/src/jmh/resources/org/pkl/core/fib_lambda.pkl",
    "chars": 900,
    "preview": "//===----------------------------------------------------------------------===//\n// Copyright © 2024 Apple Inc. and the "
  },
  {
    "path": "bench/src/jmh/resources/org/pkl/core/fib_module.pkl",
    "chars": 879,
    "preview": "//===----------------------------------------------------------------------===//\n// Copyright © 2024 Apple Inc. and the "
  },
  {
    "path": "bench/src/jmh/resources/org/pkl/core/fib_module_explicitThis.pkl",
    "chars": 889,
    "preview": "//===----------------------------------------------------------------------===//\n// Copyright © 2024 Apple Inc. and the "
  },
  {
    "path": "build.gradle.kts",
    "chars": 2318,
    "preview": "/*\n * Copyright © 2024-2026 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "buildSrc/build.gradle.kts",
    "chars": 1740,
    "preview": "/*\n * Copyright © 2024-2025 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "buildSrc/settings.gradle.kts",
    "chars": 1249,
    "preview": "/*\n * Copyright © 2024-2025 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "buildSrc/src/main/kotlin/BuildInfo.kt",
    "chars": 16153,
    "preview": "/*\n * Copyright © 2024-2025 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "buildSrc/src/main/kotlin/ExecutableJar.kt",
    "chars": 2400,
    "preview": "/*\n * Copyright © 2024-2025 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "buildSrc/src/main/kotlin/ExecutableSpec.kt",
    "chars": 1684,
    "preview": "/*\n * Copyright © 2025 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache Lice"
  },
  {
    "path": "buildSrc/src/main/kotlin/GradlePluginTests.kt",
    "chars": 872,
    "preview": "/*\n * Copyright © 2024 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache Lice"
  },
  {
    "path": "buildSrc/src/main/kotlin/GradleVersionInfo.kt",
    "chars": 2787,
    "preview": "/*\n * Copyright © 2024 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache Lice"
  },
  {
    "path": "buildSrc/src/main/kotlin/HtmlValidator.kt",
    "chars": 815,
    "preview": "/*\n * Copyright © 2024 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache Lice"
  },
  {
    "path": "buildSrc/src/main/kotlin/InstallGraalVm.kt",
    "chars": 3340,
    "preview": "/*\n * Copyright © 2024-2025 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "buildSrc/src/main/kotlin/JavaVersionRange.kt",
    "chars": 2320,
    "preview": "/*\n * Copyright © 2024-2025 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "buildSrc/src/main/kotlin/MergeSourcesJars.kt",
    "chars": 4691,
    "preview": "/*\n * Copyright © 2024-2025 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "buildSrc/src/main/kotlin/NativeImageBuild.kt",
    "chars": 6377,
    "preview": "/*\n * Copyright © 2025 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache Lice"
  },
  {
    "path": "buildSrc/src/main/kotlin/PklFormatterSpotless.kt",
    "chars": 1954,
    "preview": "/*\n * Copyright © 2025-2026 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "buildSrc/src/main/kotlin/PklPublishing.kt",
    "chars": 5418,
    "preview": "/*\n * Copyright © 2024-2026 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "buildSrc/src/main/kotlin/ResolveSourcesJars.kt",
    "chars": 2234,
    "preview": "/*\n * Copyright © 2024 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache Lice"
  },
  {
    "path": "buildSrc/src/main/kotlin/pklAllProjects.gradle.kts",
    "chars": 5716,
    "preview": "/*\n * Copyright © 2024-2026 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "buildSrc/src/main/kotlin/pklFatJar.gradle.kts",
    "chars": 7770,
    "preview": "/*\n * Copyright © 2024-2025 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "buildSrc/src/main/kotlin/pklGraalVm.gradle.kts",
    "chars": 2381,
    "preview": "/*\n * Copyright © 2024 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache Lice"
  },
  {
    "path": "buildSrc/src/main/kotlin/pklGradlePluginTest.gradle.kts",
    "chars": 4139,
    "preview": "/*\n * Copyright © 2024-2025 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "buildSrc/src/main/kotlin/pklHtmlValidator.gradle.kts",
    "chars": 2995,
    "preview": "/*\n * Copyright © 2024 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache Lice"
  },
  {
    "path": "buildSrc/src/main/kotlin/pklJavaExecutable.gradle.kts",
    "chars": 4408,
    "preview": "/*\n * Copyright © 2025 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache Lice"
  },
  {
    "path": "buildSrc/src/main/kotlin/pklJavaLibrary.gradle.kts",
    "chars": 4598,
    "preview": "/*\n * Copyright © 2024-2025 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "buildSrc/src/main/kotlin/pklKotlinLibrary.gradle.kts",
    "chars": 1781,
    "preview": "/*\n * Copyright © 2024-2025 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "buildSrc/src/main/kotlin/pklKotlinTest.gradle.kts",
    "chars": 2451,
    "preview": "/*\n * Copyright © 2024-2025 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "buildSrc/src/main/kotlin/pklNativeExecutable.gradle.kts",
    "chars": 11700,
    "preview": "/*\n * Copyright © 2025 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache Lice"
  },
  {
    "path": "buildSrc/src/main/kotlin/pklNativeLifecycle.gradle.kts",
    "chars": 4172,
    "preview": "/*\n * Copyright © 2024-2025 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "buildSrc/src/main/kotlin/pklPublishLibrary.gradle.kts",
    "chars": 1076,
    "preview": "/*\n * Copyright © 2024-2026 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "buildSrc/src/main/kotlin/pklSpotlessFormat.gradle.kts",
    "chars": 1343,
    "preview": "/*\n * Copyright © 2025 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache Lice"
  },
  {
    "path": "buildSrc/src/main/resources/license-header.line-comment.txt",
    "chars": 804,
    "preview": "//===----------------------------------------------------------------------===//\n// Copyright © $YEAR Apple Inc. and the"
  },
  {
    "path": "buildSrc/src/main/resources/license-header.star-block.txt",
    "chars": 648,
    "preview": "/*\n * Copyright © $YEAR Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache Lic"
  },
  {
    "path": "docs/antora.yml",
    "chars": 84,
    "preview": "name: main\ntitle: Main Project\nversion: 0.32.0-dev\nprerelease: true\nnav:\n- nav.adoc\n"
  },
  {
    "path": "docs/docs.gradle.kts",
    "chars": 1584,
    "preview": "/*\n * Copyright © 2024-2025 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "docs/gradle.lockfile",
    "chars": 6739,
    "preview": "# This is a Gradle generated file for dependency locking.\n# Manual edits can break the build and are not advised.\n# This"
  },
  {
    "path": "docs/modules/ROOT/pages/community.adoc",
    "chars": 265,
    "preview": "= Community\n:uri-github-issue: https://github.com/apple/pkl/issues\n:uri-github-discussions: https://github.com/apple/pkl"
  },
  {
    "path": "docs/modules/ROOT/pages/evolution-and-roadmap.adoc",
    "chars": 869,
    "preview": "= Evolution and Roadmap\n\n:uri-pkl-roadmap: https://github.com/orgs/apple/projects/12/views/1\n:uri-pkl-evolution: https:/"
  },
  {
    "path": "docs/modules/ROOT/pages/examples.adoc",
    "chars": 661,
    "preview": "= Examples\n\n:uri-github-apple: https://github.com/apple\n:uri-jvm-examples: {uri-github-apple}/pkl-jvm-examples\n:uri-go-e"
  },
  {
    "path": "docs/modules/ROOT/pages/index.adoc",
    "chars": 1097,
    "preview": "= User Manual\ninclude::../partials/component-attributes.adoc[]\n\nQuick Links:\nxref:pkl-cli:index.adoc#installation[Instal"
  },
  {
    "path": "docs/modules/ROOT/pages/integrations.adoc",
    "chars": 83,
    "preview": "= Framework Integrations\n\n* xref:spring:ROOT:index.adoc[Spring (Boot) Integration]\n"
  },
  {
    "path": "docs/modules/ROOT/pages/language-bindings.adoc",
    "chars": 371,
    "preview": "= Language Bindings\n\n* xref:java-binding:index.adoc[Java]\n* xref:kotlin-binding:index.adoc[Kotlin]\n* xref:swift:ROOT:ind"
  },
  {
    "path": "docs/modules/ROOT/pages/language.adoc",
    "chars": 162,
    "preview": "= Language\n\n* xref:language-tutorial:index.adoc[Tutorial]\n* xref:language-reference:index.adoc[Language Reference]\n* xre"
  },
  {
    "path": "docs/modules/ROOT/pages/resources.adoc",
    "chars": 252,
    "preview": "= Resources\ninclude::../partials/component-attributes.adoc[]\n\nThere's more to explore!\n\n* Visit Pkl's repositories on ht"
  },
  {
    "path": "docs/modules/ROOT/pages/standard-library.adoc",
    "chars": 671,
    "preview": "= Standard Library\ninclude::../partials/component-attributes.adoc[]\n\nThe standard library is a set of Pkl modules, versi"
  },
  {
    "path": "docs/modules/ROOT/pages/tools.adoc",
    "chars": 306,
    "preview": "= Tools\ninclude::ROOT:partial$component-attributes.adoc[]\n\n* xref:pkl-cli:index.adoc[CLI]\n* xref:pkl-doc:index.adoc[Pkld"
  },
  {
    "path": "docs/modules/ROOT/partials/component-attributes.adoc",
    "chars": 8433,
    "preview": "// TODO: move to antora.yml once supported\n\n// the following attributes must be updated immediately before a release\n\n//"
  },
  {
    "path": "docs/modules/bindings-specification/pages/binary-encoding.adoc",
    "chars": 5165,
    "preview": "= `pkl-binary` Encoding\ninclude::ROOT:partial$component-attributes.adoc[]\ninclude::partial$component-attributes.adoc[]\n\n"
  },
  {
    "path": "docs/modules/bindings-specification/pages/index.adoc",
    "chars": 4392,
    "preview": "= Language Binding Specification\n\n:uri-pkl-go-github: https://github.com/apple/pkl-go\n:uri-pkl-swift-github: https://git"
  },
  {
    "path": "docs/modules/bindings-specification/pages/message-passing-api.adoc",
    "chars": 18163,
    "preview": "= Message Passing API\n\ninclude::ROOT:partial$component-attributes.adoc[]\ninclude::partial$component-attributes.adoc[]\n\nA"
  },
  {
    "path": "docs/modules/bindings-specification/partials/component-attributes.adoc",
    "chars": 607,
    "preview": ":uri-github-binary-encoding-snippet-tests: {uri-github-tree}/pkl-server/src/test/files/SnippetTests\n:uri-messagepack-boo"
  },
  {
    "path": "docs/modules/introduction/pages/comparison.adoc",
    "chars": 5483,
    "preview": "= Comparison\ninclude::ROOT:partial$component-attributes.adoc[]\n:uri-jsonnet: https://jsonnet.org\n:uri-hcl: https://githu"
  },
  {
    "path": "docs/modules/introduction/pages/concepts.adoc",
    "chars": 4618,
    "preview": "= Concepts\ninclude::ROOT:partial$component-attributes.adoc[]\n:uri-property-list: https://developer.apple.com/library/con"
  },
  {
    "path": "docs/modules/introduction/pages/index.adoc",
    "chars": 640,
    "preview": "= Introduction\ninclude::ROOT:partial$component-attributes.adoc[]\n\nPkl -- pronounced _Pickle_ -- is a configuration-as-co"
  },
  {
    "path": "docs/modules/introduction/pages/use-cases.adoc",
    "chars": 2421,
    "preview": "= Use Cases\ninclude::ROOT:partial$component-attributes.adoc[]\n:uri-kotlin-homepage: https://kotlinlang.org\n:uri-xml-prop"
  },
  {
    "path": "docs/modules/java-binding/examples/JavaConfigExample.java",
    "chars": 800,
    "preview": "import org.pkl.config.java.Config;\nimport org.pkl.config.java.ConfigEvaluator;\nimport org.pkl.config.java.JavaType;\nimpo"
  },
  {
    "path": "docs/modules/java-binding/pages/codegen.adoc",
    "chars": 5838,
    "preview": "= Java Code Generator\ninclude::ROOT:partial$component-attributes.adoc[]\n:uri-pkl-codegen-java-maven-module: {uri-maven-d"
  },
  {
    "path": "docs/modules/java-binding/pages/index.adoc",
    "chars": 200,
    "preview": "= Integration with Java\n\nPkl provides rich integration with Java. Our integration allows you to embed the Pkl runtime in"
  },
  {
    "path": "docs/modules/java-binding/pages/pkl-config-java.adoc",
    "chars": 8976,
    "preview": "= pkl-config-java Library\ninclude::ROOT:partial$component-attributes.adoc[]\n:uri-pkl-core-PklException: {uri-pkl-core-ma"
  },
  {
    "path": "docs/modules/java-binding/partials/cli-codegen-options.adoc",
    "chars": 2717,
    "preview": ".--indent\n[%collapsible]\n====\nDefault: `\"  \"` (two spaces) +\nExample: `\"\\t\"` (one tab) +\nThe characters to use for inden"
  },
  {
    "path": "docs/modules/kotlin-binding/examples/KotlinConfigExample.kt",
    "chars": 1016,
    "preview": "@file:Suppress(\"UNUSED_VARIABLE\")\n\nimport org.pkl.config.java.ConfigEvaluator\nimport org.pkl.config.kotlin.forKotlin\nimp"
  },
  {
    "path": "docs/modules/kotlin-binding/pages/codegen.adoc",
    "chars": 4289,
    "preview": "= Kotlin Code Generator\ninclude::ROOT:partial$component-attributes.adoc[]\n:uri-pkl-codegen-kotlin-maven-module: {uri-mav"
  },
  {
    "path": "docs/modules/kotlin-binding/pages/index.adoc",
    "chars": 212,
    "preview": "= Integration with Kotlin\n\nPkl provides rich integration with Kotlin. Our integration allows you to embed the Pkl runtim"
  },
  {
    "path": "docs/modules/kotlin-binding/pages/pkl-config-kotlin.adoc",
    "chars": 4081,
    "preview": "= pkl-config-kotlin Library\ninclude::ROOT:partial$component-attributes.adoc[]\n:uri-pkl-config-kotlin-maven-module: {uri-"
  },
  {
    "path": "docs/modules/language-reference/pages/index.adoc",
    "chars": 169334,
    "preview": "= Language Reference\ninclude::ROOT:partial$component-attributes.adoc[]\n:uri-common-mark: https://commonmark.org/\n:uri-ne"
  },
  {
    "path": "docs/modules/language-tutorial/pages/01_basic_config.adoc",
    "chars": 8511,
    "preview": "= Basic Configuration\ninclude::ROOT:partial$component-attributes.adoc[]\n\nIn this first part of xref:index.adoc[the Pkl t"
  },
  {
    "path": "docs/modules/language-tutorial/pages/02_filling_out_a_template.adoc",
    "chars": 12433,
    "preview": "= Filling out a Template\ninclude::ROOT:partial$component-attributes.adoc[]\n\nIn this second part of xref:index.adoc[the P"
  },
  {
    "path": "docs/modules/language-tutorial/pages/03_writing_a_template.adoc",
    "chars": 11430,
    "preview": "= Writing a Template\ninclude::ROOT:partial$component-attributes.adoc[]\n\nIn parts xref:01_basic_config.adoc[one] and xref"
  },
  {
    "path": "docs/modules/language-tutorial/pages/index.adoc",
    "chars": 854,
    "preview": "= Tutorial\ninclude::ROOT:partial$component-attributes.adoc[]\n\nWelcome to the Pkl tutorial. We will get you up and runnin"
  },
  {
    "path": "docs/modules/pkl-cli/pages/index.adoc",
    "chars": 45029,
    "preview": "= CLI\ninclude::ROOT:partial$component-attributes.adoc[]\n:uri-homebrew: https://brew.sh\n:uri-mise: https://mise.jdx.dev\n:"
  },
  {
    "path": "docs/modules/pkl-cli/partials/cli-common-options.adoc",
    "chars": 4812,
    "preview": "[[allowed-modules]]\n.--allowed-modules\n[%collapsible]\n====\nDefault: `pkl:,file:,modulepath:,https:,repl:,package:,projec"
  },
  {
    "path": "docs/modules/pkl-cli/partials/cli-project-options.adoc",
    "chars": 726,
    "preview": "[[project-dir]]\n.--project-dir\n[%collapsible]\n====\nDefault: (none) +\nExample: `/some/path` +\nDirectory where the project"
  },
  {
    "path": "docs/modules/pkl-core/examples/CoreEvaluatorExample.java",
    "chars": 858,
    "preview": "import org.pkl.core.Evaluator;\nimport org.pkl.core.ModuleSource;\nimport java.util.List;\n\nimport org.pkl.core.PModule;\nim"
  },
  {
    "path": "docs/modules/pkl-core/pages/index.adoc",
    "chars": 4853,
    "preview": "= pkl-core Library\ninclude::ROOT:partial$component-attributes.adoc[]\n:uri-pkl-core-maven-module: {uri-maven-docsite}/art"
  },
  {
    "path": "docs/modules/pkl-doc/pages/index.adoc",
    "chars": 11112,
    "preview": "= Pkldoc\ninclude::ROOT:partial$component-attributes.adoc[]\n:uri-pkl-doc-maven: {uri-maven-docsite}/artifact/org.pkl-lang"
  },
  {
    "path": "docs/modules/pkl-gradle/pages/index.adoc",
    "chars": 19051,
    "preview": "= Gradle Plugin\ninclude::ROOT:partial$component-attributes.adoc[]\n:uri-pkl-gradle-maven-module: {uri-maven-docsite}/arti"
  },
  {
    "path": "docs/modules/pkl-gradle/partials/gradle-codegen-properties.adoc",
    "chars": 3991,
    "preview": ".indent: Property<String>\n[%collapsible]\n====\nDefault: `\"  \"` (two spaces) +\nExample: `indent = \"\\t\"` (one tab) +\nThe ch"
  },
  {
    "path": "docs/modules/pkl-gradle/partials/gradle-common-properties.adoc",
    "chars": 4693,
    "preview": ".allowedModules: ListProperty<String>\n[%collapsible]\n====\nDefault: `[\"pkl:\", \"file:\", \"modulepath:\", \"https:\", \"repl:\", "
  },
  {
    "path": "docs/modules/pkl-gradle/partials/gradle-modules-properties.adoc",
    "chars": 2696,
    "preview": "\n.sourceModules: ListProperty<Object>\n[%collapsible]\n====\nDefault: `[]` +\nExample 1: `sourceModules = [\"module1.pkl\", \"m"
  },
  {
    "path": "docs/modules/release-notes/pages/0.25.adoc",
    "chars": 413,
    "preview": "= Pkl 0.25 Release Notes\n:version: 0.25\n:version-minor: 0.25.1\n:release-date: February 1st, 2024\n\nPkl {version} was rele"
  },
  {
    "path": "docs/modules/release-notes/pages/0.26.adoc",
    "chars": 23676,
    "preview": "= Pkl 0.26 Release Notes\n:version: 0.26\n:version-minor: 0.26.3\n:release-date: June 17th, 2024\n\ninclude::ROOT:partial$com"
  },
  {
    "path": "docs/modules/release-notes/pages/0.27.adoc",
    "chars": 21680,
    "preview": "= Pkl 0.27 Release Notes\n:version: 0.27\n:version-minor: 0.27.2\n:release-date: November 5th, 2024\n\ninclude::ROOT:partial$"
  },
  {
    "path": "docs/modules/release-notes/pages/0.28.adoc",
    "chars": 16623,
    "preview": "= Pkl 0.28 Release Notes\n:version: 0.28\n:version-minor: 0.28.2\n:release-date: February 26th, 2025\n\ninclude::ROOT:partial"
  },
  {
    "path": "docs/modules/release-notes/pages/0.29.adoc",
    "chars": 15556,
    "preview": "= Pkl 0.29 Release Notes\n:version: 0.29\n:version-minor: 0.29.1\n:release-date: July 24th, 2025\n\ninclude::ROOT:partial$com"
  },
  {
    "path": "docs/modules/release-notes/pages/0.30.adoc",
    "chars": 16381,
    "preview": "= Pkl 0.30 Release Notes\n:version: 0.30\n:version-minor: 0.30.2\n:release-date: November 3rd, 2025\n\n:yaml-binary-scalar: h"
  },
  {
    "path": "docs/modules/release-notes/pages/0.31.adoc",
    "chars": 11590,
    "preview": "= Pkl 0.31 Release Notes\n:version: 0.31\n:version-minor: 0.31.0\n:release-date: February 26th, 2026\n:version-next: 0.32\n:v"
  },
  {
    "path": "docs/modules/release-notes/pages/0.32.adoc",
    "chars": 676,
    "preview": "= Pkl 0.32.0 Release Notes\n:version: 0.32\n:version-minor: 0.32.0\n:release-date: TBD\n:version-next: 0.33\n:version-next-da"
  },
  {
    "path": "docs/modules/release-notes/pages/changelog.adoc",
    "chars": 13555,
    "preview": "= Changelog\ninclude::ROOT:partial$component-attributes.adoc[]\n\n[[release-0.32.0]]\n== 0.32.0 (UNRELEASED)\n\n[[release-0.31"
  },
  {
    "path": "docs/modules/release-notes/pages/index.adoc",
    "chars": 442,
    "preview": "= Release Notes\n\nThe Pkl team aims to release a new version of Pkl in February, June, and October of each year.\n\n* xref:"
  },
  {
    "path": "docs/modules/release-notes/partials/intro.adoc",
    "chars": 657,
    "preview": "include::ROOT:partial$component-attributes.adoc[]\n\nPkl {version} was released on {release-date}. +\n[.small]#The latest b"
  },
  {
    "path": "docs/modules/release-notes/template.adoc",
    "chars": 747,
    "preview": "= Pkl XXX Release Notes\n:version: XXX (e.g., 0.9)\n:version-minor: XXX (e.g., 0.9.0)\n:release-date: XXX (e.g., July 11, 2"
  },
  {
    "path": "docs/modules/style-guide/pages/index.adoc",
    "chars": 13039,
    "preview": "= Pkl Style Guide\n:icons: font\n:source-highlighter: highlight.js\n:pkl-expr: pkl expression\n:pkl: pkl\n:sectnums:\n\nThis do"
  },
  {
    "path": "docs/nav.adoc",
    "chars": 2272,
    "preview": "* xref:introduction:index.adoc[Introduction]\n** xref:introduction:use-cases.adoc[Use Cases]\n** xref:introduction:concept"
  },
  {
    "path": "docs/src/test/kotlin/DocSnippetTests.kt",
    "chars": 13025,
    "preview": "import org.junit.platform.commons.annotation.Testable\nimport org.junit.platform.engine.*\nimport org.junit.platform.engin"
  },
  {
    "path": "docs/src/test/resources/META-INF/services/org.junit.platform.engine.TestEngine",
    "chars": 21,
    "preview": "DocSnippetTestsEngine"
  },
  {
    "path": "gradle/libs.versions.toml",
    "chars": 7381,
    "preview": "[versions] # ordered alphabetically\nassertj = \"3.+\"\nchecksumPlugin = \"1.4.0\"\nclikt = \"5.+\"\ncommonMark = \"0.+\"\ndownloadTa"
  },
  {
    "path": "gradle/wrapper/gradle-wrapper.properties",
    "chars": 339,
    "preview": "distributionBase=GRADLE_USER_HOME\ndistributionPath=wrapper/dists\ndistributionSha256Sum=a17ddd85a26b6a7f5ddb71ff8b05fc510"
  },
  {
    "path": "gradle.properties",
    "chars": 707,
    "preview": "# suppress inspection \"UnusedProperty\" for whole file\n\ngroup=org.pkl-lang\nversion=0.32.0\n\n# google-java-format requires "
  },
  {
    "path": "gradlew",
    "chars": 8710,
    "preview": "#!/bin/sh\n\n#\n# Copyright © 2015-2021 the original authors.\n#\n# Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "gradlew.bat",
    "chars": 2937,
    "preview": "@rem\r\n@rem Copyright 2015 the original author or authors.\r\n@rem\r\n@rem Licensed under the Apache License, Version 2.0 (th"
  },
  {
    "path": "jbang-catalog.json",
    "chars": 397,
    "preview": "{\n  \"catalogs\": {},\n  \"aliases\": {\n    \"pkl\": {\n      \"script-ref\": \"org.pkl-lang:pkl-cli-java:0.31.0\",\n      \"java-agen"
  },
  {
    "path": "pkl-bom/pkl-bom.gradle.kts",
    "chars": 1731,
    "preview": "/*\n * Copyright © 2024-2026 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "pkl-cli/README.adoc",
    "chars": 97,
    "preview": "Command-line interface for Pkl.\n\nThe CLI provides the following tools:\n\n* Batch evaluator\n* REPL\n"
  },
  {
    "path": "pkl-cli/gradle.lockfile",
    "chars": 19481,
    "preview": "# This is a Gradle generated file for dependency locking.\n# Manual edits can break the build and are not advised.\n# This"
  },
  {
    "path": "pkl-cli/pkl-cli.gradle.kts",
    "chars": 5795,
    "preview": "/*\n * Copyright © 2024-2025 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "pkl-cli/src/main/kotlin/org/pkl/cli/CliCommandRunner.kt",
    "chars": 10209,
    "preview": "/*\n * Copyright © 2025-2026 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "pkl-cli/src/main/kotlin/org/pkl/cli/CliEvaluator.kt",
    "chars": 10807,
    "preview": "/*\n * Copyright © 2024-2026 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "pkl-cli/src/main/kotlin/org/pkl/cli/CliEvaluatorOptions.kt",
    "chars": 3199,
    "preview": "/*\n * Copyright © 2024-2025 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "pkl-cli/src/main/kotlin/org/pkl/cli/CliFormatterCommand.kt",
    "chars": 4855,
    "preview": "/*\n * Copyright © 2025-2026 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "pkl-cli/src/main/kotlin/org/pkl/cli/CliImportAnalyzer.kt",
    "chars": 2376,
    "preview": "/*\n * Copyright © 2024-2026 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "pkl-cli/src/main/kotlin/org/pkl/cli/CliImportAnalyzerOptions.kt",
    "chars": 1108,
    "preview": "/*\n * Copyright © 2024 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache Lice"
  },
  {
    "path": "pkl-cli/src/main/kotlin/org/pkl/cli/CliPackageDownloader.kt",
    "chars": 2108,
    "preview": "/*\n * Copyright © 2024-2025 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "pkl-cli/src/main/kotlin/org/pkl/cli/CliProjectCommand.kt",
    "chars": 1888,
    "preview": "/*\n * Copyright © 2024 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache Lice"
  },
  {
    "path": "pkl-cli/src/main/kotlin/org/pkl/cli/CliProjectPackager.kt",
    "chars": 3147,
    "preview": "/*\n * Copyright © 2024-2025 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "pkl-cli/src/main/kotlin/org/pkl/cli/CliProjectResolver.kt",
    "chars": 2194,
    "preview": "/*\n * Copyright © 2024-2026 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "pkl-cli/src/main/kotlin/org/pkl/cli/CliRepl.kt",
    "chars": 2799,
    "preview": "/*\n * Copyright © 2024-2026 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "pkl-cli/src/main/kotlin/org/pkl/cli/CliServer.kt",
    "chars": 1150,
    "preview": "/*\n * Copyright © 2024-2025 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "pkl-cli/src/main/kotlin/org/pkl/cli/CliTestRunner.kt",
    "chars": 4608,
    "preview": "/*\n * Copyright © 2024-2026 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "pkl-cli/src/main/kotlin/org/pkl/cli/Main.kt",
    "chars": 953,
    "preview": "/*\n * Copyright © 2024-2025 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "pkl-cli/src/main/kotlin/org/pkl/cli/OutputUtils.kt",
    "chars": 1192,
    "preview": "/*\n * Copyright © 2025-2026 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "pkl-cli/src/main/kotlin/org/pkl/cli/commands/AnalyzeCommand.kt",
    "chars": 2072,
    "preview": "/*\n * Copyright © 2024-2026 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "pkl-cli/src/main/kotlin/org/pkl/cli/commands/DownloadPackageCommand.kt",
    "chars": 2356,
    "preview": "/*\n * Copyright © 2024-2025 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "pkl-cli/src/main/kotlin/org/pkl/cli/commands/EvalCommand.kt",
    "chars": 3584,
    "preview": "/*\n * Copyright © 2024-2026 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "pkl-cli/src/main/kotlin/org/pkl/cli/commands/FormatterCommand.kt",
    "chars": 3439,
    "preview": "/*\n * Copyright © 2025 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache Lice"
  },
  {
    "path": "pkl-cli/src/main/kotlin/org/pkl/cli/commands/ProjectCommand.kt",
    "chars": 4778,
    "preview": "/*\n * Copyright © 2024-2026 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "pkl-cli/src/main/kotlin/org/pkl/cli/commands/ReplCommand.kt",
    "chars": 1239,
    "preview": "/*\n * Copyright © 2024-2025 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "pkl-cli/src/main/kotlin/org/pkl/cli/commands/RootCommand.kt",
    "chars": 1983,
    "preview": "/*\n * Copyright © 2024-2026 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "pkl-cli/src/main/kotlin/org/pkl/cli/commands/RunCommand.kt",
    "chars": 3404,
    "preview": "/*\n * Copyright © 2025-2026 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "pkl-cli/src/main/kotlin/org/pkl/cli/commands/ServerCommand.kt",
    "chars": 1161,
    "preview": "/*\n * Copyright © 2024-2025 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "pkl-cli/src/main/kotlin/org/pkl/cli/commands/TestCommand.kt",
    "chars": 2410,
    "preview": "/*\n * Copyright © 2024-2026 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "pkl-cli/src/main/kotlin/org/pkl/cli/commands/Utils.kt",
    "chars": 715,
    "preview": "/*\n * Copyright © 2025 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache Lice"
  },
  {
    "path": "pkl-cli/src/main/kotlin/org/pkl/cli/repl/Repl.kt",
    "chars": 7399,
    "preview": "/*\n * Copyright © 2024-2026 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "pkl-cli/src/main/kotlin/org/pkl/cli/repl/ReplCommands.kt",
    "chars": 1333,
    "preview": "/*\n * Copyright © 2024-2025 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "pkl-cli/src/main/kotlin/org/pkl/cli/repl/ReplCompleters.kt",
    "chars": 6045,
    "preview": "/*\n * Copyright © 2024-2025 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "pkl-cli/src/main/kotlin/org/pkl/cli/repl/ReplMessages.kt",
    "chars": 2925,
    "preview": "/*\n * Copyright © 2024 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache Lice"
  },
  {
    "path": "pkl-cli/src/main/kotlin/org/pkl/cli/repl/package-info.java",
    "chars": 1766,
    "preview": "/**\n * This package contains source code from:\n *\n * <p>https://github.com/jline/jline3\n *\n * <p>Original license:\n *\n *"
  },
  {
    "path": "pkl-cli/src/test/files/projects/project1/PklProject",
    "chars": 103,
    "preview": "amends \"pkl:Project\"\n\ndependencies {\n  [\"birds\"] {\n    uri = \"package://localhost:0/birds@0.5.0\"\n  }\n}\n"
  },
  {
    "path": "pkl-cli/src/test/kotlin/org/pkl/cli/CliCommandRunnerTest.kt",
    "chars": 29550,
    "preview": "/*\n * Copyright © 2025-2026 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "pkl-cli/src/test/kotlin/org/pkl/cli/CliEvaluatorTest.kt",
    "chars": 46798,
    "preview": "/*\n * Copyright © 2024-2026 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "pkl-cli/src/test/kotlin/org/pkl/cli/CliFormatterTest.kt",
    "chars": 2249,
    "preview": "/*\n * Copyright © 2025-2026 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "pkl-cli/src/test/kotlin/org/pkl/cli/CliImportAnalyzerTest.kt",
    "chars": 4546,
    "preview": "/*\n * Copyright © 2024-2025 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "pkl-cli/src/test/kotlin/org/pkl/cli/CliMainTest.kt",
    "chars": 5906,
    "preview": "/*\n * Copyright © 2024-2025 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "pkl-cli/src/test/kotlin/org/pkl/cli/CliPackageDownloaderTest.kt",
    "chars": 8350,
    "preview": "/*\n * Copyright © 2024-2025 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "pkl-cli/src/test/kotlin/org/pkl/cli/CliProjectPackagerTest.kt",
    "chars": 29879,
    "preview": "/*\n * Copyright © 2024-2025 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "pkl-cli/src/test/kotlin/org/pkl/cli/CliProjectResolverTest.kt",
    "chars": 13654,
    "preview": "/*\n * Copyright © 2024-2026 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "pkl-cli/src/test/kotlin/org/pkl/cli/CliShellCompletionTest.kt",
    "chars": 1173,
    "preview": "/*\n * Copyright © 2024-2025 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "pkl-cli/src/test/kotlin/org/pkl/cli/CliTestRunnerTest.kt",
    "chars": 20539,
    "preview": "/*\n * Copyright © 2024-2026 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "pkl-cli/src/test/kotlin/org/pkl/cli/repl/ReplMessagesTest.kt",
    "chars": 2526,
    "preview": "/*\n * Copyright © 2024-2025 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "pkl-cli/src/test/kotlin/org/pkl/cli/testExtensions.kt",
    "chars": 1081,
    "preview": "/*\n * Copyright © 2024-2025 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "pkl-codegen-java/gradle.lockfile",
    "chars": 10061,
    "preview": "# This is a Gradle generated file for dependency locking.\n# Manual edits can break the build and are not advised.\n# This"
  },
  {
    "path": "pkl-codegen-java/pkl-codegen-java.gradle.kts",
    "chars": 2114,
    "preview": "/*\n * Copyright © 2024-2025 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  },
  {
    "path": "pkl-codegen-java/src/main/kotlin/org/pkl/codegen/java/CliJavaCodeGenerator.kt",
    "chars": 2107,
    "preview": "/*\n * Copyright © 2024-2026 Apple Inc. and the Pkl project authors. All rights reserved.\n *\n * Licensed under the Apache"
  }
]

// ... and 4580 more files (download for full content)

About this extraction

This page contains the full source code of the apple/pkl GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 4780 files (19.9 MB), approximately 5.5M tokens, and a symbol index with 9626 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!