function parseReturnStatement() {
            var argument = null, marker = markerCreate();
    
            expectKeyword('return');
    
            if (!state.inFunctionBody) {
                throwErrorTolerant({}, Messages.IllegalReturn);
            }
    
            // 'return' followed by a space and an identifier is very common.
            if (source.charCodeAt(index) === 32) {
                if (isIdentifierStart(source.charCodeAt(index + 1))) {
                    argument = parseExpression();
                    consumeSemicolon();
                    return markerApply(marker, delegate.createReturnStatement(argument));
                }
            }
    
            if (peekLineTerminator()) {
                return markerApply(marker, delegate.createReturnStatement(null));
            }
    
            if (!match(';')) {
                if (!match('}') && lookahead.type !== Token.EOF) {
                    argument = parseExpression();
                }
            }
    
            consumeSemicolon();
    
            return markerApply(marker, delegate.createReturnStatement(argument));
        }
function parseReturnStatement() {
            var argument = null, marker = markerCreate();
    
            expectKeyword('return');
    
            if (!state.inFunctionBody) {
                throwErrorTolerant({}, Messages.IllegalReturn);
            }
    
            // 'return' followed by a space and an identifier is very common.
            if (source.charCodeAt(index) === 32) {
                if (isIdentifierStart(source.charCodeAt(index + 1))) {
                    argument = parseExpression();
                    consumeSemicolon();
                    return markerApply(marker, delegate.createReturnStatement(argument));
                }
            }
    
            if (peekLineTerminator()) {
                return markerApply(marker, delegate.createReturnStatement(null));
            }
    
            if (!match(';')) {
                if (!match('}') && lookahead.type !== Token.EOF) {
                    argument = parseExpression();
                }
            }
    
            consumeSemicolon();
    
            return markerApply(marker, delegate.createReturnStatement(argument));
        }
function parseReturnStatement ( ) { var argument = null , marker = markerCreate ( ) ; expectKeyword ( 'return' ) ; if ( ! state . inFunctionBody ) { throwErrorTolerant ( { } , Messages . IllegalReturn ) ; } // 'return' followed by a space and an identifier is very common. if ( source . charCodeAt ( index ) === 32 ) { if ( isIdentifierStart ( source . charCodeAt ( index + 1 ) ) ) { argument = parseExpression ( ) ; consumeSemicolon ( ) ; return markerApply ( marker , delegate . createReturnStatement ( argument ) ) ; } } if ( peekLineTerminator ( ) ) { return markerApply ( marker , delegate . createReturnStatement ( null ) ) ; } if ( ! match ( ';' ) ) { if ( ! match ( '}' ) && lookahead . type !== Token . EOF ) { argument = parseExpression ( ) ; } } consumeSemicolon ( ) ; return markerApply ( marker , delegate . createReturnStatement ( argument ) ) ; }
12.9 The return statement
12 . 9 The return statement