src/jdk.rmic/share/classes/sun/rmi/rmic/RMIGenerator.java

Print this page




 123         try {
 124             gen = new RMIGenerator(env, cdef, destDir, remoteClass, version);
 125         } catch (ClassNotFound e) {
 126             env.error(0, "rmic.class.not.found", e.name);
 127             return;
 128         }
 129         gen.generate();
 130     }
 131 
 132     private void generate() {
 133         env.addGeneratedFile(stubFile);
 134 
 135         try {
 136             IndentingWriter out = new IndentingWriter(
 137                 new OutputStreamWriter(new FileOutputStream(stubFile)));
 138             writeStub(out);
 139             out.close();
 140             if (env.verbose()) {
 141                 env.output(Main.getText("rmic.wrote", stubFile.getPath()));
 142             }
 143             env.parseFile(new ClassFile(stubFile));
 144         } catch (IOException e) {
 145             env.error(0, "cant.write", stubFile.toString());
 146             return;
 147         }
 148 
 149         if (version == STUB_VERSION_1_1 ||
 150             version == STUB_VERSION_FAT)
 151         {
 152             env.addGeneratedFile(skeletonFile);
 153 
 154             try {
 155                 IndentingWriter out = new IndentingWriter(
 156                     new OutputStreamWriter(
 157                         new FileOutputStream(skeletonFile)));
 158                 writeSkeleton(out);
 159                 out.close();
 160                 if (env.verbose()) {
 161                     env.output(Main.getText("rmic.wrote",
 162                         skeletonFile.getPath()));
 163                 }
 164                 env.parseFile(new ClassFile(skeletonFile));
 165             } catch (IOException e) {
 166                 env.error(0, "cant.write", stubFile.toString());
 167                 return;
 168             }
 169         } else {
 170             /*
 171              * For bugid 4135136: if skeleton files are not being generated
 172              * for this compilation run, delete old skeleton source or class
 173              * files for this remote implementation class that were
 174              * (presumably) left over from previous runs, to avoid user
 175              * confusion from extraneous or inconsistent generated files.
 176              */
 177 
 178             File outputDir = Util.getOutputDirectoryFor(remoteClassName,destDir,env);
 179             File skeletonClassFile = new File(outputDir,skeletonClassName.getName().toString() + ".class");
 180 
 181             skeletonFile.delete();      // ignore failures (no big deal)
 182             skeletonClassFile.delete();
 183         }
 184     }




 123         try {
 124             gen = new RMIGenerator(env, cdef, destDir, remoteClass, version);
 125         } catch (ClassNotFound e) {
 126             env.error(0, "rmic.class.not.found", e.name);
 127             return;
 128         }
 129         gen.generate();
 130     }
 131 
 132     private void generate() {
 133         env.addGeneratedFile(stubFile);
 134 
 135         try {
 136             IndentingWriter out = new IndentingWriter(
 137                 new OutputStreamWriter(new FileOutputStream(stubFile)));
 138             writeStub(out);
 139             out.close();
 140             if (env.verbose()) {
 141                 env.output(Main.getText("rmic.wrote", stubFile.getPath()));
 142             }
 143             env.parseFile(ClassFile.newClassFile(stubFile));
 144         } catch (IOException e) {
 145             env.error(0, "cant.write", stubFile.toString());
 146             return;
 147         }
 148 
 149         if (version == STUB_VERSION_1_1 ||
 150             version == STUB_VERSION_FAT)
 151         {
 152             env.addGeneratedFile(skeletonFile);
 153 
 154             try {
 155                 IndentingWriter out = new IndentingWriter(
 156                     new OutputStreamWriter(
 157                         new FileOutputStream(skeletonFile)));
 158                 writeSkeleton(out);
 159                 out.close();
 160                 if (env.verbose()) {
 161                     env.output(Main.getText("rmic.wrote",
 162                         skeletonFile.getPath()));
 163                 }
 164                 env.parseFile(ClassFile.newClassFile(skeletonFile));
 165             } catch (IOException e) {
 166                 env.error(0, "cant.write", stubFile.toString());
 167                 return;
 168             }
 169         } else {
 170             /*
 171              * For bugid 4135136: if skeleton files are not being generated
 172              * for this compilation run, delete old skeleton source or class
 173              * files for this remote implementation class that were
 174              * (presumably) left over from previous runs, to avoid user
 175              * confusion from extraneous or inconsistent generated files.
 176              */
 177 
 178             File outputDir = Util.getOutputDirectoryFor(remoteClassName,destDir,env);
 179             File skeletonClassFile = new File(outputDir,skeletonClassName.getName().toString() + ".class");
 180 
 181             skeletonFile.delete();      // ignore failures (no big deal)
 182             skeletonClassFile.delete();
 183         }
 184     }