package ql.semantics.values;
/**
* Created by bore on 24/02/15.
*/
public class UndefValue extends Value<Void>
{
private static final UndefValue undefValue = new UndefValue();
public UndefValue()
{
super(null);
}
@Override
public String toString()
{
return "";
}
@Override
public Boolean isUndefined()
{
return true;
}
@Override
public Value add(Value v)
{
return undefValue;
}
@Override
public Value addInteger(IntValue v)
{
return undefValue;
}
@Override
public Value addDecimal(DecValue v)
{
return undefValue;
}
@Override
public Value addString(StrValue v)
{
return undefValue;
}
@Override
public Value sub(Value v)
{
return undefValue;
}
@Override
public Value subInteger(IntValue v)
{
return undefValue;
}
@Override
public Value subDecimal(DecValue v)
{
return undefValue;
}
@Override
public Value mul(Value v)
{
return undefValue;
}
@Override
public Value mulInteger(IntValue v)
{
return undefValue;
}
@Override
public Value mulDecimal(DecValue v)
{
return undefValue;
}
@Override
public Value div(Value v)
{
return undefValue;
}
@Override
public Value divInteger(IntValue v)
{
return undefValue;
}
@Override
public Value divDecimal(DecValue v)
{
return undefValue;
}
@Override
public Value neg()
{
return undefValue;
}
@Override
public Value negInteger()
{
return undefValue;
}
@Override
public Value negDecimal()
{
return undefValue;
}
@Override
public Value pos()
{
return undefValue;
}
@Override
public Value posInteger()
{
return undefValue;
}
@Override
public Value posDecimal()
{
return undefValue;
}
@Override
public Value not()
{
return undefValue;
}
@Override
public Value gt(Value v)
{
return undefValue;
}
@Override
public Value gtInteger(IntValue v)
{
return undefValue;
}
@Override
public Value gtDecimal(DecValue v)
{
return undefValue;
}
@Override
public Value lt(Value v)
{
return undefValue;
}
@Override
public Value ltInteger(IntValue v)
{
return undefValue;
}
@Override
public Value ltDecimal(DecValue v)
{
return undefValue;
}
@Override
public Value gtEqu(Value v)
{
return undefValue;
}
@Override
public Value gtEquInteger(IntValue v)
{
return undefValue;
}
@Override
public Value gtEquDecimal(DecValue v)
{
return undefValue;
}
@Override
public Value ltEqu(Value v)
{
return undefValue;
}
@Override
public Value ltEquInteger(IntValue v)
{
return undefValue;
}
@Override
public Value ltEquDecimal(DecValue v)
{
return undefValue;
}
@Override
public Value equ(Value v)
{
return undefValue;
}
@Override
public Value equInteger(IntValue v)
{
return undefValue;
}
@Override
public Value equDecimal(DecValue v)
{
return undefValue;
}
@Override
public Value equString(StrValue v)
{
return undefValue;
}
@Override
public Value equBoolean(BoolValue v)
{
return undefValue;
}
@Override
public Value notEqu(Value v)
{
return undefValue;
}
@Override
public Value notEquInteger(IntValue v)
{
return undefValue;
}
@Override
public Value notEquDecimal(DecValue v)
{
return undefValue;
}
@Override
public Value notEquString(StrValue v)
{
return undefValue;
}
@Override
public Value notEquBoolean(BoolValue v)
{
return undefValue;
}
@Override
public Value and(Value v)
{
return undefValue;
}
@Override
public Value andBoolean(BoolValue v)
{
return undefValue;
}
@Override
public Value or(Value v)
{
return undefValue;
}
@Override
public Value orBoolean(BoolValue v)
{
return undefValue;
}
public <T> T accept(ValueVisitor<T> visitor)
{
return visitor.visit(this);
}
}