import * as reflect from 'jsii-reflect' ; param documentable param tag export function getDocTag ( documentable , tag ) { const t = documentable . docs . customTag ( tag ) ; if ( t ) { return t ; } if ( ( documentable instanceof reflect . Property || documentable instanceof reflect . Method ) && documentable . overrides ) { if ( documentable . overrides . isClassType ( ) || documentable . overrides . isInterfaceType ( ) ) { const baseMembers = documentable . overrides . allMembers . filter ( m => m . name === documentable . name ) ; for ( const base of baseMembers ) { const baseTag = getDocTag ( base , tag ) ; if ( baseTag ) { return baseTag ; } } } } if ( documentable instanceof reflect . ClassType || documentable instanceof reflect . InterfaceType ) { for ( const base of documentable . interfaces ) { const baseTag = getDocTag ( base , tag ) ; if ( baseTag ) { return baseTag ; } } } if ( documentable instanceof reflect . ClassType && documentable . base ) { const baseTag = getDocTag ( documentable . base , tag ) ; if ( baseTag ) { return baseTag ; } } return undefined ; } export function memberFqn ( m ) { return `${ m . parentType . fqn }.${ m . name }` ; }