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 6ea0ecb9c..7e8c4b5c0 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 @@ -2224,17 +2224,7 @@ public class AstBuilder extends AbstractAstBuilder { var bodyCtx = annotation.getBody(); if (bodyCtx == null) { - var currentScope = symbolTable.getCurrentScope(); - //noinspection ConstantConditions - return PropertiesLiteralNodeGen.create( - createSourceSection(annotation), - language, - currentScope.getQualifiedName(), - currentScope.isCustomThisScope(), - null, - new UnresolvedTypeNode[0], - EconomicMaps.create(), - verifyNode); + return EmptyObjectLiteralNodeGen.create(createSourceSection(annotation), verifyNode); } return symbolTable.enterAnnotationScope( diff --git a/pkl-core/src/main/java/org/pkl/core/ast/expression/literal/CheckIsAnnotationClassNode.java b/pkl-core/src/main/java/org/pkl/core/ast/expression/literal/CheckIsAnnotationClassNode.java index dc84d2af4..905341770 100644 --- a/pkl-core/src/main/java/org/pkl/core/ast/expression/literal/CheckIsAnnotationClassNode.java +++ b/pkl-core/src/main/java/org/pkl/core/ast/expression/literal/CheckIsAnnotationClassNode.java @@ -24,7 +24,7 @@ import org.pkl.core.ast.type.UnresolvedTypeNode; import org.pkl.core.runtime.*; public final class CheckIsAnnotationClassNode extends ExpressionNode { - @Child private UnresolvedTypeNode unresolvedTypeNode; + @Child private @Nullable UnresolvedTypeNode unresolvedTypeNode; @Child private @Nullable TypeNode typeNode; public CheckIsAnnotationClassNode(UnresolvedTypeNode unresolvedTypeNode) { @@ -37,6 +37,7 @@ public final class CheckIsAnnotationClassNode extends ExpressionNode { if (typeNode == null) { // invalidation is done by insert() CompilerDirectives.transferToInterpreter(); + assert unresolvedTypeNode != null; typeNode = insert(unresolvedTypeNode.execute(frame)); unresolvedTypeNode = null; }