pkl / PR 1708

Add `this` as a self type

apple/pkl#1708 mergedmixed

+1487/−561lines
305files
59comments
2026-06-26opened
2026-09-02merged

What it touches

test: 277 main: 25 other: 3

Modules: pkl-doc (217), pkl-core (75), pkl-parser (7), stdlib (3), pkl-codegen-java (1), pkl-codegen-kotlin (1)

Architectural impact (arcade-agent diff_impact)

19files mapped to the graph
661entities in those files
Core, Formatter, Parsercomponents
2326entities within 3 hops downstream

Most depended-upon changed entities

EntityDependents
org.pkl.core.ast.type.TypeNode383
org.pkl.core.ast.type.UnresolvedTypeNode315
org.pkl.core.ast.builder.AstBuilder100
org.pkl.formatter.Builder.nodes77
org.pkl.core.runtime.VmReference55
org.pkl.core.PType42
org.pkl.core.ast.type.GetParentForTypeNode17
org.pkl.formatter.Builder.Builder16

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-codegen-java/src/main/kotlin/org/pkl/codegen/java/JavaCodeGenerator.kt
mainpkl-codegen-kotlin/src/main/kotlin/org/pkl/codegen/kotlin/KotlinCodeGenerator.kt
mainpkl-core/src/main/java/org/pkl/core/PType.java
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/primary/GetModuleNode.java
mainpkl-core/src/main/java/org/pkl/core/ast/expression/primary/GetReceiverClassNode.java
mainpkl-core/src/main/java/org/pkl/core/ast/type/GetParentForTypeNode.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/runtime/MirrorFactories.java
mainpkl-core/src/main/java/org/pkl/core/runtime/ReflectModule.java
mainpkl-core/src/main/java/org/pkl/core/runtime/VmReference.java
mainpkl-core/src/main/java/org/pkl/core/stdlib/reflect/ReflectNodes.java
mainpkl-core/src/main/resources/org/pkl/core/errorMessages.properties
testpkl-core/src/test/files/LanguageSnippetTests/input-helper/api/reflect/BaseModule.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input-helper/types/aliasHolder.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input-helper/types/moduleTypeProperty.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/api/reference.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/api/reflect1.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/basic/reference.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/errors/reference1.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/errors/reference10.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/errors/reference11.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/errors/reference12.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/errors/reference13.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/errors/reference14.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/errors/reference15.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/errors/reference16.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/errors/reference17.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/errors/reference18.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/errors/reference19.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/errors/reference2.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/errors/reference20.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/errors/reference28.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/errors/reference29.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/errors/reference3.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/errors/reference30.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/errors/reference4.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/errors/reference5.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/errors/reference6.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/errors/reference7.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/errors/reference8.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/errors/reference9.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/types/currentModuleType1.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/types/currentModuleType2.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/types/currentModuleType4.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/types/currentModuleType5.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/types/currentModuleType6.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/types/thisType1.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/types/thisType2.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/types/thisType3.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/types/thisType4.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/types/thisType5.pkl
testpkl-core/src/test/files/LanguageSnippetTests/input/types/thisType6.pkl
testpkl-core/src/test/files/LanguageSnippetTests/output/api/reference.pcf
testpkl-core/src/test/files/LanguageSnippetTests/output/api/reflect1.pcf
testpkl-core/src/test/files/LanguageSnippetTests/output/errors/reference20.err
testpkl-core/src/test/files/LanguageSnippetTests/output/errors/reference28.pcf
testpkl-core/src/test/files/LanguageSnippetTests/output/errors/reference29.pcf

… and 245 more files.