code: private boolean isValidDefineType(JSTypeExpression expression) {
      JSTypeRegistry registry = compiler.getTypeRegistry();
      JSType type = registry.evaluateTypeExpressionInGlobalScope(expression);
      return !type.isUnknownType()
          && type.isSubtypeOf(registry.getNativeType(NUMBER_STRING_BOOLEAN));
    }
docs: Only defines of literal number, string, or boolean are supported.