< prev index next >

src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/tools/jcore/ClassWriter.java

Print this page

354         String klassName = klass.getName().asString();
355         Short index = classToIndex.get(klassName);
356         dos.writeShort(index.shortValue());
357         if (DEBUG) debugMessage("this class = " + index);
358     }
359 
360     protected void writeSuperClass() throws IOException {
361         Klass superKlass = klass.getSuper();
362         if (superKlass != null) { // is not java.lang.Object
363             String superName = superKlass.getName().asString();
364             Short index = classToIndex.get(superName);
365             if (DEBUG) debugMessage("super class = " + index);
366             dos.writeShort(index.shortValue());
367         } else {
368             dos.writeShort(0); // no super class
369         }
370     }
371     protected void writeInterfaces() throws IOException {
372         KlassArray interfaces = klass.getLocalInterfaces();
373         final int len = interfaces.length();

374 
375         if (DEBUG) debugMessage("number of interfaces = " + len);
376 
377         // write interfaces count
378         dos.writeShort((short) len);
379         for (int i = 0; i < len; i++) {
380            Klass k = interfaces.getAt(i);
381            Short index = classToIndex.get(k.getName().asString());
382            dos.writeShort(index.shortValue());
383            if (DEBUG) debugMessage("\t" + index);
384         }
385     }
386 
387     protected void writeFields() throws IOException {
388         final int javaFieldsCount = klass.getJavaFieldsCount();
389 
390         // write number of fields
391         dos.writeShort((short) javaFieldsCount);
392 
393         if (DEBUG) debugMessage("number of fields = " + javaFieldsCount);
394 
395         for (int index = 0; index < javaFieldsCount; index++) {
396             short accessFlags    = klass.getFieldAccessFlags(index);
397             dos.writeShort(accessFlags & (short) JVM_RECOGNIZED_FIELD_MODIFIERS);
398 

354         String klassName = klass.getName().asString();
355         Short index = classToIndex.get(klassName);
356         dos.writeShort(index.shortValue());
357         if (DEBUG) debugMessage("this class = " + index);
358     }
359 
360     protected void writeSuperClass() throws IOException {
361         Klass superKlass = klass.getSuper();
362         if (superKlass != null) { // is not java.lang.Object
363             String superName = superKlass.getName().asString();
364             Short index = classToIndex.get(superName);
365             if (DEBUG) debugMessage("super class = " + index);
366             dos.writeShort(index.shortValue());
367         } else {
368             dos.writeShort(0); // no super class
369         }
370     }
371     protected void writeInterfaces() throws IOException {
372         KlassArray interfaces = klass.getLocalInterfaces();
373         final int len = interfaces.length();
374         int nb_interfaces = len;
375 
376         if (DEBUG) debugMessage("number of interfaces = " + nb_interfaces);
377 
378         // write interfaces count
379         dos.writeShort((short) nb_interfaces);
380         for (int i = 0; i < len; i++) {
381            Klass k = interfaces.getAt(i);
382            Short index = classToIndex.get(k.getName().asString());
383            dos.writeShort(index.shortValue());
384            if (DEBUG) debugMessage("\t" + index);
385         }
386     }
387 
388     protected void writeFields() throws IOException {
389         final int javaFieldsCount = klass.getJavaFieldsCount();
390 
391         // write number of fields
392         dos.writeShort((short) javaFieldsCount);
393 
394         if (DEBUG) debugMessage("number of fields = " + javaFieldsCount);
395 
396         for (int index = 0; index < javaFieldsCount; index++) {
397             short accessFlags    = klass.getFieldAccessFlags(index);
398             dos.writeShort(accessFlags & (short) JVM_RECOGNIZED_FIELD_MODIFIERS);
399 
< prev index next >