
io.bit3.jsass.function.arguments.converter.ByteArgumentConverter Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of vue-gwt-processors Show documentation
Show all versions of vue-gwt-processors Show documentation
Annotation Processors for Vue GWT
The newest version!
package io.bit3.jsass.function.arguments.converter;
import io.bit3.jsass.context.Context;
import io.bit3.jsass.context.ImportStack;
import io.bit3.jsass.function.FunctionArgumentSignature;
import io.bit3.jsass.function.FunctionArgumentSignatureFactory;
import io.bit3.jsass.type.SassNull;
import io.bit3.jsass.type.TypeUtils;
import java.lang.reflect.Method;
import java.lang.reflect.Parameter;
import java.util.List;
public class ByteArgumentConverter implements ArgumentConverter {
@Override
public Object convert(
List> remainingArguments, ImportStack importStack, Context context) {
if (remainingArguments.isEmpty()) {
return null;
}
Object value = remainingArguments.remove(0);
// ignore null value
if (null == value || value instanceof SassNull) {
return null;
}
// value is already in a compatible type
if (TypeUtils.isaByte(value.getClass())) {
return value;
}
if (value instanceof Number) {
value = ((Number) value).byteValue();
} else {
value = Byte.parseByte(value.toString());
}
return value;
}
@Override
public List argumentSignatures(
Object object, Method method, Parameter parameter, FunctionArgumentSignatureFactory factory
) {
return factory.createDefaultArgumentSignature(parameter);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy