protected Class recompile(URL source,String className,Class oldClass) throws CompilationFailedException, IOException {
  if (source != null) {
    if ((oldClass != null && isSourceNewer(source,oldClass)) || (oldClass == null)) {
synchronized (sourceCache) {
        String name=source.toExternalForm();
        sourceCache.remove(name);
        if (isFile(source)) {
          try {
            return parseClass(new GroovyCodeSource(new File(source.toURI()),config.getSourceEncoding()));
          }
 catch (          URISyntaxException e) {
          }
        }
        return parseClass(source.openStream(),name);
      }
    }
  }
  return oldClass;
}

protected Class recompile ( URL source , String className , Class oldClass ) throws CompilationFailedException , IOException { if ( source != null ) { if ( ( oldClass != null && isSourceNewer ( source , oldClass ) ) || ( oldClass == null ) ) { synchronized ( sourceCache ) { String name = source . toExternalForm ( ) ; sourceCache . remove ( name ) ; if ( isFile ( source ) ) { try { return parseClass ( new GroovyCodeSource ( new File ( source . toURI ( ) ) , config . getSourceEncoding ( ) ) ) ; } catch ( URISyntaxException e ) { } } return parseClass ( source . openStream ( ) , name ) ; } } } return oldClass ; }
( re ) compiles the given source . this method starts the compilation of a given source , if the source has changed since the class was created . for this issourcenewer is called .
