/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ca.mcmaster.cas.matlab2smt;

import java.math.BigDecimal;
import java.math.BigInteger;
import org.apache.commons.lang3.StringUtils;

/**
 *
 * @author matthew
 */
public final class MatlabLiteral implements MatlabExpression, MatlabExpressionValue {

    public MatlabLiteral(String value) {
        m_value = value;
    }

    @Override
    public VariableType actualOutputTypeForRequestedOutput(VariableTypeMarker requestedType) {
        if (requestedType instanceof RealVariableType ||
                requestedType instanceof FixedPointVariableType) {
            return (VariableType)requestedType;
        }
        return null;
    }

    @Override
    public String getCheckerOutput(CheckerGenerator generator, VariableType requestedType) {
        return generator.GenerateLiterlaValue(m_value, requestedType);
    }

    @Override
    public String toString() {
        return m_value;
    }

    final String m_value;
}
