package org.jerlang.erts.erlang;
import org.jerlang.type.Atom;
import org.jerlang.type.List;
import org.jerlang.type.Term;
/**
*
*/
public class ErlangGetModuleInfo {
private ErlangGetModuleInfo() {
}
public static Term dispatch(List params) {
switch (params.length()) {
case 2:
Atom module = params.head().toAtom();
params = params.tail();
Atom item = params.head().toAtom();
return get_module_info_2(module, item);
default:
throw Error.badarg;
}
}
public static Term get_module_info_2(Atom module, Atom item) {
switch (item.toString()) {
case "module":
return module;
case "md5":
case "exports":
case "functions":
case "attributes":
case "compile":
case "native_addresses":
case "native":
// TODO
default:
throw new Error("badarg: " + module);
}
}
}