switch (tp1) { case UnboxedArrayType(Type elemtp1): if (tp2.symbol() == definitions.ANY_CLASS) return true; }
    boolean isSubType(Type tp1, Type tp2) { 	if (isSameAs(tp1, tp2)) return true;	switch (tp2) {	case UnboxedType(_):	    return tp1.isSubType(tp2);	case UnboxedArrayType(Type elemtp2):	    switch (tp1) {	    case UnboxedArrayType(Type elemtp1):		return !(elemtp1 instanceof Type.UnboxedType) &&		    isSubType(elemtp1, elemtp2);	    }	}	return isSubClass(tp1, tp2);    }