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
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/
│ │ │
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.