def getJavaType()

in util-validator/src/main/scala/com/twitter/util/validation/internal/Types.scala [50:83]


  def getJavaType(scalaType: ScalaType): Class[_] = scalaType match {
    case argType if argType.isOption =>
      if (argType.typeArgs.nonEmpty) argType.typeArgs.head.erasure
      else classOf[Object]
    case argType
        if argType.isPrimitive && argType.simpleName == java.lang.Byte.TYPE.getSimpleName =>
      classOf[java.lang.Byte]
    case argType
        if argType.isPrimitive && argType.simpleName == java.lang.Short.TYPE.getSimpleName =>
      classOf[java.lang.Short]
    case argType
        if argType.isPrimitive && argType.simpleName == java.lang.Character.TYPE.getSimpleName =>
      classOf[java.lang.Character]
    case argType
        if argType.isPrimitive && argType.simpleName == java.lang.Integer.TYPE.getSimpleName =>
      classOf[java.lang.Integer]
    case argType
        if argType.isPrimitive && argType.simpleName == java.lang.Long.TYPE.getSimpleName =>
      classOf[java.lang.Long]
    case argType
        if argType.isPrimitive && argType.simpleName == java.lang.Float.TYPE.getSimpleName =>
      classOf[java.lang.Float]
    case argType
        if argType.isPrimitive && argType.simpleName == java.lang.Double.TYPE.getSimpleName =>
      classOf[java.lang.Double]
    case argType
        if argType.isPrimitive && argType.simpleName == java.lang.Boolean.TYPE.getSimpleName =>
      classOf[java.lang.Boolean]
    case argType
        if argType.isPrimitive && argType.simpleName == java.lang.Void.TYPE.getSimpleName =>
      classOf[java.lang.Void]
    case argType =>
      argType.erasure
  }