in build-scripts/doc-gen/util.ts [83:111]
export function addSubclassMethods(
docHeadings: DocHeading[],
subclassMethodMap: {[subclass: string]: DocFunction[]}) {
const subclasses = Object.keys(subclassMethodMap);
subclasses.forEach(subclass => {
const methods = subclassMethodMap[subclass];
// Find the class.
for (let i = 0; i < docHeadings.length; i++) {
const heading = docHeadings[i];
for (let j = 0; j < heading.subheadings.length; j++) {
const subheading = heading.subheadings[j];
if (subheading.symbols == null) {
throw new Error(
`Subheading '${subheading.name}' has no symbols. ` +
`Please remove it from the predefined docHeadings, or ` +
`add methods to the subheading in the code with @doc.`);
}
for (let k = 0; k < subheading.symbols.length; k++) {
const symbol = subheading.symbols[k];
if (symbol['isClass'] != null && symbol.symbolName === subclass) {
const classSymbol = symbol as DocClass;
methods.forEach(method => classSymbol.methods.push(method));
}
}
}
}
});
}