(maxPos, scope)
| 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; |
no test coverage detected