Exemplo n.º 1
0
 protected void loadModuleFromMap(
     ArtifactResult artifact,
     Module module,
     ModuleImport moduleImport,
     LinkedList<Module> dependencyTree,
     List<PhasedUnits> phasedUnitsOfDependencies,
     boolean forCompiledModule,
     Map<String, Object> model) {
   @SuppressWarnings("unchecked")
   List<String> deps = (List<String>) model.get("$mod-deps");
   if (deps != null) {
     for (String s : deps) {
       int p = s.indexOf('/');
       String depname = null;
       String depv = null;
       if (p > 0) {
         depname = s.substring(0, p);
         depv = s.substring(p + 1);
         if (depv.isEmpty()) depv = null;
       } else {
         depname = s;
       }
       // This will cause the dependency to be loaded later
       JsonModule dep = (JsonModule) getOrCreateModule(splitModuleName(depname), depv);
       ModuleImport imp = new ModuleImport(dep, false, false);
       module.getImports().add(imp);
     }
   }
   ((JsonModule) module).setModel(model);
   for (ModuleImport imp : module.getImports()) {
     if (!imp.getModule().getNameAsString().equals("ceylon.language")) {
       ArtifactContext ac =
           new ArtifactContext(imp.getModule().getNameAsString(), imp.getModule().getVersion());
       ac.setSuffix(".js");
       artifact = getContext().getRepositoryManager().getArtifactResult(ac);
       if (artifact != null) {
         resolveModule(
             artifact,
             imp.getModule(),
             imp,
             dependencyTree,
             phasedUnitsOfDependencies,
             forCompiledModule & imp.isExport());
       }
     }
   }
   ((JsonModule) module).loadDeclarations();
   // module.setAvailable(true);
   return;
 }