private convertFromRuntime()

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;
	}