src/com/google/javascript/jscomp/NodeUtil.java
/**
   * @return Whether the results is possibly a string, this includes Objects which may implicitly
   * be converted to a string.
   */
@return Whether the results is possibly a string, this includes Objects which may implicitly
be converted to a string.
@return Whether the results is possibly a string this includes Objects which may implicitly be converted to a string .
static boolean mayBeString(ValueType type) {
    switch (type) {
      case BOOLEAN:
      case NULL:
      case NUMBER:
      case VOID:
        return false;
      case OBJECT:
      case STRING:
      case UNDETERMINED:
        return true;
      default:
        throw new IllegalStateException("unexpected");
    }
  }
static boolean mayBeString ( ValueType type ) { switch ( type ) { case BOOLEAN : case NULL : case NUMBER : case VOID : return false ; case OBJECT : case STRING : case UNDETERMINED : return true ; default : throw new IllegalStateException ( "unexpected" ) ; } }
@return Whether the results is possibly a string, this includes Objects which may implicitly
 be converted to a string.
@return Whether the results is possibly a string this includes Objects which may implicitly be converted to a string .