-
Notifications
You must be signed in to change notification settings - Fork 334
Open
Description
The following code produces a NullPointerException
:
// child/foo.pkl
amends "..."
// child/Qux.pkl
import "foo.pkl"
res: foo.Bar
// Biz.pkl
import "child/Qux.pkl"
qux: Qux = new {
res = "bar"
}
// foo.pkl
import "Biz.pkl"
prop: Biz
typealias Bar = "bar"
Then run pkl eval child/foo.pkl
See attached zip file for a reproducer.
Throws:
–– Pkl Error ––
None (cause has no message)
1 | import "foo.pkl"
^^^^^^^^^^^^^^^^
at Qux (/Users/danielchao/code/apple/pkl/.dan-scripts/cycle/child/Qux.pkl:1)
3 | qux: Qux = new {
^^^
at Biz (/Users/danielchao/code/apple/pkl/.dan-scripts/cycle/Biz.pkl:3)
3 | prop: Biz
^^^
at foo (/Users/danielchao/code/apple/pkl/.dan-scripts/cycle/foo.pkl:3)
Pkl 0.29.0 (macOS 14.3.1, native)
java.lang.NullPointerException
at org.pkl.core.ast.type.ResolveQualifiedDeclaredTypeNode.executeGeneric(ResolveQualifiedDeclaredTypeNode.java:62)
at org.pkl.core.ast.type.UnresolvedTypeNode$Declared.execute(UnresolvedTypeNode.java:139)
at org.pkl.core.ast.member.UnresolvedPropertyNode.execute(UnresolvedPropertyNode.java:167)
at org.pkl.core.ast.member.ClassNode.executeGeneric(ClassNode.java:150)
at org.pkl.core.ast.member.ClassNode.executeGeneric(ClassNode.java:35)
at org.pkl.core.ast.member.ModuleNode.executeImpl(ModuleNode.java:56)
at org.pkl.core.ast.PklRootNode.execute(PklRootNode.java:46)
at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:776)
at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:700)
at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:624)
at org.graalvm.truffle.runtime.svm/com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.invokeCallBoundary(SubstrateOptimizedCallTarget.java:124)
at org.graalvm.truffle.runtime.svm/com.oracle.svm.truffle.api.SubstrateOptimizedCallTargetInstalledCode.doInvoke(SubstrateOptimizedCallTargetInstalledCode.java:232)
at org.graalvm.truffle.runtime.svm/com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.doInvoke(SubstrateOptimizedCallTarget.java:106)
at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:556)
at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.call(OptimizedCallTarget.java:502)
at org.pkl.core.runtime.VmLanguage.initializeModule(VmLanguage.java:112)
at org.pkl.core.runtime.ModuleCache.doLoad(ModuleCache.java:178)
at org.pkl.core.runtime.ModuleCache.getOrLoad(ModuleCache.java:157)
at org.pkl.core.runtime.VmLanguage.loadModule(VmLanguage.java:81)
at org.pkl.core.ast.expression.unary.ImportNode.executeGeneric(ImportNode.java:57)
at org.pkl.core.ast.member.UntypedObjectMemberNode.executeImpl(UntypedObjectMemberNode.java:36)
at org.pkl.core.ast.PklRootNode.execute(PklRootNode.java:46)
at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:776)
at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:700)
at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:624)
at org.graalvm.truffle.runtime.svm/com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.invokeCallBoundary(SubstrateOptimizedCallTarget.java:124)
at org.graalvm.truffle.runtime.svm/com.oracle.svm.truffle.api.SubstrateOptimizedCallTargetInstalledCode.doInvoke(SubstrateOptimizedCallTargetInstalledCode.java:232)
at org.graalvm.truffle.runtime.svm/com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.doInvoke(SubstrateOptimizedCallTarget.java:106)
at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:556)
at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedIndirectCallNode.call(OptimizedIndirectCallNode.java:68)
at org.pkl.core.ast.type.ResolveDeclaredTypeNode.getType(ResolveDeclaredTypeNode.java:96)
at org.pkl.core.ast.type.ResolveSimpleDeclaredTypeNode.executeGeneric(ResolveSimpleDeclaredTypeNode.java:43)
at org.pkl.core.ast.type.UnresolvedTypeNode$Declared.execute(UnresolvedTypeNode.java:139)
at org.pkl.core.ast.member.UnresolvedPropertyNode.execute(UnresolvedPropertyNode.java:167)
at org.pkl.core.ast.member.ClassNode.executeGeneric(ClassNode.java:150)
at org.pkl.core.ast.member.ClassNode.executeGeneric(ClassNode.java:35)
at org.pkl.core.ast.member.ModuleNode.executeImpl(ModuleNode.java:56)
at org.pkl.core.ast.PklRootNode.execute(PklRootNode.java:46)
at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:776)
at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:700)
at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:624)
at org.graalvm.truffle.runtime.svm/com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.invokeCallBoundary(SubstrateOptimizedCallTarget.java:124)
at org.graalvm.truffle.runtime.svm/com.oracle.svm.truffle.api.SubstrateOptimizedCallTargetInstalledCode.doInvoke(SubstrateOptimizedCallTargetInstalledCode.java:232)
at org.graalvm.truffle.runtime.svm/com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.doInvoke(SubstrateOptimizedCallTarget.java:106)
at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:556)
at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.call(OptimizedCallTarget.java:502)
at org.pkl.core.runtime.VmLanguage.initializeModule(VmLanguage.java:112)
at org.pkl.core.runtime.ModuleCache.doLoad(ModuleCache.java:178)
at org.pkl.core.runtime.ModuleCache.getOrLoad(ModuleCache.java:157)
at org.pkl.core.runtime.VmLanguage.loadModule(VmLanguage.java:81)
at org.pkl.core.ast.expression.unary.ImportNode.executeGeneric(ImportNode.java:57)
at org.pkl.core.ast.member.UntypedObjectMemberNode.executeImpl(UntypedObjectMemberNode.java:36)
at org.pkl.core.ast.PklRootNode.execute(PklRootNode.java:46)
at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:776)
at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:700)
at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:624)
at org.graalvm.truffle.runtime.svm/com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.invokeCallBoundary(SubstrateOptimizedCallTarget.java:124)
at org.graalvm.truffle.runtime.svm/com.oracle.svm.truffle.api.SubstrateOptimizedCallTargetInstalledCode.doInvoke(SubstrateOptimizedCallTargetInstalledCode.java:232)
at org.graalvm.truffle.runtime.svm/com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.doInvoke(SubstrateOptimizedCallTarget.java:106)
at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:556)
at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedIndirectCallNode.call(OptimizedIndirectCallNode.java:68)
at org.pkl.core.ast.type.ResolveDeclaredTypeNode.getType(ResolveDeclaredTypeNode.java:96)
at org.pkl.core.ast.type.ResolveSimpleDeclaredTypeNode.executeGeneric(ResolveSimpleDeclaredTypeNode.java:43)
at org.pkl.core.ast.type.UnresolvedTypeNode$Declared.execute(UnresolvedTypeNode.java:139)
at org.pkl.core.ast.member.UnresolvedPropertyNode.execute(UnresolvedPropertyNode.java:167)
at org.pkl.core.ast.member.ClassNode.executeGeneric(ClassNode.java:150)
at org.pkl.core.ast.member.ClassNode.executeGeneric(ClassNode.java:35)
at org.pkl.core.ast.member.ModuleNode.executeImpl(ModuleNode.java:56)
at org.pkl.core.ast.PklRootNode.execute(PklRootNode.java:46)
at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:776)
at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:700)
at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:624)
at org.graalvm.truffle.runtime.svm/com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.invokeCallBoundary(SubstrateOptimizedCallTarget.java:124)
at org.graalvm.truffle.runtime.svm/com.oracle.svm.truffle.api.SubstrateOptimizedCallTargetInstalledCode.doInvoke(SubstrateOptimizedCallTargetInstalledCode.java:232)
at org.graalvm.truffle.runtime.svm/com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.doInvoke(SubstrateOptimizedCallTarget.java:106)
at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:556)
at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.call(OptimizedCallTarget.java:502)
at org.pkl.core.runtime.VmLanguage.initializeModule(VmLanguage.java:112)
at org.pkl.core.runtime.ModuleCache.doLoad(ModuleCache.java:178)
at org.pkl.core.runtime.ModuleCache.getOrLoad(ModuleCache.java:157)
at org.pkl.core.runtime.VmLanguage.loadModule(VmLanguage.java:81)
at org.pkl.core.ast.expression.unary.ImportNode.executeGeneric(ImportNode.java:57)
at org.pkl.core.ast.expression.literal.AmendModuleNodeGen.executeGeneric(AmendModuleNodeGen.java:62)
at org.pkl.core.ast.member.ModuleNode.executeImpl(ModuleNode.java:56)
at org.pkl.core.ast.PklRootNode.execute(PklRootNode.java:46)
at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:776)
at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:700)
at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:624)
at org.graalvm.truffle.runtime.svm/com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.invokeCallBoundary(SubstrateOptimizedCallTarget.java:124)
at org.graalvm.truffle.runtime.svm/com.oracle.svm.truffle.api.SubstrateOptimizedCallTargetInstalledCode.doInvoke(SubstrateOptimizedCallTargetInstalledCode.java:232)
at org.graalvm.truffle.runtime.svm/com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.doInvoke(SubstrateOptimizedCallTarget.java:106)
at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:556)
at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.call(OptimizedCallTarget.java:502)
at org.pkl.core.runtime.VmLanguage.initializeModule(VmLanguage.java:112)
at org.pkl.core.runtime.ModuleCache.doLoad(ModuleCache.java:178)
at org.pkl.core.runtime.ModuleCache.getOrLoad(ModuleCache.java:157)
at org.pkl.core.runtime.VmLanguage.loadModule(VmLanguage.java:67)
at org.pkl.core.EvaluatorImpl.lambda$doEvaluate$15(EvaluatorImpl.java:367)
at org.pkl.core.EvaluatorImpl.doEvaluate(EvaluatorImpl.java:316)
at org.pkl.core.EvaluatorImpl.doEvaluate(EvaluatorImpl.java:364)
at org.pkl.core.EvaluatorImpl.evaluateOutputBytes(EvaluatorImpl.java:148)
at org.pkl.cli.CliEvaluator.writeOutput(CliEvaluator.kt:217)
at org.pkl.cli.CliEvaluator.doRun(CliEvaluator.kt:105)
at org.pkl.commons.cli.CliCommand.run(CliCommand.kt:46)
at org.pkl.cli.commands.EvalCommand.run(EvalCommand.kt:84)
at com.github.ajalt.clikt.core.CoreCliktCommandKt.parse(CoreCliktCommand.kt:107)
at com.github.ajalt.clikt.core.CoreCliktCommandKt.main(CoreCliktCommand.kt:78)
at com.github.ajalt.clikt.core.CoreCliktCommandKt.main(CoreCliktCommand.kt:90)
at org.pkl.cli.Main.main$lambda$0(Main.kt:26)
at org.pkl.commons.cli.CliMainKt.cliMain(CliMain.kt:33)
at org.pkl.cli.Main.main(Main.kt:26)
Metadata
Metadata
Assignees
Labels
No labels