private static ExpressionNode asLiteral()

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);
    }