langtools/src/share/classes/com/sun/tools/javac/api/JavacTaskImpl.java
changeset 864 b1cf6afb8244
parent 735 372aa565a221
child 1258 1cf37d8837d1
equal deleted inserted replaced
863:3113c955a388 864:b1cf6afb8244
   379             compiler.log.flush();
   379             compiler.log.flush();
   380         }
   380         }
   381         return results;
   381         return results;
   382     }
   382     }
   383     // where
   383     // where
   384         private void handleFlowResults(List<Env<AttrContext>> list, ListBuffer<Element> elems) {
   384         private void handleFlowResults(Queue<Env<AttrContext>> queue, ListBuffer<Element> elems) {
   385             for (Env<AttrContext> env: list) {
   385             for (Env<AttrContext> env: queue) {
   386                 switch (env.tree.getTag()) {
   386                 switch (env.tree.getTag()) {
   387                     case JCTree.CLASSDEF:
   387                     case JCTree.CLASSDEF:
   388                         JCClassDecl cdef = (JCClassDecl) env.tree;
   388                         JCClassDecl cdef = (JCClassDecl) env.tree;
   389                         if (cdef.sym != null)
   389                         if (cdef.sym != null)
   390                             elems.append(cdef.sym);
   390                             elems.append(cdef.sym);
   394                         if (unit.packge != null)
   394                         if (unit.packge != null)
   395                             elems.append(unit.packge);
   395                             elems.append(unit.packge);
   396                         break;
   396                         break;
   397                 }
   397                 }
   398             }
   398             }
   399             genList.appendList(list);
   399             genList.addAll(queue);
   400         }
   400         }
   401 
   401 
   402 
   402 
   403     /**
   403     /**
   404      * Generate code.
   404      * Generate code.
   422         final ListBuffer<JavaFileObject> results = new ListBuffer<JavaFileObject>();
   422         final ListBuffer<JavaFileObject> results = new ListBuffer<JavaFileObject>();
   423         try {
   423         try {
   424             analyze(null);  // ensure all classes have been parsed, entered, and analyzed
   424             analyze(null);  // ensure all classes have been parsed, entered, and analyzed
   425 
   425 
   426             if (classes == null) {
   426             if (classes == null) {
   427                 compiler.generate(compiler.desugar(genList.toList()), results);
   427                 compiler.generate(compiler.desugar(genList), results);
   428                 genList.clear();
   428                 genList.clear();
   429             }
   429             }
   430             else {
   430             else {
   431                 Filter f = new Filter() {
   431                 Filter f = new Filter() {
   432                         public void process(Env<AttrContext> env) {
   432                         public void process(Env<AttrContext> env) {
   433                             compiler.generate(compiler.desugar(List.of(env)), results);
   433                             compiler.generate(compiler.desugar(ListBuffer.of(env)), results);
   434                         }
   434                         }
   435                     };
   435                     };
   436                 f.run(genList, classes);
   436                 f.run(genList, classes);
   437             }
   437             }
   438             if (genList.isEmpty()) {
   438             if (genList.isEmpty()) {