javap/src/main/java/sun/tools/javap/ClassData.java
branchjavap
changeset 149 32653a09f0db
parent 144 b06660b614db
child 151 40f95fe90cdc
     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  }