private void visitField(OopVisitor visitor, FieldType type, int index) { Field f = newField(index); if (type.isOop()) { visitor.doOop((OopField) f, false); return; } if (type.isByte()) { visitor.doByte((ByteField) f, false); return; } if (type.isChar()) { visitor.doChar((CharField) f, false); return; } if (type.isDouble()) { visitor.doDouble((DoubleField) f, false); return; } if (type.isFloat()) { visitor.doFloat((FloatField) f, false); return; } if (type.isInt()) { visitor.doInt((IntField) f, false); return; } if (type.isLong()) { visitor.doLong((LongField) f, false); return; } if (type.isShort()) { visitor.doShort((ShortField) f, false); return; } if (type.isBoolean()) { visitor.doBoolean((BooleanField) f, false); return; } }