mirror of
https://github.com/apple/pkl.git
synced 2026-01-11 14:20:35 +01:00
[PR #1180] Fix cyclic dependencies bug #930
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/1180
Author: @stackoverflow
Created: 8/20/2025
Status: 🔄 Open
Base:
main← Head:fix-cyclic-dependencies📝 Commits (7)
2d4f6bcFix cyclic dependencies bug38c1873Revert "Fix cyclic dependencies bug"70c34b0Properly fix not initialized cyclical dependencies for amending modules.4e1a856Spotlessbd74777Fix review remarksb68bfffFix errorscb8059fThrow on uninitialized module📊 Changes
18 files changed (+143 additions, -9 deletions)
View changed files
📝
pkl-core/src/main/java/org/pkl/core/ast/builder/AstBuilder.java(+28 -2)📝
pkl-core/src/main/java/org/pkl/core/ast/expression/literal/AmendModuleNode.java(+12 -4)📝
pkl-core/src/main/java/org/pkl/core/ast/member/ClassNode.java(+4 -1)📝
pkl-core/src/main/java/org/pkl/core/ast/type/ResolveDeclaredTypeNode.java(+30 -1)📝
pkl-core/src/main/java/org/pkl/core/runtime/ModuleInfo.java(+30 -0)📝
pkl-core/src/main/java/org/pkl/core/runtime/VmLanguage.java(+4 -0)📝
pkl-core/src/main/java/org/pkl/core/runtime/VmTyped.java(+5 -1)📝
pkl-core/src/main/resources/org/pkl/core/errorMessages.properties(+3 -0)➕
pkl-core/src/test/files/LanguageSnippetTests/input-helper/cycles/Foo.pkl(+5 -0)➕
pkl-core/src/test/files/LanguageSnippetTests/input-helper/cycles/Qux.pkl(+3 -0)➕
pkl-core/src/test/files/LanguageSnippetTests/input-helper/cycles/amendsFoo.pkl(+1 -0)➕
pkl-core/src/test/files/LanguageSnippetTests/input-helper/cycles/amendsFooLv2.pkl(+1 -0)➕
pkl-core/src/test/files/LanguageSnippetTests/input/errors/cyclicalAmendsType.pkl(+3 -0)➕
pkl-core/src/test/files/LanguageSnippetTests/input/modules/cycles.pkl(+3 -0)➕
pkl-core/src/test/files/LanguageSnippetTests/input/modules/cycles2.pkl(+3 -0)➕
pkl-core/src/test/files/LanguageSnippetTests/output/errors/cyclicalAmendsType.err(+6 -0)➕
pkl-core/src/test/files/LanguageSnippetTests/output/modules/cycles.pcf(+1 -0)➕
pkl-core/src/test/files/LanguageSnippetTests/output/modules/cycles2.pcf(+1 -0)📄 Description
In some very specific scenarios cyclic dependencies may lead to a null pointer due to the module not being properly initialized.
Fixes #1183.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.