package org.rubypeople.rdt.internal.ti.data;
import java.util.HashMap;
import java.util.Map;
import org.jruby.ast.ArrayNode;
import org.jruby.ast.BignumNode;
import org.jruby.ast.DRegexpNode;
import org.jruby.ast.DStrNode;
import org.jruby.ast.DSymbolNode;
import org.jruby.ast.DXStrNode;
import org.jruby.ast.FalseNode;
import org.jruby.ast.FixnumNode;
import org.jruby.ast.FloatNode;
import org.jruby.ast.HashNode;
import org.jruby.ast.NilImplicitNode;
import org.jruby.ast.NilNode;
import org.jruby.ast.RegexpNode;
import org.jruby.ast.StrNode;
import org.jruby.ast.SymbolNode;
import org.jruby.ast.TrueNode;
import org.jruby.ast.XStrNode;
import org.jruby.ast.ZArrayNode;
/**
* Maps from JRuby AST Literal Node classnames to the Ruby type they represent.
*
* @author Jason
* @author cwilliams
*/
public abstract class LiteralNodeTypeNames
{
public static String get(String nodeType)
{
return CONST_NODE_TYPE_NAMES.get(nodeType);
}
private static final Map<String, String> CONST_NODE_TYPE_NAMES = new HashMap<String, String>();
static
{
CONST_NODE_TYPE_NAMES.put(ArrayNode.class.getSimpleName(), "Array");
CONST_NODE_TYPE_NAMES.put(BignumNode.class.getSimpleName(), "Bignum");
CONST_NODE_TYPE_NAMES.put(DRegexpNode.class.getSimpleName(), "Regexp");
CONST_NODE_TYPE_NAMES.put(DStrNode.class.getSimpleName(), "String");
CONST_NODE_TYPE_NAMES.put(DSymbolNode.class.getSimpleName(), "Symbol");
CONST_NODE_TYPE_NAMES.put(DXStrNode.class.getSimpleName(), "String");
CONST_NODE_TYPE_NAMES.put(FalseNode.class.getSimpleName(), "FalseClass");
CONST_NODE_TYPE_NAMES.put(FixnumNode.class.getSimpleName(), "Fixnum");
CONST_NODE_TYPE_NAMES.put(FloatNode.class.getSimpleName(), "Float");
CONST_NODE_TYPE_NAMES.put(HashNode.class.getSimpleName(), "Hash");
CONST_NODE_TYPE_NAMES.put(NilNode.class.getSimpleName(), "NilClass");
CONST_NODE_TYPE_NAMES.put(NilImplicitNode.class.getSimpleName(), "NilClass");
CONST_NODE_TYPE_NAMES.put(RegexpNode.class.getSimpleName(), "Regexp");
CONST_NODE_TYPE_NAMES.put(StrNode.class.getSimpleName(), "String");
CONST_NODE_TYPE_NAMES.put(SymbolNode.class.getSimpleName(), "Symbol");
CONST_NODE_TYPE_NAMES.put(TrueNode.class.getSimpleName(), "TrueClass");
CONST_NODE_TYPE_NAMES.put(XStrNode.class.getSimpleName(), "String");
CONST_NODE_TYPE_NAMES.put(ZArrayNode.class.getSimpleName(), "Array");
}
}