diff --git a/src/compiler/utilities.ts b/src/compiler/utilities.ts index 4fce9c928f7..959476df2a6 100644 --- a/src/compiler/utilities.ts +++ b/src/compiler/utilities.ts @@ -1,4 +1,4 @@ -/// +/// module ts { export interface ReferencePathMatchResult { @@ -575,6 +575,17 @@ module ts { return (node).expression; } + function getConstructorWithBody(member: ClassElement): ConstructorDeclaration { + if (member.kind === SyntaxKind.Constructor && nodeIsPresent((member).body)) { + return member; + } + return undefined; + } + + export function getFirstConstructorWithBody(node: ClassDeclaration): ConstructorDeclaration { + return forEach(node.members, getConstructorWithBody); + } + export function isExpression(node: Node): boolean { switch (node.kind) { case SyntaxKind.ThisKeyword: