package org.reasm.m68k.assembly.internal; import javax.annotation.Nonnull; import org.reasm.Function; import org.reasm.ValueVisitor; import org.reasm.m68k.messages.FunctionCannotBeConvertedToStringErrorMessage; import com.google.common.primitives.UnsignedLongs; final class StringValueVisitor implements ValueVisitor<String> { @Nonnull private final M68KAssemblyContext context; StringValueVisitor(@Nonnull M68KAssemblyContext context) { this.context = context; } @Override public String visitFloat(double value) { return Double.toString(value); } @Override public String visitFunction(Function value) { this.context.addTentativeMessage(new FunctionCannotBeConvertedToStringErrorMessage()); return null; } @Override public String visitSignedInt(long value) { return Long.toString(value); } @Override public String visitString(String value) { return value; } @Override public String visitUndetermined() { return null; } @Override public String visitUnsignedInt(long value) { return UnsignedLongs.toString(value); } }