private ParseTree parseSourceElement() { if (peekFunction()) { return parseFunctionDeclaration(); } if (peekClassDeclaration()) { return parseClassDeclaration(false); } // Harmony let block scoped bindings. let can only appear in // a block, not as a standalone statement: if() let x ... illegal if (peek(TokenType.LET)) { return parseVariableStatement(); } // const and var are handled inside parseStatement return parseStatementStandard(); }
private ParseTree parseSourceElement() { if (peekAsyncFunctionStart()) { return parseAsyncFunctionDeclaration(); } if (peekFunction()) { return parseFunctionDeclaration(); } if (peekClassDeclaration()) { return parseClassDeclaration(false); } // Harmony let block scoped bindings. let can only appear in // a block, not as a standalone statement: if() let x ... illegal if (peek(TokenType.LET)) { return parseVariableStatement(); } // const and var are handled inside parseStatement return parseStatementStandard(); }
private ParseTree parseAmbientDeclarationHelper() { ParseTree declare; switch (peekType()) { case FUNCTION: declare = parseAmbientFunctionDeclaration(); eatPossibleImplicitSemiColon(); break; case CLASS: declare = parseClassDeclaration(true); break; case ENUM: declare = parseEnumDeclaration(); break; case MODULE: case NAMESPACE: declare = parseNamespaceDeclaration(true); break; case VAR: case LET: case CONST: default: // unreachable, parse as a var decl to get a parse error. declare = parseAmbientVariableDeclarationList(); eatPossibleImplicitSemiColon(); break; } return declare; }
private ParseTree parseAmbientDeclarationHelper() { ParseTree declare; switch (peekType()) { case FUNCTION: declare = parseAmbientFunctionDeclaration(); eatPossibleImplicitSemiColon(); break; case CLASS: declare = parseClassDeclaration(true); break; case ENUM: declare = parseEnumDeclaration(); break; case MODULE: case NAMESPACE: declare = parseNamespaceDeclaration(true); break; default: // unreachable, parse as a var decl to get a parse error. case VAR: case LET: case CONST: declare = parseAmbientVariableDeclarationList(); eatPossibleImplicitSemiColon(); break; } return declare; }
break; case CLASS: export = parseClassDeclaration(isAmbient); needsSemiColon = false; break;
break; case CLASS: export = parseClassDeclaration(isAmbient); needsSemiColon = false; break;