private void scanAsFiles(Map<String, File> sourceFilesByName) {
   InputSource configPackageInputSource =
       sourcePathInputSource.getChild(
           config.getConfigClassPackage().replace('.', File.separatorChar));
   if (configPackageInputSource != null) {
     for (InputSource source : configPackageInputSource.list()) {
       File file = ((FileInputSource) source).getFile();
       if (file.isFile() && file.getName().endsWith(Jooc.AS_SUFFIX)) {
         try {
           File sourceDir = getConfig().findSourceDir(file);
           String qName = CompilerUtils.qNameFromFile(sourceDir, file);
           ConfigClass actionScriptConfigClass = findActionScriptConfigClass(qName);
           if (actionScriptConfigClass != null) {
             addSourceConfigClass(sourceFilesByName, file, actionScriptConfigClass);
           }
         } catch (IOException e) {
           throw new ExmlcException("could not read AS file", e);
         }
       }
     }
   }
 }
 private void buildConfigClassNameToExmlSourceFileMap(InputSource inputSource) throws IOException {
   for (InputSource source : inputSource.list()) {
     File exmlFile = ((FileInputSource) source).getFile();
     if (exmlFile.isFile()) {
       if (exmlFile.getName().endsWith(Exmlc.EXML_SUFFIX)) {
         exmlFilesByConfigClassName.put(
             computeConfigClassName(exmlFile), new ExmlSourceFile(this, exmlFile));
       }
     } else {
       // Recurse into the tree.
       buildConfigClassNameToExmlSourceFileMap(source);
     }
   }
 }
 private void tryGenerateClass(String qname) {
   ExmlSourceFile exmlSourceFile = getExmlSourceFilesByConfigClassName().get(qname);
   if (exmlSourceFile != null) {
     exmlSourceFile.generateConfigClass();
   } else {
     // is there an EXML file for the qname interpreted as a target class name?
     InputSource exmlInputSource =
         sourcePathInputSource.getChild(
             JangarooParser.getInputSourceFileName(
                 qname, sourcePathInputSource, Exmlc.EXML_SUFFIX));
     if (exmlInputSource != null) {
       String configClassName = computeConfigClassNameFromTargetClassName(qname);
       exmlSourceFile = getExmlSourceFilesByConfigClassName().get(configClassName);
       if (exmlSourceFile != null) {
         exmlSourceFile.generateTargetClass();
       }
     }
   }
 }