function isIdentifierName(node) {
        var parent = node.parent;
        switch (parent.kind) {
            case 141 /* PropertyDeclaration */:
            case 140 /* PropertySignature */:
            case 143 /* MethodDeclaration */:
            case 142 /* MethodSignature */:
            case 145 /* GetAccessor */:
            case 146 /* SetAccessor */:
            case 247 /* EnumMember */:
            case 245 /* PropertyAssignment */:
            case 166 /* PropertyAccessExpression */:
                // Name in member declaration or property name in property access
                return parent.name === node;
            case 135 /* QualifiedName */:
                // Name on right hand side of dot in a type query
                if (parent.right === node) {
                    while (parent.kind === 135 /* QualifiedName */) {
                        parent = parent.parent;
                    }
                    return parent.kind === 154 /* TypeQuery */;
                }
                return false;
            case 163 /* BindingElement */:
            case 226 /* ImportSpecifier */:
                // Property name in binding element or import specifier
                return parent.propertyName === node;
            case 230 /* ExportSpecifier */:
                // Any name in an export specifier
                return true;
        }
        return false;
    }
function isIdentifierName(node) {
        var parent = node.parent;
        switch (parent.kind) {
            case 141 /* PropertyDeclaration */:
            case 140 /* PropertySignature */:
            case 143 /* MethodDeclaration */:
            case 142 /* MethodSignature */:
            case 145 /* GetAccessor */:
            case 146 /* SetAccessor */:
            case 247 /* EnumMember */:
            case 245 /* PropertyAssignment */:
            case 166 /* PropertyAccessExpression */:
                // Name in member declaration or property name in property access
                return parent.name === node;
            case 135 /* QualifiedName */:
                // Name on right hand side of dot in a type query
                if (parent.right === node) {
                    while (parent.kind === 135 /* QualifiedName */) {
                        parent = parent.parent;
                    }
                    return parent.kind === 154 /* TypeQuery */;
                }
                return false;
            case 163 /* BindingElement */:
            case 226 /* ImportSpecifier */:
                // Property name in binding element or import specifier
                return parent.propertyName === node;
            case 230 /* ExportSpecifier */:
                // Any name in an export specifier
                return true;
        }
        return false;
    }
function isIdentifierName ( node ) { var parent = node . parent ; switch ( parent . kind ) { case 141 /* PropertyDeclaration */ : case 140 /* PropertySignature */ : case 143 /* MethodDeclaration */ : case 142 /* MethodSignature */ : case 145 /* GetAccessor */ : case 146 /* SetAccessor */ : case 247 /* EnumMember */ : case 245 /* PropertyAssignment */ : case 166 /* PropertyAccessExpression */ : // Name in member declaration or property name in property access return parent . name === node ; case 135 /* QualifiedName */ : // Name on right hand side of dot in a type query if ( parent . right === node ) { while ( parent . kind === 135 /* QualifiedName */ ) { parent = parent . parent ; } return parent . kind === 154 /* TypeQuery */ ; } return false ; case 163 /* BindingElement */ : case 226 /* ImportSpecifier */ : // Property name in binding element or import specifier return parent . propertyName === node ; case 230 /* ExportSpecifier */ : // Any name in an export specifier return true ; } return false ; }
Return true if the given identifier is classified as an IdentifierName
Return true if the given identifier is classified as an IdentifierName