Mercurial > hg > truffle
diff agent/src/share/classes/sun/jvm/hotspot/tools/soql/SOQL.java @ 3938:e6b1331a51d2
7086585: make Java field injection more flexible
Reviewed-by: jrose, twisti, kvn, coleenp
author | never |
---|---|
date | Sat, 10 Sep 2011 17:29:02 -0700 |
parents | c18cbe5936b8 |
children | da91efe96a93 |
line wrap: on
line diff
--- a/agent/src/share/classes/sun/jvm/hotspot/tools/soql/SOQL.java Sat Sep 10 00:11:04 2011 -0700 +++ b/agent/src/share/classes/sun/jvm/hotspot/tools/soql/SOQL.java Sat Sep 10 17:29:02 2011 -0700 @@ -150,16 +150,13 @@ } // list immediate fields only - TypeArray fields = klass.getFields(); - int numFields = (int) fields.getLength(); + int numFields = klass.getJavaFieldsCount(); ConstantPool cp = klass.getConstants(); out.println("fields"); if (numFields != 0) { - for (int f = 0; f < numFields; f += InstanceKlass.NEXT_OFFSET) { - int nameIndex = fields.getShortAt(f + InstanceKlass.NAME_INDEX_OFFSET); - int sigIndex = fields.getShortAt(f + InstanceKlass.SIGNATURE_INDEX_OFFSET); - Symbol f_name = cp.getSymbolAt(nameIndex); - Symbol f_sig = cp.getSymbolAt(sigIndex); + for (int f = 0; f < numFields; f++){ + Symbol f_name = klass.getFieldName(f); + Symbol f_sig = klass.getFieldSignature(f); StringBuffer sigBuf = new StringBuffer(); new SignatureConverter(f_sig, sigBuf).dispatchField(); out.print('\t');