async function returnsPromise ( ) { return false ; } function neverHitsElse ( ) { if ( returnsPromise ( ) ) { return true ; } else { return false ; } } async function asyncNeverHitsElse ( ) { if ( returnsPromise ( ) ) { return true ; } else { return false ; } } function detectsFunctionCalls ( ) { const ternary = returnsPromise ( ) ? 'always' : 'never' ; while ( returnsPromise ( ) ) { break ; } const binaryExpressionBarBar = returnsPromise ( ) || 'other thing' ; const binaryExpressionAndAnd = returnsPromise ( ) && 'other thing' ; } function detectsPropertyAccesses ( ) { const prom = returnsPromise ( ) ; const ternary = prom ? 'always' : 'never' ; while ( prom ) { break ; } const binaryExpressionBarBar = prom || 'other thing' ; const binaryExpressionAndAnd = prom && 'other thing' ; }