String fullname = sym.type().symbol().fullNameString();
String fullname = sym.type().symbol().fullNameString() + (sym.isModuleClass() ? "$" : "");;
    public Type getType(Symbol sym) {	if (sym == null) return null;	Type type = (Type) symbols2types.get(sym);	if (type != null)	    return type;	if (sym.isJava()) {	    //log("getType: looking up Java class: " + dumpSym(sym));// 	    try {// 		type = JavaType.fromString(sym.fullNameString());// 	    } catch (ClassNotFoundException e) {// 		global.fail(formatMessage("Cannot find class: " +//	                    sym.fullNameString()));// 	    }	    type = getJavaType(sym.fullNameString());	}	else {	    switch (sym.info()) {	    case CompoundType(_, _):		String fullname = sym.type().symbol().fullNameString();		type = Type.GetType(fullname);		if (type == null)		    type = createType(sym);		break;		 	    case UnboxedArrayType(scalac.symtab.Type elemtp):// 		// force the creation of the type// 		log("UnboxedArrayType: " + elemtp + "[]");// 		getType(elemtp.symbol());// 		Type t = Type.GetType(elemtp + "[]");// 		log("Array type: " + t);// 		return t;		type = getTypeFromType(sym.info());		break;	    default:		//log("getType: Going through the type: " + dumpSym(sym));		type = getTypeFromType(sym.type());	    }	}	assert type != null : "Unable to find type: " + dumpSym(sym);	map(sym, type);	return type;    }