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

Function getNodeToInsertPropertyBefore

test/fixtures/snapshot/typescript.js:161210–161233  ·  view source on GitHub ↗
(maxPos, scope)

Source from the content-addressed store, hash-verified

161208 });
161209 }
161210 function getNodeToInsertPropertyBefore(maxPos, scope) {
161211 var members = scope.members;
161212 ts.Debug.assert(members.length > 0, "Found no members"); // There must be at least one child, since we extracted from one.
161213 var prevMember;
161214 var allProperties = true;
161215 for (var _i = 0, members_1 = members; _i < members_1.length; _i++) {
161216 var member = members_1[_i];
161217 if (member.pos > maxPos) {
161218 return prevMember || members[0];
161219 }
161220 if (allProperties && !ts.isPropertyDeclaration(member)) {
161221 // If it is non-vacuously true that all preceding members are properties,
161222 // insert before the current member (i.e. at the end of the list of properties).
161223 if (prevMember !== undefined) {
161224 return member;
161225 }
161226 allProperties = false;
161227 }
161228 prevMember = member;
161229 }
161230 if (prevMember === undefined)
161231 return ts.Debug.fail(); // If the loop didn't return, then it did set prevMember.
161232 return prevMember;
161233 }
161234 function getNodeToInsertConstantBefore(node, scope) {
161235 ts.Debug.assert(!ts.isClassLike(scope));
161236 var prevScope;

Callers 1

extractConstantInScopeFunction · 0.85

Calls 2

assertMethod · 0.80
failMethod · 0.45

Tested by

no test coverage detected