MCPcopy Index your code
hub / github.com/nodejs/node / reconstructRemoteObject

Method reconstructRemoteObject

deps/v8/test/debugger/test-api.js:475–563  ·  view source on GitHub ↗
(obj)

Source from the content-addressed store, hash-verified

473 }
474
475 reconstructRemoteObject(obj) {
476 let value = obj.value;
477 let isUndefined = false;
478
479 switch (obj.type) {
480 case "object": {
481 switch (obj.subtype) {
482 case "error": {
483 const desc = obj.description;
484 switch (obj.className) {
485 case "EvalError": throw new EvalError(desc);
486 case "RangeError": throw new RangeError(desc);
487 case "ReferenceError": throw new ReferenceError(desc);
488 case "SyntaxError": throw new SyntaxError(desc);
489 case "TypeError": throw new TypeError(desc);
490 case "URIError": throw new URIError(desc);
491 default: throw new Error(desc);
492 }
493 break;
494 }
495 case "array": {
496 const array = [];
497 const props = this.propertiesToObject(
498 this.getProperties(obj.objectId));
499 for (let i = 0; i < props.length; i++) {
500 array[i] = props[i];
501 }
502 value = array;
503 break;
504 }
505 case "null": {
506 value = null;
507 break;
508 }
509 default: {
510 switch (obj.className) {
511 case "global":
512 value = Function('return this')();
513 break;
514 case "Number":
515 case "String":
516 case "Boolean":
517 value = this.reconstructValue(obj.objectId);
518 break;
519 default:
520 value = this.propertiesToObject(
521 this.getProperties(obj.objectId));
522 break;
523 }
524 break;
525 }
526 }
527 break;
528 }
529 case "undefined": {
530 value = undefined;
531 isUndefined = true;
532 break;

Callers 4

evaluateOnCallFrameMethod · 0.95
frameReceiverMethod · 0.95
frameReturnValueMethod · 0.95
evaluateGlobalMethod · 0.95

Calls 6

propertiesToObjectMethod · 0.95
getPropertiesMethod · 0.95
reconstructValueMethod · 0.95
FunctionClass · 0.85
assertEqualsFunction · 0.50
evalFunction · 0.50

Tested by

no test coverage detected