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
|