MCPcopy Index your code
hub / github.com/BloombergGraphics/whatiscode / parseStatement

Function parseStatement

scripts/libs/esprima.js:3829–3910  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

3827 // 12 Statements
3828
3829 function parseStatement() {
3830 var type = lookahead.type,
3831 expr,
3832 labeledBody,
3833 key,
3834 node;
3835
3836 if (type === Token.EOF) {
3837 throwUnexpectedToken(lookahead);
3838 }
3839
3840 if (type === Token.Punctuator && lookahead.value === '{') {
3841 return parseBlock();
3842 }
3843
3844 node = new Node();
3845
3846 if (type === Token.Punctuator) {
3847 switch (lookahead.value) {
3848 case ';':
3849 return parseEmptyStatement(node);
3850 case '(':
3851 return parseExpressionStatement(node);
3852 default:
3853 break;
3854 }
3855 } else if (type === Token.Keyword) {
3856 switch (lookahead.value) {
3857 case 'break':
3858 return parseBreakStatement(node);
3859 case 'continue':
3860 return parseContinueStatement(node);
3861 case 'debugger':
3862 return parseDebuggerStatement(node);
3863 case 'do':
3864 return parseDoWhileStatement(node);
3865 case 'for':
3866 return parseForStatement(node);
3867 case 'function':
3868 return parseFunctionDeclaration(node);
3869 case 'if':
3870 return parseIfStatement(node);
3871 case 'return':
3872 return parseReturnStatement(node);
3873 case 'switch':
3874 return parseSwitchStatement(node);
3875 case 'throw':
3876 return parseThrowStatement(node);
3877 case 'try':
3878 return parseTryStatement(node);
3879 case 'var':
3880 return parseVariableStatement(node);
3881 case 'while':
3882 return parseWhileStatement(node);
3883 case 'with':
3884 return parseWithStatement(node);
3885 default:
3886 break;

Callers 6

parseStatementListItemFunction · 0.85
parseIfStatementFunction · 0.85
parseDoWhileStatementFunction · 0.85
parseWhileStatementFunction · 0.85
parseForStatementFunction · 0.85
parseWithStatementFunction · 0.85

Calls 15

throwUnexpectedTokenFunction · 0.85
parseBlockFunction · 0.85
parseEmptyStatementFunction · 0.85
parseExpressionStatementFunction · 0.85
parseBreakStatementFunction · 0.85
parseContinueStatementFunction · 0.85
parseDebuggerStatementFunction · 0.85
parseDoWhileStatementFunction · 0.85
parseForStatementFunction · 0.85
parseFunctionDeclarationFunction · 0.85
parseIfStatementFunction · 0.85
parseReturnStatementFunction · 0.85

Tested by

no test coverage detected