mirror of
https://github.com/apple/pkl.git
synced 2026-01-11 14:20:35 +01:00
[PR #980] Fix hash code computation of cyclical objects #837
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/980
Author: @bioball
Created: 2/24/2025
Status: 🔄 Open
Base:
main← Head:compute-cyclical-hash-codes📝 Commits (2)
a26a38aFix hash code computation of cyclical objectsa8b8c03More optimized hashCode, wip📊 Changes
24 files changed (+189 additions, -65 deletions)
View changed files
📝
pkl-core/src/main/java/org/pkl/core/runtime/StdLibModule.java(+3 -1)📝
pkl-core/src/main/java/org/pkl/core/runtime/VmClass.java(+0 -1)📝
pkl-core/src/main/java/org/pkl/core/runtime/VmDataSize.java(+1 -1)📝
pkl-core/src/main/java/org/pkl/core/runtime/VmDuration.java(+1 -1)📝
pkl-core/src/main/java/org/pkl/core/runtime/VmDynamic.java(+9 -2)📝
pkl-core/src/main/java/org/pkl/core/runtime/VmIntSeq.java(+1 -1)📝
pkl-core/src/main/java/org/pkl/core/runtime/VmList.java(+11 -3)📝
pkl-core/src/main/java/org/pkl/core/runtime/VmListing.java(+4 -1)📝
pkl-core/src/main/java/org/pkl/core/runtime/VmMap.java(+8 -3)📝
pkl-core/src/main/java/org/pkl/core/runtime/VmMapping.java(+4 -2)📝
pkl-core/src/main/java/org/pkl/core/runtime/VmNull.java(+1 -1)📝
pkl-core/src/main/java/org/pkl/core/runtime/VmObject.java(+6 -0)📝
pkl-core/src/main/java/org/pkl/core/runtime/VmPair.java(+1 -1)📝
pkl-core/src/main/java/org/pkl/core/runtime/VmRegex.java(+1 -1)📝
pkl-core/src/main/java/org/pkl/core/runtime/VmSet.java(+11 -3)📝
pkl-core/src/main/java/org/pkl/core/runtime/VmTyped.java(+5 -3)📝
pkl-core/src/main/java/org/pkl/core/runtime/VmValue.java(+1 -1)📝
pkl-core/src/test/files/LanguageSnippetTests/input/listings/hashCode.pkl(+14 -0)📝
pkl-core/src/test/files/LanguageSnippetTests/input/mappings/hashCode.pkl(+14 -0)📝
pkl-core/src/test/files/LanguageSnippetTests/input/objects/hashCode.pkl(+72 -38)...and 4 more files
📄 Description
This fixes an issue where a cyclical object will stack overflow when computing its hash code.
Closes #979
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.