pkl / PR 1838

Add `VmType` intermediate representation for types

apple/pkl#1838 mergedmixed

+2163/−1479lines
36files
48comments
2026-08-28opened
2026-09-22merged

What it touches

main: 19 test: 16 other: 1

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

Architectural impact (arcade-agent diff_impact)

18files mapped to the graph
275entities in those files
Core, Parsercomponents
1934entities within 3 hops downstream

Most depended-upon changed entities

EntityDependents
org.pkl.core.ast.type.UnresolvedTypeNode378
org.pkl.core.ast.type.TypeNode331
org.pkl.core.ast.expression.literal.CheckIsAnnotationClassNode126
org.pkl.core.ast.member.ClassNode126
org.pkl.core.runtime.CommandSpecParser21
org.pkl.core.ast.type.VmTypeMismatchException13
org.pkl.core.ast.expression.member.AbstractInferParentNode7
org.pkl.core.ast.member.FunctionNode6

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/expression/binary/SubscriptNode.java
mainpkl-core/src/main/java/org/pkl/core/ast/expression/literal/CheckIsAnnotationClassNode.java
mainpkl-core/src/main/java/org/pkl/core/ast/expression/member/AbstractInferParentNode.java
mainpkl-core/src/main/java/org/pkl/core/ast/expression/member/ReadPropertyNode.java
mainpkl-core/src/main/java/org/pkl/core/ast/member/ClassNode.java
mainpkl-core/src/main/java/org/pkl/core/ast/member/FunctionNode.java
mainpkl-core/src/main/java/org/pkl/core/ast/type/TypeNode.java
mainpkl-core/src/main/java/org/pkl/core/ast/type/UnresolvedTypeNode.java
mainpkl-core/src/main/java/org/pkl/core/ast/type/VmTypeMismatchException.java
mainpkl-core/src/main/java/org/pkl/core/runtime/CommandSpecParser.java
mainpkl-core/src/main/java/org/pkl/core/runtime/MirrorFactories.java
mainpkl-core/src/main/java/org/pkl/core/runtime/VmClass.java
mainpkl-core/src/main/java/org/pkl/core/runtime/VmListingOrMapping.java
mainpkl-core/src/main/java/org/pkl/core/runtime/VmReference.java
mainpkl-core/src/main/java/org/pkl/core/runtime/VmType.java
mainpkl-core/src/main/java/org/pkl/core/runtime/VmTypeAlias.java
mainpkl-core/src/main/java/org/pkl/core/runtime/VmTypes.java
mainpkl-core/src/main/java/org/pkl/core/stdlib/protobuf/RendererNodes.java
mainpkl-core/src/main/resources/org/pkl/core/errorMessages.properties
testpkl-core/src/test/files/LanguageSnippetTests/input/api/reference.pkl
testpkl-core/src/test/files/LanguageSnippetTests/output/api/reference.pcf
testpkl-core/src/test/files/LanguageSnippetTests/output/errors/reference13.err
testpkl-core/src/test/files/LanguageSnippetTests/output/errors/reference14.err
testpkl-core/src/test/files/LanguageSnippetTests/output/errors/reference26.err
testpkl-core/src/test/files/LanguageSnippetTests/output/errors/reference7.err
testpkl-core/src/test/files/LanguageSnippetTests/output/types/classTypeErr11.err
testpkl-core/src/test/files/LanguageSnippetTests/output/types/classTypeErr12.err
testpkl-core/src/test/files/LanguageSnippetTests/output/types/classTypeErr13.err
testpkl-core/src/test/files/LanguageSnippetTests/output/types/classTypeErr4.err
testpkl-core/src/test/files/LanguageSnippetTests/output/types/classTypeErr5.err
testpkl-core/src/test/files/LanguageSnippetTests/output/types/classTypeErr6.err
testpkl-core/src/test/files/LanguageSnippetTests/output/types/classTypeErr7.err
testpkl-core/src/test/files/LanguageSnippetTests/output/types/classTypeErr8.err
testpkl-core/src/test/kotlin/org/pkl/core/runtime/CommandSpecParserTest.kt
testpkl-core/src/test/kotlin/org/pkl/core/runtime/VmTypeTest.kt