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(); } } } }