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;
}