export function findSuperCall()

in src/typescript/ast-utils.ts [432:458]


export function findSuperCall(
  node: ts.Block | ts.Expression | undefined,
  renderer: AstRenderer<any>,
): ts.SuperCall | undefined {
  if (node === undefined) {
    return undefined;
  }
  if (ts.isCallExpression(node)) {
    if (renderer.textOf(node.expression) === 'super') {
      return node as unknown as ts.SuperCall;
    }
  }
  if (ts.isExpressionStatement(node)) {
    return findSuperCall(node.expression, renderer);
  }
  if (ts.isBlock(node)) {
    for (const statement of node.statements) {
      if (ts.isExpressionStatement(statement)) {
        const s = findSuperCall(statement.expression, renderer);
        if (s) {
          return s;
        }
      }
    }
  }
  return undefined;
}