pkl / PR 1869

Elide capturing of closures in functions and objects

apple/pkl#1869 openmixed

+749/−249lines
56files
2comments
2026-09-21opened
-merged

What it touches

main: 39 test: 16 other: 1

Modules: pkl-core (55), .idea (1)

Architectural impact (arcade-agent diff_impact)

38files mapped to the graph
538entities in those files
Core, Formatter, Parsercomponents
1637entities within 3 hops downstream

Most depended-upon changed entities

EntityDependents
org.pkl.core.ast.type.TypeNode341
org.pkl.core.runtime.VmDynamic147
org.pkl.core.runtime.VmMapping131
org.pkl.core.runtime.VmFunction128
org.pkl.core.runtime.VmListing128
org.pkl.core.ast.builder.AstBuilder100
org.pkl.core.runtime.CommandSpecParser21
org.pkl.core.runtime.TestRunner21

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

other.idea/inspectionProfiles/Project_Default.xml
mainpkl-core/src/main/java/org/pkl/core/ast/builder/AstBuilder.java
mainpkl-core/src/main/java/org/pkl/core/ast/builder/SymbolTable.java
mainpkl-core/src/main/java/org/pkl/core/ast/expression/generator/GeneratorObjectLiteralNode.java
mainpkl-core/src/main/java/org/pkl/core/ast/expression/literal/AmendFunctionNode.java
mainpkl-core/src/main/java/org/pkl/core/ast/expression/literal/AmendModuleNode.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/FunctionLiteralNode.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/ast/expression/literal/SpecializedObjectLiteralNode.java
mainpkl-core/src/main/java/org/pkl/core/ast/type/GetBaseModuleTypeNode.java
mainpkl-core/src/main/java/org/pkl/core/ast/type/ResolveDeclaredTypeNode.java
mainpkl-core/src/main/java/org/pkl/core/ast/type/ResolveQualifiedDeclaredTypeNode.java
mainpkl-core/src/main/java/org/pkl/core/ast/type/ResolveSimpleDeclaredTypeNode.java
mainpkl-core/src/main/java/org/pkl/core/ast/type/TypeNode.java
mainpkl-core/src/main/java/org/pkl/core/runtime/CommandSpecParser.java
mainpkl-core/src/main/java/org/pkl/core/runtime/MemberLookupSuggestions.java
mainpkl-core/src/main/java/org/pkl/core/runtime/TestRunner.java
mainpkl-core/src/main/java/org/pkl/core/runtime/VmDynamic.java
mainpkl-core/src/main/java/org/pkl/core/runtime/VmFunction.java
mainpkl-core/src/main/java/org/pkl/core/runtime/VmListing.java
mainpkl-core/src/main/java/org/pkl/core/runtime/VmListingOrMapping.java
mainpkl-core/src/main/java/org/pkl/core/runtime/VmMapping.java
mainpkl-core/src/main/java/org/pkl/core/runtime/VmObject.java
mainpkl-core/src/main/java/org/pkl/core/runtime/VmObjectBuilder.java
mainpkl-core/src/main/java/org/pkl/core/runtime/VmObjectLike.java
mainpkl-core/src/main/java/org/pkl/core/runtime/VmTyped.java
mainpkl-core/src/main/java/org/pkl/core/stdlib/VmObjectFactory.java
mainpkl-core/src/main/java/org/pkl/core/stdlib/base/DynamicNodes.java
mainpkl-core/src/main/java/org/pkl/core/stdlib/base/IntSeqNodes.java
mainpkl-core/src/main/java/org/pkl/core/stdlib/base/MapNodes.java
mainpkl-core/src/main/java/org/pkl/core/stdlib/base/PropertiesRendererNodes.java
mainpkl-core/src/main/java/org/pkl/core/stdlib/base/TypedNodes.java
mainpkl-core/src/main/java/org/pkl/core/stdlib/json/ParserNodes.java
mainpkl-core/src/main/java/org/pkl/core/stdlib/protobuf/RendererNodes.java
testpkl-core/src/main/java/org/pkl/core/stdlib/test/report/JUnitReporter.java
mainpkl-core/src/main/java/org/pkl/core/stdlib/yaml/ParserNodes.java
testpkl-core/src/test/files/LanguageSnippetTests/input/basic/baseModule.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/basic/typeInAmendingModule.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/errors/propertyNotFound3.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/lambdas/amendLambdaNoParameters.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/lambdas/amendLambdaParametersTyped.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/objects/outer3.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/objects/outer4.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/objects/super5.pkl
testpkl-core/src/test/files/LanguageSnippetTests/output/basic/typeInAmendingModule.pcf
testpkl-core/src/test/files/LanguageSnippetTests/output/errors/propertyNotFound3.err
testpkl-core/src/test/files/LanguageSnippetTests/output/lambdas/amendLambdaNoParameters.pcf
testpkl-core/src/test/files/LanguageSnippetTests/output/objects/outer3.err
testpkl-core/src/test/files/LanguageSnippetTests/output/objects/outer4.pcf
testpkl-core/src/test/files/LanguageSnippetTests/output/objects/super5.pcf
testpkl-core/src/test/kotlin/org/pkl/core/runtime/VmObjectLikeClosureTest.kt