fix(muscript): prevent infinite recursion in ExprUtils.unpack
This commit is contained in:
parent
268fe2aeac
commit
9bc01b4d22
|
@ -61,15 +61,15 @@ public class ExprUtils {
|
|||
}
|
||||
|
||||
public static Expr unpack(Expr expression) {
|
||||
return unpack(switch (expression) {
|
||||
return switch (expression) {
|
||||
case null -> throw new NullPointerException();
|
||||
case BoolUnpack(var inner) -> inner;
|
||||
case NumberUnpack(var inner) -> inner;
|
||||
case StringUnpack(var inner) -> inner;
|
||||
case DynamicCoerce(var inner) -> inner;
|
||||
case StringCoerce(var inner) -> inner;
|
||||
case BoolUnpack(var inner) -> unpack(inner);
|
||||
case NumberUnpack(var inner) -> unpack(inner);
|
||||
case StringUnpack(var inner) -> unpack(inner);
|
||||
case DynamicCoerce(var inner) -> unpack(inner);
|
||||
case StringCoerce(var inner) -> unpack(inner);
|
||||
default -> expression;
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
private static final Set<String> allowedVariables = Set.of("date", "time", "enum", "listOf");
|
||||
|
|
Loading…
Reference in New Issue