From 99cac1f8861500e1857e831ffff926fbfe941f9e Mon Sep 17 00:00:00 2001 From: Daniel Chao Date: Tue, 2 Jun 2026 15:57:52 -0700 Subject: [PATCH] Fix native build (#1636) --- .../stdlib/evaluatorsettings/EvaluatorSettingsNodes.java | 1 + pkl-core/src/main/java/org/pkl/core/util/PathResolver.java | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/pkl-core/src/main/java/org/pkl/core/stdlib/evaluatorsettings/EvaluatorSettingsNodes.java b/pkl-core/src/main/java/org/pkl/core/stdlib/evaluatorsettings/EvaluatorSettingsNodes.java index 734ed89c..53d183de 100644 --- a/pkl-core/src/main/java/org/pkl/core/stdlib/evaluatorsettings/EvaluatorSettingsNodes.java +++ b/pkl-core/src/main/java/org/pkl/core/stdlib/evaluatorsettings/EvaluatorSettingsNodes.java @@ -43,6 +43,7 @@ public class EvaluatorSettingsNodes { return forWindows ? PathResolvers.forWindows() : PathResolvers.forPosix(); } + @TruffleBoundary @Specialization protected String eval(VmTyped ignored, String uriStr, String path, boolean forWindows) { var uri = toUri(uriStr); diff --git a/pkl-core/src/main/java/org/pkl/core/util/PathResolver.java b/pkl-core/src/main/java/org/pkl/core/util/PathResolver.java index 731349a8..60342f73 100644 --- a/pkl-core/src/main/java/org/pkl/core/util/PathResolver.java +++ b/pkl-core/src/main/java/org/pkl/core/util/PathResolver.java @@ -15,6 +15,7 @@ */ package org.pkl.core.util; +import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary; import java.net.URI; import java.util.ArrayList; import java.util.regex.Pattern; @@ -82,13 +83,14 @@ public abstract sealed class PathResolver { } static final class WindowsPathResolver extends PathResolver { + @TruffleBoundary @Override protected String uriToPath(URI uri) { var host = uri.getHost(); var path = uri.getPath(); if (host != null) { // UNC path: \\server\share\path - return "\\\\%s%s".formatted(host, path.replace('/', '\\')); + return "\\\\" + host + path.replace('/', '\\'); } var ret = path.matches("/[A-Z]:/.*") ? path.substring(1) : path; return ret.replace('/', '\\'); @@ -164,6 +166,7 @@ public abstract sealed class PathResolver { } static final class PosixPathResolver extends PathResolver { + @TruffleBoundary @Override protected String uriToPath(URI uri) { return uri.getPath();