1.1 --- a/javap/src/main/java/sun/tools/javap/ClassData.java Fri Nov 09 21:33:22 2012 +0100
1.2 +++ b/javap/src/main/java/sun/tools/javap/ClassData.java Sat Nov 10 19:01:28 2012 +0100
1.3 @@ -65,18 +65,8 @@
1.4 /**
1.5 * Read classfile to disassemble.
1.6 */
1.7 - public ClassData(InputStream infile){
1.8 - try{
1.9 - this.read(new DataInputStream(infile));
1.10 - }catch (FileNotFoundException ee) {
1.11 - error("cant read file");
1.12 - }catch (Error ee) {
1.13 - ee.printStackTrace();
1.14 - error("fatal error");
1.15 - } catch (Exception ee) {
1.16 - ee.printStackTrace();
1.17 - error("fatal exception");
1.18 - }
1.19 + public ClassData(InputStream infile) throws IOException {
1.20 + this.read(new DataInputStream(infile));
1.21 }
1.22
1.23 /**
1.24 @@ -271,10 +261,6 @@
1.25 return toHex(val, width);
1.26 }
1.27
1.28 - public void error(String msg) {
1.29 - System.err.println("ERROR:" +msg);
1.30 - }
1.31 -
1.32 /**
1.33 * Returns the name of this class.
1.34 */
1.35 @@ -571,9 +557,9 @@
1.36 for (int k=0; k<len; k += Character.charCount(cp)) {
1.37 cp=name.codePointAt(k);
1.38 if (cc=='/') {
1.39 - if (!Character.isJavaIdentifierStart(cp)) break fullname;
1.40 + if (!isJavaIdentifierStart(cp)) break fullname;
1.41 } else if (cp!='/') {
1.42 - if (!Character.isJavaIdentifierPart(cp)) break fullname;
1.43 + if (!isJavaIdentifierPart(cp)) break fullname;
1.44 }
1.45 cc=cp;
1.46 }
1.47 @@ -660,4 +646,12 @@
1.48 public int getMajor_version(){
1.49 return major_version;
1.50 }
1.51 +
1.52 + private boolean isJavaIdentifierStart(int cp) {
1.53 + return ('a' <= cp && cp <= 'z') || ('A' <= cp && cp <= 'Z');
1.54 + }
1.55 +
1.56 + private boolean isJavaIdentifierPart(int cp) {
1.57 + return isJavaIdentifierStart(cp) || ('0' <= cp && cp <= '9');
1.58 + }
1.59 }