ÿØÿà JFIF      ÿÛ C      

!"$"$ÿÛ C  ÿÂ p " ÿÄ              ÿÄ             ÿÚ    ÕÔË®
(%	aA*‚XYD¡(J„¡E¢RE,P€XYae )(E¤²€B¤R¥	BQ¤¢ X«)X…€¤   @  

  ..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     ÿØÿà JFIF      ÿÛ C      

!"$"$ÿÛ C  ÿÂ p " ÿÄ              ÿÄ             ÿÚ    ÕÔË®
(%	aA*‚XYD¡(J„¡E¢RE,P€XYae )(E¤²€B¤R¥	BQ¤¢ X«)X…€¤   @  

  ..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     #autoload

# Should probably add some sort of cache.
# Should we call _multi_parts instead of compadd?

local classpath i expl
local -a c
local method type

zparseopts -D -E -a classpath t:=type m:=method cp: classpath:
: "$classpath[@]"
classpath="${${classpath[2]:-${CLASSPATH:-.}}//\\:/:}"
: "$classpath[@]"

for i in "${(s.:.)classpath}"; do
  [[ -z $i ]] && i=.
  if [[ -f $i ]] && [[ "$i" == *.(jar|zip|war|ear) ]]; then
    c+=( ${${${(M)$(_call_program jar_classes jar -tf $i 2>/dev/null)##*.class}%%.class}:gs#/#.#} )
  elif [[ -d $i ]]; then
    c+=( $i/**/*.class(.:r:s/.class//:s#$i/##:gs#/#.#) )
  fi
done

_wanted classes expl 'java class' compadd "$@" -M 'r:|.=* r:|=*' -a - c

