FileDocCategorySizeDatePackage
NativeVerifier.javaAPI DocJava SE 5 API4519Fri Aug 26 14:55:24 BST 2005com.sun.org.apache.bcel.internal.verifier

NativeVerifier

public abstract class NativeVerifier extends Object
The NativeVerifier class implements a _main(String[] args) method that's roughly compatible to the one in the Verifier class, but that uses the JVM's internal verifier for its class file verification. This can be used for comparison runs between the JVM-internal verifier and JustIce.
version
$Id: NativeVerifier.java,v 1.1.1.1 2001/10/29 20:00:31 jvanzyl Exp $
author
Enver Haase

Fields Summary
Constructors Summary
private NativeVerifier()
This class must not be instantiated.

	
Methods Summary
public static void_main(java.lang.String[] args)
Works only on the first argument.

		if (args.length != 1){
			System.out.println("Verifier front-end: need exactly one argument.");
			System.exit(1);
		}

		int dotclasspos = args[0].lastIndexOf(".class");
		if (dotclasspos != -1) args[0] = args[0].substring(0,dotclasspos);
		args[0] = args[0].replace('/",'.");
		//System.out.println(args[0]);

		
		try{
			Class.forName(args[0]);
		}
		catch(ExceptionInInitializerError eiie){ //subclass of LinkageError!
			System.out.println("NativeVerifier: ExceptionInInitializerError encountered on '"+args[0]+"'.");
			System.out.println(eiie);
			System.exit(1);		
		}
		catch(LinkageError le){
			System.out.println("NativeVerifier: LinkageError encountered on '"+args[0]+"'.");
			System.out.println(le);
			System.exit(1);
		}
		catch(ClassNotFoundException cnfe){
			System.out.println("NativeVerifier: FILE NOT FOUND: '"+args[0]+"'.");
			System.exit(1);
		}
		catch(Throwable t){
			System.out.println("NativeVerifier: Unspecified verification error on'"+args[0]+"'.");
			System.exit(1);
		}
		
		System.out.println("NativeVerifier: Class file '"+args[0]+"' seems to be okay.");
		System.exit(0);