pkl / PR 1857

Switch inferred `new {}` expressions in method args to using frame slots

apple/pkl#1857 mergedmixed

+422/−202lines
40files
9comments
2026-09-11opened
2026-09-22merged

What it touches

test: 22 main: 18

Modules: pkl-core (40)

Architectural impact (arcade-agent diff_impact)

18files mapped to the graph
321entities in those files
Corecomponents
1974entities within 3 hops downstream

Most depended-upon changed entities

EntityDependents
org.pkl.core.runtime.VmUtils370
org.pkl.core.ast.type.TypeNode308
org.pkl.core.ast.builder.AstBuilder27
org.pkl.core.ast.expression.member.InvokeMethodDirectNode17
org.pkl.core.ast.internal.ToStringNode8

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/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/member/AbstractInvokeLexicalMethodNode.java
mainpkl-core/src/main/java/org/pkl/core/ast/expression/member/AbstractInvokeLexicalOrQualifiedMethodNode.java
mainpkl-core/src/main/java/org/pkl/core/ast/expression/member/AbstractInvokeMethodNode.java
mainpkl-core/src/main/java/org/pkl/core/ast/expression/member/AbstractInvokeQualifiedMethodNode.java
mainpkl-core/src/main/java/org/pkl/core/ast/expression/member/InferParentWithinMethodArgumentNode.java
mainpkl-core/src/main/java/org/pkl/core/ast/expression/member/InvokeLexicalClassMethodNode.java
mainpkl-core/src/main/java/org/pkl/core/ast/expression/member/InvokeLexicalObjectMethodNode.java
mainpkl-core/src/main/java/org/pkl/core/ast/expression/member/InvokeMethodDirectNode.java
mainpkl-core/src/main/java/org/pkl/core/ast/expression/member/InvokeMethodVirtualNode.java
mainpkl-core/src/main/java/org/pkl/core/ast/expression/member/InvokeQualifiedClassMethodNode.java
mainpkl-core/src/main/java/org/pkl/core/ast/expression/member/InvokeQualifiedObjectMethodNode.java
mainpkl-core/src/main/java/org/pkl/core/ast/expression/member/InvokeSuperMethodNode.java
mainpkl-core/src/main/java/org/pkl/core/ast/internal/ToStringNode.java
mainpkl-core/src/main/java/org/pkl/core/ast/type/TypeNode.java
mainpkl-core/src/main/java/org/pkl/core/runtime/FrameDescriptorBuilder.java
mainpkl-core/src/main/java/org/pkl/core/runtime/VmUtils.java
testpkl-core/src/test/files/LanguageSnippetTests/input/basic/let2.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/basic/letInTypeConstraint1.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/basic/letInTypeConstraint2.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/basic/letInTypeConstraint3.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/basic/letInTypeConstraint4.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/methods/inferParameterType2.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/methods/inferParameterType3.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/methods/inferParameterType4.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/methods/inferParameterType5.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/methods/inferParameterType6.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/methods/inferParameterType7.pkl
testpkl-core/src/test/files/LanguageSnippetTests/output/basic/let2.pcf
testpkl-core/src/test/files/LanguageSnippetTests/output/basic/letInTypeConstraint1.pcf
testpkl-core/src/test/files/LanguageSnippetTests/output/basic/letInTypeConstraint2.pcf
testpkl-core/src/test/files/LanguageSnippetTests/output/basic/letInTypeConstraint3.pcf
testpkl-core/src/test/files/LanguageSnippetTests/output/basic/letInTypeConstraint4.pcf
testpkl-core/src/test/files/LanguageSnippetTests/output/methods/inferParameterType2.pcf
testpkl-core/src/test/files/LanguageSnippetTests/output/methods/inferParameterType3.pcf
testpkl-core/src/test/files/LanguageSnippetTests/output/methods/inferParameterType4.pcf
testpkl-core/src/test/files/LanguageSnippetTests/output/methods/inferParameterType5.pcf
testpkl-core/src/test/files/LanguageSnippetTests/output/methods/inferParameterType6.pcf
testpkl-core/src/test/files/LanguageSnippetTests/output/methods/inferParameterType7.pcf