package org.jerlang.erts.erlang;
import org.jerlang.type.Atom;
import org.jerlang.type.List;
import org.jerlang.type.Str;
import org.jerlang.type.Term;
public class ErlangListToAtom {
private ErlangListToAtom() {
}
public static Term dispatch(List params) {
switch (params.length()) {
case 1:
return list_to_atom_1(params.head().toList());
default:
throw Error.badarg;
}
}
/**
* Returns the atom whose text representation is String.
*
* http://www.erlang.org/doc/man/erlang.html#list_to_atom-1
*/
public static Atom list_to_atom_1(List string) {
if (string instanceof Str) {
return Atom.of(string.toStr().string());
} else {
return Atom.of(Str.convert(string).string());
}
}
}