package php.runtime.common;
import php.runtime.common.collections.map.HashedMap;
import java.util.Map;
public enum HintType {
ANY, STRING, INT, DOUBLE, NUMBER, BOOLEAN, SCALAR, ARRAY, OBJECT, CALLABLE, VARARG, TRAVERSABLE;
public String toString(){
switch (this){
case ARRAY: return "array";
case INT: return "int";
case DOUBLE: return "double";
case NUMBER: return "number";
case BOOLEAN: return "boolean";
case SCALAR: return "scalar";
case CALLABLE: return "callable";
case STRING: return "string";
case OBJECT: return "object";
case VARARG: return "...";
case TRAVERSABLE: return "traversable";
default:
return "";
}
}
private static final Map<String, HintType> values = new HashedMap<String, HintType>();
static {
for(HintType e : values())
values.put(e.toString(), e);
values.put("integer", INT);
values.put("float", DOUBLE);
values.put("bool", BOOLEAN);
}
public static HintType of(String code){
return values.get(code);
}
}