src/share/classes/sun/rmi/rmic/Main.java
Print this page
@@ -71,18 +71,18 @@
String extDirsArg;
String classPathString;
File destDir;
int flags;
long tm;
- Vector classes;
+ Vector<String> classes;
boolean nowrite;
boolean nocompile;
boolean keepGenerated;
boolean status;
String[] generatorArgs;
- Vector generators;
- Class environmentClass = BatchEnvironment.class;
+ Vector<Generator> generators;
+ Class<?> environmentClass = BatchEnvironment.class;
boolean iiopGeneration = false;
/**
* Name of the program.
*/
@@ -181,19 +181,19 @@
classPathString = null;
destDir = null;
flags = F_WARNINGS;
tm = System.currentTimeMillis();
- classes = new Vector();
+ classes = new Vector<String>();
nowrite = false;
nocompile = false;
keepGenerated = false;
generatorArgs = getArray("generator.args",true);
if (generatorArgs == null) {
return false;
}
- generators = new Vector();
+ generators = new Vector<Generator>();
// Pre-process command line for @file arguments
try {
argv = CommandLine.parse(argv);
} catch (FileNotFoundException e) {
@@ -409,11 +409,11 @@
generators.addElement(gen);
// Get the environment required by this generator...
- Class envClass = BatchEnvironment.class;
+ Class<?> envClass = BatchEnvironment.class;
String env = getString("generator.env." + arg);
if (env != null) {
try {
envClass = Class.forName(env);
@@ -493,11 +493,11 @@
extDirsArg);
BatchEnvironment result = null;
try {
Class[] ctorArgTypes = {OutputStream.class,ClassPath.class,Main.class};
Object[] ctorArgs = {out,classPath,this};
- Constructor constructor = environmentClass.getConstructor(ctorArgTypes);
+ Constructor<?> constructor = environmentClass.getConstructor(ctorArgTypes);
result = (BatchEnvironment) constructor.newInstance(ctorArgs);
result.reset();
}
catch (Exception e) {
error("rmic.cannot.instantiate",environmentClass.getName());
@@ -528,11 +528,11 @@
/** Load the classes on the command line
* Replace the entries in classes with the ClassDefinition for the class
*/
for (int i = classes.size()-1; i >= 0; i-- ) {
Identifier implClassName =
- Identifier.lookup((String)classes.elementAt(i));
+ Identifier.lookup(classes.elementAt(i));
/*
* Fix bugid 4049354: support using '.' as an inner class
* qualifier on the command line (previously, only mangled
* inner class names were understood, like "pkg.Outer$Inner").
@@ -556,11 +556,11 @@
ClassDeclaration decl = env.getClassDeclaration(implClassName);
try {
ClassDefinition def = decl.getClassDefinition(env);
for (int j = 0; j < generators.size(); j++) {
- Generator gen = (Generator)generators.elementAt(j);
+ Generator gen = generators.elementAt(j);
gen.generate(env, def, destDir);
}
} catch (ClassNotFound ex) {
env.error(0, "rmic.class.not.found", implClassName);
}
@@ -671,20 +671,22 @@
ByteArrayOutputStream buf = new ByteArrayOutputStream(4096);
boolean done;
do {
done = true;
- for (Enumeration e = env.getClasses() ; e.hasMoreElements() ; ) {
+ for (Enumeration<?> e = env.getClasses() ; e.hasMoreElements() ; ) {
ClassDeclaration c = (ClassDeclaration)e.nextElement();
done = compileClass(c,buf,env);
}
} while (!done);
}
/*
* Compile a single class.
+ * Fallthrough is intentional
*/
+ @SuppressWarnings("fallthrough")
public boolean compileClass (ClassDeclaration c,
ByteArrayOutputStream buf,
BatchEnvironment env)
throws ClassNotFound,
IOException,
@@ -877,8 +879,8 @@
String[] args = new String[3];
args[0] = (arg0 != null ? arg0.toString() : "null");
args[1] = (arg1 != null ? arg1.toString() : "null");
args[2] = (arg2 != null ? arg2.toString() : "null");
- return java.text.MessageFormat.format(format, args);
+ return java.text.MessageFormat.format(format, (Object[]) args);
}
}