mirror of
https://github.com/apple/pkl.git
synced 2026-01-11 14:20:35 +01:00
[PR #922] [CLOSED] WIP: constraint details #809
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/apple/pkl/pull/922
Author: @bioball
Created: 1/31/2025
Status: ❌ Closed
Base:
main← Head:constraint-details📝 Commits (3)
8d79f25WIP: constraint details860154eUse frame arguments to control eager/lazy typechecks703fa70Polish📊 Changes
79 files changed (+948 additions, -538 deletions)
View changed files
📝
pkl-cli/src/test/kotlin/org/pkl/cli/CliMainTest.kt(+5 -2)📝
pkl-core/src/main/java/org/pkl/core/ast/builder/SymbolTable.java(+1 -1)📝
pkl-core/src/main/java/org/pkl/core/ast/expression/binary/ComparatorNode.java(+3 -2)📝
pkl-core/src/main/java/org/pkl/core/ast/expression/binary/LetExprNode.java(+1 -1)📝
pkl-core/src/main/java/org/pkl/core/ast/expression/binary/PipeNode.java(+4 -3)📝
pkl-core/src/main/java/org/pkl/core/ast/expression/binary/SubscriptNode.java(+20 -9)📝
pkl-core/src/main/java/org/pkl/core/ast/expression/generator/GeneratorPredicateMemberNode.java(+1 -1)📝
pkl-core/src/main/java/org/pkl/core/ast/expression/literal/AmendFunctionNode.java(+4 -3)📝
pkl-core/src/main/java/org/pkl/core/ast/expression/member/InferParentWithinPropertyNode.java(+6 -3)📝
pkl-core/src/main/java/org/pkl/core/ast/expression/member/InvokeMethodDirectNode.java(+6 -4)📝
pkl-core/src/main/java/org/pkl/core/ast/expression/member/InvokeMethodLexicalNode.java(+5 -4)📝
pkl-core/src/main/java/org/pkl/core/ast/expression/member/InvokeMethodVirtualNode.java(+21 -16)📝
pkl-core/src/main/java/org/pkl/core/ast/expression/member/InvokeSuperMethodNode.java(+5 -4)📝
pkl-core/src/main/java/org/pkl/core/ast/expression/member/ReadLocalPropertyNode.java(+2 -2)📝
pkl-core/src/main/java/org/pkl/core/ast/expression/member/ReadPropertyNode.java(+11 -3)📝
pkl-core/src/main/java/org/pkl/core/ast/expression/member/ReadSuperEntryNode.java(+10 -5)📝
pkl-core/src/main/java/org/pkl/core/ast/expression/member/ReadSuperPropertyNode.java(+3 -3)📝
pkl-core/src/main/java/org/pkl/core/ast/expression/member/ResolveMethodNode.java(+5 -3)📝
pkl-core/src/main/java/org/pkl/core/ast/expression/primary/ResolveVariableNode.java(+2 -1)📝
pkl-core/src/main/java/org/pkl/core/ast/lambda/ApplyVmFunction0Node.java(+9 -4)...and 59 more files
📄 Description
Fixes https://github.com/apple/pkl/issues/918
This causes Pkl to eagerly check type nodes that are executed through a constraint.
In the following snippet, the lambda parameter type (
Listing<Person>) because an eager typecheck.This adds a new implicit frame argument to every frame: the 0th frame argument is now
EnumSet<FrameMarkers>.A frame's argument layout changes to>
Frame markers get propagated through child call nodes.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.