function DocMemberSelector(parameters) {
        var _this = _super.call(this, parameters) || this;
        if (DocNode.isParsedParameters(parameters)) {
            _this._selectorExcerpt = new DocExcerpt({
                configuration: _this.configuration,
                excerptKind: "MemberSelector" /* MemberSelector */,
                content: parameters.selectorExcerpt
            });
            _this._selector = parameters.selectorExcerpt.toString();
        }
        else {
            _this._selector = parameters.selector;
        }
        _this._selectorKind = "error" /* Error */;
        _this._errorMessage = undefined;
        // The logic below will always either (1) assign selectorKind or (2) else assign an errorMessage
        if (_this._selector.length === 0) {
            _this._errorMessage = 'The selector cannot be an empty string';
        }
        else if (DocMemberSelector._likeIndexSelectorRegExp.test(_this._selector)) {
            // It looks like an index selector
            if (DocMemberSelector._indexSelectorRegExp.test(_this._selector)) {
                _this._selectorKind = "index" /* Index */;
            }
            else {
                _this._errorMessage = 'If the selector begins with a number, it must be a positive integer value';
            }
        }
        else if (DocMemberSelector._likeLabelSelectorRegExp.test(_this._selector)) {
            // It looks like a label selector
            if (DocMemberSelector._labelSelectorRegExp.test(_this._selector)) {
                _this._selectorKind = "label" /* Label */;
            }
            else {
                _this._errorMessage =
                    'A label selector must be comprised of upper case letters, numbers,' +
                        ' and underscores and must not start with a number';
            }
        }
        else {
            if (StringChecks.isSystemSelector(_this._selector)) {
                _this._selectorKind = "system" /* System */;
            }
            else if (DocMemberSelector._likeSystemSelectorRegExp.test(_this._selector)) {
                // It looks like a system selector, but is not
                _this._errorMessage =
                    "The selector " + JSON.stringify(_this._selector) +
                        " is not a recognized TSDoc system selector name";
            }
            else {
                // It doesn't look like anything we recognize
                _this._errorMessage = 'Invalid syntax for selector';
            }
        }
        return _this;
    }
/**
     * Don't call this directly.  Instead use {@link TSDocParser}
     * @internal
     */
Don't call this directly.  Instead use  TSDocParser
@internal
Don ' t call this directly . Instead use TSDocParser @internal
function DocMemberSelector(parameters) {
        var _this = _super.call(this, parameters) || this;
        if (DocNode.isParsedParameters(parameters)) {
            _this._selectorExcerpt = new DocExcerpt({
                configuration: _this.configuration,
                excerptKind: "MemberSelector" ,
                content: parameters.selectorExcerpt
            });
            _this._selector = parameters.selectorExcerpt.toString();
        }
        else {
            _this._selector = parameters.selector;
        }
        _this._selectorKind = "error" ;
        _this._errorMessage = undefined;
        if (_this._selector.length === 0) {
            _this._errorMessage = 'The selector cannot be an empty string';
        }
        else if (DocMemberSelector._likeIndexSelectorRegExp.test(_this._selector)) {
            if (DocMemberSelector._indexSelectorRegExp.test(_this._selector)) {
                _this._selectorKind = "index" ;
            }
            else {
                _this._errorMessage = 'If the selector begins with a number, it must be a positive integer value';
            }
        }
        else if (DocMemberSelector._likeLabelSelectorRegExp.test(_this._selector)) {
            if (DocMemberSelector._labelSelectorRegExp.test(_this._selector)) {
                _this._selectorKind = "label" ;
            }
            else {
                _this._errorMessage =
                    'A label selector must be comprised of upper case letters, numbers,' +
                        ' and underscores and must not start with a number';
            }
        }
        else {
            if (StringChecks.isSystemSelector(_this._selector)) {
                _this._selectorKind = "system" ;
            }
            else if (DocMemberSelector._likeSystemSelectorRegExp.test(_this._selector)) {
                _this._errorMessage =
                    "The selector " + JSON.stringify(_this._selector) +
                        " is not a recognized TSDoc system selector name";
            }
            else {
                _this._errorMessage = 'Invalid syntax for selector';
            }
        }
        return _this;
    }
function DocMemberSelector ( parameters ) { var _this = _super . call ( this , parameters ) || this ; if ( DocNode . isParsedParameters ( parameters ) ) { _this . _selectorExcerpt = new DocExcerpt ( { configuration : _this . configuration , excerptKind : "MemberSelector" , content : parameters . selectorExcerpt } ) ; _this . _selector = parameters . selectorExcerpt . toString ( ) ; } else { _this . _selector = parameters . selector ; } _this . _selectorKind = "error" ; _this . _errorMessage = undefined ; if ( _this . _selector . length === 0 ) { _this . _errorMessage = 'The selector cannot be an empty string' ; } else if ( DocMemberSelector . _likeIndexSelectorRegExp . test ( _this . _selector ) ) { if ( DocMemberSelector . _indexSelectorRegExp . test ( _this . _selector ) ) { _this . _selectorKind = "index" ; } else { _this . _errorMessage = 'If the selector begins with a number, it must be a positive integer value' ; } } else if ( DocMemberSelector . _likeLabelSelectorRegExp . test ( _this . _selector ) ) { if ( DocMemberSelector . _labelSelectorRegExp . test ( _this . _selector ) ) { _this . _selectorKind = "label" ; } else { _this . _errorMessage = 'A label selector must be comprised of upper case letters, numbers,' + ' and underscores and must not start with a number' ; } } else { if ( StringChecks . isSystemSelector ( _this . _selector ) ) { _this . _selectorKind = "system" ; } else if ( DocMemberSelector . _likeSystemSelectorRegExp . test ( _this . _selector ) ) { _this . _errorMessage = "The selector " + JSON . stringify ( _this . _selector ) + " is not a recognized TSDoc system selector name" ; } else { _this . _errorMessage = 'Invalid syntax for selector' ; } } return _this ; }
Don't call this directly.
Don ' t call this directly .
/* MemberSelector */ /* Error */ // The logic below will always either (1) assign selectorKind or (2) else assign an errorMessage // It looks like an index selector /* Index */ // It looks like a label selector /* Label */ /* System */ // It looks like a system selector, but is not // It doesn't look like anything we recognize