[PR #1354] Add Reference<T> #1039

Open
opened 2025-12-30 01:28:26 +01:00 by adam · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/apple/pkl/pull/1354
Author: @HT154
Created: 12/6/2025
Status: 🔄 Open

Base: mainHead: reference-t


📝 Commits (6)

📊 Changes

27 files changed (+1049 additions, -46 deletions)

View changed files

📝 docs/modules/ROOT/partials/component-attributes.adoc (+2 -0)
📝 docs/modules/bindings-specification/pages/binary-encoding.adoc (+18 -0)
📝 pkl-core/src/main/java/org/pkl/core/PClass.java (+14 -2)
📝 pkl-core/src/main/java/org/pkl/core/TypeAlias.java (+8 -1)
📝 pkl-core/src/main/java/org/pkl/core/ast/expression/binary/SubscriptNode.java (+12 -0)
📝 pkl-core/src/main/java/org/pkl/core/ast/expression/member/ReadPropertyNode.java (+14 -1)
📝 pkl-core/src/main/java/org/pkl/core/ast/type/TypeNode.java (+75 -0)
📝 pkl-core/src/main/java/org/pkl/core/ast/type/UnresolvedTypeNode.java (+4 -0)
📝 pkl-core/src/main/java/org/pkl/core/runtime/BaseModule.java (+52 -0)
📝 pkl-core/src/main/java/org/pkl/core/runtime/VmClass.java (+57 -39)
📝 pkl-core/src/main/java/org/pkl/core/runtime/VmPklBinaryEncoder.java (+33 -0)
pkl-core/src/main/java/org/pkl/core/runtime/VmReference.java (+446 -0)
📝 pkl-core/src/main/java/org/pkl/core/runtime/VmTypeAlias.java (+2 -1)
📝 pkl-core/src/main/java/org/pkl/core/runtime/VmTypes.java (+4 -2)
📝 pkl-core/src/main/java/org/pkl/core/runtime/VmValueConverter.java (+4 -0)
📝 pkl-core/src/main/java/org/pkl/core/runtime/VmValueRenderer.java (+24 -0)
📝 pkl-core/src/main/java/org/pkl/core/runtime/VmValueVisitor.java (+4 -0)
📝 pkl-core/src/main/java/org/pkl/core/stdlib/AbstractRenderer.java (+11 -0)
📝 pkl-core/src/main/java/org/pkl/core/stdlib/PklConverter.java (+14 -0)
📝 pkl-core/src/main/java/org/pkl/core/stdlib/base/BaseNodes.java (+9 -0)

...and 7 more files

📄 Description

This is still pretty early and needs a good deal of iteration and testing.

Resolves #912


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/apple/pkl/pull/1354 **Author:** [@HT154](https://github.com/HT154) **Created:** 12/6/2025 **Status:** 🔄 Open **Base:** `main` ← **Head:** `reference-t` --- ### 📝 Commits (6) - [`81638a0`](https://github.com/apple/pkl/commit/81638a0f9d6708afae7366563342ea2546ca79bb) Implement `Reference<T>` - [`6db6ffc`](https://github.com/apple/pkl/commit/6db6ffc7bcdddefd0c38a51cf826bfd077a4a321) single access class - [`03cd347`](https://github.com/apple/pkl/commit/03cd347e9ec9291dc50d6031cfbddcb19bd39d7c) typecheck - [`4f71c0c`](https://github.com/apple/pkl/commit/4f71c0c586365ebdae1e78a7f31fc59151e5d58e) de-Stream - [`19661d3`](https://github.com/apple/pkl/commit/19661d3fcf494e5001f743a908bac2f47892146c) ouch - [`14a7c24`](https://github.com/apple/pkl/commit/14a7c242731fe17f27b1bf509ab4fa6860f3b407) yer ### 📊 Changes **27 files changed** (+1049 additions, -46 deletions) <details> <summary>View changed files</summary> 📝 `docs/modules/ROOT/partials/component-attributes.adoc` (+2 -0) 📝 `docs/modules/bindings-specification/pages/binary-encoding.adoc` (+18 -0) 📝 `pkl-core/src/main/java/org/pkl/core/PClass.java` (+14 -2) 📝 `pkl-core/src/main/java/org/pkl/core/TypeAlias.java` (+8 -1) 📝 `pkl-core/src/main/java/org/pkl/core/ast/expression/binary/SubscriptNode.java` (+12 -0) 📝 `pkl-core/src/main/java/org/pkl/core/ast/expression/member/ReadPropertyNode.java` (+14 -1) 📝 `pkl-core/src/main/java/org/pkl/core/ast/type/TypeNode.java` (+75 -0) 📝 `pkl-core/src/main/java/org/pkl/core/ast/type/UnresolvedTypeNode.java` (+4 -0) 📝 `pkl-core/src/main/java/org/pkl/core/runtime/BaseModule.java` (+52 -0) 📝 `pkl-core/src/main/java/org/pkl/core/runtime/VmClass.java` (+57 -39) 📝 `pkl-core/src/main/java/org/pkl/core/runtime/VmPklBinaryEncoder.java` (+33 -0) ➕ `pkl-core/src/main/java/org/pkl/core/runtime/VmReference.java` (+446 -0) 📝 `pkl-core/src/main/java/org/pkl/core/runtime/VmTypeAlias.java` (+2 -1) 📝 `pkl-core/src/main/java/org/pkl/core/runtime/VmTypes.java` (+4 -2) 📝 `pkl-core/src/main/java/org/pkl/core/runtime/VmValueConverter.java` (+4 -0) 📝 `pkl-core/src/main/java/org/pkl/core/runtime/VmValueRenderer.java` (+24 -0) 📝 `pkl-core/src/main/java/org/pkl/core/runtime/VmValueVisitor.java` (+4 -0) 📝 `pkl-core/src/main/java/org/pkl/core/stdlib/AbstractRenderer.java` (+11 -0) 📝 `pkl-core/src/main/java/org/pkl/core/stdlib/PklConverter.java` (+14 -0) 📝 `pkl-core/src/main/java/org/pkl/core/stdlib/base/BaseNodes.java` (+9 -0) _...and 7 more files_ </details> ### 📄 Description This is still pretty early and needs a good deal of iteration and testing. Resolves #912 --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
adam added the pull-request label 2025-12-30 01:28:26 +01:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/pkl#1039