in src/main/java/org/apache/sling/scripting/sightly/impl/compiler/optimization/reduce/EvalResult.java [70:92]
private static ExpressionNode asLiteral(Object value) {
if (value instanceof Boolean) {
return new BooleanConstant((Boolean) value);
}
if (value instanceof String) {
return new StringConstant((String) value);
}
if (value instanceof Number) {
return new NumericConstant((Number) value);
}
if (value instanceof Map) {
//noinspection unchecked
return asMapLiteral((Map<String, Object>) value);
}
if (value instanceof List) {
//noinspection unchecked
return asArrayLiteral((List<Object>) value);
}
if (value == null) {
return NullLiteral.INSTANCE;
}
throw new SightlyCompilerException("Cannot transform to literal: " + value);
}