1 30 31 35 36 package jbet.cmd; 37 import jbet.*; 38 import java.io.*; 39 import java.util.*; 40 41 public class verify implements Command 42 { 43 public int helplevel() { return 1; } 44 public String shorthelp() { return "verify a method or a class"; } 45 public String longhelp() { 46 return 47 "jbet verify <class>.<method>\t\t\n"+ 48 "jbet verify <class>\n"; } 49 50 public void run (Lexer lexer) throws Exception 51 { 52 lexer.match(Token.END_OF_OPTS); 53 Object thing = lexer.getThing(Jbet.default_class); 54 lexer.term(); 55 56 if (thing instanceof FieldInfo) 57 throw new GlobalException("can't verify a field"); 58 if (thing instanceof ClassInfo) { 59 ClassInfo cr = (ClassInfo) thing; 60 for (int i = 0; i < cr.numMethods(); i++) { 61 MethodInfo mi = cr.methodAt(i); 62 if (mi.code == null) continue; 63 64 try { 65 DataFlow df = new DataFlow (mi); 66 df.out = Jbet.debug; 67 df.run(); 68 Jbet.info.println ("verified " + mi.qualifiedName()); 69 } catch (Exception e) { 70 Jbet.output.println (e.getMessage()); 71 } 72 mi.removeDataFlow(); 73 } 74 } 75 if (thing instanceof MethodInfo) { 76 MethodInfo mi = (MethodInfo) thing; 77 DataFlow df = new DataFlow (mi); 78 df.out = Jbet.debug; 79 try { 80 df.run(); 81 Jbet.info.println ("verified " + mi.qualifiedName()); 82 } catch (Exception e) { 83 Jbet.output.println (e.getMessage()); 84 } 85 mi.removeDataFlow(); 86 } 87 } 88 89 } 90 | Popular Tags |