mirror of
https://github.com/adelphes/android-dev-ext.git
synced 2025-12-22 17:39:19 +00:00
Improved array handling. Better multidimensional array support.
This commit is contained in:
@@ -537,12 +537,12 @@ function _JDWP() {
|
||||
}
|
||||
m = signature.match(/^(\[+)(.+)$/);
|
||||
if (m) {
|
||||
var elementtype = this.signaturetotype(m[2]);
|
||||
var elementtype = this.signaturetotype(m[1].slice(0,-1) + m[2]);
|
||||
return {
|
||||
signature:signature,
|
||||
arraydims:m[1].length,
|
||||
elementtype: elementtype,
|
||||
typename:elementtype.typename+m[1].replace(/\[/g,'[]'),
|
||||
typename:elementtype.typename+'[]',
|
||||
}
|
||||
}
|
||||
var primitivetypes = {
|
||||
|
||||
@@ -104,7 +104,7 @@ class AndroidVariables {
|
||||
// get the elements for the specified range
|
||||
return this.dbgr.getarrayvalues(varinfo.arrvar, range[0], count, {varinfo})
|
||||
.then((elements, x) => {
|
||||
elements.forEach(el => el.fqname = `${x.varinfo.arrvar.name}[${el.name}]`);
|
||||
elements.forEach(el => el.fqname = `${x.varinfo.arrvar.fqname || x.varinfo.arrvar.name}[${el.name}]`);
|
||||
x.varinfo.cached = elements;
|
||||
return this._local_to_variable(elements);
|
||||
});
|
||||
@@ -191,7 +191,7 @@ class AndroidVariables {
|
||||
varref = this._getObjectIdReference(v.type, v.value);
|
||||
this.variableHandles[varref] = { varref:varref, arrvar:v, range:[0,v.arraylen] };
|
||||
}
|
||||
objvalue = v.type.typename.replace(/]$/, v.arraylen+']'); // insert len as the final array bound
|
||||
objvalue = v.type.typename.replace(/]/, v.arraylen+']'); // insert len as the first array bound
|
||||
break;
|
||||
case JTYPES.isObject(v.type):
|
||||
// non-null object instance - add another variable reference so the user can expand
|
||||
|
||||
Reference in New Issue
Block a user