fix(muscript): prevent infinite recursion in ExprUtils.unpack

This commit is contained in:
Johannes Frohnmeyer 2024-04-07 16:39:28 +02:00
parent 268fe2aeac
commit 9bc01b4d22
Signed by: Johannes
GPG Key ID: E76429612C2929F4
1 changed files with 7 additions and 7 deletions

View File

@ -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");