From 32bc75bf50a11ebcf654bdd5cf3721afc55d07c7 Mon Sep 17 00:00:00 2001 From: translatenix <119817707+translatenix@users.noreply.github.com> Date: Fri, 23 Feb 2024 07:07:08 -0800 Subject: [PATCH] Add targets for org.pkl.core.util.Nullable (#235) Also, change `java.time.@Nullable Duration` to `@Nullable java.time.Duration` to reduce the chance of false positive errors in IDEs. --- pkl-core/src/main/java/org/pkl/core/EvaluatorBuilder.java | 4 ++-- .../main/java/org/pkl/core/ast/builder/AstBuilder.java | 2 +- pkl-core/src/main/java/org/pkl/core/project/Project.java | 4 ++-- pkl-core/src/main/java/org/pkl/core/util/Nullable.java | 8 +++++++- 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/pkl-core/src/main/java/org/pkl/core/EvaluatorBuilder.java b/pkl-core/src/main/java/org/pkl/core/EvaluatorBuilder.java index f4b59a88..4b986e1a 100644 --- a/pkl-core/src/main/java/org/pkl/core/EvaluatorBuilder.java +++ b/pkl-core/src/main/java/org/pkl/core/EvaluatorBuilder.java @@ -48,7 +48,7 @@ public final class EvaluatorBuilder { private final Map externalProperties = new HashMap<>(); - private java.time.@Nullable Duration timeout; + private @Nullable java.time.Duration timeout; private @Nullable Path moduleCacheDir = IoUtils.getDefaultModuleCacheDir(); @@ -343,7 +343,7 @@ public final class EvaluatorBuilder { /** * Sets an evaluation timeout to be enforced by the {@link Evaluator}'s {@code evaluate} methods. */ - public EvaluatorBuilder setTimeout(java.time.@Nullable Duration timeout) { + public EvaluatorBuilder setTimeout(@Nullable java.time.Duration timeout) { this.timeout = timeout; return this; } diff --git a/pkl-core/src/main/java/org/pkl/core/ast/builder/AstBuilder.java b/pkl-core/src/main/java/org/pkl/core/ast/builder/AstBuilder.java index 8daaf4a9..d63cd935 100644 --- a/pkl-core/src/main/java/org/pkl/core/ast/builder/AstBuilder.java +++ b/pkl-core/src/main/java/org/pkl/core/ast/builder/AstBuilder.java @@ -2169,7 +2169,7 @@ public final class AstBuilder extends AbstractAstBuilder { return builder; } - private FrameDescriptor.@Nullable Builder createFrameDescriptorBuilder(ObjectBodyContext ctx) { + private @Nullable FrameDescriptor.Builder createFrameDescriptorBuilder(ObjectBodyContext ctx) { if (ctx.ps.isEmpty()) return null; checkCommaSeparatedElements(ctx, ctx.ps, ctx.errs); diff --git a/pkl-core/src/main/java/org/pkl/core/project/Project.java b/pkl-core/src/main/java/org/pkl/core/project/Project.java index 10cc701e..238c0446 100644 --- a/pkl-core/src/main/java/org/pkl/core/project/Project.java +++ b/pkl-core/src/main/java/org/pkl/core/project/Project.java @@ -67,7 +67,7 @@ public final class Project { public static Project loadFromPath( Path path, SecurityManager securityManager, - java.time.@Nullable Duration timeout, + @Nullable java.time.Duration timeout, StackFrameTransformer stackFrameTransformer, Map envVars) { try (var evaluator = @@ -90,7 +90,7 @@ public final class Project { /** Convenience method to load a project with the default stack frame transformer. */ public static Project loadFromPath( - Path path, SecurityManager securityManager, java.time.@Nullable Duration timeout) { + Path path, SecurityManager securityManager, @Nullable java.time.Duration timeout) { return loadFromPath( path, securityManager, timeout, StackFrameTransformers.defaultTransformer, System.getenv()); } diff --git a/pkl-core/src/main/java/org/pkl/core/util/Nullable.java b/pkl-core/src/main/java/org/pkl/core/util/Nullable.java index dbe741ae..f23df913 100644 --- a/pkl-core/src/main/java/org/pkl/core/util/Nullable.java +++ b/pkl-core/src/main/java/org/pkl/core/util/Nullable.java @@ -20,7 +20,13 @@ import static javax.annotation.meta.When.MAYBE; import java.lang.annotation.*; import javax.annotation.meta.TypeQualifierNickname; -@Target({ElementType.TYPE_PARAMETER, ElementType.TYPE_USE}) +@Target({ + ElementType.TYPE_PARAMETER, + ElementType.TYPE_USE, + ElementType.PARAMETER, + ElementType.FIELD, + ElementType.METHOD +}) @Retention(RetentionPolicy.RUNTIME) @Documented @javax.annotation.Nonnull(when = MAYBE)