pkl / PR 1836

Improve partial-evaluation when amending null parents

apple/pkl#1836 mergedmixed

+1038/−41lines
29files
12comments
2026-08-27opened
2026-09-02merged

What it touches

test: 20 main: 9

Modules: pkl-core (29)

Architectural impact (arcade-agent diff_impact)

9files mapped to the graph
241entities in those files
Corecomponents
2119entities within 3 hops downstream

Most depended-upon changed entities

EntityDependents
org.pkl.core.runtime.VmUtils511
org.pkl.core.runtime.BaseModule283
org.pkl.core.ast.expression.generator.GeneratorObjectLiteralNode126
org.pkl.core.runtime.BaseModule.getListingClass22
org.pkl.core.runtime.BaseModule.getMappingClass22
org.pkl.core.ast.expression.literal.ObjectLiteralNode1

Computed against the current default branch, not the PR base commit; files renamed or deleted since then are unmatched. Downstream counts are a reverse-dependency closure to depth 3 and over-approximate real blast radius.

Files

mainpkl-core/src/main/java/org/pkl/core/ast/expression/generator/GeneratorObjectLiteralNode.java
mainpkl-core/src/main/java/org/pkl/core/ast/expression/literal/ConstantEntriesLiteralNode.java
mainpkl-core/src/main/java/org/pkl/core/ast/expression/literal/ElementsEntriesLiteralNode.java
mainpkl-core/src/main/java/org/pkl/core/ast/expression/literal/ElementsLiteralNode.java
mainpkl-core/src/main/java/org/pkl/core/ast/expression/literal/EntriesLiteralNode.java
mainpkl-core/src/main/java/org/pkl/core/ast/expression/literal/ObjectLiteralNode.java
mainpkl-core/src/main/java/org/pkl/core/ast/expression/literal/PropertiesLiteralNode.java
mainpkl-core/src/main/java/org/pkl/core/runtime/BaseModule.java
mainpkl-core/src/main/java/org/pkl/core/runtime/VmUtils.java
testpkl-core/src/test/files/LanguageSnippetTests/input/lambdas/amendLambdaNullable.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/listings/listing1.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/listings/listing2.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/mappings/mapping1.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/nullParents/constantEntries.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/nullParents/elements.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/nullParents/elementsEntries.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/nullParents/entries.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/nullParents/generator.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/nullParents/properties.pkl
testpkl-core/src/test/files/LanguageSnippetTests/output/lambdas/amendLambdaNullable.pcf
testpkl-core/src/test/files/LanguageSnippetTests/output/listings/listing1.pcf
testpkl-core/src/test/files/LanguageSnippetTests/output/listings/listing2.pcf
testpkl-core/src/test/files/LanguageSnippetTests/output/mappings/mapping1.pcf
testpkl-core/src/test/files/LanguageSnippetTests/output/nullParents/constantEntries.pcf
testpkl-core/src/test/files/LanguageSnippetTests/output/nullParents/elements.pcf
testpkl-core/src/test/files/LanguageSnippetTests/output/nullParents/elementsEntries.pcf
testpkl-core/src/test/files/LanguageSnippetTests/output/nullParents/entries.pcf
testpkl-core/src/test/files/LanguageSnippetTests/output/nullParents/generator.pcf
testpkl-core/src/test/files/LanguageSnippetTests/output/nullParents/properties.pcf