in src/mockDebug.ts [811:855]
private convertFromRuntime(v: RuntimeVariable): DebugProtocol.Variable {
let dapVariable: DebugProtocol.Variable = {
name: v.name,
value: '???',
type: typeof v.value,
variablesReference: 0,
evaluateName: '$' + v.name
};
if (Array.isArray(v.value)) {
dapVariable.value = 'Object';
v.reference ??= this._variableHandles.create(v);
dapVariable.variablesReference = v.reference;
} else {
switch (typeof v.value) {
case 'number':
if (Math.round(v.value) === v.value) {
dapVariable.value = this.formatNumber(v.value);
(<any>dapVariable).__vscodeVariableMenuContext = 'simple'; // enable context menu contribution
dapVariable.type = 'integer';
} else {
dapVariable.value = v.value.toString();
dapVariable.type = 'float';
}
break;
case 'string':
dapVariable.value = `"${v.value}"`;
break;
case 'boolean':
dapVariable.value = v.value ? 'true' : 'false';
break;
default:
dapVariable.value = typeof v.value;
break;
}
}
if (v.memory) {
v.reference ??= this._variableHandles.create(v);
dapVariable.memoryReference = String(v.reference);
}
return dapVariable;
}