@@ -14633,7 +14633,7 @@ namespace ts {
1463314633 case SyntaxKind.PropertyAccessExpression:
1463414634 case SyntaxKind.ElementAccessExpression:
1463514635 const propName = getAccessedPropertyName(<AccessExpression>node);
14636- if (propName) {
14636+ if (propName !== undefined ) {
1463714637 const key = getFlowCacheKey((<AccessExpression>node).expression);
1463814638 return key && key + "." + propName;
1463914639 }
@@ -14694,7 +14694,7 @@ namespace ts {
1469414694 const type = getDeclaredTypeOfReference(expr.expression);
1469514695 if (type) {
1469614696 const propName = getAccessedPropertyName(expr);
14697- return propName && getTypeOfPropertyOfType(type, propName);
14697+ return propName !== undefined ? getTypeOfPropertyOfType(type, propName) : undefined ;
1469814698 }
1469914699 }
1470014700 return undefined;
@@ -15645,15 +15645,15 @@ namespace ts {
1564515645 return false;
1564615646 }
1564715647 const name = getAccessedPropertyName(expr);
15648- if (! name) {
15648+ if (name === undefined ) {
1564915649 return false;
1565015650 }
1565115651 return isMatchingReference(reference, expr.expression) && isDiscriminantProperty(computedType, name);
1565215652 }
1565315653
1565415654 function narrowTypeByDiscriminant(type: Type, access: AccessExpression, narrowType: (t: Type) => Type): Type {
1565515655 const propName = getAccessedPropertyName(access);
15656- if (! propName) {
15656+ if (propName === undefined ) {
1565715657 return type;
1565815658 }
1565915659 const propType = getTypeOfPropertyOfType(type, propName);
0 commit comments