diff --git a/src/compiler/utilities.ts b/src/compiler/utilities.ts index 24e0d59318..76d242e8b0 100644 --- a/src/compiler/utilities.ts +++ b/src/compiler/utilities.ts @@ -922,21 +922,11 @@ namespace ts { } export function getContainingFunction(node: Node): FunctionLike { - while (true) { - node = node.parent; - if (!node || isFunctionLike(node)) { - return node; - } - } + return findAncestor(node.parent, isFunctionLike); } export function getContainingClass(node: Node): ClassLikeDeclaration { - while (true) { - node = node.parent; - if (!node || isClassLike(node)) { - return node; - } - } + return findAncestor(node.parent, isClassLike); } export function getThisContainer(node: Node, includeArrowFunctions: boolean): Node {