package me.tomassetti.turin.parser.ast.expressions.literals; import me.tomassetti.turin.parser.ast.Node; import me.tomassetti.turin.parser.ast.expressions.Expression; import me.tomassetti.turin.typesystem.PrimitiveTypeUsage; import me.tomassetti.turin.typesystem.TypeUsage; import java.util.Collections; public class FloatLiteral extends Expression { private float value; public float getValue() { return value; } @Override public String toString() { return "FloatLiteral{" + "value=" + value + '}'; } @Override public boolean equals(Object o) { if (this == o) return true; if (!(o instanceof FloatLiteral)) return false; FloatLiteral that = (FloatLiteral) o; if (Float.compare(that.value, value) != 0) return false; return true; } @Override public int hashCode() { return (value != +0.0f ? Float.floatToIntBits(value) : 0); } public FloatLiteral(float value) { this.value = value; } @Override public TypeUsage calcType() { return PrimitiveTypeUsage.FLOAT; } @Override public Iterable<Node> getChildren() { return Collections.emptyList(); } }