private void readClassFile ( ClassSymbol c ) throws IOException { int magic = nextInt ( ) ; if ( magic != JAVA_MAGIC ) throw badClassFile ( "illegal.start.of.class.file" ) ; minorVersion = nextChar ( ) ; majorVersion = nextChar ( ) ; int maxMajor = Target . MAX ( ) . majorVersion ; int maxMinor = Target . MAX ( ) . minorVersion ; if ( majorVersion > maxMajor || majorVersion * 1000 + minorVersion < Target . MIN ( ) . majorVersion * 1000 + Target . MIN ( ) . minorVersion ) { if ( majorVersion == ( maxMajor + 1 ) ) log . warning ( "big.major.version" , currentClassFile , majorVersion , maxMajor ) ; else throw badClassFile ( "wrong.version" , Integer . toString ( majorVersion ) , Integer . toString ( minorVersion ) , Integer . toString ( maxMajor ) , Integer . toString ( maxMinor ) ) ; } else if ( checkClassFile && majorVersion == maxMajor && minorVersion > maxMinor ) { printCCF ( "found.later.version" , Integer . toString ( minorVersion ) ) ; } indexPool ( ) ; if ( signatureBuffer . length < bp ) { int ns = Integer . highestOneBit ( bp ) << 1 ; signatureBuffer = new byte [ ns ] ; } readClass ( c ) ; }
Read a class file .