public/swaggerui/swagger-ui.js
function parseLeftHandSideExpressionAllowCall() {
        var quasi, expr, args, property, startToken, previousAllowIn = state.allowIn;

        startToken = lookahead;
        state.allowIn = true;

        if (matchKeyword('super') && state.inFunctionBody) {
            expr = new Node();
            lex();
            expr = expr.finishSuper();
            if (!match('(') && !match('.') && !match('[')) {
                throwUnexpectedToken(lookahead);
            }
        } else {
            expr = inheritCoverGrammar(matchKeyword('new') ? parseNewExpression : parsePrimaryExpression);
        }

        for (;;) {
            if (match('.')) {
                isBindingElement = false;
                isAssignmentTarget = true;
                property = parseNonComputedMember();
                expr = new WrappingNode(startToken).finishMemberExpression('.', expr, property);
            } else if (match('(')) {
                isBindingElement = false;
                isAssignmentTarget = false;
                args = parseArguments();
                expr = new WrappingNode(startToken).finishCallExpression(expr, args);
            } else if (match('[')) {
                isBindingElement = false;
                isAssignmentTarget = true;
                property = parseComputedMember();
                expr = new WrappingNode(startToken).finishMemberExpression('[', expr, property);
            } else if (lookahead.type === Token.Template && lookahead.head) {
                quasi = parseTemplateLiteral();
                expr = new WrappingNode(startToken).finishTaggedTemplateExpression(expr, quasi);
            } else {
                break;
            }
        }
        state.allowIn = previousAllowIn;

        return expr;
    }
function parseLeftHandSideExpressionAllowCall() {
        var quasi, expr, args, property, startToken, previousAllowIn = state.allowIn;

        startToken = lookahead;
        state.allowIn = true;

        if (matchKeyword('super') && state.inFunctionBody) {
            expr = new Node();
            lex();
            expr = expr.finishSuper();
            if (!match('(') && !match('.') && !match('[')) {
                throwUnexpectedToken(lookahead);
            }
        } else {
            expr = inheritCoverGrammar(matchKeyword('new') ? parseNewExpression : parsePrimaryExpression);
        }

        for (;;) {
            if (match('.')) {
                isBindingElement = false;
                isAssignmentTarget = true;
                property = parseNonComputedMember();
                expr = new WrappingNode(startToken).finishMemberExpression('.', expr, property);
            } else if (match('(')) {
                isBindingElement = false;
                isAssignmentTarget = false;
                args = parseArguments();
                expr = new WrappingNode(startToken).finishCallExpression(expr, args);
            } else if (match('[')) {
                isBindingElement = false;
                isAssignmentTarget = true;
                property = parseComputedMember();
                expr = new WrappingNode(startToken).finishMemberExpression('[', expr, property);
            } else if (lookahead.type === Token.Template && lookahead.head) {
                quasi = parseTemplateLiteral();
                expr = new WrappingNode(startToken).finishTaggedTemplateExpression(expr, quasi);
            } else {
                break;
            }
        }
        state.allowIn = previousAllowIn;

        return expr;
    }
function parseLeftHandSideExpressionAllowCall ( ) { var quasi , expr , args , property , startToken , previousAllowIn = state . allowIn ; startToken = lookahead ; state . allowIn = true ; if ( matchKeyword ( 'super' ) && state . inFunctionBody ) { expr = new Node ( ) ; lex ( ) ; expr = expr . finishSuper ( ) ; if ( ! match ( '(' ) && ! match ( '.' ) && ! match ( '[' ) ) { throwUnexpectedToken ( lookahead ) ; } } else { expr = inheritCoverGrammar ( matchKeyword ( 'new' ) ? parseNewExpression : parsePrimaryExpression ) ; } for ( ; ; ) { if ( match ( '.' ) ) { isBindingElement = false ; isAssignmentTarget = true ; property = parseNonComputedMember ( ) ; expr = new WrappingNode ( startToken ) . finishMemberExpression ( '.' , expr , property ) ; } else if ( match ( '(' ) ) { isBindingElement = false ; isAssignmentTarget = false ; args = parseArguments ( ) ; expr = new WrappingNode ( startToken ) . finishCallExpression ( expr , args ) ; } else if ( match ( '[' ) ) { isBindingElement = false ; isAssignmentTarget = true ; property = parseComputedMember ( ) ; expr = new WrappingNode ( startToken ) . finishMemberExpression ( '[' , expr , property ) ; } else if ( lookahead . type === Token . Template && lookahead . head ) { quasi = parseTemplateLiteral ( ) ; expr = new WrappingNode ( startToken ) . finishTaggedTemplateExpression ( expr , quasi ) ; } else { break ; } } state . allowIn = previousAllowIn ; return expr ; }
ECMA-262 12.3.4 Function Calls
ECMA - 262 12 . 3 . 4 Function Calls