Skip to content

Commit dd04e7c

Browse files
committed
Fix ClassCastException when reflecting on globbed import
1 parent 88b69cc commit dd04e7c

File tree

3 files changed

+19
-2
lines changed

3 files changed

+19
-2
lines changed

pkl-core/src/main/java/org/pkl/core/runtime/VmTyped.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
import org.pkl.core.Composite;
2424
import org.pkl.core.PModule;
2525
import org.pkl.core.PObject;
26-
import org.pkl.core.ast.expression.unary.ImportNode;
26+
import org.pkl.core.ast.expression.unary.AbstractImportNode;
2727
import org.pkl.core.ast.member.ObjectMember;
2828
import org.pkl.core.util.EconomicMaps;
2929
import org.pkl.core.util.LateInit;
@@ -105,7 +105,7 @@ public VmMap getImports() {
105105
assert memberNode != null; // import is never a constant
106106
builder.add(
107107
member.getName().toString(),
108-
((ImportNode) memberNode.getBodyNode()).getImportUri().toString());
108+
((AbstractImportNode) memberNode.getBodyNode()).getImportUri().toString());
109109
}
110110
}
111111
return builder.build();
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
amends ".../snippetTest.pkl"
2+
3+
import "pkl:reflect"
4+
import* "reflect*.pkl"
5+
6+
local mod = reflect.Module(this)
7+
8+
examples {
9+
["Reflecting globbed import"] {
10+
mod.imports.keys == Set("reflect", "reflect*")
11+
}
12+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
examples {
2+
["Reflecting globbed import"] {
3+
true
4+
}
5+
}

0 commit comments

Comments
 (0)