MCPcopy Create free account
hub / github.com/nodejs/node / parseNested

Function parseNested

deps/v8/test/mjsunit/asm/embenchen/copy.js:928–956  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

926 Module.print (pre + '^');
927 }
928 function parseNested() {
929 i++;
930 if (func[i] === 'K') i++; // ignore const
931 var parts = [];
932 while (func[i] !== 'E') {
933 if (func[i] === 'S') { // substitution
934 i++;
935 var next = func.indexOf('_', i);
936 var num = func.substring(i, next) || 0;
937 parts.push(subs[num] || '?');
938 i = next+1;
939 continue;
940 }
941 if (func[i] === 'C') { // constructor
942 parts.push(parts[parts.length-1]);
943 i += 2;
944 continue;
945 }
946 var size = parseInt(func.substr(i));
947 var pre = size.toString().length;
948 if (!size || !pre) { i--; break; } // counter i++ below us
949 var curr = func.substr(i + pre, size);
950 parts.push(curr);
951 subs.push(curr);
952 i += pre + size;
953 }
954 i++; // skip E
955 return parts;
956 }
957 function parse(rawList, limit, allowVoid) { // main parser
958 limit = limit || Infinity;
959 var ret = '', list = [];

Callers 1

parseFunction · 0.70

Calls 3

indexOfMethod · 0.45
pushMethod · 0.45
toStringMethod · 0.45

Tested by

no test coverage detected