pkl / PR 1850

Avoid using `Object.toString()` for in-language API

apple/pkl#1850 mergedmixed

+165/−57lines
40files
3comments
2026-09-08opened
2026-09-11merged

What it touches

main: 28 test: 12

Modules: pkl-core (40)

Architectural impact (arcade-agent diff_impact)

28files mapped to the graph
565entities in those files
Core, Parsercomponents
2377entities within 3 hops downstream

Most depended-upon changed entities

EntityDependents
org.pkl.core.runtime.VmClass269
org.pkl.core.runtime.VmDataSize169
org.pkl.core.runtime.VmDuration167
org.pkl.core.runtime.VmBytes161
org.pkl.core.runtime.VmDynamic106
org.pkl.core.runtime.VmCollection85
org.pkl.core.ast.type.VmTypeMismatchException13
org.pkl.core.ast.internal.ToStringNode4

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/SymbolTable.java
mainpkl-core/src/main/java/org/pkl/core/ast/internal/ToStringNode.java
mainpkl-core/src/main/java/org/pkl/core/ast/type/VmTypeMismatchException.java
mainpkl-core/src/main/java/org/pkl/core/runtime/VmBytes.java
mainpkl-core/src/main/java/org/pkl/core/runtime/VmClass.java
mainpkl-core/src/main/java/org/pkl/core/runtime/VmCollection.java
mainpkl-core/src/main/java/org/pkl/core/runtime/VmDataSize.java
mainpkl-core/src/main/java/org/pkl/core/runtime/VmDuration.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/VmIntSeq.java
mainpkl-core/src/main/java/org/pkl/core/runtime/VmMap.java
mainpkl-core/src/main/java/org/pkl/core/runtime/VmNull.java
mainpkl-core/src/main/java/org/pkl/core/runtime/VmObject.java
mainpkl-core/src/main/java/org/pkl/core/runtime/VmPair.java
mainpkl-core/src/main/java/org/pkl/core/runtime/VmReference.java
mainpkl-core/src/main/java/org/pkl/core/runtime/VmRegex.java
mainpkl-core/src/main/java/org/pkl/core/runtime/VmTypeAlias.java
mainpkl-core/src/main/java/org/pkl/core/runtime/VmUndefinedValueException.java
mainpkl-core/src/main/java/org/pkl/core/runtime/VmUtils.java
mainpkl-core/src/main/java/org/pkl/core/runtime/VmValue.java
mainpkl-core/src/main/java/org/pkl/core/runtime/VmValueRenderer.java
mainpkl-core/src/main/java/org/pkl/core/stdlib/base/AnyNodes.java
mainpkl-core/src/main/java/org/pkl/core/stdlib/base/JsonRendererNodes.java
mainpkl-core/src/main/java/org/pkl/core/stdlib/base/ListingNodes.java
mainpkl-core/src/main/java/org/pkl/core/stdlib/base/PcfRenderer.java
mainpkl-core/src/main/java/org/pkl/core/stdlib/base/PropertiesRendererNodes.java
mainpkl-core/src/main/java/org/pkl/core/stdlib/protobuf/RendererNodes.java
testpkl-core/src/test/files/LanguageSnippetTests/input/api/list.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/api/propertiesRenderer13.properties.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/api/set.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/errors/stackTraceWithDataSizeEntryName.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/errors/stackTraceWithDurationEntryName.pkl
testpkl-core/src/test/files/LanguageSnippetTests/output/api/list.pcf
testpkl-core/src/test/files/LanguageSnippetTests/output/api/propertiesRenderer13.properties
testpkl-core/src/test/files/LanguageSnippetTests/output/api/set.pcf
testpkl-core/src/test/files/LanguageSnippetTests/output/errors/stackTraceWithDataSizeEntryName.err
testpkl-core/src/test/files/LanguageSnippetTests/output/errors/stackTraceWithDurationEntryName.err
testpkl-core/src/test/kotlin/org/pkl/core/EvaluatorTest.kt
testpkl-core/src/test/kotlin/org/pkl/core/util/ErrorMessagesTest.kt